(57)【要約】  セッションがもはや保留状態にないかどうかを判断するための、セッションが保留状態にあるときの音声通信セッションの自動監視。セッションがもはや保留状態にないと判断された場合、セッションを開始した発呼側ユーザが認識可能で、セッションの保留状態が終了したことを示すユーザインターフェース出力がレンダリングされる。いくつかの実装形態では、オーディオストリームの処理に基づいて保留状態の終了の候補を決定するために、セッションのオーディオストリームが監視され得る。応答して、応答要請信号が、オーディオの発信部分に挿入される。オーディオストリームは、応答要請信号への応答(もしあれば)についてさらに監視され得る。応答(もしあれば)は、保留状態の終了が保留状態の実際の終了であるかどうかを判断するために処理され得る。
2021530130.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実施される方法であって、
音声通信セッションが保留状態にあることを検出するステップであって、
前記音声通信セッションが発呼側ユーザのクライアントデバイスによって開始され、
前記音声通信セッションが前記保留状態にあることを検出するステップが、前記音声通信セッションのオーディオストリームに少なくとも部分的に基づく、ステップと、
前記クライアントデバイス上で保留中クライアントを開始するステップであって、
前記保留中クライアントを開始するステップが、前記音声通信セッション中であり、前記音声通信セッションが前記保留状態にあることを検出したことに基づく、ステップと、
前記保留中クライアントを使用して、前記保留状態の終了の候補について、前記音声通信セッションの前記オーディオストリームを監視するステップであって、
前記音声通信セッションの前記オーディオストリームを監視するステップが、前記発呼側ユーザからの直接の対話なしに発生する、ステップと、
前記監視に基づいて、前記保留状態の前記終了の候補を検出するステップと、
前記保留状態の前記終了の候補を検出したことに応答して、
前記クライアントデバイスから、前記音声通信セッションの前記オーディオストリームへの入力として応答要請信号を送信するステップと、
前記応答要請信号に対する応答について、前記音声通信セッションの前記オーディオストリームを監視するステップと、
前記応答要請信号に対する前記応答が、前記保留状態の前記終了の候補が前記保留状態の実際の終了であることを示すことを判断するステップであって、
前記保留状態の前記実際の終了が、人間のユーザが前記音声通信セッションにおいて前記発呼側ユーザと対話するために利用可能であることを示す、ステップと、
前記保留状態の前記実際の終了と判断したことに応答して、ユーザインターフェース出力をレンダリングさせるステップであって、
前記ユーザインターフェース出力が、前記発呼側ユーザによって認識可能であり、前記保留状態の前記実際の終了を示す、ステップと
を含む方法。
【請求項２】
前記保留状態の前記終了の候補を検出するステップが、前記音声通信セッションの前記オーディオストリーム内の話している人間の音声を検出するステップを含む、請求項1に記載の方法。
【請求項３】
前記クライアントデバイスが、携帯電話または独立型の対話式スピーカである、請求項1または2に記載の方法。
【請求項４】
前記保留中クライアントを開始するステップが、前記発呼側ユーザによって前記クライアントデバイスにおいて提供されたユーザインターフェース入力に応答する、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記音声通信セッションが前記保留状態にあることを検出したことに応答して、
前記クライアントデバイスにおいて、前記保留中クライアントを開始するための提案をレンダリングするステップをさらに含み、
前記発呼側ユーザによって提供される前記ユーザインターフェース入力が、前記クライアントデバイスにおいて前記提案をレンダリングしたことに応答して提供される肯定的なユーザインターフェース入力である、
請求項4に記載の方法。
【請求項６】
前記保留中クライアントが、前記音声通信セッションが前記保留状態にあることを検出したことに応答して、前記クライアントデバイスによって自動的に開始される、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記音声通信セッションが前記保留状態にあることを検出するステップが、
前記音声通信セッションの前記オーディオストリーム内の音楽を検出するステップと、
前記音楽が既知の保留中音楽のリスト内に含まれていることを判断するステップと
を含む、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記音声通信セッションが前記保留状態にあることを検出するステップが、
前記音声通信セッションに関連付けられた電話番号が発呼者を前記保留状態にすることが知られている電話番号のリスト上にあることを判断するステップにさらに基づく、
請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記保留状態の前記終了の候補を検出するステップが、前記オーディオストリーム内の少なくともしきい値の変化を決定するために、オーディオフィンガプリンティングを使用するステップを含む、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記応答要請信号への前記応答が、前記保留状態の前記終了の候補が前記保留状態の前記実際の終了であることを示すことを判断するステップが、
少なくとも1つの予測出力を生成するために、少なくとも1つの機械学習モデルを使用して前記応答を処理するステップと、
前記少なくとも1つの予測出力に基づいて、前記保留状態の前記終了の候補が前記保留状態の前記実際の終了であることを判断するステップと
を含む、
請求項1から9のいずれか一項に記載の方法。
【請求項１１】
前記少なくとも1つの予測出力が、前記応答に関する予測テキストを含み、
前記予測出力に基づいて、前記保留状態の前記終了の候補が前記保留状態の前記実際の終了であることを判断するステップが、
前記予測テキストが前記応答要請信号に応答していることを判断するステップを含む、
請求項10に記載の方法。
【請求項１２】
前記少なくとも1つの予測出力が、前記応答が人間の音声であるかどうかの予測を含み、
前記予測出力に基づいて、前記保留状態の前記終了の候補が前記保留状態の前記実際の終了であることを判断するステップが、
前記応答が人間の音声であるかどうかの前記予測が、前記応答が人間の音声であることを示すことを判断するステップを含む、
請求項10または11に記載の方法。
【請求項１３】
前記応答要請信号への前記応答が、前記保留状態の前記終了の候補が前記保留状態の前記実際の終了であることを示すと判断した後、
前記クライアントデバイスから、前記音声通信セッションの前記オーディオストリームへの入力として保留終了メッセージを送信するステップであって、前記保留終了メッセージが、前記人間のユーザに可聴であり、前記発呼側ユーザが前記音声通信セッションに戻っていることを示す、ステップと、
前記クライアントデバイスにおける前記保留中クライアントを終了するステップと
をさらに含む、請求項1から12のいずれか一項に記載の方法。
【請求項１４】
前記保留状態の前記実際の終了を示す前記ユーザインターフェース出力が、
前記クライアントデバイス、
前記クライアントデバイスにリンクされた追加のクライアントデバイス、および
ネットワーク化されたライト、
のうちの1つまたは複数を介してレンダリングされる、
請求項1から13のいずれか一項に記載の方法。
【請求項１５】
前記音声通信セッションに関連付けられた電話番号に関連付けられた事前に録音された人間の音声の1つまたは複数の事前録音音声特性を識別するステップをさらに含み、
前記応答要請信号への前記応答が、前記保留状態の前記終了の候補が前記保留状態の実際の終了であることを示すことを判断するステップが、
前記応答に関する1つまたは複数の応答音声特性を決定するステップと、
前記1つまたは複数の応答音声特性が前記1つまたは複数の事前録音音声特性と異なることを判断するステップと
を含む、
請求項1から9、13、および14のいずれか一項に記載の方法。
【請求項１６】
クライアントデバイスの1つまたは複数のプロセッサによって実施される方法であって、
前記クライアントデバイスを介して提供されたユーザインターフェース入力を受信するステップであって、
前記ユーザインターフェース入力が、音声通信セッションが保留状態にあるときに発呼側ユーザによって提供され、
前記音声通信セッションが前記クライアントデバイスによって開始され、
被呼者が前記保留状態を制御する、ステップと、
前記ユーザインターフェース入力を受信したことに応答して、
前記保留状態の終了の候補について、前記音声通信セッション中に前記被呼者によって生成されたオーディオを監視するステップと、
前記監視に基づいて、前記保留状態の前記終了の候補を検出するステップと、
前記保留状態の前記終了の候補を検出したことに応答して、
前記クライアントデバイスによって前記音声通信セッション内に含めるための可聴出力を送信するステップであって、
前記可聴出力が、1つもしくは複数の単語を話す録音された人間の音声、または前記1つもしくは複数の単語を話す合成的に生成された音声を含む、ステップと、
前記可聴出力に続いて前記被呼者によって生成されたオーディオを監視するステップと、
前記可聴出力に続いて前記被呼者によって生成された前記オーディオが、前記保留状態の前記終了の候補が前記保留状態の実際の終了であることを示す1つまたは複数の基準を満たしていることを判断するステップであって、
前記保留状態の前記実際の終了が、人間のユーザが前記音声通信セッションにおいて前記発呼側ユーザと対話するために利用可能であることを示す、ステップと、
前記保留状態の前記実際の終了と判断したことに応答して、ユーザインターフェース出力をレンダリングさせるステップであって、
前記ユーザインターフェース出力が、前記発呼側ユーザによって認識可能であり、前記保留状態の前記実際の終了を示す、ステップと
を含む、方法。
【請求項１７】
前記可聴出力に続いて前記被呼者によって生成された前記オーディオが1つまたは複数の基準を満たすことを判断するステップが、
前記可聴出力に続いて前記被呼者によって生成された前記オーディオの音声テキスト化変換を実行することによってテキストを生成するステップと、
前記テキストが前記可聴出力の前記1つまたは複数の単語に応答していることを判断するステップと
を含む、
請求項16に記載の方法。
【請求項１８】
音声通信セッションを開始したクライアントデバイスによって実施される方法であって、前記方法が、
前記音声通信セッションが保留状態にある間、
前記音声通信セッションのオーディオストリーム内の話している人間の音声の発生について、前記オーディオストリームを監視するステップと、
前記監視中に前記人間の音声の前記発生を検出したことに応答して、
前記オーディオストリームへの入力として応答要請信号を送信するステップと、
前記応答要請信号への応答について前記オーディオストリームを監視するステップと、
前記応答要請信号への前記応答が前記応答要請信号に応答している人間の応答であるかどうかを判断するステップと、
前記応答が前記応答要請信号に応答している人間の応答であると判断された場合、
発呼側ユーザによって認識可能であり、前記保留状態の終了を示すユーザインターフェース出力をレンダリングさせるステップと
を含む、
方法。
【請求項１９】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から18のいずれか一項に記載の方法を実行させる命令を含むコンピュータプログラム。
【請求項２０】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から18のいずれか一項に記載の方法を実行させる命令を記憶したコンピュータ可読記憶媒体。
【請求項２１】
請求項1から18のいずれか一項に記載の方法を実行するための1つまたは複数のプロセッサを備えるシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
人間は、様々なクライアントデバイスを使用して音声通信セッション(通話など)に関わることができる。個人(本明細書では、「発呼者」または「ユーザ」と呼ばれる)が特定の番号に電話をかけ、現在誰も電話に出られない場合、多くの組織は、発呼者を保留状態にすることができる。保留状態は、発呼者が生きている人(本明細書では「ユーザ」とも呼ばれる)と対話するのを待っていることを示す。ユーザが保留を待っている間、ユーザのために音楽が頻繁に再生される。加えて、音楽は、ユーザが呼び出した組織に関する情報(例えば、組織のウェブサイト、組織の通常の営業時間など)などの追加情報を提供することができる、人間が録音した様々な音声によって中断され得る。加えて、自動音声は、ユーザがあとどれくらい保留のままかを示す推定された残りの待ち時間をユーザに与えることができる。
【０００２】
通話が保留中の場合、発呼者は、サービス担当者などの第2のユーザが通話においてアクティブになったときにそのことを判断するために、通話を綿密に監視しなければならない。例えば、保留中に音楽が人間の音声に切り替わった場合、発呼者は、発呼者が聞いている音声が予め録音された音声か、または実際のサービス担当者であるかを判断しなければならない。クライアントデバイスを介して開始された保留中の通話の綿密な監視を可能にするために、発呼者は、通話音量を上げ得、通話のオーディオ出力をスピーカフォンモダリティにまかせ得、および/または(通話が依然としてアクティブであり、保留中であることを確実にチェックするために)通話が保留中の間にクライアントデバイスの画面を繰り返しアクティブにし得る。それらのおよび/または他の保留中の発呼者の監視活動は、クライアントデバイスの電力消費を増加させる可能性がある。例えば、そのような活動は、通話のために利用されている携帯電話の電力消費を増加させる可能性があり、それは、携帯電話のバッテリにおける迅速な消耗を引き起こす可能性がある。加えて、それらのおよび/または他の保留中の監視活動は、発呼者が、音量を上げるための入力、スピーカフォンモダリティをアクティブにするための入力、および/または画面をアクティブにするための入力などの、クライアントデバイスにおける大量の入力を行うことを要求する可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書で説明した実装形態は、セッションがもはや保留状態ではなくなったときにそのことを判断するための、セッションが保留状態にあるときの音声通信セッションの自動監視に関する。セッションがもはや保留状態にないと判断された場合、セッションを開始した発呼側ユーザが認識可能で、セッションの保留状態が終了したことを示すユーザインターフェース出力がレンダリングされる。様々な実装形態では、(例えば、音声通信セッションを開始したクライアントデバイス上で少なくとも部分的に動作する)保留中クライアントは、セッションがもはや保留状態ではなくなったときにそのことを判断するために、セッションのオーディオストリームの少なくとも着信部分を監視するために利用され得る。それらの様々な実装形態のうちのいくつかでは、保留中クライアントは、オーディオストリームの処理に基づいて、保留状態の終了の候補を決定する。保留状態の終了の候補は、オーディオストリーム内の1つまたは複数のイベントの発生を検出したことに基づくことができる。いくつかの非限定的な例として、保留状態の終了の候補は、オーディオストリームにおける遷移(例えば、任意の遷移、または「保留中音楽」から人間の音声への遷移)を検出したこと、(例えば、音声アクティビティ検出を使用して)任意の人間の音声を検出したこと、(例えば、話者ダイアリゼーション(speaker diarization)を使用して)新しい人間の音声を検出したこと、特定の用語および/もしくはフレーズ(例えば、「こんにちは(hello)」、「ハイ(hi)」、および/または発呼側ユーザの名前)の発生を検出したこと、ならびに/または他のイベントに基づくことができる。
【０００４】
それらの様々な実装形態のいくつかの変形例では、保留中クライアントは、保留状態の終了の候補を検出したことに応答して、(被呼者によって「聞く」ことができるように)オーディオストリームの発信部分に応答要請信号を挿入させる。応答要請信号は、1つもしくは複数の単語を話す録音された人間の音声、または1つもしくは複数の単語を話す合成的に生成された音声であり得る。1つまたは複数の単語は、例えば、「こんにちは(Hello)」、「そこにいますか(Are you there)」、「ハイ、つながりましたか(Hi, are you on the line)」などであり得る。保留中クライアントは、応答要請信号への応答(もしあれば)をさらに監視し、応答が、保留状態の終了の候補が保留状態の実際の終了を示しているかどうかを判断することができる。そうである場合、保留中クライアントは、セッションを開始した発呼側ユーザが認識可能で、セッションの保留状態が終了したこと(すなわち、音声通信セッションがもはや保留状態ではないこと)を示すユーザインターフェース出力をレンダリングさせることができる。そうでない場合、保留中クライアントは、1つの保留状態の終了の候補の別の発生を監視し続けることができる。いくつかの実装形態では、保留中クライアントは、応答が人間の音声である尤度を決定したことに基づいて、(例えば、音声テキスト化プロセッサを使用して)応答をテキストに変換し、テキストが応答要請信号に応答するかどうかを判断したことに基づいて、応答が(例えば、音声通信セッションのための事前に録音された音声の特性とは異なる音声特性を含む)事前に録音された音声であると判断したことに基づいて、および/または他の基準に基づいて、保留状態の終了の候補が保留状態の実際の終了であることを応答が示しているかどうかを判断する。保留中クライアントは、応答が人間の音声である尤度を決定する際に、訓練された機械学習モデルをオプションで利用することができる。
【０００５】
これらおよび他の方法において、保留中クライアントは、保留中のセッションのオーディオストリームの着信部分を監視し、応答要請信号をいつ提供するかを動的に決定することができる。さらに、保留中クライアントは、セッションの保留状態が終了したかどうかを判断する際に、応答要請信号への応答(もしあれば)を利用することができる。保留中クライアントによるこれらのアクションは、発呼側ユーザからのいかなる介入もなしに、かつクライアントデバイスが音声通信セッションのオーディオストリームを可聴的にレンダリングすることを必要とすることなしに実行され得る。さらに、本明細書で説明したように、様々な実装形態では、保留中クライアントは、自動的に(いかなるユーザ入力も必要とされることなしに)、または最小限のユーザ入力で(例えば、グラフィカル要素のシングルタップ、または単一の口頭のコマンドで)開始され得る。
【０００６】
音声通信セッションは、ボイスオーバインターネットプロトコル(VOIP:Voice over Internet Protocol)、公衆交換電話網(PSTN:public switched telephone network)、構内交換機(PBX:private branch exchange)、様々なビデオおよび/またはオーディオ会議サービスのうちのいずれかなどの、様々なプロトコルおよび/またはインフラストラクチャを利用することができる。様々な実装形態では、音声通信セッションは、(音声通信セッションを開始する)発呼側ユーザのクライアントデバイスと、被呼者の1つまたは複数のデバイスとの間である。音声通信セッションは、発呼側ユーザと被呼者との間の双方向オーディオ通信を可能にする。音声通信セッションは、発呼側ユーザのクライアントデバイスと、被呼者のデバイスとの間の直接のピアツーピアセッションであり得、ならびに/または様々なサーバ、ネットワーク、および/もしくは他のリソースを介してルーティングされ得る。音声通信セッションは、様々なデバイス間で発生することができる。例えば、音声通信セッションは、発呼側ユーザのクライアントデバイス(例えば、携帯電話、独立型対話式スピーカ、タブレット、ラップトップ)と被呼者の固定電話の間、発呼側ユーザのクライアントデバイスと被呼者のクライアントデバイスとの間、発呼側ユーザのクライアントデバイスと被呼者のPBXとの間などであり得る。
【０００７】
本明細書で説明したいくつかの実装形態では、クライアントデバイス上で少なくとも部分的に動作する保留中クライアントは、(クライアントデバイスによって開始された)音声通信セッションが保留にされたことをクライアントデバイスが検出したことに応答して開始され得る。携帯電話などのクライアントデバイスは、音声通信セッションのオーディオストリームを調査し、様々な方法でセッションが保留中であると判断することができる。一例として、クライアントデバイスは、典型的な「保留中音楽」などの、オーディオストリームの着信部分内の音楽を検出したことに基づいて、セッションが保留中であると判断することができる。例えば、オーディオストリームの着信部分は、オーディオストリームの着信部分が典型的な保留中音楽であるかどうかを判断するために、処理され、既知の保留中音楽のリストと比較され得る(例えば、オーディオストリームのオーディオ特性が、既知の保留中音楽のオーディオ特性と比較され得る)。そのようなリストは、クライアントデバイス上にローカルに記憶され得、および/またはネットワーク(例えば、セルラネットワーク)を介してクライアントデバイスが接続することができるリモートサーバ上に記憶され得る。追加的または代替的に、オーディオストリームの着信部分は、処理され、既知の保留中音声のリストと比較され得る。別の例として、クライアントデバイスは、オーディオストリームの着信部分内の任意の音楽を検出したことに基づいて、セッションが保留中であると判断することができる。さらに別の例として、クライアントデバイスは、セッションのダイヤルされた番号を、発呼者を保留にすることが知られている電話番号のリストと比較することに基づいて、セッションが保留中であると追加的または代替的に判断することができる。例えば、ユーザが「Hypothetical Utility Company(仮想公益事業会社)」に電話をかけた場合、クライアントデバイスは、ユーザが実際の担当者と話すことができる前に、通常は発呼者を保留にする番号として、「仮想公益事業会社」に関連付けられた電話番号を記憶しておくことができる。さらに、発呼者を保留にすることが知られている電話番号のリストは、その番号によって使用される既知の保留中音楽および/または既知の保留中音声の対応するリストを有することができる。追加的または代替的に、ユーザは、通常はクライアントデバイスを保留にする電話番号を、クライアントデバイスに提供することができる。ユーザの許可で、これらのユーザが提供した電話番号は、クライアントデバイス間で共有され得、他のクライアントデバイスにおける通常は人々を保留にする番号のリストに追加され得る。
【０００８】
いくつかの実装形態では、ユーザは、ユーザが保留にされたことをクライアントデバイスに示すことができる。それらの実装形態のいくつかの変形例では、クライアントデバイスは、ユーザが保留中である可能性があることを検出し、ユーザが保留中クライアントを開始したいかどうかをユーザに促すユーザインターフェース出力(例えば、選択可能なグラフィカル要素および/または可聴プロンプト)を提供することができる。ユーザが肯定的なユーザインターフェース入力(例えば、選択可能なグラフィカル要素の選択および/または口頭の肯定的な入力)で応答した場合、保留中クライアントは、開始され得る。それらの実装形態のいくつかの他の変形例では、ユーザは、ユーザが保留中である可能性があることをクライアントデバイスが検出することなく、および/またはクライアントデバイスがユーザに促すことなく、保留中クライアントを開始することができる。例えば、ユーザは、保留中クライアントを開始するために口頭コマンド(例えば、「アシスタント、保留の監視を開始して(Assistant, initiate on hold monitoring)」)を提供することができ、および/またはその存在が、ユーザが保留中である可能性があると判断することを条件としない選択可能なグラフィカル要素を選択することができる。多くの実装形態では、クライアントデバイスは、音声通信セッション全体のオーディオストリームを監視し、ユーザがセッションの開始以外の時点において保留にされたかどうかを検出することができる。例えば、ユーザは、ユーザを保留にした担当者がセッションを第2の担当者に転送している間、ユーザを保留にした担当者と対話していることができる。様々な実装形態では、保留中クライアントは、音声通信セッションが保留にされたときにそのことを検出するために、バックグラウンドで動作し得、「開始」(例えば、「アクティブ」状態に遷移)され得、そこで、それは、(例えば、音声通信セッションがもはや保留中ではなくなったときにそのことを検出するために)本開示の他の態様を実行することに留意されたい。
【０００９】
保留中クライアントが開始されると、保留中クライアントは、音声通信セッションがもはや保留状態ではなくなったときにそのことを判断するために、音声通信セッションのオーディオストリームの少なくとも着信部分を監視することができる。セッションがもはや保留状態でない場合、発呼側ユーザは、会社の担当者、診察所の受付係などの生きている人と対話することができる。保留中クライアントを使用して音声通信セッションのオーディオストリームを監視することは、ユーザからの直接の対話なしで実行され得る(例えば、ユーザは、保留中にセッションを聞く必要はない)。
【００１０】
いくつかの実装形態では、保留中クライアントは、保留中音楽が人間の音声に変わったときにそのことを判断することができる。この人間の音声は、ときには人間の録音である可能性があるので、保留中クライアントは、録音が再生されているかどうか、または生きている人間がセッションに参加しているかどうかを判断する。様々な実装形態では、保留中クライアントは、検出された音声に質問(本明細書では、「応答要請信号」と呼ばれる)し、音声が質問に応答するかどうかを確認することができる。例えば、セッションのオーディオ信号において人間の音声が検出された場合、保留中クライアントは、「そこにいますか?(Are you there?)」と尋ね、音声が質問に応答するかどうかを確認することができる。保留中クライアントが開始して質問に対する適切な応答は、保留が終了し、第2の人がセッションに参加したことを示す。他の実装形態では、質問は、無視され、保留中クライアントは、第2の人がセッションに参加していないと判断することができる。例えば、保留中クライアントがオーディオ信号への入力として「誰かそこにいますか?(Is anyone there?)」と送信し、応答を受信しなかった(例えば、代わりに保留中音楽が再生され続けた)場合、それは、音声が録音であり、セッションが依然として保留中であることを示す可能性がある。
【００１１】
いくつかの実装形態では、保留が終了した可能性があるときにそのことを判断するために、「保留イベントの終了の候補」が使用され得る。多くの実装形態では、この保留イベントの終了の候補は、音声が人間かどうかを確認するために、セッションのオーディオチャンネルを介して応答要請信号を送信する保留中クライアントを開始させることができる。この保留イベントの終了の候補は、様々な方法で検出され得る。例えば、クライアントデバイスは、音楽が再生を停止したときおよび/または人が話し始めたときを検出することができる。音楽から話している人への変化は、離散フーリエ変換(DFT:Discrete Fourier transform)を含む様々なオーディオフィンガプリンティング(fingerprinting)プロセスを使用して判断され得る。DFTは、保留セッションのブロックを監視し、前のブロックと比較して1つのブロックからの十分な変化が検出された(例えば、音楽が再生を停止したときのブロックと、追加のブロックにおける音楽から人間の音声への変化とを検出した)ときにそのことを判断することができる。様々な実装形態では、1つまたは複数の機械学習モデルが訓練され、保留セッションがオーディオから人間の音声に変化したときにそのことを判断するために使用され得る。
【００１２】
多くの実装形態では、オーディオ信号を介していつ質問(ときには「応答要請信号」と呼ばれる)するかを決定するためのしきい値は、低く、質問することは、ごくわずかな計算リソースしかとらない(そして、人間が現在セッションの反対側にいない場合、気を悪くさせない)ので、保留中クライアントは、頻繁に質問をする。それらの実装形態のうちのいくつかでは、第1の機械学習モデルは、保留イベントの終了の候補を検出し、オーディオ信号への入力としていつ質問するかを決定するために使用され得る。応答が検出されたかどうかを判断することは、さらなる計算リソースを必要とする可能性があり、様々な実装形態では、(第1の機械学習モデルに加えて)第2の機械学習モデルが、人間が質問に応答したかどうかを判断することができる。人間が応答要請信号に応答したかどうかを検出するために使用される第2の機械学習モデルは、クライアントデバイス上にローカルに記憶され得、および/またはクライアントデバイスの外部、すなわち、しばしば「クラウド」と呼ばれる1つまたは複数のリモートコンピューティングシステム上に記憶され得る。いくつかの実装形態では、保留中クライアントは、保留中のセッションを扱うすべての部分を組み合わせるために単一の機械学習モデルを使用することができる。それらの実装形態のうちのいくつかでは、機械学習モデルは、オーディオストリームを処理し、セッションが保留中である尤度を示す出力を提供するために使用され得る。それらの実装形態のいくつかの変形例では、第1のより簡単な、尤度に関するしきい値を満たすことが、保留状態の終了の候補を決定するために利用され得、第2のより難しい、尤度に関するしきい値を満たすことが、保留状態の実際の終了を決定するために利用され得る。
【００１３】
様々な実装形態では、1つまたは複数の機械学習モデルは、入力としてオーディオストリームを利用することができ、1つまたは複数のモデルは、音声通信セッションが保留にされているという判断、保留が潜在的に終了しており、応答要請信号が音声通信セッションのオーディオストリームへの入力として送信されるべきであるという判断、および/または音声通信セッションの保留が終了しており、応答要請信号を送信する必要がないという判断を含む、様々な出力を生成することができる。いくつかの実装形態では、単一の機械学習モデルが、保留中クライアントのためのすべてのオーディオストリーム分析を実行することができる。他の実装形態では、異なる機械学習モデルの出力が、保留中クライアントに提供され得る。追加的または代替的に、いくつかの実装形態では、保留中クライアントの一部は、1つまたは複数の機械学習モデルとの間で入力を提供および/または出力を受信することができ、保留中クライアントの一部は、いかなる機械学習モデルとも対話しない。
【００１４】
追加的または代替的に、保留中のいくつかの音声通信セッションは、推定された残りの保留時間を口頭で示すことができる。多くの実装形態では、保留中クライアントは、音声通信セッションのオーディオストリーム内の自然言語を分析することによって推定された残りの保留時間を決定することができ、ユーザに推定された残りの保留時間を示すことができる。いくつかのそのような実装形態では、推定された残りの保留時間は、「「仮想水道会社」とのあなたの保留中の通話は、10分の更新された残りの推定された保留を提供しました(Your on hold call with  “Hypothetical Water Company" has provided an updated remaining estimated hold of 10 minutes)」というポップアップメッセージをプッシュするなどの、表示画面を有するクライアントデバイス上のダイアログボックスとしてユーザに対してレンダリングされ得る。このメッセージは、保留中クライアントの一部として、画面上の新しいポップアップとして、テキストメッセージとしてなどを含む、様々な方法でクライアントデバイス上に表示され得る。さらに、クライアントデバイスは、追加的または代替的に、クライアントデバイスに関連付けられた1つまたは複数のスピーカを使用して、この情報を口頭指示としてユーザに対してレンダリングすることができる。いくつかの実装形態では、保留中クライアントは、ユーザが既知の番号との保留に費やす平均時間量を学習し、より具体的な推定が未知であるとき、平均保留時間を(例えば、カウントダウンで)ユーザに提供することができる。保留中のクライアントに関連付けられた機械学習モデルは、入力としてオーディオストリームを使用する場合、推定された残りの保留の長さがオーディオストリーム内に示されているときにそのことを学習する、および/または既知の番号に関する推定された保留時間を学習することができる。
【００１５】
機械学習モデルは、フィードフォワードニューラルネットワーク、リカレントニューラルネットワーク(RNN:Recurrent Neural Network)、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)などを含むことができる。機械学習モデルは、所与の入力に対応するラベル付き出力を有する教師あり訓練データのセットを使用して訓練され得る。いくつかの実装形態では、以前に録音された保留中の音声通信セッションのセットのラベル付きオーディオストリームが、機械学習モデルのための訓練セットとして使用され得る。
【００１６】
様々な実装形態では、保留中クライアントは、個々の音声を検出するためにセッションのオーディオストリームを分割することができる話者ダイアリゼーションを利用することができる。話者ダイアリゼーションは、入力オーディオストリームを話者の識別情報に従って同種のセグメントに分割するプロセスである。それは、複数話者環境において「誰がいつ話したか(who spoke when)」という質問に答える。例えば、話者ダイアリゼーションは、(第1の人間の話者が誰であるかを具体的に識別することなしに)入力オーディオストリームの第1のセグメントが第1の人間の話者に帰することができること、(第1の人間の話者が誰であるかを具体的に識別することなしに)入力オーディオストリームの第2のセグメントが異なる第2の人間の話者に帰することができること、入力オーディオストリームの第3のセグメントが第1の人間の話者に帰することができることなどを識別するために利用され得る。特定の音声が検出された場合、保留中クライアントは、応答を受信したかどうかを確認するために、音声を問い合わせることができる。音声が保留中クライアントの質問(例えば、「こんにちは、そこにいますか?(Hello, are you there?)」)に応答しない場合、保留中クライアントは、識別された音声が録音であり、保留が終了したことの指標ではないと判断することができる。特定の音声は、保留中クライアントによって音声の録音として学習され得、音声通信セッションの保留中に再度聞こえた場合、その音声は、無視される。例えば、特定の音声の音声特性および/または特定の音声によって話された単語は、識別され得、音声通信セッションにおけるそれらの音声特性および/または単語の将来の発生は、無視され得る。言い換えれば、多くの場合、人が保留中であるとき、ユーザのために再生される録音は、同じ録音(またはいくつかの録音のうちの1つ)によって中断された音楽を含むループになる。この保留中の録音ループ内の録音として識別された音声は、音声通信セッションの保留が同じ識別された音声にループバックする場合、無視される(すなわち、同じ音声に再び質問で促さない)。いくつかのそのような実装形態では、録音された音声は、既知の音声録音として多くのクライアントデバイス間で共有され得る。
【００１７】
いくつかの実装形態では、オーディオ信号において検出されたコンテンツは、応答要請信号が必要ないほどの、人間のユーザが電話に出ていることを示す強力な指標である。例えば、保留中クライアントが、発呼者の名、発呼者の姓、発呼者のフルネームなどのキーワードおよび/またはフレーズのリストの1つを検出した場合、保留中クライアントは、音声通信セッションのオーディオストリームを介していかなる質問もせずに、生きている人間のユーザが電話に出ていると判断することができる。追加的または代替的に、サービス担当者は、ユーザと対話するとき、台本にしばしば従う。保留中クライアントは、オーディオストリームを介して質問を送信することなく、保留が終了したことを識別するために、特定の会社のサービス担当者からの典型的な台本に沿った挨拶を監視することができる。例えば、ユーザが特定の番号において「仮想公益事業会社」に発呼したと想定する。保留中クライアントは、「仮想公益事業会社」におけるサービス担当者が音声通信セッションに答えるときに使用する台本に沿った応答を学習することができる。言い換えれば、保留中クライアントは、「仮想公益事業会社」のサービス担当者が、保留の終了後に「こんにちは、私の名前は、[サービス担当者の名前]で、私は、仮想公益事業会社の仕事をしています。今日はどんなお手伝いをいたしましょうか?(Hello, my name is [service representative's name] and I work with Hypothetical Utility Company.  How may I help you today?)」などの台本に沿ったメッセージでユーザとの音声通信セッションを開始することを学習することができる。台本に沿ったメッセージを検出することは、音声を問い合わせて、それが生きている第2のユーザであるかどうかを確認することをさらに必要とすることなしに、保留中クライアントを終了することをトリガすることができる。
【００１８】
保留中クライアントが保留の終了を検出すると、様々な実装形態では、保留中クライアントは、セッションにおいて現在同様にアクティブである第2のユーザに、台本に沿ったメッセージを送ることができる。例えば、保留中クライアントは、「こんにちは、私はJane Doeの代理をしています。私は、Jane Doeにすぐにここに来るように通知しています(Hello, I represent Jane Doe. I am notifying her and she will be here momentarily)」というメッセージを送ることができる。このメッセージは、セッションを開始したユーザが保留の終了を通知されている間、第2のユーザを電話に出させたままにするのを助ける。追加的または代替的に、音声通信セッションは、セッションと対話するためにユーザに戻る代わりに、さらなるクライアントに引き渡され得る。いくつかのそのような実装形態では、さらなるクライアントは、ユーザに関する既知の情報および/または特定の音声通信セッションに関してユーザがさらなるクライアントに提供した情報を使用して、音声通信セッションと対話することができる。例えば、ユーザは、いつ「仮想高級レストラン(Hypothetical Fancy Restaurant)」において夕食の予約がしたいかに関する情報をさらなるクライアントに提供することができ、さらなるクライアントは、ユーザのための夕食の予約を行うために、追加の生きている人間のユーザと対話することができる。
【００１９】
多くの実装形態では、セッションを開始したユーザは、保留中クライアントが、保留状態が終了した(すなわち、保留が終了し、人間が電話に出ている)と判断したときに通知される。いくつかの実装形態では、ユーザは、保留中クライアントが開始されたとき、またはそれとほぼ同時期にどのように通知されたいかを選択することができる。他の実装形態では、ユーザは、保留中クライアント内の設定としてどのように通知されたいかを選択することができる。ユーザは、クライアントデバイス自体を使用して通知され得る。例えば、クライアントデバイスは、クライアントデバイスに着信音を鳴らせること、クライアントデバイスを振動させること、クライアントデバイスに発話出力(例えば、「あなたは、もはや保留ではありません(you are no longer on hold)」)を提供させることなどによって、ユーザに通知することができる。例えば、クライアントデバイスは、保留が終了すると振動することができ、ユーザは、セッションとの対話を開始するために、クライアントデバイスのボタンを押すことができる。
【００２０】
追加的または代替的に、保留中クライアントは、例えば、同じネットワーク上で共有されている、および/またはユーザの制御下にあるクライアントデバイスの同じ調整されたエコシステムの一部を形成する1つまたは複数の他のクライアントデバイスおよび/または周辺デバイス(例えば、インターネットオブシングス(IoT: Internet of Things)デバイス)を介してユーザに通知することができる。保留中クライアントは、デバイストポロジを通じて、ネットワーク上の他のデバイスの知識を有することができる。例えば、保留中クライアントが、ユーザがスマートライトを有する室内にいることを知っている場合、ユーザは、スマートライトの状態を変更する(例えば、ライトをオンオフで点滅させる、ライトを減光する、ライトの強度を増加させる、ライトの色を変更するなど)ことによって通知されることを選択することができる。別の例として、スマートテレビなどの表示画面と関わっているユーザは、スマートテレビの表示画面上に現れるメッセージによって通知されることを選択することができる。言い換えれば、ユーザは、セッションが保留中にテレビを見ることができ、ユーザのテレビを介して、保留中クライアントによって、保留が終了したので、ユーザがセッションに再加入することができることを通知され得る。さらに別の例として、音声通信セッションは、携帯電話を介して行われ得、通知は、1つまたは複数のスマートスピーカおよび/または他のクライアントデバイスを介してレンダリングされ得る。様々な実装形態では、音声通信セッションのために使用されるクライアントデバイスは、携帯電話であり得る。代替のクライアントデバイスが、音声通信セッションのために使用され得る。例えば、音声通信セッションのために使用されるクライアントデバイスは、ユーザのための音声通信セッションを行う能力を有する専用の自動化されたアシスタントデバイス(例えば、スマートスピーカおよび/または他の専用アシスタントデバイス)を含むことができる。
【００２１】
本明細書で開示した実装形態は、クライアントデバイスが保留中の音声通信セッションと対話する時間を短縮することによって、クライアントデバイスのユーザビリティを向上させることができる。保留中の音声通信セッションと完全に対話するクライアントデバイスの代わりに、コンピューティングデバイスのバックグラウンドで保留中クライアントプロセスを実行することによって、計算リソースが節約され得る。例えば、多くのユーザは、クライアントデバイスに関連付けられたスピーカを介して保留中の音声通信セッションを出力する。スピーカにおいてセッションを出力することと比較して、音声通信セッションのバックグラウンド監視は、クライアントデバイスによる、より少ない計算処理を必要とする。追加的または代替的に、クライアントデバイスのバックグラウンドにおいて保留中プロセスを実行することは、クライアントデバイスに関連付けられた1つまたは複数のスピーカを介して保留中の音声通信セッションを出力すること(クライアントデバイスがユーザの耳の横にあるときにユーザが聞くことができるオーディオストリームの出力と、外部スピーカによって出力される保留中の音声通信セッションのオーディオストリームの両方をさらに含む可能性がある)と比較した場合、クライアントデバイスのバッテリ寿命を節約することができる。
【００２２】
上記は、本明細書で開示した様々な実装形態の概要として提供されている。それらの様々な実装形態、ならびに追加の実装形態に関して、追加の詳細が本明細書で提供される。
【００２３】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法が提供され、音声通信セッションが保留状態にあることを検出するステップを含む。音声通信セッションは、発呼側ユーザのクライアントデバイスによって開始され、音声通信セッションが保留状態にあることを検出するステップは、音声通信セッションのオーディオストリームに少なくとも部分的に基づく。方法は、クライアントデバイス上で保留中クライアントを開始するステップをさらに含む。保留中クライアントを開始するステップは、音声通信セッション中であり、音声通信セッションが保留状態にあることを検出したことに基づく。方法は、保留中クライアントを使用して、保留状態の終了の候補について、音声通信セッションのオーディオストリームを監視するステップをさらに含む。音声通信セッションのオーディオストリームを監視するステップは、発呼側ユーザからの直接の対話なしに発生する。方法は、監視に基づいて保留状態の終了の候補を検出するステップをさらに含む。方法は、保留状態の終了の候補を検出したことに応答して、クライアントデバイスから、音声通信セッションのオーディオストリームへの入力として応答要請信号を送信するステップと、応答要請信号に対する応答について、音声通信セッションのオーディオストリームを監視するステップと、応答要請信号に対する応答が、保留状態の終了の候補が保留状態の実際の終了であることを示すことを判断するステップとをさらに含む。保留状態の実際の終了は、人間のユーザが音声通信セッションにおいて発呼側ユーザと対話するために利用可能であることを示す。方法は、保留状態の実際の終了と判断したことに応答して、ユーザインターフェース出力をレンダリングさせるステップをさらに含む。ユーザインターフェース出力は、発呼側ユーザによって認識可能であり、保留状態の実際の終了を示す。
【００２４】
本明細書で開示した技術のこれらおよび他の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。
【００２５】
いくつかの実装形態では、保留状態の終了の候補を検出するステップは、音声通信セッションのオーディオストリーム内の話している人間の音声を検出するステップを含む。
【００２６】
いくつかの実装形態では、クライアントデバイスは、携帯電話または独立型の対話式スピーカである。
【００２７】
いくつかの実装形態では、保留中クライアントを開始するステップは、発呼側ユーザによってクライアントデバイスにおいて提供されたユーザインターフェース入力に応答する。それらの実装形態のいくつかの変形例では、方法は、音声通信セッションが保留状態にあることを検出したことに応答して、クライアントデバイスにおいて、保留中クライアントを開始するための提案をレンダリングするステップをさらに含む。それらの変形例では、発呼側ユーザによって提供されるユーザインターフェース入力は、クライアントデバイスにおいて提案をレンダリングしたことに応答して提供される肯定的なユーザインターフェース入力である。
【００２８】
いくつかの実装形態では、保留中クライアントは、音声通信セッションが保留状態にあることを検出したことに応答して、クライアントデバイスによって自動的に開始される。
【００２９】
いくつかの実装形態では、音声通信セッションが保留状態にあることを検出するステップは、音声通信セッションのオーディオストリーム内の音楽を検出するステップと、オプションで、音楽が既知の保留中音楽のリスト内に含まれていることを判断するステップとを含む。
【００３０】
いくつかの実装形態では、音声通信セッションが保留状態にあることを検出するステップは、音声通信セッションに関連付けられた電話番号が発呼者を保留状態にすることが知られている電話番号のリスト上にあることを判断するステップにさらに基づく。
【００３１】
いくつかの実装形態では、保留状態の終了の候補を検出するステップは、オーディオストリーム内の少なくともしきい値の変化を決定するために、オーディオフィンガプリンティングを使用するステップを含む。
【００３２】
いくつかの実装形態では、応答要請信号への応答が、保留状態の終了の候補が保留状態の実際の終了であることを示すことを判断するステップは、少なくとも1つの予測出力を生成するために、少なくとも1つの機械学習モデルを使用して応答を処理するステップと、少なくとも1つの予測出力に基づいて、保留状態の終了の候補が保留状態の実際の終了であることを判断するステップとを含む。それらの実装形態のいくつかの変形例では、少なくとも1つの予測出力は、応答に関する予測テキストを含み、予測出力に基づいて、保留状態の終了の候補が保留状態の実際の終了であることを判断するステップは、テキストが応答要請信号に応答していることを判断するステップを含む。それらの実装形態のいくつかの追加のまたは代替の変形例では、少なくとも1つの予測出力は、応答が人間の音声であるかどうかの予測を含み、予測出力に基づいて、保留状態の終了の候補が保留状態の実際の終了であることを判断するステップは、応答が人間の音声であるかどうかの予測が、応答が人間の音声であることを示すことを判断するステップを含む。
【００３３】
いくつかの実装形態では、方法は、応答要請信号への応答が、保留状態の終了の候補が保留状態の実際の終了であることを示すと判断した後、クライアントデバイスから、音声通信セッションのオーディオストリームへの入力として保留終了メッセージを送信するステップをさらに含む。保留終了メッセージは、人間のユーザに可聴であり、発呼側ユーザが音声通信セッションに戻っていることを示す。それらの実装形態のうちのいくつかでは、方法は、応答要請信号への応答が、保留状態の終了の候補が保留状態の実際の終了であることを示すと判断した後、クライアントデバイスにおける保留中クライアントを終了するステップをさらに含む。
【００３４】
いくつかの実装形態では、保留状態の実際の終了を示すユーザインターフェース出力は、クライアントデバイス、クライアントデバイスにリンクされた追加のクライアントデバイス、および/または周辺デバイス(例えば、ネットワーク化されたライト(networked light))を介してレンダリングされる。
【００３５】
いくつかの実装形態では、方法は、音声通信セッションに関連付けられた電話番号(または他の一意の識別子)に関連付けられた事前に録音された人間の音声の1つまたは複数の事前録音音声特性を識別するステップをさらに含む。それらの実装形態のいくつかの変形例では、応答要請信号への応答が、保留状態の終了の候補が保留状態の実際の終了であることを示すことを判断するステップは、応答に関する1つまたは複数の応答音声特性を決定するステップと、1つまたは複数の応答音声特性が1つまたは複数の事前録音音声特性と異なることを判断するステップとを含む。
【００３６】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法が提供され、クライアントデバイスを介して提供されたユーザインターフェース入力を受信するステップを含む。ユーザインターフェース入力は、音声通信セッションが保留状態にあるときに発呼側ユーザによって提供される。音声通信セッションは、クライアントデバイスによって開始され、被呼者が、音声通信セッションの保留状態を制御する。方法は、ユーザインターフェース入力を受信したことに応答して、保留状態の終了の候補について、音声通信セッション中に被呼者によって生成されたオーディオを監視するステップをさらに含む。方法は、監視に基づいて、保留状態の終了の候補を検出するステップをさらに含む。方法は、保留状態の終了の候補を検出したことに応答して、クライアントデバイスによって音声通信セッション内に含めるための可聴出力を送信するステップをさらに含む。可聴出力は、1つもしくは複数の単語を話す録音された人間の音声、または1つもしくは複数の単語を話す合成的に生成された音声を含む。方法は、可聴出力に続いて被呼者によって生成されたオーディオを監視するステップと、可聴出力に続いて被呼者によって生成されたオーディオが、保留状態の終了の候補が保留状態の実際の終了であることを示す1つまたは複数の基準を満たしていることを判断するステップとをさらに含む。保留状態の実際の終了は、人間のユーザが音声通信セッションにおいて発呼側ユーザと対話するために利用可能であることを示す。方法は、保留状態の実際の終了と判断したことに応答して、ユーザインターフェース出力をレンダリングさせるステップをさらに含む。ユーザインターフェース出力は、発呼側ユーザによって認識可能であり、保留状態の実際の終了を示す。
【００３７】
技術のこれらおよび他の実装形態は、以下の特徴のうちの1つまたは複数をオプションで含むことができる。
【００３８】
いくつかの実装形態では、可聴出力に続いて被呼者によって生成されたオーディオが1つまたは複数の基準を満たすことを判断するステップは、可聴出力に続いて被呼者によって生成されたオーディオの音声テキスト化変換を実行することによってテキストを生成するステップと、テキストが可聴出力の1つまたは複数の単語に応答していることを判断するステップとを含む。
【００３９】
いくつかの実装形態では、ユーザインターフェース入力は、クライアントデバイスによってレンダリングされたグラフィカルおよび/または可聴の提案への肯定的な応答であり、提案は、保留状態の終了について監視するために保留中クライアントを開始するための提案である。それらの実装形態のうちのいくつかでは、提案は、音声通信セッション中に被呼者によって生成されたオーディオに基づいて、通話が保留状態にあることを検出したことに応答してクライアントデバイスによってレンダリングされる。
【００４０】
いくつかの実装形態では、音声通信セッションを開始したクライアントデバイスによって実施される方法が提供され、音声通信セッションが保留状態にある間、オーディオストリーム内の話している人間の音声の発生について、音声通信セッションのオーディオストリームを監視するステップと、監視中に人間の音声の発生を検出したことに応答して、オーディオストリームへの入力として応答要請信号を送信するステップと、応答要請信号への応答についてオーディオストリームを監視するステップと、応答要請信号への応答が応答要請信号に応答している人間の応答であるかどうかを判断するステップと、応答が応答要請信号に応答している人間の応答であると判断された場合、発呼側ユーザによって認識可能であり、保留状態の終了を示すユーザインターフェース出力をレンダリングさせるステップとを含む。
【００４１】
加えて、いくつかの実装形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは、関連するメモリ内に記憶された命令を実行するように動作可能であり、命令は、前述の方法のいずれかの実行を引き起こすように構成される。いくつかの実装形態は、前述の方法のいずれかを実行するために1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する1つまたは複数の非一時的コンピュータ可読記憶媒体も含む。
【図面の簡単な説明】
【００４２】
【図１】様々な実装形態が実装され得る例示的な環境を示すブロック図である。
【図２】クライアントデバイスと音声通信セッションとの間の例示的な対話を示す図である。
【図３】クライアントデバイスと音声通信セッションとの間の別の例示的な対話を示す図である。
【図４】クライアントデバイスと音声通信セッションとの間の別の例示的な対話を示す図である。
【図５】本明細書で開示した実装形態による例示的なプロセスを示すフローチャートである。
【図６】コンピューティングデバイスの例示的なアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【００４３】
図1は、様々な実装形態が実装され得る例示的な環境100を示す。例示的な環境100は、1つまたは複数のクライアントデバイス102を含む。簡潔さと単純さとのために、特定のユーザに「サービスする」ものとして本明細書で使用される「保留中クライアント」という用語は、しばしば、クライアントデバイス102においてユーザによって操作される保留中クライアント104と、1つまたは複数のクラウドベースの保留中構成要素(図示せず)との組合せを指す場合がある。
【００４４】
クライアントデバイス102は、例えば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タッチ感応コンピューティングデバイス(例えば、ユーザからのタッチを介して入力を受信することができるコンピューティングデバイス)、携帯電話コンピューティングデバイス、ユーザの車両のコンピューティングデバイス(例えば、車載通信システム)、独立型対話式スピーカ、スマートテレビなどのスマート家電、プロジェクタ、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(例えば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザの眼鏡、仮想または拡張現実コンピューティングデバイスなど)のうちの1つまたは複数を含み得る。追加および/または代替のコンピューティングデバイスが提供され得る。
【００４５】
いくつかの実装形態では、保留中クライアント104は、そのユーザインターフェース入力が保留中クライアント104に明示的に向けられていない場合であっても、ユーザインターフェース入力に応答してダイアログセッションに関わり得る。例えば、保留中クライアント104は、音声通信セッションのオーディオストリームの内容および/またはユーザインターフェース入力の内容を調査し、ダイアログセッションに関わり得る。例えば、ユーザインターフェース入力における音声通信セッションのオーディオストリーム内に存在する特定の用語に応答して、および/または他の手がかりに基づいて、保留中クライアントは、ダイアログセッションに関わることができる。多くの実装形態では、保留中クライアント104は、ユーザからの発話をテキストに変換するために音声認識を利用し、それに応じて、例えば、検索結果、一般的な情報を提供することによって、および/または1つもしくは複数の応答アクションをとる(例えば、保留検出を起動するなど)ことによって、テキストに応答し得る。
【００４６】
各クライアントデバイス102は、保留中クライアント104のそれぞれのインスタンスを実行し得る。様々な実装形態では、保留中クライアント104の1つまたは複数の態様は、クライアントデバイス102から離れて実装され得る。例えば、保留中クライアント104の1つまたは複数の構成要素は、1つまたは複数のローカルおよび/またはワイドエリアネットワーク(例えば、インターネット)を介してクライアントデバイス102に通信可能に結合された1つまたは複数のコンピューティングシステム(まとめて「クラウド」コンピューティングシステムと呼ばれる)上に実装され得る。クライアントコンピューティングデバイス102の各々は、データおよびソフトウェアアプリケーションの記憶のための1つまたは複数のメモリと、データにアクセスするため、およびアプリケーションを実行するための1つまたは複数のプロセッサと、ネットワークを介する通信を容易にする他の構成要素とを含み得る。1つもしくは複数のコンピューティングデバイス102および/または保留中クライアント104によって実行される動作は、複数のコンピュータシステムに分散され得る。保留中クライアント104は、例えばネットワークを介して互いに結合された1つまたは複数の場所で動作する1つまたは複数のコンピュータ上で実行されるコンピュータプログラムとして実装され得る。
【００４７】
多くの実装形態では、保留中クライアント104は、対応する音声キャプチャ/テキスト音声化(「TTS:text-to-speech」)/音声テキスト化(「STT:speech-to-text」)モジュール106と、自然言語プロセッサ108と、オーディオストリームモニタ110と、保留検出モジュール112と、他の構成要素とを含み得る。
【００４８】
保留中クライアント104は、前述の対応する音声キャプチャ/TTS/STTモジュール106を含み得る。他の実装形態では、音声キャプチャ/TTS/STTモジュール106の1つまたは複数の態様は、保留中クライアント104とは別に実装され得る。各音声キャプチャ/TTS/STTモジュール106は、1つまたは複数の機能を実行するように、すなわち、ユーザの音声を、例えば、クライアントデバイス102に統合されたマイクロフォン(図示せず)を介してキャプチャするように、そのキャプチャされたオーディオをテキストに(および/または他の表現または埋め込みに)変換するように、および/またはテキストを音声に変換するように構成され得る。例えば、いくつかの実装形態では、クライアントデバイス102は、コンピューティングリソース(例えば、プロセッササイクル、メモリ、バッテリなど)に関して制約される場合があるので、各クライアントデバイス102に対してローカルである音声キャプチャ/TTS/STTモジュール106は、有限数の異なる発話フレーズ、特に、保留中クライアント104を呼び出すフレーズをテキスト(または、より低次元の埋め込みなどの他の形式)に変換するように構成され得る。他の音声入力は、クラウドベースのTTSモジュールおよび/またはクラウドベースのSTTモジュールを含み得るクラウドベースの保留中クライアント構成要素(図示せず)に送信され得る。
【００４９】
保留中クライアント104の自然言語プロセッサ108は、クライアントデバイス102を介してユーザによって生成された自然言語入力を処理し、保留中クライアント104の1つまたは複数の構成要素によって使用するための注釈付き出力を生成し得る。例えば、自然言語プロセッサ108は、クライアントデバイス102の1つまたは複数のユーザインターフェース入力デバイスを介してユーザによって生成された自然言語自由形式入力を処理し得る。生成された注釈付き出力は、自然言語入力の1つまたは複数の注釈と、オプションで、自然言語入力の用語のうちの1つまたは複数(例えば、すべて)とを含む。
【００５０】
いくつかの実装形態では、自然言語プロセッサ108は、自然言語入力における様々なタイプの文法情報を識別し、注釈を付けるように構成される。例えば、自然言語プロセッサ108は、用語にそれらの文法的役割で注釈を付けるように構成された品詞タグ付け器を含み得る。また、例えば、いくつかの実装形態では、自然言語プロセッサ108は、自然言語入力内の用語間の統語関係を決定するように構成された係り受け解析器(図示せず)を追加的および/または代替的に含み得る。
【００５１】
いくつかの実装形態では、自然言語プロセッサ108は、人(例えば、文学のキャラクタ、有名人、公人などを含む)、組織、場所(実在および架空)などへの参照などの、1つまたは複数のセグメント内のエンティティ参照に注釈を付けるように構成されたエンティティタグ付け器(図示せず)を追加的および/または代替的に含み得る。自然言語プロセッサ108のエンティティタグ付け器は、(例えば、人などのエンティティクラスへのすべての参照の識別を可能にするために)高レベルの粒度において、および/または(例えば、特定の人物などの特定のエンティティへのすべての参照の識別を可能にするために)低レベルの粒度においてエンティティへの参照に注釈を付け得る。エンティティタグ付け器は、特定のエンティティを解決するために自然言語入力の内容に依存し得、および/または特定のエンティティを解決するためにナレッジグラフもしくは他のエンティティデータベースとオプションで通信し得る。
【００５２】
いくつかの実装形態では、自然言語プロセッサ108は、1つまたは複数の文脈的手がかりに基づいて、同じエンティティへの参照をグループ化または「クラスタ化」するように構成された共参照リゾルバ(図示せず)を追加的および/または代替的に含み得る。例えば、共参照リゾルバは、「私は、前回そこで食べたときに仮想カフェが好きでした(I liked Hypothetical Cafe last time we ate there)」という自然言語入力内の「そこで(there)」という用語を「仮想カフェ(Hypothetical Cafe)」に解決するために利用され得る。
【００５３】
多くの実装形態では、自然言語プロセッサ108の1つまたは複数の構成要素は、自然言語プロセッサ108の1つまたは複数の他の構成要素からの注釈に依存し得る。例えば、いくつかの実装形態では、名前付きエンティティタグ付け器は、特定のエンティティへのすべての言及に注釈を付ける際に、共参照リゾルバおよび/または係り受け解析器からの注釈に依存し得る。また、例えば、いくつかの実装形態では、共参照リゾルバは、同じエンティティへの参照をクラスタ化する際に、係り受け解析器からの注釈に依存し得る。多くの実装形態では、特定の自然言語入力を処理する際に、自然言語プロセッサ108の1つまたは複数の構成要素は、1つまたは複数の注釈を決定するために、特定の自然言語入力の外部の関連する事前入力および/または他の関連するデータを使用し得る。
【００５４】
多くの実装形態では、保留中クライアント104は、セッションを配置したユーザからのいかなる必要な対話もなしに、保留中の音声通信セッションと対話することができる。いくつかの追加または代替の実装形態では、保留中クライアント104は、保留中プロセスを開始し、保留中プロセスを終了し、音声通信セッションがもはや保留中ではないことをユーザに通知し、および/またはもはや保留中ではない音声通信セッションをクライアントデバイス102上の追加のクライアントに渡すことができる。
【００５５】
多くの実装形態では、オーディオストリームモニタ110が、音声通信セッションのオーディオストリームの着信部分および/または発信部分を監視するためにクライアントデバイス102および/または保留中クライアント104によって使用され得る。例えば、オーディオストリームの着信部分は、音声通信セッションを行った後に発呼者が聞くオーディオ部分(例えば、別の人間の音声、音楽など)を含む可能性がある。同様に、音声通信セッションのオーディオストリームの発信部分は、オーディオストリームおよび/または保留中クライアントによって提供された他の信号を介して発呼者が別の発呼者に言ったもの(別の人が電話に出ているかどうかを尋ねる要請応答クエリなど)を含む可能性がある。いくつかのそのような実装形態では、クライアントデバイス102は、音声通信セッションが保留にされたときにそのことを検出するために、オーディオストリームモニタ110を使用し、保留中の音声通信セッションを保留中クライアント104に渡すことができる。追加的または代替的に、保留中クライアント104は、音声通信セッションのオーディオストリームを監視することができ、保留中クライアント104自体は、音声通信セッションが保留にされたときにそのことを判断することができる。音声通信セッションが保留にされたことを示すオーディオストリームモニタ110によって検出されたオーディオストリーム内の信号は、既知の保留中音楽の検出、任意の音楽の検出(ユーザが音声通信セッションを介して互いに曲を再生する可能性が低いので)、人間の音声から音楽への遷移、音楽から人間の音声への遷移などを含む可能性がある。
【００５６】
保留検出モジュール112は、音声通信セッションが保留にされたときにそのことを決定し、音声通信セッションがもはや保留ではなくなったときにそのことを決定し、予測された残り待ち時間などを決定するために、オーディオストリームモニタ110によって行われた音声通信セッションのオーディオストリームに関する決定を使用することができる。保留検出モジュール112は、セッションがもはや保留されていないときにクライアントデバイス102のユーザに指標を提供し、ならびに、(ユーザからのさらなる対話を必要とする場合としない場合がある)音声通信セッションと対話するために音声通信セッションをクライアントデバイス102上の追加のクライアントに渡すことができる。
【００５７】
追加的または代替的に、ユーザは、音声通信セッションが保留にされているが、ユーザが保留中クライアント104を使用して保留中プロセスを開始したいことを、ユーザインターフェースを介してクライアントデバイス102に示すことができる。保留検出モジュール112は、セッションが保留にされて、ユーザが保留中プロセスを開始するために肯定的な方法で応答することを推奨することによって、および/またはユーザが、保留検出モジュール112を使用して保留中プロセスを開始するためにクライアントデバイス102におけるユーザインターフェースを介してセッションが保留にされたことを直接示すことによって、クライアントデバイス102におけるユーザインターフェースを介してユーザからセッションが保留されたという肯定的な指標を受信した場合、セッションを保留にすることができる。他の実装形態では、保留検出モジュール112は、保留状態にあるセッションを検出すると、保留中プロセスを自動的に開始することができる。
【００５８】
多くの実装形態では、保留検出モジュール112は、セッションがもはや保留中ではなくなったときにそのことを追加的または代替的に判断することができる。多くの実装形態では、ユーザは、ユーザが保留中プロセスの終了時に通知されることを望む方法を指示することができる。例えば、ユーザは、それが保留中番号からのものであることを示す、モバイルコンピューティングシステム上の音声通信セッションを受信することを望む場合がある。追加的または代替的に、ユーザは、保留の終了が検出されたときに、スマートライトなどのクライアントデバイス102の同じエコシステム内の接続されたスマートデバイスが特定の方法で応答することを要求することができる。例えば、クライアントデバイス102と同じネットワーク上のスマートライトは、音声通信セッションの保留の終了を示すために、オンオフで点滅する、強度を減光する、強度を増加させる、色を変更するなどのように指示され得る。追加的または代替的に、スマートテレビを見ているユーザは、保留の終了が検出されたときにテレビ上に通知が現れることを要求することができる。
【００５９】
図2、図3、および図4は、各々、保留中クライアント(図1に示す保留中クライアント104など)と音声通信セッションとの間の対話を示す。図2は、依然として保留中である音声通信セッション206と対話する保留中クライアント202を含む画像200を示す。音声通信セッションの保留の潜在的な(「候補」とも呼ばれる)終了の検出に応答して、保留中クライアント202は、追加の生きているユーザがセッションにおいてアクティブになったかどうかを判断するために、音声通信セッション206のオーディオストリームを介して応答要請信号を送信することができる。多くの実装形態では、保留中クライアントは、応答要請信号として送信するテキストフレーズ(例えば、「そこにいますか(Are you there)」)を決定することができる。いくつかのそのような実装形態では、(図1に示す音声キャプチャ/TTS/STTモジュール106と同様の)テキスト音声化モジュールが、オーディオストリームへの入力として提供するためにテキストフレーズを音声に変換することができる。
【００６０】
様々な実装形態では、音声通信セッションの保留の潜在的な終了は、音楽の変化、音楽から人間の音声(生の音声だけでなく、潜在的に録音された音声)への変化、離散フーリエ変換などの様々な信号処理技法によって検出された信号、ニューラルネットワークモデルの出力などを含む、音声通信セッションのオーディオストリーム内の様々な信号のいずれかを検出する保留中クライアント202によって検出され得る。人間の音声は、信号として分析され得、追加的または代替的に、(図1に示す音声キャプチャ/TTS/STTモジュール106と同様の)音声テキスト化モジュールが、人間の音声をテキストに変換することができる。オーディオストリーム内のテキストの発音声言語は、オーディオストリーム内で検出された人間の音声によって話されたものの意味を決定するために、(図1に示す自然言語プロセッサ108などの)自然言語プロセッサによって加えて分析され得る。自然言語プロセッサの出力は、音声通信セッションにおける保留の潜在的な終了を判断するためにさらに使用され得る。追加的または代替的に、自然言語プロセッサの出力は、生きている人間のユーザがセッションに入ったことを判断する際に使用され得る。例えば、自然言語プロセッサの出力は、1つまたは複数のニューラルネットワークモデルへの入力を提供することができる。
【００６１】
いくつかの実装形態では、ニューラルネットワークモデルは、音声通信セッション内で無視する1つまたは複数の「音声」を識別することを学習することができる。音声は、1人または複数の個別の話者、背景音楽、背景ノイズなどを含むことができる。例えば、1つまたは複数のニューラルネットワークモデルは、リカレントニューラルネットワーク(RNN)を含むことができる。RNNは、長短期記憶(LSTM:long short-term memory)層などの、少なくとも1つのメモリ層を含むことができる。メモリ層は、入力が順次に適用され得る1つまたは複数のメモリユニットを含み、適用された入力の各反復において、メモリユニットは、その反復の入力に基づき、かつ(前の反復の入力に基づき得る)現在の隠れ状態に基づいて、新しい隠れ状態を計算するために利用され得る。いくつかの実装形態では、様々な長さのオーディオセグメントのいずれかに関する話者ダイアリゼーション結果を生成するために、モデルが使用され得る。一例として、音声通信セッションのオーディオストリームは、1つまたは複数のデータフレームに分割され得る。各データフレームは、25ミリ秒または他の持続時間部分などの、オーディオ信号の一部であり得る。N個の不変の話者ラベルの各々の対応する確率を各々が含む一連の出力を生成するために、フレーム特徴(またはフレーム自体)が、訓練された話者ダイアリゼーションモデルへの入力として順番に適用され得る。例えば、オーディオフレーム1のフレーム特徴が、N個の確率を生成するために入力として最初に適用され得、N個の確率の各々は、N個の話者ラベルのうちの1つに対応し、オーディオデータフレーム2のフレーム特徴が、N個の確率を生成するために入力として次に適用され得、N個の確率の各々は、N個の話者ラベルのうちの1つに対応する、などである。オーディオデータフレーム2に対して生成されたN個の確率は、オーディオデータフレーム2に固有であるが、それらは、モデルがRNNモデルである可能性があるので、オーディオデータフレーム1の処理に依存することが留意されるべきである。
【００６２】
追加的または代替的に、N個の確率は、セッションが保留にされたかどうか、セッションが依然として保留中であるかどうか、および/または潜在的な保留の終了の合図が検出されたかどうかを示すことができる。多くの実装形態では、(特定の被呼番号に関する典型的な保留長および/または音声通信セッションのオーディオストリーム内に示される推定された残りの保留時間の、保留中クライアントが有する知識を通じて)推定された残りの保留時間が音声通信セッションに対して決定され得る。推定された残りの保留時間は、多くの実装形態による機械学習モデルに追加で入力され得、残りの推定された保留時間が短いほど、機械学習モデルが、保留が終了したことを出力する可能性が高くなり得る。
【００６３】
他の実装形態では、保留中クライアントは、(1つまたは複数の機械学習モデルの使用の有無にかかわらず)応答要請信号を送信するために使用するしきい値を増加および/または減少させるために、潜在的な残り保留時間の知識を使用することができる。例えば、音声通信セッションが20分の残りの保留を有することが予想される場合、保留中クライアントは、応答要請信号を送信するためのより高いしきい値を有することができる。同様に、数分(例えば、3分)しかないことが予想される音声通信セッションは、応答要請信号を送信するためのより低いしきい値を有することができる。
【００６４】
音声通信セッションの保留の潜在的な終了の検出は、追加のユーザが音声通信セッションに参加し、保留が終了したかどうかを判断するために、保留中クライアント202に、音声通信セッションのオーディオストリームを介して応答要請信号を送信させることができる。例えば、保留中クライアント202は、「そこにいますか(Are you there)」などの応答要請信号204を送信することができる。追加的または代替的に、応答要請信号は、「誰かそこにいますか(Is anyone there)」、「こんにちは、そこにいますか(Hello, are you there)」、「私はまだ保留中ですか(Am I still on hold)」などの、応答を促す様々な質問のいずれかであり得る。
【００６５】
多くの実装形態では、応答要請信号は、音声通信セッションの保留を終了した追加の生きている人間のユーザに、予測可能な応答を促すことができる。例えば、「そこにいますか(Are you there)」という応答要請信号204への応答は、「はい(yes)」および/または肯定的な応答(例えば、「イーエイ(Yeah)」、「うん(Yup)」、ならびに肯定的な応答を含むことができるフレーズ)を示す同様の単語もしくはフレーズを含むことができる。音声通信セッションのオーディオストリームへの入力として応答要請信号を送信することは、計算的にほとんどコストがかからない可能性がある。追加的または代替的に、同じ質問を繰り返し尋ねることによって(音声通信セッションが保留中の間に再生され得る)録音を混乱させる尤度は、低いので、応答要請クエリを送信するためのしきい値は、低い可能性がある。言い換えれば、多くの実装形態による保留中クライアントは、応答要請信号を頻繁に送信することによる不利な点が(あるとしても)ほとんどないので、応答要請信号を頻繁に送信する。さらに、保留中クライアントが、応答要請信号が送信されるべきときに応答要請信号を送信するのを失敗した場合、音声通信セッションは、潜在的に終了される可能性があり、ユーザが再び電話番号を用いて保留中プロセスを開始する必要がある可能性がある。
【００６６】
多くの実装形態では、応答要請信号204は、保留が終了していないときに、音声通信セッションのオーディオストリームを介して送信され得る。応答要請信号が送信され、音声通信セッションの保留が終了していない場合、応答208は、音声通信セッション206のオーディオストリームにおいて保留中クライアント202によって検出されない。
【００６７】
多くの実装形態では、音声通信セッションが保留中の間、録音された音声が再発生する可能性がある。いくつかのそのような実装形態では、録音された音声は、応答要請信号に応答せず、保留中クライアントは、将来その音声に応答要請信号を送信しないことを学習することができる。例えば、保留中、電話番号は、発呼された番号に関する情報(例えば、ウェブサイト、営業時間など)を含む録音を再生する可能性がある。番号に関する情報を含むこの録音は、音声通信セッションが保留中の間、数回ループされる可能性がある。保留中クライアントが、この音声が応答要請信号に応答しないと判断すると、保留中クライアントは、その特定の音声に追加の応答要請信号を送信しないことを学習することができる。多くの実装形態では、保留中クライアントは、音声のピッチ、音声自体の識別情報、および/または音声が話している特定の一連の単語を含む特定の音声によって生成された様々な信号(例えば、音声フィンガプリンティング)のうちの1つまたは複数を使用して音声を無視することを学習することができる。
【００６８】
図3は、音声通信セッション306と対話する保留中クライアント302を含む画像300を示す。多くの実装形態では、保留中クライアント302は、音声通信セッションのオーディオストリームへの入力として「誰かそこにいますか?(Is anyone there?)」などの応答要請信号304を送信することができる。保留中クライアントによって提供されたテキストの応答要請信号は、SSTモジュール(図1に示す音声キャプチャ/TTS/STTモジュール106など)を使用して音声に変換され得る。例えば、保留中クライアントは、応答要請信号として「誰かそこにいますか?(Is anyone there?)」というテキストフレーズを提供することができる。STTモジュールは、このフレーズを、音声通信セッションのオーディオ信号への入力として送信され得る発声言語に変換することができる。応答要請信号304をいつ送信するかを判断することは、図2に関して上記で説明した。画像300は、応答要請信号への「はい、私はここにいます(Yes, I am here)」という応答308を受信し、音声通信セッションがもはや保留中ではないと判断することができる保留中クライアントをさらに示す。音声通信セッションがもはや保留中ではないと判断する際に、保留中クライアントは、検出された入力をオーディオストリームに変換し、STTモジュール(図1に示す音声キャプチャ/TTS/STTモジュール106)を使用して入力をテキストに変換することができる。さらに、自然言語プロセッサ(自然言語プロセッサ108など)は、テキスト応答の意味を提供するために、応答要請信号へのテキスト応答を分析することができる。
【００６９】
図2に関して上記で説明したように、多くの実装形態では、「誰かそこにいますか?(Is anyone there?)」という質問304は、一般に、「はい、私はここにいます(Yes, I am here)」などの、第2のユーザからの肯定的な応答を引き出す。他の実装形態では、応答要請信号は、一般に否定的な応答を引き出すように表現され得る。例えば、「私はまだ保留中ですか?(Am I still on hold?)」という質問は、「いいえ、あなたは保留中ではありません(No, you are not on hold)」などの、第2のユーザからの否定的な応答を引き出すことができる。いくつかの実装形態では、保留中クライアントは、セッションがもはや保留中ではないと判断するときに部分的に使用される特定の応答要請信号への典型的な応答を利用することができる。多くの実装形態では、保留中クライアント302が、セッションがもはや保留中ではないと判断すると、音声通信セッションを配置したユーザは、通知され得る。
【００７０】
いくつかの実装形態では、ユーザは、セッションがもはや保留中ではないことを通知され得る。例えば、携帯電話は、音声通信セッションの保留が完了すると、新しい着信セッションをシミュレートするために鳴るおよび/または振動することができる。追加的または代替的に、ユーザの近くにあるネットワーク化されたデバイスは、音声通信セッションの保留が終了した通知として使用され得る。例えば、音声通信セッションを配置するユーザは、スマートライトの近くにいる可能性がある。スマートライトは、ユーザに通知するために、点滅、強度における減光、強度における増加、色の変更などを行うことができる。追加的または代替的に、メッセージは、携帯電話、コンピューティングデバイス、テレビなどを含む、ユーザが対話している画面にプッシュされ得る。例えば、音声通信セッションを開始するために使用されたクライアントデバイスと同じデバイストポグラフィにおけるスマートテレビを見ているユーザは、セッションの保留が終了したときにテレビ上で通知を受信することができる。様々な実装形態では、ユーザは、保留中設定として、通知される方法を選択することができる。追加的または代替的に、ユーザは、保留中プロセスが開始したときに、通知される方法を選択することができる。
【００７１】
図4は、保留中クライアント402と音声通信セッション406とを含む画像400を示す。多くの実装形態では、保留中クライアントは、音声通信セッションの保留が終了したという非常に強い指示を受信することができる。いくつかのそのような実装形態では、保留中クライアントは、応答要請信号を送信せず、代わりに、セッションがもはや保留中でないことをユーザに通知することを続行することができる。オーディオストリームにおいて検出された人間の音声は、STTモジュール(図1に示す音声キャプチャ/TTS/STTモジュール106)を使用してテキスト出力に変換され得、テキスト出力は、テキストの意味を保留中クライアントに提供するために、自然言語プロセッサ(図1に示す自然言語プロセッサ108など)に提供され得る。例えば、「こんにちは、Jane Doeさん。私の名前は、John Smithで、私は、「仮想公益事業会社」を代表しています。今日はどんなお手伝いをいたしましょうか?(Hello Ms.Jane Doe. My name is John Smith and I represent ‘Hypothetical Utility Company'. How may I help you today?)」というメッセージ404は、音声通信セッションがもはや保留中ではないことの強い指示を含むことができる。例えば、ユーザの名前(Jane Doeおよび/またはMs.Doeなど)の検出、追加のユーザ名を示すフレーズ(「私の名前は、John Smithです(My name is John Smith)」)の検出、ならびに他のフレーズ(「今日はどんなお手伝いをいたしましょうか?(How may I help you today?)」など)の検出は、すべて個別におよび/または組み合わせて、応答要請信号を送信することなく、保留中クライアントに音声通信セッションの保留が終了したと判断させることができる。多くの実装形態では、保留中クライアントが、音声通信セッションがもはや保留中ではないと判断したときに、ユーザは、前に説明したように通知され得る。
【００７２】
図5は、本明細書で開示した多くの実装形態による例示的なプロセス500を示すフローチャートである。便宜上、図5のフローチャートの動作について、動作を実行するシステムを参照して説明する。このシステムは、クライアントデバイス102の1つまたは複数の構成要素などの、様々なシステムの様々な構成要素を含み得る。さらに、プロセス500の動作は、特定の順序で示されているが、これは、限定することを意味していない。1つまたは複数の動作は、並べ替えられ得、省略され得、または追加され得る。
【００７３】
ブロック502において、クライアントデバイスは、音声通信セッションが保留中であるとオプションで判断することができる。図1に示す保留検出モジュール112に関して上記で説明したように、クライアントデバイスは、既知の保留音楽を検出すること、任意の音楽を検出すること、人間の音声から音楽への変化を検出すること、セッションが保留にされたことのユーザからの直接入力を検出すること、発呼された番号が一般にユーザを保留にする既知の番号であると判断したことを含む様々な方法において、ならびに離散フーリエ変換を含む様々な信号処理技法のいずれか、ならびにクライアントデバイスにおける保留中クライアントに関連付けられた1つまたは複数の機械学習モデルによる決定において、音声通信セッションが保留中であると判断することができる。
【００７４】
ブロック504において、クライアントデバイスは、図1に関して上記で説明した保留中クライアント104と同様の保留中クライアントを開始する。
【００７５】
ブロック506において、保留中クライアントは、保留中の音声通信セッションのオーディオストリームの着信部分および/または発信部分を監視することができる。多くの実装形態では、保留中クライアントは、図1に関して上記で説明したオーディオストリームモニタ110と同様の方法でオーディオストリームを監視することができる。
【００７６】
ブロック508において、保留中クライアントは、音声通信セッションのオーディオストリームを介して応答要請信号をいつ送信するかを判断することができる。保留中クライアントが応答要請信号を送信することを判断することができる様々な方法について、図2に関して上記で説明した。多くの実装形態では、保留中クライアントは、1つまたは複数の応答要請信号を送信し、音声通信セッションがもはや保留中ではなくなるまで、および/または保留中クライアントが保留中プロセスを終了するようにユーザからの指示(例えば、ユーザが、保留を待つことに飽きてしまい、保留中プロセスを終了し、後で再度、電話番号に電話をかけたい)を受信するまで、応答要請信号を送信し続けることができる。他の実装形態では、保留中クライアントは、応答要請信号を送信することができない。例えば、(図4を参照して上記で説明したように)セッションがもはや保留中ではないことを示す強い指標が検出され得、保留中クライアントは、応答要請信号を送信することなく、音声通信セッションがもはや保留中ではないと判断することができる。
【００７７】
ブロック510において、保留中クライアントは、音声通信セッションがもはや保留中ではないと判断することができる。様々な実装形態では、この判断は、応答要請信号に対する受信された応答に基づいて行われ得る。他の実装形態では、この判断は、応答要請信号を送信することなく、音声通信セッションがもはや保留中ではないことを示すのに十分に強い、オーディオストリームを介して監視される情報の強度を使用して行われ得る。追加的または代替的に、保留中クライアントは、1つまたは複数の応答要請信号(応答されていない)を送信し、次いで、追加の応答要請信号が送信されないような、音声通信セッションがもはや保留中ではないことの強い指標を受信することができる。
【００７８】
ブロック512において、保留中クライアントは、音声通信セッションがもはや保留中ではないことをユーザに通知する。保留中クライアントが音声通信セッションの保留の終了をユーザに通知することができる様々な方法について、図1に関して上記で説明した。追加的または代替的に、保留中クライアントは、ユーザの代わりに音声通信セッションを処理するために、クライアントデバイスに関連付けられた別のクライアントに音声通信セッションを渡すことができる。例えば、保留中クライアントが、音声通信セッションがもはや保留中ではないと判断すると、保留中クライアントは、ユーザの代わりに音声通信セッション上の追加の人と対話することができる第2のクライアントに音声通信セッションを渡すことができる。
【００７９】
図6は、例示的なコンピュータシステム610のブロック図である。コンピュータシステム610は、典型的には、バスサブシステム612を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、例えば、メモリ625とファイル記憶サブシステム626とを含む記憶サブシステム624と、ユーザインターフェース出力デバイス620と、ユーザインターフェース入力デバイス622と、ネットワークインターフェースサブシステム616とを含み得る。入力デバイスおよび出力デバイスは、コンピュータシステム610とのユーザ対話を可能にする。ネットワークインターフェースサブシステム616は、外部ネットワークへのインターフェースを提供し、他のコンピュータシステム内の対応するインターフェースデバイスに結合される。
【００８０】
ユーザインターフェース入力デバイス622は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピュータシステム610または通信ネットワークに情報を入力するすべての可能なタイプのデバイスおよび方法を含むことを意図している。
【００８１】
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックス機、またはオーディオ出力デバイスなどの非視覚的表示を含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するためのいくつかの他のメカニズムを含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスを介するなどして、非視覚的表示を提供し得る。一般に、「出力デバイス」という用語の使用は、コンピュータシステム610からユーザまたは別のマシンもしくはコンピュータシステムに情報を出力するためのすべての可能なタイプのデバイスおよび方法を含むことを意図している。
【００８２】
記憶サブシステム624は、本明細書で説明したモジュールのうちのいくつかまたのすべての機能を提供するプログラミング構造およびデータ構造を記憶する。例えば、記憶サブシステム624は、図1に示すクライアントデバイス、図5に示すプロセス500、本明細書で論じた任意の動作、および/または本明細書で論じた任意の他のデバイスもしくはアプリケーションの選択された態様を実行するためのロジックを含み得る。
【００８３】
これらのソフトウェアモジュールは、一般に、プロセッサ614によって単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム624において使用されるメモリ625は、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)630と、固定命令が記憶されている読み取り専用メモリ(ROM)632とを含むいくつかのメモリを含むことができる。ファイル記憶サブシステム626は、プログラムファイルおよびデータファイルのための永続的なストレージを提供することができ、ハードディスクドライブ、関連するリムーバブルメディアを伴うフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、またはリムーバブルメディアカートリッジを含み得る。特定の実装形態の機能を実装するモジュールは、ファイル記憶サブシステム626によって、記憶サブシステム624内に、またはプロセッサ614によってアクセス可能な他のマシン内に記憶され得る。
【００８４】
バスサブシステム612は、コンピュータシステム610の様々な構成要素およびサブシステムを意図されたように互いに通信させるためのメカニズムを提供する。バスサブシステム612は、単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は、複数のバスを使用し得る。
【００８５】
コンピュータシステム610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む様々なタイプのものであり得る。コンピュータおよびネットワークの絶えず変化する性質のために、図6に示すコンピュータシステム610の説明は、いくつかの実装形態を説明する目的のための特定の例としてのみ意図されている。図6に示すコンピュータシステムよりも多いまたは少ない構成要素を有するコンピュータシステム610の多くの他の構成が可能である。
【００８６】
本明細書で説明したシステムがユーザ(または、本明細書ではしばしば「参加者」と呼ばれる)に関する個人情報を収集するか、または個人情報を利用する可能性がある状況では、ユーザは、プログラムまたは機能がユーザ情報(例えば、ユーザのソーシャルネットワーク、社会的行為もしくは活動、職業、ユーザの好み、またはユーザの現在の地理的位置に関する情報)を収集するかどうかを制御する機会、またはユーザにより関連性がある可能性があるコンテンツサーバからのコンテンツを受信するかどうかおよび/もしくはどのように受信するかを制御する機会を提供され得る。また、特定のデータは、個人を特定し得る情報が除去されるように、それが記憶または使用される前に1つまたは複数の方法で処理され得る。例えば、ユーザの識別情報は、個人を特定し得る情報がユーザに関して決定され得ないように処理され得、またはユーザの地理的位置は、ユーザの特定の地理的位置が特定され得ないように、地理的位置情報が取得される場所(都市、郵便番号、または州レベルなど)で一般化され得る。したがって、ユーザは、情報がユーザに関してどのように収集および/または使用されるかについて制御し得る。
【００８７】
いくつかの実装形態が本明細書で説明および例示されているが、機能を実行するため、ならびに/または本明細書で説明した結果および/もしくは利点のうちの1つもしくは複数を取得するための様々な他の手段および/または構造が利用され得、そのような変形例および/または修正例の各々は、本明細書で説明した実装形態の範囲内であると見なされる。より一般的には、本明細書で説明したすべてのパラメータ、寸法、材料、および構成は、例示であることを意味し、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の用途に依存する。当業者は、日常的な実験のみを使用して、本明細書で説明した特定の実装形態に対する多くの均等物を認識するか、または確認することができるであろう。したがって、前述の実装形態は、単なる例として提示されており、添付した特許請求の範囲およびその均等物の範囲内で、実装形態は、具体的に説明および特許請求されている以外の方法で実施され得ることが理解されるべきである。本開示の実装形態は、本明細書で説明した個々の特徴、システム、物品、材料、キット、および/または方法の各々に向けられている。加えて、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の範囲内に含まれる。
【符号の説明】
【００８８】
100  環境
102  クライアントデバイス
104  保留中クライアント
106  音声キャプチャ/テキスト音声化(「TTS」)/音声テキスト化(「STT」)モジュール、音声キャプチャ/TTS/STTモジュール
108  自然言語プロセッサ
110  オーディオストリームモニタ
112  保留検出モジュール
200  画像
202  保留中クライアント
204  応答要請信号
206  音声通信セッション
208  応答
300  画像
302  保留中クライアント
304  応答要請信号、質問
306  音声通信セッション
308  応答
400  画像
402  保留中クライアント
404  メッセージ
406  音声通信セッション
610  コンピュータシステム
612  バスサブシステム
614  プロセッサ
616  ネットワークインターフェースサブシステム
620  ユーザインターフェース出力デバイス
622  ユーザインターフェース入力デバイス
624  記憶サブシステム
625  メモリ
626  ファイル記憶サブシステム
630  メインランダムアクセスメモリ(RAM)
632  読み取り専用メモリ(ROM)
【図１】
2021530130.tif 000003
【図２】
2021530130.tif 000004
【図３】
2021530130.tif 000005
【図４】
2021530130.tif 000006
【図５】
2021530130.tif 000007
【図６】
2021530130.tif 000008
【国際調査報告】
2021530130.tif 000009
2021530130.tif 000010