(57)【要約】  自動アシスタントの1つまたは複数の機能のホットワードを用いない適応。自動アシスタントインターフェース(グラフィカルな、および/または可聴の)を提供するアシスタントデバイスの1つまたは複数のセンサ構成要素からのセンサデータが、アシスタントデバイスの近くのユーザの様々な属性の発生および/または信頼度メトリックを決定するために処理される。自動アシスタントの機能のうちの1つまたは複数の各々を適応させるかどうかは、様々な属性のうちの1つまたは複数の発生および/または信頼度に基づく。たとえば、センサデータの少なくとも一部のそれまで休止していたローカル処理を開始すること、および/または、リモートの自動アシスタント構成要素へのオーディオデータの少なくとも一部の送信を開始することなどの、センサデータの少なくとも一部の何らかの処理を開始することができる。
2021520590.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実施される、ユーザと自動アシスタントとの間のホットワードを用いない対話を容易にする方法であって、
クライアントデバイスにおいて、前記クライアントデバイスの1つまたは複数のカメラからの出力に基づく画像フレームのストリームを受信するステップと、
前記クライアントデバイスにおいて、
前記クライアントデバイスに向けられたユーザの視線
の発生を検出するために、前記クライアントデバイスにローカルに記憶されている少なくとも1つの訓練された機械学習モデルを使用して前記ストリームの前記画像フレームを処理するステップと、
前記クライアントデバイスにおいて、前記クライアントデバイスに対する前記ユーザの距離を決定するステップであって、前記決定は、
前記画像フレームのうちの1つまたは複数と、
前記クライアントデバイスの追加のセンサからの追加のセンサデータと
の一方または両方に基づく、ステップと、
前記クライアントデバイスにおいて、前記ユーザの前記視線の前記発生を検出したことに基づいて、かつ前記クライアントデバイスに対する前記ユーザの前記距離に基づいて、
前記クライアントデバイスの1つまたは複数のマイクロフォンによって検出されるオーディオデータの何らかの処理
を実行すると決定するステップと、
前記クライアントデバイスにおいて、前記オーディオデータの前記何らかの処理を実行するとの決定に応答して、前記オーディオデータの前記何らかの処理を開始するステップと
を備える、方法。
【請求項２】
前記オーディオデータの前記何らかの処理を開始するステップが、
前記クライアントデバイスにおける前記オーディオデータのローカルの自動発話認識を開始するステップと、
前記自動アシスタントと関連付けられるリモートサーバへの前記オーディオデータの送信を開始するステップと、
前記リモートサーバへの、前記ローカルの自動発話認識からの認識されたテキストの送信を開始するステップと
のうちの1つまたは複数を備える、請求項1に記載の方法。
【請求項３】
前記オーディオデータの少なくともある部分が、前記ユーザの前記視線を検出する前に、前記クライアントデバイスに対してローカルである一時バッファにバッファリングされる、バッファリングされたオーディオデータである、請求項1に記載の方法。
【請求項４】
前記オーディオデータの前記何らかの処理を開始する前に、
前記クライアントデバイスの出力構成要素を介して少なくとも1つの人間知覚可能な合図をレンダリングするステップをさらに備える、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記少なくとも1つの人間知覚可能な合図が、前記クライアントデバイスに向けられた前記ユーザの前記視線の前記発生を検出したことに応答してレンダリングされる第1の合図を備える、請求項4に記載の方法。
【請求項６】
前記クライアントデバイスの前記1つまたは複数のカメラに向けられた前記ユーザの前記視線の発生を検出するために、前記少なくとも1つの訓練された機械学習モデルを使用して前記画像フレームを処理するステップが、
前記画像フレームのシーケンスの前記画像フレームの各々に対して、前記ユーザの前記視線が前記クライアントデバイスに向けられているかどうかを決定するために、前記少なくとも1つの訓練された機械学習モデルを使用して前記シーケンスを処理するステップと、
前記ユーザの前記視線が前記1つまたは複数のカメラに向けられていると決定される前記シーケンスの前記画像フレームの量に基づいて、前記クライアントデバイスに向けられた前記ユーザの前記視線の発生を検出するステップと
を備える、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記クライアントデバイスの1つまたは複数のマイクロフォンを介して検出される前記オーディオデータの前記何らかの処理を開始する前に、
前記クライアントデバイスにおいて、
前記オーディオデータの少なくとも一部のローカル処理に基づく声の活動と、
前記画像フレームのうちの1つまたは複数のローカル処理および前記オーディオデータの少なくとも一部に基づく前記ユーザの口の動きと前記声の活動の同時発生と
の一方または両方を検出するステップ
をさらに備え、
前記オーディオデータの前記何らかの処理を開始するステップがさらに、前記声の活動と、前記ユーザの前記口の動きと前記声の活動の前記同時発生との、一方または両方を検出したことに応答する、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記ユーザの前記視線の前記発生を検出するステップが第1の時間に行われ、
前記声の活動と、前記ユーザの前記口の動きと前記声の活動の前記同時発生との、一方または両方を検出するステップが、前記第1の時間より後の第2の時間において行われ、
前記オーディオデータの前記何らかの処理を開始する前に、かつ前記第2の時間より前に、
前記クライアントデバイスの出力構成要素を介して、前記クライアントデバイスの前記1つまたは複数のカメラに向けられた前記ユーザの前記視線の前記発生を検出したことに応答して、第1の人間知覚可能な合図をレンダリングするステップと、
前記オーディオデータの前記何らかの処理を開始する前に、かつ前記第1の人間知覚可能な合図のレンダリングの後に、
前記出力構成要素または前記クライアントデバイスの追加の出力構成要素を介して、前記声の活動と、前記ユーザの口の動きと前記声の活動の前記同時発生との、一方または両方を検出したことに応答して、第2の人間知覚可能な合図をレンダリングするステップと
をさらに備える、請求項7に記載の方法。
【請求項９】
前記第1の人間知覚可能な合図が、前記クライアントデバイスのディスプレイを介してレンダリングされる第1の視覚的な合図であり、
前記第2の人間知覚可能な合図が、前記クライアントデバイスの前記ディスプレイを介してレンダリングされる第2の視覚的な合図である、請求項8に記載の方法。
【請求項１０】
前記オーディオデータの前記何らかの処理を開始したことに応答して、かつ前記第2の時間の後に、
前記出力構成要素または前記クライアントデバイスの前記追加の出力構成要素を介して、第3の人間知覚可能な合図をレンダリングするステップをさらに備える、請求項8または9に記載の方法。
【請求項１１】
前記クライアントデバイスに対する前記ユーザの前記距離を決定するステップが、前記画像フレームのうちの1つまたは複数に基づく、請求項1から10のいずれか一項に記載の方法。
【請求項１２】
前記ユーザの前記距離を決定するステップが、前記画像フレームのうちの1つまたは複数において検出される、前記ユーザの目と目の間の、決定された目の距離に基づく、請求項11に記載の方法。
【請求項１３】
前記ユーザの前記視線の前記発生を検出したことに基づいて、かつ前記クライアントデバイスに対する前記ユーザの前記距離に基づいて、前記オーディオデータの前記何らかの処理を実行すると決定するステップが、
前記ユーザの前記距離が閾値の距離を満たすことに基づいて、前記何らかの処理を実行すると決定するステップを備える、請求項1から12のいずれか一項に記載の方法。
【請求項１４】
前記ユーザの前記視線の前記発生を検出したことに基づいて、かつ前記クライアントデバイスに対する前記ユーザの前記距離に基づいて、前記オーディオデータの前記何らかの処理を実行すると決定するステップが、
前記ユーザの前記距離の大きさに基づいて、かつ前記ユーザの前記視線に対する視線信頼度メトリックに基づいて、前記オーディオデータの前記何らかの処理を実行すると決定するステップを備え、
前記視線信頼度メトリックが、前記少なくとも1つの訓練された機械学習モデルを使用して前記ストリームの前記画像フレームの前記処理に基づいて生成される、請求項1から13のいずれか一項に記載の方法。
【請求項１５】
前記クライアントデバイスにおける前記画像フレームのうちの1つまたは複数をローカルに処理することに基づいて、前記ユーザが認識されるユーザであると決定するステップをさらに備え、
前記オーディオデータの前記何らかの処理を実行すると決定するステップがさらに、前記ユーザが認識されるユーザであると決定することに基づく、請求項1から14のいずれか一項に記載の方法。
【請求項１６】
前記オーディオデータの前記何らかの処理が、認識された発話を生成するための前記オーディオデータの自動発話認識を備え、
前記認識された発話に少なくとも一部基づいて、前記認識された発話が前記自動アシスタントに向けられた要求である確率を示すアシスタント要求尺度を決定するステップと、
前記アシスタント要求尺度に少なくとも一部基づいて、前記クライアントデバイスを介して、前記認識された発話への応答をレンダリングするかどうか決定するステップと
をさらに備える、請求項1から15のいずれか一項に記載の方法。
【請求項１７】
前記認識された発話への前記応答をレンダリングするかどうか決定するステップがさらに、
前記ユーザの前記距離、
前記画像フレームのうちの1つまたは複数に基づく顔認識に基づいて、かつ/または、前記オーディオデータの少なくとも一部に基づく話者識別に基づいて決定されるように、前記ユーザが認識されるユーザであるかどうか、
前記ユーザの前記視線に対する視線信頼度メトリックであって、前記少なくとも1つの訓練された機械学習モデルを使用して前記ストリームの前記画像フレームの前記処理に基づいて生成される、視線信頼度メトリック
のうちの1つまたは複数に基づく、請求項16に記載の方法。
【請求項１８】
クライアントデバイスの1つまたは複数のプロセッサによって実施される、ユーザと自動アシスタントとの間のホットワードを用いない対話を容易にする方法であって、
前記クライアントデバイスの1つまたは複数のカメラからの出力に基づく画像フレームのストリームを受信するステップと、
前記クライアントデバイスにおいて、
前記クライアントデバイスに向けられたユーザの視線
の発生を検出するために、前記クライアントデバイスにローカルに記憶されている少なくとも1つの訓練された機械学習モデルを使用して前記ストリームの前記画像フレームを処理するステップと、
前記クライアントデバイスのディスプレイにおいて、前記クライアントデバイスに向けられた前記ユーザの前記視線の前記発生を検出したことに応答して第1の人間知覚可能な合図をレンダリングするステップと、
前記第1の人間知覚可能な合図をレンダリングする間に、
前記クライアントデバイスにおいて、
前記クライアントデバイスの1つまたは複数のマイクロフォンによって捉えられるオーディオデータの少なくとも一部のローカル処理に基づく、声の活動と、
前記画像フレームおよび前記オーディオデータの少なくとも一部のうちの1つまたは複数のローカル処理に基づく、前記ユーザの口の動きと前記声の活動の同時発生と、
前記画像フレームのうちの1つまたは複数のローカル処理に基づく、前記ユーザのジェスチャと
のうちの1つまたは複数を検出するステップと、
前記視線の発生を検出し続けること、ならびに、前記声の活動、前記ユーザの前記口の動きと前記声の活動の前記同時発生、および前記ユーザの前記ジェスチャのうちの1つまたは複数を検出することに応答して、
前記クライアントデバイスの前記ディスプレイにおいて、前記第1の人間知覚可能な合図のレンダリングを第2の人間知覚可能な合図のレンダリングと交代させるステップと、
前記第2の人間知覚可能な合図をレンダリングした後で、
前記クライアントデバイスにおいて、前記オーディオデータおよび/または前記画像フレームのうちの1つまたは複数の何らかの追加の処理を開始するステップと
を備える、方法。
【請求項１９】
前記オーディオデータおよび/または前記画像フレームのうちの1つまたは複数の前記何らかの追加の処理を開始したことに応答して、
前記クライアントデバイスの前記ディスプレイにおいて、前記第2の人間知覚可能な合図のレンダリングを第3の人間知覚可能な合図のレンダリングと交代させるステップ
をさらに備える、請求項18に記載の方法。
【請求項２０】
前記オーディオデータおよび/または前記画像フレームのうちの1つまたは複数の前記何らかの追加の処理を開始するステップが、
前記自動アシスタントと関連付けられるリモートサーバへの前記オーディオデータおよび/または前記画像フレームの送信を開始するステップを備える、請求項18または19に記載の方法。
【請求項２１】
前記視線の前記発生を検出すること、前記声の活動を検出すること、前記口の動きと前記声の活動の前記同時発生を検出すること、および前記ジェスチャを検出することのうちの1つまたは複数と各々関連付けられる、1つまたは複数の信頼度尺度を決定するステップをさらに備える、請求項18から20のいずれか一項に記載の方法。
【請求項２２】
前記オーディオデータおよび/または前記画像フレームのうちの1つまたは複数の前記何らかの追加の処理を開始するステップが、前記1つまたは複数の信頼度尺度が1つまたは複数の閾値を満たすことに基づく、請求項21に記載の方法。
【請求項２３】
前記第2の人間知覚可能な合図のサイズが前記信頼度尺度のうちの1つまたは複数に基づく、請求項21または22に記載の方法。
【請求項２４】
1つまたは複数のプロセッサによって実施される、ユーザと自動アシスタントとの間のホットワードを用いない接触なしのジェスチャ対話を容易にする方法であって、
クライアントデバイスにおいて、前記クライアントデバイスの1つまたは複数のカメラからの出力に基づく画像フレームのストリームを受信するステップと、
前記クライアントデバイスにおいて、
前記クライアントデバイスに向けられたユーザの視線
の発生を検出するために、前記クライアントデバイスにローカルに記憶されている少なくとも1つの訓練された機械学習モデルを使用して前記ストリームの前記画像フレームを処理するステップと、
前記ユーザの前記視線の前記発生を検出したことに基づいて、前記ストリームの前記画像フレームのうちの1つまたは複数によって捉えられる前記ユーザのジェスチャへの応答を生成すると決定するステップと、
前記ユーザの前記ジェスチャへの前記応答を生成するステップであって、前記応答を生成するステップが、
前記ストリームの前記画像フレームのうちの前記1つまたは複数の処理に基づいて、前記ユーザの前記ジェスチャを決定するステップと、
前記ユーザの前記ジェスチャに基づいて、かつ前記ジェスチャのときに前記クライアントデバイスによってレンダリングされているコンテンツに基づいて、前記応答を生成するステップと
を備える、ステップと、
前記クライアントデバイスにおいて前記応答を実施するステップと
を備える、方法。
【請求項２５】
前記ユーザの前記ジェスチャに基づいて、かつ前記ジェスチャのときに前記クライアントデバイスによってレンダリングされている前記コンテンツに基づいて、前記応答を生成するステップが、
前記ジェスチャが複数の応答行動に割り当てられていると決定するステップと、
前記複数の応答行動から、前記ジェスチャのときに前記クライアントデバイスによってレンダリングされている前記コンテンツに基づいて単一の応答行動を選択するステップと、
前記選択された単一の応答行動の実行を引き起こすために前記応答を生成するステップと
を備える、請求項24に記載の方法。
【請求項２６】
前記クライアントデバイスにおいて、前記クライアントデバイスに対する前記ユーザの距離を決定するステップをさらに備え、前記クライアントデバイスに対する前記ユーザの前記距離を決定するステップが、
前記画像フレームのうちの1つまたは複数と、
前記クライアントデバイスの追加のセンサからの追加のセンサデータと
の一方または両方に基づき、
前記ユーザの前記ジェスチャへの前記応答を生成すると決定するステップがさらに、前記ユーザの前記距離の大きさに基づく、請求項24または25に記載の方法。
【請求項２７】
前記ユーザの前記距離にさらに基づいて前記ユーザの前記ジェスチャへの前記応答を生成すると決定するステップが、前記ユーザの前記距離が距離の閾値を満たすことに基づいて、前記応答を生成すると決定するステップを備える、請求項26に記載の方法。
【請求項２８】
前記クライアントデバイスにおける前記画像フレームのうちの1つまたは複数をローカルに処理することに基づいて、前記ユーザが認識されるユーザであると決定するステップをさらに備え、
前記ユーザの前記ジェスチャへの前記応答を生成すると決定するステップがさらに、前記ユーザが認識されるユーザであると決定することに基づく、請求項24から27のいずれか一項に記載の方法。
【請求項２９】
前記ユーザの前記ジェスチャへの前記応答を生成すると決定するステップがさらに、
前記ユーザが前記認識されるユーザであると決定することに基づき、
前記クライアントデバイスによってレンダリングされている前記コンテンツの提供を同じ認識されるユーザが開始したと決定することに基づく、請求項28に記載の方法。
【請求項３０】
1つまたは複数のプロセッサによって実施される、ユーザと自動アシスタントとの間のホットワードを用いない対話を容易にする方法であって、
クライアントデバイスにおいて、
前記クライアントデバイスの1つまたは複数のカメラからの出力に基づく画像フレームのストリームと、
前記クライアントデバイスの1つまたは複数のマイクロフォンによって検出されるオーディオデータと
を受信するステップと、
前記クライアントデバイスにおいて、
前記画像フレームのうちの1つまたは複数によって捉えられるユーザの口の動きと、
前記ユーザの声の活動と
の同時発生を決定するために、前記画像フレームおよび前記オーディオデータを処理するステップと、
前記クライアントデバイスにおいて、かつ前記ユーザの前記口の動きと前記ユーザの前記声の活動の前記同時発生を決定したことに基づいて、
前記オーディオデータの何らかの処理、および
前記クライアントデバイスの出力構成要素を介した少なくとも1つの人間知覚可能な合図のレンダリング
の一方または両方を実行すると決定するステップと、
前記クライアントデバイスにおいて、前記オーディオデータの前記何らかの処理および/または前記少なくとも1つの人間知覚可能な合図の前記レンダリングを実行すると決定したことに応答して、前記オーディオデータの前記何らかの処理および/または前記少なくとも1つの人間知覚可能な合図の前記レンダリングを開始するステップと
を備える、方法。
【請求項３１】
前記オーディオデータの前記何らかの処理が、前記オーディオデータの前記何らかの処理および/または前記少なくとも1つの人間知覚可能な合図の前記レンダリングを実行すると決定したことに応答して開始され、前記オーディオデータの前記何らかの処理を開始するステップが、
前記クライアントデバイスにおける前記オーディオデータのローカルの自動発話認識を開始するステップ、
前記自動アシスタントと関連付けられるリモートサーバへの前記オーディオデータの送信を開始するステップ、および
前記リモートサーバへの、前記ローカルの自動発話認識からの認識されたテキストの送信を開始するステップ
のうちの1つまたは複数を備える、請求項30に記載の方法。
【請求項３２】
前記クライアントデバイスにおいて、前記ユーザの前記口の動きと前記ユーザの前記声の活動の同時発生を決定するために、前記画像フレームおよび前記オーディオデータを処理するステップが、
口の動きと同時に発生し、前記口の動きの結果である声の活動と、
前記口の動きに由来しないが前記口の動きと同時に発生する声の活動と
を区別するように訓練された、ローカルに記憶されている機械学習モデルを使用して、前記画像フレームと前記オーディオデータの両方を処理するステップを備える、請求項30または31に記載の方法。
【請求項３３】
前記クライアントデバイスにおいて、前記クライアントデバイスに対する前記ユーザの距離を決定するステップをさらに備え、前記クライアントデバイスに対する前記ユーザの前記距離を決定するステップが、
前記画像フレームのうちの1つまたは複数、および
前記クライアントデバイスの追加のセンサからの追加のセンサデータ
の一方または両方に基づき、
前記オーディオデータの前記何らかの処理および/または前記少なくとも1つの人間知覚可能な合図の前記レンダリングを実行すると決定するステップがさらに、前記クライアントデバイスに対する前記ユーザの前記距離に基づく、請求項30から32のいずれか一項に記載の方法。
【請求項３４】
前記クライアントデバイスに対する前記ユーザの前記距離にさらに基づいて、前記オーディオデータの前記何らかの処理および/または前記少なくとも1つの人間知覚可能な合図の前記レンダリングを実行すると決定するステップが、
前記クライアントデバイスに対する前記ユーザの前記距離が閾値を満たすと決定するステップを備える、請求項33に記載の方法。
【請求項３５】
前記クライアントデバイスに対する前記ユーザの前記距離にさらに基づいて、前記オーディオデータの前記何らかの処理および/または前記少なくとも1つの人間知覚可能な合図の前記レンダリングを実行すると決定するステップが、
前記クライアントデバイスに対する前記ユーザの1つまたは複数の以前に決定された距離よりも、前記クライアントデバイスに対する前記ユーザの前記距離が前記クライアントデバイスに近くなっていると決定するステップを備える、請求項33または34に記載の方法。
【請求項３６】
前記クライアントデバイスにおいて、かつ前記画像フレームのうちの1つまたは複数に基づいて、前記ユーザの視線が前記クライアントデバイスに向けられていると決定するステップをさらに備え、
前記オーディオデータの前記何らかの処理および/または前記少なくとも1つの人間知覚可能な合図の前記レンダリングを実行すると決定するステップがさらに、前記ユーザの前記視線が前記クライアントデバイスに向けられていると決定することに基づく、請求項30から35のいずれか一項に記載の方法。
【請求項３７】
前記クライアントデバイスにおいて、前記画像フレームのうちの1つまたは複数に基づいて、前記ユーザの体の姿勢が前記クライアントデバイスを向いていると決定するステップをさらに備え、
前記オーディオデータの前記何らかの処理および/または前記少なくとも1つの人間知覚可能な合図の前記レンダリングを実行すると決定するステップがさらに、前記ユーザの前記体の姿勢が前記クライアントデバイスを向いていると決定することに基づく、請求項30から36のいずれか一項に記載の方法。
【請求項３８】
少なくとも1つの視覚構成要素と、
少なくとも1つのマイクロフォンと、
少なくとも1つのディスプレイと、
1つまたは複数のプロセッサであって、請求項1から37のいずれか一項に記載の方法を前記1つまたは複数のプロセッサに行わせるためのローカルに記憶されている命令を実行する1つまたは複数のプロセッサと
を備える、クライアントデバイス。
【請求項３９】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1から37のいずれか一項に記載の方法を行わせる命令を備える、コンピュータプログラム。
【請求項４０】
請求項1から37のいずれか一項に記載の方法を行うための1つまたは複数のプロセッサを備える、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
人は、「自動アシスタント」と本明細書で呼ばれる(「デジタルエージェント」、「双方向型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「アシスタントアプリケーション」、「会話エージェント」などとも呼ばれる)双方向型のソフトウェアアプリケーションを用いて、人とコンピュータの間の対話に関わることができる。たとえば、人(自動アシスタントと対話するときには「ユーザ」と呼ばれ得る)は、場合によってはテキストへと変換されてから処理され得る話される自然言語入力(すなわち、発声)を使用して、かつ/または、テキストの(たとえば、タイプされた)自然言語入力を与えることによって、自動アシスタントに命令および/または要求を与えることができる。自動アシスタントは、可聴のおよび/または視覚的なユーザインターフェース出力を含み得る、応答ユーザインターフェース出力を与えることによって、要求に応答する。
【０００２】
上で言及されたように、多くの自動アシスタントは、話される発声を介して対話するように構成される。ユーザのプライバシーを守るために、および/またはリソースを節約するために、自動アシスタントが話される発声を完全に処理する前に、ユーザが自動アシスタントを明白に呼び出さなければいけないことが多い。自動アシスタントの明白な呼び出しは通常、あるユーザインターフェース入力がクライアントデバイスにおいて受け取られることに応答して行われる。クライアントデバイスは、自動アシスタントとのインターフェースをとる(たとえば、ユーザからの入力を受け取り、可聴のおよび/またはグラフィカルな応答を提供する)ためのインターフェースをクライアントデバイスのユーザに提供し、自動アシスタントを実装する1つまたは複数の追加の構成要素(たとえば、ユーザ入力を処理して適切な応答を生成する、オンデバイス構成要素および/またはリモートサーバデバイス)とインターフェースをとる、アシスタントインターフェースを含む。
【０００３】
クライアントデバイスを介して自動アシスタントを呼び出すことができるいくつかのユーザインターフェース入力には、自動アシスタントを呼び出すためのクライアントデバイスのハードウェアボタンおよび/または仮想ボタンがある(たとえば、ハードウェアボタンの押下、クライアントデバイスにより表示されるグラフィカルインターフェース要素の選択)。追加または代替として、多くの自動アシスタントは、1つまたは複数の特定の話される呼び出しフレーズに応答して呼び出されてもよく、これは「ホットワード/フレーズ」または「トリガワード/フレーズ」としても知られている。たとえば、自動アシスタントを呼び出すために、「ヘイアシスタント」、「OKアシスタント」、および/または「アシスタント」などの特定の話される呼び出しフレーズが話されてもよい。
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書で「アシスタントデバイス」とも呼ばれる、自動アシスタントとの対話を容易にする多くのクライアントデバイスは、ユーザが自動アシスタントとの接触なしの対話に関わることを可能にする。たとえば、アシスタントデバイスは、ユーザが自動アシスタントを呼び出すための発声を提供すること、および/または自動アシスタントと別様に対話することを可能にする、マイクロフォンを含むことが多い。追加または代替として、本明細書で説明されるアシスタントデバイスは、自動アシスタントとの接触なしの対話を容易にするために、1つまたは複数の視覚構成要素(たとえば、カメラ、光検出および測距(LIDAR)構成要素、レーダー構成要素など)を組み込み、かつ/またはそれと通信していてもよい。
【０００５】
本明細書で開示される実装形態は、ホットワードを用いない自動アシスタントの1つまたは複数の機能の適応に関する。それらの実装形態は、自動アシスタントインターフェース(グラフィカルおよび/または可聴)を提供するアシスタントデバイスの1つまたは複数のセンサ構成要素からのセンサデータを処理して、アシスタントデバイスの近くのユーザの様々な属性の発生および/または信頼度メトリック(confidence metric)を決定する。それらの実装形態はさらに、様々な属性の1つまたは複数の発生および/または信頼度に基づいて機能の1つまたは複数の各々を適応させるかどうかを決定する。たとえば、それらの実装形態は、それまで休止していたセンサデータの少なくとも一部のローカル処理を開始すること、および/または遠隔の自動アシスタント構成要素へのオーディオデータ(および/またはオーディオデータに基づいてローカルで認識されるテキスト)の少なくとも一部の送信を開始することなどの、センサデータの少なくとも一部の何らかの処理を開始することを決定することができる。追加または代替として、実装形態は、たとえば、データのそのような処理および/または送信がすでに部分的にもしくは完全に開始した後で、少なくとも一部のセンサデータのローカル処理を停止することによって、および/または、遠隔の自動アシスタント構成要素への少なくとも一部のデータの送信を停止することによって、少なくとも一部のセンサデータの処理を停止することを決定することができる。データの処理および/または送信を停止するという決定は、様々な属性のうちの1つまたは複数の決定された信頼度の時間的な展開に従って行われ得る。たとえば、1つまたは複数の第1の属性と関連付けられる初期のセンサデータから、自動アシスタントの1つまたは複数の機能を適応させることが決定され得る。しかしながら、1つまたは複数のさらなる属性と関連付けられるセンサデータなどの、追加のセンサデータが利用可能になるにつれて、アシスタントの1つまたは複数の機能の適応を止めることが決定され得る。このことは、少なくとも一部のデータの処理および/または送信を開始するかどうかについての最初の肯定的な決定が、信頼度の尺度が時間とともに展開するにつれて誤りであったと後で決定される場合に、アシスタントデバイスにおける計算リソースの使用量、ならびにアシスタントデバイスと遠隔に位置するコンピューティング構成要素との間のデータ送信ネットワークの使用量を減らすことができる。
【０００６】
様々な利用される属性は、たとえば、(1)アシスタントデバイスに向けられたユーザの視線(「向けられた視線」とも本明細書で呼ばれる)、(2)アシスタントデバイスに対するユーザの距離、(3)ユーザの口の動き(「口の動き」とも本明細書で呼ばれる)、(4)声の活動、(5)ユーザの口の動きと声の活動の同時発生、(6)顔認識、(7)話者認識、(8)存在認識、(9)アシスタントデバイスに対するユーザの体の姿勢(たとえば、アシスタントデバイスの方を向いているか)、および/または(10)ユーザの接触なしのジェスチャのうちの1つまたは複数(たとえば、すべて)を含み得る。たとえば、何らかの処理の開始は、アシスタントデバイスにおける、ユーザの視線がアシスタントデバイスに向けられているというローカルの決定に応答したものであってもよく、任意選択でさらに、アシスタントデバイスに対するユーザの距離、検出される声の活動、(任意選択で声の活動と同時に発生する)ユーザの口の検出される動き、および/または他の検出される属性のうちの1つまたは複数と、任意選択で対応する信頼度とに基づいてもよい。これらの属性の各々および任意選択で関連する信頼度尺度を決定すること、ならびに、1つまたは複数のアシスタント機能を適応させるかどうかを決定する際にそれらの属性および信頼度メトリックを利用することの、追加の説明が本明細書で提供される。
【０００７】
一般に、ユーザがアシスタントデバイスを介して自動アシスタントと対話することを意図しているかどうかを決定する際に、様々な属性が利用される。たとえば、ユーザが、アシスタントデバイスのマイクロフォンを介して検出されるユーザの話される入力を介して、および/または、アシスタントデバイスの視覚構成要素を介して検出されるユーザの接触なしのジェスチャ入力を介して、対話することを意図しているかどうかを決定する。行われる適応は、センサデータの何らかのローカル処理および/またはリモート処理の開始、対話を容易にするための何らかのセンサデータの送信、および/または、対話に関してユーザにフィードバックを提供するための人間知覚可能な合図(human perceptible cue)の提供などの、そのような対話を容易にする1つまたは複数の適応を含み得る。本明細書で開示される技法を利用すると、自動アシスタントとのユーザの対話が、ホットワードの発声でそのような対話をユーザが始める必要なく開始および/または誘導されることが可能になる。これにより、(少なくともホットワードの省略により)ユーザにより与えられるユーザ入力を少なくすることが可能になり、これは対話の長さを直接短くするので、そうされなければより長い対話において利用されるであろう様々なネットワークリソースならびに/またはリモートおよび/もしくはローカルの処理リソースを節約する。その上、ホットワードは、話しにくい不自然な定められたフレーズであることが多い。この不自然さにより、ユーザとアシスタントの対話に摩擦が加わり、かつ/または対話がさらに長くなることがある。
【０００８】
上で言及されたように、いくつかの実装形態では、様々な属性の1つまたは複数の発生および/または信頼度メトリックに基づいて行われる適応は、何らかセンサデータ(たとえば、オーディオデータ、ビデオ、画像など)の何らかの処理の開始を含み得るが、その何らかの処理はそれより前に実行されていなかった(すなわち、それまでは休止していた)。たとえば、様々な属性の1つまたは複数の発生および/または信頼度の前に、自動アシスタントは、オーディオデータ、ビデオ/画像データなどの何らかのセンサデータの限られた処理のみを実行することができる(または処理を実行することができない)。
【０００９】
たとえば、適応の前に、自動アシスタントは任意選択で、(たとえば、声の活動の発生、および/または明確な呼び出しフレーズの発生を監視する際に)オーディオデータの最小限の処理をローカルで行うことができ、かつ/または、オーディオデータを一時的にローカルにバッファリングすることができる。適応の前に、自動アシスタントは、ローカルの処理および/または一時的なバッファリングの後で、かつオーディオデータが自動アシスタントの1つまたは複数の追加の構成要素により処理されるようにすることなく、オーディオデータを「廃棄」する。そのような追加の構成要素は、たとえば、ローカルならびに/またはリモートのspeech-to-textプロセッサ、ローカルならびに/またはリモートの自然言語理解構成要素、オーディオデータに含まれる話される発声が、自動アシスタントに向けられていること(「意味フィルタリング」とも本明細書で呼ばれる)、および/もしくは、顔認識に基づいて視覚的に識別される話者と一致する話者などのある話者からのものであること(「テキスト非依存話者識別/認識」とも本明細書で呼ばれる)を検証するローカルならびに/またはリモートの構成要素を含み得る。しかしながら、様々な属性の1つまたは複数の発生および/または信頼度を決定したことに応答して、適応は、オーディオデータが追加の構成要素のうちの1つまたは複数によって処理されるようにすることを含み得る。これらのおよび他の方式において、処理リソースおよび/またはネットワークリソースは、何らかの条件の発生を決定したことに応答してオーディオデータを送信し、かつ/またはその何らかの処理を実行することのみによって減らされ得る。
【００１０】
また、たとえば、適応より前に、自動アシスタントは任意選択で、向けられた視線の発生、口の動きと声の活動の同時発生、顔認識、および/または対応する信頼度メトリックを決定することなどの、何らかの目的でのみ視覚データをローカルで処理することができる。そのような適応より前には、自動アシスタントは、リモートの自動アシスタント構成要素へのあらゆる視覚データの送信を控える、および/またはそのような視覚データにおいて捉えられるユーザのあらゆるジェスチャへの応答を生成するのを控えるなど、視覚データの何らかの処理を控えることができる。しかしながら、様々な属性の1つまたは複数の発生および/または信頼度を決定したことに応答して、視覚データのそのようなさらなる処理を行うことができる。これらのおよび他の方式において、処理リソースおよび/またはネットワークリソースは、何らかの条件の発生に応答して視覚データを送信し、かつ/またはその何らかの処理を実行することのみによって減らされ得る。
【００１１】
その上、多くの実装形態において、属性の発生および/または信頼度メトリックを決定することは、アシスタントデバイスの視覚構成要素(たとえば、カメラ)、アシスタントデバイスのマイクロフォン、および/またはアシスタントデバイスの他のセンサ構成要素からのセンサデータに基づいて、アシスタントデバイスにおいて実行される。加えて、それらの実装形態のいくつかでは、アシスタントデバイスは、発生および/または信頼度メトリックの決定に基づいて、自動アシスタント機能を適応させるかどうかをローカルで決定する。したがって、それらの実装形態では、自動アシスタント機能を適応させるかどうかを決定することは、アシスタントデバイスからのセンサデータおよび/またはアシスタントデバイスからの他のデータが1つまたは複数のリモートの自動アシスタント構成要素へネットワークを介して送信されることなく、アシスタントデバイスにおいてローカルで行われ得る。むしろ、そのような送信は任意選択で、適応させられる自動アシスタント機能のうちの1つであってもよく、そのような機能を適応させるというローカルの決定にのみ応答して行われてもよい。何らかの条件が満たされない限り送信を防ぐことによってセンサデータおよび/または他のローカルアシスタントデバイスデータのセキュリティを維持することに加えて、そのような実装形態はさらに、そのようなローカルの決定を通じて、ネットワークリソースおよびリモートデバイスのリソースを節約する。さらに、そのような実装形態は、より迅速に、かつそうされなければクライアント-サーバの送信により存在するであろう追加のレイテンシなしで、決定が行われることを可能にする。そのようなレイテンシの低減は、ユーザ-アシスタントの対話の全体の長さも同様に減らすことができる。
【００１２】
より一般的には、本明細書で説明される様々な実装形態は、自動アシスタントを実装するために使用されるコンピューティングリソースおよび通信ネットワークに効率性をもたらすことができる。たとえば、本明細書の説明から明らかとなるように、実装形態の態様は、データネットワークを介した通信のより選択的な開始と、ネットワークを介したデータトラフィックの対応する低減とを生み出すことができる。たとえばアシスタントデバイスからの、ネットワーク通信のより選択的な開始はさらに、それとの通信が開始されるリモートシステムにおけるコンピューティングリソースのより効率的な使用につながることがあり、それは、アシスタントデバイスからの様々な潜在的な通信が、リモートシステムとのあらゆる接触が開始される前に除去されるからである。同様に、ネットワークを介したデータトラフィックの低減、ならびに/または、アシスタントデバイスおよび/もしくはリモートシステムにおけるコンピューティングリソースのより効率的な使用が、アシスタントデバイスにおいて少なくとも一部のデータを処理すること、および/またはネットワークを介して少なくともデータを送信することを停止するという、アシスタントデバイスにおける決定の結果として達成され得る。上で論じられたように、そのような決定は、より多くのセンサデータがアシスタントデバイスにおいて受信され処理されるにつれて展開する、1つまたは複数の属性と関連付けられる信頼度基準を基礎として行われ得る。データネットワークおよびリモートシステム上のコンピューティングリソースの使用における効率の改善は、ネットワークの中の送信機および受信機による電力使用量の観点で、ならびにリモートシステムにおけるメモリ動作と処理能力の使用率の観点で、大幅な節約につながり得る。それに対応する効果は、以下で説明されるようにアシスタントデバイスにおいても得られ得る。これらの効果、特に自動アシスタントの動作の進行により時間とともに得られる効果により、大幅な追加の容量を、ネットワークにおいて、かつアシスタントを実行するデバイスおよびシステムを含むコンピューティング装置全体において得ることが可能になる。この追加の容量は、アシスタントに関連するかどうかにかかわらず、たとえばインフラストラクチャの追加または更新を通じてネットワーク容量を拡大する必要なく、かつコンピューティング装置における追加のコンピューティング動作なしで、データネットワークにおけるさらなる通信のために使用され得る。他の技術的な改善が、本明細書の説明から明らかになるであろう。
【００１３】
いくつかの実装形態では、行われる自動アシスタントの適応は、ユーザインターフェース出力のレンダリングの適応を含み得る。それらの実装形態のいくつかでは、アシスタントデバイスによるユーザインターフェース出力のレンダリングの適応は、1つまたは複数の人間知覚可能な合図のレンダリングを含み得る。人間知覚可能な合図の1つまたは複数のレンダリングは任意選択で、自動アシスタントをさらに適応させることより前に行われてもよく、さらなる適応が行われようとしていることを(直接または間接的に)示してもよい。そのように人間知覚可能な合図を提供することで、アシスタントとのユーザの対話のステータスをユーザに知らせることができる。これにより、ユーザは、自動アシスタントの状態を確かめて、ユーザが意図している場合には自動アシスタントがユーザからの話される発声および/または接触なしのジェスチャを処理していることを確実にでき、また、ユーザがそのような処理を意図していない場合にはユーザが視線を逸らすこと、および/または明確な中断入力を与えることが可能になる。ユーザが視線を逸らす場合、または明確な中断入力を与える場合、アシスタント機能のさらなる適応の実行を中断または防止することができ、それにより様々なリソースを節約する。いくつかの実装形態では、人間知覚可能な合図は、アシスタントデバイスのディスプレイからの視覚的な合図を含み(またはそれに制限され)、これにより、ユーザのあらゆる話される入力に対する妨害を防ぐことができるので、アシスタントとのユーザの対話がより簡潔になる。
【００１４】
一例として、第1の人間知覚可能な合図が、ユーザの向けられた視線を検出したこと(たとえば、少なくとも閾値の長さの時間、および/または閾値の割合の連続する画像フレームの間検出される、ユーザの視線)に応答してレンダリングされ得る。第1の人間知覚可能な合図は、向けられた視線が検出されたことと、(たとえば、ユーザが視線を逸らさない場合、視覚的なおよび/もしくは口頭の停止命令を出さない場合、または、さらなる処理を中断するのを望むことを別様に示さない場合)何らかのセンサデータのさらなる処理が行われ得ることを、ユーザに(直接または間接的に)知らせることができる。第1の人間知覚可能な合図は、視覚データおよび/もしくはセンサデータの何らかの処理、ならびに/または視覚データおよび/もしくはセンサデータの送信などの、さらなる適応の前にレンダリングされ得る。第1の人間知覚可能な合図の1つの非限定的な例は、ディスプレイの全体または一部の白い光(たとえば、ディスプレイの周辺の白い光)などの、ディスプレイにレンダリングされる光である。
【００１５】
この例について続けると、第2の人間知覚可能な合図が、向けられた視線を検出し続けることに応答して、かつ任意選択で、ユーザがアシスタントデバイスから閾値の距離以内(たとえば、画像分析に基づいて推定されるような4フィートまたは他の閾値以内)にいること、声の活動の存在、および/または口の動きと声の活動の同時発生などの、追加の属性および/または信頼度メトリックの発生を決定したことに基づいて、レンダリングされ得る。第2の人間知覚可能な合図は、声の活動が検出されたことと、何らかのセンサデータのさらなる処理が行われ得ることとを、ユーザに(直接または間接的に)知らせることができる。第2の人間知覚可能な合図は、視覚データおよび/もしくはセンサデータの何らかの処理、ならびに/または視覚データおよび/もしくはセンサデータの送信などの、さらなる適応の前にレンダリングされ得る。第2の人間知覚可能な合図の1つの非限定的な例は、ディスプレイの一部にわたって、全体的または部分的に垂直もしくは水平にレンダリングされる白いバーなどの、ディスプレイにレンダリングされるバーである。任意選択で、バーの幅、バーの色、バーの明るさ、および/またはバーの他の特性は、ユーザがアシスタントとの対話を意図していることの決定された信頼度と、さらなる処理が行われ得ることの対応する信頼度とをユーザに示すために、追加の属性の量および/またはそれらの信頼度メトリックの大きさに依存してもよい。
【００１６】
さらにこの例について続けると、第3の人間知覚可能な合図は、声の活動の終了を検出したこと(たとえば、アシスタントデバイスにおけるローカルの終点検出を通じた)および/または他の条件を検出したことに応答してレンダリングされ得る。第3の人間知覚可能な合図は、何らかのセンサデータのさらなる処理が行われている(しかし任意選択でまだ中断できる)ことを、ユーザに(直接または間接的に)知らせることができる。そのようなさらなる処理は、オーディオデータのspeech-to-text処理、変換されたテキストの自然言語理解、視覚データの処理に基づくジェスチャ認識、ならびに/または、自然言語理解および/もしくはジェスチャ認識に基づく履行を含み得る。追加または代替として、そのようなさらなる処理は、さらなるセンサデータに含まれるあらゆる発声および/またはジェスチャが自動アシスタントに対して意図されており、履行されるべきであることを確認するための、追加の処理を含み得る。第3の人間知覚可能な合図の1つの非限定的な例は、ディスプレイの一部にレンダリングされる複数色の円弧(たとえば、虹)などの、ディスプレイにレンダリングされる複数色のバーまたは円弧である。
【００１７】
やはり、1つまたは複数のさらなる適応は、人間知覚可能な合図のレンダリングの後で、かつ、属性および/もしくは信頼度メトリックの継続的な発生、ならびに/または追加の属性および/もしくは信頼度メトリックの発生を検出したことに応答して行われ得る。たとえば、さらなる適応は、クライアントデバイスによる1つまたは複数のリモートの自動アシスタント構成要素への、クライアントデバイスの1つまたは複数のセンサ構成要素によって生成される何らかのセンサデータの送信を含み得る(ただし、さらなる適応の前にはセンサ構成要素からのセンサデータは送信されていなかった)。何らかのセンサデータは、たとえば、向けられた視線および/もしくは他の属性の発生を決定した後に捉えられる視覚データならびに/またはオーディオデータ、あるいは、そのような発生の前もしくは間に捉えられた視覚データおよび/またはオーディオデータを含み得る(たとえば、そのような視覚データおよび/またはオーディオデータは、クライアントデバイスに一時的にバッファリングされ、発生および/または信頼度を決定したことのみに応答して利用され得る)。人間知覚可能な合図を提供することによって、ユーザは、行われようとしているさらなる適応について通知され、さらなる適応を防ぐための機会を与えられ得る。たとえば、さらなる適応がユーザの継続的な向けられた視線に依存する場合、ユーザは、(たとえば、ユーザが自動アシスタントと対話してセンサデータが送信されるようにすることを意図していなかった場合)さらなる適応を防ぐために視線を逸らすことができる。このようにして、さらなる適応を、さらなる適応により生じるであろうネットワークリソースおよび/または計算リソースの使用とともに、防ぐことができる。可聴の「鐘の音」、可聴の「話される出力」(たとえば、「アシスタントに話しかけているようです。もしそうしたくなければ目を背けてください」)、アシスタントデバイスのディスプレイ画面上の視覚的な記号、アシスタントデバイスの発光ダイオードの点灯などの、様々な人間知覚可能な合図が提供され得る。
【００１８】
いくつかの実装形態では、追加または代替として、ユーザインターフェース出力のレンダリングの適応は、アシスタントデバイスによってレンダリングされている可聴のユーザインターフェース出力の量を減らすこと、ならびに/または、アシスタントデバイスによって視覚的にレンダリングされている可聴のユーザインターフェース出力および/もしくはビデオ出力の中断を含む。一例として、向けられた視線および/または他の属性が、自動アシスタントに向けられた発声をユーザが話し始める前に検出されると仮定する。向けられた視線および/または他の属性を検出する前に、アシスタントデバイスが可聴のおよび/または視覚的なコンテンツをレンダリングしていることをさらに仮定する。たとえば、アシスタントデバイスの自動アシスタントクライアントは、ある歌の可聴のレンダリングと、その歌に対するビデオの視覚的なレンダリングとを引き起こしていることがある。向けられた視線および/または他の属性を検出したことに応答して、自動アシスタントクライアントは、その歌の可聴のレンダリングの音量が下がるようにする(より小さい音量での可聴のレンダリングと、ビデオの視覚的なレンダリングとを依然として続けながら)ことができる。音量の低減は、アシスタントデバイスの1つまたは複数のマイクロフォンを介して捉えられたオーディオデータなどの、話される発声を捉えるオーディオデータの処理の性能を改善することができる。たとえば、オーディオデータのvoice-to-text処理が、音量の低減の結果として改善されることがあり、オーディオデータに基づく声活動検出(VAD)が、音量の低減の結果として改善されることがあり、オーディオデータに基づく話者ダイアライゼーションが、音量の低減の結果として改善されることがある、などである。オーディオデータの改善された処理は、自動アシスタントが話される発声を適切に解釈して適切な方式で応答する確率を高めることができる。このことは、改善されたユーザ-アシスタントの対話をもたらし、かつ/または、話される発声をユーザに反復させ得る(その結果、反復された話される発声を処理して別の応答を生成しレンダリングするのに計算リソースが消費されることを必要とする)不適切な自動アシスタントの応答のリスクを軽減することができる。
【００１９】
上の例の変形として、適応は、音量の低減の代わりに、可聴の歌の(および任意選択でビデオの)レンダリングを中断することを含み得る。上の例のさらなる変形として、適応は最初に、可聴の歌のレンダリングの音量の低減を含んでもよく、適応はさらに、1つまたは複数の他の属性および/または信頼度の発生に応答して、可聴の歌のレンダリングを続いて中断することを含んでもよい。
【００２０】
いくつかの実装形態では、開始される適応は、視覚データの処理に基づくジェスチャ認識、および/または認識されたジェスチャに基づく履行を含む。たとえば、いくつかの実装形態では、認識されたジェスチャに基づくジェスチャ認識および/または履行(たとえば、応答の生成)は、ジェスチャが認識される同じユーザからの向けられた視線の発生を検出することに依存し得る。それらのまたは他の実装形態のいくつかでは、ジェスチャへの応答は、ユーザのジェスチャに基づいて、かつ任意選択で、ジェスチャのときにクライアントデバイスによってレンダリングされているコンテンツに基づいて、生成される。たとえば、ジェスチャは複数の応答行動に割り当てられてもよく、応答行動のうちの1つが、そのときにデバイスにレンダリングされているコンテンツに基づいて、応答として選択されてもよい。たとえば、親指を立てるジェスチャは、「音量を上げる」行動と、「上にスクロールする」行動の両方に割り当てられてもよく、それらの2つの行動のどちらが選択されるかは、レンダリングされているコンテンツに基づいてもよい。たとえば、「音量を上げる」行動は、オーディオコンテンツおよび/またはオーディオビジュアルコンテンツがレンダリングされているときに選択されてもよいが、「上にスクロールする」行動は、オーディオコンテンツまたはオーディオビジュアルコンテンツがレンダリングされておらず、以前に「下にスクロールする」行動を受けたコンテンツがレンダリングされているときに、選択されてもよい。別の例として、「停止」ジェスチャは、「タイマーアラームを停止する」行動、「音楽を停止する」行動、「通話を終了する」行動、および/または他の行動に割り当てられてもよく、どれが選択されるかは、アシスタントデバイスおよび/または他のアシスタントデバイスにより現在何がレンダリングされているかに依存してもよい。たとえば、アシスタントデバイスが現在タイマーアラームをレンダリングしている場合、「タイマーアラームを停止する」行動が選択されてもよい。より一般的には、様々な認識されるジェスチャは、ジェスチャが検出されるアシスタントデバイスによりレンダリングされているコンテンツに依存して、かつ/または任意選択で、他のアシスタントデバイスにおいてレンダリングされているコンテンツに基づいて、異なるように解釈され得る。その上、ジェスチャに対する認識および/または行動は任意選択で、ジェスチャを行っているユーザからの向けられた視線の発生を決定すること、ジェスチャを行っているユーザがアシスタントデバイスから閾値の距離以内にいると決定すること、および/または他の考慮事項に依存してもよい。
【００２１】
いくつかの実装形態では、応答は、任意のジェスチャ、話される発声、またはユーザのタッチ入力とは無関係に、しかし、クライアントデバイス(またはクライアントデバイスのエコシステムの中にある別のクライアントデバイス)によってレンダリングされているコンテンツおよび本明細書で説明される非ジェスチャユーザ属性のうちの1つまたは複数に依存して、生成されることすらある。たとえば、アシスタントデバイスが現在タイムアラームをレンダリングしている場合、「タイマーアラームを停止する」行動が、タイマーアラームが現在レンダリングされておりユーザの向けられた視線(たとえば、少なくとも1秒または他の閾値の長さにわたる向けられた視線)を決定すること、ユーザがアシスタントデバイスから閾値の距離以内(たとえば、8フィートまたは他の閾値の距離以内)にいると決定すること、ユーザがアシスタントデバイスに近づいていると決定すること、および/または他の考慮事項に応答して、実行され得る。したがって、決定される属性は、それらの決定される属性が、アシスタントデバイスによる何らかの出力のレンダリング(たとえば、タイムアラームのレンダリング)などの、アシスタントデバイスにおける何らかの条件と同時に発生するとき、所与の行動が実施されるようにし得る。より一般的には、決定される属性の様々な組合せは、属性を決定するアシスタントデバイスによって何らかの対応するコンテンツがレンダリングされている状況などのいくつかの状況においてのみ、対応するアシスタントの行動を実行させるものとして解釈され得る。
【００２２】
いくつかの実装形態では、様々な属性の発生および/またはそれらの信頼度を(もしあれば)決定する際に、アシスタントデバイス上にローカルに記憶される訓練された機械学習モデル(たとえば、ニューラルネットワークモデル)は、クライアントデバイスのセンサ構成要素からのセンサデータ(たとえば、クライアントデバイスのカメラからの画像フレーム、デバイスのマイクロフォンからのオーディオデータ)の少なくとも一部を少なくとも選択的に処理するために、クライアントデバイスによって利用される。たとえば、(たとえば存在センサを介して)1人または複数のユーザの存在を検出したことに応答して、クライアントデバイスは、ユーザの向けられた視線の発生を監視する際、ユーザの距離を決定する際、口の動きと声の活動の同時発生を決定する際、声の活動を決定する際、顔認識を実行する際、および/または他の属性の発生を決定する際に、ローカルに記憶されている機械学習モデルを利用して視覚データの少なくとも一部を、少なくともある時間長の間(たとえば、少なくとも閾値の時間長の間、および/または存在がもはや検出されなくなるまで)処理することができる。クライアントデバイスは、専用の存在センサ(たとえば、パッシブ赤外線センサ(PIR))を使用して、視覚データと別個の機械学習モデル(たとえば、人の存在の検出だけのために訓練された別個の機械学習モデル)とを使用して、かつ/または、オーディオデータと別個の機械学習モデル(たとえば、VAD機械学習モデルを使用するVAD)とを使用して、1人または複数のユーザの存在を検出することができる。属性の発生を決定する際の視覚データおよび/またはオーディオデータの処理が1人または複数のユーザの存在をまず検出することに依存する実装形態では、属性の発生を監視する際に、視覚データおよび/またはオーディオデータの非連続の処理を通じて電力リソースを節約することができる。むしろ、それらの実装形態では、処理は、1つまたは複数の低電力消費技法を介して、アシスタントデバイスの環境における1人または複数のユーザの存在を検出することにのみ応答して行われてもよい。
【００２３】
向けられた視線、口の動き(任意選択で声の動きと同時に発生する)、距離、顔認識、および/またはジェスチャの発生を監視する際にローカルの機械学習モデルが利用されるいくつかの実装形態では、1つまたは複数の異なる属性の発生を各々が監視する、異なるモデルが利用され得る。それらの実装形態のいくつかのバージョンでは、1つまたは複数の「上流」モデル(たとえば、物体検出および分類モデル)が、顔である可能性が高い、目である可能性が高い、口である可能性が高い、などの視覚データ(たとえば、画像)の部分を検出するために利用されてもよく、それらの部分は、それぞれの機械学習モデルを使用して処理される。たとえば、画像の顔および/または目の部分は、上流モデルを使用して検出され、視線機械学習モデルを使用して処理され得る。また、たとえば、画像の顔および/または口の部分は、上流モデルを使用して検出され、口の動き(任意選択で声の動きと同時発生する)機械学習モデルを使用して処理され得る。さらに別の例として、画像の人の部分は、上流モデルを使用して検出され、ジェスチャ機械学習モデルを使用して処理され得る。
【００２４】
いくつかの実装形態では、ビデオ/画像のいくつかの部分は、1つまたは複数の属性の発生を検出する際、除去され/無視され/より低く重み付けられ得る。たとえば、ビデオ/画像において捉えられたテレビは、ある人物(たとえば、天気予報係)がテレビによりレンダリングされる結果としての誤検出を防ぐために無視され得る。たとえば、画像のある部分は、別個の物体検出/分類機械学習モデルに基づいて、その部分に対する複数のフレームにわたってその部分において何らかの表示周波数(すなわち、テレビのリフレッシュレートと一致する)を検出したことなどに応答して、テレビに相当すると決定され得る。本明細書で説明されるいくつかの技法では、そのような部分は、テレビまたは他のビデオ表示デバイスからのそれらの様々な属性の検出を防ぐために無視され得る。別の例として、写真フレームが無視され得る。これらおよび他の技法は、自動アシスタントの偽陽性の適応を軽減することができ、このことは、そうされなければ偽陽性の適応において消費されるであろう様々な計算リソースおよび/またはネットワークリソースを節約することができる。また、様々な実装形態において、TV、写真フレームなどの位置が検出されると、そのような部分は任意選択で、複数のフレームにわたって(たとえば、断続的に検証する間、クライアントデバイスまたは物体の動きが検出されるまで、など)無視され続け得る。このことも、様々な計算リソースを節約することができる。
【００２５】
本明細書で開示されるいくつかの実装形態は、中央処理装置(CPU)、グラフィクス処理装置(GPU)、および/またはテンソル処理装置(TPU)などの、1つまたは複数のプロセッサを含む1つまたは複数のコンピューティングデバイスを含む。プロセッサの1つまたは複数は、関連するメモリに記憶されている命令を実行するように動作可能であり、命令は、本明細書で説明される方法のいずれかの実行を引き起こすように構成される。コンピューティングデバイスは、たとえば、マイクロフォン、少なくとも1つのディスプレイ、視覚構成要素、および/または他のセンサ構成要素を伴う、クライアントアシスタントデバイスを含み得る。いくつかの実装形態はまた、本明細書で説明される方法のいずれかを実行するために1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する、1つまたは複数の非一時的コンピュータ可読記憶媒体を含む。
【図面の簡単な説明】
【００２６】
【図１】本明細書で開示される実装形態が実装され得る例示的な環境のブロック図である。
【図２Ａ】様々な実装形態による、本開示の様々な態様を例証する例示的なプロセスフローの図である。
【図２Ｂ】様々な実装形態による、本開示の様々な態様を例証する例示的なプロセスフローの図である。
【図３Ａ】アシスタントデバイスと、向けられた視線および発話を与える(それにより口の動きを引き起こす)ユーザとの例を示し、ユーザが向けられた視線および発話を与えているときにアシスタントデバイスのカメラによって捉えられる画像も示す図である。
【図３Ｂ１】対応する属性の発生および/または信頼度を決定したことに応答して提供され得る視覚的に知覚可能な合図の例の図である。
【図３Ｂ２】対応する属性の発生および/または信頼度を決定したことに応答して提供され得る視覚的に知覚可能な合図の例の図である。
【図３Ｂ３】対応する属性の発生および/または信頼度を決定したことに応答して提供され得る視覚的に知覚可能な合図の例の図である。
【図４】本明細書で開示される実装形態による、例示的な方法を示すフローチャートである。
【図５】本明細書で開示される実装形態による、別の例示的な方法を示すフローチャートである。
【図６】本明細書で開示される実装形態による、別の例示的な方法を示すフローチャートである。
【図７】コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【００２７】
図1は、本明細書で開示される技法が実施され得る例示的な環境を示す。例示的な環境は、自動アシスタントクライアント110を少なくとも選択的に実行する、クライアントデバイス101を含む。「アシスタントデバイス」という用語はまた、自動アシスタントクライアント110を少なくとも選択的に実行するクライアントデバイス101に言及するために本明細書で使用される。1つまたは複数のクラウドベースの自動アシスタント構成要素130が、100において全般に示されている1つまたは複数のローカルエリアネットワークおよび/またはワイドエリアネットワーク(たとえば、インターネット)を介してクライアントデバイス101に通信可能に結合される、1つまたは複数のコンピューティングシステム(まとめて「クラウド」コンピューティングシステムと呼ばれる)上で実装され得る。クラウドベースの自動アシスタント構成要素130は、たとえば、高性能サーバのクラスタを介して実装され得る。
【００２８】
様々な実装形態において、自動アシスタントクライアント110のある実体は、1つまたは複数のクラウドベースの自動アシスタント構成要素130との対話によって、ユーザがそれを通じて人対コンピュータの対話(たとえば、話される対話、ジェスチャベースの対話、および/またはタッチベースの対話)に関わり得る自動アシスタント120の論理的な実体であるようにユーザの観点から見えるものを形成し得る。そのような自動アシスタント120の1つの実体が、図1において破線で示されている。したがって、クライアントデバイス101上で実行される自動アシスタントクライアント110と関わる各ユーザは実質的に、自動アシスタント120のユーザ固有の論理的な実体と関わり得ることが、理解されるべきである。簡潔さおよび平易さのために、特定のユーザに「サービスする」ものとして本明細書で使用される「自動アシスタント」という用語は、ユーザによって操作されるクライアントデバイス101上で実行される自動アシスタントクライアント110と、任意選択で1つまたは複数のクラウドベースの自動アシスタント構成要素130(複数の自動アシスタントクライアント110の間で共有され得る)との組合せを指す。いくつかの実装形態では、自動アシスタント120は、ユーザが自動アシスタント120のその特定の実体によって実際に「サービスされる」かどうかにかかわらず、あらゆるユーザからの何らかの要求に応答し得る。
【００２９】
クライアントデバイス101は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、携帯電話コンピューティングデバイス、ユーザの車両のコンピューティングデバイス(たとえば、車載通信システム、車載エンタテインメントシステム、車載ナビゲーションシステム)、スタンドアロンの双方向型スピーカ(いくつかの場合にはビジョンセンサを含み得る)、スマートテレビなどのスマートアプライアンス(または自動アシスタント能力のあるネットワーク接続ドングルを装備した普通のテレビ)、および/または、コンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザの眼鏡、仮想現実または拡張現実コンピューティングデバイス)であってもよい。追加および/または代替として、クライアントコンピューティングデバイスが提供され得る。前に述べられたように、クライアントデバイス101は任意選択で、ユーザと自動アシスタント120との間の対話を容易にするように主に設計されているアシスタントデバイス(たとえば、スピーカ、マイクロフォン、カメラ(および/または他の視覚構成要素)、およびディスプレイを伴う、スタンドアロンの双方向型デバイス)の形態をとってもよい。
【００３０】
クライアントデバイス101は、1つまたは複数の視野を有する1つまたは複数の視覚構成要素107を装備してもよい。視覚構成要素107は、モノグラフィックカメラ、ステレオグラフィックカメラ、LIDAR構成要素、レーダー構成要素などの、様々な形態をとってもよい。1つまたは複数の視覚構成要素107は、クライアントデバイス101が展開される環境の視覚フレーム(たとえば、画像フレーム(静止画像またはビデオ))を捉えるために、たとえば視覚捕捉モジュール114によって使用され得る。クライアントデバイス101はまた、1つまたは複数のマイクロフォン109を備えてもよい。発話捕捉モジュール112は、ユーザの発話、および/またはマイクロフォン109を介して捉えられる他のオーディオデータを捉えるように構成され得る。
【００３１】
適応エンジン115は、1つまたは複数のユーザ属性の発生および/または信頼度メトリックを決定する際に、視覚捕捉モジュール114によって捉えられる視覚データおよび/または発話捕捉モジュール112によって捉えられるオーディオデータを処理する。その上、適応エンジン115は、属性の発生および/または信頼度メトリックに基づいて、自動アシスタントクライアント110の態様および/またはクラウドベースの自動アシスタント構成要素130の態様などの、自動アシスタント120の1つまたは複数の態様を適応させるかどうかを決定する。そのような適応は、たとえば、クライアントデバイス101によってレンダリングされ自動アシスタントクライアント110によって制御される、ユーザインターフェース出力(たとえば、可聴のおよび/または視覚的な)の適応を含み得る。追加または代替として、そのような適応は、たとえば、クライアントデバイス101による(たとえば、自動アシスタントクライアントの1つまたは複数の構成要素による)、および/または1つまたは複数のクラウドベースの自動アシスタント構成要素130による、センサデータの処理の適応を含み得る。
【００３２】
クライアントデバイス101はまた、1つまたは複数の存在センサ105および/または1つまたは複数のディスプレイ103(たとえば、タッチ感知ディスプレイ)を含み得る。ディスプレイ103は、様々な実装形態においてユーザインターフェース出力がそれを通じてレンダリングされるユーザインターフェース出力構成要素のうちの1つであり得る。ディスプレイ103はさらに、自動アシスタントクライアント110からの応答の視覚的部分がそれを通じてレンダリングされる、ユーザインターフェース出力構成要素のうちの1つであり得る。存在センサ105は、たとえば、PIRおよび/または他のパッシブ存在センサを含み得る。様々な実装形態において、自動アシスタントクライアント110の1つまたは複数の構成要素および/または機能は、存在センサ105からの出力に基づく人の存在の検出に応答して開始され得る。たとえば、視覚捕捉モジュール114および/または発話捕捉モジュール112は、人の存在の検出にのみ応答して有効化されてもよく、任意選択で、人の存在をもはや検出しないことに応答して無効化されてもよい。また、たとえば、視覚構成要素107および/またはマイクロフォン109は、人の存在の検出にのみ応答して有効化されてもよく、任意選択で、人の存在をもはや検出しないことに応答して無効化されてもよい。さらに別の例として、適応エンジン115の1つまたは複数の(たとえば、すべての)モジュールは、人の存在の検出にのみ応答して有効化されてもよく、任意選択で、人の存在をもはや検出しないことに応答して無効化されてもよい。自動アシスタントクライアント110の開始構成要素および/または機能が1人または複数のユーザの存在を最初に検出することに依存する実装形態では、電力リソースを節約することができる。
【００３３】
図1において、適応エンジン115は、視線モジュール1151、距離モジュール1152、口/声モジュール1153、顔認識モジュール1154、声活動モジュール1155、および1つまたは複数の他のモジュール1156を含む。
【００３４】
適応エンジン115は、自動アシスタント120の1つまたは複数の態様を適応させるかどうかを決定する際に、モジュール1151〜1156のうちの1つまたは複数からの決定および/または信頼度メトリックを利用する。たとえば、適応エンジン115は、クラウドベースの自動アシスタント構成要素130へのオーディオデータの送信を開始する前に、かつ/またはオーディオデータのローカルのspeech-to-text処理を実行する前に、(視線モジュール1151による)向けられた視線の発生の検出と、向けられた視線の継続的な発生とを、1つまたは複数の他の属性の発生とともに必要とし得る。1つまたは複数の他の属性の発生は、たとえば、ユーザの距離が(距離モジュール1152によって決定される)閾値の距離以内であること、ユーザの距離がユーザに対して以前に決定された距離より近い(たとえば、少なくとも閾値の程度および/または少なくとも閾値の率だけユーザがアシスタントデバイスにより近くなった)こと、(口/声モジュール1153によって決定される)口の動きと声の活動の同時発生、および/または、(声活動モジュール1155によって決定される)声の活動の発生を含み得る。別の例として、適応エンジン115は、クラウドベースの自動アシスタント構成要素130へのオーディオデータの送信を開始する前に、かつ/またはオーディオデータのローカルのspeech-to-text処理を実行する前に、向けられた視線の発生の検出および向けられた視線の継続的な発生を必要とするとともに、ユーザの距離、口の動きと声の活動の同時発生、および/または声の活動の発生に関して、1つまたは複数の基準が満たされることを必要とし得る。たとえば、1つまたは複数の他の基準は、距離の考慮事項、ならびに、口の動きと声の活動の同時発生に対する信頼度メトリックを含み得る。たとえば、適応エンジン115は、距離が6フィートであり信頼度メトリックが0.9である場合、処理を開始することができ、距離が3フィートであり信頼度メトリックが0.7である場合、処理を開始することができ、距離が6フィートであり信頼度メトリックが0.7である場合、処理の開始を抑制することができる。また、たとえば、適応エンジン115は、アシスタントデバイスに対するユーザの距離が、1つまたは複数の以前に決定された距離と比
較してアシスタントデバイスにより近いと決定され、信頼度メトリックが0.9である場合、処理を開始することができ、その距離および1つまたは複数の以前に決定された距離が、ユーザが少なくともある閾値の率でアシスタントデバイスのより近くに移動していることを示し、信頼度メトリックが0.7である場合、処理を開始することができ、その距離および以前に決定された距離が、ユーザがアシスタントデバイスから離れるように移動していることを示し、信頼度メトリックが0.7である場合、処理の開始を抑制することができる。1つまたは複数の属性が存在するかどうか、および/または関連する信頼度メトリックに基づいてさらなる処理を開始するかどうかを検討する際、適応エンジン115は、1つまたは複数の規則および/または訓練された機械学習モデルを利用することができる。たとえば、機械学習モデルは、様々な属性および/または信頼度尺度、ならびに、さらなる処理が行われるべきであるかどうかを示す対応する標識(教師ありまたは半教師あり)を伴う訓練例入力を各々含む、訓練例に基づいて訓練され得る。
【００３５】
視線モジュール1151は、向けられた視線の発生と、任意選択で向けられた視線に対する信頼度メトリックとを決定するために、視覚捕捉モジュール114からの視覚データを処理する。本明細書(たとえば、図2B)において説明されるように、いくつかの実装形態では、視線モジュール1151は、視覚データの人および/または顔の領域のみを、他のモジュール1156のうちの1つであり得る上流の検出および分類モデルを使用してそれらの領域を検出したことに基づいて、処理することができる。視線モジュール1151は、向けられた視線を検出するための1つまたは複数の視線機械学習モデル1161を使用することができる。そのような機械学習モデルは、たとえば、畳み込みニューラルネットワーク(CNN)モデルなどの、ニューラルネットワークモデルであり得る。そのようなCNNモデルの訓練は、視覚フレーム(たとえば、画像)を訓練例入力として、向けられた視線を画像が含むかどうかの指示を訓練例出力として含む、訓練例に基づき得る。たとえば、訓練例出力は、向けられた視線が存在するかどうかを示す単一の値であり得る。たとえば、単一の値は、向けられた視線が存在しないとき「0」であってもよく、画像を捉えるセンサをまっすぐに向いている、またはセンサから5度(またはディスプレイ103のサイズに応じたものであり得る他の範囲)以内にある視線が存在するとき「1」であってもよく、画像を捉えるセンサから5〜10度以内にある視線が存在するとき「0.75」であってもよい、などである。
【００３６】
それらのおよび/または他の実装形態のいくつかでは、視線モジュール1151は、少なくとも閾値の確率で、および/または少なくとも閾値の時間長の間、向けられた視線が検出されるときだけ、向けられた視線を決定する。たとえば、画像フレームのストリームはCNNモデルを使用して処理されてもよく、各フレームを処理すると、フレームが向けられた視線を含む対応する確率を得ることができる。視線モジュール1151は、(閾値の時間長に対応する)画像フレームのシーケンスのうちの少なくともX%が、閾値を満たす対応する確率を有する場合にのみ、向けられた視線があると決定することができる。たとえば、X%が60%であり、確率の閾値が0.7であり、閾値の時間長が0.5秒であると仮定する。さらに、10個の画像フレームが0.5秒に相当すると仮定する。画像フレームが処理されて[0.75,0.85,0.5,0.4,0.9,0.95,0.85,0.89,0.6,0.85]という確率を生成する場合、フレームの70%が0.7より高い確率で向けられた視線を示したので、向けられた視線が検出され得る。これらのおよび他の方式では、ユーザが一時的に視線の方向を逸らすときであっても、向けられた視線を検出することができる。追加および/または代替として、機械学習モデル(たとえば、RNNモデル)および/または技法は、少なくとも閾値の時間長の間発生する向けられた視線を検出するために利用されてもよい。
【００３７】
本明細書で説明されるように、様々な実装形態において、自動アシスタント120とのホットワードを用いない対話は、ユーザの向けられた視線の発生を決定することに依存してもよく、任意選択で、向けられた視線がユーザ入力(たとえば、話される入力および/または接触なしのジェスチャ入力)の間終始継続的に発生していることを決定することに基づいてもよい。たとえば、様々な実装形態において、適応エンジン115は、ユーザの向けられた視線が決定され、ユーザ入力の間終始継続する(たとえば、終点が決定されるまで)場合にのみ、ユーザ入力を捉える視覚データおよび/またはオーディオデータの何らかの処理を開始する。
【００３８】
たとえば、視覚データおよび/またはオーディオデータを、そのようなデータに基づく応答を生成するためにクラウドベースのアシスタント構成要素130に送信することは、継続的な向けられた視線に依存してもよい。さらに、向けられた視線が(任意選択で他の属性とともに)検出されていることをユーザに知らせるために、人間知覚可能な合図が提供されてもよく、それにより、何らかの処理の開始を防ぐために、または(すでに開始されている場合)何らかの処理を中断するために、ユーザが目を逸らす機会をユーザに与える。これらのおよび他の方式において、不必要な処理および/または送信は、迅速に中断され、または発生が防がれ得る。また本明細書で説明されるように、様々な実装形態において、適応エンジン115の1つまたは複数の他のモジュールは、向けられた視線が視線モジュール1151によって検出される場合にのみ、対応するセンサデータを処理してもよく、かつ/または、向けられた視線に対応するセンサデータに処理を制限することができる。それらの実装形態も、本明細書で説明されるようなクライアントデバイス101における様々な効率性をもたらす。
【００３９】
距離モジュール1152は、向けられた視線(視線モジュール1151によって決定されるような)を与えているユーザの推定される距離を決定するために、視覚捕捉モジュール114および/または他のセンサデータからの視覚データを処理する。本明細書(たとえば、図2B)において説明されるように、いくつかの実装形態では、距離モジュール1152は、視覚データの人および/または顔の領域のみを、上流の検出および分類モデルを使用してそれらの領域の検出したことに基づいて、処理することができる。さらに、いくつかの追加または代替の実装形態では、距離モジュール1152は、向けられた視線の発生を視線モジュール1151が検出したことにのみ応答して、視覚データを処理することができる。たとえば、距離モジュール1152は任意選択で、向けられた視線を有するものとして視線モジュール1151によって決定される、ユーザの人および/または顔の領域にのみ相当する視覚データを処理することができる。クライアントデバイス101のリソースは、(たとえば、向けられた視線の発生を視線モジュール1151が検出することにのみ応答した)距離モジュール1152を使用して選択的にのみ処理することによって、かつ/または、視覚データの何らかの領域のみ(たとえば、向けられた視線を含む部分に対応する領域のみ)を処理することによって、節約され得る。
【００４０】
距離モジュール1152は任意選択で、距離を検出するための1つまたは複数の距離機械学習モデル1162を使用することができる。そのような機械学習モデルは、たとえば、畳み込みニューラルネットワーク(CNN)モデルなどの、ニューラルネットワークモデルであってもよい。そのようなCNNモデルの訓練は、視覚フレーム(たとえば、単一のユーザの顔および/または体の領域のみを含む画像)を訓練例入力として、ユーザの距離を示す値を訓練例出力として含む、訓練例に基づいてもよい。たとえば、訓練例出力はワンホットベクトルであってもよく、ベクトルの値が各々異なる距離(または距離の範囲)に対応し、「ホット」ベクトルがグラウンドトゥルースの距離(または距離の範囲)を示す。他の実装形態では、距離モジュール1152は任意選択で、距離機械学習モデル1162を直接利用することなく距離を決定することができる。たとえば、距離モジュール1152は、上流のモデルおよび/または視線モジュール1151からの出力に基づいて、向けられた視線を有するユーザに相当すると決定された顔の領域のみを含む視覚データを与えられてもよい。さらに、距離モジュール1152は、視覚データにおけるユーザの目と目の間の距離(目の位置は任意選択で上流モデルによって示され得る)、視覚データにおけるユーザの頭のサイズ、および/または視覚データにおけるユーザの他の属性に基づいて、ユーザの距離を推定することができる。
【００４１】
口/声モジュール1153は、口の動きの発生および/または口の動きと声の活動の同時発生を決定するための、1つまたは複数の口/声機械学習モデル1163を使用することができる。いくつかの実装形態では、口/声モジュール1153は、口の動きのみの発生と、任意選択で口の動きに対する1つまたは複数の信頼度メトリックとを決定する。
【００４２】
いくつかの実装形態では、追加または代替として、口/声モジュール1153は、口の動きと声の活動の同時発生と、任意選択で1つまたは複数の対応する信頼度メトリックとを決定する。それらの実装形態のいくつかでは、口の動きと声の活動の決定された同時発生は、口の動きと動いている口からの声の活動の同時発生である。それらの実装形態のいくつかでは、利用される口/声機械学習モデル1163は、たとえば、1つまたは複数のメモリ層を含むRNNモデルなどの、ニューラルネットワークモデルであってもよい。たとえば、機械学習モデルは、視覚データにおいて捉えられるユーザが実際に話しているかどうかの確率(信頼度メトリック)を生成するために、視覚捕捉モジュール114からの視覚データ(たとえば、ユーザの顔の領域を含む視覚データ)と発話捕捉モジュール112からのオーディオデータとを処理するように訓練されるモデルであってもよい。
【００４３】
そのような機械学習モデルの訓練は、訓練例入力として視覚フレームのシーケンス(たとえば、ユーザの顔の領域のみを含む画像のシーケンス)とオーディオデータフレームのシーケンスとを含む、訓練例に基づいてもよい。オーディオデータフレームのシーケンスは、視覚フレームのシーケンスと時間的に重複し得るが、視覚フレームのシーケンスは任意選択で、オーディオデータフレームのシーケンスとは時間長が異なる(たとえば、より時間長が短い)ことがある。訓練例はさらに、訓練例出力として、口の動きを動いている口からの声の活動との組合せでシーケンスが含むかどうかの指示を含み得る。言い換えると、その顔が画像のシーケンスにより捉えられるユーザが話しているかどうかの指示。たとえば、訓練例出力は、その顔が画像のシーケンスにより捉えられるユーザが話しているかどうかを示す単一の値であってもよい。たとえば、その単一の値は、そのように示さない場合には「0」であり、そのように示す場合には「1」であってもよい。視覚データと重複するオーディオデータとの両方に対して訓練されるそのようなモデルは、(1)口の動きと同時発生し、口の動きの結果である声の活動と、(2)口の動きに由来せず、話していない口の動きと偶然同時発生するだけである声の活動とを区別することができる。たとえば、訓練例は、視覚データにおける話していない口の動きと、オーディオデータにおける声の活動(たとえば、別のユーザからの、テレビからの、および/または他の発生源からの声の活動)とを含む訓練例入力を伴い、その顔が画像のシーケンスにより捉えられるユーザが話していないことを示す訓練例出力を含む、訓練例を含み得る。そのような訓練例に対する訓練は、訓練されたモデルが、(1)口の動きと同時発生し、口の動きの結果である声の活動と、(2)口の動きに由来せず、話していない口の動きと偶然同時発生するだけである声の活動とを区別するために利用されることを可能にし得る。このことは、(たとえば、テレビからの)外部の声の活動による、および/またはユーザ(たとえば、向けられた視線を有するものとして視線モジュール1151によって決定されるユーザ)からの口の動きと偶然同時発生するだけである他の発生源による、偽陽性の発生を減らすことができ、それにより、適応エンジン115による、様々な計算集約的なおよび/またはネットワーク集約的なアシスタント機能の不必要な適応の発生が減る。
【００４４】
本明細書(たとえば、図2)において説明されるように、いくつかの実装形態では、口/声モジュール1153は、視覚データの人および/または顔の領域のみを、上流の検出および分類モデルを使用したそれらの領域の検出に基づいて、処理することができる。さらに、いくつかの追加または代替の実装形態では、口/声モジュール1153は、向けられた視線の発生を視線モジュール1151が検出したことにのみ応答して、視覚データを処理することができる。たとえば、口/声モジュール1153は任意選択で、向けられた視線を有するものとして視線モジュール1151によって決定されるユーザの人および/または顔の領域のみに相当する、視覚データを処理することができる。クライアントデバイス101のリソースは、(たとえば、向けられた視線の発生を視線モジュール1151が検出したことにのみ応答する)口/声モジュール1153を使用して選択的にのみ処理することによって、かつ/または、視覚データのある領域のみ(たとえば、向けられた視線を含む部分に相当する領域のみ)を処理することによって、節約され得る。
【００４５】
様々な実装形態において、口/声モジュール1153は、少なくとも閾値の確率で、および/または少なくとも閾値の時間長の間、口の動きが検出されるときにのみ、口の動きの発生を決定することができる。たとえば、画像フレームおよびオーディオデータフレームのストリームが、口/声機械学習モデル1163のsequence-to-sequence RNNモデルを使用して処理されてもよく、フレームの各々を処理することは、口の動きと(動いている口からの)声の活動が同時発生する対応する確率(これは、ネットワークの再帰的な性質により、以前のフレームに基づき得る)をもたらし得る。口/声モジュール1153は、フレームのシーケンスの少なくともX%(閾値の時間長に相当する)が閾値を満たす対応する確率を有する場合にのみ、口の動きと声の活動の同時発生があると決定することができる。追加および/もしくは代替の機械学習モデルならびに/または技法が、口の動きおよび/または口の動きと声の活動の同時発生を検出するために利用されてもよい。
【００４６】
顔認識モジュール1154は、認識された顔の発生を決定するための、および/または認識された顔と関連付けられるアカウント識別子を決定するための、1つまたは複数の顔認識機械学習モデル1164を使用することができる。本明細書(たとえば、図2B)において説明されるように、いくつかの実装形態では、顔認識モジュール1154は、視覚データの人および/または顔の領域のみを、上流の検出および分類モデルを使用したそれらの領域の検出に基づいて、処理することができる。さらに、いくつかの追加または代替の実装形態では、顔認識モジュール1154は、向けられた視線の発生を視線モジュール1151が検出することにのみ応答して、視覚データを処理することができる。たとえば、顔認識モジュール1154は任意選択で、向けられた視線を有するものとして視線モジュール1151によって決定されるユーザの人および/または顔の領域にのみ相当する、視覚データを処理することができる。クライアントデバイス101のリソースは、(たとえば、向けられた視線の発生を視線モジュール1151が検出したことにのみ応答する)顔認識モジュール1154を使用して選択的にのみ処理することによって、かつ/または、視覚データのある領域のみ(たとえば、向けられた視線を含む部分に相当する領域のみ)を処理することによって、節約され得る。
【００４７】
顔認識モジュール1154は任意選択で、1つまたは複数の顔認識機械学習モデル1164を使用することができる。たとえば、そのような機械学習モデルは、たとえば、CNNモデルおよび/またはRNNモデルなどのニューラルネットワークモデルであってもよい。様々な実装形態において、視覚捕捉モジュール114からの画像は、1つまたは複数の顔エンベディング(face embedding)を生成するために顔認識機械学習モデル1164を使用して処理され、顔エンベディングは、クライアントデバイス101に登録している1つまたは複数のユーザアカウント/プロファイルに対するローカルに記憶されているエンベディングと比較される。いくつかの実装形態では、適応エンジン115によって、1つまたは複数の機能を適応させることは、向けられた視線を与えているユーザが認識されるユーザ(たとえば、自動アシスタントクライアント110に登録しているユーザ)であると顔認識モジュール1154が決定することに依存してもよい。いくつかの追加または代替の実装形態では、認識された顔と関連付けられるアカウント識別子は、話される発声を捉えるオーディオデータの処理に基づく、テキスト非依存話者識別に基づいて決定されるアカウント識別子と比較されてもよい。それらの実装形態のいくつかでは、話される発声に対する応答の何らかの処理および/または準備は、その比較が同じアカウント識別子を示すことに依存してもよい。これらおよび他の方式において、(向けられた視線を与えるユーザについて顔認識が実行され得るにつれて)話される発声が、向けられた視線も与えている同じユーザによって与えられることが検証され得る。このことは、向けられた視線を与えるユーザではないユーザ(または他の発生源)からの話される発声に対する応答の意図しない生成および/または準備を防ぐことができる。テキスト非依存話者識別は、クラウドベースの自動アシスタント構成要素130上で、または任意選択でクライアントデバイス101自体において実装され得る、TI-SIDモジュール142(本明細書で説明される)によって実行され得る。
【００４８】
声活動モジュール1155は、声の活動の発生と、任意選択で声の活動に対する対応する信頼度メトリックとを決定するための、1つまたは複数の声活動機械学習モデル1165を使用することができる。声活動モジュール1155は、オーディオデータが人の発話を含む対応する確率を生成するために、機械学習モデルを使用して発話捕捉モジュール112からのオーディオデータを処理することができる。いくつかの実装形態では、声活動機械学習モデル1165は、オーディオフレームの対応するシーケンスを訓練例入力として、人の発話がオーディオフレームのシーケンスに含まれるかどうかを示す対応する標識を訓練例出力として各々含む、訓練例に基づいて訓練されるRNNを含む。いくつかの実装形態では、声活動モジュール1155は、向けられた視線の発生を視線モジュール1151が検出したことにのみ応答して、かつ/または、適応エンジン115の他のモジュールからの他の決定および/もしくは発生に応答して、オーディオデータを処理することができる。
【００４９】
他のモジュール1156は、1つまたは複数の他の機械学習モデル1166を任意選択で利用して、1つまたは複数の他の属性の発生を決定することができる。1つの非限定的な例として、他のモジュール1156は、1つまたは複数のジェスチャ(たとえば、1つまたは複数のあらかじめ定められたジェスチャのいずれか)の発生と、任意選択でジェスチャの標識または他の識別子とを決定するために、1つまたは複数のジェスチャモデルを使用して、視覚捕捉モジュール114からの視覚データを処理する、ジェスチャモジュールを含み得る。いくつかの実装形態では、そのようなジェスチャモジュールは、視覚データの人の領域のみを、上流の検出および分類モデルを使用したそれらの領域の検出に基づいて、処理することができる。さらに、いくつかの追加または代替の実装形態では、ジェスチャモジュールは、向けられた視線の発生を視線モジュール1151が検出したことにのみ応答して、視覚データを処理することができる。たとえば、ジェスチャモジュールは任意選択で、向けられた視線を有するものとして視線モジュール1151によって決定されるユーザの人および/または顔の領域にのみ相当する、視覚データを処理することができる。クライアントデバイス101のリソースは、(たとえば、向けられた視線の発生を視線モジュール1151が検出したことにのみ応答する)ジェスチャモジュールを使用して選択的にのみ処理することによって、かつ/または、視覚データのある領域のみ(たとえば、向けられた視線を与えたユーザの部分に相当する領域のみ)を処理することによって、節約され得る。
【００５０】
適応エンジン115によるセンサデータ処理を適応させる1つの非限定的な例として、適応エンジン115のモジュールによって1つまたは複数の属性の発生を決定する前に、クライアントデバイス101において捉えられる視覚データおよび/またはオーディオデータは、クライアントデバイス101においてローカルでのみ(すなわち、クラウドベースの自動アシスタント構成要素130への送信なしで)処理され、かつ/または一時的にバッファリングされ得る。しかしながら、属性の発生および/または対応する信頼度メトリックを決定したことに応答して、そのような処理は、さらなる処理のためにクラウドベースの自動アシスタント構成要素130へのオーディオデータおよび/または視覚データ(たとえば、最近バッファリングされたデータおよび/または決定の後で受信されたデータ)の送信を引き起こすことによって適応されてもよい。したがって、ユーザの話される発声および/またはユーザの接触なしのジェスチャが自動アシスタント120によって完全に処理されるようにするために、明確な呼び出しフレーズ(たとえば、「OKアシスタント」)をユーザが話す必要をなくすことができ、応答するコンテンツは、自動アシスタント120によって生成されてユーザにレンダリングされる。
【００５１】
たとえば、今日の予報を得るために「OKアシスタント、今日の予報は」とユーザが話す必要はなく、ユーザは代わりに、クライアントデバイス101を見て、クライアントデバイス101を見ている間に、またはそれから時間的に近くで(たとえば、それを見ることより前および/または後の閾値の時間以内に)「今日の予報は」と話すだけでよい。話される発声「今日の予報は」に対応するデータ(たとえば、話される発声を捉えるオーディオデータ、またはそのテキスト変換もしくは他の意味的な変換)は、向けられた視線および1つまたは複数の他の条件を検出したことに応答して、クラウドベースの自動アシスタント構成要素130にクライアントデバイス101によって送信され得る。他の条件は、たとえば、向けられた視線の間の口の動きと声の活動の同時発生(「今日の天気予報は」のすべてまたは一部を話すことによって引き起こされる)を含んでもよく、任意選択で、向けられた視線および/または発話の間のユーザの距離に基づいてよい。別の例では、コネクテッドサーモスタットを介して自宅の温度を上げるために「OKアシスタント、温度を上げて」とユーザが話す必要はなく、ユーザは代わりに、クライアントデバイス101を見て、クライアントデバイス101を見ている間に、またはそれから時間的に近くで(たとえば、それを見ることより前および/または後の閾値の時間以内に)「温度を上げて」と話すだけでよい。別の例では、車庫を開けるために「OKアシスタント、車庫の扉を開けて」とユーザが話す必要はなく、ユーザは代わりに、クライアントデバイス101を見て、クライアントデバイス101を見ている間に、またはそれから時間的に近くで(たとえば、それを見ることより前および/または後の閾値の時間以内に)「車庫の扉を開けて」と話すだけでよい。
【００５２】
いくつかの実装形態では、発話捕捉モジュール112はさらに、たとえばspeech-to-text(「STT」)処理技法を使用して、捉えられたオーディオをテキストおよび/または他の表現もしくはエンベディングに変換するように構成され得る。さらに、自動アシスタントクライアント110の別個のモジュールが、発話表現に対してローカルの自然言語処理を実行し、任意選択で、自然言語処理に基づいて応答をローカルで生成するように構成され得る。それらの実装形態において、ローカルの発話処理、ローカルの自然言語処理、および/またはローカルの応答生成は、適応エンジン115によって適応させられる機能であってもよい。たとえば、ローカルの発話処理、ローカルの自然言語処理、および/またはローカルの応答生成は、1つまたは複数の属性が発生していることを適応エンジン115が決定するまで休止していてもよい。しかしながら、クライアントデバイス101は、コンピューティングリソース(たとえば、プロセッササイクル、メモリ、バッテリなど)の点で比較的制約されていることがあるので、他の発話入力は、クラウドベースのSTTモジュール132を含み得るクラウドベースの自動アシスタント構成要素130に送信されてもよい。
【００５３】
クラウドベースのSTTモジュール132は、クラウドの実質的に無限のリソースを活用して、発話捕捉モジュール112によって捉えられたオーディオデータをテキストへと変換するように構成されてもよく、このテキストは次いで、自然言語理解モジュール135に与えられてもよい。いくつかの実装形態では、クラウドベースのSTTモジュール132は、発話のオーディオ記録を1つまたは複数の音素に変換し、次いで1つまたは複数の音素をテキストに変換し得る。追加または代替として、いくつかの実装形態では、STTモジュール132は状態復号グラフを利用し得る。いくつかの実装形態では、STTモジュール132は、ユーザの発声の複数のテキスト解釈の候補を生成し、1つまたは複数の技法を利用してそれらの候補から所与の解釈を選択し得る。
【００５４】
クラウドベースのTTSモジュール131は、クラウドの実質的に無限のリソースを活用して、テキストデータ(たとえば、自動アシスタント120によって編成される自然言語応答)をコンピュータで生成される発話出力へと変換するように構成され得る。いくつかの実装形態では、TTSモジュール131は、たとえば1つまたは複数のスピーカを使用して直接出力されることになる、コンピュータで生成された発話出力をクライアントデバイス101に提供してもよい。他の実装形態では、自動アシスタント120によって生成されるテキストデータ(たとえば、自然言語応答)は、クライアントデバイス101に提供されてもよく、クライアントデバイス101のローカルTTSモジュールが次いで、テキストデータを、ローカルで出力されるコンピュータで生成される発話へと変換してもよい。
【００５５】
自動アシスタント120(たとえば、クラウドベースの自動アシスタント構成要素130)は、意図理解モジュール135、前述のTTSモジュール131、前述のSTTモジュール132、および本明細書でより詳しく説明される他の構成要素を含み得る。いくつかの実装形態では、それらのモジュールおよび/または自動アシスタント120のモジュールのうちの1つまたは複数は、省略されてもよく、組み合わされてもよく、かつ/または自動アシスタント120とは別個の構成要素において実装されてもよい。いくつかの実装形態では、意図理解モジュール135、TTSモジュール131、STTモジュール132などの、自動アシスタント120の構成要素のうちの1つまたは複数は、クライアントデバイス101上で少なくとも一部(たとえば、クラウドベースの実装と組み合わせて、またはそれを排除して)実装されてもよい。
【００５６】
意図理解モジュール135の自然言語プロセッサ133は、クライアントデバイス101を介してユーザによって生成される自然言語入力を処理し、自動アシスタント120の1つまたは複数の他の構成要素による使用のためにアノテートされた出力(たとえば、テキストの形式の)を生成し得る。たとえば、自然言語プロセッサ133は、クライアントデバイス101の1つまたは複数のユーザインターフェース入力デバイスを介してユーザによって生成される、自然言語の自由形式入力を処理し得る。生成されるアノテートされた出力は、自然言語入力の1つまたは複数のアノテーションと、自然言語入力の用語のうちの1つまたは複数(たとえば、すべて)とを含む。
【００５７】
いくつかの実装形態では、自然言語プロセッサ133は、自然言語入力の中の様々なタイプの文法情報を特定してアノテートするように構成される。たとえば、自然言語プロセッサ133は、別個の個々の語を音素へと分離し得る、かつ/または、たとえば音素のクラスを用いて音素をアノテートし得る、形態素モジュールを含み得る。自然言語プロセッサ133はまた、用語の文法的な役割を用いて用語をアノテートするように構成される、発話タガーの一部を含み得る。また、たとえば、いくつかの実装形態では、自然言語プロセッサ133は、追加および/または代替として、自然言語入力の中の用語と用語の間の構文的な関係を決定するように構成される、依存性解析器(図示されず)を含み得る。
【００５８】
いくつかの実装形態では、追加および/または代替として、自然言語プロセッサ133は、人々(たとえば、文学の登場人物、有名人、公人などを含む)、組織、位置(現実のおよび想像上の)などへの言及などの、1つまたは複数のセグメントにおけるエンティティ言及をアノテートするように構成されるエンティティタガー(図示されず)を含み得る。いくつかの実装形態では、追加および/または代替として、自然言語プロセッサ133は、1つまたは複数の文脈的な合図に基づいて同じエンティティへの言及をグループ化する、または「クラスタ化する」ように構成される、共参照解析器(図示されず)を含み得る。いくつかの実装形態では、自然言語プロセッサ133の1つまたは複数の構成要素は、自然言語プロセッサ133の1つまたは複数の他の構成要素からのアノテーションに依存し得る。
【００５９】
意図理解モジュール135はまた、自動アシスタント120との対話に関わっているユーザの意図を決定するように構成される、意図照合器134を含み得る。図1において自然言語プロセッサ133とは別々に示されているが、他の実装形態では、意図照合器134は、自然言語プロセッサ133の(またはより一般的には、自然言語プロセッサ133を含むパイプラインの)必須の部分であり得る。いくつかの実装形態では、自然言語プロセッサ133および意図照合器134が集合的に、前述の意図理解モジュール135を形成してもよい。
【００６０】
意図照合器134は、たとえば、自然言語プロセッサ133からの出力(自然言語入力のアノテーションおよび用語を含み得る)に基づいて、クライアントデバイス101のタッチ感知ディスプレイにおけるユーザタッチ入力に基づいて、ならびに/または、視覚データにおいて検出される接触なしのジェスチャおよび/もしくは他の視覚的な合図に基づいて、ユーザの意図を決定するために様々な技法を使用し得る。いくつかの実装形態では、意図照合器134は、たとえば、語法と応答行動(より一般的には、意図)との間の、視覚的な合図と応答行動との間の、および/またはタッチ入力と応答行動との間の複数の対応付けを含む、1つまたは複数のデータベース(図示されず)へのアクセス権を有し得る。たとえば、それらの対応付けに含まれる語法は、時間とともに選択および/または学習されてもよく、よくあるユーザの意図を表すことがある。たとえば、「<アーティスト>を再生して」という1つの語法は、ユーザにより操作されるクライアントデバイス101上で<アーティスト>による音楽が再生されるようにする応答行動をもたらす意図と対応付けられ得る。「今日[天気|予報]」という別の語法は、「今日の天気は」および「今日の予報は?」などのユーザの問合せと一致可能であり得る。別の例として、視覚的な合図と行動の対応付けは、複数のユーザ(たとえば、すべてのユーザ)に適用可能である「一般的な」対応付けおよび/またはユーザ固有の対応付けを含み得る。視覚的な合図と行動の対応付けのいくつかの例には、ジェスチャに対する対応付けがある。たとえば、「手を振る」ジェスチャは、適合されたコンテンツ(ジェスチャを与えるユーザに適合された)がユーザにレンダリングされるようにする行動と対応付けられてもよく、「親指を立てる」ジェスチャは、「音楽を再生する」行動と対応付けられてもよく、「ハイタッチ」ジェスチャは、スマートコーヒーメーカーの電源を入れること、何らかのスマート照明を点灯すること、およびニュースの概要を聴覚的に表現することなどの、実行されるべき自動アシスタントの行動の「ルーチン」と対応付けられてもよい。本明細書で説明されるように、所与のジェスチャに対して、一部のジェスチャと行動の対応付けは、ジェスチャと対応付けられる複数の行動を含み得る。それらの実装形態のいくつかでは、意図照合器134は、所与のジェスチャに対して、所与のジェスチャのときにクライアントデバイス101によってレンダリングされているコンテンツに少なくとも一部基づいて、複数の行動のうちの1つを選択することができる。
【００６１】
語法に加えて、またはその代わりに、いくつかの実装形態では、意図照合器134は、1つまたは複数の訓練された機械学習モデルを、単独で、または1つまたは複数の語法、視覚的な合図、および/もしくはタッチ入力と組み合わせて利用し得る。これらの訓練される機械学習モデルは、1つまたは複数のデータベースに記憶されてもよく、たとえば、ユーザの発声および/または任意の検出されるユーザにより提供される視覚的な合図を示すデータを次元削減された空間へと埋め込み、次いで、たとえばユークリッド距離、コサイン類似度などの技法を使用して、どの他のエンベディング(およびしたがって、意図)が最も近いかを決定することによって、意図を特定するように訓練されてもよい。
【００６２】
上の「<アーティスト>を再生する」の例において見られるように、一部の語法は、スロット値(または「パラメータ」)で埋めることができるスロット(たとえば、<アーティスト>)を有する。スロット値は様々な方法で決定され得る。ユーザはスロット値を積極的に提供することが多い。たとえば、「<トッピング>ピザを注文して」という語法について、ユーザは「ソーセージピザを注文して」というフレーズを話す可能性が高いことがあり、この場合、スロット<トッピング>が自動的に埋められる。追加または代替として、ユーザがスロット値を積極的に提供せずに、スロット値で埋められるべきスロットを含む語法をユーザが発動する場合、自動アシスタント120は、それらのスロット値をユーザに対して求めてもよい(たとえば、「ピザの生地はどのような種類がいいですか?」)。いくつかの実装形態では、スロットは、視覚構成要素107によって捉えられる視覚データに基づいて検出される視覚的な合図に基づくスロット値で埋められてもよい。たとえば、ユーザは、クライアントデバイス101の視覚構成要素107に対して3本の指を立てながら「これと同じ数の猫の餌皿を注文して」のようなことを発してもよい。または、ユーザは、特定の映画のDVDケースを持ちながら「これと同じような映画をもっと見つけて」のようなことを発してもよい。
【００６３】
いくつかの実装形態では、自動アシスタント120は、ユーザとエージェントとの間のやり取りを促進する(または「仲介する」)ことができ、これは、入力を受け取り応答出力を与える独立したソフトウェアプロセスであり得る。一部のエージェントは、たとえばクラウドベースの自動アシスタント構成要素130を動作させるものとは別個のコンピューティングシステム上で動作することもしないこともある、サードパーティアプリケーションの形態をとることがある。意図照合器134によって特定され得る1つの種類のユーザ意図は、サードパーティアプリケーションと関わることである。たとえば、自動アシスタント120は、ピザ配達サービスにアプリケーションプログラミングインターフェース(「API」)へのアクセス権を与えてもよい。ユーザは、自動アシスタント120を呼び出し、「ピザを注文したい」などの命令を与えることができる。意図照合器134は、自動アシスタント120をサードパーティのピザ配達サービスと関わらせる語法と、この命令を対応付けてもよい。サードパーティのピザ配達サービスは、ピザ配達注文を履行するために埋められる必要のあるスロットの最小限のリストを自動アシスタント120に提供してもよい。自動アシスタント120は、スロットに対するパラメータを求める自然言語出力を生成して、(クライアントデバイス101を介して)ユーザに提供してもよい。
【００６４】
履行モジュール138は、意図照合器134によって出力される予測/推定される意図、ならびに、関連するスロット値(ユーザにより積極的に与えられるか、またはユーザに対して求められたかにかかわらず)を受信し、意図を履行(または「解決」)するように構成され得る。様々な実装形態において、ユーザの意図の履行(または「解決」)は、たとえば履行モジュール138によって、様々な履行情報(「応答」情報またはデータとも呼ばれる)が生成/取得されるようにし得る。
【００６５】
意図は様々な方法で履行され得るので、履行情報は様々な形態をとり得る。「『シャイニング』の屋外の場面が撮影されたのはどこ?」などの純粋な情報をユーザが要求するとする。ユーザの意図は、たとえば意図照合器134によって、検索クエリであるものとして決定され得る。検索クエリの意図および内容は、履行モジュール138に提供されてもよく、履行モジュール138は、図1に示されるように、応答情報について文書および/または他のデータソース(たとえば、ナレッジグラフなど)のコーパスを検索するように構成される1つまたは複数の検索モジュール150と通信していてもよい。履行モジュール138は、検索クエリを示すデータ(たとえば、クエリのテキスト、次元削減されたエンベディングなど)を検索モジュール150に提供し得る。検索モジュール150は、GPS座標などの応答情報、または、「オレゴン州フッド山、ティンバーラインロッジ」などの他のより明確な情報を提供し得る。この応答情報は、履行モジュール138によって生成される履行情報の一部を形成し得る。
【００６６】
追加または代替として、履行モジュール138は、たとえば意図理解モジュール135から、ユーザの意図と、ユーザにより与えられる、または他の手段(たとえば、ユーザのGPS座標、ユーザの好みなど)を使用して決定される任意のスロット値とを受信し、応答行動を惹起するように構成され得る。応答行動は、たとえば、商品/サービスの注文、タイマーの始動、リマインダーの設定、通話の開始、メディアの再生、メッセージの送信、複数の行動のルーチンの開始などを含み得る。いくつかのそのような実装形態では、履行情報は、履行と関連付けられるスロット値、確認応答(いくつかの場合には所定の応答から選択され得る)などを含み得る。
【００６７】
追加または代替として、履行モジュール138は、(たとえば、時間帯、過去の対話などに基づいて)ユーザの意図を推測し、それらの意図に対する応答情報を取得するように構成され得る。たとえば、履行モジュール138は、ユーザの毎日の予定の概要、ユーザのための天気予報、および/またはユーザのための他のコンテンツを取得するように構成されてもよい。履行モジュール138はさらに、ユーザへのグラフィカルなおよび/または可聴のレンダリングのために、そのようなコンテンツが「プッシュ」されるようにしてもよい。たとえば、そのようなコンテンツのレンダリングは、適応エンジン115が向けられた視線および/または1つまたは複数の他の属性の発生を検出することに応答して行われる適応であってもよい。
【００６８】
自然言語生成器136は、様々なソースから得られるデータに基づいて、自然言語出力(たとえば、人の発話を真似るように設計される語/フレーズ)を生成および/または選択するように構成され得る。いくつかの実装形態では、自然言語生成器136は、入力として、意図の履行と関連付けられる履行情報を受信し、履行情報に基づいて自然言語出力を生成するように構成され得る。追加または代替として、自然言語生成器136は、サードパーティアプリケーションなどの他のソースからの情報を受信してもよく、自然言語生成器136はそれを、自動アシスタントクライアント110を介したユーザへのレンダリングのための自然言語出力および/または他のコンテンツを組み立てるために使用してもよい。
【００６９】
意味フィルタモジュール140は、話される発声および/または検出されるジェスチャがアシスタント120に向けられているかどうかを決定することができる。履行モジュール138は、ユーザ入力に応答する応答を生成および/または提供するかどうかを決定する際、意味フィルタモジュール140からの出力を利用することができる。たとえば、意味フィルタモジュール140は、話される発声および/または検出されるジェスチャがアシスタント120に向けられている確率を示す信頼度メトリックを提供することができ、履行モジュール138は、意味フィルタモジュール140からの信頼度メトリックに基づいて、応答を生成および/または提供するかどうかを決定することができる。意味フィルタモジュール140からの信頼度メトリックは、任意選択で、適応エンジン115および/またはTI-SIDモジュール142からのメトリックなどの、1つまたは複数の他の信頼度メトリックと組み合わせて考慮されてもよい。意味フィルタモジュール140は、クラウドベースの自動アシスタント構成要素130によって実装されるものとして図1において示されているが、様々な実装形態において、追加または代替として、それは適応エンジン115のモジュールのうちの1つとして実装され、1つまたは複数のアシスタント機能を適応させるかどうかを決定する際に利用されてもよい。
【００７０】
いくつかの実装形態では、意味フィルタモジュール140は、話される発声および/または検出されるジェスチャがアシスタント120に向けられているかどうかを決定する際、1つまたは複数の意味機械学習モデル141を利用する。それらの実装形態のいくつかでは、意味機械学習モデル141は、話される発声および/または検出されるジェスチャがアシスタント120に向けられていることの信頼度メトリックを決定する際、話される発声に対応するオーディオデータ、STTモジュール132からのテキスト出力、および/または意図理解モジュール135からの出力を処理することができる。意味機械学習モデル141は、教師ありまたは半教師あり訓練例を使用して訓練されてもよい。たとえば、自動アシスタントに向かって話すユーザの事例は第1の標識(たとえば、「1」)で標識されてもよく、他の人に向かって話すユーザの事例は第2の標識(たとえば、「0」)で標識されてもよい。一般に、アシスタント入力に対して典型的ではない(または発生しない)対応するテキストおよび/またはNLU出力を有する話される発声に対して、信頼度メトリックは低くなければならない。たとえば、テキストがアシスタント入力に対するいずれのパターンにも適合しない場合、信頼度メトリックは低くなければならない。追加または代替として、NLU出力がアシスタント応答をもたらさない場合、または、「言葉を濁す」応答または単なる「個性的な」応答をもたらす場合、信頼度メトリックは低くなければならない。その上、オーディオデータ自体が、入力がアシスタント入力として意図されているかどうかを示すことができ、それは、ユーザがアシスタントデバイスに向かって話すとき(別の人に向かって話すときの声の属性と比較して)、異なる声の属性(たとえば、抑揚、調子、韻律)で話すことが多いからである。
【００７１】
TI-SIDモジュール142は、TI-SID機械学習モデル143を使用して、話される発声を含むオーディオデータを処理して、話される発声が認識される声からのものであるかどうかを決定し、および/または、認識される声と関連付けられるアカウント識別子を決定する。そのような認識は、ホットワードを含むものなどの何らかの音声入力だけに制約されるのではなく、多様な音声入力に対して実行され得るという点で、「テキスト非依存」である。いくつかの実装形態では、TI-SIDモジュール142は、認識される声と関連付けられるアカウント識別子を決定し、それを顔認識モジュール1154によって決定されるアカウント識別子と比較する。それらの実装形態のいくつかでは、TI-SIDモジュール142は、顔および声の認識に対してアカウント識別子が同じであるかどうかの指示を提供し、それらが一致しない場合、応答の何らかの処理および/もしくは準備を、防止ならびに/または中断する。たとえば、TI-SIDモジュール142は、それらが一致しない場合、履行モジュール138が応答を生成および/また準備するのを防ぐことができる。これらおよび他の方式において、話される発声が、向けられた視線も与えている同じユーザによって与えられることを、確証することができる(向けられた視線を与えるユーザに対して顔認識が実行され得るので)。このことは、向けられた視線を与えているユーザではないユーザ(または他の発生源)からの話される発声への応答を意図せず生成および/または準備するのを防ぐことができる。クラウドベースの自動アシスタント構成要素130において実装されるものとして図1において示されているが、TI-SIDモジュール142は任意選択で、適応エンジン115の一部としてクライアントデバイス101において実装され、1つまたは複数のアシスタント機能を適応させるかどうかを決定する際に利用されてもよい。
【００７２】
ここで図2Aおよび図2Bを参照すると、様々な実装形態による、本開示の様々な態様を例証する例示的なプロセスフローが示されている。
【００７３】
最初に図2Aを見ると、視覚捕捉モジュール114は、視線モジュール1151、距離モジュール1152、顔認識モジュール1154、口/声モジュール1153、および他のモジュール1156を提供する。いくつかの実装形態では、視覚捕捉モジュール114は、それらのモジュールのうちの1つまたは複数に視覚フレームのリアルタイムストリームを提供する。いくつかの追加のまたは代替の実装形態では、視覚捕捉モジュール114は、クライアントデバイス101がある環境に人がいることを示す別個の存在センサ105からの信号に応答して、視覚フレームをモジュールの少なくとも一部に提供し始める。それらの実装形態の一部では、視覚フレームは最初、視線モジュール1151および/または他のモジュールだけに提供され、次いで、向けられた視線の発生を視線モジュール1151が決定したことに応答してのみ、追加のモジュールに提供される。
【００７４】
発話捕捉モジュール112は、声活動モジュール1155、口/声モジュール1153、および他のモジュール1156にオーディオデータを提供する。いくつかの実装形態では、発話捕捉モジュール112は、それらのモジュールのうちの1つまたは複数にオーディオデータのリアルタイムストリームを提供する。それらの実装形態の一部では、発話捕捉モジュール112は、クライアントデバイス101がある環境に人が存在することを示す別個の存在センサ105からの信号に応答して、視覚フレームをモジュールの少なくとも一部に提供し始める。いくつかの追加または代替の実装形態では、オーディオデータは、向けられた視線の発生を視線モジュール1151が決定したことに応答してのみ、様々なモジュールに提供される。
【００７５】
モジュール1151〜1156の各々は、視覚フレームおよび/またはオーディオデータに少なくとも一部基づいて、1つまたは複数の対応するモデル(簡潔にするために図2Aには示されていない)を任意選択で利用して、対応する属性が発生しているかどうか、および/または対応する信頼度メトリックを決定する。対応する属性および/または信頼度メトリックは、1つまたは複数の適応201が行われるべきかどうかを決定するために適応エンジン115に提供される。本明細書で説明されるように、適応エンジン115は、一部の属性だけに対する発生および/または信頼度メトリックに応答して一部の適応を開始し、(任意選択で他の属性の継続的な発生とともに)追加の属性に対する発生および/または信頼度メトリックに応答して他の適応を開始してもよい。たとえば、適応エンジン115は、第1の人間知覚可能な合図が、向けられた視線だけに応答してレンダリングされるようにしてもよい。また、たとえば、適応エンジン115は、向けられた視線の継続的な検出に応答して、ならびに、距離、口の動きと声の活動の同時発生、および/または声の活動の発生に基づいて、別の人間知覚可能な合図がレンダリングされるようにしてもよく、かつ/または、センサデータの何らかの処理および/もしくは送信が行われるようにしてもよい。
【００７６】
いくつかの実装形態では、図2Bに示されるように、上流の検出および分類モジュール1157が任意選択で、クライアントデバイス101上の適応エンジン115の一部として提供され得る。検出および分類モジュール1157は、視覚捕捉モジュール114からの視覚フレームを処理し、1つまたは複数の検出および分類モデル1167を利用して、対応するそれらの視覚フレームの1つまたは複数の領域を決定し、各視覚フレームの様々な領域を分類することができる。たとえば、検出および分類モジュール1157は、人に対応する各視覚フレームの人の領域を(もしあれば)分類し、各視覚フレームに対して、そのような人の領域またはそのような人の領域の指示をモジュール1151〜1154のうちの1つまたは複数に提供してもよい。また、たとえば、検出および分類モジュール1157は、顔の領域に対応する各視覚フレームの領域を(もしあれば)分類し、各視覚フレームに対して、そのような顔の領域またはそのような顔の領域の指示をモジュール1151〜1154のうちの1つまたは複数に提供してもよい。また、たとえば、検出および分類モジュール1157は、人の目の領域に対応する各視覚フレームの領域を(もしあれば)分類し、各視覚フレームに対して、そのような目の領域またはそのような領域の指示をモジュール1151〜1154のうちの1つまたは複数に提供してもよい。さらに、検出および分類モジュール1157は任意選択で、(視線モジュール1151によって決定されるように)向けられた視線を与えているものとして検出される人だけに対して、そのような領域を提供してもよい。
【００７７】
一例として、視線モジュール1151は、各視覚フレームの対応する部分だけを処理するために、提供された領域を利用することができる。たとえば、視線モジュール1151は、人の領域、または顔の領域、または目の領域を含む部分だけを処理するために、視覚フレームを「切り落とし」、サイズ変更することができる。それらの実装形態の一部では、視線機械学習モデル1161は、「切り落とされる」視覚フレームに基づいて訓練されてもよく、サイズ変更は、そのようなモデルの入力次元に適合するサイズへのものであってよい。いくつかの追加または代替の実装形態では、視線モジュール1151は、一部の視覚フレーム(たとえば、人および/または顔の領域を含まないものとして示されるもの)の処理をすべてスキップするために、提供された領域を利用することができる。さらに他の実装形態では、視線モジュール1151は、各視覚フレームの処理に注力するための注意機構として(たとえば、視線機械学習モデル1161への別個の注意入力として)、提供された領域を利用することができる。
【００７８】
別の例として、距離モジュール1152は、対応するユーザの距離を推定するための、目の領域と領域の間の距離を効率的に決定するために、目の領域の提供された指示を利用することができる。本明細書で説明されるように、提供される目の領域は任意選択で、視線モジュール1151によって決定されるように、向けられた視線を与えているユーザだけに対して提供されてもよい。
【００７９】
さらに別の例として、口/声モジュール1153は、各視覚フレームの対応する部分のみを処理するために、提供された領域を利用することができる。たとえば、口/声モジュール1153は、人の領域、または顔の領域、または口の領域を含む部分だけを処理するために、視覚フレームを「切り落とし」、サイズ変更することができる。それらの実装形態の一部では、口/声機械学習モデル1163は、「切り落とされる」視覚フレームに基づいて訓練されてもよく、サイズ変更は、そのようなモデルの入力次元に適合するサイズへのものであってよい。いくつかの追加または代替の実装形態では、口/声モジュール1153は、一部の視覚フレーム(たとえば、人および/または顔の領域を含まないものとして示されるもの)の処理をすべてスキップするために、提供された領域を利用することができる。さらに他の実装形態では、口/声モジュール1153は、各視覚フレームの処理に注力するための注意機構として、提供された領域を利用することができる。
【００８０】
いくつかの実装形態では、検出および分類モジュール1157は、追加または代替として、他の条件モジュール1156(簡潔にするために図2Bには示されていない)による使用のために、何らかの領域の指示を他の条件モジュール1156を提供することができる。たとえば、ジェスチャの検出が自動アシスタントを適応させるための追加の条件であるとき、体の領域が、対応するジェスチャ機械学習モデルを使用してジェスチャを検出する際にジェスチャモジュールによって使用されてもよい。また、たとえば、アシスタントデバイスに対するユーザの体の姿勢が、自動アシスタント機能を適応させるかどうかを決定する際に考慮されてもよい。それらの実装形態の一部では、体の領域は、1つまたは複数の姿勢決定技法を使用してそのような体の領域を処理することによって体の姿勢を決定する際に、利用されてもよい。
【００８１】
いくつかの実装形態では、検出および分類モジュール1157は、追加または代替として、モジュール1151〜1154のうちの1つまたは複数に、TVまたは他のビデオ表示ソースとして分類される領域の指示を提供することができる。それらの実装形態の一部では、モジュールは、処理された視覚フレームからそれらの領域を切り落とし、それらの領域以外に注意を集中させ、かつ/または、検出においてそれらの領域を別様に無視し、もしくは、検出がそのような領域に基づく可能性を低くしてもよい。これらおよび他の方式において、自動アシスタントの偽陽性の適応を軽減することができる。
【００８２】
図3は、図1のクライアントデバイス101、ディスプレイ103、および視覚構成要素107の例を示す。図3において、例示的なクライアントデバイスは101Aとして表記され、例示的なディスプレイ103は103Aとして表記され、例示的な視覚構成要素107は107Aとして表記される。クライアントデバイス101はさらに、スピーカおよびマイクロフォンを含み得る。図3はまた、カメラ107Aに向けられた視線を与えるユーザ301を示す。図3はまた、ユーザが向けられた視線を与えているときにカメラ107Aによって捉えられる例示的な画像360を示す。ユーザが画像360において捉えられていること、ならびに、ユーザの背後にある(したがって図3の斜視図においては見えない)テレビがあることがわかる。
【００８３】
画像360において、境界ボックス362が与えられ、顔に相当するものとして(たとえば、図2Bの検出および分類モジュール1157によって)決定され得る画像の領域を表す。いくつかの実装形態では、クライアントデバイス101A上で動作する適応エンジン115の1つまたは複数のモジュールは、視線、距離、口と声の活動の同時発生を検出する際、および/または顔認識を実行する際、画像の境界ボックス362の部分だけを、その部分が顔に相当する部分として示されることに基づいて処理する(またはその部分に注意を集中させる)ことができる。単一の画像が図3に示されているが、様々な実装形態において、様々な属性の発生の決定は、本明細書で説明されるような画像のシーケンスに基づいてもよい。
【００８４】
画像360において、境界ボックス363も与えられ、これは、ビデオディスプレイに対応するものとして決定され得る、かつ偽陽性の視覚的な合図をもたらし得る、画像の領域を表す。たとえば、1人または複数の個人が話しているところ、カメラを見ているところなどを示すビデオを、テレビがレンダリングすることがあり、これらのいずれもが、口の動きおよび/または向けられた視線の発生として誤って解釈され得る。いくつかの実装形態では、図2Bの検出および分類モジュール1157がそのような領域を(たとえば、TV分類を検出したことに基づいて)決定してもよく、かつ/または、そのような領域は、ビデオディスプレイの表示周波数(たとえば、約60Hz、120Hz、および/または他の典型的なビデオ表示周波数)に対応する表示周波数をその領域が有することを決定するための、画像360および先行する画像の分析に基づいて決定されてもよい。いくつかの実装形態では、1つまたは複数のモジュールは、処理された視覚フレームからその領域を切り落とし、その領域以外に注意を集中させ、かつ/または、検出においてその領域を別様に無視し、もしくは検出がそのような領域に基づく可能性を低くしてもよい。これらおよび他の方式において、自動アシスタントの偽陽性の適応を軽減することができる。
【００８５】
図3B1、図3B2、および図3B3は、対応する属性の発生および/または信頼度を決定したことに応答して各々与えられ得る、視覚的に知覚可能な合図の例を提供する。図3B1、図3B2、および図3B3の視覚的に知覚可能な合図は、単独で、またはオーディオデータおよび/もしくは視覚データの処理ならびに/または送信などの他の適応と組み合わせて、適応エンジン115によって開始され得る適応の1つの非限定的な例である。
【００８６】
図3B1において、第1の視覚的に知覚可能な合図が、ディスプレイ103Aによってレンダリングされ、影171Aによって示されている。視覚的に知覚可能な合図は、ディスプレイ103Aの周囲の白い(または他の色の)光であってもよく、任意選択で、ディスプレイ103Aによってレンダリングされる他のコンテンツ(たとえば、周囲の写真、天気予報、今後の予定など)とともに表示されてもよい。いくつかの実装形態では、第1の視覚的に知覚可能な合図は、ユーザ301の向けられた視線を視線モジュール1151が検出したことに応答して、適応エンジン115によってレンダリングされるようにされる。第1の視覚的に知覚可能な合図は、向けられた視線が検出されたことと、何らかのセンサデータのさらなる処理が行われ得ることとを、ユーザ301に(直接または間接的に)知らせることができる。ユーザ301がさらなる処理の発生を望まない場合、ユーザは視線を逸らすことができ、これにより、視線モジュール1151はもはや視線を検出しなくなり、結果として、適応エンジン115は第1の視覚的に知覚可能な合図のレンダリングを止めるようになる。
【００８７】
図3B2において、第2の視覚的に知覚可能な合図が、ディスプレイ103Aによってレンダリングされ、影171Bによって示されている。第2の視覚的に知覚可能な合図は、ディスプレイ103Aの一部にわたって水平にレンダリングされる白い(または他の色の)バーであってもよく、任意選択で、ディスプレイ103Aによってレンダリングされる他のコンテンツの上にレンダリングされてもよい。任意選択で、第2の視覚的に知覚可能な合図は、ディスプレイ103Aによってレンダリングされる他のコンテンツの継続的な視聴を可能にするために、部分的に透明であってもよい。いくつかの実装形態では、第2の視覚的に知覚可能な合図は、視線モジュール1151がユーザ301の向けられた視線を検出し続けることに応答して、かつ任意選択で、ユーザがアシスタントデバイス101Aから閾値の距離以内(たとえば、画像分析に基づいて推定されるように4フィートまたは他の閾値以内)にいること、声の活動の存在、および/または口の動きと声の活動の同時発生などの、追加の属性の発生および/または信頼度メトリックを決定したことに基づいて、適応エンジン1151によってレンダリングされるようにされる。第2の視覚的に知覚可能な合図は、声の活動が検出されたことと、何らかのセンサデータのさらなる処理が行われ得ることとを、ユーザ301に(直接または間接的に)知らせることができる。第2の人間知覚可能な合図は、視覚データおよび/もしくはセンサデータの何らかの処理、ならびに/または、視覚データおよび/もしくはセンサデータの送信などの、さらなる適応の前にレンダリングされてもよい。ユーザ301がさらなる処理の発生を望まない場合、ユーザは視線を逸らすことができ、これにより、視線モジュール1151はもはや視線を検出しなくなり、結果として、適応エンジン115は第2の視覚的に知覚可能な合図のレンダリングを止めるようになる。任意選択で、ユーザがアシスタントと対話することを意図していることの決定された信頼度、さらなる処理が行われ得ることの対応する信頼度をユーザに示すために、バーの幅、バーの色、バーの明るさ、および/またはバーの他の特性が、追加の属性の量および/またはそれらの信頼度メトリックの大きさに依存してもよい。
【００８８】
図3B3において、第3の視覚的に知覚可能な合図がディスプレイ103Aによってレンダリングされ、影171Cによって示されている。第3の視覚的に知覚可能な合図は、ディスプレイ103Aの一部にわたってレンダリングされる多色の(または他の色の)弓形の形状であってもよく、任意選択で、ディスプレイ103Aによってレンダリングされる他のコンテンツの上にレンダリングされてもよい。任意選択で、第3の視覚的に知覚可能な合図は、ディスプレイ103Aによってレンダリングされる他のコンテンツの継続的な視聴を可能にするために、部分的に透明であってもよい。いくつかの実装形態では、適応エンジン115は、向けられた視線の継続的な検出、および(たとえば、アシスタントデバイス101Aにおけるローカルの終点の検出を通じた)声の活動の終了の検出、および/または他の条件に応答して、第3の人間知覚可能な合図がレンダリングされるようにする。第3の人間知覚可能な合図は、何らかのセンサデータのさらなる処理が行われている(しかし任意選択でまだ中断することができる)ことをユーザに(直接または間接的に)知らせることができる。そのようなさらなる処理は、オーディオデータのspeech-to-text処理、変換されたテキストの自然言語理解、視覚データの処理に基づくジェスチャ認識、ならびに/または、自然言語理解および/もしくはジェスチャ認識に基づく履行を含み得る。追加または代替として、そのようなさらなる処理は、さらなるセンサデータに含まれるあらゆる発声および/またはジェスチャが自動アシスタントに向けられており、履行されるべきであることを確認するための、追加の処理を含んでもよい。
【００８９】
図4、図5、および図6は各々、本明細書で開示される実装形態に従って実行され得る、例示的な方法を示すフローチャートを示す。別個のフローチャートとして示されているが、単一の自動アシスタントがこれらの方法のうちの複数(たとえば、すべて)を実行できることが理解される。便宜的に、図4〜図6のフローチャートの動作は、動作を実行するシステムを参照して説明される。このシステムは、自動アシスタント120を実装するコンピューティングシステム(たとえば、クライアントデバイスおよび/またはリモートコンピューティングシステム)の1つまたは複数の構成要素などの、様々なコンピュータシステムの様々な構成要素を含み得る。その上、方法の動作は特定の順序で示されるが、これは限定することを意図するものではない。動作の1つまたは複数が、並べ替えられてもよく、省略されてもよく、または追加されてもよい。
【００９０】
最初に図4の方法400を見ると、ブロック402において、システムは、視覚構成要素からの出力に基づく視覚データ、ならびに、マイクロフォンからの出力に基づくオーディオデータを受信する。いくつかの実装形態では、視覚構成要素および/またはマイクロフォンは、アシスタントクライアント(本明細書では「アシスタントデバイス」とも呼ばれる)を含むクライアントデバイスと統合されてもよい。いくつかの実装形態では、視覚構成要素および/またはマイクロフォンは、クライアントデバイスとは別個であるが、それと通信していてもよい。たとえば、視覚構成要素は、アシスタントクライアントを含むクライアントデバイスと有線通信および/またはワイヤレス通信しているスタンドアロンのスマートカメラを含み得る。
【００９１】
ブロック404において、システムが、視覚データおよび/またはオーディオデータを処理して、様々な属性の発生および/または信頼度を決定する。ブロック404の処理は、視覚データのストリームおよびオーディオデータのストリームなどの上の、視覚データおよび/またはオーディオデータの複数のフレームにわたって行われ得る。いくつかの実装形態では、ブロック404の処理は、人の存在を示す存在センサからの出力に応答して開始されてもよい。様々な実装形態において、様々な別個のモジュールが別個の処理を実行し、各々が、対応する属性が発生したかどうか、および/または対応する属性に対する信頼度メトリックを決定する。別個のモジュールのうちの1つまたは複数は各々、処理において対応する訓練された機械学習モデルを利用することができる。モジュールの非限定的な例は、図1のモジュール1151〜1156のうちの1つまたは複数である。本明細書で説明されるように、別個のモジュールのうちの1つまたは複数が、他のモジュールと並行して処理を実行することができる。また本明細書で説明されるように、別個のモジュールのうちの1つまたは複数による処理の開始は、任意選択で、属性(たとえば、向けられた視線)の発生を1つまたは複数の他のモジュールが最初に決定することに依存してもよい。
【００９２】
ブロック406および/またはブロック410は、ブロック404の処理の間に(たとえば、それと並行して)実行されてもよく、そのような処理の間に決定される属性および/または信頼度メトリックに各々依存する。
【００９３】
ブロック406において、システムが、ブロック404の処理の間に行われる決定に基づいて、ユーザインターフェース出力を適応させるかどうかを決定する。適応させない場合、システムはユーザインターフェース出力を適応させず、ブロック406を実行し続ける。適応させる場合、システムはブロック408に進んでユーザインターフェース出力を適応させるが、任意選択で、ユーザインターフェース出力をさらに適応させるかどうかを決定するために、ブロック406を実行し続ける。
【００９４】
ブロック406の一例として、システムは、向けられた視線の発生をブロック404の処理が示すことに応答して、ユーザインターフェース出力を最初に適応させることを決定することができる。たとえば、ブロック408において、システムは、第1の人間知覚可能な合図をレンダリングしてもよい。この例を続けると、システムはブロック406を実行し続けることができる。向けられた視線がもはや発生していないことをブロック404の継続的な処理が示す場合、システムはブロック408に進み、第1の人間知覚可能な合図を除去する(およびどのような他の人間知覚可能な合図もレンダリングしない)ことができる。一方、ブロック404の継続的な処理が、向けられた視線が続いていることを示し、1つまたは複数の他の属性が発生しつつあることも示す場合、システムはブロック408に進み、第2の人間知覚可能な合図を提供することができる。
【００９５】
ブロック408の一例として、システムは、向けられた視線の発生を示すブロック404の処理に応答して、ブロック404の処理によって示されるユーザの距離に基づいて、かつ/または、任意選択で1つまたは複数の他の条件に基づいて、オーディオデータおよび/または視覚データの、それまで休止していた何らかのローカル処理を開始することを決定することができる。そのような条件は、たとえば、声の活動、口の動きと声の活動の同時発生、および/または声の活動の終点を、ブロック404の処理が示すことを含み得る。ブロック408の別の例として、システムは、向けられた視線の発生を示すブロック404の処理に応答して、かつブロック404の処理によって示されるユーザの距離に基づいて、オーディオデータおよび/または視覚データをリモートアシスタント構成要素に送信することを決定することができる。
【００９６】
ブロック402、404、406、408、および/または410は任意選択で、1つまたは複数の条件が満たされるまで続いてもよい。そのような条件は、たとえば、人の存在をもはや検出しないこと、方法400の中止を要求する明確なユーザ入力に基づく方法400の中止、および/または他の条件を含み得る。
【００９７】
ここで図5を見ると、別の例示的な方法500が示されており、これは方法400の1つの特定の実装形態である。
【００９８】
ブロック502において、システムが、視覚構成要素からの出力に基づく視覚データ、ならびにマイクロフォンからの出力に基づくオーディオデータを受信する。ブロック502は、図4のブロック402と共通の1つまたは複数の態様を共有してもよい。
【００９９】
ブロック504において、システムが、視覚データおよび/またはオーディオデータを処理して、様々な属性の発生および/または信頼度を決定する。ブロック504の処理は、視覚データのストリームおよびオーディオデータのストリームなどの、視覚データおよび/またはオーディオデータの複数のフレームにわたって行われてもよい。いくつかの実装形態では、ブロック504の処理は、人の存在を示す存在センサからの出力に応答して開始されてもよい。ブロック504の処理は、図4のブロック404と共通の1つまたは複数の態様を共有してもよい。
【０１００】
ブロック506、508、および/または510は、ブロック504の処理の間に(たとえば、それと並行して)実行されてもよく、そのような処理の間に決定される属性および/または信頼度メトリックに各々依存する。
【０１０１】
ブロック506において、システムが、ブロック504の処理に基づいて、向けられた視線の発生が決定されるかどうかを(たとえば、少なくとも閾値の信頼度メトリックを用いて)決定する。決定される場合、システムはブロック510に進み、任意選択で、ブロック508において第1の人間知覚可能な合図もレンダリングする。決定されない場合、システムはブロック506を実行し続ける。
【０１０２】
ブロック510において、システムが、向けられた視線が継続するかどうかを、1つまたは複数の他の属性の発生とともに決定する。たとえば、他の属性は、ユーザ(向けられた視線を与える)がアシスタントデバイスから閾値の距離以内にいること、声の活動の発生を決定すること、および/または声の活動と(向けられた視線を与えるユーザの)口の動きの同時発生を決定することを含み得る。いくつかの実装形態では、ブロック510において、システムは、向けられた視線が継続し、他の条件のうちの1つまたは複数が何らかの要件を満たす(たとえば、距離が閾値を満たす(または少なくとも距離の大きさに基づいて)、ならびに/または、声の活動および/もしくは声の活動と口の動きの同時発生が少なくとも閾値の信頼度メトリックを有する)場合、「yes」に進む。
【０１０３】
ブロック510の決定が「no」である場合、システムはブロック506に戻る。ブロック510の決定が「yes」である場合、システムはブロック518またはブロック514に進み、任意選択で、ブロック512において第2の人間知覚可能な合図もレンダリングする。ブロック510における「yes」の決定の後でシステムがブロック518に進む場合、システムは、視覚データおよび/もしくはオーディオデータのさらなるローカル処理(すなわち、ブロック504においてすでに実行されている処理に対するさらなる処理)を実行することができ、かつ/または、視覚データおよび/もしくはオーディオデータ(および/または、オーディオデータから変換されたテキストなどの、それらのローカルに決定される変換物)を、さらなる処理のためにリモートの自動アシスタント構成要素に送信することができる。
【０１０４】
ブロック510における「yes」の決定の後でシステムがブロック514に進む場合、システムは、ブロック514において、ユーザ入力の完了を示すためのローカルの終点指示を待機する。たとえば、終点指示は、オーディオデータの分析に基づいてもよく、現在の話される入力が完了することを示すことができる。別の例として、終点指示は、追加または代替として、視覚データの分析に基づいてもよく、現在のジェスチャ入力が完了することを示すことができる。様々な終点指示技法が、そのような終点指示の決定を行う際に利用され得る。現在のユーザ入力が完了していることをローカルの終点指示が示す場合、システムは、ブロック516に進み、第3の知覚可能な合図をレンダリングすることができ、かつ/または、ブロック518に進むことができる。ブロック514からブロック518に進む場合、システムは、視覚データおよび/もしくはオーディオデータのさらなるローカル処理を実行することができ、かつ/または、視覚データおよび/もしくはオーディオデータをさらなる処理のためにリモートの自動アシスタント構成要素に送信することができる。たとえば、ブロック510におけるyesの決定の後で、システムがブロック518に進まず、ブロック518において視覚データおよび/またはオーディオデータを送信しない場合、システムは、ブロック514におけるyesの決定の後、ブロック518に進み、視覚データおよび/またはオーディオデータを送信することができる。また、たとえば、ブロック510におけるyesの決定の後でシステムがブロック518に進むが、視覚データおよび/またはオーディオデータのさらなるローカル処理を実行するだけである場合、システムは、ブロック514におけるyesの決定の後で、ブロック518に進み、視覚データおよび/またはオーディオデータを送信することができる。
【０１０５】
任意選択のブロック520において、システムは、視覚データおよび/またはオーディオデータにおいて捉えられる話される入力および/またはジェスチャ入力への応答を提供するかどうかを決定する際、さらなる処理を実行する。いくつかの実装形態では、ブロック520はリモートの自動アシスタント構成要素において実行されてもよいが、方法500の他のブロックは、自動アシスタントクライアントによって、アシスタントデバイスにおいてローカルで実行されてもよい。さらなる処理は、たとえば、本明細書で説明される意味フィルタリング、および/または、向けられた視線を与えるユーザの顔認識によって示されるユーザと話される入力が一致することを、テキスト非依存話者識別が示すかどうかを決定することを含み得る。たとえば、入力が自動アシスタントに向けられたものではない可能性が高いことを意味フィルタリングが示す場合、および/または、話される入力が顔認識により示されるユーザと一致しないことをTI-SIDが示す場合、応答生成は中止されてもよく、かつ/または、応答がクライアントデバイスに送信されること、および/もしくはクライアントデバイスによってレンダリングされることが防がれてもよい。
【０１０６】
ここで図6の方法600を見ると、ブロック602において、システムが、アシスタントデバイスと統合された視覚構成要素などの、視覚構成要素からの出力に基づく視覚データを受信する。
【０１０７】
ブロック604において、システムが、視覚データを処理して、ユーザの向けられた視線ならびに/またはユーザの接触なしのジェスチャの発生および/もしくは信頼度を決定する。ブロック604の処理は、視覚データのストリームなどの上の、視覚データの複数のフレームにわたって行われてもよい。いくつかの実装形態では、ブロック604の処理は、人の存在を示す存在センサからの出力に応答して開始されてもよい。
【０１０８】
ブロック606および/またはブロック610は、ブロック604の処理の間に(たとえば、それと並行して)実行されてもよく、ブロック604の処理に各々依存する。
【０１０９】
ブロック606において、システムが、ユーザの向けられた視線の発生が決定されたかどうかを、ブロック604の視覚データの処理に基づいて決定する。決定されなかった場合、システムはブロック606を実行し続ける。決定された場合、システムはブロック610に進み、ブロック608においてユーザインターフェース出力を任意選択で適応させる(たとえば、人間知覚可能な合図をレンダリングする)。
【０１１０】
ブロック610において、システムが、ユーザ(向けられた視線を与える同じユーザ)のジェスチャが決定されたかどうかを、ブロック604の視覚データの処理に基づいて決定し、ジェスチャの標識または他の識別子を決定する。いくつかの実装形態では、向けられた視線が発生しているかどうかを決定する際、およびジェスチャが決定されたかどうかを決定する際に、別個の処理がブロック604において実行されてもよい。ブロック610における決定が「no」である場合、システムはブロック606に戻り、向けられた視線が継続しているかどうかを決定する(および任意選択で、ブロック608のユーザインターフェース出力の適応を継続すべきかどうかも決定する)。
【０１１１】
ブロック610における決定が「yes」である場合、システムはブロック612に進み、ジェスチャに基づいて、および任意選択で、ジェスチャのときにクライアントデバイスによってレンダリングされているコンテンツに基づいて、応答を生成する。いくつかの実装形態では、ブロック612に進むために、システムはまた、ブロック604における視覚データの処理に基づいて、ユーザ(向けられた視線およびジェスチャを与える)の距離が閾値を満たすことを決定する。
【０１１２】
いくつかの実装形態では、ブロック612は、ジェスチャが複数の応答行動に割り当てられると決定することを含む。たとえば、ジェスチャが複数の応答行動候補に割り当てられることを、ジェスチャと行動の対応付けが示すことがある。それらの実装形態では、ブロック612はさらに、複数の応答行動から、ジェスチャのときにクライアントデバイスによってレンダリングされているコンテンツに基づいて単一の応答行動を選択することと、選択された単一の応答行動の実行を引き起こすために応答を生成することとを含む。たとえば、左へのスワイプ(すなわち、手を水平に左へ動かすこと)のジェスチャが、「次のトラック」行動と「スマートサーモスタットの温度を下げる」行動の両方に割り当てられてもよく、これらの2つの行動のいずれが選択されるかは、レンダリングされているコンテンツに基づいてもよい。たとえば、「次のトラック」行動は、オーディオコンテンツがレンダリングされているときに選択されてもよいが、「スマートサーモスタットを下げる」行動は、オーディオコンテンツまたはオーディオビジュアルコンテンツがレンダリングされておらず、(たとえば、「今のサーモスタットの温度は」というそれより前の話された発声に応答して)サーモスタットコントロールがレンダリングされているときに選択されてもよい。
【０１１３】
ブロック614において、システムは次いで応答を実施する。これは、(たとえば、「スマートサーモスタットの温度を下げる」行動および/または「次のトラック」行動を実施するために)1つまたは複数のサードパーティシステムとインターフェースをとること、および/または、(たとえば、「音量を下げる」行動を実施するために)アシスタントデバイスを制御することを含み得る。
【０１１４】
図7は、本明細書で説明される技法の1つまたは複数の態様を実行するために任意選択で利用され得る例示的なコンピューティングデバイス710のブロック図である。いくつかの実装形態では、クライアントデバイス、クラウドベースの自動アシスタント構成要素、および/または他の構成要素のうちの1つまたは複数が、例示的なコンピューティングデバイス710の1つまたは複数の構成要素を備え得る。
【０１１５】
コンピューティングデバイス710は通常、バスシステム712を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ714を含む。これらの周辺デバイスは、たとえば、メモリサブシステム725およびファイルストレージサブシステム726、ユーザインターフェース出力デバイス720、ユーザインターフェース入力デバイス722、ならびにネットワークインターフェースサブシステム716を含む、ストレージサブシステム724を含み得る。入力デバイスおよび出力デバイスは、コンピューティングデバイス710とのユーザ対話を可能にする。ネットワークインターフェースサブシステム716は、外部ネットワークにインターフェースを提供し、他のコンピューティングデバイスの中の対応するインターフェースデバイスに結合される。
【０１１６】
ユーザインターフェース入力デバイス722は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィクスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピューティングデバイス710または通信ネットワークに情報を入力するための、すべての可能なタイプのデバイスおよび方法を含むことが意図される。
【０１１７】
ユーザインターフェース出力デバイス720は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または、可視の画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスなどの非視覚ディスプレイを提供してもよい。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス710からの情報をユーザまたは別の機械もしくはコンピューティングデバイスに出力するための、すべての可能なタイプのデバイスおよび方法を含むことが意図される。
【０１１８】
ストレージサブシステム724は、本明細書で説明されるモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構成物を記憶する。たとえば、ストレージサブシステム724は、図4、図5、および/または図6の方法の選択された態様を実行し、ならびに、図1、図2A、図2B、および図3Aに示される様々な構成要素を実装するための論理を含み得る。
【０１１９】
これらのソフトウェアモジュールは一般に、単独で、または他のプロセッサと組み合わせて、プロセッサ714によって実行される。ストレージサブシステム724において使用されるメモリ725は、プログラム実行の間の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)730と、固定された命令が記憶される読取り専用メモリ(ROM)732とを含む、いくつかのメモリを含み得る。ファイルストレージサブシステム726は、プログラムおよびデータファイルのための永続的なストレージを提供することができ、ハードディスクドライブ、関連するリムーバブルメディアを伴うフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、またはリムーバブルメディアカートリッジを含んでもよい。いくつかの実装形態の機能を実装するモジュールは、ストレージサブシステム724の中の、またはプロセッサ714によってアクセス可能な他の機械の中のファイルストレージサブシステム726によって記憶され得る。
【０１２０】
バスサブシステム712は、コンピューティングデバイス710の様々な構成要素およびサブシステムを意図するように互いに通信させるための機構を提供する。バスサブシステム712は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実装形態は複数のバスを使用してもよい。
【０１２１】
コンピューティングデバイス710は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む、様々なタイプのものであってもよい。コンピュータおよびネットワークの変化し続ける性質により、図7に示されるコンピューティングデバイス710の説明は、いくつかの実装形態を例示することを目的とする具体的な例として意図されているにすぎない。図7に示されるコンピューティングデバイスよりも多数または少数の構成要素を有する、コンピューティングデバイス710の多くの他の構成が可能である。
【０１２２】
本明細書で説明されるシステムが、ユーザについての個人情報を収集もしくは別様に監視し、または個人情報および/もしくは監視される情報を利用し得る状況において、ユーザは、プログラムもしくは機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的な行動もしくは活動、職業、ユーザの好み、またはユーザの現在の地理的位置についての情報)を収集するかどうかを管理するための、または、ユーザにより関連があり得るコンテンツをコンテンツサーバから受信するかどうか、および/もしくはどのように受信するかを管理するための、機会を与えられてもよい。また、あるデータは、個人を特定可能な情報が除去されるように、記憶または使用される前に1つまたは複数の方法で扱われてもよい。たとえば、ユーザの識別情報は、ユーザについて個人を特定可能な情報を決定できないように、または、地理的位置情報が得られるユーザの地理的位置が(都市、郵便番号、または州のレベルなどへと)一般化され得るように扱われ得るので、ユーザの具体的な地理的位置を決定することはできない。したがって、ユーザは、情報がユーザについてどのように収集されるか、および/または使用されるかについて、管理することができる。たとえば、ユーザは、自動アシスタントとのホットワードを用いない対話を有効にする際、アシスタントデバイスが視覚構成要素107を使用すること、および/または視覚構成要素107からの視覚データを使用することから、オプトアウトすることができる。
【０１２３】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法が提供され、これは、クライアントデバイスにおいて、クライアントデバイスの1つまたは複数のカメラからの出力に基づく画像フレームのストリームを受信するステップを含む。方法はさらに、クライアントデバイスにおいて、クライアントデバイスに向けられたユーザの視線の発生を検出するために、クライアントデバイスにローカルに記憶されている少なくとも1つの訓練された機械学習モデルを使用してストリームの画像フレームを処理するステップを含む。方法はさらに、クライアントデバイスにおいて、クライアントデバイスに対するユーザの距離を決定するステップを含む。クライアントデバイスに対するユーザの距離を決定することは、画像フレームおよび/またはクライアントデバイスの追加のセンサからの追加のセンサデータのうちの1つまたは複数に基づいてもよい。方法はさらに、クライアントデバイスにおいて、ユーザの視線の発生を検出したことに基づいて、かつクライアントデバイスに対するユーザの距離に基づいて、クライアントデバイスの1つまたは複数のマイクロフォンによって検出されるオーディオデータの何らかの処理を実行すると決定するステップを含む。方法はさらに、クライアントデバイスにおいて、オーディオデータの何らかの処理を実行するとの決定に応答して、オーディオデータの何らかの処理を開始するステップを含む。
【０１２４】
本明細書で開示される技術のこれらのおよび他の実装形態は任意選択で、以下の特徴のうちの1つまたは複数を含み得る。
【０１２５】
いくつかの実装形態では、オーディオデータの何らかの処理を開始することは、クライアントデバイスにおけるオーディオデータのローカルの自動発話認識を開始すること、自動アシスタントと関連付けられるリモートサーバへのオーディオデータの送信を開始すること、および/または、リモートサーバへのローカルの自動発話認識からの認識されたテキストの送信を開始することを含み得る。
【０１２６】
いくつかの実装形態では、オーディオデータの少なくともある部分は、ユーザの視線を検出する前にクライアントデバイスに対してローカルである一時バッファへバッファリングされる、バッファリングされるオーディオデータである。
【０１２７】
いくつかの実装形態では、方法はさらに、オーディオデータの何らかの処理を開始する前に、クライアントデバイスの出力構成要素を介して少なくとも1つの人間知覚可能な合図をレンダリングするステップを含む。それらの実装形態のいくつかのバージョンでは、少なくとも1つの人間知覚可能な合図は、クライアントデバイスに向けられたユーザの視線の発生を検出したことに応答してレンダリングされる第1の合図を含む。
【０１２８】
いくつかの実装形態では、クライアントデバイスの1つまたは複数のカメラに向けられたユーザの視線の発生を検出するために、少なくとも1つの訓練された機械学習モデルを使用して画像フレームを処理することは、シーケンスの画像フレームの各々に対して、ユーザの視線がクライアントデバイスに向けられているかどうかを決定するために、少なくとも1つの訓練された機械学習モデルを使用して画像フレームのシーケンスを処理することと、ユーザの視線が1つまたは複数のカメラに向けられていると決定されるシーケンスの画像フレームの量に基づいて、クライアントデバイスに向けられたユーザの視線の発生を検出することとを含む。
【０１２９】
いくつかの実装形態では、方法はさらに、クライアントデバイスの1つまたは複数のマイクロフォンを介して検出されるオーディオデータの何らかの処理を開始する前に、クライアントデバイスにおいて、オーディオデータの少なくとも一部のローカル処理に基づいて声の活動を、および/または、画像フレームの1つまたは複数およびオーディオデータの少なくとも一部のローカル処理に基づいてユーザの口の動きと声の活動の同時発生を検出するステップを含む。それらの実装形態の一部では、オーディオデータの何らかの処理を開始することはさらに、声の活動と、ユーザの口の動きと声の活動の同時発生との、一方または両方を検出したことに応答する。それらの実装形態のいくつかのバージョンでは、ユーザの視線の発生を検出することは第1の時間に発生し、声の活動と、ユーザの口の動きと声の活動の同時発生との、一方または両方を検出することは、第1の時間より後の第2の時間に発生する。それらのバージョンの一部では、方法はさらに、オーディオデータの何らかの処理を開始する前に、かつ第2の時間より前に、クライアントデバイスの出力構成要素を介して、クライアントデバイスの1つまたは複数のカメラに向けられたユーザの視線の発生を検出したことに応答して、第1の人間知覚可能な合図をレンダリングするステップと、オーディオデータの何らかの処理を開始する前に、かつ第1の人間知覚可能な合図のレンダリングより後に、クライアントデバイスの出力構成要素または追加の出力構成要素を介して、声の活動と、ユーザの口の動きと声の活動の同時発生との、一方または両方を検出したことに応答して、第2の人間知覚可能な合図をレンダリングするステップとを含む。第1の人間知覚可能な合図は、たとえば、クライアントデバイスのディスプレイを介してレンダリングされる第1の視覚的な合図を含んでもよく、第2の人間知覚可能な合図は、たとえば、クライアントデバイスのディスプレイを介してレンダリングされる第2の視覚的な合図を含んでもよい。さらに、それらのバージョンの一部では、方法はさらに、オーディオデータの何らかの処理を開始したことに応答して、かつ第2の時間より後に、クライアントデバイスの出力構成要素または追加の出力構成要素を介して、第3の人間知覚可能な合図をレンダリングするステップを含み得る。
【０１３０】
いくつかの実装形態では、クライアントデバイスに対するユーザの距離を決定することは、画像フレームのうちの1つまたは複数に基づく。それらの実装形態のうちの一部では、ユーザの距離を決定することは、画像フレームの1つまたは複数において検出される、ユーザの目と目の間の決定される目の距離に基づく。
【０１３１】
いくつかの実装形態では、ユーザの視線の発生を検出したことに基づいて、かつクライアントデバイスに対するユーザの距離に基づいて、オーディオデータの何らかの処理を実行すると決定することは、ユーザの距離が閾値の距離を満たすことに基づいて何らかの処理を実行すると決定することを含む。
【０１３２】
いくつかの実装形態では、ユーザの視線の発生を検出したことに基づいて、かつクライアントデバイスに対するユーザの距離に基づいて、オーディオデータの何らかの処理を実行すると決定することは、ユーザの距離の大きさに基づいて、かつユーザの視線に対する視線信頼度メトリックに基づいて、オーディオデータの何らかの処理を実行すると決定することを含む。視線信頼度メトリックは、少なくとも1つの訓練された機械学習モデルを使用したストリームの画像フレームの処理に基づいて生成され得る。
【０１３３】
いくつかの実装形態では、方法はさらに、クライアントデバイスにおける画像フレームのうちの1つまたは複数をローカルに処理することに基づいて、ユーザが認識されるユーザであると決定するステップを含む。それらの実装形態の一部では、オーディオデータの何らかの処理を実行すると決定することはさらに、ユーザが認識されるユーザであると決定することに基づく。
【０１３４】
いくつかの実装形態では、オーディオデータの何らかの処理は、認識される発話を生成するためのオーディオデータの自動発話認識を含む。それらの実装形態のいくつかのバージョンでは、方法はさらに、認識される発話に少なくとも一部基づいて、認識される発話が自動アシスタントに向けられた要求である確率を示すアシスタント要求尺度(assistant request measure)を決定するステップと、アシスタント要求尺度に少なくとも一部基づいて、クライアントデバイスを介して、認識される発話への応答をレンダリングするかどうかを決定するステップとを含む。それらのバージョンの一部では、認識される発話への応答をレンダリングするかどうかを決定することはさらに、ユーザの距離、ユーザが認識されるユーザであるかどうか、および/またはユーザの視線に対する視線信頼度メトリックに基づく。
【０１３５】
いくつかの実装形態では、クライアントデバイスの1つまたは複数のプロセッサによって実施される方法が提供され、この方法は、クライアントデバイスの1つまたは複数のカメラからの出力に基づく画像フレームのストリームを受信するステップと、クライアントデバイスにおいて、クライアントデバイスに向けられたユーザの視線の発生を検出するために、クライアントデバイスにローカルに記憶されている少なくとも1つの訓練された機械学習モデルを使用してストリームの画像フレームを処理するステップとを含む。方法はさらに、クライアントデバイスのディスプレイにおいて、クライアントデバイスに向けられたユーザの視線の発生を検出したことに応答して、第1の人間知覚可能な合図をレンダリングするステップを含む。方法はさらに、第1の人間知覚可能な合図をレンダリングする間に、クライアントデバイスにおいて、クライアントデバイスの1つまたは複数のマイクロフォンによって捉えられるオーディオデータの少なくとも一部のローカル処理に基づく声の活動と、画像フレームのうちの1つまたは複数およびオーディオデータの少なくとも一部のローカル処理に基づく、ユーザの口の動きと声の活動との同時発生と、画像フレームのうちの1つまたは複数のローカル処理に基づくユーザのジェスチャとのうちの、1つまたは複数を検出するステップを含む。方法はさらに、視線の発生を検出し続けること、ならびに、声の活動、ユーザの口の動きと声の活動との同時発生、およびユーザのジェスチャのうちの1つまたは複数を検出することに応答して、クライアントデバイスのディスプレイにおいて、第1の人間知覚可能な合図のレンダリングを、第2の人間知覚可能な合図のレンダリングと交代させるステップを含む。方法はさらに、第2の人間知覚可能な合図をレンダリングした後に、クライアントデバイスにおいて、オーディオデータおよび/または画像フレームのうちの1つまたは複数の何らかの追加の処理を開始するステップを含む。
【０１３６】
本明細書で開示される技術のこれらおよび他の実装形態は、以下の特徴のうちの1つまたは複数を任意選択で含み得る。
【０１３７】
いくつかの実装形態では、方法はさらに、オーディオデータおよび/または画像フレームのうちの1つまたは複数の何らかの追加の処理を開始したことに応答して、クライアントデバイスのディスプレイにおいて、第2の人間知覚可能な合図のレンダリングを、第3の人間知覚可能な合図のレンダリングと交代させるステップを含む。
【０１３８】
いくつかの実装形態では、オーディオデータおよび/または画像フレームのうちの1つまたは複数の何らかの追加の処理を開始することは、自動アシスタントと関連付けられるリモートサーバへのオーディオデータおよび/または画像フレームの送信を開始することを含む。
【０１３９】
いくつかの実装形態では、方法はさらに、視線の発生を検出すること、声の活動を検出すること、口の動きと声の活動の同時発生を検出すること、およびジェスチャを検出することのうちの1つまたは複数と各々関連付けられる、1つまたは複数の信頼度尺度を決定するステップを含む。それらの実装形態の一部では、第2の人間知覚可能な合図のサイズは信頼度尺度のうちの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つの人間知覚可能な合図のレンダリングを実行すると決定することはさらに、ユーザの体の姿勢がクライアントデバイスに向いていると決定することに基づく。
【符号の説明】
【０１５２】
101  クライアントデバイス
103  ディスプレイ
105  存在センサ
107  視覚構成要素
109  マイクロフォン
110  自動アシスタントクライアント
112  発話捕捉モジュール
114  視覚捕捉モジュール
115  適応エンジン
120  自動アシスタント
130  クラウドベースの自動アシスタント構成要素
131  TTSモジュール
132  STTモジュール
133  自然言語プロセッサ
134  意図照合器
136  自然言語生成器
138  履行モジュール
140  意味フィルタモジュール
141  意味機械学習モデル
142  TI-SIDモジュール
143  TI-SID機械学習モデル
150  検索モジュール
301  ユーザ
360  画像
362  境界ボックス
363  境界ボックス
710  コンピューティングデバイス
712  バスサブシステム
714  プロセッサ
716  ネットワークインターフェースサブシステム
720  ユーザインターフェース出力デバイス
722  ユーザインターフェース入力デバイス
724  ストレージサブシステム
725  メモリサブシステム
726  ファイルストレージサブシステム
730  RAM
732  ROM
1151  視線モジュール
1152  距離モジュール
1153  口/声モジュール
1154  顔認識モジュール
1155  声活動モジュール
1156  他のモジュール
1157  検出および分類モジュール
1161  視線機械学習モデル
1162  距離機械学習モデル
1163  口/声機械学習モデル
1164  顔認識機械学習モデル
1165  声活動機械学習モデル
1166  他の機械学習モデル
1167  検出および分類モデル
【図１】
2021520590.tif 000003
【図２Ａ】
2021520590.tif 000004
【図２Ｂ】
2021520590.tif 000005
【図３Ａ】
2021520590.tif 000006
【図３Ｂ１】
2021520590.tif 000007
【図３Ｂ２】
2021520590.tif 000008
【図３Ｂ３】
2021520590.tif 000009
【図４】
2021520590.tif 000010
【図５】
2021520590.tif 000011
【図６】
2021520590.tif 000012
【図７】
2021520590.tif 000013
【国際調査報告】
2021520590.tif 000014
2021520590.tif 000015
2021520590.tif 000016
2021520590.tif 000017
2021520590.tif 000018