Skip to main content
コールセンターAI

AIの電話は、留守番電話をどう見分けるのか

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

カセットテープとプレーヤー
Photo: Steph Quernemoen / Pexels

予約の確認、支払いのお知らせ、配送日の変更。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からの電話は、なぜ台本どおりに進まないのか で説明しています。

参考文献

  1. Real-Time Voicemail Detection in Telephony Audio Using Temporal Speech Activity Features
  2. A Recurrent Neural Network Approach to the Answering Machine Detection Problem
  3. Twilio - Answering Machine Detection (技術ドキュメント)
LET'S START TOGETHER

Ready to
Design Your Voice?

法人向け受託開発から、コンシューマーアプリの導入相談まで。まずはお気軽にお問い合わせください。