(57)【要約】  自動化アシスタントを呼び出すための「動的」または「コンテキスト固有の」ホットワードの使用を可能にするための技法について、本明細書で説明する。様々な実装形態において、自動化アシスタントは、ユーザのコンピューティングデバイス上で少なくとも部分的に、デフォルトのリスニング状態において実行され得る。デフォルトのリスニング状態にある間、マイクロフォンによってキャプチャされたオーディオデータが、デフォルトのホットワードについて監視され得る。デフォルトのホットワードの検出は、自動化アシスタントを音声認識状態に遷移させる。コンピューティングデバイスと一体のハードウェアセンサによって生成されたセンサ信号が、ユーザの属性を決定するために検出および分析され得る。分析に基づいて、自動化アシスタントは、オーディオデータが拡張ホットワードについて監視され得る拡張リスニング状態に遷移し得る。拡張ホットワードの検出は、デフォルトホットワードの検出を必要とすることなく応答アクションを実行するように自動化アシスタントをトリガする。
2021532394.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実施される方法であって、
デフォルトリスニング状態において自動化アシスタントを実行するステップであって、
前記自動化アシスタントが、ユーザによって操作される1つまたは複数のコンピューティングデバイス上で少なくとも部分的に実行される、ステップと、
前記デフォルトリスニング状態にある間、1つまたは複数のホットワードのデフォルトセットのうちの1つまたは複数について、1つまたは複数のマイクロフォンによってキャプチャされたオーディオデータを監視するステップであって、
前記デフォルトセットの前記ホットワードのうちの1つまたは複数の検出が、前記デフォルトリスニング状態から音声認識状態への前記自動化アシスタントの遷移をトリガする、ステップと、
前記コンピューティングデバイスのうちの1つまたは複数と一体の1つまたは複数のハードウェアセンサによって生成された1つまたは複数のセンサ信号を検出するステップと、
前記ユーザの属性を決定するために前記1つまたは複数のセンサ信号を分析するステップと、
前記分析に基づいて、前記自動化アシスタントを前記デフォルトリスニング状態から拡張リスニング状態に遷移させるステップと、
前記拡張リスニング状態にある間、1つまたは複数のホットワードの拡張セットのうちの1つまたは複数について、前記マイクロフォンのうちの1つまたは複数によってキャプチャされた前記オーディオデータを監視するステップであって、
前記拡張セットの前記ホットワードのうちの1つまたは複数の検出が、前記デフォルトセットの前記ホットワードのうちの1つまたは複数の検出を必要とすることなく応答アクションを実行するように前記自動化アシスタントをトリガし、前記拡張セットの前記ホットワードのうちの1つまたは複数が、前記デフォルトセット内にない、ステップと
を含む、方法。
【請求項２】
前記1つまたは複数のハードウェアセンサが、近接センサを含み、
前記ユーザの前記属性が、
前記ユーザが前記近接センサによって検出されていること、または
前記ユーザが前記コンピューティングデバイスのうちの1つまたは複数の所定の距離内で前記近接センサによって検出されていること
を含む、請求項1に記載の方法。
【請求項３】
前記1つまたは複数のハードウェアセンサが、カメラを含む、請求項1または2に記載の方法。
【請求項４】
前記ユーザの前記属性が、
前記ユーザが前記カメラによって検出されていること、または
前記ユーザが前記コンピューティングデバイスのうちの1つまたは複数の所定の距離内で前記カメラによって検出されていること
を含む、請求項3に記載の方法。
【請求項５】
前記分析が、顔認識処理を含む、請求項4に記載の方法。
【請求項６】
前記ユーザの前記属性が、前記ユーザの識別情報を含む、請求項5に記載の方法。
【請求項７】
前記ユーザの前記属性が、グループにおける前記ユーザのメンバシップを含む、請求項3に記載の方法。
【請求項８】
前記1つまたは複数のハードウェアセンサが、前記マイクロフォンのうちの1つまたは複数を含む、請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記1つまたは複数の属性が、前記マイクロフォンのうちの1つまたは複数によってキャプチャされた前記オーディオデータに基づいて前記ユーザが聴覚的に検出されていることを含む、請求項8に記載の方法。
【請求項１０】
前記分析が、音声認識処理を含む、請求項8に記載の方法。
【請求項１１】
前記ユーザの前記属性が、前記ユーザの識別情報を含む、請求項10に記載の方法。
【請求項１２】
前記ユーザの前記属性が、グループにおける前記ユーザのメンバシップを含む、請求項8に記載の方法。
【請求項１３】
前記応答アクションが、前記自動化アシスタントを前記音声認識状態に遷移させることを含む、請求項1から12のいずれか一項に記載の方法。
【請求項１４】
前記応答アクションが、前記拡張セットの前記ホットワードのうちの1つまたは複数を用いて前記ユーザによって要求されたタスクを前記自動化アシスタントが実行することを含む、請求項1から13のいずれか一項に記載の方法。
【請求項１５】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサに動作可能に結合されたメモリとを備えるシステムであって、前記メモリが命令を記憶し、前記命令が、前記1つまたは複数のプロセッサによる前記命令の実行に応答して、前記1つまたは複数のプロセッサに、
デフォルトリスニング状態において自動化アシスタントを実行する動作であって、
前記自動化アシスタントが、ユーザによって操作される1つまたは複数のコンピューティングデバイス上で少なくとも部分的に実行される、動作と、
前記デフォルトリスニング状態にある間、1つまたは複数のホットワードのデフォルトセットのうちの1つまたは複数について、1つまたは複数のマイクロフォンによってキャプチャされたオーディオデータを監視する動作であって、
前記デフォルトセットの前記ホットワードのうちの1つまたは複数の検出が、前記デフォルトリスニング状態から音声認識状態への前記自動化アシスタントの遷移をトリガする、動作と、
前記コンピューティングデバイスのうちの1つまたは複数と一体の1つまたは複数のハードウェアセンサによって生成された1つまたは複数のセンサ信号を検出する動作と、
前記ユーザの属性を決定するために前記1つまたは複数のセンサ信号を分析する動作と、
前記分析に基づいて、前記自動化アシスタントを前記デフォルトリスニング状態から拡張リスニング状態に遷移させる動作と、
前記拡張リスニング状態にある間、1つまたは複数のホットワードの拡張セットのうちの1つまたは複数について、前記マイクロフォンのうちの1つまたは複数によってキャプチャされた前記オーディオデータを監視する動作であって、
前記拡張セットの前記ホットワードのうちの1つまたは複数の検出が、前記デフォルトセットの前記ホットワードのうちの1つまたは複数の検出を必要とすることなく応答アクションを実行するように前記自動化アシスタントをトリガし、前記拡張セットの前記ホットワードのうちの1つまたは複数が、前記デフォルトセット内にない、動作と
を実行させる、システム。
【請求項１６】
前記1つまたは複数のハードウェアセンサが、近接センサを含み、
前記ユーザの前記属性が、
前記ユーザが前記近接センサによって検出されていること、または
前記ユーザが前記コンピューティングデバイスのうちの1つまたは複数の所定の距離内で前記近接センサによって検出されていること
を含む、請求項15に記載のシステム。
【請求項１７】
前記1つまたは複数のハードウェアセンサが、カメラを含む、請求項15または16に記載のシステム。
【請求項１８】
前記ユーザの前記属性が、
前記ユーザが前記カメラによって検出されていること、または
前記ユーザが前記コンピューティングデバイスのうちの1つまたは複数の所定の距離内で前記カメラによって検出されていること
を含む、請求項17に記載のシステム。
【請求項１９】
命令を記憶した少なくとも1つの非一時的なコンピュータ可読記録媒体であって、前記命令が、1つまたは複数のプロセッサによる前記命令の実行に応答して、前記1つまたは複数のプロセッサに、
デフォルトリスニング状態において自動化アシスタントを実行する動作であって、
前記自動化アシスタントが、ユーザによって操作される1つまたは複数のコンピューティングデバイス上で少なくとも部分的に実行される、動作と、
前記デフォルトリスニング状態にある間、1つまたは複数のホットワードのデフォルトセットのうちの1つまたは複数について、1つまたは複数のマイクロフォンによってキャプチャされたオーディオデータを監視する動作であって、
前記デフォルトセットの前記ホットワードのうちの1つまたは複数の検出が、前記デフォルトリスニング状態から音声認識状態への前記自動化アシスタントの遷移をトリガする、動作と、
前記コンピューティングデバイスのうちの1つまたは複数と一体の1つまたは複数のハードウェアセンサによって生成された1つまたは複数のセンサ信号を検出する動作と、
前記ユーザの属性を決定するために前記1つまたは複数のセンサ信号を分析する動作と、
前記分析に基づいて、前記自動化アシスタントを前記デフォルトリスニング状態から拡張リスニング状態に遷移させる動作と、
前記拡張リスニング状態にある間、1つまたは複数のホットワードの拡張セットのうちの1つまたは複数について、前記マイクロフォンのうちの1つまたは複数によってキャプチャされた前記オーディオデータを監視する動作であって、
前記拡張セットの前記ホットワードのうちの1つまたは複数の検出が、前記デフォルトセットの前記ホットワードのうちの1つまたは複数の検出を必要とすることなく応答アクションを実行するように前記自動化アシスタントをトリガし、前記拡張セットの前記ホットワードのうちの1つまたは複数が、前記デフォルトセット内にない、動作と
を実行させる、少なくとも1つの非一時的なコンピュータ可読記録媒体。
【請求項２０】
前記1つまたは複数のハードウェアセンサが、前記マイクロフォンのうちの1つまたは複数を含む、請求項19に記載の少なくとも1つの非一時的なコンピュータ可読記録媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
人間は、本明細書では「自動化アシスタント」(「チャットボット」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「パーソナルボイスアシスタント」、「会話形エージェント」、「仮想アシスタント」などとも呼ばれる)と呼ばれる対話型ソフトウェアアプリケーションとの人間対コンピュータの対話に関わり得る。例えば、人間(自動化アシスタントと対話するとき、「ユーザ」と呼ばれる場合がある)は、テキストに変換され、次いで処理された自由形式の自然言語入力および/またはタイプされた自由形式の自然言語入力を含み得る自由形式の自然言語入力を使用して、コマンド、クエリ、および/または要求(本明細書では「クエリ」と総称される)を提供し得る。
【０００２】
多くの場合、自動化アシスタントがユーザの要求を解釈して応答することができる前に、ユーザの要求は、例えば、しばしば「ホットワード」または「ウェイクワード」と呼ばれる事前定義された口頭呼び出しフレーズを使用して、最初に「呼び出される」必要がある。したがって、多くの自動化アシスタントは、自動化アシスタントがホットワードの制限された(または有限もしくは「デフォルト」)セットについてマイクロフォンによってサンプリングされたオーディオデータを常に「リッスン」している、本明細書では「制限されたホットワードリスニング状態」または「デフォルトリスニング状態」と呼ばれるものにおいて動作する。ホットワードのデフォルトセット以外のオーディオデータ内にキャプチャされたいかなる発話も、無視される。自動化アシスタントがホットワードのデフォルトセットのうちの1つまたは複数を用いて呼び出されると、自動化アシスタントは、本明細書では「音声認識状態」と呼ばれるものにおいて動作し得、音声認識状態では、呼び出し後の少なくともいくらかの時間間隔の間、自動化アシスタントは、テキスト入力を生成するために、マイクロフォンによってサンプリングされたオーディオデータの音声テキスト化(「STT: speech-to-text」)処理を実行し、テキスト入力は、次に、ユーザの意図を決定するために(そしてその意図を遂行するために)意味論的に処理される。
【０００３】
自動化アシスタントをデフォルトリスニング状態において動作させることは、様々な利点を提供する。「リッスン」されるホットワードの数を制限することは、電力および/またはコンピューティングリソースの節約を可能にする。例えば、オンデバイス機械学習モデルは、1つまた複数のホットワードが検出されたことを示す出力を生成するように訓練され得る。そのようなモデルを実装することは、最小限のコンピューティングリソースおよび/または電力のみを必要とする場合があり、それは、しばしばリソース制約のあるアシスタントデバイスにとって特に有益である。そのような訓練されたモデルをクライアント上にローカルに記憶することは、プライバシに関連する利点も提供する。例えば、大部分のユーザは、自動化アシスタントを動作するコンピューティングデバイスの聞こえる範囲内でユーザが言うことのすべてに対してSTT処理が実行されることを望まない。加えて、オンデバイスモデルは、自動化アシスタントによって処理されることを意図していないユーザの発話を示すデータが、しばしばクラウド上で少なくとも部分的に動作する意味論的プロセッサに提供されることも防ぐ。
【０００４】
これらの利点とともに、自動化アシスタントを制限されたホットワードリスニング状態において動作させることは、様々な課題も提示する。自動化アシスタントの不注意な呼び出しを回避するために、ホットワードは、典型的には、日常的な会話においてあまり発話されない単語またはフレーズ(例えば、「ロングテール」単語またはフレーズ)であるように選択される。しかしながら、なんらかのアクションを実行するために自動化アシスタントを呼び出す前にユーザにロングテールホットワードを発話するように要求することが面倒である可能性がある様々なシナリオが、存在する。いくつかの自動化アシスタントは、ユーザが後続のコマンドを実行する前にホットワードを用いて自動化アシスタントを「再び目覚めさせる」必要がないように、ユーザがコマンドを発話した後に「継続リスニング」のためのオプションを提供し得る。しかしながら、自動化アシスタントを継続リスニングモードに移行させることは、自動化アシスタントがはるかにより多くの発話に対してはるかにより多くのSST処理を実行し、電力および/またはコンピューティングリソースを潜在的に浪費する可能性があることを意味する。加えて、上記のように、大部分のユーザは、自動化アシスタント宛の発話のみがSTT処理されることを好む。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書では、自動化アシスタントのための「動的な」ホットワードの使用を可能にするための技術について説明する。様々な状況下で、本開示の選択された態様で構成された自動化アシスタントは、しばしばホットワードの「拡張」セットと本明細書で呼ばれるものにおいて具体化された特定のコンテキスト固有のホットワードをよりインテリジェントにリッスンすることができる。様々な実装形態において、自動化アシスタントは、自動化アシスタントを呼び出すために使用されるデフォルトホットワードに加えて、またはその代わりに、これらのコンテキスト固有のホットワードをリッスンし得る。言い換えれば、様々な実装形態において、本開示の選択された態様で構成された自動化アシスタントは、特定の状況において、そのホットワード語彙を、少なくとも一時的に拡張または変更し得る。
【０００６】
様々な実装形態において、動的ホットワードは、ユーザがアシスタントデバイスに十分に近接していること、またはユーザがユーザの外観、音声、および/もしくは他の識別特性に基づいて認識されていることなどの、様々な異なる状況下で選択的に有効化され得る。これらの他の識別特性は、例えば、RFIDバッジ、視覚的標識、ユニフォーム、1つのフレア(a piece of flair)、ユーザのサイズ(ユーザが成人であることを示すことができる)、口頭でおよび/または従来のユーザ入力(例えば、マウス、タッチスクリーンなど)を介して通信するユーザの能力に影響を与える可能性がある身体的障害などを含み得る。
【０００７】
例として、いくつかの実装形態において、例えば、自動化アシスタントと関わるために使用可能なコンピューティングデバイスの所定の近接内で、ユーザが近接センサによって検出された場合、1つまたは複数の追加のホットワードが、近接ユーザが自動化アシスタントをより容易に呼び出すことを可能にするためにアクティブ化され得る。いくつかの実装形態において、ユーザがアシスタントデバイスにより近づくほど、より動的なホットワードが、アクティブ化され得る。例えば、アシスタントデバイスの3メートル以内で検出されたユーザは、動的ホットワードの第1のセットをアクティブ化し得る。ユーザがより近くで、例えば、1メートル以内で検出された場合、追加のまたは代替のホットワードが、アクティブ化され得る。
【０００８】
別の例として、いくつかの実装形態において、ユーザが手動で選択または入力したホットワードなどの、ユーザに関連付けられた(例えば、カスタムの)1つまたは複数の動的ホットワードが、ダウンロードおよび/または「アクティブ化」され得る。ユーザは、次いで、自動化アシスタントを呼び出すために一般に人々によって使用可能なホットワードのデフォルトセットのうちの1つまたは複数を発話することなく、自動化アシスタントを呼び出すためにこれらのカスタムホットワードのうちの1つまたは複数を発話し得る。
【０００９】
いくつかの実装形態において、動的ホットワードは、近接性および認識のなんらかの組合せに基づいてアクティブ化され得る。これは、騒がしい環境および/または混雑した環境において特に有益であり得る。例えば、そのような環境内の任意の数の他の人々も、比較的標準化されている可能性があるデフォルトホットワードを使用して自動化アシスタントとの対話をしようとしている可能性がある。他の人による自動化アシスタントの不注意なアクティブ化を回避するために、ユーザがアシスタントデバイスに十分に近づいており(例えば、ユーザのスマートフォンを把持していること、またはユーザのスマートウォッチを着用していること、例えば、スナップまたはファスナが噛み合っていることが検出され、ホットワードの拡張セットのアクティブ化をトリガし得る)、認識されると、自動化アシスタントは、標準またはデフォルトのホットワードをリッスンすることを停止し得、代わりに、特定のユーザに合わせたカスタムホットワードをリッスンし得る。また、代替案では、自動化アシスタントは、デフォルトホットワードをリッスンし続け得るが、カスタムホットワードに関連付けられたしきい値をアクティブ化するかまたは下げながら、それらのデフォルトホットワードに基づく呼び出しに必要な信頼しきい値を上げ得る。
【００１０】
別の例として、いくつかの実装形態において、人々のグループ(例えば、従業員、性別、年齢範囲、視覚的特徴を共有するなど)に、それらの人々のうちの1人または複数が検出および/または認識される動的ホットワードが、関連付けられ得、アクティブ化され得る。例えば、人々のグループは、視覚的特徴を共有し得る。いくつかの実装形態において、これらの視覚的特徴のうちの1つまたは複数がアシスタントデバイスの1つまたは複数のハードウェアセンサによって検出されると、そうでなければ非グループメンバに利用できない場合がある1つまたは複数の動的ホットワードが、アクティブ化され得る。
【００１１】
ホットワードは、様々な方法において自動化アシスタントによって、またはその代わりに検出され得る。いくつかの実装形態において、ニューラルネットワークなどの機械学習モデルが、オーディオデータストリーム内の1つまたは複数のホットワードの順序付けられたまたは順序付けられていないシーケンスを検出するように訓練され得る。いくつかのそのような実装形態において、別個の機械学習モデルが、適用可能なホットワード(または複数のホットワードを含む「ホットフレーズ」)ごとに訓練され得る。
【００１２】
いくつかの実装形態において、これらの動的ホットワードを検出するように訓練された機械学習モデルが、必要に応じてダウンロードされ得る。例えば、特定のユーザが、例えば、ユーザの1つまたは複数の画像に対して実行された顔認識処理、またはユーザの音声から生成されたオーディオデータに対して実行された音声認識処理に基づいて検出された、と想定する。デバイス上でまだ利用できない場合、これらのモデルは、例えば、ユーザのオンラインプロファイルに基づいてクラウドからダウンロードされ得る。
【００１３】
いくつかの実装形態において、ユーザ体験を改善し、待ち時間を短縮するために、コンテキスト固有のホットワードの検出時に自動化アシスタントによって実行されるはずの応答アクションは、ユーザが自動化アシスタントと関わるデバイスにおいて事前にキャッシュされ得る。そうすれば、コンテキスト固有のホットワードが検出されるとすぐに、自動化アシスタントは、即座にアクションを行うことができる。これは、自動化アシスタントがユーザの要求を満たすために1つまたは複数のコンピューティングデバイス(例えば、クラウド)とのラウンドトリップネットワーク通信を最初に行う必要がある場合がある場合と対照的である。
【００１４】
本明細書で説明した技法は、様々な技術的利点を生じさせる。特定の状況下で自動化アシスタントを呼び出すために利用可能な語彙を少なくとも一時的に拡張または変更することは、タイマを停止させること、音楽を一時停止することなどのなんらかのコンテキストに関連するアクションを自動化アシスタントに実行させる前に、最初に自動化アシスタントを呼び出す必要性を低減し得る。いくつかの既存のアシスタントデバイスは、ユーザが、自動化アシスタントを最初に呼び出すことを必要とすることなく、デバイスの表面のアクティブ部分(例えば、静電容量式タッチパッドまたはディスプレイ)上を単純にタップすることを可能にすることによって、メディアの再生を一時停止すること、またはタイマを停止することを容易にする。しかしながら、身体的障害を有するユーザおよび/またはその他の点で忙しい(例えば、料理、運転など)ユーザは、デバイスに容易にタッチすることができない場合がある。したがって、本明細書で説明した技法は、それらのユーザが、最初に自動化アシスタントを呼び出すことなく、自動化アシスタントに、タイマを停止することなどのなんらかの応答アクションをより容易にかつ迅速に実行させることを可能にする。
【００１５】
加えて、本明細書で説明したように、いくつかの実装形態において、自動化アシスタントは、コンテキスト固有のホットワードに応答するコンテンツを積極的にダウンロードし得る。例えば、ユーザが、「今日の天気予報はなんですか?(what's the weather forecast today?)」、「私のスケジュールはなんですか?(what's on my schedule?)」などの特定の要求を繰り返す傾向がある、と想定する。これらの要求に応答する情報は、先制してダウンロードされ、メモリ内にキャッシュされ得、コマンド(またはその一部)は、特定の動的ホットワードをアクティブにするために使用され得る。その結果、1つまたは複数のホットワードが発話された場合、自動化アシスタントは、自動化アシスタントが応答情報を取得するために1つまたは複数のネットワークを介した1つまたは複数のリモートリソースへの接触を最初に実行しなければならない場合よりも迅速に応答情報を提供することができる。これは、アシスタントデバイスが、データネットワークが利用可能なゾーンに出入りする可能性があるビークル内にある場合に有益でもあり得る。例えば、ビークルがデータカバレッジゾーン内にある間に、特定のコンテキスト固有のホットワードに応答するコンテンツを先制してダウンロードしてキャッシュすることによって、そのデータは、次いで、ユーザがデータカバレッジゾーンの外側を移動している間にそのデータを要求した場合に利用可能である。
【００１６】
さらに別の例として、本明細書で説明した技法は、ユーザが、包括的な音声テキスト化(「STT」)処理を必要とすることなく応答アクションをトリガすることを可能にし得る。例えば、特定のコンテキスト呼び出しモデルがアクティブ化され、コンテキスト固有のホットワードを検出すると、ユーザの発話がSTT処理を使用してテキストに変換されることを必要とすることなく、応答アクションが、これらのモデルの出力に基づいてトリガされ得る。これは、クライアントデバイス上のコンピューティングリソースを節約し得、ならびに/またはユーザの発話のSTTおよび/もしくは意味論的処理を実行するためにクラウドインフラストラクチャとのラウンドトリップ通信を回避し得、これは、ネットワークリソースを節約する。また、ラウンドトリップ通信を回避することは、待ち時間を改善し、クラウドインフラストラクチャに少なくとも一部のデータを送信することを回避し得、これは、ユーザのプライバシの観点から有利および/または望ましい場合がある。
【００１７】
いくつかの実装形態において、1つまたは複数のプロセッサによって実行される方法が、提供され、方法は、デフォルトリスニング状態において自動化アシスタントを実行するステップであって、自動化アシスタントが、ユーザによって操作される1つまたは複数のコンピューティングデバイス上で少なくとも部分的に実行される、ステップと、デフォルトリスニング状態にある間、1つまたは複数のホットワードのデフォルトセットのうちの1つまたは複数について、1つまたは複数のマイクロフォンによってキャプチャされたオーディオデータを監視するステップであって、デフォルトセットのホットワードのうちの1つまたは複数の検出が、デフォルトリスニング状態から音声認識状態への自動化アシスタントの遷移をトリガする、ステップと、コンピューティングデバイスのうちの1つまたは複数と一体の1つまたは複数のハードウェアセンサによって生成された1つまたは複数のセンサ信号を検出するステップと、ユーザの属性を決定するために1つまたは複数のセンサ信号を分析するステップと、分析に基づいて、自動化アシスタントをデフォルトリスニング状態から拡張リスニング状態に遷移させるステップと、拡張リスニング状態にある間、1つまたは複数のホットワードの拡張セットのうちの1つまたは複数について、マイクロフォンのうちの1つまたは複数によってキャプチャされたオーディオデータを監視するステップであって、拡張セットのホットワードのうちの1つまたは複数の検出が、デフォルトセットのホットワードのうちの1つまたは複数の検出を必要とすることなく応答アクションを実行するように自動化アシスタントをトリガし、拡張セットのホットワードのうちの1つまたは複数が、デフォルトセット内にない、ステップとを含む。
【００１８】
本明細書で開示した技法のこれらおよび他の実装形態は、以下の特徴のうちの1つまたは複数をオプションで含み得る。
【００１９】
様々な実装形態において、1つまたは複数のハードウェアセンサは、近接センサを含み得、ユーザの属性は、ユーザが近接センサによって検出されていること、またはユーザがコンピューティングデバイスのうちの1つまたは複数の所定の距離内で近接センサによって検出されていることを含み得る。
【００２０】
様々な実装形態において、1つまたは複数のハードウェアセンサは、カメラを含み得る。様々な実装形態において、ユーザの属性は、ユーザがカメラによって検出されていること、またはユーザがコンピューティングデバイスのうちの1つまたは複数の所定の距離内でカメラによって検出されていることを含み得る。様々な実装形態において、分析は、顔認識処理を含み得る。様々な実装形態において、ユーザの属性は、ユーザの識別情報を含み得る。様々な実装形態において、ユーザの属性は、グループにおけるユーザのメンバシップを含み得る。
【００２１】
様々な実装形態において、1つまたは複数のハードウェアセンサは、マイクロフォンのうちの1つまたは複数を含み得る。様々な実装形態において、1つまたは複数の属性は、マイクロフォンのうちの1つまたは複数によってキャプチャされたオーディオデータに基づいてユーザが聴覚的に検出されていることを含み得る。様々な実装形態において、分析は、音声認識処理を含み得る。様々な実装形態において、ユーザの属性は、ユーザの識別情報を含み得る。様々な実装形態において、ユーザの属性は、グループにおけるユーザのメンバシップを含み得る。
【００２２】
様々な実装形態において、応答アクションは、自動化アシスタントを音声認識状態に遷移させることを含み得る。様々な実装形態において、応答アクションは、拡張セットのホットワードのうちの1つまたは複数を用いてユーザによって要求されたタスクを自動化アシスタントが実行することを含み得る。
【００２３】
加えて、いくつかの実装形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは、関連するメモリ内に記憶された命令を実行するように動作可能であり、命令は、前述の方法のうちのいずれかの実行を引き起こすように構成されている。いくつかの実装形態は、前述の方法のうちのいずれかを実行するために1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する1つまたは複数の非一時コンピュータ可読記憶媒体も含む。
【００２４】
本明細書でより詳細に説明した前述の概念および追加の概念のすべての組合せは、本明細書で開示した主題の一部であると考えられることが理解されるべきである。例えば、本開示の最後に現れる特許請求された主題のすべての組合せは、本明細書で開示した主題の一部であると考えられる。
【図面の簡単な説明】
【００２５】
【図１】本明細書で開示した実装形態が実装され得る例示的な環境のブロック図である。
【図２】様々な実装形態による、本開示の選択された態様で構成された自動化アシスタントによって実装され得る状態マシンの例を示す図である。
【図３Ａ】開示した技法が使用され得る追加の例示的なシナリオを示す図である。
【図３Ｂ】開示した技法が使用され得る追加の例示的なシナリオを示す図である。
【図４Ａ】開示した技法が使用され得る追加の例示的なシナリオを示す図である。
【図４Ｂ】開示した技法が使用され得る追加の例示的なシナリオを示す図である。
【図５】開示した技法が使用され得る追加の例示的なシナリオを示す図である。
【図６】本明細書で開示した実装形態による例示的な方法を示すフローチャートである。
【図７】本明細書で開示した実装形態による例示的な方法を示すフローチャートである。
【図８】コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【００２６】
ここで図1に向かうと、本明細書で開示した技法が実装され得る例示的な環境が、示されている。例示的な環境は、1つまたは複数のクライアントコンピューティングデバイス106を含む。各クライアントデバイス106は、本明細書では自動化アシスタントの「クライアント部分」とも呼ばれる場合がある自動化アシスタントクライアント108のそれぞれのインスタンスを実行し得る。本明細書では自動化アシスタントの「サーバ部分」とも総称される場合がある1つまたは複数のクラウドベースの自動化アシスタント構成要素119は、全体として114において示す1つまたは複数のローカルおよび/またはワイドエリアネットワーク(例えば、インターネット)を介してクライアントデバイス106に通信可能に結合された1つまたは複数のコンピューティングシステム(「クラウド」コンピューティングシステムと総称される)上に実装され得る。
【００２７】
様々な実装形態において、自動化アシスタントクライアント108のインスタンスは、1つまたは複数のクラウドベースの自動化アシスタント構成要素119とのその相互作用によって、ユーザの観点から、ユーザが人間対コンピュータの対話において関わり得る自動化アシスタント120の論理インスタンスのように見えるものを形成し得る。そのような自動化アシスタント120の1つのインスタンスは、図1において破線で示されている。したがって、クライアントデバイス106上で実行される自動化アシスタントクライアント108と関わる各ユーザが、事実上、自動化アシスタント120のユーザ自体の論理インスタンスと関わり得ることが、理解されるべきである。簡潔さおよび単純さのために、特定のユーザに「サービスする」ものとして本明細書で使用される「自動化アシスタント」という用語は、ユーザによって操作されるクライアントデバイス106上で実行される自動化アシスタントクライアント108と、1つまたは複数のクラウドベースの自動化アシスタント構成要素119(複数の自動化アシスタントクライアント108間で共有され得る)との組合せを指す。いくつかの実装形態において、自動化アシスタント120は、ユーザが自動化アシスタント120のその特定のインスタンスによって実際に「サービスされる」かどうかに関係なく、任意のユーザからの要求に応答し得ることも、理解されるべきである。
【００２８】
1つまたは複数のクライアントデバイス106は、例えば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、携帯電話コンピューティングデバイス、ユーザのビークルのコンピューティングデバイス(例えば、ビークル内通信システム、ビークル内エンターテインメントシステム、ビークル内ナビゲーションシステム)、独立型対話式スピーカ(場合によっては、視覚センサを含み得る)、スマートテレビなどのスマート家電(または、自動化アシスタント能力を有するネットワーク化ドングルを備える標準的なテレビ)、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(例えば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザの眼鏡、仮想または拡張現実コンピューティングデバイス)のうちの1つまたは複数を含み得る。追加のおよび/または代替のクライアントコンピューティングデバイスが、提供され得る。独立型対話式スピーカ(または「スマートスピーカ」)などのいくつかのクライアントデバイス106は、ユーザと自動化アシスタント120との間の対話を容易にするように主に設計されたアシスタントデバイスの形態をとり得る。いくつかのそのようなアシスタントデバイスは、タッチスクリーンデバイスであってもなくてもよいディスプレイが取り付けられた独立型対話式スピーカの形態をとり得る。
【００２９】
いくつかの実装形態において、クライアントデバイス106は、1つまたは複数の視野を有する1つまたは複数の視覚センサ107を備え得るが、これは、必須ではない。視覚センサ107は、デジタルカメラ、パッシブ赤外線(「PIR: passive infrared」)センサ、ステレオカメラ、RGBカメラなどの様々な形態をとり得る。1つまたは複数の視覚センサ107は、クライアントデバイス106が展開されている環境の画像フレーム(静止画像またはビデオ)をキャプチャするために、例えば、画像キャプチャモジュール111によって使用され得る。これらの画像フレームは、次いで、画像フレーム内に含まれるユーザ提供の視覚的手がかりを検出するために、例えば、視覚的手がかりモジュール1121によって分析され得る。これらの視覚的手がかりは、限定はしないが、ハンドジェスチャ、特定の基準点への注視、顔の表情、ユーザによる事前定義された動きなどを含み得る。これらの検出された視覚的手がかりは、自動化アシスタント120を呼び出す、および/または自動化アシスタント120に様々なアクションを行わせるなどの、様々な目的のために使用され得る。
【００３０】
追加的または代替的に、いくつかの実装形態において、クライアントデバイス106は、1つまたは複数の近接センサ105を含み得る。近接センサは、パッシブ赤外線(「PIR」)、無線周波数識別(「RFID: radio frequency identification」)、別の近くの電子構成要素から放射された信号(例えば、近くのユーザのクライアントデバイスからのBluetooth信号、デバイスから放射された高周波数または低周波数の音など)を受信する構成要素などの、様々な形態をとり得る。追加的または代替的に、視覚センサ107および/またはマイクロフォン109は、例えば、ユーザが近接していることを視覚的および/または聴覚的に検出することによって、近接センサとしても使用され得る。
【００３１】
本明細書でより詳細に説明したように、自動化アシスタント120は、1つまたは複数のクライアントデバイス106のユーザインターフェース入力および出力デバイスを介して1人または複数のユーザとの人間対コンピュータの対話セッションに関わる。いくつかの実装形態において、自動化アシスタント120は、クライアントデバイス106のうちの1つの1つまたは複数のユーザインターフェース入力デバイスを介してユーザによって提供されたユーザインターフェース入力に応答して、ユーザとの人間対コンピュータの対話セッションに関わり得る。それらの実施形態のうちのいくつかにおいて、ユーザインターフェース入力は、自動化アシスタント120に明示的に向けられる。例えば、ユーザは、自動化アシスタント120にアクティブにリッスンすることまたはタイプされたテキストを監視することを開始させるために、「オーケー、アシスタント(OK, Assistant)」または「ねえ、アシスタント(Hey, Assistant)」などの所定の呼び出しフレーズを口頭で提供(例えば、タイプする、話す)し得る。追加的または代替的に、いくつかの実装形態において、自動化アシスタント120は、単独で、または口頭呼び出しフレーズと組み合わせて、1つまたは複数の検出された視覚的手がかりに基づいて呼び出され得る。
【００３２】
いくつかの実装形態において、自動化アシスタント120は、ユーザインターフェース入力が自動化アシスタント120に明示的に向けられていない場合であっても、ユーザインターフェース入力に応答して、人間対コンピュータの対話セッションに関わり得る。例えば、自動化アシスタント120は、ユーザインターフェース入力の内容を調査し、ユーザインターフェース入力において特定の用語が存在することに応答して、および/または他の手がかりに基づいて、対話セッションに関わり得る。多くの実装形態において、自動化アシスタント120は、ユーザからの発話をテキストに変換するために音声認識を利用し、それに応じて、例えば、検索結果、一般的な情報を提供することによって、および/または1つもしくは複数の応答アクションを行う(例えば、メディアを再生する、ゲームを起動する、食べ物を注文するなど)ことによって、テキストに応答し得る。いくつかの実装形態において、自動化アシスタント120は、追加的または代替的に、発話をテキストに変換することなく発話に応答することができる。例えば、自動化アシスタント120は、音声入力を、埋め込み、エンティティ表現(音声入力内に存在するエンティティを示す)、および/または他の「非テキスト」表現に変換し、そのような非テキスト表現に対して動作することができる。したがって、音声入力から変換されたテキストに基づいて動作する本明細書で説明した実装形態は、追加的および/または代替的に、直接音声入力に対して、および/または音声入力の他の非テキスト表現に対して動作し得る。
【００３３】
クライアントコンピューティングデバイス106、およびクラウドベースの自動化アシスタント構成要素119を動作するコンピューティングデバイスの各々は、データおよびソフトウェアアプリケーションを記憶するための1つまたは複数のメモリと、データにアクセスし、アプリケーションを実行するための1つまたは複数のプロセッサと、ネットワークを介する通信を容易にする他の構成要素とを含み得る。クライアントコンピューティングデバイス106によっておよび/または自動化アシスタント120によって実行される動作は、複数のコンピュータシステムにわたって分散され得る。自動化アシスタント120は、例えば、ネットワークを介して互いに結合された1つまたは複数の場所における1つまたは複数のコンピュータ上で実行されるコンピュータプログラムとして実装され得る。
【００３４】
上記のように、様々な実装形態において、クライアントコンピューティングデバイス106は、自動化アシスタントクライアント108、または自動化アシスタント120の「クライアント部分」を動作させ得る。様々な実装形態において、自動化アシスタントクライアント108は、音声キャプチャモジュール110、前述の画像キャプチャモジュール111、視覚的手がかりモジュール1121、および/または呼び出しモジュール113を含み得る。他の実装形態において、音声キャプチャモジュール110、画像キャプチャモジュール111、視覚的手がかりモジュール112、および/または呼び出しモジュール113の1つまたは複数の態様は、例えば、1つまたは複数のクラウドベースの自動化アシスタント構成要素119によって、自動化アシスタントクライアント108と別に実装され得る。例えば、図1において、画像データ内の視覚的手がかりを検出し得るクラウドベースの視覚的手がかりモジュール1122も、存在する。
【００３５】
様々な実装形態において、ハードウェアおよびソフトウェアの任意の組合せを使用して実装され得る音声キャプチャモジュール110は、ユーザの発話のオーディオ記録をキャプチャするために、マイクロフォン109または他の圧力センサなどのハードウェアとインターフェースし得る。様々なタイプの処理が、様々な目的のためにこのオーディオ記録に対して実行され得る。いくつかの実装形態において、ハードウェアまたはソフトウェアの任意の組合せを使用して実装され得る画像キャプチャモジュール111は、視覚センサ107の視野に対応する1つまたは複数の画像フレーム(例えば、デジタル写真)をキャプチャするためにカメラ107とインターフェースするように構成され得る。
【００３６】
様々な実装形態において、視覚的手がかりモジュール1121(および/またはクラウドベースの視覚的手がかりモジュール1122)は、ハードウェアまたはソフトウェアの任意の組合せを使用して実装され得、1つの画像フレーム内および/または複数の画像フレームにわたってキャプチャされた1つまたは複数の視覚的手がかりを検出するために、画像キャプチャモジュール111によって提供された1つまたは複数の画像フレームを分析するように構成され得る。視覚的手がかりモジュール1121は、視覚的手がかりを検出するために様々な技法を使用し得る。例えば、視覚的手がかりモジュール1122は、画像フレーム内の検出されたユーザ提供の視覚的手がかりを示す出力を生成するように訓練された1つまたは複数の人工知能(または機械学習)モデルを使用し得る。
【００３７】
音声キャプチャモジュール110は、前述のように、例えば、マイクロフォン109を介して、ユーザの音声をキャプチャするように構成され得る。追加的または代替的に、いくつかの実装形態において、音声キャプチャモジュール110は、例えば、音声テキスト化(「STT」)処理技法を使用して、そのキャプチャされたオーディオをテキストおよび/または他の表現もしくは埋め込みに変換するようにさらに構成され得る。追加的または代替的に、音声キャプチャモジュール110は、例えば、1つまたは複数の音声合成器を使用して、テキストをコンピュータ合成音声に変換するように構成され得る。しかしながら、場合によっては、クライアントデバイス106は、コンピューティングリソース(例えば、プロセッササイクル、メモリ、バッテリなど)に関して比較的制約される場合があるので、クライアントデバイス106に対してローカルな音声キャプチャモジュール110は、有限数の異なる発話フレーズ、特に、自動化アシスタント120を呼び出すフレーズを、テキスト(または、より低次元の埋め込みなどの他の形式)に変換するように構成され得る。他の音声入力は、クラウドベースのテキスト音声化(「TTS: text-to-speech」)モジュール116および/またはクラウドベースのSTTモジュール117を含み得るクラウドベースの自動化アシスタント構成要素119に送信され得る。
【００３８】
様々な実装形態において、呼び出しモジュール113は、例えば、音声キャプチャモジュール110および/または視覚的手がかりモジュール1121(いくつかの実装形態において、単一のモジュールにおいて画像キャプチャモジュール111と組み合わされ得る)によって提供された出力に基づいて、自動化アシスタント120を呼び出すかどうかを決定するように構成され得る。例えば、呼び出しモジュール113は、ユーザの発話が自動化アシスタント120との人間対コンピュータの対話セッションを開始すべき呼び出しフレーズとして適格であるかどうかを判断し得る。いくつかの実装形態において、呼び出しモジュール113は、オーディオ記録、またはオーディオ記録から抽出された特徴のベクトル(例えば、埋め込み)などのユーザ発話を示すデータを、単独で、または視覚的手がかりモジュール1121によって検出された1つまたは複数の視覚的手がかりと組み合わせて分析し得る。いくつかの実装形態において、音声発話に応答して自動化アシスタント120を呼び出すかどうかを決定するために呼び出しモジュール113によって使用されるしきい値は、特定の視覚的手がかりも検出されたとき、下げられ得る。その結果、ユーザが適切な呼び出しフレーズである「オーケーアシスタント(OK assistant)」とは異なるがいくらか音声学的に類似している音声発話を提供した場合であっても、それにもかかわらず、その発話は、視覚的手がかり(例えば、話者による手振り、話者が視覚センサ107を直接注視するなど)と併せて検出された場合、適切な呼び出しとして受け入れられ得る。
【００３９】
いくつかの実装形態において、例えば、オンデバイスモデルデータベース114内に記憶された1つまたは複数のオンデバイス呼び出しモデルが、発話および/または視覚的手がかりが呼び出しとして適格であるかどうかを決定するために呼び出しモジュール113によって使用され得る。そのようなオンデバイス呼び出しモデルは、呼び出しフレーズ/ジェスチャのバリエーションを検出するように訓練され得る。例えば、いくつかの実装形態において、オンデバイス呼び出しモデル(例えば、1つまたは複数のニューラルネットワーク)は、各々がユーザからの発話のオーディオ記録(または抽出された特徴ベクトル)、ならびに発話と同時にキャプチャされた1つまたは複数の画像フレームおよび/または検出された視覚的手がかりを示すデータを含む訓練例を使用して訓練され得る。
【００４０】
図1において、オンデバイスモデルデータベース114は、1つまたは複数のオンデバイス呼び出しモデル1141〜114Nを記憶し得る。いくつかの実装形態において、デフォルトのオンデバイス呼び出しモデル1141は、オーディオ記録またはそれを示す他のデータにおいて、前述のもの(例えば、「オーケーアシスタント(OK Assistant)」、「ねえ、アシスタント(Hey, Assistant)」など)などの1つまたは複数のデフォルトの呼び出しフレーズまたはホットワードを検出するように訓練され得る。いくつかのそのような実装形態において、これらのモデルは、自動化アシスタント120を一般的なリスニング状態に遷移させるために常に利用可能および使用可能であり得、一般的なリスニング状態では、音声キャプチャモジュール110によって(少なくとも呼び出しに続くいくらかの期間の間)キャプチャされた任意のオーディオ記録が、以下で説明する自動化アシスタント120の他の構成要素(例えば、クライアントデバイス106上、もしくは1つまたは複数のクラウドベースの自動化アシスタント構成要素119による)を使用して処理され得る。
【００４１】
加えて、いくつかの実装形態において、オンデバイスモデルデータベース114は、少なくとも一時的に、1つまたは複数の追加の「コンテキスト呼び出しモデル」1142〜114Nを記憶し得る。これらのコンテキスト呼び出しモデル1142〜114Nは、特定のコンテキストにおいて、(例えば、アクティブ化された)呼び出しモジュール113によって使用され得、および/または(例えば、アクティブ化された)呼び出しモジュール113に利用可能であり得る。コンテキスト呼び出しモデル1142〜114Nは、例えば、オーディオ記録またはそれを示す他のデータにおいて、1つまたは複数のコンテキスト固有のホットワードを検出するように訓練され得る。いくつかの実装形態において、コンテキスト呼び出しモデル1142〜114Nは、以下でより詳細に説明するように、例えば、クラウドベースの自動化アシスタント構成要素119の一部を形成する動的ホットワードエンジン128から、必要に応じて選択的にダウンロードされ得る。
【００４２】
様々な実装形態において、呼び出しモジュール113がコンテキスト呼び出しモデル1142〜114Nを使用して様々な動的ホットワードを検出すると、自動化アシスタント120を前述の一般的なリスニング状態に遷移させ得る。追加的または代替的に、呼び出しモジュール113は、自動化アシスタント120をコンテキスト固有状態に遷移させ得、コンテキスト固有状態では、1つまたは複数のコンテキスト固有の応答アクションが、自動化アシスタント120を一般的なリスニング状態に遷移させるかどうかにかかわらず実行される。多くの場合、自動化アシスタント120のコンテキスト固有状態への遷移をトリガしたオーディオデータは、クラウドに送信されない場合がある。代わりに、1つまたは複数のコンテキスト固有の応答が、クライアントデバイス106上で完全に実行され得、これは、応答時間と、クラウドに送信される情報の量の両方を低減し得、これは、プライバシの観点から有益であり得る。
【００４３】
クラウドベースのTTSモジュール116は、テキストデータ(例えば、自動化アシスタント120によって定式化された自然言語応答)をコンピュータ生成音声出力に変換するために、クラウドの事実上無制限のリソースを活用するように構成され得る。いくつかの実装形態において、TTSモジュール116は、例えば、1つまたは複数のスピーカを使用して直接出力されるように、コンピュータ生成音声出力をクライアントデバイス106に提供し得る。他の実装形態において、自動化アシスタント120によって生成されたテキストデータ(例えば、自然言語応答)が、音声キャプチャモジュール110に提供され得、音声キャプチャモジュール110は、次いで、テキストデータを、ローカルに出力されるコンピュータ生成音声に変換し得る。
【００４４】
クラウドベースのSTTモジュール117は、音声キャプチャモジュール110によってキャプチャされたオーディオデータをテキストに変換するために、クラウドの事実上無制限のリソースを活用するように構成され得、テキストは、次いで、意図整合器(intent matcher)135に提供され得る。いくつかの実装形態において、クラウドベースのSTTモジュール117は、音声のオーディオ記録を1つまたは複数の音素に変換し、次いで、1つまたは複数の音素をテキストに変換し得る。追加的または代替的に、いくつかの実装形態において、STTモジュール117は、状態復号グラフを使用し得る。いくつかの実装形態において、STTモジュール117は、ユーザの発話の複数の候補テキスト解釈を生成し得る。いくつかの実装形態において、STTモジュール117は、同時に検出された視覚的手がかりが存在するかどうかに応じて、特定の候補テキスト解釈を他のものよりも高く重み付けまたはバイアスし得る。
【００４５】
自動化アシスタント120(および特に、クラウドベースの自動化アシスタント構成要素119)は、意図整合器135と、前述のTTSモジュール116と、前述のSTTモジュール117と、以下でより詳細に説明する他の構成要素とを含み得る。いくつかの実装形態において、モジュールおよび/または自動化アシスタント120のモジュールのうちの1つまたは複数は、省略、結合、および/または自動化アシスタント120とは別の構成要素内に実装され得る。いくつかの実装形態において、プライバシを保護するために、自然言語プロセッサ122、TTSモジュール116、STTモジュール117などの、自動化アシスタント120の構成要素のうちの1つまたは複数は、(例えば、クラウドを除く)クライアントデバイス106上に少なくとも部分的に実装され得る。
【００４６】
いくつかの実装形態において、自動化アシスタント120は、自動化アシスタント120との人間対コンピュータの対話セッション中にクライアントデバイス106のうちの1つのユーザによって生成された様々な入力に応答して応答内容を生成する。自動化アシスタント120は、対話セッションの一部としてユーザに提示するための応答内容を(例えば、ユーザのクライアントデバイスから分離されている場合、1つまたは複数のネットワークを介して)提供し得る。例えば、自動化アシスタント120は、クライアントデバイス106を介して提供された自由形式の自然言語入力に応答して応答内容を生成し得る。本明細書で使用される場合、自由形式の入力は、ユーザによって定式化され、ユーザによる選択のために提示されたオプションのグループに制約されない入力である。
【００４７】
本明細書で使用される場合、「対話セッション」は、ユーザと自動化アシスタント120(および、場合によっては、他の人間の参加者)との間の1つまたは複数のメッセージの論理的に自己充足型の交換を含み得る。自動化アシスタント120は、セッション間の時間の経過、セッション間のユーザコンテキスト(例えば、場所、スケジュールされた会議の前/中/後など)の変化、ユーザと自動化アシスタント間の対話以外のユーザとクライアントデバイスとの間の1つまたは複数の介在する対話(例えば、ユーザは、ユーザが独立型の音声起動製品から離れ、後に戻る)の検出、セッション間のクライアントデバイスのロック/スリープ、自動化アシスタント120の1つまたは複数のインスタンスとインターフェースするために使用されるクライアントデバイスの変更などの、様々な合図に基づいてユーザとの複数の対話セッション間を区別し得る。
【００４８】
意図整合器135は、ユーザによって提供された入力(例えば、音声発話、視覚的手がかりなど)に基づいて、および/またはセンサ信号、オンライン信号(例えば、ウェブサービスから取得されたデータ)などの他の信号に基づいて、ユーザの意図を決定するように構成され得る。いくつかの実装形態において、意図整合器135は、自然言語プロセッサ122と、前述のクラウドベースの視覚的手がかりモジュール1122とを含み得る。様々な実装形態において、クラウドベースの視覚的手がかりモジュール1122は、クラウドベースの視覚的手がかりモジュール1122が自由に使えるより多くのリソースを有し得ることを除いて、視覚的手がかりモジュール1121と同様に動作し得る。特に、クラウドベースの視覚的手がかりモジュール1122は、ユーザの意図を決定するために、単独でまたは他の信号と組み合わせて意図整合器135によって使用され得る視覚的手がかりを検出し得る。
【００４９】
自然言語プロセッサ122は、クライアントデバイス106を介してユーザによって生成された自然言語入力を処理するように構成され得、自動化アシスタント120の1つまたは複数の他の構成要素によって使用するための注釈付き出力(例えば、テキスト形式)を生成し得る。例えば、自然言語プロセッサ122は、クライアントデバイス106の1つまたは複数のユーザインターフェース入力デバイスを介してユーザによって生成された自然言語自由形式入力を処理し得る。生成された注釈付き出力は、自然言語入力の1つまたは複数の注釈と、自然言語入力の用語のうちの1つまたは複数(例えば、すべて)とを含む。
【００５０】
いくつかの実装形態において、自然言語プロセッサ122は、自然言語入力内の様々なタイプの文法情報を識別し、注釈を付けるように構成される。例えば、自然言語プロセッサ122は、個々の単語を形態素に分離し、および/または形態素に、例えば、それらのクラスで注釈を付け得る形態素モジュールを含み得る。自然言語プロセッサ122は、用語にそれらの文法的役割で注釈を付けるように構成された品詞タグ付け器も含み得る。例えば、品詞タグ付け器は、各用語に、「名詞」、「動詞」、「形容詞」、「代名詞」などのその品詞でタグ付けし得る。また、例えば、いくつかの実装形態において、自然言語プロセッサ122は、追加的および/または代替的に、自然言語入力内の用語間の統語関係(syntactic relationship)を決定するように構成された係り受け解析器(dependency parser)(図示せず)を含み得る。例えば、係り受け解析器は、どの用語が文の他の用語、主語、動詞などを変更するか(例えば、解析木)を決定し得、そのような係り受けの注釈を付け得る。
【００５１】
いくつかの実装形態において、自然言語プロセッサ122は、追加的および/または代替的に、人(例えば、文学のキャラクタ、有名人、公人などを含む)、組織、場所(実在および架空)などへの参照などの、1つまたは複数のセグメント内のエンティティ参照に注釈を付けるように構成されたエンティティタグ付け器(図示せず)を含み得る。いくつかの実装形態において、エンティティに関する情報は、ナレッジグラフ(図示せず)内などの1つまたは複数のデータベース内に記憶され得る。いくつかの実装形態において、ナレッジグラフは、既知のエンティティ(および、場合によっては、エンティティ属性)を表すノード、ならびにノードを接続し、エンティティ間の関係を表すエッジを含み得る。例えば、「バナナ」ノードは、「フルーツ」ノードに(例えば、子供として)接続され得、「フルーツ」ノードは、次に、「農産物」ノードおよび/または「食品」ノードに(例えば、子供として)接続され得る。別の例として、「仮想カフェ(Hypothetical Cafe)」と呼ばれるレストランは、その住所、提供される食品のタイプ、時間、連絡先情報などの属性も含むノードによって表され得る。「仮想カフェ」ノードは、いくつかの実装形態において、(例えば、子供-親関係を表す)エッジによって、「レストラン」ノード、「ビジネス」ノード、レストランが位置する都市および/または州を表すノードなどの、1つまたは複数の他のノードに接続され得る。
【００５２】
自然言語プロセッサ122のエンティティタグ付け器は、(例えば、人などのエンティティクラスへのすべての参照の識別を可能にする)高いレベルの粒度、および/または(例えば、特定の人物などの特定のエンティティへのすべての参照の識別を可能にする)より低いレベルの粒度において、エンティティへの参照に注釈を付け得る。エンティティタグ付け器は、特定のエンティティを解決するために自然言語入力の内容に依存し得、および/または特定のエンティティを解決するためにナレッジグラフもしくは他のエンティティデータベースとオプションで通信し得る。
【００５３】
いくつかの実装形態において、自然言語プロセッサ122は、追加的および/または代替的に、1つまたは複数のコンテキスト的手がかりに基づいて、同じエンティティへの参照をグループ化または「クラスタ化」するように構成された共参照リゾルバ(coreference resolver)(図示せず)を含み得る。例えば、共参照リゾルバは、「私は、前回そこで食べたときに仮想カフェが好きでした(I liked Hypothetical Cafe last time we ate there)」という自然言語入力内の「そこで(there)」という用語を「仮想カフェ(Hypothetical Cafe)」に解決するために利用され得る。
【００５４】
いくつかの実装形態において、自然言語プロセッサ122の1つまたは複数の構成要素は、自然言語プロセッサ122の1つまたは複数の他の構成要素からの注釈に依存し得る。例えば、いくつかの実装形態において、名前付きエンティティタグ付け器は、特定のエンティティへのすべての言及に注釈を付ける際に、共参照リゾルバおよび/または係り受け解析器からの注釈に依存し得る。また、例えば、いくつかの実装形態において、共参照リゾルバは、同じエンティティへの参照をクラスタ化する際に、係り受け解析器からの注釈に依存し得る。いくつかの実装形態において、特定の自然言語入力を処理する際に、自然言語プロセッサ122の1つまたは複数の構成要素は、1つまたは複数の注釈を決定するために、特定の自然言語入力の外部の関連する以前の入力および/または他の関連するデータを使用し得る。
【００５５】
意図整合器135は、例えば、(自然言語入力の注釈および用語を含み得る)自然言語プロセッサ122からの出力に基づいて、および/または視覚的手がかりモジュール(例えば、1121および/または1122)からの出力に基づいて、ユーザの意図を決定するために様々な技法を使用し得る。いくつかの実装形態において、意図整合器135は、例えば、文法と、視覚的手がかりと、応答アクション(またはより一般的には意図)との間の複数のマッピングを含む1つまたは複数のデータベース(図示せず)にアクセスし得る。多くの場合、これらの文法は、時間の経過とともに選択および/または学習され得、ユーザの最も一般的な意図を表し得る。例えば、「再生する<アーティスト>(play<artist>)」という1つの文法は、ユーザによって操作されるクライアントデバイス106上で<アーティスト>(<artist>)による音楽を再生させる応答アクションを呼び出す意図にマッピングされ得る。「[天気|予報]今日([weather|forecast] today)」という別の文法は、「今日の天気は、なんですか?(what's the weather today)」および「今日の予報は、なんですか?(what's the forecast for today?)」などのユーザクエリに整合可能であり得る。
【００５６】
文法に加えて、またはその代わりに、いくつかの実装形態において、意図整合器135は、1つまたは複数の訓練された機械学習モデルを、単独で、または1つもしくは複数の文法および/もしくは視覚的手がかりと組み合わせて使用し得る。これらの訓練された機械学習モデルは、1つまたは複数のデータベース内にも記憶され得、例えば、ユーザの発話および/または任意の検出されたユーザ提供の視覚的手がかりを示すデータを次元が低下した空間に埋め込み、次いで、例えば、ユークリッド距離、コサイン類似度などの技法を使用して、他のどの埋め込み(および、したがって意図)が最も近接しているかを決定することによって、意図を識別するように訓練され得る。
【００５７】
「再生する<アーティスト>(play<artist>)」の例示的な文法に見られるように、いくつかの文法は、スロット値(または「パラメータ」)で満たされ得るスロット(例えば、<アーティスト>(<artist>))を有する。スロット値は、様々な方法で決定され得る。しばしば、ユーザは、スロット値を積極的に提供する。例えば、「<トッピング>ピザを注文してください(Order me a <topping> pizza)」という文法について、ユーザは、「ソーセージピザを注文してください(order me a sausage pizza)」というフレーズを話した可能性があり得、その場合、スロット<トッピング>(<topping>)は、自動的に満たされる。追加的または代替的に、ユーザがスロット値を積極的に提供することなく、ユーザがスロット値で満たされるべきスロットを含む文法を呼び出した場合、自動化アシスタント120は、ユーザからそれらのスロット値を求め得る(例えば、「あなたは、ピザにどのタイプのクラストを望みますか?(what type of crust do you want on your pizza?)」)。いくつかの実装形態において、スロットは、視覚的手がかりモジュール1121〜1122によって検出された視覚的手がかりに基づくスロット値で満たされ得る。例えば、ユーザは、クライアントデバイス106の視覚センサ107に対して3本の指を立てながら、「これだけ多くの猫ボウルを注文してください(Order me this many cat bowls)」のようななにかを発することができる。または、ユーザは、特定の映画のDVDケースを持ちながら、「このような映画をもっと見つけてください(Find me more movies like this)」のようななにかを発することができる。
【００５８】
いくつかの実装形態において、自動化アシスタント120は、ユーザと1つまたは複数のサードパーティコンピューティングサービス130(または「サードパーティエージェント」または「エージェント」)との間の仲介者として機能し得る。これらのサードパーティコンピューティングサービス130は、入力を受信し、応答出力を提供する独立したソフトウェアプロセスであり得る。いくつかのサードパーティコンピューティングサービスは、例えば、クラウドベースの自動化アシスタント構成要素119を動作させるものとは別のコンピューティングシステム上で動作してもしなくてもよいサードパーティアプリケーションの形態をとり得る。意図整合器135によって識別され得る1つの種類のユーザ意図は、サードパーティコンピューティングサービス130と関わることである。例えば、自動化アシスタント120は、スマートデバイスを制御するためのサービスへのアプリケーションプログラミングインターフェース(「API: application programming interface」)へのアクセスを提供し得る。ユーザは、自動化アシスタント120を呼び出し、「暖房をオンにしたいです(I'd like to turn the heating on)」などのコマンドを提供し得る。意図整合器135は、サードパーティサービスと関わるように自動化アシスタント120をトリガし、それによってユーザの暖房をオンにさせる文法にこのコマンドをマッピングし得る。サードパーティサービス130は、暖房をオンにするコマンドを履行する(または「解決する」)ために満たされる必要があるスロットの最小限のリストを、自動化アシスタント120に提供し得る。この例では、スロットは、暖房が設定されるべき温度と、暖房がオンにされるべき持続時間とを含み得る。自動化アシスタント120は、スロットのためのパラメータを求める自然言語出力を生成し、(クライアントデバイス106を介して)ユーザに提供し得る。
【００５９】
履行モジュール124は、意図整合器135によって出力された予測された/推定された意図、ならびに関連するスロット値(ユーザによって積極的に提供されるか、またはユーザに求められるかにかかわらず)を受信し、意図を履行する(または「解決する」)ように構成され得る。様々な実装形態において、ユーザの意図の履行(または「解決」)は、例えば、履行モジュール124によって、様々な履行情報(「応答」情報または「解決情報」とも呼ばれる)を生成/取得させ得る。以下に説明しているように、履行情報は、いくつかの実装形態において、履行情報に基づいて自然言語出力を生成し得る自然言語生成器(いくつかの図では「NLG」)126に提供され得る。
【００６０】
意図は、様々な方法で満たされ(または「解決され」)得るので、履行(または「解決」)情報は、様々な形態をとり得る。ユーザが「「シャイニング」の屋外ショットはどこで撮影されたのか?(Where were the outdoor shots of 'The Shining' filmed?)」などの純粋な情報を要求する、と想定する。ユーザの意図は、例えば、意図整合器135によって、検索クエリであるとして決定され得る。検索クエリの意図および内容は、履行モジュール124に提供され得、履行モジュール124は、図1に示すように、応答情報のための文書および/または他のデータ源(例えば、ナレッジグラフなど)のコーパスを検索するように構成された1つまたは複数の検索モジュール150と通信し得る。履行モジュール124は、検索クエリを示すデータ(例えば、クエリのテキスト、次元が低下した埋め込みなど)を検索モジュール150に提供し得る。検索モジュール150は、GPS座標などの応答情報、または「オレゴン州、フッド山、ティンバーラインロッジ(Timberline Lodge, Mt. Hood, Oregon)」などの他のより明示的な情報を提供し得る。この応答情報は、履行モジュール124によって生成された履行情報の一部を形成し得る。
【００６１】
追加的または代替的に、履行モジュール124は、例えば、意図整合器135から、ユーザによって提供された、または他の手段を使用して決定されたユーザの意図と任意のスロット値(例えば、ユーザのGPS座標、ユーザ設定など)とを受信し、応答アクションをトリガするように構成され得る。応答アクションは、例えば、商品/サービスを注文すること、タイマを開始すること、リマインダを設定すること、電話呼び出しを開始すること、メディアを再生すること、メッセージを送信することなどを含み得る。いくつかのそのような実装形態において、履行情報は、履行に関連するスロット値、確認応答(場合によっては、所定の応答から選択され得る)などを含み得る。
【００６２】
自然言語生成器126は、様々なソースから取得されたデータに基づいて自然言語出力(例えば、人間の発話を模倣するように設計された単語/フレーズ)を生成および/または選択するように構成され得る。いくつかの実装形態において、自然言語生成器126は、入力として、意図の履行に関連する履行情報を受信し、履行情報に基づいて自然言語出力を生成するように構成され得る。追加的または代替的に、自然言語生成器126は、ユーザのための自然言語出力を構成するために使用し得る、サードパーティアプリケーションなどの他のソースからの情報(例えば、必要なスロット)を受信し得る。
【００６３】
図2は、様々な実装形態による、本開示の選択された態様で構成された自動化アシスタント(例えば、120)および/またはアシスタントデバイス(例えば、106)によって実装され得る例示的な状態マシンを概略的に示す。左上は、ユーザによって関わられていないときに自動化アシスタント120が存在し得る「デフォルトの非アクティブ状態」である。デフォルトの非アクティブ状態では、1つまたは複数のクライアントデバイス(106)の1つまたは複数のマイクロフォンが、アクティブ化され、それがキャプチャするオーディオデータが、本明細書で説明した技法を使用して分析され得る。自動化アシスタント120は、例えば、デフォルト呼び出しモデル1141に基づいた呼び出しモジュール113および/または視覚的手がかりモジュール112による、「オーケー、アシスタント(OK, Assistant)」または「ねえ、アシスタント(Hey, Assistant)」などの、1つまたは複数のデフォルトの呼び出し単語(図2における「DIW」、本明細書では「ホットワード」とも呼ばれる)の検出に応答して、「一般的なリスニング状態」に遷移し得る。デフォルトホットワード以外の発話(例えば、周囲の会話など)は、無視され、処理されない場合がある。
【００６４】
一般的なリスニング状態では、自動化アシスタント120は、デフォルトの呼び出し単語の後に発話されたオーディオデータをキャプチャし、「一般的な処理」状態に遷移し得る。一般的な処理状態では、自動化アシスタント120は、STT処理、自然言語処理、意図整合、履行などを含む、図1に関して上記で説明したように、音声入力を示すデータを処理し得る。処理が完了すると、自動化アシスタント120は、デフォルトの非アクティブ状態に戻り得る。デフォルトの呼び出し単語の検出後にオーディオ入力が受信されない場合、自動化アシスタントによる処理を意図しない後の発話がキャプチャまたは処理されないように、タイムアウト(図2における「TO」)は、自動化アシスタント120を一般的なリスニング状態からデフォルトの非アクティブ状態に戻し得る。
【００６５】
前述のように、本明細書で説明した技法は、一般的なリスニング状態などの様々な異なる状態、または自動化アシスタント120が様々なアクションを実行する他のコンテキスト固有の状態に自動化アシスタント120を遷移させるために、アクティブ化および検出され得るコンテキスト固有のホットワードを容易にする。いくつかの実装形態において、特定のコンテキストでは、自動化アシスタント120をデフォルトの非アクティブ状態から一般的なリスニング状態に遷移させるために発話され得る呼び出し単語の語彙は、少なくとも一時的に(例えば、制限された時間の間、コンテキストがもはや適用可能でなくなるまでなど)拡張され得る。
【００６６】
例えば、図2において、第1のコンテキスト固有の信号CS1は、自動化アシスタント120をデフォルトの非アクティブ状態から第1のコンテキスト固有のリスニング状態「CSLS1」に遷移させ得る。CSLS1において、自動化アシスタント120は、デフォルトの呼び出し単語(「DIW」)と第1のコンテキスト固有のホットワード(「C1ホットワード」)の両方をリッスンし得る。いずれかが検出された場合、自動化アシスタント120は、上記で説明したように一般的なリスニング状態に遷移し得る。したがって、第1のコンテキスト固有のリスニング状態において、自動化アシスタント120を一般的なリスニング状態に遷移させるホットワードの語彙は、デフォルトの呼び出し単語と第1のコンテキスト固有のホットワードの両方を含むように拡張される。また、いくつかの実装形態において、アクティブ化されたホットワードの検出なしに自動化アシスタント120が第1のコンテキスト固有のリスニング状態にある間に十分な時間が経過した場合、タイムアウト(「TO」)は、自動化アシスタント120をデフォルトの非アクティブ状態に戻し得る。
【００６７】
追加的または代替的に、いくつかの実装形態では、特定のコンテキストにおいて、自動化アシスタント120は、例えば、ホットワードの拡張された語彙を使用する一般的なリスニング状態、または1つもしくは複数のコンテキスト固有のアクションが実行され得るコンテキスト固有の状態のいずれかに遷移可能であり得る。例えば、図2において、自動化アシスタント120は、第2のコンテキスト信号(「CS2」)に応答して、デフォルトの非アクティブ状態から第2のコンテキスト固有のリスニング状態「CSLS2」に遷移し得る。この第2のコンテキスト固有のリスニング状態において、自動化アシスタント120は、例えば、1つもしくは複数のデフォルトの呼び出し単語、および/または場合によっては、自動化アシスタント120を一般的なリスニング状態に遷移させるために使用可能な語彙を効果的に拡張する1つまたは複数のコンテキスト固有のホットワード(「C2ホットワードA」)を検出することによって、一般的なリスニング状態に遷移し得る。
【００６８】
追加的または代替的に、自動化アシスタント120は、例えば、1つまたは複数の追加の第2のコンテキスト固有のホットワード(「C2ホットワードB」)に応答して、第2のコンテキスト固有の状態(「CSLS2」)から、1つまたは複数のコンテキスト固有の応答アクション(「第2のコンテキスト固有の応答アクション」)が実行される1つまたは複数の状態に遷移し得る。例示的な応答アクションについて、以下に説明する。いくつかの実装形態において、特定の第2のコンテキスト固有のホットワードが、特定のコンテキスト固有の応答アクションにマッピングされ得るが、これは、必須ではない。明確にするために図2に示していないが、これらの1つまたは複数の第2のコンテキスト固有の応答アクションの実行後、自動化アシスタント120は、デフォルトの非アクティブ状態に戻り得る。
【００６９】
いくつかの実装形態では、特定のコンテキストにおいて、自動化アシスタント120は、デフォルトのホットワードをもはやリッスンしない場合がある。代わりに、自動化アシスタント120は、コンテキスト固有のホットワードのみをリッスンし、応答アクションを実行し得る。例えば、図2において、自動化アシスタント120は、第M(Mは、正の整数)のコンテキスト信号(「CSM」)に応答して、デフォルトの非アクティブ状態から第Mのコンテキスト固有のリスニング状態「CSLSM」に遷移し得る。この状況では、自動化アシスタント120は、第Mのコンテキスト固有のホットワード(「CMホットワード」)をリッスンし得る。1つまたは複数の第Mのコンテキスト固有のホットワードを検出したことに応答して、自動化アシスタント120は、1つまたは複数の第Mの応答アクション(「第Mのコンテキスト固有の応答アクション」)を実行し得る。
【００７０】
様々な実装形態において、自動化アシスタント120は、様々な方法でコンテキスト固有のホットワードをアクティブ化し得る。例えば、図1と図2の両方を参照し、いくつかの実装形態において、特定のコンテキストへの遷移時に、自動化アシスタント120は、例えば、動的ホットワードエンジン128から、特定のコンテキストにおいて活性化されるべきホットワードを検出するように事前に訓練された、ニューラルネットワーク、隠れマルコフモデルなどの、1つまたは複数のコンテキスト固有の機械学習モデルまたは分類器(例えば、1142、1143、...、114N)をダウンロードし得る。例えば、特定のコンテキストにおいて、自動化アシスタント120をデフォルトの非アクティブ状態から一般的なリスニング状態に遷移させる語彙が、「howdy」という単語を含むように拡張された、と想定する。様々な実装形態において、自動化アシスタント120は、例えば、動的ホットワードエンジン128に利用可能なデータベース129から、「howdy」という単語が検出されたかどうかを示す出力を生成するように訓練された分類器を取得し得る。様々な実装形態において、この分類器は、バイナリ(例えば、ホットワードが検出された場合、「1」を出力し、そうでない場合、「0」を出力する)であり得、または確率を生成し得る。確率がなんらかの信頼しきい値を満たす場合、ホットワードは、検出され得る。
【００７１】
追加的または代替的に、いくつかの実装形態において、1つまたは複数のオンデバイスモデル114は、1つまたは複数の所定の音素に対してある出力を生成し、他の音素に対して別の出力を生成するようにオンザフライで調整可能な動的ホットワード分類器および/または機械学習モデル(例えば、ニューラルネットワーク、隠れマルコフモデルなど)の形態をとり得る。「howdy」というホットワードは、アクティブ化されるべきである、と想定する。様々な実装形態において、動的ホットワード分類器は、「how」および「dee」という音素を「リッスン」するように、例えば、1つまたは複数のパラメータを変更することによって、および/またはオーディオデータと一緒にもしくは埋め込まれた特定の入力を提供することによって、調整され得る。それらの音素がオーディオ入力において検出されると、動的ホットワード分類器は、一般的なリスニング状態に遷移すること、なんらかのコンテキスト固有の応答アクションを実行することなどの応答アクションを行うように自動化アシスタント120をトリガする出力を生成し得る。他の音素は、無視されるかまたは考慮されない出力を生成し得る。追加的または代替的に、出力は、アクティブ化された音素のみに応答して動的ホットワード分類器によって生成され得、他の音素は、出力をまったく生成しない場合がある。
【００７２】
図3Aおよび図3Bは、ユーザ101と自動化アシスタントのインスタンス(図3A〜図3Bには図示せず)との間の人間対コンピュータの対話セッションが、本明細書で説明した実装形態によるクライアントコンピューティングデバイス306(独立型対話式スピーカとして示されているが、これは、限定であることを意味していない)のマイクロフォンおよびスピーカを介してどのように発生し得るかの一例を示す。自動化アシスタント120の1つまたは複数の態様は、コンピューティングデバイス306、および/またはコンピューティングデバイス306とネットワーク通信している1つもしくは複数のコンピューティングデバイス上に実装され得る。クライアントデバイス306は、近接センサ305を含み、近接センサ305は、上記のように、カメラ、マイクロフォン、PIRセンサ、ワイヤレス通信構成要素などの形態をとることができる。
【００７３】
図3Aにおいて、クライアントデバイス306は、近接センサ305によって生成された信号に基づいて、ユーザ101がクライアントデバイス306から距離D1に位置することを決定し得る。距離D1は、所定の距離(例えば、しきい値)よりも大きい場合がある。その結果、自動化アシスタント120は、ホットワードのデフォルトセットのうちの1つまたは複数を(少なくとも音声で)使用してのみ呼び出され得るデフォルトのリスニング状態に留まり得る。図3Aにおいて、例えば、ユーザ101は、「ねえアシスタント、タイマを5分に設定してください(Hey assistant, set a timer for five minutes)」の自然言語入力を提供する。「ねえアシスタント(Hey Assistant)」は、自動化アシスタント120を呼び出すために使用可能な有効な「呼び出しフレーズ」を一緒に形成するデフォルトのホットワードを含み得る。したがって、自動化アシスタント120は、「オーケー、今タイマを開始します(OK. Timer starting...now)」と返事をし、5分のタイマを開始する。
【００７４】
対照的に、図3Bにおいて、クライアントデバイス306は、例えば、近接センサ305によって生成された信号に基づいて、ユーザ101が現在クライアントデバイスから距離D2にいることを検出し得る。距離D2は、所定の距離(またはしきい値)よりも小さい場合がある。その結果、自動化アシスタント120は、図3Aのデフォルトのリスニング状態から拡張リスニング状態に遷移し得る。言い換えれば、ユーザ101がD2離れているという決定は、自動化アシスタント120をコンテキスト固有の状態に遷移させるコンテキスト信号(例えば、図2における「CS1」)を構成させ得、コンテキスト固有の状態では、追加のまたは代替のホットワードが、アクティブ化され、自動化アシスタント120をデフォルトのリスニング状態から拡張リスニング状態に遷移させるために利用可能である。
【００７５】
拡張リスニング状態にある間、ユーザ101は、ホットワードのデフォルトのセットに加えて、またはその代わりに、ホットワードの拡張セットからの1つまたは複数のホットワードを使用して自動化アシスタント120を呼び出することができ得る。図3Bにおいて、例えば、ユーザ101は、ユーザの発話を「ねえアシスタント(Hey Assistant)」で開始する必要はない。代わりに、ユーザは、単に「タイマを5分に設定してください(set a timer for five minutes)」と言う。「設定してください(set)」などの単語または「タイマを設定してください(set a timer for)」などのフレーズは、自動化アシスタント120を呼び出すために現在使用可能なホットワードの拡張セットの一部であるホットワードを含み得る。その結果、自動化アシスタント120は、「オーケー、今タイマを開始します(OK. Timer starting...now)」と返事をし、5分のタイマを開始する。
【００７６】
この例において、自動化アシスタント120は、デフォルトのリスニング状態から、自動化アシスタント120が追加の/代替のホットワードを使用して呼び出され得る1つのコンテキスト固有の状態に遷移した。しかしながら、自動化アシスタント120は、そのようなイベントに応答して追加のまたは代替の状態に遷移し得る。例えば、いくつかの実装形態において、ユーザ101がアシスタントデバイスの十分近く(例えば、D2)で検出されると、自動化アシスタント120は、別のコンテキスト固有の状態に遷移し得る。例えば、自動化アシスタント120は、(少なくとも、最初にデフォルトホットワードを用いて自動化アシスタント120を呼び出さなければ)包括的な音声認識が利用可能ではないが、他のコンテキスト固有のコマンドが利用可能なコンテキスト固有の状態に遷移し得る。
【００７７】
例えば、ユーザ101が、クライアントデバイス306上で少なくとも部分的に動作する自動化アシスタント120によってアクセスされたオンラインレシピに従ってキッチンで夕食を準備している、と想定する。ユーザ101がクライアントデバイス306のD2以内でレシピのステップを実行するように、クライアントデバイス306は、調理エリア内に配置されている、とさらに想定する。いくつかの実装形態において、ユーザ101がクライアントデバイス306のD2で検出されたという事実は、自動化アシスタント120をコンテキスト固有の状態に遷移させ得、コンテキスト固有の状態では、少なくともいくつかのコマンドが、デフォルトのホットワードを使用して自動化アシスタント120を最初に呼び出すことなく利用可能である。例えば、ユーザ101は、レシピの次のステップに進むために、「次へ(next)」と発話するか、または「タイマを開始してください(start a timer)」、「タイマを停止してください(stop a timer)」などの前のステップを聞くために「戻る(back)」もしくは「最後のステップを繰り返してください(repeat last step)」と発話することができる。
【００７８】
いくつかの実装形態において、他のアクションも、このコンテキストにおいて利用可能であり得る。例えば、いくつかの実装形態において、世帯にわたって展開された複数のアシスタントデバイス(例えば、クライアントデバイスの調整されたエコシステムを形成する)は、各々、特定の部屋に関連付けられ得る。特定の部屋との関連付けは、誰かがそのデバイスに十分に近づくと、異なる動的ホットワードをアクティブ化させ得る。例えば、ユーザ101が最初にキッチンにおいてクライアントデバイス306をセットアップするとき、ユーザ101は、例えば、メニュー上のキッチンを選択することによって、キッチン内に位置するものとしてクライアントデバイス306を指定し得る。これは、ユーザがクライアントデバイスに十分に近接しているとき、特定のキッチン中心のホットワードをアクティブ化する自動化アシスタント120のキッチン固有の状態マシンをアクティブ化し得る。したがって、ユーザ101がキッチン内のクライアントデバイス306のD2以内にいる場合、スマートキッチン家電などを動作させる「タイマを設定してください(set a timer)」、「次のステップに進んでください(go to the next step)」のコマンドなどの特定のキッチン関連コマンドが、デフォルトホットワードを用いて最初に自動化アシスタント120をユーザ101が呼び出す必要なしに、アクティブになり得る。
【００７９】
この近接の例では、ユーザ101は、クライアントデバイスのD2以内で検出されなければならないが、これは、限定であることを意味しない。様々な実装形態において、ユーザ101が近接センサ305によって単に検出されるだけで十分であり得る。例えば、PIRセンサは、ユーザが比較的近い場合にのみ、ユーザの存在を検出し得る。
【００８０】
近接性に加えて、またはその代わりに、いくつかの実装形態において、ユーザの識別情報および/またはグループにおけるメンバシップが、決定され、1つまたは複数の動的ホットワードをアクティブ化するために使用され得る。図4A〜図4Bは、1つのそのような例を示す。再び、ユーザ(図4Aにおける101A、図4Bにおける101B)は、クライアントデバイス406上で少なくとも部分的に動作する自動化アシスタント120と関わる。クライアントデバイス406は、ユーザの識別情報を決定するために使用可能な信号を生成するセンサ470を含む。したがって、センサ470は、ユーザ(または、ユーザがグループのメンバであること)を識別するために、顔認識処理、または均一な視覚的標識(例えば、バッジまたはシャツ上のQRコード(登録商標))などの視覚的特徴を識別することができる物体認識プロセスさえ使用して分析され得る視覚的データを生成するように構成された1つまたは複数のカメラであり得る。追加的または代替的に、センサ470は、ユーザ101によって行われた1つまたは複数の発話に対して音声認識(ときには「話者認識」と呼ばれる)を実行するように構成された1つまたは複数のマイクロフォンであり得る。さらに別のオプションとして、センサ470は、ユーザによって運ばれるデバイス(図示せず)からワイヤレス信号を受信し、ユーザの識別情報を決定するためにそのワイヤレス信号を分析するワイヤレスレシーバ(例えば、Bluetooth、Wi-Fi、Zigbee、Z-wave、超音波、RFIDなど)であり得る。
【００８１】
図4Aにおいて、ユーザ101Aは、識別可能ではない。したがって、ユーザ101Aは、自動化アシスタント120を呼び出すために1つまたは複数のデフォルトのホットワードを使用することを要求される。図4Aにおいて、ユーザ101Aは、「ねえアシスタント、We Wish You a Merry Christmasを再生してください(Hey assistant, play 'We Wish You a Merry Christmas')」と発話する。「ねえアシスタント(Hey assistant)」に応答して、自動化アシスタント120が、呼び出される。発話の残りは、自動化アシスタント120にクライアントデバイス406上で曲の生成を開始させるために、前述のパイプラインを使用して処理される。
【００８２】
対照的に、図4Bにおいて、ユーザ101Bは、例えば、センサ470によって生成された信号に基づいて識別される。ユーザ101Bを識別する行為は、自動化アシスタントをコンテキスト固有の状態に遷移させるコンテキスト信号(例えば、図2における「CS1」)を構成し得、コンテキスト固有の状態では、追加のまたは代替のホットワードが、アクティブ化され、自動化アシスタント120をデフォルトのリスニング状態から拡張リスニング状態に遷移させるために利用可能である。例えば、図4Bに示すように、ユーザ101Bは、自動化アシスタント120を最初に呼び出すことなく、「We Wish You a Merry Christmasを再生してください(Play 'We Wish You a Merry Christmas')」のようななにかを発話し得る。それにもかかわらず、自動化アシスタント120は、曲の再生を開始する。このようなコンテキストにおいてアクティブであり得る他のホットワードは、限定はしないが、「早送り(fast forward)」、「先にスキップ<秒数>(skip ahead <number seconds>)」、「停止(stop)」、「一時停止(pause)」、「巻き戻し<時間増分>(rewind <time increment>)」、「ボリュームを上げる/下げる(turn up/down the volume)」などを含む。
【００８３】
追加的または代替的に、ユーザ101Bの特定の識別情報を検出する必要がない場合がある。いくつかの実装形態において、特定の動的ホットワードをアクティブ化するために、ユーザのなんらかの視覚的属性を認識することで十分な場合がある。例えば、図4Bにおいて、ユーザ101Bは、医師が典型的に着用する衣服を着用している医師である。この衣服(または、指標、RFIDなどを有するバッジ)は、検出され、ユーザ101Bが、特定のホットワードがアクティブ化されるべきグループ(例えば、医療関係者)のメンバであることを決定するために使用され得る。
【００８４】
図5は、近接性および/または同一性が使用され得る状況を示す。図5において、クライアントデバイス506を保持するユーザ501(白色で網掛けされている)が、複数の他のユーザ(灰色で網掛けされている)で混雑しているエリア内にいる。他の人々も、自動化アシスタント120と関わるために使用されるクライアントデバイス(図示せず)を有する、と想定する。他の近くの人々が、自分の自動化アシスタントを呼び出すためにデフォルトのホットワードを発話した場合、それは、クライアントデバイス506上で自動化アシスタント120を不注意に呼び出す可能性がある。同様に、ユーザ501が、クライアントデバイス506上で自動化アシスタント120を呼び出すためにデフォルトのホットワードを発した場合、それは、他の人々によって運ばれる他のデバイス上で自動化アシスタントを不注意に呼び出す可能性がある。
【００８５】
したがって、いくつかの実装形態において、自動化アシスタント120は、ユーザ501の識別情報、および/またはユーザ501が所定の近接内にいることを検出し、自動化アシスタント120を呼び出すために必要な動的ホットワードのカスタムセットをアクティブ化し得る。図5において、例えば、ユーザ501がクライアントデバイス506の第1の近接515A内にいる(および、場合によっては識別された)場合、ホットワードの第1のカスタムセットは、ユーザ501に固有の(例えば、ユーザ501によって手動で選択された)ホットワードの第1のカスタムセットが、アクティブ化され得る。そのようにして、ユーザ501は、他の誰かのデバイス上で自動化アシスタントを誤って呼び出すことを恐れることなく、これらのカスタムホットワードを発することができる。いくつかの実装形態において、異なる近接範囲は、異なる動的ホットワードをアクティブ化させ得る。例えば、図5において、ユーザ501が近接範囲515Aの外側だが、別の近接範囲515B内で検出された場合、追加の/代替のホットワードが、アクティブ化され得る。同じことが、第3の近接範囲515C、または任意の数の近接範囲に当てはまる。いくつかの実装形態において、ユーザ501が近接範囲515Cの外側にいる場合、デフォルトのホットワードのみが、アクティブ化され得、またはホットワードが、アクティブ化されない場合がある。
【００８６】
代替例では、いくつかの実装形態において、ユーザ501の識別情報を認識すると、自動化アシスタント120は、ユーザ501の音声のみに応答し、他の音声を無視するように話者認識を実装し得る。
【００８７】
本明細書で説明した実装形態は、コンテキスト固有のホットワードに応答して、自動化アシスタント120に様々なアクション(例えば、情報の検索する、メディア再生の制御、タイマの停止など)を行わせることに焦点を当ててきたが、これは、限定であることを意味しない。本明細書で説明した技法は、他のユースケースに拡張され得る。例えば、本明細書で説明した技法は、ユーザが、例えば検索ウェブページ上のフォームフィールドに記入することを望む場合に適用可能であり得る。いくつかの実装形態において、検索バーまたは他の同様のテキスト入力要素がウェブページ内に存在する場合、1つまたは複数の追加のコンテキスト固有のホットワードが、アクティブ化され得る。例えば、ユーザが検索バーを有するウェブページにアシスタント対応デバイスをナビゲートするとき、「を検索する(search for)」というホットワードは、例えば、ユーザが最初に自動化アシスタント120を呼び出す必要なしに、ユーザが単に「<所望のトピック>を検索する(search for <desired topic>)」と言い、「を検索する(search for)」に続くユーザの発話が検索バーに自動的に転写されるようにアクティブ化され得る。
【００８８】
様々な実装形態において、コンピューティングデバイスの特定のコンテキストへの遷移は、1つまたは複数のコンテキスト固有のホットワードに加えて、またはその代わりに、1つまたは複数のコンテキスト固有のジェスチャをアクティブ化し得る。例えば、ユーザが、アシスタントデバイスの特定の近接で検出された、と想定する。いくつかの実装形態において、1つまたは複数のコンテキスト固有のジェスチャがアクティブ化され得る。例えば、呼び出しモジュール113によるそれらのジェスチャの検出は、自動化アシスタント120の一般的なリスニング状態への遷移をトリガし得、および/または自動化アシスタント120になんらかのコンテキスト固有の応答アクションを実行させ得る。
【００８９】
図6は、本明細書で開示した実装形態による例示的な方法600を示すフローチャートである。便宜上、フローチャートの動作は、動作を実行するシステムを参照して説明されている。このシステムは、自動化アシスタント120の1つまたは複数の構成要素などの、様々なコンピュータシステムの様々な構成要素を含み得る。さらに、方法600の動作は、特定の順序で示されているが、これは、限定であることを意味しない。1つまたは複数の動作は、並べ替えられ得、省略され得、または追加され得る。
【００９０】
ブロック602において、システムは、自動化アシスタント120を、少なくとも部分的にコンピューティングデバイス(例えば、クライアントデバイス106、306、406、506)上で動作させ得る。例えば、上記のように、多くの場合、自動化アシスタント120は、部分的にクライアントデバイス106上に、かつ部分的にクラウド(例えば、クラウドベースの自動化アシスタント構成要素119)上に実装され得る。ブロック604において、システムは、1つまたは複数のデフォルトのホットワードについて、マイクロフォン(例えば、109)によってキャプチャされたオーディオデータを監視し得る。例えば、オーディオデータ(または、埋め込みなどの、オーディオデータを示す他のデータ)は、出力を生成するために、1つまたは複数の現在アクティブな呼び出しモデル114にわたる入力として適用され得る。出力は、デフォルトのホットワードのうちの1つまたは複数の検出(ブロック606)を示し得る。ブロック608において、システムは、自動化アシスタント120を、制限されたホットワードリスニング状態(例えば、図2におけるデフォルトの非アクティブ状態)から音声認識状態(例えば、図2における一般的なリスニング状態)に遷移させ得る。
【００９１】
いくつかの実装形態において、ブロック604〜608の動作と並行して(または直列に)、システムは、ブロック610において、クライアントデバイスの状態を監視し得る。例えば、システムは、検出されたユーザの存在、検出されたユーザの識別情報、グループにおけるユーザのメンバシップの検出、視覚的属性の検出などの、1つまたは複数のコンテキスト信号を監視し得る。
【００９２】
ブロック612において、システムがコンテキスト信号を検出した場合、ブロック614において、システムは、コンピューティングデバイスを所与の状態に遷移させ得る。例えば、システムは、ユーザがクライアントデバイスに十分に近接していること、ユーザの識別情報などのコンテキスト信号を検出し得る。ブロック614の遷移後、ブロック616において、システムは、ブロック604において監視された1つまたは複数のデフォルトのホットワードに加えて、またはその代わりに、1つまたは複数のコンテキスト固有のホットワードについて、マイクロフォンによってキャプチャされたオーディオデータを監視し得る。
【００９３】
前述のように、いくつかのコンテキストでは、いくつかのホットワードは、自動化アシスタント120を一般的なリスニング状態に遷移させ得、他のホットワードは、自動化アシスタント120にコンテキスト固有の応答アクション(例えば、タイマの停止、メディア再生の一時停止など)を実行させ得る。したがって、ブロック618において、システムが第1の1つまたは複数のコンテキストホットワード(例えば、自動化アシスタント120にコンテキスト固有のタスクを実行させることを意図したホットワード)を検出した場合、ブロック620において、システムは、1つもしくは複数のコンテキスト固有の応答アクションを実行するか、または自動化アシスタント120に1つもしくは複数のコンテキスト固有の応答アクションを実行させ得る。一方、ブロック618において第1の1つまたは複数のコンテキストが検出されないが、ブロック622において第2の1つまたは複数のコンテキストホットワード(例えば、一般に、単に自動化アシスタント120を呼び出すことを意図したホットワード)が検出された場合、方法600は、自動化アシスタント120が一般的なリスニング状態にあるブロック606に戻り得る。
【００９４】
いくつかの実装形態において、コンテキスト固有のアクションが要求されない場合に自動化アシスタント120が安定またはデフォルトに戻ることを確実にするために、1つまたは複数のタイムアウトが、使用され得る。例えば、ブロック618および622において第1または第2のコンテキスト固有のホットワードがそれぞれ検出されない場合、ブロック624において、タイムアウトが満了したかどうか(例えば、10秒、30秒、1分など)の判定が、行われ得る。ブロック624における答えがyesである場合、方法600は、自動化アシスタント120がデフォルトの非アクティブ状態に遷移されるブロック604に戻り得る。しかしながら、ブロック624における答えがnoである場合、いくつかの実装形態において、方法600は、ブロック616に戻り得、その時点で、システムは、コンテキスト固有のホットワードを監視し得る。
【００９５】
図7は、様々な実施形態による、本開示の選択された態様を実施するための、方法600と同様の例示的な方法700を示す。便宜上、フローチャートの動作は、動作を実行するシステムを参照して説明されている。このシステムは、様々なコンピュータシステムの様々な構成要素を含み得る。さらに、方法700の動作は、特定の順序で示されているが、これは、限定であることを意味しない。1つまたは複数の動作は、並べ替えられ得、省略され得、または追加され得る。
【００９６】
ブロック702において、システムは、デフォルトのリスニング状態において自動化アシスタントを実行し得る。デフォルトのリスニング状態にある間、ブロック704において、システムは、1つまたは複数のホットワードのデフォルトセットのうちの1つまたは複数について、1つまたは複数のマイクロフォンによってキャプチャされたオーディオデータを監視し得る。デフォルトセットのホットワードのうちの1つまたは複数の検出は、デフォルトのリスニング状態から音声認識状態への遷移(例えば、図6のブロック608)をトリガし得る。
【００９７】
ブロック706において、システムは、マイクロフォン、カメラ、PIRセンサ、ワイヤレス構成要素などの、コンピューティングデバイスのうちの1つまたは複数と一体の1つまたは複数のハードウェアセンサによって生成された1つまたは複数のセンサ信号を検出し得る。ブロック708において、システムは、ユーザの属性を決定するために、1つまたは複数のセンサ信号を分析し得る。ユーザのこの属性は、例えば、ユーザ自身に関する存在属性、または1つもしくは複数のアシスタントデバイスとのユーザの物理的近接性であり得る。ブロック708において決定され得る属性の非限定的な例は、限定はしないが、ユーザがアシスタントデバイスの所定の近接内にいること、ユーザの識別情報、グループにおけるユーザのメンバシップ、(距離が考慮されない状況において)ユーザが近接センサによって検出されたこと、ユニフォーム、バッジ、小さな装飾具などのユーザの視覚的属性、などを含む。
【００９８】
ブロック710において、システムは、分析に基づいて、自動化アシスタントをデフォルトのリスニング状態から拡張リスニング状態に遷移させ得る。拡張リスニング状態にある間、ブロック712において、システムは、1つまたは複数のホットワードの拡張セットのうちの1つまたは複数について、マイクロフォンのうちの1つまたは複数によってキャプチャされたオーディオデータを監視し得る。拡張セットのホットワードのうちの1つまたは複数の検出は、デフォルトセットのホットワードのうちの1つまたは複数の検出を必要とすることなく応答アクションを実行するように自動化アシスタントをトリガし得る。拡張セットのホットワードのうちの1つまたは複数は、デフォルトセット内にない場合がある。
【００９９】
本明細書で論じた特定の実装形態が、ユーザに関する個人情報(例えば、他の電子通信から抽出されたユーザデータ、ユーザのソーシャルネットワークに関する情報、ユーザの位置、ユーザの時間、ユーザの生体情報、ならびにユーザの活動および人口統計情報、ユーザ間の関係など)を収集または使用する可能性がある状況では、ユーザは、情報が収集されるかどうか、個人情報が記憶されるかどうか、個人情報が使用されるかどうか、およびユーザに関する情報がどのように収集され、記憶され、使用されるかを制御する1つまたは複数の機会を提供される。すなわち、本明細書で論じたシステムおよび方法は、関連するユーザからそうするための明示的な許可を受け取った場合にのみ、ユーザの個人情報を収集、記憶、および/または使用する。
【０１００】
例えば、ユーザは、プログラムまたは機能が、その特定のユーザ、またはプログラムもしくは機能に関連する他のユーザに関するユーザ情報を収集するかどうかについての制御を提供される。個人情報が収集される各ユーザは、情報が収集されるかどうかについて、および情報のどの部分が収集されるべきかについての許可または承認を提供するために、そのユーザに関連する情報収集の制御を可能にする1つまたは複数のオプションを提示される。例えば、ユーザは、通信ネットワークを介して1つまたは複数のそのような制御オプションを提供され得る。加えて、特定のデータは、個人を特定できる情報が除去されるように、記憶または使用される前に、1つまたは複数の方法において処理され得る。一例として、ユーザの識別情報は、個人を特定できる情報を決定することができないように処理され得る。別の例として、ユーザの地理的位置は、ユーザの特定の位置を特定することができないように、より大きい地域に一般化され得る。
【０１０１】
図8は、本明細書で説明した技法の1つまたは複数の態様を実行するためにオプションで利用され得る例示的なコンピューティングデバイス810のブロック図である。いくつかの実装形態において、クライアントコンピューティングデバイス、ユーザ制御リソースエンジン134、および/または他の構成要素のうちの1つまたは複数は、例示的なコンピューティングデバイス810の1つまたは複数の構成要素を備え得る。
【０１０２】
コンピューティングデバイス810は、典型的には、バスサブシステム812を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ814を含む。これらの周辺デバイスは、例えば、メモリサブシステム825と、ファイル記憶サブシステム826とを含む記憶サブシステム824と、ユーザインターフェース出力デバイス820と、ユーザインターフェース入力デバイス822と、ネットワークインターフェースサブシステム816とを含み得る。入力デバイスおよび出力デバイスは、コンピューティングデバイス810とのユーザ対話を可能にする。ネットワークインターフェースサブシステム816は、外部ネットワークへのインターフェースを提供し、他のコンピューティングデバイス内の対応するインターフェースデバイスに結合される。
【０１０３】
ユーザインターフェース入力デバイス822は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピューティングデバイス810または通信ネットワークに情報を入力するすべての可能なタイプのデバイスおよび方法を含むことを意図している。
【０１０４】
ユーザインターフェース出力デバイス820は、ディスプレイサブシステム、プリンタ、ファックス機、またはオーディオ出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するためのなにか他のメカニズムを含み得る。ディスプレイサブシステムは、オーディオ出力デバイスを介するなどして、非視覚的表示も提供し得る。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス810からユーザまたは別のマシンもしくはコンピューティングデバイスに情報を出力するためのすべての可能なタイプのデバイスおよび方法を含むことを意図している。
【０１０５】
記憶サブシステム824は、本明細書で説明したモジュールのうちのいくつかまたのすべての機能を提供するプログラミング構造およびデータ構造を記憶する。例えば、記憶サブシステム824は、図6〜図7の方法の選択された態様を実行するため、ならびに図1に示す様々な構成要素を実装するためのロジックを含み得る。
【０１０６】
これらのソフトウェアモジュールは、一般に、プロセッサ814によって単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム824において使用されるメモリ825は、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)830と、固定命令が記憶されている読み取り専用メモリ(ROM)832とを含むいくつかのメモリを含むことができる。ファイル記憶サブシステム826は、プログラムファイルおよびデータファイルのための永続的なストレージを提供することができ、ハードディスクドライブ、関連するリムーバブルメディアを伴うフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、またはリムーバブルメディアカートリッジを含み得る。特定の実装形態の機能を実装するモジュールは、ファイル記憶サブシステム826によって、記憶サブシステム824内に、またはプロセッサ814によってアクセス可能な他のマシン内に記憶され得る。
【０１０７】
バスサブシステム812は、コンピューティングデバイス810の様々な構成要素およびサブシステムを意図されたように互いに通信させるためのメカニズムを提供する。バスサブシステム812は、単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は、複数のバスを使用し得る。
【０１０８】
コンピューティングデバイス810は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む様々なタイプのものであり得る。コンピュータおよびネットワークの絶えず変化する性質のために、図8に示すコンピューティングデバイス810の説明は、いくつかの実装形態を説明する目的のための特定の例としてのみ意図されている。図8に示すコンピューティングデバイスよりも多いまたは少ない構成要素を有するコンピューティングデバイス810の多くの他の構成が、可能である。
【０１０９】
いくつかの実装形態が本明細書で説明および例示されているが、機能を実行するため、ならびに/または本明細書で説明した結果および/もしくは利点のうちの1つもしくは複数を取得するための様々な他の手段および/または構造が、利用され得、そのような変更および/または修正の各々が、本明細書で説明した実装形態の範囲内であると見なされる。より一般的には、本明細書で説明したすべてのパラメータ、寸法、材料、および構成は、例示であることを意味し、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の用途に依存する。当業者は、本明細書で説明した特定の実装形態に対する多くの均等物を認識するか、または日常的な実験のみを使用して確認することができるであろう。したがって、前述の実装形態は、単なる例として提示されており、添付した特許請求の範囲およびその均等物の範囲内で、実装形態は、具体的に説明および特許請求されている以外の方法で実施され得ることが理解されるべきである。本開示の実装形態は、本明細書で説明した個々の特徴、システム、物品、材料、キット、および/または方法の各々に向けられている。加えて、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の範囲内に含まれる。
【符号の説明】
【０１１０】
101  ユーザ
101A  ユーザ
101B  ユーザ
105  近接センサ
106  クライアントコンピューティングデバイス、クライアントデバイス
107  視覚センサ、カメラ
108  自動化アシスタントクライアント
109  マイクロフォン
110  音声キャプチャモジュール
111  画像キャプチャモジュール
112  視覚的手がかりモジュール
1121  視覚的手がかりモジュール
1122  視覚的手がかりモジュール
113  呼び出しモジュール
114  ローカルおよび/またはワイドエリアネットワーク、オンデバイスモデルデータベース、呼び出しモデル、オンデバイスモデル
1141  オンデバイス呼び出しモデル、デフォルトのオンデバイス呼び出しモデル、デフォルト呼び出しモデル
1142〜114N  オンデバイス呼び出しモデル、コンテキスト呼び出しモデル、コンテキスト固有の機械学習モデルまたは分類器
116  クラウドベースのテキスト音声化(「TTS: text-to-speech」)モジュール、クラウドベースのTTSモジュール、TTSモジュール
117  クラウドベースのSTTモジュール、STTモジュール
119  クラウドベースの自動化アシスタント構成要素
120  自動化アシスタント
122  自然言語プロセッサ
124  履行モジュール
126  自然言語生成器
128  動的ホットワードエンジン
129  データベース
130  サードパーティコンピューティングサービス、サードパーティサービス
134  ユーザ制御リソースエンジン
135  意図整合器
150  検索モジュール
305  近接センサ
306  クライアントコンピューティングデバイス、コンピューティングデバイス、クライアントデバイス
406  クライアントデバイス
470  センサ
501  ユーザ
506  クライアントデバイス
515A  近接、近接範囲
515B  近接範囲
515C  近接範囲
810  コンピューティングデバイス
812  バスサブシステム
814  プロセッサ
816  ネットワークインターフェースサブシステム
820  ユーザインターフェース出力デバイス
822  ユーザインターフェース入力デバイス
824  記憶サブシステム
825  メモリサブシステム、メモリ
826  ファイル記憶サブシステム
830  メインランダムアクセスメモリ(RAM)
832  読み取り専用メモリ(ROM)
【図１】
2021532394.tif 000003
【図２】
2021532394.tif 000004
【図３Ａ】
2021532394.tif 000005
【図３Ｂ】
2021532394.tif 000006
【図４Ａ】
2021532394.tif 000007
【図４Ｂ】
2021532394.tif 000008
【図５】
2021532394.tif 000009
【図６】
2021532394.tif 000010
【図７】
2021532394.tif 000011
【図８】
2021532394.tif 000012
【国際調査報告】
2021532394.tif 000013
2021532394.tif 000014