AIの電話は、留守番電話をどう見分けるのか
AIが電話をかけたとき、出たのは人なのか、留守番電話なのか。この判定は会話を始める前に、応答の音だけで行う必要があります。その仕組みと、誤判定したときに何が起きるのかを説明します。

予約の確認、支払いのお知らせ、配送日の変更。AIに電話をかけさせる業務の多くは、1件ずつの通話より「かける件数」で人手を消費します。企業の側から電話をかけるこうした業務を架電と呼び、自動化した発信はオートコールとも呼ばれます。かけた電話の少なくない割合で、出るのは人ではありません。留守番電話です。
ここで、かかってきた電話にAIが応対する仕組み(受電)にはなかった仕事が発生します。会話を始める前に、電話に出た相手が人なのか、録音された応答なのかを見分けるという仕事です。この判定は留守番電話検出(AMD; Answering Machine Detection)と呼ばれています。人ならそのまま用件に入ります。留守番電話なら、発信音のあとにメッセージを残すか、切って後でかけ直します。研究の世界でも、この判定を正確にリアルタイムで行うことが、架電業務の品質とコストに直結する課題として扱われています。要点は次の3つです。
- 判定の手がかりは応答の音だけで、しゃべり方の時間パターンを使う方法で96%台、音の特徴を学習させる別の方法で98%超が報告されている
- 誤りは2方向あり、無言電話になるか、録音に向かって話すかで代償が違う
- 判定に使える時間は実質数秒で、速さと正確さは両立しない
架電全体のどこにこの技術が位置するかは AIからの電話は、AIが受ける電話と何が違うのか で説明しています。
見分けているのは、話の中身ではなく、しゃべり方の形
判定に使えるのは、電話がつながった直後に聞こえてくる音だけです。
人と留守番電話では、しゃべり方の「形」が違います。人が電話に出るときは「はい、もしもし」と短く言って、そこで黙ります。相手の反応を待つからです。留守番電話の応答メッセージは、そうはなりません。「ただいま電話に出ることができません。発信音のあとに——」と、間を置かずに長く続きます。
この違いを手がかりにする研究が公開されています。応答の中身(何を言っているか)ではなく、発話の長さや間の取り方という時間のパターンだけを使う方法です。実際の電話音声764件で試した研究では、96.1%の精度が報告されています[1]。別の研究では、音の特徴から学習させた仕組みで96%を超え、無音の検出と組み合わせると98%を超える精度が報告されています[2]。研究で報告されている水準は、おおむね96%から98%のあたりです。
判定そのものの計算は、ごく軽く済みます。必要な音声がそろえば、0.05秒ほどで結果が出ると報告されています[1]。ただし、電話口の相手が実際に待たされる時間は、これよりずっと長くなります。計算に入る前に、相手の応答を聞いて手がかりを集める時間が必要だからです。この待ち時間が架電の使い勝手を決めるので、あとの節であらためて見ます。
なぜ中身を理解する方式にしないのでしょうか。発話を文字にしてから判断する方法もあります。ただし、文字化には認識の誤りが混ざります。文字が確定するまでの待ち時間と、計算の重さも加わります。時間のパターンを使う方法は軽く、さきほどの研究でも、画像処理用の高性能な計算装置(GPU)を使わずに動くことが示されています。つながった直後の数秒で決める用途には、「何を言ったか」より「どうしゃべったか」のほうが向いている、ということです。
誤りは2方向あり、代償が違う
ただし、98%は100%ではありません。そして残りの誤りには2つの方向があり、起きることが対称ではありません。
| 誤りの方向 | 起きること |
|---|---|
| 人を、留守番電話と誤判定 | 相手が「もしもし」と言っているのに機械が沈黙し、無言電話として切られる。不信につながる |
| 留守番電話を、人と誤判定 | 録音メッセージに向かってAIが用件を話し始める。用件は伝わらず、通話時間だけ消費する |
公開されている技術ドキュメントにも、このトレードオフは設定項目として現れています。判定を慎重にすれば留守番電話の見逃しは減りますが、判定までの時間が延びます。速く判定すれば、今度は人と間違える誤りが増えます。2秒ほどの短い応答メッセージを人と誤判定する例や、判定しきれない場合に「不明」を返す挙動も明記されています[3]。
つまりこの判定は「精度を上げれば解決」ではなく、どちらの誤りをどれだけ許すかを選ぶ性質の問題です。許しにくい誤りがどちらなのかは、伝言を確実に残す必要があるか、無言電話を避けたいかという、その業務の性質で決まります。
判定に使える時間は数秒しかない
もうひとつの制約は時間です。
人が電話に出て「もしもし」と言ってから、返事が来るまでに許される間は、長くありません。数秒の沈黙が続くだけで、電話は不自然になります。一方、判定の側は、応答の音を長く聞くほど正確になります。この2つは正面からぶつかります。
公開されている技術ドキュメントには、判定を打ち切るまでの時間の設定があります。これは「ここまでに決まらなければあきらめる」という上限で、実際の判定はもっと早く終わります。設定できる範囲は数秒から数十秒で、初期設定は30秒です[3]。それでも、判定に手間取った通話ほど、人が出ていた場合の沈黙は長くなります。
この制約に対しては、判定を会話の入口で一度で確定させない設計もとれます。最初の判定を仮のものとして扱い、その後に届く音声で更新し続ける方法です。
待ち時間が要るのは、人が出ていた場合だけではありません。留守番電話と判定して伝言を残すなら、応答メッセージが終わって発信音が鳴るまで待つ必要があります。待たずに話し始めると、伝言の頭が切れます。技術ドキュメントによれば、この「メッセージの終わりまで待つ」動作も判定機能の一部として用意されています[3]。
限界は、前提から外れた応答と、速さの代償に残る
- 応答メッセージの形式は機種や地域で違い、時間パターンの前提が崩れる相手には精度が下がります
- 「はい、もしもし」とすぐ黙る留守番電話の挨拶や、長く名乗る人のように、人と機械の境界に近い応答は原理的に間違えやすくなります
- 判定の速さと正確さは両立せず、どちらの誤りを許すかという選択が常に残ります
まとめ
- 架電では、会話を始める前に「出たのは人か留守番電話か」の判定が必要になる
- 発話の長さや間という時間のパターンだけを使う方法で96%台、音の特徴を学習させて無音の検出と組み合わせた別の方法で98%超と、それぞれ研究で報告されている
- 誤りは2方向あり、無言電話になるか、録音に向かって話すかで代償が違う。どちらに倒すかは用途で選ぶ
- 判定に使える時間は実質数秒で、速さと正確さのトレードオフが残る
人だと判定できたら、次はAIが会話を主導する番です。台本がなぜ枝分かれし、想定外の返答をどうさばくのかは AIからの電話は、なぜ台本どおりに進まないのか で説明しています。