(57)【特許請求の範囲】
【請求項１】
訓練された機械学習モデルにアクセスするステップであって、前記機械学習モデルが、ラベリングされた音声入力のコーパスを使用して、音声入力が、無視されるべき背景会話を示すものであるか、またはメッセージを1人または複数の他のユーザに伝えるというユーザの意図を示すものであるかを予測するように、訓練され、前記音声入力に適用されるラベルが、1人また複数の他のユーザにメッセージを伝えるというユーザの意図を示す第1のラベルと、複数のユーザ間の背景会話を示す第2のラベルと、自動アシスタントとの人間対コンピュータの対話に関わるというユーザの意図を示す第3のラベルとを含む、ステップと、
複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスのマイクロフォンにおいて、第1のユーザから音声入力を受信するステップと、
前記音声入力を分析するステップであって、前記分析するステップが、出力を生成するための前記訓練された機械学習モデルにわたる入力として前記音声入力のオーディオ記録を示すデータを適用するステップを含み、前記出力が、前記第1のユーザがメッセージを前記1人または複数の他のユーザに伝えることを意図していることを示す、ステップと、
前記分析に基づいて、前記第1のユーザが前記メッセージを前記1人または複数の他のユーザに伝えることを意図していると決定するステップと、
前記複数のコンピューティングデバイスのうちの1つまたは複数の他のコンピューティングデバイスに、前記メッセージを前記1人または複数の他のユーザへ伝えるオーディオ出力または視覚出力を提供させるステップとを含む、
方法。
【請求項２】
前記第1のコンピューティングデバイスの前記マイクロフォンにおいて、追加の音声入力を受信するステップと、
前記追加の音声入力を分析するステップであって、前記追加の音声入力を分析するステップが、追加の出力を生成するための前記訓練された機械学習モデルにわたる入力として前記音声入力のオーディオ記録を示すデータを適用するステップを含み、前記追加の出力が、前記追加の音声入力が無視されるべき背景雑音を示すものであることを示す、ステップと、
前記追加の出力が、前記追加の音声入力が無視されるべき背景雑音を示すものであることを示すことに応答して、前記追加の音声入力を無視するステップとをさらに含む、
請求項1に記載の方法。
【請求項３】
前記方法は、
前記複数のコンピューティングデバイスに対する前記1人または複数のユーザのうちの第2のユーザの相対的な位置を決定するステップと、
前記複数のコンピューティングデバイスから、前記第2のユーザの前記位置に基づいて、前記第2のユーザが知覚可能なオーディオ出力または視覚出力を提供することが可能な第2のコンピューティングデバイスを選択するステップとをさらに含み、
前記提供させるステップが、
前記第2のコンピューティングデバイスに、前記メッセージを前記第2のユーザへ伝える前記オーディオ出力または視覚出力を提供させるステップを含む、
請求項1に記載の方法。
【請求項４】
前記提供させるステップが、
前記複数のコンピューティングデバイスのすべてを使用して前記メッセージを前記1人または複数の他のユーザにブロードキャストするステップを含む、
請求項1に記載の方法。
【請求項５】
訓練された機械学習モデルにアクセスするステップであって、前記機械学習モデルが、ラベリングされた音声入力のコーパスを使用して、音声入力が、無視されるべき背景会話を示すものであるか、またはメッセージを1人または複数の他のユーザに伝えるというユーザの意図を示すものであるかを予測するように、訓練される、ステップと、
複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスのマイクロフォンにおいて、第1のユーザから音声入力を受信するステップと、
前記音声入力を分析するステップであって、前記分析するステップが、出力を生成するための前記訓練された機械学習モデルにわたる入力として前記音声入力のオーディオ記録を示すデータを適用するステップを含み、前記出力が、前記第1のユーザがメッセージを前記1人または複数の他のユーザに伝えることを意図していることを示す、ステップと、
前記分析に基づいて、前記第1のユーザが前記メッセージを前記1人または複数の他のユーザに伝えることを意図していると決定するステップと、
前記複数のコンピューティングデバイスのうちの1つまたは複数の他のコンピューティングデバイスに、前記メッセージを前記1人または複数の他のユーザへ伝えるオーディオ出力または視覚出力を提供させるステップとを含み、
前記分析するステップが、
前記音声入力のオーディオ記録に対してspeech-to-text処理を実行して、前記オーディオ記録を示す前記データとしてテキスト入力を生成するステップを含み、
前記テキスト入力が、前記訓練された機械学習モデルにわたる入力として適用される、
方法。
【請求項６】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサと動作可能に結合されるメモリとを備えたシステムであって、前記メモリが、前記1つまたは複数のプロセッサに以下の動作を実行させる命令を記憶し、前記動作が、
訓練された機械学習モデルにアクセスすることであって、前記機械学習モデルが、ラベリングされた音声入力のコーパスを使用して、音声入力が、無視されるべき背景会話を示すものであるか、またはメッセージを1人または複数の他のユーザに伝えるというユーザの意図を示すものであるかを予測するように、訓練され、前記音声入力に適用されるラベルが、1人また複数の他のユーザにメッセージを伝えるというユーザの意図を示す第1のラベルと、複数のユーザ間の背景会話を示す第2のラベルと、自動アシスタントとの人間対コンピュータの対話に関わるというユーザの意図を示す第3のラベルとを含む、ことと、
複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスのマイクロフォンにおいて、第1のユーザから音声入力を受信することと、
前記音声入力を分析することであって、前記分析することが、出力を生成するための前記訓練された機械学習モデルにわたる入力として前記音声入力のオーディオ記録を示すデータを適用することを含み、前記出力が、前記第1のユーザがメッセージを前記1人または複数の他のユーザに伝えることを意図していることを示す、ことと、
前記分析に基づいて、前記第1のユーザが前記メッセージを前記1人または複数の他のユーザに伝えることを意図していると決定することと、
前記複数のコンピューティングデバイスの1つまたは複数の他のコンピューティングデバイスに、前記メッセージを前記1人または複数の他のユーザへ伝えるオーディオ出力または視覚出力を提供させることとを含む、
システム。
【請求項７】
前記動作が、
前記第1のコンピューティングデバイスの前記マイクロフォンにおいて、追加の音声入力を受信することと、
前記追加の音声入力を分析することであって、前記追加の音声入力を分析することが、追加の出力を生成するための前記訓練された機械学習モデルにわたる入力として前記音声入力のオーディオ記録を示すデータを適用することを含み、前記追加の出力が、前記追加の音声入力が無視されるべき背景雑音を示すものであることを示す、ことと、
前記追加の出力が、前記追加の音声入力が無視されるべき背景雑音を示すものであることを示すことに応答して、前記追加の音声入力を無視することとをさらに含む、
請求項6に記載のシステム。
【請求項８】
前記動作が、
前記複数のコンピューティングデバイスに対する前記1人または複数のユーザのうちの第2のユーザの相対的な位置を決定することと、
前記複数のコンピューティングデバイスから、前記第2のユーザの前記位置に基づいて、前記第2のユーザが知覚可能なオーディオ出力または視覚出力を提供することが可能な第2のコンピューティングデバイスを選択することとをさらに含み、
前記提供させることが、
前記第2のコンピューティングデバイスに、前記メッセージを前記第2のユーザへ搬送する前記オーディオ出力または視覚出力を提供させることを含む、
請求項6に記載のシステム。
【請求項９】
前記提供させることが、
前記複数のコンピューティングデバイスのすべてを使用して前記メッセージを前記1人または複数の他のユーザにブロードキャストすることを含む、
請求項6に記載のシステム。
【請求項１０】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサと動作可能に結合されるメモリとを備えたシステムであって、前記メモリが、前記1つまたは複数のプロセッサに以下の動作を実行させる命令を記憶し、前記動作が、
訓練された機械学習モデルにアクセスすることであって、前記機械学習モデルが、ラベリングされた音声入力のコーパスを使用して、音声入力が、無視されるべき背景会話を示すものであるか、またはメッセージを1人または複数の他のユーザに伝えるというユーザの意図を示すものであるかを予測するように、訓練される、ことと、
複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスのマイクロフォンにおいて、第1のユーザから音声入力を受信することと、
前記音声入力を分析することであって、前記分析することが、出力を生成するための前記訓練された機械学習モデルにわたる入力として前記音声入力のオーディオ記録を示すデータを適用することを含み、前記出力が、前記第1のユーザがメッセージを前記1人または複数の他のユーザに伝えることを意図していることを示す、ことと、
前記分析に基づいて、前記第1のユーザが前記メッセージを前記1人または複数の他のユーザに伝えることを意図していると決定することと、
前記複数のコンピューティングデバイスの1つまたは複数の他のコンピューティングデバイスに、前記メッセージを前記1人または複数の他のユーザへ伝えるオーディオ出力または視覚出力を提供させることとを含み、
前記分析することが、
前記音声入力のオーディオ記録に対してspeech-to-text処理を実行して、前記オーディオ記録を示す前記データとしてテキスト入力を生成することを含み、
前記テキスト入力が前記訓練された機械学習モデルにわたる入力として適用される、
システム。
【請求項１１】
1つまたは複数のプロセッサを使用して実行される方法であって、
複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスのマイクロフォンにおいて、第1のユーザから音声入力を受信するステップと、
前記音声入力を分析するステップであって、
前記分析するステップが、出力を生成するための訓練された機械学習モデルに対する入力として前記音声入力のオーディオ記録を示すデータを適用するステップを含み、
前記機械学習モデルが、ラベリングされた音声入力のコーパスを使用して、音声入力が、無視されるべき背景会話を示すものであるか、またはメッセージを1人または複数の他のユーザに伝えるというユーザの意図を示すものであるかを予測するように、訓練され、
前記音声入力に適用されるラベルが、1人また複数の他のユーザにメッセージを伝えるというユーザの意図を示す第1のラベルと、複数のユーザ間の背景会話を示す第2のラベルと、自動アシスタントとの人間対コンピュータの対話に関わるというユーザの意図を示す第3のラベルとを含む、ステップと、
前記分析に基づいて、前記第1のユーザがメッセージを第2のユーザに伝えることを意図していると決定するステップと、
前記複数のコンピューティングデバイスの1つまたは複数の他のコンピューティングデバイスに、前記メッセージを前記第2のユーザへ伝えるオーディオ出力または視覚出力を提供させるステップと、
前記オーディオ出力または視覚出力が前記複数のコンピューティングデバイスの前記1つまたは複数の他のコンピューティングデバイスによって提供された後で、前記複数のコンピューティングデバイスのうちの第2のコンピューティングデバイスにおいて前記第2のユーザよって出される検索クエリを特定するステップと、
前記第1のユーザからの前記音声入力に基づいて、前記第2のユーザによって出される前記検索クエリの少なくとも一部を明確にするステップと、
前記明確にされた検索クエリに応答する検索結果を取得するステップと、
前記他のコンピューティングデバイスのうちの1つまたは複数に、前記検索結果の少なくとも一部を示す出力を提供させるステップとを備える、
方法。
【請求項１２】
前記複数のコンピューティングデバイスの前記1つまたは複数の他のコンピューティングデバイスに、前記メッセージを前記第2のユーザへ伝えるオーディオ出力または視覚出力を提供させるステップが、
前記複数のコンピューティングデバイスに対する前記第2のユーザの相対的な位置を決定するステップと、
前記複数のコンピューティングデバイスから、前記第2のユーザの前記位置に基づいて、前記第2のユーザが知覚可能なオーディオ出力または視覚出力を提供することが可能な前記第2のコンピューティングデバイスを選択するステップと、
前記第2のコンピューティングデバイスに、前記メッセージを前記第2のユーザへ伝えるオーディオ出力または視覚出力を独占的に提供させるステップとを含む、
請求項11に記載の方法。
【請求項１３】
前記第2のユーザの前記位置が、前記第1のコンピューティングデバイス以外の前記複数のコンピューティングデバイスのうちの1つまたは複数によって生成される1つまたは複数の信号に基づいて決定される、
請求項12に記載の方法。
【請求項１４】
前記1つまたは複数の信号が、受動赤外線または超音波を使用して、前記第1のコンピューティングデバイス以外の前記複数のコンピューティングデバイスのうちの1つまたは複数によって前記第2のユーザが検出されることを示す信号を含む、
請求項13に記載の方法。
【請求項１５】
前記1つまたは複数の信号が、カメラまたはマイクロフォンを使用して、前記第1のコンピューティングデバイス以外の前記複数のコンピューティングデバイスのうちの1つまたは複数によって前記第2のユーザが検出されることを示す信号を含む、
請求項13に記載の方法。
【請求項１６】
前記分析するステップが、
前記複数のコンピューティングデバイスのうちの1つまたは複数を介してインターホンメッセージとして前記メッセージを前記第2のユーザへ伝えるための明示的なコマンドを前記音声入力が含むと決定するステップを含む、
請求項11に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、複数のコンピューティングデバイスを使用したインターホン式の通信を提供する。
【背景技術】
【０００２】
人間は、「自動アシスタント」と本明細書で呼ばれる(「チャットボット」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「パーソナルボイスアシスタント」、「会話エージェント」などとも呼ばれる)対話型ソフトウェアアプリケーションを用いて、人間対コンピュータの対話に関与することがある。たとえば、人間(自動アシスタントと対話するときには「ユーザ」と呼ばれ得る)は、いくつかの場合にはテキストへと変換されてから処理され得る話される自然言語入力(すなわち、発話)を使用して、かつ/もしくは、テキストの(たとえば、タイプされた)自然言語入力を提供することによって、命令、質問、および/または要求を提供することができる。
【０００３】
いくつかの場合、自動アシスタントは、クライアントデバイスにローカルにインストールされユーザと直接関わる自動アシスタント「クライアント」、ならびに、クラウドの事実上無限のリソースを活用してユーザの質問に自動アシスタントクライアントが答えるのを助けるクラウドベースカウンターパートを含み得る。たとえば、自動アシスタントクライアントは、クラウドベースカウンターパートに、ユーザの質問のオーディオ記録(またはそのテキスト変換)、およびユーザの身元を示すデータ(たとえば、証明書)を提供することができる。クラウドベースカウンターパートは、質問に対して様々な処理を実行して様々な結果を自動アシスタントクライアントに返すことができ、自動アシスタントクライアントは次いで対応する出力をユーザに提供することができる。簡潔さおよび単純さのために、「自動アシスタント」という用語は、特定のユーザに「サービスする」ものとして本明細書で説明されるとき、特定のユーザのクライアントデバイスにインストールされた自動アシスタントクライアントと、ユーザの質問に答えるために自動アシスタントクライアントと対話するあらゆるクラウドベースカウンターパートとを指すことがある。
【０００４】
多くのユーザが、複数のデバイスを使用して自動アシスタントと関わり得る。たとえば、一部のユーザは、数ある従来のコンピューティングデバイスの中でも、1つまたは複数のスマートフォン、1つまたは複数のタブレットコンピュータ、1つまたは複数の車両コンピューティングシステム、1つまたは複数のウェアラブルコンピューティングデバイス、1つまたは複数のスマートテレビジョン、および/または1つまたは複数のスタンドアロンの対話型スピーカーを含む、コンピューティングデバイスの協調した「エコシステム」を保有することがある。ユーザは、これらのデバイスのいずれかを使用して(自動アシスタントクライアントがインストールされていると仮定して)自動アシスタントとの人間対コンピュータの対話に関わり得る。いくつかの場合、これらのデバイスは、ユーザの住宅または職場に分散していることがある。たとえば、スマートフォン、タブレット、スマートウォッチなどのモバイルコンピューティングデバイスは、ユーザの体に接していることがあり、かつ/またはユーザが最後に置いた場所(たとえば、充電器)にあることがある。従来のデスクトップコンピュータ、スマートテレビジョン、およびスタンドアロンの対話型スピーカーなどの他のコンピューティングデバイスは、より不動であり得るが、それでもユーザの住宅または職場内の様々な場所(たとえば、部屋)に位置していることがある。
【発明の概要】
【課題を解決するための手段】
【０００５】
複数のユーザ間でのインターホン式の会話によるコミュニケーションを容易にするために、複数のユーザ(たとえば、家族、同僚、同居人など)が複数のコンピューティングデバイスの分散型の性質を活用することを可能にする技法が存在する。しかしながら、これらの技法は、明示的に定義されたコンピューティングデバイスにメッセージを伝えるために明示的な命令をユーザが出すことに限定されている。たとえば、声の届く距離にない別の位置(たとえば、別の部屋)にいる第2のユーザにメッセージを伝えることを望む第1のユーザはまず、第2のユーザがどこに位置しているかを決定しなければならない。その後で初めて、第1のユーザは第2のユーザの位置にある、またはその近くにあるコンピューティングデバイスへのインターホン通信チャネルを明示的に呼び出すことができるので、第1のユーザは第2のユーザの位置にいる第2のユーザへメッセージを伝えることができる。第1のユーザが第2のユーザの位置を知らない場合、第1のユーザは、インターホン式通信に利用可能なすべてのコンピューティングデバイスへ、メッセージを単純にブロードキャストさせることを強いられることがある。その上、第2のユーザが声の届く距離にいないことを第1のユーザが認識していない(たとえば、第1のユーザが料理中であり、第2のユーザが台所から出て行ったことに気づかなかった)場合、第1のユーザは、インターホン式通信が必要であることを認識していない可能性があり、誰もいない部屋に向かってメッセージを話す可能性がある。
【０００６】
住宅、集合住宅、事業所などの環境中に分散する複数のコンピューティングデバイスを使用した、改善されたインターホン式通信のための技法が説明される。たとえば、環境内の複数のユーザの位置の決定を可能にすることで、(i)話されるメッセージの意図される受信者が話者の声の届く距離にいるかどうかが自動的に決定され得るように、かつ(ii)意図される受信者がメッセージを受信するように、意図される受信者の近くにある適切なコンピューティングデバイスが特定されてメッセージを出力するために使用され得るようにするための、技法が本明細書で説明される。加えて、ユーザの発話が(a)通常の使用のために自動アシスタントを呼び出すための命令であるか、(b)本明細書で説明されるインターホン式通信を必要とする可能性があり得る、話されるメッセージを別のユーザへ伝えようとする試みであるか、および/または(c)活動を必要としない他の背景雑音/会話であるかを自動的に決定するための技法が、本明細書で説明される。加えて、開示される技法を使用して受信されるインターホン式メッセージの受信者が、話者によって伝えられる最初のメッセージに少なくとも一部基づいて(たとえば、自然言語処理を使用して)処理される要求(たとえば、検索クエリ、またはピザの注文、曲の再生などの自動アシスタントへの他の命令)を、出すことを可能にするための、技法が本明細書で説明される。
【０００７】
様々な実装形態において、ユーザの位置は、様々な技法を使用して本開示の選択された態様を用いて構成されるコンピューティングデバイスによって、ある環境またはエリア内で決定され得る。たとえば、1つまたは複数のコンピューティングデバイスは、ユーザが近くにいるかどうかを決定することができる、受動赤外線(「PIR」)センサ、カメラ、マイクロフォン、超音波センサなどの、様々なタイプの存在センサを備えることがある。これらのコンピューティングデバイスは、スマートフォン、スタンドアロンの対話型スピーカー、スマートテレビジョン、他のスマート家電(たとえば、スマートサーモスタット、スマート冷蔵庫など)、ネットワーク接続されたカメラなどの、様々な形態をとることができる。加えて、または代わりに、ユーザにより持ち運ばれるモバイルコンピューティングデバイス(たとえば、スマートフォン、スマートウォッチ)によって放出される信号などの他のタイプの信号が、他のコンピューティングデバイスによって検出され、(たとえば、time-of-flight、三角測量などを使用して)ユーザの位置を決定するために使用され得る。本明細書で説明される様々な技法において利用するための、環境内でのユーザの位置の決定は、そのような決定に対する明示的なユーザにより提供される許可により左右され得る。様々な実装形態において、ユーザの位置は、ユーザの発話が、インターホン式通信を必要とし得る、話されるメッセージを別のユーザへ伝えようとする試みの構成要素であると決定したことに応答して、「オンデマンド」で決定され得る。様々な他の実装形態において、ユーザの位置は定期的に、かつ/または他の間隔で決定されることがあり、直近に決定された位置が、話されるメッセージの意図される受信者が話されるメッセージの話者の声の届く距離にいるかどうかを決定する際に、および/または、話されるメッセージの意図される受信者の近くの適切なコンピューティングデバイスを特定する際に利用される。
【０００８】
一例として、様々なスタンドアロンの対話型スピーカーおよび/またはスマートテレビジョンが、住宅の中の様々な位置に分散していることがある。これらのデバイスの各々は、近くの人間の存在を検出することが可能な1つまたは複数のセンサ(たとえば、マイクロフォン、カメラ、PIRセンサなど)を含み得る。いくつかの実施形態では、これらのデバイスは、人間が存在するかどうかを単に検出し得る。他の実施形態では、これらのデバイスは、存在を検出することが可能であるだけではなく、たとえば世帯の他の既知の構成員から、検出された人物を区別することが可能であることがある。これらのスタンドアロンの対話型スピーカーおよび/またはスマートテレビジョンによって生成された存在信号は、人々がある特定の時点でどこに位置するかを決定/追跡するために、収集および使用され得る。これらの検出された位置は次いで、話者によって提供される発話が意図される受信者により聞かれる可能性が高いかどうか(たとえば、話者および意図される受信者が異なる部屋にいるか同じ部屋にいるか)を決定すること、ならびに/または、複数のスピーカーおよび/もしくはテレビジョンのうちのいずれが意図される受信者へ発話を出力するために使用されるべきかを選択することなどの、本明細書で説明される技法に従った様々な目的で使用され得る。
【０００９】
別の態様では、ユーザの発話が(a)通常の使用のために自動アシスタントを呼び出すための命令、(b)本明細書で説明されるインターホン式通信を潜在的に必要とし得る、話されるメッセージを別のユーザへ伝えようとする試み、および/または(c)活動を必要としない他の背景雑音/会話の構成要素であるかどうかを自動的に決定するための技法が、本明細書で説明される。いくつかの実装形態では、機械学習分類器(たとえば、ニューラルネットワーク)が、たとえば、インターホン式通信リンクを使用して別のユーザにメッセージを伝えるための命令、自動アシスタントとの従来の人間対コンピュータの対話に関与するための命令、または、自動アシスタントに向けられていない会話(たとえば、背景会話および/または雑音)として分類(ラベリング)される記録された発話(および/または記録された発話の特徴)を備える訓練例を使用して訓練され得る。
【００１０】
いくつかの実施形態では、speech-to-text(「STT」)が、1つ1つの発話に対して自動的に実行されないことがある。代わりに、音声入力のオーディオ記録における音素を認識するように、および具体的には、前述のラベルのうちの1つを用いて集合的な音素を分類するように、機械学習分類器が訓練され得る。たとえば、従来の自動アシスタントは通常、1つまたは複数の呼び出しの語句を使用して呼び出される。いくつかの場合、ユーザが自動アシスタントをいつ呼び出すかを決定するために(たとえば、「Hey, Assistant」と関連付けられる音素を認識するために)これらの呼び出しの語句を他のあらゆるものから区別するように、単純な呼び出し機械学習モデル(たとえば、分類器)が訓練される。本明細書で説明される技法を用いると、本明細書で説明されるインターホン式通信の使用を必要とすることもしないこともある、メッセージを別のユーザに伝えることが意図されるものとして発話を分類するために、同じ呼び出し機械学習モデルまたは異なる機械学習モデルを(さらに)訓練することができる。いくつかの実装形態では、ユーザがインターホン式通信を使用して遠隔のコンピューティングデバイスにメッセージを別のユーザへ伝えさせることにより利益を得られるかどうかを決定するために、そのような機械学習モデルが、たとえば呼び出し機械学習モデルと並列に、またはユーザが自動アシスタントを呼び出していないことを呼び出し機械学習モデルが決定した後で使用され得る。
【００１１】
いくつかの実装形態では、ユーザにより話される名前を認識して、それらの名前を他の個人と結びつけることが可能になるように、機械学習モデルを訓練または「カスタマイズ」することができる。たとえば、自動アシスタントは、「Jan, can you pass me the salt?」(Jan、塩を取ってくれる？)などの第1の発話を検出し得る。自動アシスタントは、「Sure, here you go.」(もちろん、どうぞ)などのJanからのものと思われる第2の発話を検出し得る。これらの発話および関連する音素から、自動アシスタントは、ユーザがJanに要求を行うときに、Janの声を持つ個人を見つけるべきであることを学習し得る。その後で、Janが別の部屋で電話中であると仮定する。ユーザが「Jan, where are my shoes,」(Jan、私の靴はどこ？)のような何かを言うと、自動アシスタントは、発話が個人、すなわちJanへのメッセージを含んでいることを、この発話(特に、「Jan,…」)から決定し得る。自動アシスタントはまた、Janが恐らく声の届く距離にいないので、メッセージがインターホンメッセージとしてJanに伝えられるべきであることも決定し得る。近くのクライアントデバイス上でJanの声を検出することによって、自動アシスタントは、Janを見つけて、話者のメッセージを出力するための近くのクライアントデバイスを選択し得る。
【００１２】
他の実装形態では、ユーザは、従来の呼び出し語句を使用して自動アシスタントを呼び出し、次いで、受信者へ伝えられるべきメッセージを何らかの他のコンピューティングデバイスに出力させるように自動アシスタントに明示的に命令し得る。他のコンピューティングデバイスは、上で説明されたように受信者の検出された位置に基づいて自動的に選択され、または話しているユーザによって明示的に指定され得る。
【００１３】
さらに別の態様では、開示された技法を使用して受信されるインターホン式メッセージの受信者が、検索クエリまたは命令を自動アシスタントに出すことなどの他の活動を実行するために受信されたインターホンメッセージにおいて提供される文脈を活用することを可能にするための技法が、本明細書で説明される。たとえば、伝えられるインターホンメッセージを知覚した後で、受信者は、たとえば伝えられるインターホンメッセージを受信したコンピューティングデバイスまたは別のコンピューティングデバイスにおいて、検索クエリを出すことができる。次いで、たとえば第2のユーザにサービスする自動アシスタントによって、検索クエリに応答する検索結果が取得され得る。いくつかの実装形態では、検索結果は、元の伝えられたインターホンメッセージの内容に少なくとも一部基づいて、偏重またはランク付けされることがある。加えて、または代わりに、いくつかの実装形態では、受信者の検索クエリは、元の伝えられたインターホンメッセージの内容に少なくとも一部基づいて、明確にされ得る。
【００１４】
受信者ユーザによる後段の要求に文脈を与えるために最初の発話が使用されるいくつかの実装形態では、プライバシーを保護するために、元の話者の発話は、受信者が後段の要求を行うと決定される場合にのみ文字変換され得る(STT)。受信者がメッセージを聞くだけでありさらに何もしない場合、SSTは実行されないことがある。他の実装形態では、(たとえば、発話がインターホン式通信を通じて伝えられるべきであると決定されると)元の話者の発話は常にSSTを使用して処理され得るが、得られた文字変換は、ローカルに、かつ/または限られた時間の間(たとえば、何らかの後段の要求を行うのに十分な時間を受信者ユーザに与えるのに十分長く)記憶されるだけであり得る。
【００１５】
いくつかの実装形態では、1つまたは複数のコンピューティングデバイスは、意図されるユーザがメッセージを知覚することが可能になる(たとえば、声の届く範囲にいる)ようになるまで待機することができ、その後でようやく、本明細書で説明される技法を使用してメッセージを伝える。たとえば、第1のユーザがメッセージを意図される受信者に伝えるが、意図される受信者が一時的に外に出たと仮定する。いくつかの実装形態では、受信者が戻ると受信者を検出することになる第1のコンピューティングデバイスが、元のメッセージを出力し得る。
【００１６】
いくつかの実装形態では、1つまたは複数のプロセッサによって実行される方法であって、複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスのマイクロフォンにおいて、第1のユーザから音声入力を受信するステップと、音声入力を分析するステップと、分析に基づいて、第1のユーザがメッセージを第2のユーザへ伝えることを意図していることを決定するステップと、複数のコンピューティングデバイスに対する第2のユーザの相対的な位置を決定するステップと、複数のコンピューティングデバイスから、第2のユーザの位置に基づいて、第2のユーザが知覚可能なオーディオ出力または視覚出力を提供することが可能な第2のコンピューティングデバイスを選択するステップと、第2のユーザへメッセージを搬送するオーディオ出力または視覚出力を第2のコンピューティングデバイスに独占的に提供させるステップ(たとえば、他のコンピューティングデバイスを除外し、第2のコンピューティングデバイスのみが出力を提供する)とを含む、1つまたは複数のプロセッサによって実行される方法が提供される。
【００１７】
本明細書で開示される技術のこれらおよび他の実装形態は、任意選択で以下の特徴のうちの1つまたは複数を含み得る。
【００１８】
様々な実装形態において、分析するステップは、出力を生成するための訓練された機械学習モデルにわたる入力として、音声入力のオーディオ記録を適用するステップを含むことがあり、出力は、第1のユーザがメッセージを第2のユーザに伝えることを意図していることを示す。様々な実装形態において、機械学習モデルは、ラベリングされた発話のコーパスを使用して訓練されることがあり、発話に適用されるラベルは、メッセージを別のユーザに伝えるための命令を示す第1のラベルと、自動アシスタントとの人間対コンピュータの対話に関わるための命令を示す第2のラベルとを含む。様々な実装形態において、発話に適用されるラベルはさらに、背景会話を示す第3のラベルを含み得る。
【００１９】
様々な実装形態において、選択するステップは、第2のユーザの位置に基づく、第2のユーザが第1のユーザの声の届く距離にいないという決定に応答して実行され得る。様々な実装形態において、第2のユーザの位置は、第2のユーザによって操作されるモバイルコンピューティングデバイスによって生成される1つまたは複数の信号に少なくとも一部基づいて決定され得る。本明細書で説明される概念および主題は、メッセージを搬送して受信するために使用される技術機器に対して効率的である方式で、メッセージが意図される人物に伝えられ、その人物により受け取られることを保証し得ることを、当業者は本明細書を読めば理解するであろう。これは、メッセージが意図される人物により適切に理解され得るように、かつこの目的で技術機器によりメッセージが再び伝えられる/再び受信される必要がないように、適切な時間における意図される人物による知覚のために、メッセージが伝えられ配信されることを含み得る。技術機器は、上で言及された複数のコンピューティングデバイス、ならびに、デバイス間でメッセージがそれを介して伝えられ得るネットワークを含み得る。メッセージが搬送される方式および時間が効率的であることは、コンピューティングデバイス間のネットワークの少なくともより効率的な使用をもたらし、メッセージを搬送して受信するために利用されるコンピューティングデバイス内の計算リソースのより効率的な使用ももたらし得る。
【００２０】
様々な実装形態において、第2のユーザの位置は、第1のコンピューティングデバイス以外の複数のコンピューティングデバイスのうちの1つまたは複数によって生成される1つまたは複数の信号に少なくとも一部基づいて決定され得る。様々な実装形態において、1つまたは複数の信号は、受動赤外線または超音波を使用して、第1のコンピューティングデバイス以外の複数のコンピューティングデバイスのうちの1つまたは複数によって検出される、第2のユーザを示す信号を含み得る。様々な実装形態において、1つまたは複数の信号は、カメラまたはマイクロフォンを使用して、第1のコンピューティングデバイス以外の複数のコンピューティングデバイスのうちの1つまたは複数によって検出される、第2のユーザを示す信号を含み得る。
【００２１】
様々な実装形態において、分析するステップは、音声入力が、複数のコンピューティングデバイスのうちの1つまたは複数を介してインターホンメッセージとしてメッセージを第2のユーザに伝えるための明示的な命令を含むことを、決定するステップを含み得る。様々な実装形態において、分析するステップは、音声入力に対してspeech-to-text処理を実行してテキスト入力を生成するステップと、テキスト入力に対して自然言語処理を実行してユーザがメッセージを第2のユーザへ伝えることを意図していることを決定するステップとを含み得る。
【００２２】
様々な実装形態において、方法は、オーディオ出力または視覚出力が第2のコンピューティングデバイスによって提供された後で、第2のユーザによって出される検索クエリを特定するステップと、検索クエリに応答する検索結果を取得するステップであって、第1のユーザからの音声入力に少なくとも一部基づく、ステップと、複数のコンピューティングデバイスのうちの1つまたは複数に、検索結果の少なくとも一部を示す出力を提供させるステップとをさらに含み得る。
【００２３】
別の態様では、方法は、訓練された機械学習モデルにアクセスするステップであって、機械学習モデルが、ラベリングされた音声入力のコーパスを使用して、音声入力が無視されるべき背景会話を示すか、または1人または複数の他のユーザにメッセージを伝えるというユーザの意図を示すかを予測するように訓練される、ステップと、複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスのマイクロフォンにおいて、第1のユーザから音声入力を受信するステップと、音声入力を分析するステップであって、出力を生成するために訓練された機械学習モデルにわたる入力として音声入力のオーディオ記録を示すデータを適用するステップを含み、出力が、第1のユーザがメッセージを1人または複数の他のユーザに伝えることを意図していることを示す、ステップと、分析に基づいて、第1のユーザがメッセージを1人または複数の他のユーザに伝えることを意図していると決定するステップと、複数のコンピューティングデバイスのうちの1つまたは複数の他のコンピューティングデバイスに、メッセージを1人または複数の他のユーザへ伝えるオーディオ出力または視覚出力を提供させるステップとを含み得る。
【００２４】
様々な実装形態において、方法は、第1のコンピューティングデバイスのマイクロフォンにおいて、追加の音声入力を受信するステップと、追加の音声入力を分析するステップであって、追加の出力を生成するために訓練された機械学習モデルにわたる入力として音声入力のオーディオ記録を示すデータを適用するステップを含み、追加の出力が、追加の音声入力が無視されるべき背景雑音を示すことを示す、ステップと、追加の音声入力が無視されるべき背景雑音を示すことを示す追加の出力に応答して、追加の音声入力を無視するステップとをさらに含み得る。
【００２５】
様々な実装形態において、機械学習モデルは、ラベリングされた音声入力のコーパスを使用して訓練され、音声入力に適用されるラベルは、メッセージを1人または複数の他のユーザに伝えるというユーザの意図を示す第1のラベルと、複数のユーザ間の背景会話を示す第2のラベルとを含む。様々な実装形態において、音声入力に適用されるラベルは、自動アシスタントとの人間対コンピュータの対話に関わるというユーザの意図を示す第3のラベルをさらに含む。
【００２６】
様々な実装形態において、方法は、複数のコンピューティングデバイスに対する1人または複数のユーザのうちの第2のユーザの相対的な位置を決定するステップと、複数のコンピューティングデバイスから、第2のユーザの位置に基づいて、第2のユーザに知覚可能なオーディオ出力または視覚出力を提供することが可能な第2のコンピューティングデバイスを選択するステップとを含み得る。様々な実装形態において、提供させるステップは、第2のコンピューティングデバイスに、メッセージを第2のユーザへ伝えるオーディオ出力または視覚出力を提供させるステップをさらに含む。
【００２７】
様々な実装形態において、提供させるステップは、複数のコンピューティングデバイスのすべてを使用してメッセージを1人または複数の他のユーザにブロードキャストするステップを備える。様々な実装形態において、分析するステップは、オーディオ記録を示すデータとしてテキスト入力を生成するために、音声入力のオーディオ記録に対してspeech-to-text処理を実行するステップを含み、テキスト入力は訓練された機械学習モデルにわたる入力として適用される。
【００２８】
さらに別の態様では、方法は、複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスのマイクロフォンにおいて、第1のユーザから音声入力を受信するステップと、音声入力を分析するステップと、分析に基づいて、第1のユーザがメッセージを第2のユーザに伝えることを意図していると決定するステップと、複数のコンピューティングデバイスのうちの1つまたは複数の他のコンピューティングデバイスに、メッセージを第2のユーザへ伝えるオーディオ出力または視覚出力を提供させるステップと、オーディオ出力または視覚出力が複数のコンピューティングデバイスのうちの1つまたは複数の他のコンピューティングデバイスによって提供された後で、複数のコンピューティングデバイスのうちの第2のコンピューティングデバイスにおいて第2のユーザにより出される検索クエリを特定するステップと、第1のユーザからの音声入力に少なくとも一部基づいて、第2のユーザによって出される検索クエリの少なくとも一部を明確にするステップと、明確にされた検索クエリに応答する検索結果を取得するステップと、他のコンピューティングデバイスのうちの1つまたは複数に、検索結果の少なくとも一部を示す出力を提供させるステップとを含み得る。
【００２９】
様々な実装形態において、複数のコンピューティングデバイスのうちの1つまたは複数の他のコンピューティングデバイスに、メッセージを第2のユーザへ伝えるオーディオ出力または視覚出力を提供させるステップは、複数のコンピューティングデバイスに対する第2のユーザの相対的な位置を決定するステップと、複数のコンピューティングデバイスから、第2のユーザの位置に基づいて、第2のユーザが知覚可能なオーディオ出力または視覚出力を提供することが可能な第2のコンピューティングデバイスを選択するステップと、第2のコンピューティングデバイスに、メッセージを第2のユーザへ搬送するオーディオ出力または視覚出力を独占的に提供させるステップとを備える。様々な実装形態において、第2のユーザの位置は、第1のコンピューティングデバイス以外の複数のコンピューティングデバイスのうちの1つまたは複数によって生成される1つまたは複数の信号に少なくとも一部基づいて決定される。様々な実装形態において、1つまたは複数の信号は、受動赤外線または超音波を使用して、第1のコンピューティングデバイス以外の複数のコンピューティングデバイスのうちの1つまたは複数によって検出される、第2のユーザを示す信号を含む。様々な実装形態において、1つまたは複数の信号は、カメラまたはマイクロフォンを使用して、第1のコンピューティングデバイス以外の複数のコンピューティングデバイスのうちの1つまたは複数によって検出される、第2のユーザを示す信号を含む。
【００３０】
様々な実装形態において、分析するステップは、音声入力が、複数のコンピューティングデバイスのうちの1つまたは複数を介してインターホンメッセージとしてメッセージを第2のユーザに伝えるための明示的な命令を含むと、決定するステップを含む。
【００３１】
加えて、いくつかの実装形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは関連するメモリに記憶されている命令を実行するように動作可能であり、命令は前述の方法のいずれかの実行を引き起こすように構成される。いくつかの実装形態はまた、前述の方法のいずれかを実行するように1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する、1つまたは複数の非一時的コンピュータ可読記憶媒体を含む。
【００３２】
本明細書でより詳細に説明される前述の概念および追加の概念のすべての組合せが、本明細書で開示される主題の一部として企図されることを理解されたい。たとえば、本開示の末尾に現れる特許請求される主題のすべての組合せが、本明細書で開示される主題の一部であるものとして企図される。
【図面の簡単な説明】
【００３３】
【図１Ａ】本明細書で開示される実装形態が実装され得る例示的な環境のブロック図である。
【図１Ｂ】様々な実装形態による、ユーザの発話および/または位置に基づいて出力を生成するために訓練された分類器がどのように適用され得るかの一例を概略的に示す図である。
【図２】様々な実装形態による、インターホン式通信を含む様々なユーザと自動アシスタントとの間の例示的な対話を示す図である。
【図３】様々な実装形態による、インターホン式通信を含む様々なユーザと自動アシスタントとの間の例示的な対話を示す図である。
【図４】様々な実装形態による、インターホン式通信を含む様々なユーザと自動アシスタントとの間の例示的な対話を示す図である。
【図５】本明細書で開示される実装形態による例示的な方法を示すフローチャートである。
【図６】コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【００３４】
ここで図1Aを見ると、本明細書で開示される技法が実施され得る例示的な環境が示されている。例示的な環境は、複数のクライアントコンピューティングデバイス1061-Nを含む。各クライアントデバイス106は、自動アシスタントクライアント118のそれぞれのインスタンスを実行し得る。自然言語プロセッサ122などの1つまたは複数のクラウドベース自動アシスタント構成要素119は、全般的に110において示される1つまたは複数のローカルエリアネットワークおよび/またはワイドエリアネットワーク(たとえば、インターネット)を介してクライアントデバイス1061-Nに通信可能に結合される、1つまたは複数のコンピューティングシステム(「クラウド」コンピューティングシステムと集合的に呼ばれる)上で実装され得る。また、いくつかの実施形態では、複数のクライアントデバイス1061-Nは、1つまたは複数のローカルエリアネットワーク(Wi-Fi LAN、メッシュネットワークなどを含む「LAN」)を介して互いに通信可能に結合され得る。
【００３５】
いくつかの実装形態では、複数のクライアントコンピューティングデバイス1061-N(単に「クライアントデバイス」とも本明細書で呼ばれる)は、本明細書で説明される技法の実行を促進するために、様々な方法で互いに関連付けられ得る。たとえば、いくつかの実装形態では、複数のクライアントコンピューティングデバイス1061-Nは、1つまたは複数のLANを介して通信可能に結合されることにより互いに関連付けられ得る。これは、たとえば、複数のクライアントコンピューティングデバイス1061-Nが、住宅、建物、キャンパスなどの特定のエリアまたは環境中に展開されている場合に、当てはまり得る。加えて、または代わりに、いくつかの実装形態では、複数のクライアントコンピューティングデバイス1061-Nは、それらが1人または複数のユーザ(たとえば、個人、家族、組織の従業員、他のあらかじめ定められた集団など)によって操作されるクライアントデバイス106の協調したエコシステムの一員であることにより、互いに関連付けられ得る。
【００３６】
背景技術において述べられたように、自動アシスタントクライアント118のインスタンスは、1つまたは複数のクラウドベース自動アシスタント構成要素119との対話によって、ユーザがそれとの人間対コンピュータの対話に関わり得る自動アシスタント120の論理インスタンスであるようにユーザの視点からは見えるものになり得る。そのような自動アシスタント120の2つのインスタンスが図1Aに示されている。破線で囲まれた第1の自動アシスタント120Aは、第1のクライアントデバイス1061を操作する第1のユーザ(図示されず)にサービスし、自動アシスタントクライアント1181および1つまたは複数のクラウドベース自動アシスタント構成要素119を含む。二鎖点線(dash-dash-dot line)で囲まれた第2の自動アシスタント120Bは、別のクライアントデバイス106Nを操作する第2のユーザ(図示されず)にサービスし、自動アシスタントクライアント118Nおよび1つまたは複数のクラウドベース自動アシスタント構成要素119を含む。したがって、クライアントデバイス106上で実行される自動アシスタントクライアント118と関わる各ユーザは、実質的に、ユーザ固有の自動アシスタントクライアント120の論理インスタンスと関わり得ることを理解されたい。簡潔さおよび単純さのために、特定のユーザに「サービスする」ものとして本明細書で使用されるような「自動アシスタント」という用語は、ユーザによって操作されるクライアントデバイス106上で実行される自動アシスタントクライアント118と、1つまたは複数のクラウドベース自動アシスタント構成要素119(複数の自動アシスタントクライアント118の間で共有され得る)との組合せを指す。いくつかの実装形態では、自動アシスタント120は、ユーザが自動アシスタント120のその特定のインスタンスによって実際に「サービスされる」かどうかにかかわらず、あらゆるユーザからの要求に応答し得ることも理解されたい。
【００３７】
クライアントデバイス1061-Nは、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、携帯電話コンピューティングデバイス、ユーザの車両のコンピューティングデバイス(たとえば、車載通信システム、車載エンターテインメントシステム、車載ナビゲーションシステム)、スタンドアロンの対話型スピーカー、スマートテレビジョンなどのスマート家電、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザの眼鏡、仮想現実または拡張現実コンピューティングデバイス)のうちの1つまたは複数を含み得る。追加のおよび/または代替のクライアントコンピューティングデバイスが提供され得る。
【００３８】
様々な実装形態では、クライアントコンピューティングデバイス1061-Nのうちの1つまたは複数は、存在、特に人の存在の検出を示す信号を提供するように構成される、1つまたは複数の存在センサ1051-Nを含み得る。存在センサ1051-Nは様々な形態をとり得る。一部のクライアントデバイス106は、その視野において検出された動きを示す信号を捕捉して提供するように構成される、1つまたは複数のデジタルカメラを装備し得る。加えて、または代わりに、一部のクライアントデバイス106は、その視野内の物体から放射する赤外(「IR」)光を測定する受動赤外線(「PIR」)センサなどの、他のタイプの光ベースの存在センサ105を装備し得る。加えて、または代わりに、一部のクライアントデバイス106は、1つまたは複数のマイクロフォンなどの、音波(または圧力波)を検出する存在センサ105を装備し得る。
【００３９】
加えて、または代わりに、いくつかの実装形態では、存在センサ105は、人の存在と関連付けられる他の現象を検出するように構成され得る。たとえば、いくつかの実施形態では、クライアントデバイス106は、たとえば、特定のユーザにより携帯/操作されるモバイルクライアントデバイス106によって放出される様々なタイプの波(たとえば、無線波、超音波、電磁波など)を検出する、存在センサ105を装備し得る。たとえば、一部のクライアントデバイス106は、(たとえば、超音波対応マイクロフォンなどの超音波/赤外線受信機を介して)他のクライアントデバイス106によって検出され得る、超音波または赤外波などの人が知覚不可能な波を放出するように構成され得る。
【００４０】
加えて、または代わりに、様々なクライアントデバイス106は、1つまたは複数の他のクライアントデバイス106によって検出され操作しているユーザの具体的な位置を決定するために使用され得る無線波(たとえば、Wi-Fi、Bluetooth(登録商標)、セルラーなど)などの、他のタイプの人が知覚不可能な波を放出し得る。いくつかの実装形態では、Wi-Fi三角測量が、たとえばクライアントデバイス106への/からのWi-Fi信号に基づいて、人物の位置を検出するために使用され得る。他の実装形態では、time-of-flight、信号強度などの他のワイヤレス信号の特性が、単独でまたは集合的に、ある特定の人物の位置をその人物が携帯するクライアントデバイス106により放出される信号に基づいて決定するために、様々なクライアントデバイス106によって使用され得る。
【００４１】
加えて、または代わりに、いくつかの実装形態では、1つまたは複数のクライアントデバイス106は、音声認識を実行して、ある個人をその個人の声から認識し得る。たとえば、一部の自動アシスタント120は、たとえば、様々なリソースへのアクセスを提供/制約する目的で、声をユーザのプロファイルと照合するように構成され得る。いくつかの実装形態では、次いで、たとえば、照明、照明スイッチ、スマートサーモスタット、防犯カメラなどにたとえば組み込まれ得る1つまたは複数の他の存在センサによって、話者の動きを追跡することができる。いくつかの実装形態では、そのような検出された動きに基づいて、個人の位置を予測することができ、この位置は、他の個人(すなわち、話者)が第1の個人に対するメッセージを伴う発話を提供するとき、その個人の位置であると想定され得る。いくつかの実装形態では、最後の関わりから長い時間が経過していない場合には特に、個人が自動アシスタント120と関わった最後の位置にその個人がいるものと単に想定されることがある。
【００４２】
クライアントコンピューティングデバイス1061-Nの各々は、複数のメッセージ交換クライアント1071-Nのうちの対応する1つなどの、様々な異なるアプリケーションを動作させ得る。メッセージ交換クライアント1071-Nは様々な形態をとることがあり、それらの形態はクライアントコンピューティングデバイス1061-Nにわたって変化することがあり、かつ/または複数の形態がクライアントコンピューティングデバイス1061-Nのうちの単一のデバイス上で動作させられることがある。いくつかの実装形態では、メッセージ交換クライアント1071-Nのうちの1つまたは複数は、ショートメッセージングサービス(「SMS」)および/またはマルチメディアメッセージングサービス(「MMS」)クライアント、オンラインチャットクライアント(たとえば、インスタントメッセンジャー、インターネットリレーチャット、または「IRC」など)、ソーシャルネットワークと関連付けられるメッセージングアプリケーション、自動アシスタント120との会話に専用の個人向けアシスタントメッセージングサービスなどの形態をとり得る。いくつかの実装形態では、メッセージ交換クライアント1071-Nのうちの1つまたは複数は、ウェブブラウザ(図示されず)またはクライアントコンピューティングデバイス106の他のアプリケーションによってレンダリングされる、ウェブページまたは他のリソースを介して実装され得る。
【００４３】
本明細書でより詳細に説明されるように、自動アシスタント120は、1つまたは複数のクライアントデバイス1061-Nのユーザインターフェース入力および出力デバイスを介して、1人または複数のユーザとの人間対コンピュータの対話セッションに関わる。いくつかの実装形態では、自動アシスタント120は、クライアントデバイス1061-Nのうちの1つの1つまたは複数のユーザインターフェース入力デバイスを介してユーザによって提供されるユーザインターフェース入力に応答して、ユーザとの人間対コンピュータの対話セッションに関わり得る。それらの実装形態のいくつかにおいて、ユーザインターフェース入力は、自動アシスタント120へ明示的に向けられる。たとえば、メッセージ交換クライアント1071-Nのうちの1つは、自動アシスタント120との会話に専用の個人向けアシスタントメッセージングサービスであることがあり、個人向けアシスタントメッセージングサービスを介して提供されるユーザインターフェース入力は、自動アシスタント120へ自動的に提供されることがある。また、たとえば、ユーザインターフェース入力は、自動アシスタント120が呼び出されるべきであることを示す特定のユーザインターフェース入力に基づいて、メッセージ交換クライアント1071-Nのうちの1つまたは複数において自動アシスタント120へ明示的に向けられ得る。たとえば、特定のユーザインターフェース入力は、1つまたは複数のタイプされた文字(たとえば、@AutomatedAssistant)、ハードウェアボタンおよび/もしくは仮想ボタンとのユーザの対話(たとえば、タップ、ロングタップ)、口頭の命令(たとえば、「Hey Automated Assistant」)、ならびに/または他の特定のユーザインターフェース入力であり得る。
【００４４】
いくつかの実装形態では、自動アシスタント120は、ユーザインターフェース入力が自動アシスタント120へ明示的に向けられていないときでも、ユーザインターフェース入力に応答して対話セッションに関わり得る。たとえば、自動アシスタント120は、ユーザインターフェース入力の内容を検査し、何らかの用語がユーザインターフェース入力に存在することに応答して、および/または他の手がかりに基づいて、対話セッションに関わり得る。多くの実装形態において、自動アシスタント120は対話型音声応答(「IVR」)を採用し得るので、ユーザは命令、検索などを発話することができ、自動アシスタントは、自然言語処理および/または1つまたは複数の文法を利用して発話をテキストへ変換し、それに従ってテキストに応答し得る。いくつかの実装形態では、自動アシスタント120は、加えて、または代わりに、発話をテキストに変換することなく発話に応答することができる。たとえば、自動アシスタント120は、音声入力を、埋め込みへと、エンティティ表現(音声入力において存在する1つ/複数のエンティティを示す)へと、および/または他の「非テキスト」表現へと変換し、そのような非テキスト表現に対して動作することができる。したがって、音声入力から変換されたテキストに基づいて動作するものとして本明細書で説明される実装形態は、加えて、かつ/または代わりに、音声入力に対して直接、かつ/または音声入力の他の非テキスト表現に対して動作し得る。
【００４５】
クライアントコンピューティングデバイス1061-Nおよびクラウドベース自動アシスタント構成要素119を動作させるコンピューティングデバイスの各々は、データとソフトウェアアプリケーションの記憶のための1つまたは複数のメモリ、データにアクセスしてアプリケーションを実行するための1つまたは複数のプロセッサ、およびネットワークを介した通信を促進する他の構成要素を含み得る。クライアントコンピューティングデバイス1061-Nのうちの1つまたは複数によって、かつ/または自動アシスタント120によって実行される動作は、複数のコンピュータシステム中に分散され得る。自動アシスタント120は、たとえば、ネットワークを通じて互いに結合される1つまたは複数の位置にある1つまたは複数のコンピュータ上で実行されるコンピュータプログラムとして実装され得る。
【００４６】
上で述べられたように、様々な実装形態において、クライアントコンピューティングデバイス1061-Nの各々は、自動アシスタントクライアント118を動作させ得る。様々な実施形態において、各自動アシスタントクライアント118は、対応する談話捕捉(speech capture)/text-to-speech(「TTS」)/STTモジュール114を含み得る。他の実装形態では、談話捕捉/TTS/STTモジュール114の1つまたは複数の態様は、自動アシスタントクライアント118とは別々に実装され得る。
【００４７】
各談話捕捉/TTS/STTモジュール114は、たとえばマイクロフォン(いくつかの場合には存在センサ105を備え得る)を介してユーザの談話を捕捉すること、捕捉されたオーディオをテキストに(および/または他の表現もしくは埋め込みに)変換すること、および/またはテキストを談話に変換することという、1つまたは複数の機能を実行するように構成され得る。たとえば、いくつかの実装形態では、クライアントデバイス106はコンピューティングリソース(たとえば、プロセッササイクル、メモリ、バッテリーなど)に関して比較的制約されていることがあるので、各クライアントデバイス106にローカルである談話捕捉/TTS/STTモジュール114は、有限の数の異なる話される語句、特に自動アシスタント120および/またはインターホン式通信を呼び出す語句を、テキストに(または、より低次元の埋め込みなどの他の形式に)変換するように構成され得る。他の談話入力はクラウドベース自動アシスタント構成要素119に送信されることがあり、これは、クラウドベースTTSモジュール116および/またはクラウドベースSTTモジュール117を含むことがある。
【００４８】
いくつかの実装形態では、本明細書で説明されるようなインターホン式通信の実装に寄与する構成要素は意図的に、たとえば同じLAN上にあることで互いに関連付けられる、1つまたは複数のクライアントデバイス106上で独占的に動作させられ得る。いくつかのそのような実装形態では、本明細書の他の箇所で説明される任意の機械学習モデルが、たとえばインターネットファイアーウォールの背後で、訓練され、かつ/または1つまたは複数のクライアントデバイス106に記憶され得るので、機械学習モデルによって生成される、またはそれと関連付けられる訓練データおよび他の情報は、プライバシーが保たれ得る。そして、いくつかのそのような実装形態では、クラウドベースSTTモジュール117、クラウドベースTTSモジュール116、および/または自然言語プロセッサ122のクラウドベースの態様は、インターホン式通信の呼び出しに関与しないことがある。
【００４９】
クラウドベースSTTモジュール117は、クラウドの実質的に無限のリソースを活用して、談話捕捉/TTS/STTモジュール114によって捕捉されたオーディオデータをテキスト(これは次いで自然言語プロセッサ122に提供され得る)へと変換するように構成され得る。クラウドベースTTSモジュール116は、クラウドの実質的に無限のリソースを活用して、テキストデータ(たとえば、自動アシスタント120によってまとめられた自然言語応答)をコンピュータで生成される談話出力へと変換するように構成され得る。いくつかの実装形態では、TTSモジュール116は、コンピュータで生成される談話出力をクライアントデバイス106に提供して、たとえば1つまたは複数のスピーカーを使用して直接出力されるようにし得る。他の実装形態では、自動アシスタント120によって生成されたテキストデータ(たとえば、自然言語応答)は、談話捕捉/TTS/STTモジュール114に提供されることがあり、これが次いで、テキストデータを、ローカルに出力されるコンピュータで生成される談話へと変換することがある。
【００５０】
自動アシスタント120(および具体的には、クラウドベース自動アシスタント構成要素119)は、自然言語プロセッサ122、前述のTTSモジュール116、前述のSTTモジュール117、および他の構成要素を含むことがあり、これらの一部が以下でより詳細に説明される。いくつかの実装形態では、自動アシスタント120のエンジンおよび/またはモジュールのうちの1つまたは複数が、省略され、組み合わされ、かつ/または自動アシスタント120とは別個の構成要素において実装され得る。上で述べられたように、いくつかの実装形態では、プライバシーを守るために、自然言語プロセッサ122、談話捕捉/TSS/STTモジュール114などの自動アシスタント120の構成要素のうちの1つまたは複数が、(たとえば、クラウドを除外して)クライアントデバイス106に少なくとも一部基づいて実装され得る。いくつかのそのような実装形態では、談話捕捉/TSS/STTモジュール114は、インターホン式通信を可能にするために本開示の選択された態様を実行し、一方で、いくつかの場合には、他のインターホンに関連しない自然言語処理の態様を適切であればクラウドベースの構成要素に残すように、十分に構成され得る。
【００５１】
いくつかの実装形態では、自動アシスタント120は、自動アシスタント120との人間対コンピュータの対話セッションの間にクライアントデバイス1061-Nのうちの1つのユーザによって生成される様々な入力に応答して、応答内容を生成する。自動アシスタント120は、対話セッションの一部としてユーザに提示するために、(たとえば、ユーザのクライアントデバイスとは別個であるときは1つまたは複数のネットワークを介して)応答内容を提供し得る。たとえば、自動アシスタント120は、クライアントデバイス1061-Nのうちの1つを介して提供される自由形式の自然言語入力に応答して、応答内容を生成し得る。本明細書で使用される場合、自由形式の入力は、ユーザによってまとめられ、ユーザによる選択のために提示される選択肢のグループに制約されない入力である。
【００５２】
本明細書で使用される場合、「対話セッション」は、ユーザと自動アシスタント120(およびいくつかの場合、他の人間の参加者)との間での1つまたは複数のメッセージの、論理的に自己充足式の交換を含み得る。自動アシスタント120は、セッションとセッションの間の時間の経過、セッション間でのユーザの状況(たとえば、位置、予定されている会議の前/間/後など)の変化、ユーザと自動アシスタントとの間の対話以外の、ユーザとクライアントデバイスとの間の1つまたは複数の介在する対話の検出(たとえば、ユーザがしばらくの間アプリケーションを切り替える、ユーザがスタンドアロンの音声で起動する製品から立ち去り、後で戻ってくる)、セッションとセッションの間のクライアントデバイスのロック/スリープ、自動アシスタント120の1つまたは複数のインスタンスとインターフェースするために使用されるクライアントデバイスの変化などの、様々な信号に基づいてユーザとの複数の対話セッションを区別し得る。
【００５３】
自動アシスタント120の自然言語プロセッサ122は、クライアントデバイス1061-Nを介してユーザによって生成される自然言語入力を処理し、自動アシスタント120の1つまたは複数の他の構成要素による使用のためにアノテートされた出力を生成し得る。たとえば、自然言語プロセッサ122は、クライアントデバイス1061の1つまたは複数のユーザインターフェース入力デバイスを介してユーザによって生成される、自然言語の自由形式の入力を処理し得る。生成されたアノテートされた出力は、自然言語入力の1つまたは複数のアノテーションと、任意選択で自然言語入力の用語のうちの1つまたは複数(たとえば、すべて)とを含む。
【００５４】
いくつかの実装形態では、自然言語プロセッサ122は、自然言語入力における様々なタイプの文法情報を特定してアノテートするように構成される。たとえば、自然言語プロセッサ122は、文法的な役割をもつ用語をアノテートするように構成される談話タガーの部分を含み得る。たとえば、談話タガーのその部分は、各用語を、「名詞」、「動詞」、「形容詞」、「代名詞」などの談話の部分でタグ付けし得る。また、たとえば、いくつかの実装形態では、自然言語プロセッサ122は加えて、かつ/または代わりに、自然言語入力における用語間の構文的な関係を決定するように構成される、依存性解析器(図示されず)を含み得る。たとえば、依存性解析器は、どの用語が他の用語を修飾するか、文章の主語および動詞など(たとえば、解析木)を決定することができ、そのような依存性のアノテーションを行うことができる。
【００５５】
いくつかの実装形態では、自然言語プロセッサ122は、加えて、かつ/または代わりに、人々(たとえば、文学の登場人物、有名人、公人などを含む)、組織、位置(現実のおよび想像上の)などへの言及などの、1つまたは複数のセグメントにおけるエンティティへの言及をアノテートするように構成されるエンティティタガー(図示されず)を含み得る。いくつかの実装形態では、エンティティについてのデータは、知識グラフ(図示されず)の中などの、1つまたは複数のデータベースの中に記憶され得る。いくつかの実装形態では、知識グラフは、既知のエンティティ(およびいくつかの場合、エンティティ属性)を表すノード、ならびに、ノードを接続しエンティティ間の関係を表すエッジを含み得る。たとえば、「バナナ」ノードは「果物」ノードへと(たとえば、子として)接続されることがあり、「果物」ノードは「生産」および/または「食物」ノードへと(たとえば、子として)接続されることがある。別の例として、「Hypothetical Cafe」と呼ばれるレストランは、その住所、提供される料理のタイプ、営業時間、連絡先情報などの属性も含むノードによって表され得る。「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つまたは複数のアノテーションを決定するために、関連する以前の入力および/または特定の自然言語入力の外側の他の関連するデータを使用し得る。
【００５９】
様々な実装形態において、クラウドベース自動アシスタント構成要素119は、インターホン通信分析サービス(「ICAS」)138および/またはインターホン通信位置サービス(「ICLS」)140を含み得る。他の実装形態では、サービス138および/または140は、たとえば、1つまたは複数のクライアントデバイス106および/または別のコンピュータシステム(たとえば、いわゆる「クラウド」の中の)上で、クラウドベース自動アシスタント構成要素119とは別個に実装され得る。
【００６０】
様々な実装形態において、ICAS138は、様々な信号および/またはデータ点に基づいて、複数のクライアントデバイス106を使用した複数のユーザ間でのインターホン式の通信を、どのように、かつ/またはいつ促進するかを決定するように構成され得る。たとえば、様々な実装形態において、ICAS138は、複数の関連するクライアントデバイス1061-Nのうちのあるクライアントデバイス106のマイクロフォンにおいて第1のユーザにより提供される音声入力を分析するように構成され得る。様々な実装形態において、ICAS138は、第1のユーザの音声入力を分析し、分析に基づいて、第2のユーザに宛てられるメッセージを音声入力が含むことを決定し得る。
【００６１】
第1のユーザがメッセージを第2のユーザに伝えることを意図しているかどうかを決定するための分析の一部として、様々な技法が利用され得る。いくつかの実装形態では、第1のユーザの音声入力のオーディオ記録が、出力を生成するための訓練された機械学習分類器にわたる入力として適用され得る。この出力は、第1のユーザの音声入力が第2のユーザに宛てられるメッセージを含んでいたことを示し得る。限定はされないが様々なタイプのニューラルネットワーク(たとえば、フィードフォワード、畳み込みなど)を含む、様々なタイプの機械学習分類器(またはより一般的には「モデル」)が、そのような出力を提供するために訓練され得る。
【００６２】
いくつかの実装形態では、ユーザの発話のラベリングされた音素が、より低次元の表現への発話の埋め込みを学習するように、ニューラルネットワークなどの機械学習モデルを訓練するために使用され得る。元の音素のより低次元の表現を含み得るこれらの埋め込みが次いで、ユーザが本明細書で説明されるインターホン式通信をいつ使用することを意図するか、および/または、別の人物に宛てられるメッセージをユーザの発話がいつ含むかを特定するために、(訓練されたモデルのための入力として)使用され得る。たとえば、ラベリングされた発話は、たとえばそれらがインターホン式通信および非インターホン式通信と関連付けられる集団へとクラスタリングされるように、次元が削減された空間へと埋め込まれ得る。次いで、新しいラベリングされていない発話を埋め込むことができ、その発話を、それが埋め込んでいるクラスタのうちのいずれが最も近い(たとえば、ユークリッド空間において)かに基づいて分類することができる。
【００６３】
いくつかの実装形態では、ニューラルネットワーク(たとえば、他の分類器)は、ラベリングされたユーザの発話のコーパスの形態の訓練データを使用して訓練され得る(訓練が「教師あり」である場合)。発話のコーパスに適用されるラベルは、たとえば、別のユーザに宛てられるメッセージを含む発話を示す第1のラベル、自動アシスタント120との人間対コンピュータの対話に関わるための命令を示す第2のラベル、および/または、背景雑音(これは無視され得る)を示す第3のラベルを含み得る。ラベリングされた訓練例は、訓練されていないニューラルネットワークへの入力として適用され得る。訓練されていない(または完全には訓練されていない)ニューラルネットワークの出力とラベルとの差は、誤差としても知られており、誤差を減らすようにニューラルネットワークの1つまたは複数の隠れ層の様々な重みを調整するために、逆伝播、確率的勾配降下、目的関数最適化などの技法を用いて、決定されて使用され得る。
【００６４】
背景技術において述べられたように、ニューラルネットワークなどの機械学習分類器は、自動アシスタント120を呼び出すことが意図される発話の音素または他のオーディオ特性を認識(たとえば、分類)するようにすでに訓練されていることがある。いくつかの実装形態では、同じ分類器が、自動アシスタント120の明示的な呼び出しを認識(たとえば、分類)することと、第2のユーザに宛てられるメッセージを発話が含むかどうかを決定することとの両方のために、さらに訓練され得る。他の実装形態では、別個の機械学習分類器が、これらの2つのタスクの各々のために、たとえば順番に、または並列に使用され得る。
【００６５】
捕捉(記録)された発話が別のユーザに宛てられるメッセージを含むことを決定したことに加えて、たとえば、話者および意図される受信者のそれぞれの位置に基づいて、インターホン式通信が保証されるかどうかも決定され得る。様々な実装形態において、ICLS140は、たとえばクライアントデバイス1061-Nのうちの1つまたは複数と関連付けられる存在センサ105を使用して、複数のクライアントデバイス1061-Nに対する意図される受信者の相対的な位置を決定し得る。たとえば、ICLS140は、どのクライアントデバイス106が意図される受信者に最も近いか、および/または、意図される受信者がどの部屋の中にいるか(これはいくつかの場合、その部屋に展開されているクライアントデバイスと関連付けられ得る)を決定し得る。ICLS140によって決定される意図される受信者の位置に基づいて、様々な実装形態において、ICAS138は、複数のクライアントデバイス1061-Nから、意図される受信者に知覚可能であるオーディオ出力または視覚出力を提供することが可能な第2のクライアントデバイス106を選択し得る。たとえば、意図された受信者が特定のエリアへと歩いて来るのが最後に検出された場合、そのエリアに最も近いクライアントデバイス106が選択され得る。
【００６６】
いくつかの実装形態では、ICLS140は、たとえば、クラウドベース自動アシスタント構成要素119の一部として、かつ/またはそれとは別個に提供され得る。他の実装形態では、ICAS138およびICLS140は、単一のモデルまたはエンジンにおいて一緒に実装され得る。様々な実装形態において、ICLS140は、住宅、職場、キャンパスなどの対象のエリア内での人物の位置を、たとえばそのエリア全体に分散している複数のクライアントデバイス1061-Nと一体の存在センサ105により提供される信号に基づいて、追跡するように構成され得る。これらの追跡された位置に基づいて、ICLS140および/またはICAS138は、本明細書で説明されるような複数のクライアントデバイス1061-Nを使用して、エリアの中にいる人物間のインターホン式通信を促進するように構成され得る。
【００６７】
いくつかの実装形態では、ICLS140は、特定のエリアに位置する人物のリストまたはデータベース、および/もしくは、そのエリアに展開されている複数のクライアントデバイス1061-Nに対する人物の最後の知られている相対的な位置を、作成ならびに/または維持し得る。いくつかの実装形態では、このリスト/データベースは、人物が異なる位置に移動したものとして様々なクライアントデバイスによって検出されるにつれて、たとえばリアルタイムで更新され得る。たとえば、ICLS140は、たとえば、特定の人物が何らかの所定の時間(たとえば、1時間)の間エリア全体で検出されない場合、および/または、その人物が入口もしくは出口エリア(たとえば、前方の扉、後方の扉など)を通ったことが最後に検出される場合、リスト/データベースからその人物を削除し得る。他の実装形態では、ICLS140は、定期的に、たとえば、数分ごと、数時間ごとなどに、リスト/データベースを更新し得る。
【００６８】
いくつかの実装形態では、ICAS138および/またはICLS140(およびより一般的には、自動アシスタント120)は、一般的な人物の存在を単に検出するのではなく、存在センサ105からの信号を使用して異なる人々を区別するように構成され得る。たとえば、クライアントデバイス106が存在センサ105としてマイクロフォンを含むと仮定する。自動アシスタント120は、誰かが近くにいることを決定するだけではなく、誰がいるかを決定するために、様々な話者認識および/または音声認識技法を使用するように構成され得る。これらの話者認識および/または音声認識技法は、限定はされないが、隠れマルコフモデル、混合ガウスモデル、周波数推定、訓練された分類器、深層学習、パターン照合アルゴリズム、行列表現、ベクトル量子化、決定木などを含み得る。
【００６９】
マイクロフォンを装備したクライアントデバイス106の近くの人物が偶然話していない場合、その人物を特定するために他の技法が利用され得る。クライアントデバイス106が、存在センサ105としてカメラおよび/またはPIRセンサを含むと仮定する。いくつかの実装形態では、機械学習視覚認識分類器は、人物を視覚的に認識するために、そのような存在センサ105により捕捉されるラベリングされた訓練データを使用して訓練され得る。いくつかの実装形態では、ユーザは、カメラ/PIRセンサを装備した1つまたは複数のクライアントデバイス106において訓練ルーチンを呼び出すことによって、視覚認識分類器の訓練を引き起こし得る。たとえば、ユーザは、存在センサ105の視野に立ち、「Hey Assistant, I am Jan and this is what I look like」(おーい、アシスタント、私はJanで、これが私の外見です。)などの語句を用いて自動アシスタント120を呼び出し得る。いくつかの実装形態では、自動アシスタント120は、存在センサ105の視野内の様々な場所へと動き回るようにユーザに促すオーディオ出力または視覚出力を提供することができ、一方で、存在センサ105はユーザの1つまたは複数のスナップショットを捉える。これらのスナップショットは次いで、(たとえば、「Jan」で)ラベリングされ、視覚認識分類器の教師あり学習のためのラベリングされた訓練例として使用され得る。他の実装形態では、視覚認識のためのラベリングされた訓練例は、たとえばユーザが認識することなく、自動的に生成され得る。たとえば、ユーザが存在センサ105の視野の中にいるとき、ユーザにより携帯されるモバイルクライアントデバイス106により放出される信号(たとえば、無線波、超音波)は、存在センサ105により捉えられたスナップショットに対するユーザの身元(およびしたがって、ラベル)を決定するために、たとえば自動アシスタント120によって分析され得る。
【００７０】
そして、さらに他の実装形態では、可聴の手がかりおよび/または視覚的な手がかり以外の他のタイプの手がかりが、ユーザを互いに区別するために利用され得る。たとえば、ユーザにより携帯されるクライアントデバイス106により放出される無線、超音波、および/または他のタイプのワイヤレス信号(たとえば、赤外線、変調光など)が、近くのユーザの身元を識別するために、たとえば自動アシスタント120によって分析され得る。いくつかの実装形態では、ユーザのモバイルクライアントデバイス106は、ユーザを識別するために使用され得る、「Jan's smartphone」などのネットワーク識別子を含み得る。
【００７１】
ここで図1Bを参照すると、ユーザの発話を分析して、とりわけ、インターホン式通信をいつ利用すべきかを決定するために、訓練された機械学習分類器が適用され得る、1つの可能な方法を実証するために、例示的なデータフローが概略的に図示されている。図1Bにおいて、音素分類器142(これは自動アシスタント120の構成要素であり得る)が、1つまたは複数の発話および1つまたは複数の人物の位置が入力として音素分類器142にわたって適用され得るように、訓練され得る。音素分類器142は次いで、発話の分類を出力として生成し得る。図1Bにおいて、これらの分類は、「アシスタントを呼び出す」、「メッセージを伝える」、および「背景雑音」を含むが、追加のおよび/または代替のラベルが可能である。
【００７２】
「Hey, Assistant」、「OK Assistant」などの明示的な呼び出しの語句を検出する、従来の音素分類器がすでに存在する。いくつかの実装形態では、音素分類器142は、入力発話がそのような呼び出しの語句を含むときに音素分類器142の出力が「アシスタントを呼び出す」となるように、同じ機能を含み得る。自動アシスタント120が呼び出されると、ユーザは、当技術分野において知られているように、自動アシスタント120との人間対コンピュータの対話に関わり得る。
【００７３】
しかしながら、いくつかの実装形態では、音素分類器142は、メッセージを別のユーザに伝えるというユーザの意図をシグナリングする他の音素を認識するようにさらに訓練され得る。たとえば、ユーザはしばしば、別の人物の注意を引くために、「Hey, <名前>」などの語句を使用し得る。より一般的には、音素分類器142は、カスタムの語句、語などを照合するように動作し得る。加えて、または代わりに、別の人物の注意を引くために、場合によってはやや大きな声で、かつ/または特定の抑揚で他の人物の名前をまず呼ぶこと、または他のタイプの抑揚を使用することが一般的であり得る。様々な実装形態において、音素分類器142は、そのような音素を認識し、インターホン式通信が潜在的に保証され得るシナリオをシグナリングするために「メッセージを伝える」などの出力を生成するように訓練され得る。様々な実装形態において、別の人物との通信を試みる発話を認識し(たとえば、そのような発話を何気ない発話と区別し)、そのような発話の存在(たとえば、そのような発話が存在する確率)を示す出力を生成するために、別個の抑揚モデルが任意選択で別々に訓練され得る。所与のユーザの発話に対する、音素分類器および抑揚モデルからの出力は、インターホン式通信が保証され得るかどうかを決定する際に、集合的に考慮され得る。
【００７４】
いくつかの実装形態では、1つまたは複数の人物の位置が、音素分類器142への入力として、たとえばICLS140により提供され得る。これらの人物の位置は、インターホン式通信が保証されるかどうかを決定するために、発話に加えて、またはその代わりに使用され得る。たとえば、受信者の位置が話者の位置に十分近い(たとえば、声の届く距離にある)場合、このことは、発話が他者に宛てられるメッセージを含んでいる場合であっても、「背景雑音」などの出力を生み出すように音素分類器142に影響を与え得る。一方、意図される受信者の位置が話者の位置から声の届く距離にないと仮定する。このことは、「メッセージを伝える」などの出力を生み出すように音素分類器142に影響を与えることがあり、これは、インターホン式通信が利用される確率を高めることがある。加えて、または代わりに、話者の発話が別のユーザに宛てられるメッセージを含んでいるかどうかがまず決定され、次いで、他のユーザが話者から声の届く距離にいるかどうかが決定されるような、2ステップの手法が実施され得る。両方の質問への答えが肯定的である場合、インターホン式通信が、意図される受信者へメッセージを伝えるために実施され得る。
【００７５】
ここで図2を参照すると、複数の部屋250〜262を含む、住宅の間取り図が示されている。複数のクライアントデバイス2061-4が部屋の少なくともいくつかにわたって展開されている。各クライアントデバイス206は、本開示の選択された態様を用いて構成される自動アシスタントクライアント118のインスタンスを実装することができ、近くの人物により話される発話を捉えることが可能な、マイクロフォンなどの1つまたは複数の入力デバイスを含み得る。たとえば、スタンドアロンの対話型スピーカーの形態をとる第1のクライアントデバイス2061が部屋250に展開されており、部屋250はこの例では台所である。いわゆる「スマート」テレビジョンの形態をとる第2のクライアントデバイス2062(たとえば、自動アシスタントクライアント118のインスタンスを実装する1つまたは複数のプロセッサを伴うネットワーク接続されたテレビジョン)が部屋252に展開されており、部屋252はこの例では私室である。対話型スタンドアロンスピーカーの形態をとる第3のクライアントデバイス2063が部屋254に展開されており、部屋254はこの例では寝室である。別の対話型スタンドアロンスピーカーの形態をとる第4のクライアントデバイス2064が部屋256に展開されており、部屋256はこの例では居間である。
【００７６】
図2には図示されないが、複数のクライアントデバイス1061-4は、1つまたは複数の有線またはワイヤレスLAN(たとえば、図1Aの1102)を介して、互いに、かつ/または他のリソース(たとえば、インターネット)と通信可能に結合され得る。加えて、他のクライアントデバイス、すなわち、スマートフォン、タブレット、ラップトップ、ウェアラブルデバイスなどの特定のモバイルデバイスも存在することがあり、たとえば、住宅の中で1人または複数の人物により携帯されることがあり、同じLANに接続されることもされないこともある。図2および図面の他の箇所で図示されるクライアントデバイスの構成は一例にすぎず、より多数または少数のクライアントデバイス106が、任意の数の他の部屋および/または住宅以外のエリアにわたって展開され得ることを理解されたい。
【００７７】
図2の例では、第1のユーザJackが「Hey Hon, do you know where the strainer is」(ねえHon、ざるはどこにあるのか知らないか？)という質問を発するとき、彼は台所250の中にいる。恐らくJackには知られていないが、彼の妻Janは台所250の中におらず、居間256にいるので、Jackの質問が聞こえなかった可能性が高い。本開示の選択された態様を用いて上で述べられたように構成される第1のクライアントデバイス2061は、Jackの発話を検出し得る。Jackの発話がJanに宛てられるメッセージを含んでいるかどうかを決定するために、上で説明された技法を使用して、発話の記録が分析され得る。第1のクライアントデバイス2061はまた、たとえば、複数のクライアントデバイス2061-4のすべての間で共有される情報に基づいて、Janが居間256にいること(または少なくとも最も近い第4のクライアントデバイス2064)を決定し得る。たとえば、クライアントデバイス2064は、たとえば1つまたは複数の一体型の存在センサ(たとえば、図1Aの105)を使用して、Janが居間256にいることを検出した可能性がある。
【００７８】
Janの検出された位置および/またはJackの発話の属性(これはいくつかの実装形態では上で説明されたような訓練された機械学習モデルを使用して分類され得る)に基づいて、第1のクライアントデバイス2061は、Jackが自分のメッセージをJanに宛てていたことと、JanがJackから声の届く距離にいないこととを決定し得る。その結果、第1のクライアントデバイス2061は、(前述のLANのうちの1つまたは複数を介して)Janの発話の記録(またはいくつかの場合、Jackの発話の文字変換されたテキスト)をJanに最も近いクライアントデバイスにプッシュすることができ、これはこの例では第4のクライアントデバイス2064である。このデータを受信すると、第4のクライアントデバイス2064は、たとえば、第4のクライアントデバイス2064上で少なくとも一部実行される自動アシスタント120によって、図2に図示されるようにJackのメッセージをJanへと聞こえるように出力できるので、JackとJanの間でのインターホン式通信がもたらされる。
【００７９】
図2の例(および本明細書の他の箇所で説明される同様の例)において、Jackの質問は第4のクライアントデバイス2064を使用してJanへ聞こえるように出力され、第4のクライアントデバイス2064は上で述べられるようにスタンドアロンの対話型スピーカーである。しかしながら、これは限定することを意図するものではない。様々な実装形態において、Jackのメッセージは、他の出力様式を使用してJanに伝えられ得る。たとえば、Janにより携帯されるモバイルクライアントデバイス(図示されず)がWi-Fi LANに接続されるいくつかの実装形態では、そのモバイルデバイスは、たとえばJanのモバイルクライアントデバイス上で実行されるメッセージ交換クライアント107などのアプリケーションを使用して、可聴の記録またはJanへ視覚的に伝えられるテキストメッセージのいずれかとして、Jackのメッセージを出力し得る。
【００８０】
様々な実装形態において、インターホン式通信を促進するためにクライアントデバイス106間で交換される発話の記録および/またはSTT文字変換は、様々な追加の目的で使用され得る。いくつかの実施形態では、それらは、ユーザと自動アシスタント120との間での後段の人間対コンピュータの対話に文脈をもたらすために使用され得る。たとえば、いくつかのシナリオでは、自動アシスタント120のインスタンスに提供される要求が、発話を最初に提供したユーザからのものであるか、発話の意図される受信者からのものであるか、またはさらに、複数のクライアントデバイス106を関与させるインターホン式通信の後で自動アシスタント120と関わる別のユーザからのものであるかについて、明確にするために記録された発話および/またはそのSTT文字変換が使用され得る。
【００８１】
図3は、図2に図示されたような、同じ住宅およびクライアントデバイス2061-4の展開を図示する。図3において、Jan(まだ居間256にいる)が、発話「Hey Jack, you should leave soon to pick up Bob from the airport.」(ねえJack、すぐに空港までBobを迎えに行かなきゃ。)を話す。たとえば、ICLS140によって、JackがJanから声の届く距離にない別の部屋にいることが決定され得る。たとえば、ICLS140は、たとえば、「スマート」サーモスタット264の内蔵カメラおよび/またはPIRセンサによって提供される信号に基づいて、Jackが私室252に位置していることを決定し得る。その決定に基づいて、および/または(前述の機械学習モデルのうちの1つを使用して)Janの発話がJackに宛てられたメッセージとして分類されたという決定に基づいて、クライアントデバイス2062などの、Jackの検出された位置の近くのクライアントデバイスが、Janの発話を出力するために特定され得る。いくつかの実装形態では、Janの記録された発話は、クライアントデバイス2064などのその発話を記録したJanの近くにある別のコンピューティングデバイスから、Jackの近くで特定されたクライアントデバイス2062へとプッシュされ、聞こえるように(または、クライアントデバイス2062が表示能力をもつスマートテレビジョンであるので視覚的に)出力され得る。
【００８２】
図4は、図3に図示されるものに対する例示的な事後追跡シナリオを示す。クライアントデバイス2062を介してJanの伝えられるメッセージを受信した後で、Jackは「OK Assistant  -  when is the next tram leaving?」(OK、アシスタント−次のトラムの出発はいつ？)と言う。追加の情報がないと、この要求、または検索クエリは、答えるにはあまりにも曖昧であることがあり、自動アシスタント120は、Jackからの情報を明確にすることを求めることが必要であり得る。しかしながら、本明細書で説明される技法を使用すると、自動アシスタント120は、Janの元の発話に基づいてJackの要求を明確にし、空港へのトラムがJackの関心の対象であることを決定することができる。加えて、または代わりに、自動アシスタント120は、すべての近くのトラムに対する普通の結果を単に引き出し、次いで、たとえば空港へのトラムが最も高くランク付けされるように、Jackの発話に基づいてそれらの結果をランク付けしてもよい。いずれの場合でも、図4において、自動アシスタント120は、「Next tram to the airport leaves in 10 minutes」(空港への次のトラムは10分後に出発します。)というオーディオ出力をクライアントデバイス2062において提供する。
【００８３】
図5は、本明細書で開示される実装形態による例示的な方法500を示すフローチャートである。便宜的に、フローチャートの動作は、動作を実行するシステムを参照して説明される。このシステムは、自動アシスタント120を実装するコンピューティングシステムの1つまたは複数の構成要素などの、様々なコンピュータシステムの様々な構成要素を含み得る。その上、方法500の動作は特定の順序で示されているが、これは限定することを意図するものではない。1つまたは複数の動作は、並べ替えられ、省略され、または追加され得る。
【００８４】
ブロック502において、システムは、複数のコンピューティングデバイスのうちの第1のコンピューティングデバイスの入力デバイスにおいて、第1のユーザから、自由形式の自然言語入力を受信し得る。多くの実装形態において、この自由形式の自然言語入力は、音声入力の形式、すなわち、第1のユーザからの発話という形式をとり得るが、これは必須ではない。この音声入力は必ずしも自動アシスタント120において第1のユーザにより指示されるものである必要はなく、代わりに、本開示の選択された態様を用いて構成されるクライアントデバイスにより捕捉および/または記録される、第1のユーザにより提供されるあらゆる対話を含み得ることを理解されたい。
【００８５】
ブロック504において、システムは音声入力を分析し得る。限定はされないが、抑揚、音量、認識される語句などを含む、音声入力の様々な態様(たとえば、音素)が分析され得る。
【００８６】
いくつかの実装形態では、システムは、音声入力に加えて他の信号を分析し得る。これらの他の信号は、たとえば、住宅などの環境の中の人々の数を含み得る。たとえば、1人の人物しか存在しない場合、インターホン能力は利用されないことがある。2人の人物しか存在しない場合、他方の人物の位置が、インターホン出力が提供されるべき位置として自動的に決定され得る。2人より多くの人物が存在する場合、システムは、人々を互いに区別しようとして、様々な技法(たとえば、音声認識、顔認識、ワイヤレス信号認識など)を試み得る。
【００８７】
ブロック506において、システムは、分析に基づいて、第1のユーザがメッセージを第2のユーザに伝えることを意図している(たとえば、音声入力が第2のユーザに宛てられるメッセージを含んでいる)ことを決定し得る。前に説明されたように、自動アシスタント120は、音声入力を分析し、かつ/または、第1のユーザの音声入力が、さらなる人間対コンピュータの対話に関わるために自動アシスタント120を呼び出すための命令(たとえば、「Hey, Assistant」)であるか、第2のユーザ(または複数の他のユーザ)にメッセージを伝えることが意図される発話であるか、もしくは他の背景雑音であるかを決定するために、記録された発話の形態のラベリングされた訓練例について訓練された分類器などの、様々な技法を利用し得る。いくつかの実装形態では、訓練された機械学習モデルに加えて、またはその代わりに、規則ベースの手法が実装され得る。たとえば、1つまたは複数の単純なIVR文法が、たとえば、ユーザ間でメッセージを伝えることが意図される発話を照合するように設計される音声拡張マークアップ言語、または「VXML」などの技術を使用して、定義され得る。
【００８８】
ブロック508(ブロック502〜506の後に、または継続的に発生し得る)において、システムは、複数のコンピューティングデバイスに対する第2のユーザの相対的な位置を決定し得る。いくつかの実施形態では、ICLS140は、住宅もしくは職場などのエリアの中の人々のリストまたはデータベース、および人々の最後に知られている(すなわち、最後に検出された)位置を維持し得る。いくつかのそのような実装形態では、システムは単に、第2のユーザの位置についてこのリストまたはデータベースを参照し得る。他の実装形態では、システムは、たとえば必要に応じて(たとえば、第1のユーザの発話が、第2のユーザへ伝えられることが意図されるメッセージを含んでいると決定されるとき)、第2のユーザを探すように環境の中の複数のクライアントデバイスに能動的にポーリングし得る。このことは、誰か(たとえば、第2のユーザ)が近くにいるかどうかをクライアントデバイスが検出できるように、クライアントデバイスに存在センサ(図1Aの105)を活性化させ得る。
【００８９】
ブロック510において、システムは、複数のコンピューティングデバイスから、第2のユーザの位置に基づいて、第2のユーザが知覚可能なオーディオ出力または視覚出力を提供することが可能な第2のコンピューティングデバイスを選択し得る。いくつかの実装形態では、第2のコンピューティングデバイスは、環境の中の特定のエリアに展開されている静止式クライアントデバイス(たとえば、スタンドアロンの対話型スピーカー、スマートテレビジョン、デスクトップコンピュータなど)であり得る。他の実装形態では、第2のコンピューティングデバイスは、第2のユーザにより携帯されるモバイルクライアントデバイスであり得る。いくつかのそのような実装形態では、モバイルクライアントデバイスは、同じ協調エコシステムの一部であることにより、かつ/または同じワイヤレスLANに参加する(または単に所定の距離以内に位置する)ことにより、システムにより考慮される複数のコンピューティングデバイスの一部になり得る。
【００９０】
ブロック512において、システムは、ブロック510において特定された第2のコンピューティングデバイスに、メッセージを第2のユーザへ伝えるオーディオ出力または視覚出力を提供させ得る。たとえば、ICAS138および/またはICLS140がクラウドベースであるいくつかの実装形態では、それらのどちらか一方が、ブロック510において選択された第2のコンピューティングデバイスへ第1のユーザの発話の記録が転送(たとえば、ストリーミング)されるようにし得る。本開示の選択された態様を用いて構成され得る第2のコンピューティングデバイスは、転送された記録を出力することによって応答し得る。
【００９１】
本明細書で説明される例は、メッセージを単一の他のユーザへ伝えることを第1のユーザが試みることを含んでいたが、これは限定することを意図するものではない。様々な実装形態において、ユーザの発話は、話者の家族の複数の構成員、エリアまたは環境の中のすべての人物などの、複数の他のユーザに宛てられ得る。いくつかのそのような実装形態では、前述の機械学習分類器のうちの1つまたは複数が(さらに)、発話が単一の受信者に宛てられるメッセージを含むか複数の受信者に宛てられるメッセージを含むかを決定するように訓練され得る。答えが肯定的である場合、システムは、複数の位置にいる複数の意図される受信者へ様々な方法でメッセージを伝え得る。いくつかの実装形態では、システムは単に、メッセージがエリアの中のすべてのクライアントデバイス(たとえば、協調したエコシステムのすべてのクライアントデバイス、および/またはWi-Fi LANに接続されるすべてのクライアントデバイス)へプッシュされるようにすることがあり、実質的にメッセージをブロードキャストする。他の実装形態では、システム(たとえば、ICLS140)は、すべての意図される受信者の位置を個人ごとに決定し、各々の意図される受信者の近くにあるクライアントデバイスだけにメッセージを出力し得る。
【００９２】
いくつかの実装形態では、自動アシスタント120は、メッセージの意図される受信者がメッセージを知覚できるようになる(たとえば、声の届く距離に来る)まで待機することができ、その後で初めて、本明細書で説明される技法を使用してメッセージが伝えられるようにする。たとえば、第1のユーザが意図される受信者にメッセージを伝えるが、意図される受信者が一時的に外に出ていると仮定する。いくつかの実装形態では、メッセージは、意図される受信者が1つまたは複数のコンピューティングデバイスによって検出されるまで、一時的に遅らされ得る。受信者が戻ってくると受信者を検出することになる第1のコンピューティングデバイスが、元のメッセージを出力し得る。いくつかの実装形態では、意図される受信者が携帯するモバイルデバイスから取得される、意図される受信者の場所の座標(たとえば、全地球測位システムまたは「GPS」)などの様々な信号が、意図される受信者がインターホン式通信を使用して(少なくともLAN上のどのようなデバイスも用いずに)連絡可能ではないことを決定するために使用され得る。いくつかの実装形態では、メッセージ(たとえば、話者の発話の記録)が、受信者のモバイルデバイスに転送され得る。他の実装形態では、自動アシスタント120は、意図される受信者が連絡可能ではないことを決定し、たとえば受信者が現在連絡可能ではないことを話者に通知する出力を、話者に最も近いクライアントデバイス(たとえば、話者の発話を捉えたデバイス)において提供し得る。いくつかのそのような実装形態では、自動アシスタント120は、たとえば、「I can't reach Jan directly right now. Would you like me to send a message to their phone?」(ただいまJanと直接連絡が取れません。電話にメッセージを送りましょうか？)のような出力によって、メッセージを受信者のモバイルデバイスに転送することを許可するようにユーザに促し得る。
【００９３】
任意選択のブロック514〜518は、第1のユーザのメッセージがブロック512において出力された後の何らかの時間に第2のユーザが自由形式の自然言語入力を出す場合、存在することもしないこともある。ブロック514において、システムは、オーディオ出力または視覚出力がブロック512において第2のコンピューティングデバイスによって提供された後で第2のユーザにより出される、音声入力などの自由形式の自然言語入力を特定し得る。第2のユーザの音声入力は、たとえば、コマンドおよび/または検索クエリを含み得る。いくつかの実施形態では、コマンドおよび/または検索クエリは、それだけでは、図4のJackの発話の場合と同じように、適切に解釈するにはあまりにも曖昧であることがある。
【００９４】
ブロック516において、システムは、ブロック502において第1のユーザから受け取られた自由形式の自然言語入力に少なくとも一部基づいて、ブロック514において特定される第2のユーザの自由形式の自然言語入力を分析し得る。言い換えると、第1のユーザの発話は、文字変換され、第2のユーザの後続の要求に文脈を提供するために使用され得る。ブロック518において、システムは、第1のユーザの自由形式の自然言語入力により提供される文脈に基づいて、第2のユーザの自然言語入力への応答をまとめ得る。たとえば、第2のユーザの自由形式の自然言語入力が検索クエリ(図4のJackのクエリなど)を含んでいた場合、システムは、第1のユーザからの音声入力に少なくとも一部基づいて、検索クエリに応答する検索結果を取得し得る。たとえば、第2のユーザの検索クエリは、第1のユーザの元の発話に基づいて明確にされることがあり、かつ/または、1つまたは複数の応答する検索結果は、第1のユーザの元の発話に基づいてランク付けされることがある。ブロック518において、システムは次いで、複数のコンピューティングデバイスのうちの1つまたは複数に、図4で行われたように検索結果の少なくとも一部を示す出力を提供させ得る。
【００９５】
様々な実装形態において、ユーザは、本明細書で説明されるようなインターホン式通信に関わるために使用可能であるように、住宅、職場、または別の環境の中のクライアントコンピューティングデバイスを事前構成(たとえば、任命)することができる。たとえば、いくつかの実装形態では、ユーザは、たとえばグラフィカルユーザインターフェースを使用して、かつ/または自動アシスタント120との人間対コンピュータの対話セッションに関わることによって、「台所」、「ダイニングルーム」などの「位置」を各々の静止式クライアントコンピューティングデバイスに割り当てることができる。その結果、いくつかのそのような実装形態では、ユーザは、特定の位置へのインターホン式通信を促進するために、自動アシスタント120を明示的に呼び出すことができる。たとえば、ユーザは、メッセージを別のユーザに伝えるために、「Hey Assistant, tell Oliver in the kitchen that we need more butter.」(ねえ、アシスタント。もっとバターが必要だって台所にいるOliverに伝えて)という音声入力を提供することができる。
【００９６】
より一般的には、いくつかの実装形態では、ユーザは、インターホン式通信を呼び出すとき、メッセージの受信者を明示的に指定することができる。ユーザが受信者の位置も指定しない場合、たとえばICLS140に関連して本明細書で説明される技法が、受信者の位置を決定するために、およびどのコンピューティングデバイスが受信者へメッセージを出力するために使用されるかを選択するために、自動的に使用され得る。しかしながら、上で説明されたように、ユーザはインターホン式通信を明示的に呼び出す必要はない。むしろ、上で説明されたように、ユーザからの明示的な命令なしで、ユーザのメッセージがインターホン式通信を使用して自動的に伝えられるべきであることを決定するために、様々な信号および/またはデータ点(たとえば、機械学習分類器の出力、意図される受信者の位置など)が考慮され得る。
【００９７】
図6は、本明細書で説明される技法の1つまたは複数の態様を実行するために任意選択で利用され得る例示的なコンピューティングデバイス610のブロック図である。いくつかの実装形態では、クライアントコンピューティングデバイス、ユーザにより制御されるリソースエンジン130、および/または他の構成要素のうちの1つまたは複数は、例示的なコンピューティングデバイス610の1つまたは複数の構成要素を備え得る。
【００９８】
コンピューティングデバイス610は通常、バスサブシステム612を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえば、メモリサブシステム625およびファイルストレージサブシステム626を含むストレージサブシステム624、ユーザインターフェース出力デバイス620、ユーザインターフェース入力デバイス622、ならびにネットワークインターフェースサブシステム616を含み得る。入力デバイスおよび出力デバイスは、コンピューティングデバイス610とのユーザの対話を可能にする。ネットワークインターフェースサブシステム616は、外側ネットワークへのインターフェースを提供し、他のコンピューティングデバイスにおける対応するインターフェースデバイスに結合される。
【００９９】
ユーザインターフェース入力デバイス622は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィクスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、情報をコンピューティングデバイス610へと入力するための、または通信ネットワーク上に入力するための、すべての可能なタイプのデバイスと方法を含むことが意図される。
【０１００】
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルディスプレイ、プロジェクションデバイス、または可視の像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスなどを介して非視覚ディスプレイを提供し得る。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス610からユーザまたは別の機械もしくはコンピューティングデバイスに情報を出力するための、すべての可能なタイプのデバイスおよび方法を含むことが意図される。
【０１０１】
ストレージサブシステム624は、本明細書で説明されるモジュールの一部またはすべての機能を提供する、プログラミングおよびデータ構造を記憶する。たとえば、ストレージサブシステム624は、図5の方法の選択された態様を実行するための、ならびに、図1Aに図示される様々な構成要素を実装するための論理を含み得る。
【０１０２】
これらのソフトウェアモジュールは一般に、プロセッサ614単独で、または他のプロセッサと組み合わせて実行される。ストレージサブシステム624において使用されるメモリ625は、プログラム実行の間の命令とデータの記憶のためのメインランダムアクセスメモリ(RAM)630と、固定された命令が記憶される読取り専用メモリ(ROM)630とを含む、いくつかのメモリを含み得る。ファイルストレージサブシステム626は、プログラムとデータファイルの永続的な記憶を提供することができ、ハードディスクドライブ、関連する取り外し可能メディアを伴うフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、または取り外し可能メディアカートリッジを含み得る。いくつかの実装形態の機能を実装するモジュールは、ストレージサブシステム624の中のファイルストレージサブシステム626によって、またはプロセッサ614によりアクセス可能な他の機械に記憶され得る
【０１０３】
バスサブシステム612は、コンピューティングデバイス610の様々な構成要素およびサブシステムに意図されるように互いに通信させるための機構を提供する。バスサブシステム612は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実装形態は複数のバスを使用し得る。
【０１０４】
コンピューティングデバイス610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む、様々なタイプであり得る。コンピュータおよびネットワークの変わり続ける性質により、図6に図示されるコンピューティングデバイス610の説明は、いくつかの実装形態を例示することを目的とする具体的な例として意図されているにすぎない。図6に図示されるコンピューティングデバイスより多数または少数の構成要素を有する、コンピューティングデバイス610の多くの他の構成が可能である。
【０１０５】
本明細書で論じられるいくつかの実装形態がユーザについての個人情報(たとえば、他の電子通信から抽出されたユーザデータ、ユーザのソーシャルネットワークについての情報、ユーザの位置、ユーザの時間、ユーザの生体情報、ユーザの活動および属性情報、ユーザ間の関係など)を収集または使用し得る状況では、ユーザは、情報が収集されるかどうか、個人情報が記憶されるかどうか、個人情報が使用されるかどうか、およびユーザについての情報がどのように収集され、記憶され、使用されるかを制御するための、1つまたは複数の機会を与えられる。すなわち、本明細書で論じられるシステムおよび方法は、関連するユーザからそうすることに対する明示的な認可を受け取ったときにのみ、ユーザの個人情報を収集し、記憶し、かつ/または使用する。
【０１０６】
たとえば、ユーザは、プログラムまたは特徴が、そのプログラムまたは特徴に関連するその特定のユーザもしくは他のユーザについてのユーザ情報を収集するかどうかについての制御権を与えられる。個人情報が収集されることになる各ユーザは、情報が収集されるかどうかについての、および情報のどの部分が収集されることになるかについての、許可または認可を提供するために、そのユーザに関連する情報収集についての制御を可能にするための1つまたは複数の選択肢を提示される。たとえば、ユーザは、通信ネットワークを介して1つまたは複数のそのような制御の選択肢を与えられ得る。加えて、一部のデータは、個人を特定可能な情報が削除されるように、記憶または使用される前に1つまたは複数の方法で処理され得る。一例として、ユーザの識別情報は、個人を特定可能な情報を決定できないように処理され得る。別の例として、ユーザの地理的位置は、ユーザの具体的な位置を決定できないように、より広い領域へと一般化され得る。
【０１０７】
いくつかの実装形態が本明細書で説明され例示されたが、機能を実行するための、および/もしくは、本明細書で説明される結果および/もしくは利点の1つまたは複数を得るための、様々な他の手段ならびに/または構造が利用されてよく、そのような変更および/または修正の各々が、本明細書で説明される実装形態の範囲内にあると見なされる。より一般的には、本明細書で説明されるすべてのパラメータ、寸法、材料、および構成は、例示的であることが意図されており、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される1つまたは複数の具体的な適用例に依存する。本明細書で説明される具体的な実装形態に対する多くの等価物を、当業者は認識し、または慣例的なものにすぎない実験を使用して認めることが可能になるであろう。したがって、前述の実装形態は、例示として提示されているにすぎず、添付の特許請求の範囲およびその等価物の範囲内で、具体的に説明され特許請求されるものとは異なるように実装形態が実践され得ることを理解されたい。本開示の実装形態は、本明細書で説明される各々の個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組合せが、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の範囲に含まれる。
【符号の説明】
【０１０８】
105  存在センサ
106  クライアントデバイス
107  メッセージ交換クライアント
110  ローカルエリアネットワーク
114  談話捕捉/TTS/STT
116  TTS
117  STT
118  自動アシスタントクライアント
119  クラウドベース自動アシスタント構成要素
120  自動アシスタント
122  自然言語プロセッサ
138  ICAS
140  ICLS
142  音素分類器
206  クライアントデバイス
250  部屋
252  私室
254  部屋
256  居間
258  部屋
260  部屋
262  部屋
264  サーモスタット
610  コンピューティングデバイス
612  バスサブシステム
614  プロセッサ
616  ネットワークインターフェース
620  ユーザインターフェース出力デバイス
622  ユーザインターフェース入力デバイス
624  ストレージサブシステム
625  メモリサブシステム
626  ファイルストレージサブシステム
630  RAM
632  ROM
【図１Ａ】
0006947852.tif 000002
【図１Ｂ】
0006947852.tif 000003
【図２】
0006947852.tif 000004
【図３】
0006947852.tif 000005
【図４】
0006947852.tif 000006
【図５】
0006947852.tif 000007
【図６】
0006947852.tif 000008