JP2021176015A - 局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング - Google Patents

局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング Download PDF

Info

Publication number
JP2021176015A
JP2021176015A JP2021118613A JP2021118613A JP2021176015A JP 2021176015 A JP2021176015 A JP 2021176015A JP 2021118613 A JP2021118613 A JP 2021118613A JP 2021118613 A JP2021118613 A JP 2021118613A JP 2021176015 A JP2021176015 A JP 2021176015A
Authority
JP
Japan
Prior art keywords
text
response
audio data
mapping
client device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021118613A
Other languages
English (en)
Other versions
JP7256237B2 (ja
Inventor
ユリ・ガオ
Yuli Gao
サンスー・スン
Sangsoo Sung
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to JP2021118613A priority Critical patent/JP7256237B2/ja
Publication of JP2021176015A publication Critical patent/JP2021176015A/ja
Application granted granted Critical
Publication of JP7256237B2 publication Critical patent/JP7256237B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】クライアントデバイス上に局所的に記憶されるテキスト応答マップをクライアントデバイスによって生成および/または利用する。【解決手段】テキスト応答マップに基づきユーザの口頭発話に対応する応答を決定する。テキスト応答マップは複数のマッピングを含むことができ、マッピングの各々は、対応するテキストと対応する応答との間の対応する直接的関係を規定する。マッピングの各々は、対応するテキストが、クライアントデバイスによってキャプチャされた以前のオーディオデータから以前に生成されたことに基づいて、ならびに対応する応答が、以前のオーディオデータおよび対応するテキストのうちの少なくとも1つの、リモートシステムへの送信に応答して、リモートシステムから以前に受信されたことに基づいて、テキスト応答マップの中で規定される。【選択図】図4

Description

本発明は、局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリングに関する。
コンピュータおよび他の電子デバイスの制御において、音声ベースユーザインターフェースがますます使用されている。音声ベースユーザインターフェースの特に有用な1つの適用例は、モバイルフォン、時計、タブレットコンピュータ、ヘッドマウントデバイス、仮想現実デバイスまたは拡張現実デバイスなどの、ポータブル電子デバイスを伴うものである。別の有用な適用例は、ナビゲーションおよびオーディオ能力を内蔵する自動車システムなどの、車両電子システムを伴うものである。そのような適用例は、概して、より従来式のキーボードもしくはタッチスクリーン入力の効用を限定する非従来式のフォームファクタ、および/またはユーザが運転もしくは歩行しているときなどの他のタスクに集中したままでいることをユーザに奨励することが望ましい状況での使用によって、特徴付けられる。
音声ベースユーザインターフェースは、簡単かつ直接的なコマンドしか理解できない初期の初歩的なインターフェースから、自然言語要求に応答するとともに文脈を理解することおよびユーザとの行ったり来たりする対話または会話を管理することができる、より精巧なインターフェースに進化し続けている。多くの音声ベースユーザインターフェースは、人間の音声のオーディオ記録をテキストに変換する最初のスピーチテキスト変換と、ユーザの要求の意味を決定しようとしてテキストを分析するセマンティック分析の両方を組み込む。ユーザの記録された音声の、決定された意味に基づいて、検索を実行すること、またはさもなければコンピュータもしくは他の電子デバイスを制御することなどの、アクションが起こされてよい。
ユーザは、ユーザが興味を持つどんな情報が提供されるのか、および/またはユーザが興味を持つアクションが実行されることを言葉で示す、口頭発話を介して、クエリおよび/またはコマンドをクライアントデバイスにサブミットし得る。通常、口頭発話は、クライアントデバイスのマイクロフォンによって検出され、オーディオデータとしてキャプチャされる。オーディオデータは、さらなる処理のためにリモートシステムへ送信される。リモートシステムは、オーディオデータを処理して適切な応答を決定し、クライアントデバイスによるレンダリングのためにクライアントデバイスへ応答を送信する。
リモートシステムによるオーディオデータの処理は、スピーチテキスト(STT:speech-to-text)構成要素を使用してオーディオデータに基づくテキストを生成することを含むことができ、ここで、生成されるテキストは、オーディオデータによってキャプチャされた口頭発話を反映する。処理は、テキストの意味または意図を- かつ決定された意味に基づいて、実行されるべきアクションを決定しようとして、自然言語プロセッサ(NLP:natural language processor)および/または他のセマンティックプロセッサを使用して、生成されたテキストを処理することをさらに含むことができる。アクションは、次いで、対応する応答を生成するために実行され得、対応する応答は、オーディオデータがそこから受信されたクライアントデバイスへ送信される。
リモートシステムの構成要素は、オーディオデータを処理するために大幅なコンピューティングリソースをつぎ込むことができ、本来ならクライアントデバイス内で局所的に実施され得るよりも、複雑な音声認識およびセマンティック分析機能が実施されることを可能にする。しかしながら、クライアントサーバ手法は、音声入力を処理するとき、必然的にクライアントがオンラインである(すなわち、リモートシステムと通信している)ことを必要とする。様々な状況では、すべての時間において、かつすべてのロケーションの中で、継続的なオンライン接続性が保証され得るとは限らず、そのため、そのデバイスが「オフライン」であり、したがってオンラインサービスに接続されていないときはいつでも、クライアントデバイスの中でクライアントサーバ音声ベースユーザインターフェースが無効にされることがある。さらに、クライアントサーバ手法は、クライアントからリモートシステムの構成要素への高帯域幅オーディオデータの送信を必要とするので、著しい帯域幅を消費することがある。リモートシステムが、大量のクライアントデバイスからの要求を処理する典型的な状況では、帯域幅の消費は増大する。またさらに、クライアントサーバ手法は、ユーザへの応答のレンダリングの際に著しいレイテンシを呈することがあり、そのことにより、音声ベースユーザクライアント相互作用が引き延ばされることがあり、また引き延ばされた持続時間にわたってクライアントデバイスのリソースが利用されることがある。クライアントサーバ手法のレイテンシは、伝送遅延、ならびに/またはリモートシステムによって実行される、音声テキスト処理、セマンティック処理、および/もしくは応答生成での遅延の結果であり得る。またさらに、クライアントサーバ手法におけるクライアントとサーバとの間でのメッセージの交換は、メッセージの送信および受信のために、相対的にかなりの量の電力消費を必要とすることがある。このことの影響は、しばしば、比較的限定された蓄電容量しか有しないオンデバイスバッテリーによってその使用可能な電力が供給される、クライアントデバイスによって特に感じられることがある。
本明細書で開示する実装形態は、クライアントデバイス上に局所的に記憶されるテキスト応答マップをクライアントデバイスによって生成および/または利用することに関する。テキスト応答マップは複数のマッピングを含むことができ、ここで、マッピングの各々は、対応するテキストと対応する応答との間の対応する直接的関係を規定する。マッピングの各々は、対応するテキストが、クライアントデバイスによってキャプチャされた以前のオーディオデータから以前に生成されたことに基づいて、ならびに対応する応答が、以前のオーディオデータおよび対応するテキストのうちの少なくとも1つの、リモートシステムへの送信に応答して、リモートシステムから以前に受信されたことに基づいて、テキスト応答マップの中で規定される。
クライアントデバイスによって口頭発話が検出されると、クライアントデバイスは、局所的な音声テキスト/スピーチテキスト(STT)モデルを利用して、口頭発話に対応するテキストを生成することができる。クライアントデバイスは、次いで、生成されたテキストがテキスト応答マップの対応するテキストのうちのいずれかに整合するかどうかを決定することができる。そうである場合、また随意に、1つまたは複数の他の条件(たとえば、本明細書で説明する信頼性スコアに基づく条件)が満たされる場合、クライアントデバイスは、テキスト応答マップの対応するマッピングを利用して、対応するマッピングによって規定されるような対応するテキストへの直接的関係を有する応答を選択することができる。クライアントデバイスは、次いで、クライアントデバイスの1つまたは複数の出力デバイス(たとえば、スピーカーおよび/またはディスプレイ)を介して、そのローカルメモリからの応答を直ちにレンダリングすることができる。応答は口頭発話に応答してレンダリングされ、応答をレンダリングすることは、応答のテキスト、応答のグラフィックス、応答のオーディオデータ(または、局所的に記憶されたテキストスピーチ(TTS:text-to-speech)プロセッサを使用して応答から変換されたオーディオデータ)、および/または他のコンテンツをレンダリングすることを含むことができる。応答は、追加または代替として、周辺デバイスを制御するために(たとえば、WiFiおよび/またはBluetooth(登録商標)を介して)1つまたは複数の周辺デバイスへ送信されるコマンドなどの、クライアントデバイスによって送信されるべきコマンドを含むことができる。以下で説明するように、局所的な音声テキスト/スピーチテキスト(STT)によって生成されたテキストが、テキスト応答マップの対応するテキストのうちのいずれかに整合することを決定していると、クライアントデバイスが、検出された口頭発話を示すデータをリモートシステムへ送信する必要なく、応答はクライアントデバイスによって提供され得る。
これらおよび他の方式では、クライアントデバイスは、局所的かつ/または遠隔のリソースに集約的でありレイテンシを誘発する、テキストの意味または意図を決定するためのテキストのセマンティック処理、および決定された意味または意図に基づく応答の生成の実行を必要とすることなく、かつ/またはそれらの実行を待つことなく、応答をレンダリングすることができる。したがって、生成されたテキストがテキスト応答マップの対応するテキストのうちの1つに整合するとき、(テキスト応答マップの対応するマッピングによって規定されるような)テキストへの直接的関係を有する応答が、レイテンシが低減されて、かつ/またはリソース消費が低減されて、レンダリングされ得る。その上、様々な状況では、(口頭発話をキャプチャする)オーディオデータまたはオーディオデータに基づいて生成されたテキストの、リモートシステムへの、帯域幅を消費する送信を伴わずに、応答がレンダリングされ得る。リモートシステムへの/からのメッセージの電力集約的な送信および受信が低減されるので、このことは、クライアントデバイスのバッテリー寿命をさらに改善し得、またはさもなければ、クライアントデバイスにおける他のタスクのために電力リソースを解放し得る。
いくつかの実装形態では、クライアントデバイスが、ユーザの口頭発話のオーディオデータをキャプチャし、かつテキストを生成するためにオーディオデータを処理するステップを含む方法が提供される。そのような実装形態では、STT処理は、クライアントデバイス上で局所的に実行され、オーディオデータがクラウドへサブミットされることを必要としない。次に、応答にマッピングされたテキストを含むテキスト応答マッピングがアクセスされる。マッピングは、オーディオデータが以前にサブミットされたときにリモートシステムから受信された応答にマッピングされた、ユーザの事前の口頭発話のオーディオデータから生成された事前のテキストに基づいて構築される。クライアントデバイスは、次いで、テキスト応答マッピングが、生成されたテキストに対するテキストマッピングを含むかどうかを決定する。テキストに整合するテキストマッピングをテキスト応答マッピングが含むという決定に応答して、そのテキストマッピングに対するマッピング済みの応答が、クライアントデバイスによって選択およびレンダリングされる。
マッピングの中にテキストが含まれない場合、オーディオデータ(および/または、オーディオデータに対応する、クライアントデバイスが生成したテキスト)が、さらなる処理のためにリモートシステムにサブミットされる。口頭発話に対応するアクションを決定するためにSTTおよび/またはNLPがリモートシステムによって実行され、生成されたアクションが、応答を生成するために利用され、応答がクライアントデバイスに提供される。クライアントデバイスは、次いで、応答をレンダリングすることができ、かつ生成されたテキストを応答とともに記憶することができる。ユーザが後で同じ口頭発話をサブミットするとき、クライアントデバイスは、対応するテキストを生成するためにオーディオデータを局所的に処理することができ、マッピングの中にテキストが含まれることをチェックすることができ、NLP処理およびサーバへのサブミッションを必要とすることなく、マッピング済みの応答をレンダリングすることができる。したがって、クライアントデバイス上の局所的なマッピングが計算時間を節約するだけでなく、マッピングがすでにテキストを含む場合、方法はオフラインで実行され得る。
いくつかの事例では、応答は動的であり、同じ口頭発話に対して異なる応答をもたらすことがある。たとえば、「What time is it right now」という口頭発話は、それがサブミットされるたびに変化する動的クエリである。動的クエリの他の例は、ユーザのロケーションに関係する天候クエリ、および時間に敏感な他のクエリを含む。一方、いくつかのクエリは静的であり得、あるにしても、所与の発話に対してまれにしか異なる応答をもたらさない。たとえば、「What is the capital of the United States」は、発話がいつサブミットされるのかにかかわらず、常に同じ応答をもたらす。いくつかの事例では、応答は、所与の時間期間にわたって静的であってよく、次いで、満了してよい。たとえば、「What is the weather today」は、おそらく、日中の持続時間の間、静的なままであり、その後、真夜中などの所与の時間において満了する。
いくつかの実装形態では、クライアントデバイス上に局所的に記憶されたテキストに対するマッピング済みの応答を最新に保つことを支援するために、クライアントデバイスは、マッピングの中でテキストが特定されるときでも、オーディオデータに対応する、クライアントデバイスが生成したテキストなどの、口頭発話を示すオーディオデータまたは他のデータをリモートシステムにサブミットしてよい。クライアントデバイスは、マッピング済みの応答を提供することができ、リモートシステムから応答が受信されると、受信された応答はマッピング済みの応答を用いてチェックされ得る。マッピング済みの応答が受信された応答に整合する場合、クライアントデバイスは、応答が静的であることを反映するようにマッピングを更新することができる。たとえば、マッピングの中に記憶されるのと同じ応答が受信されたことを反映するように、各テキストマッピングに関連付けられている信頼性スコアが更新されてよい。異なる応答が受信された場合、信頼性スコアは、記憶された応答および受信された応答が整合しないことを反映するように更新されてよい。たとえば、いくつかの事例では、応答が整合しない場合、以後、失効した応答がユーザに提供されないことを確実にするために、テキストマッピングが除去されてよい。いくつかの事例では、マッピングは、テキストマッピングを除去することなく、失効しているものとしてフラグが付けられてよい。いくつかの事例では、マッピングに関連する信頼性スコアがしきい値を満たす場合のみ、マッピング済みの応答が提供されてよい。たとえば、オーディオデータまたは口頭発話を示す他のデータをリモートシステムに提供する代わりに、マッピング済みの応答に対する信頼性スコアが、マッピング済みの応答が提供されるレベルに到達するよりも前の、(各サーバ応答が同じである)必要な回数がサーバ応答に与えられてよい。随意に、信頼性スコアがしきい値を満たすとき、クライアントデバイスは、オーディオデータまたは口頭発話を示す他のデータをリモートシステムへ自動的に送信しなくてよい。代替として、クライアントデバイスがオーディオデータまたは口頭発話を示す他のデータをリモートシステムへ送信する実装形態では、クライアントデバイスは、リモートシステムからの返答を受信する前に、そのローカルメモリからのマッピング済みの応答を提供してよい。
いくつかの実装形態では、クライアントデバイスの1つまたは複数のプロセッサによって実施される方法が提供され、ユーザの口頭発話をキャプチャするオーディオデータをクライアントデバイスの少なくとも1つのマイクロフォンを介してキャプチャすることを含む。方法は、口頭発話に対応する現在のテキストを生成するためにオーディオデータを処理することをさらに含む。現在のテキストを生成するためにオーディオデータを処理することは、クライアントデバイス上に局所的に記憶された音声テキストモデルを利用する。方法は、クライアントデバイス上に局所的に記憶されたテキスト応答マップにアクセスすることをさらに含む。テキスト応答マップは複数のマッピングを含み、ここで、マッピングの各々は、対応するテキストが、クライアントデバイスによってキャプチャされた以前のオーディオデータから以前に生成されたことに基づいて、ならびに対応する応答が、以前のオーディオデータおよび対応するテキストのうちの少なくとも1つの、リモートシステムへの送信に応答して、リモートシステムから以前に受信されたことに基づいて、対応するテキストと対応する応答との間の対応する直接的関係を規定する。方法は、テキスト応答マップの対応するテキストのうちのいずれかが現在のテキストに整合するかどうかを決定することをさらに含む。方法は、テキスト応答マップの対応するテキストのうちの所与のテキストが現在のテキストに整合するという決定に応答して、テキスト応答マップの対応する応答のうちの所与の応答を選択することと、クライアントデバイスに関連する1つまたは複数のユーザインターフェース出力デバイスを介して所与の応答をレンダリングさせることとをさらに含む。所与の応答を選択することは、テキスト応答マップが、所与のテキストとの直接的関係を有するように所与の応答を規定する、マッピングのうちの1つのマッピングを含むことに基づく。
本技術のこれらおよび他の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。
いくつかの実装形態では、方法は、オーディオデータまたは現在のテキストをリモートシステムへ送信することと、オーディオデータまたは現在のテキストの送信に応答して、口頭発話に応答するサーバ応答をリモートシステムから受信することと、サーバ応答を所与の応答と比較することと、比較に基づいてテキスト応答マップを更新することとをさらに含む。それらの実装形態のいくつかのバージョンでは、サーバ応答を受信することは、所与の応答の少なくとも一部が1つまたは複数のユーザインターフェース出力デバイスを介してレンダリングされた後に行われる。それらの実装形態のいくつかの追加または代替のバージョンでは、サーバ応答を所与の応答と比較することは、サーバ応答が所与の応答とは異なることを示す。それらの追加または代替のバージョンのうちのいくつかでは、テキスト応答マップを更新することは、サーバ応答が所与の応答とは異なることを比較が示すことに基づいて、所与のテキストとの直接的関係を有するようにサーバ応答を規定するために、所与のテキストとの直接的関係を有するように所与の応答を規定するマッピングを更新することを含む。それらの追加または代替のバージョンのうちのいくつかでは、テキスト応答マップを更新することは、サーバ応答が所与の応答とは異なることを比較が示すことに基づいて、所与のテキストとの直接的関係を有するように所与の応答を規定するマッピングを、テキスト応答マップから除去することを含む。それらの追加または代替のバージョンのうちのいくつかでは、テキスト応答マップを更新することは、サーバ応答が所与の応答とは異なることを比較が示すことに基づいて、所与のテキストがいかなる応答にマッピングされることも防止するデータをテキスト応答マップの中に記憶することを含む。
テキスト応答マップを更新することを含むいくつかの実装形態では、テキスト応答マップを更新することは、所与のテキストとの直接的関係を有するように所与の応答を規定するマッピングに関連する信頼性スコアを調整することを含む。それらの実装形態のいくつかのバージョンでは、所与のテキストとの直接的関係を有するように所与の応答を規定するマッピングに関連する信頼性スコアを調整することは、所与の応答がサーバ応答に整合することを比較が示す場合、信頼性をより大きく示すように信頼性スコアを調整することを含む。それらの実装形態のいくつかの追加または代替のバージョンでは、所与の応答を選択することは、マッピングに関連する信頼性スコアがしきい値を満たすことにさらに基づく。
いくつかの実装形態では、方法は、追加の口頭発話をキャプチャする追加のオーディオデータをクライアントデバイスの少なくとも1つのマイクロフォンを介してキャプチャすることと、追加の口頭発話に対応する追加のテキストを生成するために、クライアントデバイス上に局所的に記憶された音声テキストモデルを利用して追加のオーディオデータを処理することと、テキスト応答マップの対応するテキストのうちのいずれかが追加のテキストに整合するかどうかを決定することと、テキスト応答マップの対応するテキストのうちのいずれも追加のテキストに整合しないという決定に応答して、追加のテキストおよび追加のオーディオデータのうちの少なくとも1つをサーバシステムへ送信することと、追加のテキストおよび追加のオーディオデータのうちの少なくとも1つの送信に応答して、追加の応答をサーバシステムから受信することと、クライアントデバイスに関連するユーザインターフェース出力デバイスのうちの1つまたは複数を介して追加の応答をレンダリングさせることとをさらに含む。それらの実装形態のうちのいくつかでは、方法は、サーバ応答が追加のテキストに対する静的応答であるという表示を、追加の応答とともにサーバシステムから受信することと、サーバ応答が追加のテキストに対する静的応答であるという表示の受信に応答して、追加のテキストと追加の応答との間の新たな直接的関係を規定する新たなマッピングをテキスト応答マップに追加することとをさらに含む。
いくつかの実装形態では、方法が実行されるとき、クライアントデバイスにはインターネットへのいかなる接続もない。
いくつかの実装形態では、方法は、所与のテキストとの直接的関係を有するように所与の応答を規定するマッピングに関連する信頼性スコアを決定することをさらに含む。それらの実装形態のうちのいくつかでは、所与の応答をレンダリングさせることは、信頼性スコアがしきい値を満たすことに応答して、オーディオデータまたは現在のテキストをリモートシステムへ送信することなく所与の応答をレンダリングさせることを含む。
いくつかの実装形態では、方法は、所与の応答がレンダリングされる前にオーディオデータまたは現在のテキストをリモートシステムへ送信することと、所与のテキストとの直接的関係を有するように所与の応答を規定するマッピングに関連する信頼性スコアを決定することと、オーディオデータまたは現在のテキストの送信に応答して、口頭発話に応答するサーバ応答をリモートシステムから受信するのを待つべきしきい値時間量を、信頼性スコアに基づいて決定することとをさらに含む。それらの実装形態のうちのいくつかでは、所与の応答をレンダリングさせることは、サーバ応答がしきい値時間量の満了の前に受信されないとき、しきい値時間量の満了において所与の応答をレンダリングさせることを含む。
いくつかの実装形態では、クライアントデバイスの1つまたは複数のプロセッサによって実施される方法が提供され、ユーザの口頭発話をキャプチャするオーディオデータをクライアントデバイスの少なくとも1つのマイクロフォンを介してキャプチャすることと、口頭発話に対応する現在のテキストを生成するためにオーディオデータを処理することとを含む。現在のテキストを生成するためにオーディオデータを処理することは、クライアントデバイス上に局所的に記憶された音声テキストモデルを利用する。方法は、クライアントデバイス上に局所的に記憶されたテキスト応答マップにアクセスすることをさらに含む。テキスト応答マップは複数のマッピングを含み、マッピングの各々は、対応するテキストが、クライアントデバイスによってキャプチャされた以前のオーディオデータから以前に生成されたことに基づいて、ならびに対応する応答が、以前のオーディオデータおよび対応するテキストのうちの少なくとも1つの、リモートシステムへの送信に応答して、リモートシステムから以前に受信されたことに基づいて、対応するテキストと対応する応答との間の対応する直接的関係を規定する。方法は、テキスト応答マップの対応するテキストが現在のテキストに整合しないことをクライアントデバイスによって決定することと、オーディオデータまたは現在のテキストをリモートシステムへ送信することと、オーディオデータまたは現在のテキストをサブミットすることに応答して、リモートシステムから応答を受信することと、所与のテキストマッピングを追加することによってテキスト応答マップを更新することとをさらに含む。所与のテキストマッピングは、現在のテキストと応答との間の直接的関係を規定する。方法は、テキスト応答マップを更新することに続いて第2のオーディオデータをキャプチャすることと、クライアントデバイス上に局所的に記憶された音声テキストモデルを利用して第2のテキストを生成するために第2のオーディオデータを処理することと、現在のテキストが第2のテキストに整合することをテキスト応答マップに基づいて決定することと、現在のテキストが第2のテキストに整合するという決定に応答して、およびテキスト応答マップが、現在のテキストと応答との間の直接的関係を規定する所与のテキストマッピングを含むことに基づいて、クライアントデバイスに関連する1つまたは複数のユーザ出力デバイスを介して応答をレンダリングさせることとをさらに含む。
本技術のこれらおよび他の実装形態は、以下の特徴のうちの1つまたは複数を随意に含むことができる。
いくつかの実装形態では、方法は、応答が静的であるかどうかの表示を応答とともに受信することをさらに含む。それらの実装形態のうちのいくつかでは、所与のテキストマッピングをテキスト応答マップに追加することは、応答が静的であることを表示が示すことに応答して行われる。
いくつかの実装形態では、テキスト応答マップを更新することは、所与のテキストマッピングに関連する信頼性スコアを記憶することをさらに含み、ここで、信頼性スコアは、応答が静的であることの尤度を示す。それらの実装形態のうちのいくつかでは、方法は、第2のオーディオデータをリモートシステムにサブミットすることと、第2のオーディオデータをサブミットすることに応答して、リモートシステムから第2のサーバ応答を受信することと、第2のサーバ応答に基づいて信頼性スコアをさらに更新することとをさらに含む。
いくつかの実装形態では、方法は、満了イベントが発生するまでに限って応答が静的であるという表示を、応答とともに受信することと、所与のテキストマッピングとともに満了イベントの表示を含むようにテキスト応答マップを更新することと、満了イベントが発生するとテキスト応答マップから所与のテキストマッピングを除去することとをさらに含む。
いくつかの実装形態では、テキスト応答マップを更新することは、テキスト応答マップから1つまたは複数のマッピングを除去することを含む。
いくつかの実装形態は、1つまたは複数のプロセッサとコンピュータ実行可能命令を記憶する少なくとも1つのメモリとを含むコンピューティング装置を含み、コンピュータ実行可能命令は、1つまたは複数のプロセッサによって実行されたとき、上記または本明細書における他の場所で説明する方法などの方法を1つまたは複数のプロセッサに実行させる。コンピューティング装置は、たとえば、クライアントデバイスであり得る。1つまたは複数のプロセッサは、たとえば、中央処理ユニット、グラフィックス処理ユニット、および/またはテンソル処理ユニットを含むことができる。いくつかの実装形態は、少なくとも1つのコンピューティング装置の1つまたは複数のプロセッサによって実行されたとき、上記または本明細書における他の場所で説明する方法などの方法を実行させるコンピュータ実行可能命令を含む非一時的コンピュータ可読媒体を含む。
本明細書でより詳細に説明する上記の概念および追加の概念のすべての組合せが、本明細書で開示する主題の一部であるものとして企図されることを諒解されたい。たとえば、本開示の末尾において掲載される、特許請求される主題のすべての組合せは、本明細書で開示する主題の一部であるものとして企図される。
本明細書で説明する技法が実施され得る例示的な環境を示す図である。 本明細書で説明する方法の実装形態を示すフローチャートである。 テキスト応答マップがテキストに対する静的応答を含むことを確認する方法を示すフローチャートである。 本明細書で開示する実装形態による例示的な方法のフローチャートである。 本明細書で開示する実装形態による別の例示的な方法のフローチャートである。 本明細書で説明する技法の1つまたは複数の態様を実行するために随意に利用され得る例示的なコンピューティングデバイスのブロック図である。
以下で説明する実装形態では、音声対応クライアントデバイスのセマンティックプロセッサは、クライアントデバイス上に局所的に記憶されたテキスト応答マップを利用して、デバイスによって受け取られた口頭発話を構文解析する。いくつかの実装形態では、デバイスによって受け取られた、以前の口頭発話、およびクラウド対応デバイスから受信された1つまたは複数の応答に基づいて、テキスト応答マップが生成される。テキスト応答マップが、受け取られた口頭発話に対応するテキストを含まない場合には、デバイスは、口頭発話をキャプチャするオーディオデータ(および/または、クライアントデバイスによって生成された、口頭発話のテキスト表現)を、クラウドベースデバイスに提供することができ、クラウドベースデバイスは、次いで、さらなる分析を実行してよく、応答を決定してよく、デバイスの1つまたは複数のインターフェースによるレンダリングのために応答をクライアントデバイスに提供してよい。応答は、次いで、クライアントデバイス上に局所的に記憶され、かつ同じ口頭発話を受け取る将来の段階において応答を特定するために利用される、テキスト応答マッピングの中にテキストとともに記憶され得る。上記で略述し以下でさらに説明するように、このことは、クライアントデバイスおよび遠隔のクラウド対応デバイスを伴うネットワークの中のハードウェアリソースの、より効率的な使用につながることがある。
選択された実装形態に関するさらなる詳細が以下で説明される。しかしながら、他の実装形態が企図され、そのため本明細書で開示する実装形態が排他的でないことが諒解されよう。
図1を参照すると、本明細書で説明する技法が実施され得る例示的な環境が図示される。例示的な環境は、クライアントデバイス100およびリモートシステム150を含む。クライアントデバイス100は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、モバイルフォンコンピューティングデバイス、ユーザの車両のコンピューティングデバイス(たとえば、車両内通信システム、車両内エンターテインメントシステム、車両内ナビゲーションシステム)、スタンドアロンの対話式スピーカー、スマートテレビジョンなどのスマートアプライアンス、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの時計、コンピューティングデバイスを有するユーザのメガネ、仮想現実または拡張現実コンピューティングデバイス)であってよい。追加および/または代替のクライアントデバイスが提供されてよい。クライアントデバイス100の構成要素およびリモートシステム150の構成要素は、通信ネットワーク101を介して通信することができる。通信ネットワーク101は、たとえば、ワイドエリアネットワーク(WAN)(たとえば、インターネット)を含んでよい。さらに、クライアントデバイス100の構成要素は、通信ネットワーク101を介して1つまたは複数の他の構成要素と通信し得る。たとえば、通信ネットワーク101は、ローカルエリアネットワーク(LAN)および/またはBLUETOOTH(登録商標)を含んでよく、LANおよび/またはBLUETOOTH(登録商標)を介して1つまたは複数の他のデバイスと通信し得る。
クライアントデバイス100は、ユーザの1つまたは複数の口頭発話を示すオーディオデータをキャプチャし得る1つまたは複数のマイクロフォン106を含む。マイクロフォン106は、次いで、さらなる処理のためにクライアントデバイス100および/またはリモートシステム150の1つまたは複数の他の構成要素にオーディオデータを提供し得る。
クライアントデバイス100は、たとえば、スピーチテキスト(STT)モジュール102、マッピングモジュール103、リモート構成要素モジュール104、およびレンダリングモジュール105、ならびに複数のテキストマッピングを記憶するためのテキスト応答マップ107を含む、本明細書で説明する方法を実施するのに適したいくつかのモジュールを含んでよい。同様に、リモートシステム150は、たとえば、リモートSTTモジュール151、自然言語処理(NLP)モジュール152、および1つまたは複数のエージェント190と相互作用するのに適したエージェントエンジン153を含む、いくつかのモジュールを含んでよい。
次に図2を参照するとともに引き続き図1を参照すると、図1に示す様々な構成要素を使用して、本明細書で説明する方法の実装形態を示す、フローチャートが提供される。図示したように、オーディオデータ200がSTTモジュール102に提供され得る。STTモジュール102は、オーディオデータ200を受信し、デジタルオーディオデータを1つまたは複数のテキストワードまたはテキストフレーズ(本明細書ではトークンとも呼ばれる)に変換する。いくつかの実装形態では、STTモジュール102は、キャプチャされた発話のオーディオデータがトークン単位かつリアルタイムまたはほぼリアルタイムでテキストに変換されるようなストリーミングモジュールであり得、その結果、ユーザのスピーチと事実上並行して、したがって、ユーザが完全な口頭要求を発音する前に、STTモジュール102からトークンが出力され得る。STTモジュール102は、言葉の中のワードシーケンスに加えて言葉の中でのオーディオ信号と音声単位との間の関係を一緒にモデル化する、1つまたは複数の局所的に記憶されたオフラインの音響モデルおよび/または言語モデルに依拠し得る。いくつかの実装形態では、単一のモデルが使用されてよいが、他の実装形態では、たとえば、複数の言語、複数のスピーカーなどをサポートするために、複数のモデルがサポートされてよい。
いくつかの事例では、オーディオデータ200および/またはテキスト205は、リモート構成要素モジュール104に提供され得る。リモート構成要素モジュール104は、通信ネットワーク101を介してリモートシステム150と通信し、オーディオデータおよび/またはオーディオデータのテキスト表現をリモートSTTモジュール151および/または自然言語処理(NLP)モジュール152に提供し得る。リモートSTTモジュール151は、ユーザの口頭発話を示すオーディオデータを受信し得るとともにオーディオデータをテキストに変換し得るという点で、STTモジュール102と同様に機能することができる。しかしながら、リモートSTTモジュール151は、クライアントデバイス100のリソースを利用せず、代わりにリモートシステム150のリソースを利用する。したがって、いくつかの事例では、リモートシステム150は、クライアントデバイス100よりも計算能力および/または記憶の制約が小さいので、リモートSTTモジュール151はSTTモジュール102よりもロバストであり得る。
STTモジュール102によってかつ/またはリモートSTTモジュール151によって生成されるテキストは、さらなる処理のためにNLPモジュール152に提供され得る。NLPモジュール152は、自由形式自然言語入力を処理し、自然言語入力に基づいて、リモートシステム150の1つまたは複数の他の構成要素による使用のための注釈付き出力を生成する。たとえば、NLPモジュール152は、クライアントデバイス100を介してユーザによって提供されたオーディオデータの、STTモジュール102および/またはリモートSTTモジュール151による変換である、テキスト入力である自然言語自由形式入力を処理することができる。また、たとえば、NLPモジュール152は、リモート構成要素モジュール104から受信されたオーディオデータ200から出力を直接生成し得る。生成された注釈付き出力は、自然言語入力の1つまたは複数の注釈、および随意に自然言語入力の語句のうちの1つまたは複数(たとえば、すべて)を含んでよい。
いくつかの実装形態では、NLPモジュール152は、自然言語入力の中の様々なタイプの文法的情報を特定し、それに注釈を付けるように構成される。たとえば、NLPモジュール152は、それらの文法的な役割を用いて用語に注釈を付けるように構成された、スピーチタガー(図示せず)の一部を含んでよい。また、たとえば、いくつかの実装形態では、NLPモジュール152は、追加および/または代替として、自然言語入力の中の語句の間のシンタクティック関係を決定するように構成された、依存パーサ(図示せず)を含んでよい。
いくつかの実装形態では、NLPモジュール152は、追加および/または代替として、(たとえば、文芸の登場人物、著名人、公人などを含む)人々、団体、(現実および架空の)ロケーションなどへの参照などの、1つまたは複数のセグメントの中のエンティティ参照に注釈を付けるように構成された、エンティティタガー(図示せず)を含んでよい。NLPモジュール152のエンティティタガーは、(たとえば、人々などのエンティティクラスへのすべての参照の特定を可能にするために)高いレベルの粒度で、かつ/または(たとえば、特定の人物などの特定のエンティティへのすべての参照の特定を可能にするために)もっと低いレベルの粒度で、エンティティへの参照に注釈を付けてよい。エンティティタガーは、特定のエンティティを決定するために自然言語入力の内容に依拠してよく、かつ/または特定のエンティティを決定するために知識グラフもしくは他のエンティティデータベースと随意に通信してよい。特定されたエンティティは、本明細書で説明するように、テキストの中のパターンを特定するために利用され得る。
いくつかの実装形態では、NLPモジュール152は、追加および/または代替として、1つまたは複数の文脈上の手がかりに基づいて同じエンティティへの参照をグループ化すなわち「クラスタ化」するように構成された、同一指示レゾルバ(図示せず)を含んでよい。たとえば、同一指示レゾルバは、語句「there」を自然言語入力「I liked Hypothetical Cafe last time we ate there.」の中の「Hypothetical Cafe」に転換するために利用されてよい。
いくつかの実装形態では、NLPモジュール152の1つまたは複数の構成要素は、NLPモジュール152の1つまたは複数の他の構成要素からの注釈に依拠し得る。たとえば、いくつかの実装形態では、指定されたエンティティタガーは、特定のエンティティに対するすべての言及に注釈を付ける際に、同一指示レゾルバおよび/または依存パーサからの注釈に依拠し得る。また、たとえば、いくつかの実装形態では、同一指示レゾルバは、同じエンティティへの参照をクラスタ化する際に、依存パーサからの注釈に依拠し得る。いくつかの実装形態では、特定の自然言語入力を処理する際に、NLPモジュール152の1つまたは複数の構成要素は、関連する事前入力、および/または特定の自然言語入力の外部の関連する他のデータを使用して、1つまたは複数の注釈を決定してよい。
NLPモジュール152は、次いで、注釈付き出力をエージェントモジュール153に提供してよく、エージェントモジュール153は、1つまたは複数のエージェント190に出力を提供してよく、1つまたは複数のエージェント190は、次いで、ユーザの口頭発話に対する適切な応答を決定してよい。たとえば、エージェントモジュール153は、どのエージェント190が注釈付き出力を利用し意味のある応答を生成する可能性が最も高いのかを、NLPモジュール152の出力の注釈に基づいて決定してよい。NLPモジュール152の注釈付き出力は、次いで、そのエージェントに提供され得、エージェントからの得られた応答は、レンダリングのためにクライアントデバイス100に提供され得る。たとえば、「What is the weather today」という口頭発話が、NLPモジュール152によって注釈が付けられたテキストに変換され得、得られた注釈付き出力は、エージェントモジュール153に提供され得る。エージェントモジュール153は、天候エージェントが、おそらく注釈付き出力への意味のある応答を決定し得ることを、注釈に基づいて決定してよく、天候構成要素に出力を提供してよい。天候エージェントは、次いで、クライアントデバイスに提供すべき応答を決定してよく、応答は、次いで、クライアントデバイス100によってユーザにレンダリングされてよい。たとえば、天候エージェントからエージェントモジュール153によって提供される「75, sunny」という応答に基づいて、レンダリングモジュール105は、応答のオーディオレンダリングおよび/またはビジュアルレンダリング(たとえば、「The weather will be sunny today and 75」というオーディオレンダリング、および/または天候の視覚インターフェースへの出力)を提供し得る。NLPモジュール152は、STTモジュール102によってかつ/またはリモートSTTモジュール151によって生成されたテキストを処理するとき、計算量への要求が相対的に厳しいことがある。クライアントデバイス100は、NLPモジュール152を実装することが計算量的に可能な場合があるが、その全体的な処理能力および電力貯蔵容量が、リモートシステム150において利用可能なそれらよりも限定される可能性があるので、このことは、リモートシステム150におけるNLPモジュールの存在がクライアントデバイス100および全体としてのシステムに有利であることを意味する。これらの要因は、リモートシステム150におけるNLPモジュールの存在が、特にクライアントデバイス100が応答を提供するために自然言語処理を待つ必要がある場合に応答のレイテンシを低く保つこと、およびクライアントデバイスにおけるマッピング済みのローカルストレージから最終的な応答が提供されるかどうかにかかわらず、またはリモートシステム150からの応答を待つことによって、応答の全般的な信頼性を高く保つことを意味する。
1つまたは複数のエージェント190からエージェントモジュール153によって応答が受信されていると、応答はリモート構成要素モジュール104を介してクライアントデバイス100に提供され得る。受信された応答は、レンダリングモジュール105に提供されてよく、レンダリングモジュール105は、次いで、1つまたは複数の構成要素(図示せず)を介してアクションをレンダリングしてよい。たとえば、レンダリングモジュール105は、応答をスピーチに変換し得るとともにクライアントデバイス100の1つまたは複数のスピーカーを介してユーザにオーディオを提供し得る、テキストスピーチ構成要素を含んでよい。また、たとえば、レンダリングモジュール105は、グラフィカル応答を生成してよく、クライアントデバイス100に関連する1つまたは複数の視覚インターフェースを介してグラフィカル応答を提供してよい。また、たとえば、レンダリングモジュール105は、Wi-fi制御式照明などの、ユーザの1つまたは複数の他のデバイスと通信していてよく、レンダリングの(たとえば、照明をオンにする)ために1つまたは複数の他のデバイスに応答を提供してよい。
いくつかの実装形態では、サーバ応答は、テキスト200とともにテキスト応答マップ107の中に記憶され得る。テキスト応答マップ107は、STTモジュール102および/またはリモートSTTモジュール151によってオーディオデータから生成され、かつリモートシステム150から受信された対応する応答とともに記憶された、テキストを含む。たとえば、「Turn on the kitchen light」という口頭発話に対するオーディオデータが、STTモジュール102によって受信されてよく、テキストに変換されてよい。テキストは、リモートシステム150に提供されてよく、リモートシステム150は、コマンドに対する適切なアクションを決定し得る(たとえば、口頭発話の意味を決定し得る)。照明をオンにすることを示す、得られた応答が、レンダリングモジュール105によって受信されてよく、レンダリングモジュール105は、次いで、「kitchen light」がクライアントデバイス100に関連することを特定することができ、照明をオフにすることができる。得られた応答は、次いで、クライアントデバイス100によって後で利用するために、応答(たとえば、特定の照明をオフにする応答)とともにテキスト応答マップ107の中に記憶され得る。
いくつかの実装形態では、テキスト応答マップは、データベースの中の1つもしくは複数のテーブルとして、スタック(たとえば、後入れ先出しデータ構造)として、キュー(たとえば、先入れ先出しデータ構造)として、かつ/または1つもしくは複数の代替のデータ構造として、記憶されてよい。本明細書で説明するとき、テキストは英数字フォーマットをなして記憶され得る。しかしながら、テキストは、代替として、マッピングモジュール103が、クライアントデバイス100によってキャプチャされたオーディオデータをテキスト応答マップの中に記憶されたテキストと比較することを可能にする、音素の1つもしくは複数の行列として、オーディオデータとして、かつ/または任意の他のフォーマットとして、記憶されてよい。テキスト応答モジュールの中に記憶された応答は、テキスト応答、ユーザの1つもしくは複数のインターフェースによって実行されるべきアクション、および/またはユーザにレンダリングするために1つもしくは複数のインターフェースに提供され得る1つもしくは複数の代替のフォーマットとして、記憶されてよい。
テキストおよび応答は、各テキストが特定の応答に関連付けられるような直接的関係を伴って、テキスト応答マップの中に記憶される。たとえば、テキスト「What is the capital of France」は、「Paris」という応答とともに、かつ他の応答を伴わずに、記憶され得る。また、たとえば、テキスト「Turn on the kitchen light」は、デバイスをオンにするためにユーザの照明デバイスに提供され得るコマンドとの直接的関係を伴って記憶され得る。
いくつかの事例では、テキストおよび応答は、すでにテキスト応答マップ107の中に記憶されていることがある。たとえば、ユーザは、すでに発話「Turn off the kitchen light」を話していることがあり、得られた応答が、すでにテキストとともに記憶されていることがある。それらの事例では、マッピングモジュール103は、リモートシステム150から受信された結果が、テキスト応答マップの中に記憶された応答に整合することを確認することができる。マッピングモジュール103は、記憶された応答が、リモートシステム150から受信された応答に整合するかどうかをチェックすることに基づいて、テキスト応答マップ107を更新してよい。
再び図2を参照すると、マッピングモジュール103は、上記で説明したように、生成されたテキスト205が以前に記憶されているかどうかを決定するために、テキスト応答マップ107にアクセスすることができる。決定210において、テキスト205に対するテキストマッピングがテキスト応答マッピング107の中で特定されない場合、テキスト(またはオーディオデータ)がリモートシステム150に提供され、前に説明したように、リモートサーバ150から応答220が受信される。応答220は、次いで、レンダリングモジュール105によってレンダリングされ得、さらにマッピングモジュール103に提供され得、マッピングモジュール103は、次いで、テキスト205および応答220に基づいてテキストマッピングを生成する。テキストマッピングは、次いで、テキスト応答マップ107の中に記憶され得る。
テキスト応答マップ107がテキスト205に対するテキストマッピングを含むことを、決定210においてマッピングモジュール103が決定する場合、マッピングモジュール103は、テキスト応答マップ107にアクセスし、テキスト205に関連付けられた応答215を特定し、ユーザにレンダリングするためにレンダリングモジュール105に応答215を提供する。したがって、ユーザの口頭発話がリモートシステム150によってすでに処理されておりテキスト応答マップ107の中に記憶されている事例では、リモートシステム150は、ユーザにコンテンツをレンダリングするためにアクセスされる必要はない。すべてのアクションがクライアントデバイス100上で行われるので、通信ネットワーク101によってかつ/またはリモートシステム150の構成要素によって持ち込まれるいかなるレイテンシも排除される。さらに、リモートシステム150がクライアントデバイス100によってアクセスされる必要がないという事実に起因して、全体的な電力消費が低減される。さらに、応答を自然言語処理するとともに決定することが排除されるので、ユーザが同じ発話を何度もサブミットするとき、局所的および/または遠隔の計算リソースが節約される。またさらに、リモートシステム150を利用することなく応答がレンダリングされ得るので、クライアントデバイス100にインターネット接続などのリモートシステム150へのいかなる接続がないときでも、応答はレンダリングされ得る。
いくつかの事例では、応答は、ユーザによる反復された要求の間で変化しない静的応答であり得る。たとえば、「Who was the first president of the United States」という口頭発話は、発話が受け取られるたびに同じ応答をもたらす。しかしながら、いくつかの事例では、応答は動的であり得、同じ口頭発話を受け取ると変化することがある。たとえば、「What restaurants are near me」は、ユーザのロケーションとともに変化し、したがって動的応答である。また、たとえば、「What is the weather tomorrow」は、その日全体にわたって天候予測が変化することがあり、さらに「tomorrow」が、限られた時間量に対して(すなわち、発話が「今日」受け取られるときのみ)特定の日を表すという点で、動的である。
いくつかの実装形態では、リモート構成要素モジュール104は、マッピングモジュール103がテキスト応答マップ107の中でテキスト200に対するテキストマッピングを特定するときでも、テキスト205および/またはオーディオデータ200をリモートシステム150に提供する。たとえば、レンダリングモジュール105にテキストマッピングの対応する応答が提供されるか、またはサーバ応答を受信する前にレンダリングモジュール105に応答が提供され得る(かつ応答のレンダリングを開始する)前に、このことが起こり得る。いくつかの実装形態では、マッピングモジュール103は、リモート構成要素エンジン104がテキストおよび/またはオーディオデータを提供した後、しきい値時間量だけ待ってよく、しきい値時間の満了の前に応答がリモートシステム150から受信されない場合のみ、局所的に記憶された応答をレンダリングモジュール105に提供してよい。
図3を参照すると、テキスト応答マップ107がテキストに対する静的応答を含むことを確認する方法を示すフローチャートが提供される。STTモジュール102は、マッピングモジュール103にテキスト205を提供することができ、マッピングモジュール103は、次いで、テキスト200および対応する応答205に対するテキストマッピングを特定することができる。さらに、STTモジュールは、リモート構成要素モジュール104にテキスト205(またはオーディオデータ200)を提供することができ、リモート構成要素モジュール104は、リモートシステム150から応答215を受信する。マッピングモジュール103は、次いで、決定300において、対応する応答215をサーバ応答220と比較することができる。対応する応答215がサーバ応答220に整合する場合、対応する応答は、静的305である可能性がより高く、テキストマッピングはそれに応じて更新されてよい。しかしながら、対応する応答215がサーバ応答220に整合しない場合、対応する応答215は、動的310である可能性があり、テキスト205に対するテキストマッピングはそれに応じて更新され得る。
いくつかの実装形態では、マッピングモジュール103は、テキストマッピングとともに信頼性スコアを記憶してよい。信頼性スコアは、対応する応答が静的であることの尤度を示してよい。テキストに対する応答が後で変化しないことの、より大きい尤度を反映するために、信頼性スコアは、サーバ応答が対応する応答に整合するたびに更新され得る。たとえば、信頼性スコアがテキスト応答マップ107の中に最初に記憶されるとき、「1」という信頼性スコアがテキストマッピングに割り当てられてよい。その後、マッピングモジュール103は、(テキストマッピングのテキストに整合する後続のテキストに基づいて)テキストマッピングを特定し得、テキスト(またはオーディオデータ)がリモートシステム150に提供され得、リモートシステムから受信されたサーバ応答が、対応する応答と比較され得る。2つの応答が整合する場合、テキストマッピングに対する信頼性スコアは、同じ応答が2回特定されたことを反映するために「2」に更新されてよい。ユーザからの後続のサブミッションにおいて再びテキストが処理されるにつれて、信頼性スコアが更新され続けてよい。
いくつかの実装形態では、マッピングモジュール103によって特定される、テキストマッピングの対応する応答は、特定されたテキストマッピングに関連する信頼性スコアがしきい値を満たす場合のみ、レンダリングモジュール105に提供されてよい。これらの状況では、レンダリングモジュール105は、リモートシステム150からのこれ以上の応答を待つことなく応答をレンダリングしてよい。このことはレイテンシを低減する。たとえば、マッピングモジュール103は、対応する応答が3回確認されていることを示す「3」という信頼性スコアを有するテキストマッピングを特定し得る。マッピングモジュールは、信頼性レベルが「2」よりも大きく、かつ対応するテキストを提供し得る場合のみ、対応するテキストを提供してよい。また、たとえば、マッピングモジュール103は、テキストマッピングの関連する信頼性が「1」である場合、対応する応答を提供しなくてよい。代わりに、リモート構成要素モジュールが、オーディオデータ200および/またはテキスト205をリモートシステム150に提供することができ、サーバ応答が、レンダリングモジュール105に(かつ上記で説明したように信頼性スコアを更新するためにマッピングモジュール103に)提供され得る。対応する応答がサーバ応答に整合する場合、信頼性スコアは「2」に更新されてよく、ユーザの後続の発話に基づいてテキストマッピングが特定されると、サーバ応答ではなくマッピングからの対応する応答がレンダリングモジュール105に提供されてよい。
いくつかの実装形態では、(前に説明したように)マッピングモジュール103がテキスト応答マップ107の中でテキストマッピングを特定しないとき、または特定されたテキストマッピングに関連する信頼性スコアがしきい値を満たさないときのみ、リモート構成要素モジュールは、オーディオデータ200および/またはテキスト205をリモートシステム150に提供してよい。たとえば、「3」という信頼性スコアを有するテキストマッピングに対する対応する応答は、信頼性スコアがしきい値を満たす場合、リモートサーバ150とのいかなる通信も用いることなく、レンダリングモジュール105に提供されてよい。しかしながら、「2」という関連する信頼性スコアを有するテキストマッピングに対する対応する応答は、レンダリングモジュール105に提供されてよく、さらにオーディオデータまたはテキストがリモートシステム150に提供され得る。これらの状況では、クライアントデバイス100において局所的に記憶されたマッピングからの応答は、リモートシステム150からの応答がクライアントデバイス100において受信される前にレンダリングされてよい。リモートシステム150からの応答が後で受信されると、そうした応答は、信頼性スコアを繰り返すために、すなわち、たとえば、以下で説明するように、記憶済みのマッピングを除去し、記憶済みのマッピングに、失効したものとしてマークを付け、かつ/または記憶済みの応答が動的であるという事実を反映するようにマッピングを更新するために、使用され得る。このことは、リモートシステム150からの応答が、局所的なマッピングの中の応答に整合するかどうかに依存する。したがって、リモートサーバ150は、特定されたテキストマッピングの信頼性スコアがしきい値を満たさないときのみアクセスされてよい。したがって、クライアントデバイス100上に記憶された応答における信頼性が、テキストマッピングが静的応答を含むことが確実にされるのに十分高くないときのみ、リモートサーバ150のリソースは影響を受ける。
いくつかの事例では、サーバ応答は、マッピングモジュール103によって特定されたテキストマッピングの対応する応答に整合しないことがある。それらの事例では、マッピングモジュール103は、記憶された応答が動的であるということを反映するようにテキストマッピングを更新してよい。たとえば、マッピングモジュール103は、テキストマッピングに関連する信頼性スコアを「-1」に、または応答が失効しておりかつ/もしくは動的であることを示すためのいくつかの他のフラグを更新してよい。同じテキストがSTTモジュール102によって後で生成される場合、マッピングモジュール103は、テキストマッピングを特定することができ、対応する応答がレンダリングされるべきでないことを決定することができ、代わりにさらなる処理のためにオーディオデータおよび/またはテキストをリモートサーバ150に提供するようにリモート構成要素モジュール104に示すことができる。応答が動的であることを反映するように信頼性スコアを設定する(またはフラグを設定する)ことは、同じテキストを受信する後続の段階において新たなマッピングが記憶されないことを確実にする。したがって、マッピングモジュール103は、ユーザにコンテンツをレンダリングするためにまったく利用されないテキストマッピングを継続的に追加して計算リソースを何度も消費しない。しかしながら、いくつかの実装形態では、マッピングモジュール103は、記憶空間を温存するためにテキストマッピングを完全に除去してよい。
いくつかの実装形態では、リモートシステム150は、サーバ応答が動的であるのかそれとも静的であるのかの表示を提供し得る。いくつかの事例では、エージェントモジュール153は、受信されたオーディオデータおよび/またはテキストに基づいてエージェントモジュール153がアクションを提供した先のエージェント190に基づいて、クライアントデバイス100に提供すべき表示を決定し得る。たとえば、エージェントモジュール153は、特定の日にとっての天候を決定するためにアクションが天候エージェントに提供されるべきであることを決定し得る。さらに、エージェントモジュール153は、天候エージェントからの応答が動的であることを決定してよく、クライアントデバイス100に提供されたサーバ応答が動的であるという表示を提供してよい。サーバ応答が動的であるという表示を受信することに基づいて、マッピングモジュール103は、テキスト応答マップ107の中にテキストとともにサーバ応答を記憶しなくてよく、かつ/または応答が動的でありテキストの後続の処理時にテキスト応答マップ107からサービスされるべきでないことを示すテキストマッピングとともに表示を記憶してよい。別の例として、エージェントモジュール153は、知識グラフエージェントが、注釈付きテキストを処理すべきであり、かつ構成要素によって利用される知識グラフが静的であるという表示を提供すべきであること、およびマッピングモジュール103が、同じ口頭発話がキャプチャされるときの将来の利用のためにテキストマッピング(すなわち、サーバ応答を伴うテキスト)を記憶すべきであることを決定し得る。
いくつかの実装形態では、リモートシステム150は、どのくらいの時間にわたってサーバ応答が静的であるのかの表示を提供し得る。たとえば、エージェントモジュール153、および/またはリモートシステム150の1つもしくは複数の他の構成要素は、処理されると、「What is the weather like tomorrow」という発話が、真夜中まで静的応答をもたらすことができ、次いで、真夜中の後は(すなわち、「tomorrow」の定義が、異なる日に変わると)異なることを決定し得る。また、たとえば、「Who do the Cubs play next」という発話には、次のカブス(Cubs)の試合の時間の、かつカブスが彼らの次の試合をした後に応答が変化するという、表示が提供されてよい。また、たとえば、「Find restaurants near me」という発話は、ユーザがロケーションを変更しておらず、かつ/または発話の提供の間にしきい値距離を越えて移動していないときのみ、静的応答をもたらしてよい。マッピングモジュール103は、次いで、対応する応答をレンダリングモジュール105に提供する前に、テキストマッピングとともに記憶された満了イベントが発生しているかどうかをチェックして決定してよい。
いくつかの実装形態では、マッピングモジュール103は、記憶された応答が依然として最新であることを確実にするために、かつ/または記憶空間要件においてテキスト応答マップ107がクライアントデバイス100の能力を越えて大きくなることを防止するために、テキスト応答マップ107からテキストマッピングを定期的に除去してよい。たとえば、マッピングモジュール103は、「先入れ先出し」手法を利用してよく、新たなテキストマッピングが追加されるとき、アクセスされていない、より古いテキストマッピングを除去してよい(たとえば、新たなマッピングが追加され、かつテキスト応答がX個のテキストマッピングを含むとき、最後のX個のアクセス済みのマッピングのみを保持し、最も前にアクセスされたマッピングを除去する)。いくつかの実装形態では、マッピングモジュール103は、イベントが発生すると、満了イベントとともに記憶されたテキストマッピングを除去してよい。たとえば、マッピングモジュール103は、テキスト応答マップ107の中に記憶された満了イベントを定期的にチェックしてよく、すでに発生している満了イベントを有するいかなるテキストマッピングも除去してよい。いくつかの実装形態では、マッピングモジュール103は、動的としてフラグが付けられているいかなるテキストマッピングも定期的に除去してよい。
図4は、本明細書で開示する実装形態による例示的な方法のフローチャートを示す。1つまたは複数のステップが、省略されてよく、異なる順序で実行されてよく、かつ/あるいは様々な実装形態では、1つまたは複数の追加のステップが含められてよい。
ステップ405において、ユーザの口頭発話を示すオーディオデータがキャプチャされる。口頭発話は、1つまたは複数の特性をクライアントデバイス100のマイクロフォン106と共有する、クライアントデバイスの1つまたは複数の構成要素によってキャプチャされ得る。いくつかの実装形態では、ユーザが口頭発話を完了する前に口頭発話の部分がキャプチャされてよく、追加のオーディオデータを依然としてキャプチャしながら、その部分が1つまたは複数の他の構成要素に提供されてよい。たとえば、マイクロフォン106は、オーディオデータの一部分をキャプチャしてよく、口頭発話の追加のオーディオデータをキャプチャし続けながら、オーディオデータを1つまたは複数の構成要素に提供してよい。
ステップ410において、オーディオデータから現在のテキストが生成される。現在のテキストは、1つまたは複数の特性をSTTモジュール102と共有する構成要素によって生成され得る。いくつかの実装形態では、STTモジュール102は、オーディオデータの一部分を受信することがあり、口頭発話に対するオーディオデータの全体が、たとえば、マイクロフォン106から受信される前に、現在のテキストを生成し始めてよい。いくつかの実装形態では、STTモジュール102は、現在のテキストを生成する前に、口頭発話のすべてのオーディオデータが提供されるまで待ってよい。さらに、STTモジュール102は、たとえば、つなぎ語を除去し、動詞を標準的な活用形に活用させ、かつ/またはテキストの無意味な部分を除去するために、テキストのいくつかの正規化を実行し得る。しかしながら、STTモジュール102は、たとえば、サーバ上で実行するSTTモジュールよりも、計算量的に集約的でないことが意図される。したがって、STTモジュール102は、テキストへのオーディオデータの変換を実行し得るにすぎない。
ステップ415において、テキスト応答マップがアクセスされる。テキスト応答マップは、1つまたは複数の特性をテキスト応答マップ107と共有してよく、1つまたは複数の特性をマッピングモジュール103と共有する構成要素によってアクセスされ得る。テキスト応答マップはテキストマッピングを含み、テキストマッピングの各々は、対応する応答への直接的関係を有するテキストを含む。テキスト応答マップの中のテキストマッピングは、ユーザの以前の口頭発話、ならびにユーザが発話するオーディオデータのキャプチャに応答して生成されたオーディオデータおよび/またはテキストをサブミットすることに応答してリモートシステムから受信された応答に基づいて、生成されてよい。
ステップ420において、現在のテキストがテキストマッピングの中に含まれるかどうかを決定するために、テキスト応答マップがチェックされる。たとえば、1つまたは複数の特性をマッピングモジュール103と共有する構成要素は、テキスト応答マップにアクセスしてよく、テキストマッピングのうちのいずれかのテキストが現在のテキストを含むかどうかを決定してよい。いくつかの実装形態では、マッピングモジュール103は、テキストマッピングのテキストと現在のテキストとの間の厳密な整合を必要とすることがある。いくつかの実装形態では、マッピングモジュール103は、現在のテキストへの近い整合を特定し得る。しかしながら、マッピングモジュール103が、ユーザのクライアントデバイス上で実行しており、リソース制約されることがあるので、マッピングモジュール103は、整合が厳密であるかまたはテキストが最小限にしか変わらない場合を除いて、テキスト応答マップの中の所与のテキストを現在のテキストに整合するものと特定しなくてよい。
ステップ425において、現在のテキストに整合するテキストを有するテキストマッピングが、テキスト応答マップの中で特定されていると、そのテキストマッピングに対する対応する応答が選択される。所与のテキスト(または、所与のテキストに関連するオーディオデータ)がリモートシステムにサブミットされること、および対応する応答をリモートサーバから受信することに基づいて、所与のテキストに対する対応する応答が、以前に生成されていることがあり、テキスト応答マップの中に記憶されていることがある。いくつかの実装形態では、信頼性スコアがテキストマッピングに関連付けられてよく、信頼性スコアがしきい値を満たす場合のみ、対応する応答が選択されてよい。信頼性スコアは、たとえば、所与のテキストがリモートシステムにサブミットされており、かつ対応する応答がリモートシステムから受信された回数に基づいて、決定されてよい。したがって、所与のテキスト(または、所与のテキストに対するオーディオデータ)が、得られた同じ応答を伴う処理のためにリモートシステムに提供されるにつれて、対応する応答が有効である信頼性がより大きくなる。
ステップ430において、1つまたは複数の構成要素が、特定されたテキストマッピングからの応答をレンダリングさせる。応答は、1つまたは複数の特性をレンダリングモジュール105と共有する構成要素によってレンダリングされ得る。いくつかの実装形態では、レンダリングモジュール105は、応答をスピーチに変換するとともに1つまたは複数のスピーカーを介してスピーチをユーザに提供するテキストスピーチモジュールなどの、1つまたは複数の他の構成要素と通信していてよい。また、たとえば、レンダリングモジュール105は、視覚インターフェースなどの1つまたは複数の他のインターフェースと通信していてよく、レンダリングは、視覚インターフェースを介してユーザに視覚出力を提供することを含んでよい。また、たとえば、レンダリングモジュール105は、Wi-fi対応である照明器具などの、ユーザの1つまたは複数の他のデバイスと通信していてよく、1つまたは複数のアクション(たとえば、特定の照明をオフにすること)をデバイスに実行させてよい。
図5は、本明細書で開示する実装形態による別の例示的な方法のフローチャートを示す。1つもしくは複数のステップが省略されてよく、異なる順序で実行されてよく、かつ/または様々な実装形態では、1つもしくは複数の追加のステップが含められてよい。
ステップ505において、1つまたは複数の構成要素が、ユーザの口頭発話のオーディオデータをキャプチャする。ステップ505は、1つまたは複数の特性を図4のステップ405と共有し得る。たとえば、オーディオデータは、1つまたは複数の特性をマイクロフォン106と共有する構成要素によってキャプチャされ得る。
ステップ510において、オーディオデータから現在のテキストが生成される。このステップは、1つまたは複数の特性を図4のステップ410と共有し得る。たとえば、1つまたは複数の特性をSTTモジュール102と共有する構成要素が、オーディオデータに基づいてテキストを生成し得る。
ステップ515において、テキスト応答マップがアクセスされる。テキスト応答マップは、1つまたは複数の特性をテキスト応答マップ107と共有してよく、このステップは、1つまたは複数の特性を図4のステップ415と共有し得る。たとえば、マッピングモジュール103は、現在のテキストがテキスト応答マップ107の中のテキストマッピングの中に含まれるかどうかを決定するために、テキスト応答マップ107にアクセスし得る。
ステップ520において、テキスト応答マップが、現在のテキストに整合するテキストを有するテキストマッピングを含まないことを、1つまたは複数の構成要素が決定する。決定は、1つまたは複数の特性をテキスト応答マップ107の中のマッピングモジュール103と共有する構成要素によって実行され得る。たとえば、マッピングモジュール107は、本明細書で説明するように、テキスト応答マップにアクセスしてよく、マップの中の記憶済みのテキストをチェックしてよく、テキストマッピングのうちのいずれも現在のテキストに整合しないこと、整合するテキストマッピングのうちのいずれも有効なデータを示す信頼性スコアを有しないこと、および/または整合する任意のテキストマッピングが満了していることを決定してよい。
ステップ525において、キャプチャされたオーディオデータおよび/または現在のテキストがリモートシステムに提供される。リモートシステムは、1つまたは複数の特性をリモートシステム159と共有し得る。たとえば、リモート構成要素モジュール104は、本明細書で説明するように、さらなる処理のためにオーディオデータおよび/またはテキストをリモートシステム150に提供し得る。リモートシステム150は、次いで、オーディオデータおよび/または現在のテキストに対する応答を決定し得る。
ステップ530において、応答は、次いで、リモートシステムによってクライアントデバイスに提供される。いくつかの実装形態では、応答は、応答を生成するためにリモートシステムによって利用されたエージェントの表示とともに受信され得る。いくつかの実装形態では、応答は、応答が静的であるかどうかの表示とともに受信され得る。代わりに、応答が動的であるという表示とともに応答が受信される場合、応答はレンダリングされ得るが、図5の方法の残りのステップに従ってテキスト応答マップの中に記憶されなくてよい。
ステップ535において、テキスト応答マップが更新される。テキスト応答マップを更新することは、サーバ応答にマッピングされた現在のテキストを含む新たなテキストマッピングを生成することを含んでよい。いくつかの実装形態では、テキスト応答マップを更新することは、新たなテキストマッピング、および/または応答とともに受信された表示(たとえば、応答が静的であるのかそれとも動的であるのかにかかわらず、応答を生成するために利用されたエージェント)とともに、信頼性スコアを記憶することを含んでよい。
ステップ540において、第2のオーディオデータがキャプチャされる。ステップ540は、1つまたは複数の特性をステップ505および/または図4のステップ405と共有し得る。
ステップ545において、第2のオーディオデータから第2のテキストが生成される。ステップ545は、1つまたは複数の特性をステップ510および/または図4のステップ410と共有し得る。
ステップ550において、現在のテキストが第2のテキストに整合することを、1つまたは複数の構成要素が決定する。このことは、1つまたは複数の特性をマッピングモジュール103と共有し、かつ1つまたは複数の特性を図4のステップ420と共有できる、構成要素によって決定され得る。たとえば、ステップ535においてテキスト応答マッピングの中に記憶されたテキストマッピングのテキストが第2のテキストに整合することを、マッピングモジュール103が決定し得る。
ステップ555において、1つまたは複数の構成要素が応答をレンダリングさせる。このステップは、1つまたは複数の特性を図4のステップ430と共有し得る。たとえば、1つまたは複数の特性をレンダリングモジュール105と共有する構成要素が、応答をレンダリングさせることができる。随意に、応答のレンダリングは、第2のオーディオデータまたは第2のオーディオデータを表すデータがリモートシステム150へ送られることなく行われてよい。
図6は、本明細書で説明する技法の1つまたは複数の態様を実行するために随意に利用され得る例示的なコンピューティングデバイス610のブロック図である。たとえば、クライアントデバイス100は、例示的なコンピューティングデバイス610の1つまたは複数の構成要素を含むことができ、かつ/あるいは1つまたは複数のリモートシステム150は、例示的なコンピューティングデバイス610の1つまたは複数の構成要素を含むことができる。
コンピューティングデバイス610は、通常、バスサブシステム612を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえば、メモリサブシステム625およびファイル記憶サブシステム626を含む、記憶サブシステム624、ユーザインターフェース出力デバイス620、ユーザインターフェース入力デバイス622、ならびにネットワークインターフェースサブシステム616を含んでよい。入力および出力デバイスは、コンピューティングデバイス610とのユーザ対話を可能にする。ネットワークインターフェースサブシステム616は、外部ネットワークへのインターフェースを提供し、他のコンピューティングデバイスの中の対応するインターフェースデバイスに結合される。
ユーザインターフェース入力デバイス622は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイの中に組み込まれたタッチスクリーン、音声認識システム、マイクロフォン、および/または他のタイプの入力デバイスなどのオーディオ入力デバイスを含んでよい。概して、「入力デバイス」という用語の使用は、コンピューティングデバイス610の中または通信ネットワーク上に情報を入力するための、すべての可能なタイプのデバイスおよび方法を含むことが意図される。
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックス機械、またはオーディオ出力デバイスなどの非視覚ディスプレイを含んでよい。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または視認可能な画像を作成するためのいくつかの他のメカニズムを含んでよい。ディスプレイサブシステムはまた、オーディオ出力デバイスなどを介して非視覚的な表示を提供し得る。概して、「出力デバイス」という用語の使用は、コンピューティングデバイス610からユーザに、または別の機械もしくはコンピューティングデバイスに、情報を出力ための、すべての可能なタイプのデバイスおよび方法を含むことが意図される。
記憶サブシステム624は、本明細書で説明するモジュールのうちの一部または全部の機能を提供するプログラミングおよびデータ構成物を記憶する。たとえば、記憶サブシステム624は、図2〜図5の方法の選択された態様を実行するための、かつ/または図1〜図3に示す様々な構成要素を実装するための、論理を含んでよい。
これらのソフトウェアモジュールは、概して、プロセッサ614によって単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム624の中で使用されるメモリ625は、プログラム実行中の命令およびデータの記憶用のメインランダムアクセスメモリ(RAM)630、ならびに確定した命令がその中に記憶される読取り専用メモリ(ROM)632を含む、いくつかのメモリを含むことができる。ファイル記憶サブシステム626は、プログラムおよびデータファイルのための持続的な記憶を提供することができ、ハードディスクドライブ、関連するリムーバブル媒体と一緒のフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、またはリムーバブル媒体カートリッジを含んでよい。いくつかの実装形態の機能を実施するモジュールは、ファイル記憶サブシステム626によって記憶サブシステム624の中に、またはプロセッサ614によってアクセス可能な他の機械の中に、記憶され得る。
バスサブシステム612は、コンピューティングデバイス610の様々な構成要素およびサブシステムに、意図するように互いに通信させるための、メカニズムを提供する。バスサブシステム612は単一のバスとして概略的に図示されるが、バスサブシステムの代替実装形態は複数のバスを使用してよい。
コンピューティングデバイス610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む、様々なタイプのものであり得る。コンピュータおよびネットワークの絶え間なく変化する性質に起因して、図6に示すコンピューティングデバイス610の説明は、いくつかの実装形態を示すための具体例として意図されるにすぎない。図6に示すコンピューティングデバイスよりも多数または少数の構成要素を有する、コンピューティングデバイス610の多くの他の構成が可能である。
本明細書で説明するいくつかの実装形態が、ユーザについての個人情報(たとえば、他の電子通信から抽出されるユーザデータ、ユーザのソーシャルネットワークについての情報、ユーザのロケーション、ユーザの時間、ユーザの生体情報、ならびにユーザの活動および人口統計学的情報、ユーザ間の関係など)を収集または使用し得る状況では、情報が収集されるかどうか、個人情報が記憶されるかどうか、個人情報が使用されるかどうか、およびユーザについて情報がどのように収集され、記憶され、かつ使用されるのかを制御するための1つまたは複数の機会が、ユーザに与えられる。すなわち、本明細書で説明するシステムおよび方法は、そのようにするために明示的な委任を関連するユーザから受け取ったときにしか、ユーザ個人情報を収集、記憶、および/または使用しない。
たとえば、ユーザには、プログラムまたは機能が、その特定のユーザ、またはプログラムもしくは機能に関連する他のユーザについてのユーザ情報を収集するかどうかの制御が与えられる。個人情報が収集されることになる各ユーザには、情報が収集されるかどうかに関して、かつ情報のどの部分が収集されることになるのかに関して、許可または委任を与えるために、そのユーザに関連する情報収集の制御を可能にするための1つまたは複数のオプションが提示される。たとえば、ユーザには、通信ネットワークを介してそのような1つまたは複数の制御オプションが提供され得る。加えて、個人が特定できる情報が除去されるように、いくつかのデータは記憶または使用される前に1つまたは複数の方法で処置されてよい。一例として、個人が特定できる情報が決定され得ないように、ユーザの識別情報は処置されてよい。別の例として、ユーザの特定のロケーションが決定され得ないように、ユーザの地理的ロケーションは、より大きい領域に一般化されてよい。
100 クライアントデバイス
101 通信ネットワーク
102 スピーチテキスト(STT)モジュール
103 マッピングモジュール
104 リモート構成要素モジュール
105 レンダリングモジュール
106 マイクロフォン
107 テキスト応答マップ
150 リモートシステム
151 リモートSTTモジュール
152 自然言語処理(NLP)モジュール
153 エージェントエンジン
190 エージェント
200 オーディオデータ
205 テキスト
215 応答
220 応答
220 サーバ応答
305 静的応答
310 動的応答
610 コンピューティングデバイス
612 バスサブシステム
614 プロセッサ
616 ネットワークインターフェースサブシステム
620 ユーザインターフェース出力デバイス
622 ユーザインターフェース入力デバイス
624 記憶サブシステム
625 メモリサブシステム
626 ファイル記憶サブシステム
630 ランダムアクセスメモリ(RAM)
632 読取り専用メモリ(ROM)

Claims (13)

  1. クライアントデバイスの1つまたは複数のプロセッサによって実行される方法であって、
    前記クライアントデバイスの少なくとも1つのマイクロフォンにより、ユーザの口頭発話をキャプチャするオーディオデータをキャプチャするステップと、
    前記オーディオデータを処理して、前記口頭発話に対応する現在のテキストを生成するステップであって、前記オーディオデータの処理において、前記クライアントデバイス上に局所的に記憶された音声テキストモデルが利用される、ステップと、
    前記クライアントデバイス上に局所的に記憶されたテキスト応答マップにアクセスするステップであって、前記テキスト応答マップが複数のマッピングを含み、前記マッピングの各々が、前記クライアントデバイスによりキャプチャされた以前のオーディオデータから以前に生成された対応するテキストと、前記以前のオーディオデータおよび前記対応するテキストのうちの少なくとも1つをリモートシステムに送信することに応答して、前記リモートシステムから以前に受信された対応する応答に基づいて、前記対応するテキストと前記対応する応答との間の対応する直接的関係を規定する、ステップと、
    前記クライアントデバイスによって、前記テキスト応答マップの前記対応するテキストが前記現在のテキストに整合しないことを決定するステップと、
    前記オーディオデータまたは前記現在のテキストをリモートシステムに送信するステップと、
    前記オーディオデータまたは前記現在のテキストをサブミットすることに応答して、前記リモートシステムから応答を受信するステップと、
    所与のテキストマッピングを追加することによって前記テキスト応答マップを更新するステップであって、前記所与のテキストマッピングが、前記現在のテキストと前記応答との間の直接的関係を規定する、ステップと、
    前記テキスト応答マップの更新に続き、第2のオーディオデータをキャプチャするステップと、
    前記第2のオーディオデータを処理して、前記クライアントデバイス上に局所的に記憶された前記音声テキストモデルを利用して第2のテキストを生成するステップと、
    前記テキスト応答マップに基づき、前記現在のテキストが前記第2のテキストに整合すると決定するステップと、
    前記現在のテキストが前記第2のテキストに整合するとの決定に応答して、かつ前記現在のテキストと前記応答との間の前記直接的関係を規定する前記所与のテキストマッピングを含む前記テキスト応答マップに基づき、前記クライアントデバイスに関連する1つまたは複数のユーザ出力デバイスにより応答をレンダリングさせるステップ
    を含む、方法。
  2. 前記応答が静的であるかどうかの表示を応答とともに受信するステップをさらに含み、
    前記所与のテキストマッピングを前記テキスト応答マップに追加することが、前記応答が静的であることを示す前記表示に応答して行われる、請求項1に記載の方法。
  3. 前記テキスト応答マップを更新するステップが、前記所与のテキストマッピングに関連する信頼性スコアを記憶するステップをさらに含み、
    前記信頼性スコアが、前記応答が静的であることの尤度を示す、請求項1または請求項2に記載の方法。
  4. 前記第2のオーディオデータを前記リモートシステムにサブミットするステップと、
    前記第2のオーディオデータをサブミットすることに応答して、前記リモートシステムから第2のサーバ応答を受信するステップと、
    前記第2のサーバ応答に基づいて前記信頼性スコアを更新するステップと
    をさらに含む、請求項3に記載の方法。
  5. 満了イベントが発生するまでに限って前記応答が静的であるという表示を、前記応答とともに受信するステップと、
    前記所与のテキストマッピングとともに前記満了イベントの表示を含むように前記テキスト応答マップを更新するステップと、
    前記満了イベントが発生したときに、前記テキスト応答マップから前記所与のテキストマッピングを除去するステップと
    をさらに含む、請求項1から4のうちのいずれか一項に記載の方法。
  6. 前記テキスト応答マップを更新するステップが、前記テキスト応答マップから1つまたは複数のマッピングを除去するステップを含む、請求項1から5のうちのいずれか一項に記載の方法。
  7. 前記口頭発話がクエリまたはコマンドを含み、前記応答が前記クエリまたはコマンドに対する応答を含む、請求項1から6のうちのいずれか一項に記載の方法。
  8. 前記応答が前記クエリまたはコマンドで興味が示された情報を含む、請求項7に記載の方法。
  9. 前記クライアントデバイス上に局所的に記憶された前記テキスト応答マップの中の前記マッピングの各々が、クエリまたはコマンドを含む対応するテキストと前記クエリまたはコマンドに対する対応する応答との間のマッピングを含む、請求項1から8のうちのいずれか一項に記載の方法。
  10. 前記クライアントデバイス上に局所的に記憶された前記テキスト応答マップの中の前記対応する応答が、前記対応するテキストで興味が示された情報を含む、請求項1から9のうちのいずれか一項に記載の方法。
  11. 1つまたは複数のプロセッサとコンピュータ実行可能命令を記憶する少なくとも1つのメモリとを備えるコンピューティング装置であって、前記コンピュータ実行可能命令は、前記1つまたは複数のプロセッサによって実行されたときに、請求項1から10のうちのいずれか一項に記載の方法を前記1つまたは複数のプロセッサに実行させる、コンピューティング装置。
  12. 前記コンピューティング装置が前記クライアントデバイスである、請求項11に記載のコンピューティング装置。
  13. 少なくとも1つのコンピューティング装置の1つまたは複数のプロセッサによって実行されたときに、請求項1から10のうちのいずれか一項に記載の方法を実行するコンピュータ実行可能命令を含む、コンピュータプログラム。
JP2021118613A 2018-06-27 2021-07-19 局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング Active JP7256237B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021118613A JP7256237B2 (ja) 2018-06-27 2021-07-19 局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/US2018/039850 WO2020005241A1 (en) 2018-06-27 2018-06-27 Rendering responses to a spoken utterance of a user utilizing a local text-response map
JP2020569950A JP6918255B1 (ja) 2018-06-27 2018-06-27 局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング
JP2021118613A JP7256237B2 (ja) 2018-06-27 2021-07-19 局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020569950A Division JP6918255B1 (ja) 2018-06-27 2018-06-27 局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング

Publications (2)

Publication Number Publication Date
JP2021176015A true JP2021176015A (ja) 2021-11-04
JP7256237B2 JP7256237B2 (ja) 2023-04-11

Family

ID=62986212

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020569950A Active JP6918255B1 (ja) 2018-06-27 2018-06-27 局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング
JP2021118613A Active JP7256237B2 (ja) 2018-06-27 2021-07-19 局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020569950A Active JP6918255B1 (ja) 2018-06-27 2018-06-27 局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング

Country Status (6)

Country Link
US (2) US10891958B2 (ja)
EP (2) EP3613037B1 (ja)
JP (2) JP6918255B1 (ja)
KR (2) KR102611386B1 (ja)
CN (1) CN112334976A (ja)
WO (1) WO2020005241A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11295720B2 (en) * 2019-05-28 2022-04-05 Mitel Networks, Inc. Electronic collaboration and communication method and system to facilitate communication with hearing or speech impaired participants
US11749265B2 (en) * 2019-10-04 2023-09-05 Disney Enterprises, Inc. Techniques for incremental computer-based natural language understanding
US11984124B2 (en) * 2020-11-13 2024-05-14 Apple Inc. Speculative task flow execution
US11861320B1 (en) 2023-02-27 2024-01-02 Casetext, Inc. Text reduction and analysis interface to a text generation modeling system
US11860914B1 (en) 2023-02-27 2024-01-02 Casetext, Inc. Natural language database generation and query system
US11995411B1 (en) 2023-02-28 2024-05-28 Casetext, Inc. Large language model artificial intelligence text evaluation system
US11861321B1 (en) 2023-06-29 2024-01-02 Casetext, Inc. Systems and methods for structure discovery and structure-based analysis in natural language processing models
US11972223B1 (en) 2023-06-30 2024-04-30 Casetext, Inc. Query evaluation in natural language processing systems
KR102662401B1 (ko) * 2023-09-26 2024-05-03 메디컬아이피 주식회사 영상분할방법 및 그 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007527640A (ja) * 2003-07-02 2007-09-27 アプテラ・インコーポレイテツド Vxmlコンプライアントボイスアプリケーションと対話する発呼者の行為特徴を識別するための行為適応エンジン
JP2013205524A (ja) * 2012-03-27 2013-10-07 Yahoo Japan Corp 応答生成装置、応答生成システム、応答生成方法および応答生成プログラム
JP2014071449A (ja) * 2012-09-28 2014-04-21 Samsung Electronics Co Ltd 電子装置、サーバー及びその制御方法
JP2015106203A (ja) * 2013-11-28 2015-06-08 Necパーソナルコンピュータ株式会社 情報処理装置、情報処理方法、及びプログラム
JP2017072725A (ja) * 2015-10-07 2017-04-13 Necソリューションイノベータ株式会社 生成装置、生成方法、生成プログラム、および認識システム

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240094B2 (en) * 1997-07-03 2007-07-03 Centra Software Inc. Method and system for synchronizing and serving multimedia in a distributed network
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US7050977B1 (en) * 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
KR20060070605A (ko) * 2004-12-21 2006-06-26 한국전자통신연구원 영역별 언어모델과 대화모델을 이용한 지능형 로봇 음성인식 서비스 장치 및 방법
US11287847B2 (en) * 2006-02-15 2022-03-29 Virtual Video Reality by Ritchey, LLC (VVRR, LLC) Human-like emulation enterprise system and method
US20080115141A1 (en) * 2006-11-15 2008-05-15 Bharat Welingkar Dynamic resource management
US8756694B2 (en) * 2007-03-30 2014-06-17 Microsoft Corporation Prevention of exploitation of update rollback
US7933777B2 (en) * 2008-08-29 2011-04-26 Multimodal Technologies, Inc. Hybrid speech recognition
AU2009335623B2 (en) * 2009-01-08 2012-05-10 Servicenow, Inc. Chatbots
US10032455B2 (en) * 2011-01-07 2018-07-24 Nuance Communications, Inc. Configurable speech recognition system using a pronunciation alignment between multiple recognizers
US20120310642A1 (en) * 2011-06-03 2012-12-06 Apple Inc. Automatically creating a mapping between text data and audio data
KR20130086971A (ko) * 2012-01-26 2013-08-05 진삼순 음성인식 질의응답 시스템 및 그것의 운용방법
CN102629246B (zh) * 2012-02-10 2017-06-27 百纳(武汉)信息技术有限公司 识别浏览器语音命令的服务器及浏览器语音命令识别方法
CN103295575B (zh) * 2012-02-27 2019-01-25 北京三星通信技术研究有限公司 一种语音识别方法和客户端
JP5421420B2 (ja) * 2012-03-29 2014-02-19 株式会社Nttドコモ 通信サーバおよび通信方法
US9679568B1 (en) * 2012-06-01 2017-06-13 Google Inc. Training a dialog system using user feedback
CN104769668B (zh) * 2012-10-04 2018-10-30 纽昂斯通讯公司 改进的用于asr的混合控制器
US9734151B2 (en) * 2012-10-31 2017-08-15 Tivo Solutions Inc. Method and system for voice based media search
US9064001B2 (en) * 2013-03-15 2015-06-23 Nuance Communications, Inc. Method and apparatus for a frequently-asked questions portal workflow
CN103247291B (zh) * 2013-05-07 2016-01-13 华为终端有限公司 一种语音识别设备的更新方法、装置及系统
US20170235825A1 (en) * 2013-06-26 2017-08-17 Google Inc. Identification of location-based ambient acoustic characteristics
JP2015015675A (ja) * 2013-07-08 2015-01-22 日本電気通信システム株式会社 リモートロックシステム、移動通信端末及びリモートロック方法
US9444916B2 (en) * 2013-08-26 2016-09-13 Seven Networks, Llc Enhanced caching of domain name system (DNS) and reverse DNS queries for traffic management for signaling optimization in a mobile network
WO2015041892A1 (en) * 2013-09-20 2015-03-26 Rawles Llc Local and remote speech processing
CN103593340B (zh) * 2013-10-28 2017-08-29 余自立 自然表达信息处理方法、处理及回应方法、设备及系统
US9626966B2 (en) * 2013-12-18 2017-04-18 Harman International Industries, Incorporated Voice recognition query response systems and methods for generating query responses using information from a vehicle
US8868409B1 (en) * 2014-01-16 2014-10-21 Google Inc. Evaluating transcriptions with a semantic parser
US20190312973A1 (en) * 2014-02-28 2019-10-10 Ultratec, Inc. Semiautomated relay method and apparatus
CN104978965B (zh) * 2014-04-07 2019-04-26 三星电子株式会社 电子装置及利用电子装置和服务器的语音识别执行方法
US9536443B2 (en) * 2014-04-28 2017-01-03 International Business Machines Corporation Evaluating expert opinions in a question and answer system
US9324324B2 (en) * 2014-05-22 2016-04-26 Nedelco, Inc. Adaptive telephone relay service systems
KR102304052B1 (ko) * 2014-09-05 2021-09-23 엘지전자 주식회사 디스플레이 장치 및 그의 동작 방법
US9508339B2 (en) 2015-01-30 2016-11-29 Microsoft Technology Licensing, Llc Updating language understanding classifier models for a digital personal assistant based on crowd-sourcing
US20160262017A1 (en) * 2015-03-04 2016-09-08 Microsoft Technology Licensing, Llc Personal assistant authentication
US10621218B2 (en) * 2015-03-30 2020-04-14 Avaya Inc. Systems and methods for compiling and dynamically updating a collection of frequently asked questions
US9922138B2 (en) * 2015-05-27 2018-03-20 Google Llc Dynamically updatable offline grammar model for resource-constrained offline device
US10388277B1 (en) * 2015-06-25 2019-08-20 Amazon Technologies, Inc. Allocation of local and remote resources for speech processing
US10325590B2 (en) * 2015-06-26 2019-06-18 Intel Corporation Language model modification for local speech recognition systems using remote sources
US10152534B2 (en) * 2015-07-02 2018-12-11 International Business Machines Corporation Monitoring a corpus for changes to previously provided answers to questions
CN105261366B (zh) * 2015-08-31 2016-11-09 努比亚技术有限公司 语音识别方法、语音引擎及终端
US10169423B2 (en) * 2016-01-06 2019-01-01 International Business Machines Corporation Ranking answers in ground truth of a question-answering system
US10514881B2 (en) * 2016-02-18 2019-12-24 Sony Corporation Information processing device, information processing method, and program
US9836527B2 (en) 2016-02-24 2017-12-05 Google Llc Customized query-action mappings for an offline grammar model
CN108010523B (zh) * 2016-11-02 2023-05-09 松下电器(美国)知识产权公司 信息处理方法以及记录介质
US10796217B2 (en) * 2016-11-30 2020-10-06 Microsoft Technology Licensing, Llc Systems and methods for performing automated interviews
US10382624B2 (en) * 2017-03-01 2019-08-13 Speech-Soft Solutions Inc. Bridge for non-voice communications user interface to voice-enabled interactive voice response system
US10353480B2 (en) * 2017-04-17 2019-07-16 Essential Products, Inc. Connecting assistant device to devices
CN107393541B (zh) * 2017-08-29 2021-05-07 百度在线网络技术(北京)有限公司 信息验证方法和装置
US10673895B2 (en) * 2017-12-01 2020-06-02 KnowBe4, Inc. Systems and methods for AIDA based grouping
US10348761B2 (en) * 2017-12-01 2019-07-09 KnowBe4, Inc. Systems and methods for situational localization of AIDA
CN108010531B (zh) * 2017-12-14 2021-07-27 南京美桥信息科技有限公司 一种可视智能问询方法及系统
CN108170034B (zh) * 2017-12-29 2021-06-08 上海器魂智能科技有限公司 智能设备控制方法、装置、计算机设备和储存介质
US11201849B2 (en) * 2018-01-15 2021-12-14 Lenovo (Singapore) Pte. Ltd. Natural language connectivity
US10679620B2 (en) * 2018-03-06 2020-06-09 GM Global Technology Operations LLC Speech recognition arbitration logic
US10777203B1 (en) * 2018-03-23 2020-09-15 Amazon Technologies, Inc. Speech interface device with caching component
JP2019185393A (ja) * 2018-04-10 2019-10-24 株式会社沖データ 端末装置および画像形成システム
US11068518B2 (en) * 2018-05-17 2021-07-20 International Business Machines Corporation Reducing negative effects of service waiting time in humanmachine interaction to improve the user experience
US10235999B1 (en) * 2018-06-05 2019-03-19 Voicify, LLC Voice application platform
US11437029B2 (en) * 2018-06-05 2022-09-06 Voicify, LLC Voice application platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007527640A (ja) * 2003-07-02 2007-09-27 アプテラ・インコーポレイテツド Vxmlコンプライアントボイスアプリケーションと対話する発呼者の行為特徴を識別するための行為適応エンジン
JP2013205524A (ja) * 2012-03-27 2013-10-07 Yahoo Japan Corp 応答生成装置、応答生成システム、応答生成方法および応答生成プログラム
JP2014071449A (ja) * 2012-09-28 2014-04-21 Samsung Electronics Co Ltd 電子装置、サーバー及びその制御方法
JP2015106203A (ja) * 2013-11-28 2015-06-08 Necパーソナルコンピュータ株式会社 情報処理装置、情報処理方法、及びプログラム
JP2017072725A (ja) * 2015-10-07 2017-04-13 Necソリューションイノベータ株式会社 生成装置、生成方法、生成プログラム、および認識システム

Also Published As

Publication number Publication date
JP2021524065A (ja) 2021-09-09
KR20210013193A (ko) 2021-02-03
EP3613037B1 (en) 2020-10-21
KR102517387B1 (ko) 2023-04-03
EP3800633B1 (en) 2023-10-11
JP7256237B2 (ja) 2023-04-11
CN112334976A (zh) 2021-02-05
EP3800633A1 (en) 2021-04-07
US20200342862A1 (en) 2020-10-29
KR20230047514A (ko) 2023-04-07
WO2020005241A1 (en) 2020-01-02
US10891958B2 (en) 2021-01-12
KR102611386B1 (ko) 2023-12-08
US20210097999A1 (en) 2021-04-01
EP3613037A1 (en) 2020-02-26
JP6918255B1 (ja) 2021-08-11

Similar Documents

Publication Publication Date Title
JP6918255B1 (ja) 局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング
CN111033492B (zh) 为自动化助手提供命令束建议
CN110741363B (zh) 使用机器学习处理自然语言以基于槽描述符确定槽值
US11966764B2 (en) Adapting client application of feature phone based on experiment parameters
US11948576B2 (en) Proactive caching of assistant action content to enable resolution of spoken or typed utterances
US20230169102A1 (en) Determining responsive content for a compound query based on a set of generated sub-queries
US20220284049A1 (en) Natural language understanding clarifications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230330

R150 Certificate of patent or registration of utility model

Ref document number: 7256237

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150