(57)【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実施される方法であって、
クライアント装置の自動アシスタントインタフェースを介して、ユーザによって与えられる音声入力を受け取るステップと、
前記音声入力が前記クライアント装置の環境内の物体に関連した要求を含むと判定するステップと、
前記音声入力が前記物体に関連した前記要求を含むとの判定に応じて、
少なくとも1つのセンサによって取得される初期センサデータに処理が行われるようにするステップであって、前記少なくとも1つのセンサが、前記クライアント装置または前記環境内の追加の電子装置のものであり、前記初期センサデータが、前記物体の1つまたは複数の特性を捉える、ステップと、
前記初期センサデータの前記処理に基づいて解決される前記物体の1つまたは複数の初期属性に基づいて、前記要求が前記初期センサデータに基づいて解決可能でないと判定するステップであって、前記1つまたは複数の初期属性に基づいて、前記要求が解決可能でないと判定することが、前記1つまたは複数の初期属性が前記要求を解決するために必要な特異度で前記物体を定義することができないと判定することを含み、前記特異度が、分類学における目標分類度である、ステップと、
前記要求が解決可能でないとの判定に応じて、
前記クライアント装置の前記自動アシスタントインタフェースを介する前記ユーザへの提示のために、前記ユーザに追加センサデータを取得するまたは前記物体を動かすように命令するプロンプトを提供するステップと、
追加センサデータを受け取るステップであって、前記追加センサデータが、前記プロンプトが前記ユーザに提示された後に前記クライアント装置または前記追加の電子装置によって取得される、ステップと、
前記追加センサデータに処理が行われるようにするステップと、
前記追加センサデータの前記処理に基づいて解決される少なくとも1つの追加属性に基づいて前記要求を解決するステップとを含む、
方法。
【請求項２】
前記初期センサデータが、前記クライアント装置または前記追加の電子装置のカメラによって取得される少なくとも1つの初期画像から成り、
前記方法が、前記音声入力が前記物体に関連した前記要求を含むとの判定に応じて、
前記少なくとも1つの初期画像が取得されるようにするステップをさらに含む、
請求項1に記載の方法。
【請求項３】
前記少なくとも1つの初期画像の取得が、前記ユーザと前記クライアント装置との間のいかなる物理的接触からも独立して生じ、かつ前記ユーザと前記追加の電子装置との間のいかなる物理的接触からも独立して生じる、
請求項2に記載の方法。
【請求項４】
前記要求を解決するステップが、前記初期センサデータの前記処理に基づいて解決される前記物体の前記1つまたは複数の初期属性のうちの少なくとも1つにさらに基づく、
請求項1に記載の方法。
【請求項５】
前記方法が、
前記初期センサデータの前記処理に基づいて解決される前記1つまたは複数の初期属性に基づいて、かつ前記追加センサデータの前記処理に基づいて解決される前記少なくとも1つの追加属性に基づいて、前記要求が依然として解決可能でないと判定するステップと、
前記要求が依然として解決可能でないとの判定に応じて、
前記クライアント装置の前記自動アシスタントインタフェースを介する前記ユーザへの提示のために追加プロンプトを提供するステップとをさらに含み、
前記要求を解決するステップが、前記追加プロンプトに応じて受け取られる入力に基づいて解決される少なくとも1つのさらなる追加属性にさらに基づく、
請求項1に記載の方法。
【請求項６】
前記追加プロンプトが、前記ユーザに追加画像を取得するまたは前記物体をさらに動かすように命令し、
前記入力が、前記クライアント装置または前記追加の電子装置のカメラによって取得される画像である、
請求項5に記載の方法。
【請求項７】
前記入力がさらなる自然言語入力であり、
前記さらなる追加属性が、前記さらなる自然言語入力に基づいて決定される、
請求項5に記載の方法。
【請求項８】
前記クライアント装置の前記自動アシスタントインタフェースを介する前記ユーザへの提示のために初期出力を提供するステップであって、前記初期出力が、前記初期属性に基づく、ステップと、
前記初期出力を提供したことに応じてユーザフィードバックを受け取るステップと、
前記ユーザフィードバックに基づいて前記特異度を決定するステップとをさらに含む、
請求項1に記載の方法。
【請求項９】
前記初期センサデータの前記処理に基づいて解決される前記物体の前記1つまたは複数の初期属性と関連する学習された特異度に基づいて前記特異度を決定するステップであって、前記学習された特異度が、前記初期属性と関連する物体に関連した先行の自動アシスタント対話に基づいて学習される、ステップをさらに含む、
請求項1に記載の方法。
【請求項１０】
少なくとも1つの初期画像の画像処理に基づいて解決される前記物体の前記1つまたは複数の初期属性のうちの少なくとも1つの初期属性に基づいて前記プロンプトを決定するステップをさらに含む、
請求項1に記載の方法。
【請求項１１】
前記要求が前記物体に関連した追加情報の要求であり、
少なくとも1つの追加画像の画像処理に基づいて解決される前記少なくとも1つの追加属性に基づいて前記要求を解決するステップが、
前記少なくとも1つの追加属性に基づいて追加内容を生成するステップと、
前記クライアント装置の前記自動アシスタントインタフェースを介して、前記要求への応答として前記ユーザへの提示のために前記追加内容を提供するステップとを含む、
請求項1に記載の方法。
【請求項１２】
前記追加属性に基づいて前記追加内容を生成するステップが、
1つまたは複数のネットワークを通じてかつアプリケーションプログラミングインタフェースを介してエージェントに、前記追加属性に基づいて生成されるエージェント要求を送信するステップと、
前記エージェント要求を送信したことに応じて前記エージェントから前記追加内容を受信するステップとを含む、
請求項11に記載の方法。
【請求項１３】
1つまたは複数のプロセッサによって実施される方法であって、
クライアント装置の自動アシスタントインタフェースを介して、ユーザによって与えられる音声入力を受け取るステップと、
前記音声入力が前記クライアント装置の環境内の物体に関連した要求を含むと判定するステップと、
前記音声入力が前記物体に関連した前記要求を含むとの判定に応じて、
少なくとも1つのセンサによって取得される初期センサデータに処理が行われるようにするステップであって、前記少なくとも1つのセンサが前記クライアント装置または前記環境内の追加の電子装置のものであり、前記初期センサデータが前記物体の1つまたは複数の特性を捉える、ステップと、
前記初期センサデータの前記処理に基づいて解決される前記物体の1つまたは複数の初期属性に基づいて、前記要求が前記初期センサデータに基づいて解決可能でないと判定するステップであって、前記要求が前記1つまたは複数の初期属性に基づいて解決可能でないと判定することが、前記1つまたは複数の初期属性が前記要求を解決するために必要な特異度で前記物体を定義することができないと判定することを含み、前記特異度を決定することが、前記クライアント装置の前記自動アシスタントインタフェースを介する前記ユーザへの提示のために初期出力を提供することを含み、前記初期出力が、前記初期属性に基づく、ステップと、
前記初期出力を提供したことに応じてユーザフィードバックを受け取って、前記ユーザフィードバックに基づいて前記特異度を決定するステップと、
前記要求が解決可能でないとの判定に応じて、
前記クライアント装置の前記自動アシスタントインタフェースを介する前記ユーザへの提示のために、前記ユーザに追加センサデータを取得するまたは前記物体を動かすように命令するプロンプトを提供するステップと、
追加センサデータを受け取るステップであって、前記追加センサデータが、前記プロンプトが前記ユーザに提示された後に前記クライアント装置または前記追加の電子装置によって取得される、ステップと、
前記追加センサデータに処理が行われるようにするステップと、
前記追加センサデータの前記処理に基づいて解決される少なくとも1つの追加属性に基づいて前記要求を解決するステップとを含む、
方法。
【請求項１４】
1つまたは複数のプロセッサによって実施される方法であって、
クライアント装置の自動アシスタントインタフェースを介して、ユーザによって与えられる音声入力を受け取るステップと、
前記音声入力が前記クライアント装置の環境内の物体に関連した要求を含むと判定するステップと、
前記音声入力が前記物体に関連した前記要求を含むとの判定に応じて、
少なくとも1つのセンサによって取得される初期センサデータに処理が行われるようにするステップであって、前記少なくとも1つのセンサが前記クライアント装置または前記環境内の追加の電子装置のものであり、前記初期センサデータが前記物体の1つまたは複数の特性を捉える、ステップと、
前記初期センサデータの前記処理に基づいて解決される前記物体の1つまたは複数の初期属性に基づいて、前記要求が前記初期センサデータに基づいて解決可能でないと判定するステップと、
前記要求が解決可能でないとの判定に応じて、
前記クライアント装置の前記自動アシスタントインタフェースを介する前記ユーザへの提示のために、前記ユーザに追加センサデータを取得するまたは前記物体を動かすように命令するプロンプトを提供するステップと、
追加センサデータを受け取るステップであって、前記追加センサデータが、前記プロンプトが前記ユーザに提示された後に前記クライアント装置または前記追加の電子装置によって取得される、ステップと、
前記追加センサデータに処理が行われるようにして、前記物体の少なくとも1つの追加属性を解決するステップと、
前記初期センサデータの前記処理に基づいて解決される前記1つまたは複数の初期属性に基づいて、かつ前記追加センサデータの前記処理に基づいて解決される前記少なくとも1つの追加属性に基づいて、前記要求が依然として解決可能でないと判定するステップと、
前記要求が依然として解決可能でないとの判定に応じて、
前記クライアント装置の前記自動アシスタントインタフェースを介する前記ユーザへの提示のために追加プロンプトを提供するステップと、
前記追加センサデータの前記処理に基づいて解決される前記少なくとも1つの追加属性に基づいて、かつ前記追加プロンプトに応じて受け取られる入力に基づいて解決される少なくとも1つのさらなる追加属性に基づいて前記要求を解決するステップとを含む、
方法。
【請求項１５】
前記追加プロンプトが、前記ユーザに追加画像を取得するまたは前記物体をさらに移かすように命令し、
前記入力が、前記クライアント装置または前記追加の電子装置のカメラによって取得される画像である、
請求項14に記載の方法。
【請求項１６】
前記入力が、さらなる自然言語入力であり、
前記さらなる追加属性が、前記さらなる自然言語入力に基づいて決定される、
請求項14に記載の方法。
【請求項１７】
1つまたは複数のプロセッサによって実施される方法であって、
クライアント装置の自動アシスタントインタフェースを介して、ユーザによって与えられる音声入力を受け取るステップと、
前記音声入力が前記クライアント装置の環境内の物体に関連した要求を含むと判定するステップと、
前記音声入力が前記物体に関連した前記要求を含むとの判定に応じて、
少なくとも1つのセンサによって取得される初期センサデータに処理が行われるようにするステップであって、前記少なくとも1つのセンサが前記クライアント装置または前記環境内の追加の電子装置のものであり、前記初期センサデータが、前記物体の1つまたは複数の特性を捉える、ステップと、
前記初期センサデータの前記処理に基づいて解決される前記物体の1つまたは複数の初期属性に基づいて、前記要求が前記初期センサデータに基づいて解決可能でないと判定するステップであって、前記要求が前記1つまたは複数の初期属性に基づいて解決可能でないと判定することが、前記1つまたは複数の初期属性が前記要求を解決するために必要な特異度で前記物体を定義することができないと判定することを含み、前記特異度を決定することが、前記初期センサデータの前記処理に基づいて解決される前記物体の前記1つまたは複数の初期属性の分類属性に基づいて前記特異度を決定することを含む、ステップと、
前記要求が解決可能でないとの判定に応じて、
前記クライアント装置の前記自動アシスタントインタフェースを介する前記ユーザへの提示のために、前記ユーザに追加センサデータを取得するまたは前記物体を動かすように命令するプロンプトを提供するステップと、
追加センサデータを受け取るステップであって、前記追加センサデータが、前記プロンプトが前記ユーザに提示された後に前記クライアント装置または前記追加の電子装置によって取得される、ステップと、
前記追加センサデータに処理が行われるようにするステップと、
前記追加センサデータの前記処理に基づいて解決される少なくとも1つの追加属性に基づいて前記要求を解決するステップとを含む、
方法。
【請求項１８】
前記特異度が、前記分類属性に固有である1つまたは複数の項目を定義し、
前記要求が前記1つまたは複数の初期属性に基づいて解決可能でないと判定するステップが、
前記項目の1つまたは複数が前記初期属性によって未定義であると判定するステップを含む、
請求項17に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像および／または他のセンサデータに基づいている自動アシスタント要求の解決に関する。
【背景技術】
【０００２】
画像内の物体に対する属性を解決するために画像処理を活用できる。例えば、一部の画像処理技法が画像処理エンジンを活用して、画像に捉えられる物体に対する分類を解決する。例えば、帆船を捉える画像に対して、画像処理が行われて、画像に対する「ボート」および/または「帆船」の分類値を解決できる。画像処理を活用して追加または代替の属性を解決できる。例えば、光学文字認識(OCR)が活用されて画像内のテキストを解決できる。また、例えば、一部の画像処理技法が活用されて、画像内の物体のより詳細な分類(例えば、帆船の特定の型および/またはモデル)を決定できる。
【０００３】
一部の画像処理エンジンが、入力として画像を受け入れ、そして学習パラメータを活用して、画像に基づく出力として、複数の対応する属性のうちのどれが画像に存在するかを示す尺度を生成するディープニューラルネットワークモデルなどの、1つまたは複数の機械学習モデルを活用する。尺度が特定の属性が画像に存在することを示せば(例えば、尺度が閾値を満たせば)、その属性は画像に対して「解決された」と考えることができる(すなわち、その属性は画像に存在すると考えることができる)。しかしながら、画像の画像処理が1つまたは複数の(例えば、どの)属性も解決することができないことがしばしばあるであろう。その上、画像に対する解決された属性が所望の特異度での画像内の物体の定義を可能にしないことがさらにあるであろう。例えば、画像の解決された属性が、「シャツ」が画像に存在するという、およびシャツが「赤い」という判定を可能にする場合があるが、シャツの製造業者、シャツが「半そで」であるか「長そで」であるか等の判定を可能にしない場合がある。
【０００４】
それとは別に、人間は、「自動アシスタント」と本明細書で称される(「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「パーソナル音声アシスタント」、「会話型エージェント」等とも称される)対話型ソフトウェアアプリケーションとのヒューマンコンピュータ対話に係わることがある。自動アシスタントはユーザからの自然言語入力(発話)をしばしば受け取る。自然言語入力は、一部の場合には、オーディオ入力(例えば、ストリーミングオーディオ)として受け取られてテキストへ変換でき、および/またはテキスト(例えば、タイプ)自然言語入力として受け取ることができる。自動アシスタントは自然言語入力に応答内容(例えば、視覚および/または可聴の自然言語出力)で応答する。しかしながら、自動アシスタントが環境物体の1つまたは複数の性質を取得するセンサデータ(例えば、画像)に基づいている要求を受け入れないかつ/またはそれに応答しないことがしばしばあるであろう。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書に記載される実装例は、センサデータによって捉えられる可能性がある環境物体に関連した要求との判定に応じてセンサデータの処理が行われるようにすることに関する。例えば、少なくとも1つの画像の取得と併せてユーザによって与えられる自然言語入力(例えば、少なくとも1つの画像の取得の直前、直後および/または最中に受け取られる自然言語入力)に基づいて決定される要求に応じて、画像に画像処理が行える。例えば、ユーザは、クライアント装置の自動アシスタントインタフェースを介して、「私の装置は何が問題なのか」という音声入力を与えることができる。音声入力が環境物体に関連すると判定でき、そして結果として、クライアント装置のカメラによって取得される画像に画像処理が行える。画像は、別個のユーザインタフェース入力(例えば、「画像取得」インタフェース要素の選択)に基づいてカメラによって取得できる、または音声入力が環境物体に関連するとの判定に応じて自動的に取得できる。
【０００６】
さらに本明細書に記載される一部の実装例は、要求がセンサデータの処理に基づいて解決可能であるかどうかを判定することに関する。例えば、少なくとも1つの画像の画像処理に基づいて解決される属性(もしあれば)が目標特異度で物体を定義することができないとの判定に基づいて、要求が解決可能でないと判定できる。要求が解決可能でないと判定されると、ユーザインタフェース出力(例えば、可聴および/またはグラフィカル)としてプロンプトが決定および提供され、ここでプロンプトは、要求が解決されることを可能にするであろうさらなる入力の指針を提供する。プロンプトは、ユーザに物体に対する追加センサデータ(例えば、画像、オーディオ、温度センサデータ、重量センサデータ)を取得するかつ/または物体(および/もしくは他の物体)を動かして物体に対する追加センサデータの取得を可能にするように命令できる。例えば、プロンプトは、少なくとも1つの画像の画像処理に基づいて未解決である1つまたは複数の属性の解決を可能にする追加画像の取得を可能にするように修正できる。プロンプトは、ユーザに、物体の未解決の属性を対象とするユーザインタフェース入力(例えば、自然言語入力)を与えるように追加的または代替的に要請できる。
【０００７】
それらの実装例では、プロンプトに応じて受け取られる追加センサデータ(例えば、追加画像)および/またはユーザインタフェース入力が次いで活用されて要求を解決できる。例えば、プロンプトに応じて受け取られる追加画像に画像処理が行え、そしてその画像処理から解決される追加属性が活用されて要求を解決できる。例えば、要求は、1つまたは複数のエージェント(例えば、検索システムおよび/または他のエージェント)にエージェント要求を提出することによって解決でき、ここでエージェント要求は、追加画像の画像処理から解決される追加属性に基づいて、かつ任意選択で先行のセンサデータの処理に基づいて決定される(例えば、先行の画像の画像処理に基づいて決定される)属性に基づいて生成される。別の例として、プロンプトに応じて受け取られる自然言語入力または他のユーザインタフェース入力に基づいて追加属性が解決でき、そしてそのような追加属性が活用されて要求を解決できる。一部の実装例および/または状況では、複数回のプロンプトが提供でき、それらのプロンプトに応答する追加センサデータおよび/またはユーザインタフェース入力から追加属性が決定でき、そして要求を解決する際にそのような追加属性が活用できることが留意される。
【０００８】
理解されることになるように、本明細書に記載される方法およびシステムは、誘導される人間装置対話プロセスを通じて、ユーザが特定のタスクの遂行をもたらすのを支援してよい。様々な異なるタスクが行われてよいが、それらは、例えば、ユーザがさらなるタスクを行うために必要とする情報を得ることを可能にすることを含んでよい。例えば、図6および図7を参照しつつ記載されるように、得られた情報は別の装置の保守の遂行を容易にしてよい。
【０００９】
上述したように、要求は、センサデータの処理に基づいて解決される属性(もしあれば)が目標特異度で物体を定義することができないとの判定に基づいて、解決可能でないと判定できる。一部の実装例では、物体に対する目標特異度は分類学における物体の目標分類度であることができる。例えば、車の目標分類度は、車の型およびモデルを定義するレベルの、または車の型、モデルおよび年式を定義するレベルの分類であることができる。一部の実装例では、物体に対する目標特異度は1つまたは複数の定義されるべき項目に関して定義でき、ここで物体に対する項目は物体の分類(一般的または具体的)に依存していることができる。例えば、ワインのボトルに対して、項目は特定のブランド、ワインタイプおよび/またはヴィンテージに対して定義でき、そして目標特異度はそれらの項目の全てに対する属性の解決である。一部の実装例では、目標特異度は、ユーザによって与えられる初期自然言語入力、ユーザによって与えられるフィードバック、ユーザおよび/もしくは他のユーザの対話履歴、ならびに/または場所および/もしくは他のコンテキスト信号に基づいて追加的または代替的に決定できる。
【００１０】
同じく上述したように、決定されるプロンプトは、環境物体に関連した要求の解決を可能にするであろうさらなる入力の指針を提供できる。一部の実装例では、プロンプトは、解決された物体に対する1つまたは複数の属性に基づいて決定される。例えば、物体の先行の取得画像の画像処理に基づいて解決される分類属性など、環境物体に対する分類属性が活用できる。例えば、「車」分類に対するプロンプトは車分類に特化されてよい(例えば、「別の角度から車の写真を撮って」)。また、例えば、「ジャケット」分類に対するプロンプトは「ジャケット」分類に特化されてよい(例えば、「ロゴまたはタグの写真を撮って」)。また、例えば、上記したように、分類属性は1つまたは複数の定義されるべき項目と関連付けできる。それらの状況の一部では、プロンプトは、既に解決された属性(もしあれば)によって定義されない項目に基づいて生成できる。例えば、ワインのボトルに対するヴィンテージ項目がまだ定義されていなければ、プロンプトは「年代の写真を撮って」または「年代はどれくらい?」であることができる。
【００１１】
本明細書に記載される一部の実装例は、(1)環境物体に関連した要求(例えば、追加情報の要求)がある、かつ/または(2)要求がこれまでに収集したセンサデータの処理に基づいて解決できないと判定されるときのみ、記載されるプロンプトをユーザへの提示のために提供できる。このようにして、不必要なプロンプトの提供および/またはそのような不必要なプロンプトに応答するであろうさらなる入力の処理を通じて計算リソースが浪費されない。例えば、ユーザがワインのボトルの画像を取得して「この写真をボブに送る」という自然言語入力を与える場合、要求(すなわち、画像をボブに送ること)が取得画像のみに基づいて解決可能であることに基づいて、かつ/または要求がワインのボトルに関連した追加情報の要求でないことに基づいて、ユーザにワインのボトルの追加画像を撮ることを要求するプロンプトは提供されないことになる。自然言語入力が代わりに「これはいくらするのか」である場合、初期画像の画像処理が要求(すなわち、価格を決定する)を解決するのに十分な属性を解決することができなければ、ユーザに追加画像を撮ることを要求するプロンプトが提供されてよい。例えば、ブランド、ワインタイプおよび/またはヴィンテージが画像処理に基づいて解決できなければ、「ラベルの写真を撮って」というプロンプトが提供できる。さらに別の例として、ユーザが「小売」場所にいるときには、取得画像の環境物体に関連した要求が推定できる一方、ユーザが代わりに公園で同じ環境物体を取得したならば、要求は推定されないであろう(ユーザが、価格、レビュー等など、小売場所にいる間、買物情報を探している可能性があるという仮定の下で)。さらに別の例として、初期の取得画像が全て遠距離で複数の物体を捉える場合、要求は推定されないかもしれない一方、画像が代わりに近距離で1つの物体のみを捉えれば、要求は推定されたであろう。
【００１２】
本明細書に記載される一部の実装例は、既に解決された属性(例えば、分類属性)に合わせて修正される、これから解決される項目に合わせて修正される、および/またはその他要求の解決を可能にするように修正されるプロンプトも決定できる。このようにして、プロンプトは、プロンプトに応答する入力(例えば、画像および/またはユーザインタフェース入力)が要求の解決を可能にするという可能性を高めるように修正でき、それによって要求を解決する際のさらなるプロンプトの必要性および/またはそのようなさらなるプロンプトに応答するであろうさらなる入力の処理を緩和する。
【００１３】
一部の実装例の明示的な一例として、ユーザが、ワインのボトルにクライアント装置(例えば、スマートフォン、タブレット、ウェアラブル装置)のカメラを向けつつ「これはどんな種類のレビューを受けている?」という音声入力を与えると仮定する。音声入力がクライアント装置の環境内の物体に関連した要求を含むと判定できる。音声入力が要求を含むことに応じて、ワインのボトルの画像が処理されて画像内の物体の1つまたは複数の属性を解決できる。例えば、画像が処理されて「ボトル」および/または「ワインボトル」の分類を決定できる。一部の実装例では、画像は、ユーザインタフェース入力に基づいて取得できる、または音声入力が要求を含むとの判定に基づいて自動的に取得できる。
【００１４】
さらに、要求が解決された「ボトル」および/または「ワインボトル」分類に基づいて解決可能でないと判定できる。例えば、音声入力に基づいて、要求がボトル内の特定のワイン(例えば、特定のブランド、ワインタイプおよび/またはヴィンテージ)に対する-「ワインボトル」一般に対するでない-レビューに対してであると判定できる。したがって、要求の解決は、十分な属性の解決がボトル内の特定のワインの決定を可能にすることを必要とする。「ボトル」および「ワインボトル」の一般分類はそのような決定を可能にすることができない。
【００１５】
要求が解決可能でないとの判定に応じて、次いでプロンプトが提供できる。例えば、プロンプトは「ラベルの写真を撮ってくれますか」または「バーコードをカメラに見えるようにしてくれますか?」等であることができる。プロンプトに応じて、ユーザは、ワインボトルおよび/または電子装置(したがってカメラ)を動かし、そしてそのような移動に続いて取得される追加画像を動かせる。追加画像の処理が次いで行われて選択パラメータに対する属性を決定できる。例えば、OCR処理が行われて、ブランド名、ワインタイプおよびヴィンテージを含むテキストなど、ラベルに対するテキスト値を決定できる。追加画像の処理が依然として要求の解決を可能にしなければ(例えば、必要とされる属性が依然として未解決であれば)、さらなるプロンプトが生成されてよく、そしてさらなるプロンプト後に受け取られるさらなる画像の画像処理が行われる。
【００１６】
追加属性に基づいて、次いで追加内容が生成できる。例えば、追加内容は、追加属性および/または口頭入力に基づいて検索を出すことに応じて受け取れる。例えば、「ヴィンヤードAカベルネソーヴィニヨン2012」というテキスト値は決定されたかもしれず、「ヴィンヤードAカベルネソーヴィニヨン2012に対するレビュー」というクエリが提出され(例えば、検索システムエージェントに)、そしてクエリに応じて追加内容が受け取られる。
【００１７】
本明細書に記載されるように、1つまたは複数のプロンプトが、ユーザに、応答ユーザインタフェース入力を与えて未解決の項目に対する属性の解決を可能にするように追加的または代替的に要請してよい。例えば、1つまたは複数の画像の処理が活用されて「ワインボトル」分類値を決定するが、ワインを明確に識別するのに十分なテキストを解決することができないと仮定する。例えば、特定のブランドを識別するテキストが識別されたが、ワインタイプおよび年代を識別するテキストは識別されなかった。ユーザに追加画像を取得するかつ/もしくはワインのボトルを動かすように促す代わりに、またはそれに加えて、プロンプトが、ユーザがワインタイプおよび年代を識別することを要求できる(例えば、「ブランドXワインに対するワインタイプおよび年代を教えてくれますか?」)。ユーザによって与えられる応答ユーザインタフェース入力が次いで活用されてワインタイプおよび年代を解決できる。一部の実装例では、プロンプトは、画像処理に基づいて決定される1つまたは複数の候補属性を含むように生成できる。例えば、OCR画像処理技法が活用されて「2017」および「2010」の候補ヴィンテージを決定すると仮定する。例えば、画像処理技法は、候補として「2017」および「2010」を識別するが、どちらも特定のヴィンテージの解決を可能にするのに十分な信頼度では識別しないかもしれない。そのような状況では、プロンプトは「これは2010もしくは2017ヴィンテージであるか?」であってよい、または「2010」および「2017」の選択可能なオプションを提供してよい。
【００１８】
一部の実装例では、多重処理エンジンおよび/またはモデルが並列に動作されてよく、そして各々が1つまたは複数の特定の項目のために特に構成されてよい。例えば、第1の画像処理エンジンが、画像内の一般実体を決定するように構成される一般分類エンジンでよく、第2の画像処理エンジンが、画像内のロゴのブランドを決定するように構成されるロゴ処理エンジンでよく、第3の画像処理エンジンが、画像内のテキストおよび/または数字を決定するように構成されるOCRまたは他の文字認識エンジンでよい等。それらの実装例の一部では、どの画像処理エンジンが対応する項目に対する属性を解決することができなかったかに基づいてプロンプトが生成されてよい。さらに、それらの実装例の一部では、プロンプトに応じて受け取られる追加画像に応じて、エンジンの部分集合のみが活用されてそのような追加画像を処理してよい。例えば、未解決の項目/パラメータを解決するように構成されるエンジンのみが活用されてよく、それによってそのような画像に対して1組のエンジンの全部を活用しないことによって様々な計算リソースを節約する。
【００１９】
一部の実装例では、1つまたは複数のプロセッサによって行われる方法が提供され、クライアント装置の自動アシスタントインタフェースを介して、ユーザによって与えられる音声入力を受け取るステップと、音声入力がクライアント装置の環境内の物体に関連した要求を含むと判定するステップとを含む。本方法は、音声入力が物体に関連した要求を含むとの判定に応じて、少なくとも1つのセンサによって取得される初期センサデータに処理が行われるようにするステップをさらに含む。少なくとも1つのセンサはクライアント装置または環境内の追加の電子装置のものであり、そして初期センサデータは物体の1つまたは複数の特性を捉える。本方法は、初期センサデータの処理に基づいて解決される物体の1つまたは複数の初期属性に基づいて、要求が初期センサデータに基づいて解決可能でないと判定するステップをさらに含む。本方法は、要求が解決可能でないとの判定に応じて、クライアント装置の自動アシスタントインタフェースを介するユーザへの提示のために、ユーザに追加センサデータを取得するまたは物体を動かすように命令するプロンプトを提供するステップをさらに含む。本方法は、プロンプトがユーザに提示された後にクライアント装置または追加の電子装置によって取得される追加センサデータを受け取るステップと、追加センサデータに処理が行われるようにするステップと、追加センサデータの処理に基づいて解決される少なくとも1つの追加属性に基づいて要求を解決するステップとをさらに含む。
【００２０】
一部の実装例では、1つまたは複数のプロセッサによって行われる方法が提供され、クライアント装置のカメラによって取得される少なくとも1つの画像を受け取るステップと、少なくとも1つの画像が少なくとも1つの画像によって取得される物体に関連した要求に関連すると判定するステップとを含む。本方法は、画像が物体に関連した要求に関連するとの判定に応じて、少なくとも1つの画像に画像処理が行われるようにするステップをさらに含む。本方法は、少なくとも1つの画像の画像処理に基づいて、要求を解決するために必要な少なくとも1つのパラメータが少なくとも1つの画像の画像処理に基づいて解決可能でないと判定するステップをさらに含む。本方法は、少なくとも1つのパラメータが解決可能でないとの判定に応じて、クライアント装置または追加のクライアント装置を介する提示のために、少なくとも1つのパラメータに合わせて修正されるプロンプトを提供するステップをさらに含む。本方法は、プロンプトに応じて、カメラによって取得される追加画像および/またはユーザインタフェース入力を受け取るステップと、追加画像および/またはユーザインタフェース入力に基づいて少なくとも1つのパラメータに対する所与の属性を解決するステップと、所与の属性に基づいて要求を解決するステップとをさらに含む。
【００２１】
一部の実装例では、1つまたは複数のプロセッサによって行われる方法が提供され、クライアント装置の自動アシスタントインタフェースを介して、ユーザによって与えられる自然言語入力を受け取るステップと、自然言語入力がクライアント装置の環境内の物体に関連した要求を含むと判定するステップとを含む。本方法は、自然言語入力が物体に関連した要求を含むとの判定に応じて、クライアント装置または環境内の追加の電子装置のセンサによって取得される初期センサデータに処理が行われるようにするステップをさらに含む。本方法は、初期センサデータの処理に基づいて解決される物体の1つまたは複数の初期属性に基づいて、要求が初期センサデータに基づいて解決可能でないと判定するステップをさらに含む。本方法は、要求が解決可能でないとの判定に応じて、クライアント装置の自動アシスタントインタフェースを介するユーザへの提示ためにプロンプトを提供するステップをさらに含む。本方法は、プロンプトに応じて自然言語入力または画像を受け取るステップと、自然言語入力または画像に基づいて要求を解決するステップとをさらに含む。
【００２２】
一部の実装例では、1つまたは複数のプロセッサによって行われる方法が提供され、電子装置のカメラによって取得される少なくとも1つの画像を処理して少なくとも1つの画像内の物体に対する1つまたは複数の属性を解決するステップと、少なくとも1つの画像の処理によって解決される属性によって未定義である物体に対する1つまたは複数の項目を選択するステップと、電子装置または追加の電子装置を介して、選択された1つまたは複数の項目のうちの少なくとも1つに合わせて修正されるプロンプトを提供するステップと、プロンプトに応じて、カメラによって取得される追加画像およびユーザインタフェース入力の少なくとも1つを受け取るステップと、追加画像およびユーザインタフェース入力の少なくとも1つに基づいて選択された1つまたは複数の項目に対する所与の属性を解決するステップと、解決された所与の属性に基づいて追加内容を決定するステップと、電子装置を介して、ユーザへの提示のために追加内容を提供するステップとを含む。
【００２３】
一部の実装例では、1つまたは複数のプロセッサによって行われる方法が提供され、電子装置のカメラによって取得される少なくとも1つの画像を処理して少なくとも1つの画像内の物体に対する1つまたは複数の属性を解決するステップと、少なくとも1つの画像の処理によって解決される属性によって未定義である物体に対する1つまたは複数の項目を選択するステップと、電子装置または追加の電子装置を介して、ユーザへの提示のためにプロンプトを提供するステップと、プロンプトを提供した後に取得される少なくとも1つの追加画像を受け取るステップと、少なくとも1つの追加画像を処理するための利用可能な画像処理エンジンの部分集合を選択するステップとを含む。部分集合の利用可能な画像処理エンジンは、1つまたは複数の項目の解決と関連付けられることに基づいて選択される。本方法は、利用可能な画像処理エンジンの選択された部分集合への少なくとも1つの追加画像の適用に基づいて1つまたは複数の項目に対する1つまたは複数の追加属性を解決するステップをさらに含む。1つまたは複数の追加属性を解決するステップは、選択された部分集合に含まれない利用可能な画像処理エンジンの残りへの少なくとも1つの追加画像のいかなる適用なしでも起こる。
【００２４】
加えて、一部の実装例は、1つまたは複数のコンピューティング装置の1つまたは複数のプロセッサを含み、ここで1つまたは複数のプロセッサは、関連メモリに記憶される命令を実行するように動作可能であり、かつここで命令は、上述した方法のいずれかの遂行をもたらすように構成される。一部の実装例は、1つまたは複数のプロセッサによって実行可能であって上述した方法のいずれかを行うコンピュータ命令を記憶した1つまたは複数の非一時的コンピュータ可読記憶媒体も含む。
【００２５】
上記の概念および本明細書にさらに詳細に記載される追加の概念の全ての組合せが本明細書に開示される対象の一部であると企図されることが認識されるべきである。例えば、本開示の末尾に載っている特許請求される対象の全ての組合せが本明細書に開示される対象の一部であると企図される。
【図面の簡単な説明】
【００２６】
【図１】本明細書に開示される技法が実装できる環境例のブロック図である。
【図２Ａ】実装例に従って、本明細書に記載される技法がどのように利用できるかの例を示す。
【図２Ｂ】実装例に従って、本明細書に記載される技法がどのように利用できるかの例を示す。
【図３】実装例に従って、本明細書に記載される技法がどのように利用できるかの例を示す。
【図４】実装例に従って、本明細書に記載される技法がどのように利用できるかの例を示す。
【図５Ａ】実装例に従って、本明細書に記載される技法がどのように利用できるかの例を示す。
【図５Ｂ】実装例に従って、本明細書に記載される技法がどのように利用できるかの例を示す。
【図６】実装例に従って、本明細書に記載される技法がどのように利用できるかの例を示す。
【図７】実装例に従って、本明細書に記載される技法がどのように利用できるかの例を示す。
【図８】本明細書に開示される実装例に係る方法例を例示するフローチャートを示す。
【図９】コンピューティング装置のアーキテクチャ例を例示する。
【発明を実施するための形態】
【００２７】
図1は、本明細書に開示される技法が実装できる環境例を例示する。環境例は、複数のクライアント装置1061-Nおよび自動アシスタント120を含む。自動アシスタント120がクライアント装置1061-Nと別個として図1に例示されるが、一部の実装例では、自動アシスタント120の全てまたは諸態様がクライアント装置1061-Nの1つまたは複数によって実装されてよい。例えば、クライアント装置1061が自動アシスタント120の1つまたは複数の態様の1つまたは複数のインスタンスを実装してよく、そしてクライアント装置106Nも自動アシスタント120のそれらの1つまたは複数の態様の別個のインスタンスを実装してよい。自動アシスタント120の1つまたは複数の態様がクライアント装置1061-Nから遠隔の1つまたは複数のコンピューティング装置によって実装される実装例では、クライアント装置1061-Nおよび自動アシスタント120のそれらの態様は、ローカルエリアネットワーク(LAN)および/またはワイドエリアネットワーク(WAN)(例えば、インターネット)などの1つまたは複数のネットワークを介して通信してよい。
【００２８】
クライアント装置1061-Nとしては、例えば、デスクトップコンピューティング装置、ラップトップコンピューティング装置、タブレットコンピューティング装置、移動電話コンピューティング装置、ユーザの車両のコンピューティング装置(例えば、車内通信システム、車内エンターテイメントシステム、車内ナビゲーションシステム)、スタンドアロン対話型スピーカ、スマートカメラ、および/またはコンピューティング装置を含むユーザのウェアラブル機器(例えば、コンピューティング装置を有するユーザの携帯時計、コンピューティング装置を有するユーザの眼鏡、仮想もしくは拡張現実感コンピューティング装置)の1つまたは複数を含んでよい。追加および/または代替のクライアントコンピューティング装置が設けられてよい。
【００２９】
一部の実装例では、所与のユーザが、コンピューティング装置の協調「エコシステム」を集合的に形成する複数のクライアント装置を活用する自動アシスタント120と通信してよい。一部のそのような実装例では、自動アシスタント120は、例えば、「応対される」ユーザによってアクセスが制御されるリソース(例えば、コンテンツ、文書等)への拡張アクセスを自動アシスタント120に与える、その所与のユーザに「応対する」と考えられてよい。しかしながら、簡潔さのために、本明細書に記載される一部の例は、単一のクライアント装置を動作させるユーザに注目することになる。
【００３０】
クライアント装置1061-Nの各々は、複数のメッセージ交換クライアント1071-Nの対応する1つ、および複数のカメラアプリケーション1091-Nの対応する1つなどの、各種の異なるアプリケーションを動作させてよい。各クライアント装置106には、1つもしくは複数のカメラ111(例えば、スマートフォンもしくはタブレットの場合の前面および/もしくは背面カメラ)ならびに/または1つもしくは複数の追加センサ113も搭載されてよい。追加センサ113は、例えば、マイクロホン、温度センサ、重量センサ等を含んでよい。一部の実装例では、追加センサ113のうちの1つまたは複数が、1つもしくは複数の対応するクライアント装置106および/または自動アシスタント120と別個であるが、それと通信状態にある、スタンドアロン周辺装置の一部として提供されてよい。例えば、追加センサの1つ1131は周辺スケールに含めることができ、そしてスケールに置かれる物体の重量を示すセンサデータを生成できる。
【００３１】
メッセージ交換クライアント1071-Nは様々な形態であってよく、そしてその形態はクライアントコンピューティング装置1061-Nにわたって異なってよく、かつ/または複数の形態がクライアントコンピューティング装置1061-Nの単一の1つにおいて動作されてよい。一部の実装例では、メッセージ交換クライアント1071-Nの1つまたは複数が、ショートメッセージサービス(「SMS」)および/またはマルチメディアメッセージサービス(「MMS」)クライアント、オンラインチャットクライアント(例えば、インスタントメッセンジャ、インターネットリレーチャットまたは「IRC」等)、ソーシャルネットワークと関連するメッセージアプリケーション、自動アシスタント120との会話に専用のパーソナルアシスタントメッセージサービス等の形態であってよい。一部の実装例では、メッセージ交換クライアント1071-Nの1つまたは複数が、クライアントコンピューティング装置106のウェブブラウザ(図示せず)または他のアプリケーションによって描画されるウェブページまたは他のリソースを介して実装されてよい。
【００３２】
カメラアプリケーション1091-Nは、ユーザがカメラ1111-Nを制御することを可能にしてよい。例えば、カメラアプリケーション1091-Nの1つまたは複数が、ユーザが対話して1つまたは複数の画像および/またはビデオを取得してよいグラフィカルユーザインタフェースを提供してよい。一部の実装例では、カメラアプリケーション1091-Nは、本明細書に記載されるように自動アシスタント120と対話/インタフェースして、ユーザが、カメラ1111-Nによって取得される画像と関連する要求を解決することを可能にしてよい。他の実装例では、カメラアプリケーション1091-Nの1つまたは複数が、ユーザが、カメラ1111-Nによって取得される画像と関連する要求を解決することを可能にする、自動アシスタント120と別個の、それ自体の内蔵機能性を有してよい。追加的または代替的に、一部の実装例では、メッセージ交換クライアント107またはクライアント装置106にインストールされる任意の他のアプリケーションが、アプリケーションがカメラ111および/または追加センサ113によって取得されるデータにアクセスし、そして本明細書に記載される技法を行うことを可能にする機能性を含んでよい。
【００３３】
カメラ1111-Nは、モノクロカメラ、ステレオカメラおよび/またはサーモグラフィカメラを含むことができる。クライアント装置1061およびクライアント装置106Nが各々単一のカメラのみと共に図1に例示されるが、多くの実装例で、クライアント装置は複数のカメラを含んでよい。例えば、クライアント装置は、前面および背面モノクロカメラを有することができる。また、例えば、クライアント装置は、ステレオカメラおよびサーモグラフィカメラを有することができる。また、例えば、クライアント装置は、モノクロカメラおよびサーモグラフィカメラを有することができる。その上、様々な実装例で、本明細書に記載される技法に活用されるセンサデータが(同じクライアント装置のおよび/または複数のクライアント装置の)複数の異種のカメラからの画像を含むことができる。例えば、モノクロカメラからの画像が初めに活用されて、要求が解決可能でないと判定してよく、そして別個のサーモグラフィカメラからの画像が続いて受け取られ(例えば、プロンプトに応じて)、要求を解決する際に活用されてよい。追加的に、一部の実装例では、3次元レーザスキャナからの点群センサデータなど、他の視覚センサからのセンサデータが活用されてよい。
【００３４】
本明細書により詳細に記載されるように、自動アシスタント120は、1つまたは複数のクライアント装置1061-Nのユーザインタフェース入出力デバイスを介して1人または複数のユーザとのヒューマンコンピュータダイアログセッションに係わる。一部の実装例では、自動アシスタント120は、クライアント装置1061-Nの1つの1つまたは複数のユーザインタフェース入力デバイスを介してユーザによって与えられるユーザインタフェース入力に応じてユーザとのヒューマンコンピュータダイアログセッションに係わってよい。
【００３５】
それらの実装例の一部では、ユーザインタフェース入力は明示的に自動アシスタント120に宛てられる。例えば、メッセージ交換クライアント1071-Nの1つが自動アシスタント120との会話に専用のパーソナルアシスタントメッセージサービスでよく、そしてそのパーソナルアシスタントメッセージサービスを介して与えられるユーザインタフェース入力が自動アシスタント120に自動的に提供されてよい。また、例えば、ユーザインタフェース入力は、自動アシスタント120が呼び出されることになることを示す特定のユーザインタフェース入力に基づいて、メッセージ交換クライアント1071-Nの1つまたは複数において明示的に自動アシスタント120に宛てられてよい。例えば、特定のユーザインタフェース入力は、1つもしくは複数のタイプ文字(例えば、@AutomatedAssistant)、ハードウェアボタンおよび/もしくは仮想ボタンとのユーザ対話(例えば、タップ、ロングタップ)、口頭コマンド(例えば、「おい、自動アシスタント」)、ならびに/または他の特定のユーザインタフェース入力でよい。一部の実装例では、自動アシスタント120は、ユーザインタフェース入力が明示的に自動アシスタント120に宛てられないときでも、そのユーザインタフェース入力に応じてダイアログセッションに係わってよい。例えば、自動アシスタント120は、ユーザインタフェース入力の内容を検査し、そしてユーザインタフェース入力に或る用語が存在することに応じて、および/または他の指示に基づいて、ダイアログセッションに係わってよい。多くの実装例では、自動アシスタント120は、ユーザがコマンド、検索等を発してよいように、対話型音声応答(「IVR」)に係わってよく、そして自動アシスタント120は、自然言語処理および/または1つもしくは複数の文法を活用して発話をテキストへ変換し、それに応じて応答してよい。
【００３６】
クライアントコンピューティング装置1061-Nの各々および自動アシスタント120は、データおよびソフトウェアアプリケーションの記憶のための1つまたは複数のメモリ、データにアクセスし、かつアプリケーションを実行するための1つまたは複数のプロセッサ、ならびにネットワークを通じた通信を容易にする他の部品を含んでよい。クライアントコンピューティング装置1061-Nの1つもしくは複数によっておよび/または自動アシスタント120によって行われる動作は複数のコンピュータシステムにわたって分散されてよい。自動アシスタント120は、例えば、ネットワークを通じて互いに結合される1つまたは複数の場所の1つまたは複数のコンピュータ上で起動するコンピュータプログラムとして実装されてよい。
【００３７】
自動アシスタント120は、図1に示されない他の部品の中で、自然言語プロセッサ122、要求エンジン124、プロンプトエンジン126、および要求解決エンジン130(属性モジュール132を含む)を含んでよい。一部の実装例では、自動アシスタント120のエンジンおよび/またはモジュールの1つまたは複数が省略、結合、および/または自動アシスタント120と別個である部品に実装されてよい。一部の実装例では、自動アシスタント120は、自動アシスタント120とのヒューマンコンピュータダイアログセッション中のクライアント装置1061-Nからの様々な入力に応じて応答内容を生成する。自動アシスタント120は、ダイアログセッションの一部としてユーザへの提示のために応答内容を(例えば、ユーザのクライアント装置と別個のときは1つまたは複数のネットワークを通じて)提供する。例えば、自動アシスタント120は、クライアント装置1061-Nの1つを介して与えられる自由形式自然言語入力に応じて、カメラ111のうちの1つによって取得される画像に応じて、かつ/または追加センサ113のうちの1つもしくは複数によって取得される追加センサデータに応じて応答内容を生成してよい。本明細書で使用されるように、自由形式入力は、ユーザによって作成され、かつユーザによる選択のために提示される一群のオプションに制約されない入力である。
【００３８】
本明細書で使用されるように、「ダイアログセッション」は、ユーザと自動アシスタント120(と一部の場合には、ダイアログにおける他の人間の参加者)との間の1つまたは複数のメッセージの論理的に独立した交換を含んでよい。自動アシスタント120は、セッション間の時間の経過、セッション間のユーザコンテキスト(例えば、場所、予定された会議前/中/後、等)の変化、ユーザと自動アシスタントとの間のダイアログ以外のユーザとクライアント装置との間の1つまたは複数の介在作用の検出(例えば、ユーザがしばらくの間アプリケーションを切り替える、ユーザがスタンドアロン音声作動型製品から歩き去り、その後戻ってくる)、セッション間のクライアント装置のロック/スリープ、自動アシスタント120の1つまたは複数のインスタンスとインタフェースするために使用されるクライアント装置の変更等などの、様々な信号に基づいてユーザとの複数のダイアログセッション間を区別してよい。
【００３９】
一部の実装例では、自動アシスタント120がユーザインタフェース入力(例えば、口頭入力および/またはタイプ入力)の形態のユーザフィードバックを要請するプロンプトを提供するとき、自動アシスタント120は、プロンプトに応じて受け取られることになるユーザインタフェース入力を処理するように構成される、クライアント装置(プロンプトが提供される際に介する)の1つまたは複数の部品を事前に作動させてよい。例えば、ユーザインタフェース入力がクライアント装置1061のマイクロホンを介して与えられることになる場合、自動アシスタント120は、1つまたは複数のコマンドを提供して、マイクロホンが事前に「開かれる」(それによってインタフェース要素を打ってもしくは「ホットワード」を話してマイクロホンを開く必要を阻止する)、クライアント装置1061のローカル音声テキストプロセッサが事前に作動される、クライアント装置1061とリモート音声テキストプロセッサ(例えば、自動アシスタント120のリモートに設けられる音声テキストプロセッサ)との間の通信セッションが事前に確立される、かつ/またはグラフィカルユーザインタフェースがクライアント装置1061に描画される(例えば、フィードバックを与えるために選択されてよい1つもしくは複数の選択可能要素を含むインタフェース)ようにしてよい。これは、部品が事前に作動されない場合よりも、ユーザインタフェース入力が迅速に与えられるおよび/または処理されることを可能にしてよい。
【００４０】
自動アシスタント120の自然言語プロセッサ122は、クライアント装置1061-Nを介してユーザによって生成される自然言語入力を処理し、そして要求エンジン124、プロンプトエンジン126および/または要求解決エンジン130など、自動アシスタント120の1つまたは複数の他の部品による使用のためのアノテーション付き出力を生成してよい。例えば、自然言語プロセッサ122は、クライアント装置1061の1つまたは複数のユーザインタフェース入力デバイスを介してユーザによって生成される自然言語自由形式入力を処理してよい。生成されるアノテーション付き出力は、自然言語入力の1つまたは複数のアノテーションおよび任意選択で自然言語入力の用語の1つまたは複数(例えば、全て)を含む。一部の実装例では、自然言語プロセッサ122は、音声(口頭)自然言語入力を処理するように構成される音声処理モジュールを含む。自然言語プロセッサ122は次いで、処理された音声入力に作用できる(例えば、処理された音声入力から導出されるテキストに基づいて)。例えば、音声処理モジュールは、ストリーミングオーディオ録音の形態の自由形式自然言語音声入力を受け取り、そして1つまたは複数の音声テキストモデルを活用してその音声入力をテキストへ変換する音声テキストモジュールでもよい。例えば、クライアント装置は、ユーザが話している間にクライアント装置のマイクロホンから受け取られる信号に応じてストリーミングオーディオ録音を生成でき、そして音声テキストモジュールによる処理のためにストリーミングオーディオ録音を自動アシスタントに送信できる。
【００４１】
一部の実装例では、自然言語プロセッサ122は、自然言語入力における様々な種類の文法情報を識別およびアノテーション付けするように構成される。例えば、自然言語プロセッサ122は、用語にそれらの文法的役割をアノテーション付けするように構成される品詞タガーを含んでよい。例えば、品詞タガーは各用語に、「名詞」、「動詞」、「形容詞」、「代名詞」等などのその品詞をタグ付けしてよい。また、例えば、一部の実装例では、自然言語プロセッサ122は、自然言語入力における用語間の統語関係を決定するように構成される依存パーサ(図示せず)を追加的および/または代替的に含んでよい。例えば、依存パーサは、どの用語が文等(例えば、解析木)の他の用語、主語および動詞を修飾するかを判定してよく-そしてそのような依存のアノテーションを作ってよい。
【００４２】
一部の実装例では、自然言語プロセッサ122は、人々(例えば、文学上の人物、著名人、公人等を含む)、組織、場所(実在および仮想)等の参照など、1つまたは複数の区分における実体参照にアノテーション付けするように構成される実体タガー(図示せず)を追加的および/または代替的に含んでよい。一部の実装例では、実体についてのデータが、知識グラフ(図示せず)になど、1つまたは複数のデータベースに記憶されてよい。一部の実装例では、知識グラフは、既知の実体(および一部の場合には、実体属性)を表すノードの他に、ノードを接続しかつ実体間の関係を表すエッジを含んでよい。例えば、「バナナ」ノードが「果物」ノードに接続されてよく(例えば、子として)、次いで「果物」ノードは「農産物」および/または「食物」ノードに接続されてよい(例えば、子として)。別の例として、「仮定のカフェ」と呼ばれる飲食店が、その住所、出される食物の種類、営業時間、連絡先情報等などの属性も含むノードによって表されてよい。「仮定のカフェ」ノードは、一部の実装例では、「飲食店」ノード、「事業」ノード、飲食店が設けられる都市および/または州を表すノード等などの1つまたは複数の他のノードにエッジ(例えば、親子関係を表す)によって接続されてよい。
【００４３】
自然言語プロセッサ122の実体タガーは、高レベルの粒度(例えば、人々などの実体クラスの全ての参照の特定を可能にする)および/または低レベルの粒度(例えば、特定の人物などの特定の実体の全ての参照の特定を可能にする)で実体の参照にアノテーション付けしてよい。実体タガーは、自然言語入力の内容に依存して特定の実体を解決してよく、かつ/または任意選択で知識グラフもしくは他の実体データベースと通信して特定の実体を解決してよい。
【００４４】
一部の実装例では、自然言語プロセッサ122は、1つまたは複数のコンテキスト指示に基づいて同じ実体の参照をグループ化または「クラスタリング」するように構成される共参照解析器(図示せず)を追加的および/または代替的に含んでよい。例えば、共参照解析器が活用されて、自然言語入力「私は、前回私達がそこで食事をした仮定のカフェが好きだった」において用語「そこで」を「仮定のカフェ」に解決してよい。
【００４５】
一部の実装例では、自然言語プロセッサ122の1つまたは複数の部品が自然言語プロセッサ122の1つまたは複数の他の部品からのアノテーションに依存してよい。例えば、一部の実装例では、固有表現タガーは、特定の実体への全ての言及にアノテーション付けする際に共参照解析器および/または依存パーサからのアノテーションに依存してよい。また、例えば、一部の実装例では、共参照解析器は、同じ実体の参照をクラスタリングする際に依存パーサからのアノテーションに依存してよい。一部の実装例では、特定の自然言語入力を処理する際に、自然言語プロセッサ122の1つまたは複数の部品が、特定の自然言語入力以外で関連した先行の入力および/または他の関連データを使用して1つまたは複数のアノテーションを決定してよい。
【００４６】
要求エンジン124は、1つまたは複数の信号を活用して、要求と関連するクライアント装置の環境内の物体に関連した要求がいつあるかを判定する。例えば、要求エンジン124は、クライアント装置1061を介して与えられる自然言語入力、カメラ1111によって取得される画像、追加センサ1131からの追加センサデータ、ならびに/またはクライアント装置1061の検出場所および/もしくは他のコンテキスト属性に基づいて、クライアント装置1061の環境内の物体に関連した要求を決定できる。
【００４７】
1つの例として、要求エンジン124は、クライアント装置1061を介してユーザによって与えられる自然言語入力(例えば、口頭音声入力)に基づいて、そのような要求を決定できる。例えば、要求エンジン124は、自然言語プロセッサ122からのアノテーションに依存して、「これは何か」、「これはどこで買えるのか」、「これはいくらするのか」、「この物はどれくらいの重さか」、「それについてもっと教えて」等という発話など、或る発話が環境内の物体に関連する可能性があると判定できる。一部の実装例では、要求エンジン124は、先行の自然言語入力における先行詞に(例えば、自然言語プロセッサ122によって)共参照解決できない代用形(例えば、「これ」、「この物」、「それ」、「それ」などの曖昧な代名詞)を含む発話に基づいて、そのような要求を決定できる。言い換えれば、要求エンジン124は、先行の自然言語入力の先行詞に解決不可能である代用形を参照する要求のため、発話が環境物体に関連すると仮定できる。一部の実装例では、要求エンジン124は、発話が環境物体に関連するとの判定に応じて、画像および/または他のセンサデータがクライアント装置1061によって取得されるようにすることができる。例えば、要求エンジン124は、カメラ1111および/またはカメラアプリケーション1091に1つまたは複数のコマンドを提供して、1つまたは複数の画像が取得されるようにすることができる。それらの実装例の一部では、要求エンジン124は、クライアント装置1061のユーザが「画像取得」インタフェース要素を選択する、言葉による「画像を取得」コマンドを与える、および/またはその他クライアント装置1061と物理的に対話して画像が取得されるようにすることを必要とすることなく、画像が取得されるようにすることができる。一部の実装例では、画像の取得に先立ち、ユーザからの確認を必要とすることができる。例えば、要求エンジン124は、「あなたの要求に答えるために画像を取得する必要がある」というユーザインタフェース出力が提供されるように、そして肯定的なユーザ応答(例えば、「オーケー」)に応じてのみ画像が取得されるようにすることができる。
【００４８】
別の例として、要求エンジン124は、クライアント装置1061を介して画像、録音および/または他のセンサデータが取得されることに基づいて、そのような要求を追加的または代替的に決定できる。例えば、要求エンジン124は、カメラ1111を介する少なくとも1つの画像の取得と併せて(例えば、少なくとも1つの画像の取得の直前、直後および/または最中に)発話が与えられることに基づいて、そのような要求を決定できる。例えば、ユーザインタフェース入力に応じてカメラ1111を介して画像を取得したX秒以内の「これは何か」という発話。画像は、クライアント装置1061のアシスタントアプリケーション(例えば、専ら自動アシスタント120との対話に充てられるアプリケーション)との関連で、またはカメラアプリケーション、チャットアプリケーション等など、クライアント装置1061の別のアプリケーションとの関連で、カメラ1111を介して取得できる。したがって、一部の実装例では、要求エンジン124は、複数の異種のアプリケーションのいずれかから取得される画像および/または発話に基づいて、そのような要求を決定できる。また、例えば、要求エンジン124は、センサデータが取得されることに基づいて、そのような要求を決定でき、そしていかなる発話からも独立して、そのような要求を決定できる。例えば、要求エンジン124は、或るコンテキストで(例えば、クライアント装置1061の場所データが、ユーザが小売場所にいることを示すときに)ユーザが画像を取得することに基づいて、そのような要求を決定できる。さらに別の例として、要求エンジン124は、追加センサ1131のマイクロホンを介して録音が取得されるようにユーザがすることに応じて、そのような要求を決定できる。例えば、ユーザは、オーディオ録音が取得されるようにし、ここでオーディオ録音がユーザの掃除機によって立てられている音を取得しており、次いで「掃除機はなぜこんな音を立てているのか」という発話を与えることができる。
【００４９】
別の例として、要求エンジン124は、ユーザによって選択されるインタフェース要素に基づいて、ならびに/または画像および/もしくは他のセンサデータが特定のインタフェースを介して取得されることに基づいて、そのような要求を追加的または代替的に決定できる。例えば、カメラアプリケーション1091を介して画像を取得した後に、「もっと知る」というグラフィカルインタフェース要素がカメラアプリケーション1091を介して提案として提示でき(例えば、自動アシスタント120からの出力に基づいて)、そしてグラフィカルインタフェース要素の選択が要求エンジン124によって、画像によって捉えられる物体についての追加情報の要求と解釈できる。また、例えば、ユーザがメッセージ交換クライアント1071および/または特に自動アシスタント120に合わせて修正された他のアプリケーション(例えば、専ら自動アシスタント120との対話に充てられるクライアントアプリケーション)を活用して画像および/または他のセンサデータを取得すれば、そのような取得は要求エンジン124によって、センサデータによって捉えられる物体に関連した要求と解釈できる。
【００５０】
要求と関連するクライアント装置の環境内の物体に関連した要求がある(例えば、要求エンジン124によって判定される)と、要求解決エンジン130は要求を解決しようと試みる。要求を解決しようと試みる際に、要求解決エンジン130は、要求と関連する自然言語入力(もしあれば)、要求と関連する画像および/もしくは他のセンサデータ、ならびに/または他の内容を活用できる。本明細書により詳細に記載されるように、要求解決エンジン130は、要求が解決可能であるかどうかを判定する際に1つもしくは複数のエージェント146、画像処理エンジン142および/または追加処理エンジン144とインタフェースできる。
【００５１】
要求解決エンジン130が要求を解決可能であると判定すれば、要求解決エンジン130は、要求を解決する際に1つまたは複数のエージェント146と対話できる。エージェント146は、自動アシスタント120を制御する同じ当事者によって制御される1つもしくは複数のいわゆる当事者(1P)エージェントを含むことができ、かつ/または別個の当事者によって制御される1つもしくは複数のいわゆる第三者(3P)エージェントを含むことができる。1つの例として、エージェント146は検索システム(1P検索システムまたは3P検索システム)を含むことができ、そして要求解決エンジン130は、検索システムに検索を提出し、応答内容(例えば、単一の「答え」)を受け取り、そしてクライアント装置1061を介する提示のために応答内容を提供することによって要求を解決できる。
【００５２】
要求解決エンジン130が要求を解決可能でないと判定すれば、要求解決エンジン130は、プロンプトエンジン126がクライアント装置1061を介する提示のために提供する1つまたは複数のプロンプトを決定するようにすることができる。プロンプトエンジン126によって決定されるプロンプトは、ユーザに物体に対する追加センサデータ(例えば、画像、オーディオ、温度センサデータ、重量センサデータ)を取得するかつ/または物体(および/もしくは他の物体)を動かして物体に対する追加センサデータの取得を可能にするように命令できる。プロンプトは、ユーザに、物体の未解決の属性を対象とするユーザインタフェース入力を与えるように追加的または代替的に要請できる。
【００５３】
要求解決エンジン130は次いで、プロンプトに応じて受け取られる追加センサデータおよび/またはユーザインタフェース入力を活用して、再び要求を解決しようと試みることができる。要求が依然として解決可能でなければ、要求解決エンジン130は、プロンプトエンジン126がクライアント装置1061を介する提示のために提供する1つまたは複数の追加プロンプトを決定するようにすることができる。そのような追加プロンプトに応じて受け取られる追加センサデータおよび/またはユーザインタフェース入力が次いで活用されて、再び要求を解決しようと試みることができる。これは、要求が解決される、閾値数のプロンプトに達する、閾値時限が経過するまで、および/または1つもしくは複数の他の基準が達成されるまで継続できる。
【００５４】
要求解決エンジン130は、要求によって示される物体に対する様々な属性を決定する属性モジュール132を任意選択で含む。本明細書に記載されるように、属性は、要求が解決可能であるかどうかを判定する際に、および/または要求が解決可能でないと判定されると提供するプロンプトを決定する際に活用できる。属性モジュール132は、様々な属性を決定する際に画像処理エンジン142および/または追加処理エンジン144とインタフェースできる。例えば、属性モジュール132は、画像処理エンジン142のうちの1つまたは複数に取得画像を提供できる。画像処理エンジン142は、そのような画像に画像処理を行い、そしてそれに応じて、取得画像に基づいて解決可能である属性(もしあれば)を提供できる。また、例えば、属性モジュール132は、追加処理エンジン144のうちの1つまたは複数に他の取得センサデータを提供できる。追加処理エンジン144は、そのような画像に処理を行い、そしてそれに応じて、取得センサデータに基づいて解決可能である属性(もしあれば)を提供できる。例えば、追加処理エンジン144のうちの1つが、音声データを処理して、音声データに存在する実体(例えば、音声データにおける音の発生源である特定の物体)など、音声データの1つまたは複数の属性、ならびに/または音声データの他の属性(例えば、音声データにおける「ビープ音」の数および/もしくは周波数)を決定するように構成されてよい。
【００５５】
一部の実装例では、要求解決エンジン130は、属性モジュール132によって解決される属性(もしあれば)が目標特異度で物体を定義することができないとの判定に基づいて、要求が解決可能でないと判定する。一部の実装例では、物体に対する目標特異度は分類学における物体の目標分類度であることができる。例えば、車の目標分類度は、車の型およびモデルを定義するレベルの、または車の型、モデルおよび年式を定義するレベルの分類であることができる。そのような目標分類度は、任意選択でリソースデータベース148に記憶でき、かつそれからアクセスできる。一部の実装例では、物体に対する目標特異度は1つまたは複数の定義されるべき項目に関して定義でき、ここで物体に対する項目は物体の分類(一般的または具体的)に依存していることができる。例えば、ワインのボトルに対して、項目は特定のブランド、ワインタイプおよび/またはヴィンテージに対して定義でき、そして目標特異度はそれらの項目の全てに対する属性の解決である。物体の分類に対するそのような定義されるべき項目は、任意選択でリソースデータベース148に記憶でき、かつそれからアクセスできる。一部の実装例では、目標特異度は、ユーザによって与えられる初期自然言語入力、ユーザによって与えられるフィードバック、ユーザおよび/もしくは他のユーザの対話履歴、ならびに/または場所および/もしくは他のコンテキスト信号に基づいて決定できる。
【００５６】
一部の実装例では、プロンプトエンジン126は、環境物体に関連した要求の解決を可能にするであろうさらなる入力の指針を提供するプロンプトを決定する。それらの実装例の一部では、プロンプトは、属性モジュール132によって解決された物体に対する1つまたは複数の属性に基づいて決定される。例えば、取得画像に基づいて画像処理エンジン142のうちの1つによって解決される分類属性など、環境物体に対する分類属性が属性モジュール132によって決定できる。例えば、プロンプトエンジン126は、「車」分類に特化される車分類に対するプロンプト(例えば、「車の後部の写真を撮って」)を決定できる。また、例えば、プロンプトエンジン126は、「ジャケット」分類に特化される「ジャケット」分類に対するプロンプト(例えば、「ロゴの写真を撮って」)を決定できる。また、例えば、一部の実装例では、分類属性は1つまたは複数の定義されるべき項目と関連付けできる。それらの状況の一部では、プロンプトは、属性モジュール132によって既に決定された属性(もしあれば)によって定義されていない項目に基づいて生成できる。例えば、ワインのボトルに対するヴィンテージ項目がまだ定義されていなければ、プロンプトは「年代の写真を撮って」または「年代はどれくらい?」であることができる。
【００５７】
図1の様々な部品の追加説明が、ここで図2A〜図8の例を参照しつつ提供される。図1の部品の一部が図2A〜図8に示されないが、それらは、様々な部品の機能性の或る例を記載する際に以下の考察で参照される。
【００５８】
図2Aおよび図2Bは、本明細書に記載される実装例に従ってクライアント装置1061上で、かつ/またはそれと併せて動作する自動アシスタント(図1における120)のインスタンスとユーザ(図示せず)がどのように対話できるかの一例を例示する。クライアント装置1061は、タッチスクリーン160ならびに少なくとも1つのカメラ1111(前面および/もしくは背面)を含むスマートフォンまたはタブレットコンピュータの形態をとる。タッチスクリーン160に描画されるのが、カメラ1111によって取得されるセンサデータを、例えば、リアルタイムに描画するカメラ機能性(例えば、図1におけるカメラアプリケーション109および/または電子ビューファインダを含む他のアプリケーション)と関連するグラフィカルユーザインタフェースである。グラフィカルユーザインタフェースは、ユーザ入力フィールド164、およびカメラ1111の動作を制御するように動作可能でよい1つまたは複数のグラフィカル要素1661、2を含む。例えば、第1のグラフィカル要素1661は、前面および背面カメラ間を切り替えるように動作可能でよく、そして第2のグラフィカル要素1662は、カメラ1111を使用して画像(または設定に応じてビデオ(複数の画像を連続して取得する))を取得するように動作可能でよい。図2Aおよび図2Bに示されない他のグラフィカル要素は、カメラ設定を変更する、画像取得およびビデオ取得モード間を切り替える、様々な効果を追加する等などの、他の作用を行うように動作可能でよい。
【００５９】
ユーザ入力フィールド164は、自動アシスタント120に提供できる自由形式自然言語入力などの、様々な入力を与えるようにユーザによって操作可能でよい。自由形式自然言語入力は、タイプユーザインタフェース入力(例えば、図示されない仮想キーボードを介する)であることができる、および/またはユーザによって与えられる音声入力(例えば、右側のマイクロホンアイコンをクリックする、もしくは「ホットワード」を話すことによる)であることができる。例えば、自動アシスタント120の態様がクライアント装置1061から遠隔で実装され、かつユーザ入力フィールド164を介して音声入力が与えられる場合、音声入力のストリーミングバージョンが自動アシスタント120に1つまたは複数のネットワークを通じて送信されてよい。様々な実装例で、ユーザ入力フィールド164を介して与えられる音声入力は、例えば、クライアント装置1061においておよび/または遠隔で(例えば、自動アシスタント120の1つもしくは複数のクラウドベースの部品において)テキストに変換されてよい。
【００６０】
図2Aにおけるカメラ1111はその視界にワインのボトル261を捉えた。結果的に、ワインのボトル261の描画261Aが上述の電子ビューファインダの一部としてタッチスクリーン160に現れる。様々な実装例で、ユーザは、例えば、ユーザ入力フィールド164内をタップすることによってまたは「おい、自動アシスタント」などの呼出しフレーズを話すことによって、自動アシスタント120を呼び出してよい。一旦自動アシスタント120が呼び出されると、ユーザは、「これはいくらする?」という自然言語入力を話すまたはタイプする。追加的または代替的に、ユーザは、自動アシスタント120を呼び出しかつ自然言語入力も提供する単一の自然言語入力(例えば、「おい、自動アシスタント、これはいくらする?」)を与えてよい。一部の実装例では、カメラアプリケーションがクライアント装置上でアクティブなときはいつでも、自動アシスタント120は自動的に呼び出されてよい、またはそれ以外の場合には自動アシスタント120を呼び出さない異なる呼出しフレーズに応じて呼び出されてよい。例えば、一部の実装例では、カメラアプリケーション109がアクティブであるとき(すなわち、ユーザによって対話されている、グラフィカルユーザインタフェースとして提示されている等)、自動アシスタント120は呼び出されてよい。
【００６１】
自動アシスタント120の要求エンジン124は、「これはいくらするのか」という自然言語入力がクライアント装置1061の環境内の物体に関連すると判定できる。一部の実装例では、要求エンジン124は、そのような判定に応じて環境の画像が取得されるようにすることができる(例えば、図2Aの描画261Aを取得する画像)。一部の他の実装例では、ユーザは、画像が取得されるようにし(例えば、第2のグラフィカル要素1662の選択を通じて)、そして画像の取得と併せて(例えば、直前、最中または直後に)自然言語入力を与えてよい。それらの実装例の一部では、要求エンジン124は、自然言語入力にもユーザによる画像の取得にも基づいて、要求が環境内の物体に関連すると判定できる。
【００６２】
要求エンジン124は、要求解決エンジン130に要求の指示を提供する。要求解決エンジン130は、自然言語入力および取得画像を使用して要求を解決しようと試みる。例えば、要求解決エンジン130は、画像処理エンジン142のうちの1つまたは複数に取得画像を提供できる。画像処理エンジン142は、取得画像を処理して「ワインボトル」の分類属性を決定し、そして要求解決エンジン130に分類属性を返すことができる。要求解決エンジン130は、要求が「コスト」行動に対するとさらに判定できる(例えば、「これはいくらする?」に基づいている、自然言語プロセッサ122によって提供される出力に基づいて)。さらに、「ワインボトル」である物体に対する「コスト」行動に対して、要求解決エンジン130は、要求を解決するために、ブランド、ワインタイプおよびヴィンテージの項目に対して属性が解決される必要があると判定できる。例えば、要求解決エンジン130は、リソースデータベース148で「ワインボトル」分類に対する「コスト」行動に対する定義項目を調べることに基づいて、それらの項目を決定できる。また、例えば、要求解決エンジン130は、エージェント146のうちの、要求を扱えるエージェント(例えば、「ワインコスト」エージェント、より一般的な「酒類コスト」エージェントまたはさらに一般的な「検索システム」エージェント)によってどんな項目が必要とされるとして示されるかに基づいて、それらの項目を決定できる。例えば、エージェントは、「ワインコスト」意図と関連付けでき、そしてその「ワインコスト」意図に対する「ブランド」、「ワインタイプ」および「ヴィンテージ」の必須のスロット/項目を定義してよい。
【００６３】
要求解決エンジン130は、与えられた自然言語入力および取得画像の画像処理に基づいて要求を解決することができないとさらに判定できる。例えば、要求解決エンジン130は、ブランド、ワインタイプおよびヴィンテージが解決可能でないと判定できる。例えば、それらは自然言語入力から解決可能でなく、そして画像処理エンジン142は、「ワインボトル」分類属性のみを提供したかもしれない(例えば、それらは、例えば、図2Aの描画261Aに対応する取得画像においてラベルが見えないためにより詳細な属性を解決することができなかった)。
【００６４】
要求が解決不可能であることに基づいて、プロンプトエンジン126は、「ラベルの写真を撮ってくれますか?」というプロンプト272Aを決定および提供する。プロンプト272Aは可聴プロンプト(例えば、クライアント装置1061のスピーカを介して提供される)として図2Aに例示される。しかしながら、他の実装例では、グラフィカルプロンプトが追加的および/または代替的に提供されてよい。可聴プロンプトが提供されるとき、テキスト音声プロセッサモジュールが任意選択で活用されてテキストプロンプトを可聴プロンプトに変換できる。例えば、プロンプトエンジン126は、テキスト音声プロセッサを含み、テキストプロンプトをオーディオ形式(例えば、ストリーミングオーディオ)に変換し、そしてクライアント装置1061のスピーカを介する可聴提示のためにクライアント装置1061にオーディオ形式を提供できる。プロンプトエンジン126は、要求解決エンジン130によって決定される「ワインボトル」分類属性に基づいて、かつ/またはブランド、ワインタイプおよびヴィンテージ項目が要求解決エンジン130によって未解決であることに基づいて、プロンプト272Aを決定できる。例えば、リソースデータベース148は、「ワインボトル」分類に対してならびに/またはブランド、ワインタイプおよび/もしくはヴィンテージの未解決の項目に対して、プロンプト272Aなどのプロンプトが提供されるべきであると定義してよい(例えば、そのプロンプト(またはその部分)が「ワインボトル」分類および/または未解決の項目と関連付けて記憶されてよい)。
【００６５】
図2Bにおいて、カメラ1111によって追加画像が取得され、ここで追加画像はワインのボトル261のラベルを捉える。例えば、追加画像は、図2Bの電子ビューファインダに図示されるワインのボトル261の描画261Bに一致する画像を捉えることができる。そのような画像を取得するために、ユーザは、ワインのボトル261の位置を変える(例えば、ラベルが見えるようにそれを回す、かつ/もしくはそれをカメラ1111に近づける)ことができ、カメラ1111の位置を変えることができ、かつ/またはカメラ1111のズーム(ハードウェアおよび/もしくはソフトウェア)ならびに/または他の特性を調節できる(例えば、タッチスクリーン160上での「ピンチアウト」ジェスチャを介して)。一部の実装例では、追加画像は、ユーザによる第2のグラフィカル要素1662の選択に応じて図2Bにおいて取得できる。一部の他の実装例では、追加画像は自動的に取得できる。
【００６６】
要求解決エンジン130は、追加画像を活用して物体の追加属性を決定する。例えば、要求解決エンジン130は、画像処理エンジン142のうちの1つまたは複数に取得された追加画像を提供できる。画像処理に基づいて、画像処理エンジン142のうちの1つまたは複数が「仮定のヴィンヤード」、「メルロー」および「2014」というテキスト属性を決定し(例えば、OCRを使用して)、そして要求解決エンジン130にそのようなテキストを返せる。追加的または代替的に、画像処理エンジン142のうちの1つまたは複数が、仮定のヴィンヤードの2014メルローを詳細に識別する詳細な分類を提供できる。本明細書に記載されるように、一部の実装例では、要求解決エンジン130は、プロンプトに応じて取得されるセンサデータ(例えば、画像)に対して、そのようなセンサデータに基づいて追加属性を決定するための利用可能な画像処理エンジンの部分集合のみを呼び出してよい。例えば、要求解決エンジン130は、OCRを活用して属性が導出されることになる後続の画像に帰着するようにプロンプト272A(図2A)が修正されていることに基づいて、エンジン142のうちのOCR画像処理エンジンのみに追加画像を提供してよい。また、例えば、要求解決エンジン130は、一般分類が既に解決されていることに基づいて、エンジン142のうちの、一般分類エンジンに追加画像を提供しなくてよい。それらの実装例の一部では、これは、様々な計算リソースを節約してよい。これは、例えば、画像処理エンジン142のうちの1つまたは複数がクライアント装置1061に実装されるときに特に有益でよい。
【００６７】
要求解決エンジン130は次いで、要求が追加属性に基づいて解決可能であると判定できる。例えば、要求解決エンジン130は、エージェント146のうちの1つに、自然言語入力および追加属性に基づいているエージェントクエリを提出できる。例えば、要求解決エンジン130は、「ヴィンヤードAカベルネソーヴィニヨン2012のコスト」というエージェントクエリおよび/または{intent= "wine_cost"; brand="vineyard a"; type="merlot"; vintage="2012"}などの構造化エージェントクエリを提出できる。エージェントクエリに応じてエージェントから追加内容を受け取ることができ、そして追加内容の少なくとも一部がユーザへの提示のために提供できる。例えば、図2Bの出力272Bが追加内容に基づいて提示できる。出力272Bは価格帯を特定し、そしてまた、ユーザがワインのボトルを購入できるリンク先をユーザが見たいかどうかを尋ねる。ユーザが出力272Bに肯定的に応答すれば(例えば、「はい」というさらなる音声入力)、購入のためのリンクが図2Bのインタフェースおよび/または別個のインタフェースを介して表示されてよい。価格帯およびリンクは両方とも、エージェントクエリに応じて受け取られる追加内容に基づいてよい。出力272Bは、可聴出力(例えば、クライアント装置1061のスピーカを介して提供される)として図2Bに例示される。しかしながら、他の実装例では、グラフィカル出力が追加的および/または代替的に提供されてよい。
【００６８】
図3は、本明細書に記載される実装例に従ってクライアント装置1061上で、かつ/またはそれと併せて動作する自動アシスタント(図1における120、図2に図示せず)のインスタンスとユーザ(図示せず)がどのように対話できるかの別の例を例示する。図3は図2Aと類似しており、そして同様の番号は同様の部品を指す。図3において、カメラ1111はその視界にワインのボトル261を捉えた、そして取得画像およびワインのボトル261の描画261Aは図2Aにおけるそれと同じである。
【００６９】
しかしながら、図3においてユーザが「これの写真をボブにテキストで伝えて」という自然言語入力を与えた一方、ユーザは代わりに「これはいくらするのか」という図2Aにおける自然言語入力を与えた。
【００７０】
自動アシスタント120の要求エンジン124は、「これの写真をボブにテキストで伝えて」という自然言語入力がクライアント装置1061の環境内の物体に関連すると判定できる。一部の実装例では、要求エンジン124は、そのような判定に応じて環境の画像が取得されるようにすることができる(例えば、図3の描画261Aを取得する画像)。一部の他の実装例では、ユーザは、画像が取得されるようにし(例えば、第2のグラフィカル要素1662の選択を通じて)、そして画像の取得と併せて(例えば、直前、最中または直後に)自然言語入力を与えてよい。
【００７１】
要求エンジン124は、要求解決エンジン130に要求の指示を提供する。要求解決エンジン130は、自然言語入力および取得画像を使用して要求を解決しようと試みる。図3の状況では、要求解決エンジン130は、要求(写真をボブに送ること)が画像自体に基づいて解決できると判定する。結果として、要求解決エンジン130は、ユーザに追加画像を撮る(もしくはその他ワインのボトルに関連した追加情報を提供する)ように促すことなく、かつ/または画像処理エンジン142による処理のために画像を提供することなく、要求を解決することができる。例えば、要求解決エンジン130は、単に「ボブ」という名前のユーザの連絡先に写真をテキストで伝えることによって要求を解決できる。要求解決エンジン130は、「送りました」という出力372Aを任意選択で提供して、要求が解決されたことをユーザに通知できる。
【００７２】
したがって、図3は、追加物体属性の決定を可能にするように修正されるプロンプトが、要求が初期センサデータおよび/または初期ユーザインタフェース入力に基づいて解決可能でないと判定されるときにのみ、任意選択でどのように提供できるかの一例を提供する。図3において、ユーザが代わりに「このワインの名前をボブにテキストで伝えて」という自然言語入力を与えたならば、(ワインの名前はおそらく図3の描画261Aに一致する画像に基づいて解決可能でないので)プロンプトが提供されるであろうことが留意される。
【００７３】
したがって、これらおよび他の方式では、そのようなプロンプトが提供されるかどうかは、要求が解決可能であるかどうかに基づいており、これは次いで要求の特異度に基づいている。例えば、「これの写真をボブにテキストで伝えて」が画像内の物体のいずれの属性も知られていることを必要としない一方、「このワインの名前をボブにテキストで伝えて」は、ワインボトルの名前が知られていることを必要とする。一部の実装例では、特異度が、要求と共に与えられる自然言語入力に加えて、またはその代わりに他の要因に基づいてよいことも留意される。例えば、一部の実装例では、自然言語入力は取得画像(または他の取得されたセンサデータ)と併せて与えられなくてよい。それらの実装例では、特異度は、クライアント装置1061の場所に基づいてよく、画像の解決された属性に基づいても、および/または他の要因に基づいてもよい。例えば、ユーザが小売場所(例えば、食料品店)で物体の画像を取得すれば、「コスト比較」または高特異度の類似の要求が推定できる。他方では、ユーザが公園または他の非小売場所で物体の画像を取得すれば、要求は推定できない(例えば、画像は記憶できるだけである)または低(もしくは無)特異度の要求が推定できる。
【００７４】
図4は、本明細書に記載される実装例に従ってクライアント装置1061上で、かつ/またはそれと併せて動作する自動アシスタント(図1における120、図2に図示せず)のインスタンスとユーザ(図示せず)がどのように対話できるかの別の例を例示する。図4のインタフェースは図2A、図2Bおよび図3のそれと類似しており、そして同様の番号は同様の部品を指す。図4において、カメラ1111はその視界にワインのボトル261を捉えた。取得画像およびワインのボトル261の描画261Cは描画261A(図2A、図3)および261B(図2B)と異なる。描画261Cはワインのボトル261のラベルの大部分を捉えるが、「ヴィンヤード」の一部を欠き、かつ「2014」における「4」を欠く。
【００７５】
図4において、ユーザは「これを1ケース注文して」という自然言語入力を与えた。要求エンジン124は、自然言語入力がクライアント装置1061の環境内の物体に関連した要求であると判定し、そして要求解決エンジン130に要求の指示を提供できる。
【００７６】
要求解決エンジン130は、自然言語入力および取得画像を使用して要求を解決しようと試みる。例えば、要求解決エンジン130は、画像処理エンジン142のうちの1つまたは複数に取得画像を提供できる。画像処理に基づいて、画像処理エンジン142は、「ワインボトル」の分類属性、「仮定のヴィンヤード」のブランド属性(例えば、観測可能な「仮定の」および観測可能な「ヴィン」に基づく)、ならびに「メルロー」のタイプ属性を決定できる。しかしながら、要求解決エンジン130は、必要とされる「ヴィンテージ」項目に対する属性が解決可能でない(例えば、特定の年代を十分高い信頼で解決できない)と判定できる。「ヴィンテージ」項目が解決不可能であり、かつ「1ケース注文する」要求に対して必要とされる結果として、プロンプトエンジン126は、「分かりました、仮定のヴィンヤードのメルローのヴィンテージはどうしますか?」というプロンプト472Aを決定および提供する。プロンプト472Aは可聴プロンプトとして図4に例示されるが、他の実装例ではグラフィカルであることができる。プロンプトエンジン126は、未解決の項目(ヴィンテージ)に基づいてかつ解決された属性に基づいて(ブランドおよびタイプに対する決定された属性への参照を含むことによって)プロンプト472Aを決定できる。
【００７７】
プロンプト472Aは、ユーザに、ヴィンテージ項目に対する属性を解決するために活用できるさらなる自然言語入力(例えば、音声入力)を与えるように要請する。例えば、ユーザはプロンプト472Aに「2014」という音声入力で応答してよく、そして「2014」はヴィンテージ項目に対する属性として活用されてよい。一部の実装例では、自動アシスタント120は、さらなる音声入力を見越して、クライアント装置1061のマイクロホンがプロンプト472Aの提供を受けて作動されるようにしてよい。代替的に、プロンプト472Aは、完全な年代「2014」を見ることができる第2の画像(例えば、図2Bの261B)を入力することによって対処され得る。
【００７８】
要求解決エンジン130は、次いで「2014」という追加属性および先に決定された属性を活用して要求を解決できる。例えば、要求解決エンジン130は、エージェント146のうちの1つに、「仮定のヴィンヤードの2014メルロー」が1ケース注文されるようにするエージェントクエリを提出できる。エージェントクエリに応じてエージェントから任意選択で追加内容を受け取ることができ(例えば、命令の確認、合計価格および/または予想配達日)、そして追加内容の少なくとも一部が任意選択でユーザへの提示のために提供できる。
【００７９】
図5Aおよび図5Bは、本明細書に記載される実装例に従ってクライアント装置1061上で、かつ/またはそれと併せて動作する自動アシスタント(図1における120、図2に図示せず)のインスタンスとユーザ(図示せず)がどのように対話できるかの別の例を例示する。図5Aのインタフェースは図2A、図2B、図3および図4のそれと類似しており、そして同様の番号は同様の部品を指す。
【００８０】
図5Aにおいて、カメラ1111は25セント硬貨561しかも、特に、ケンタッキー州25セント硬貨の「裏」側を捉えた。図5Aにおいて、ユーザは「これについてもっと教えて」という自然言語入力を与えた。要求エンジン124は、自然言語入力が取得画像に関連した要求であると判定でき、そして要求解決エンジン130に要求の指示を提供する。
【００８１】
要求解決エンジン130は、自然言語入力および取得画像を使用して要求を解決しようと試みる。例えば、要求解決エンジン130は、画像処理エンジン142のうちの1つまたは複数に取得画像を提供できる。画像処理に基づいて、要求解決エンジン130は、それが「2001年ケンタッキー州25セント硬貨」であると判定できる。例えば、要求解決エンジン130は、画像処理エンジン142のうちの1つがそれを「2001年ケンタッキー州25セント硬貨」と詳細に分類することに基づいて、それが「2001年ケンタッキー州25セント硬貨」であると判定できる。また例えば、要求解決エンジン130は、画像処理エンジン142のうちの1つがそれを「25セント硬貨」と分類することに基づいて、かつ画像処理エンジン142の別の1つが画像内の「ケンタッキー」および「2001」というテキストを認識することに基づいて、それが「2001年ケンタッキー州25セント硬貨」であると追加的または代替的に判定できる。要求解決エンジン130は、画像処理エンジン142に取得画像を提供することに基づいて、25セント硬貨に存在する追加テキストおよび/または追加実体をさらに決定できる。例えば、処理エンジン142のうちの1つによるOCR処理がテキスト「マイオールドケンタッキーホーム」も識別してよい、および/または画像処理が25セント硬貨上の「家屋」を「マイオールドケンタッキーホーム」家屋として識別してよい。
【００８２】
図5Bに図示されるように、自動アシスタント120は、「それは2001年ケンタッキー州25セント硬貨です」という出力572Aを最初に提供する。そのような出力572Aは、例えば、「25セント硬貨」分類に対する目標特異度が「年」および「州」であると判定することに基づいて自動アシスタント120によって最初に提供できる。それに応じて、初期出力572Aに対して、ユーザは「いや、裏面の場所」という自然言語入力574Aを与える。自然言語入力574Aに基づいて、要求解決エンジン130は、25セント硬貨によって引用される特定の場/場所の調節された目標特異度を決定する。言い換えれば、要求解決エンジン130は、自然言語入力574Aでユーザによって与えられるフィードバックに基づいて目標特異度を調節する。応えて、要求解決エンジン130は、調節された目標特異度の要求を解決しようと試みる。例えば、要求解決エンジン130は、「マイオールドケンタッキーホーム」に関連するテキストおよび/または実体など、「場」に関連する画像から解決される属性を決定できる。取得画像に基づいてそのような属性が解決されなければ、ユーザが「場」を示すユーザインタフェース入力を与える、および/または「場」の追加画像を取得することを要求するためにプロンプトを提供できる。
【００８３】
しかしながら、図5Bの例では、要求解決エンジン130は、以前の取得画像に基づいて「マイオールドケンタッキーホーム」という属性を解決した。したがって、ユーザ入力574Aに応じて、要求解決エンジン130は、調節された特異度の要求を解決することができ、そして「マイオールドケンタッキーホーム」属性に基づいて応答572Bを生成する。例えば、要求解決エンジン130は、「マイオールドケンタッキーホーム」の検索要求を発行し、そして検索要求に応じて、応答572Bおよび追加検索結果を受け取れる。要求解決エンジン130は、追加検索結果が表示されるようにするようにユーザによって選択できる選択可能なオプション572Cと共に、出力として応答572Bを提供できる。
【００８４】
一部の実装例では、「25セント硬貨」分類に対する目標特異度は、少なくとも部分的に図5Aおよび図5Bの対話に基づいてユーザおよび/または他のユーザに適合されてよい。例えば、そのような対話および/または類似の対話履歴に基づいて、「25セント硬貨」分類に対して「25セント硬貨上の具体的な場/場所」の学習された目標特異度が決定できる。したがって、25セント硬貨の取得画像に関連した以降の要求は、そのような決定された特異度を鑑みて適合できる。これらおよび他の方式では、自動アシスタント120との対話を介して与えられるユーザフィードバックが活用されて、要求がいつ解決されるかを学習できる、および/または様々な将来の要求に対する適切な目標特異度を学習できる。
【００８５】
図6は、開示される技法が利用されてよい別のシナリオ例を示す。図6において、クライアント装置106Nは、クライアント装置106N上で、かつ/またはそれと併せて実行する自動アシスタント120との口頭ヒューマンコンピュータダイアログにユーザ101が係わることを可能にするスタンドアロン対話型スピーカの形態をとる。この目的で、クライアント106Nは、ユーザ101からの口頭入力を検出するための1つまたは複数のマイクロホン(図6に図示せず)も含んでよい。クライアント装置106Nは、画像を取得するように構成されるカメラ111Nも含む。図6に示されないが、一部の実装例では、クライアント装置106Nは表示デバイスも含んでよい。
【００８６】
この例では、ユーザ101は、「ロボット掃除機はなぜこんな音を立てているの?」という音声入力674Aを与える。
【００８７】
自動アシスタント120の要求エンジン124は、「ロボット掃除機はなぜこんな音を立てているの?」という自然言語入力がクライアント装置106Nの環境内の物体にかつ物体によって立てられている音に関連すると判定できる。一部の実装例では、要求エンジン124は、オーディオ(例えば、「こんな音」を捉えようと試みるオーディオ)および/または画像がそのような判定に応じて取得されるようにすることができる。
【００８８】
要求エンジン124は、要求解決エンジン130に要求の指示を提供する。要求解決エンジン130は、自然言語入力ならびに取得オーディオおよび/または取得画像を使用して要求を解決しようと試みる。例えば、要求解決エンジン130は、追加処理エンジン144のうちの1つまたは複数に取得オーディオを提供できる。追加処理エンジン144は、オーディオを解析し、そしてオーディオから「3連続のビープ音」という属性を決定できる。言い換えれば、オーディオは、3連続のビープ音を立てているロボット掃除機を捉えた。
【００８９】
要求解決エンジン130は次いで、例えば、検索システムエージェントに、入力674Aおよび解決されたオーディオ属性に基づいているエージェントクエリ(例えば、「3連続のビープ音はロボット掃除機にとって何を意味するのか」というエージェントクエリ)を提出することによって、要求を解決しようと試みることができる。エージェントクエリに応じて、検索システムは、いかなる答えも返すことができないかもしれず、または閾値を満たす信頼レベルで答えを返さないかもしれない。それに応じて、要求解決エンジン130は、要求が解決できないと判定できる。
【００９０】
要求が解決不可能であることに基づいて、プロンプトエンジン126は、「カメラに掃除機を掲げてくれますか?」というプロンプト672Aを決定および提供する。例えば、プロンプト672Aは、クライアント装置106Nのスピーカを介する可聴表現のために提供される。プロンプト672Aは、ユーザに、掃除機ロボット661に関連した追加属性を解決するために活用できる画像を取得する試みでカメラ111Nの視界に掃除機ロボット661(「こんな音」を立てている)を保つように要請する。
【００９１】
ユーザが最初にカメラ111Nに掃除機を掲げた後に画像を取得できる。しかしながら、要求解決エンジン130は、画像から属性を解決できない、および/またはいずれの解決された属性も要求を解決するには依然として不十分であると判定してよい。それに応じて、ユーザに「それを動かして別の画像を取得させる」ように命令する別のプロンプト672Bが提供される。
【００９２】
ユーザ101が掃除機をさらに動かした後に追加画像を取得でき、そして要求解決エンジン130は、追加画像から解決される属性に基づいて要求を解決することができるかもしれない。例えば、追加画像は、「仮定の掃除機」ブランドおよび/または掃除機の「3000」モデルの決定を可能にして、「3連続のビープ音は仮定の掃除機3000にとって何を意味するのか」というエージェントクエリが要求解決エンジン130によって作成されることを可能にしたかもしれない。そのエージェントクエリは検索システムエージェントに提出でき、そして高信頼の答えがそれに応じて返される。さらなる出力672Cは高信頼の答えに基づくことができる。例えば、高信頼の答えは、「3連続のビープ音は容器が一杯であることを意味します」というさらなる出力672Cに一致してよい。
【００９３】
図7は図6と類似している。特に、図7においてユーザ101によって与えられる自然言語入力774Aは図6の自然言語入力674Aと同じである。その上、自動アシスタント120は、自然言語入力774Aに基づいて、かついかなる取得された初期オーディオおよび/または画像に基づいても要求を解決することができないと同様に判定してよい。図7において、プロンプト772Aは、ユーザがカメラ111Nに掃除機661を掲げることを要求する代わりに、ユーザ101が自分の別個のスマートフォンで写真を撮ることを要求する。例えば、図7に例示されるように、ユーザ101は、クライアント装置1061(スマートフォンでよい)を活用して、掃除機661が接地している間に掃除機661の画像を取得できる。クライアント装置1061およびクライアント装置106Nは、本明細書に記載されるように自動アシスタント120を介して同じユーザにリンクできる。自動アシスタント120は、クライアント装置1061によって(プロンプト772Aに応じて)取得された画像を活用して要求を解決できる。出力772Bは出力672Cと同じであり、そしてクライアント装置1061によって取得される画像から導出される属性の他に、クライアント装置106Nを介して取得されるオーディオに基づく属性に基づくことができる。これらおよび他の方式では、自動アシスタント120は、要求を解決する際にユーザの複数のデバイスからの自然言語入力および/またはセンサデータを活用することができる。
【００９４】
図8は、本明細書に開示される実装例に係る方法例800を例示するフローチャートである。便宜上、フローチャートの動作は、動作を行うシステムに関して記載される。このシステムは、自動アシスタント120の1つまたは複数の部品など、様々なコンピュータシステムの様々な部品を含んでよい。その上、方法800の動作が特定の順に図示されるが、これは限定的であるとは意味されない。1つまたは複数の動作が再順序付け、省略または追加されてよい。
【００９５】
ブロック802で、システムは、クライアント装置の環境内の物体に関連した要求を決定する。一部の実装例では、システムは、クライアント装置の自動アシスタントインタフェースを介して与えられる自然言語入力に基づいて要求を決定できる。自然言語入力は音声入力および/またはタイプ入力を含むことができる。一部の実装例では、システムは、クライアント装置を介して画像、録音および/または他のセンサデータが取得されることに基づいて要求を追加的または代替的に決定できる。一部の実装例では、システムは、ユーザによって選択されるインタフェース要素に基づいて、ならびに/または画像および/もしくは他のセンサデータが特定のインタフェースを介して取得されることに基づいて要求を追加的または代替的に決定できる。
【００９６】
ブロック804で、システムは、クライアント装置から初期センサデータを受け取る。例えば、システムは、クライアント装置のカメラによって取得される初期画像を受け取れる。一部の追加または代替実装例では、システムは、クライアント装置と同じく関連付けられるユーザに関連を有する追加クライアント装置などの、追加クライアント装置から初期センサデータを追加的または代替的に受け取る。
【００９７】
ブロック806で、システムは、ブロック804で受け取られた初期センサデータに基づいて物体の初期属性を解決する。例えば、初期センサデータが初期画像を含む場合、システムは、1つまたは複数の画像処理エンジンに初期画像を提供し、そしてそれに応じてエンジンから初期属性を受け取ることに基づいて初期属性を解決できる。
【００９８】
ブロック808で、システムは、ブロック802の要求が物体のこれまでに解決された属性に基づいて解決可能であるかどうかを判定する。一部の実装例では、システムは、これまでに解決された属性が目標特異度で物体を定義するかどうかに基づいて、要求が解決可能であるかどうかを判定する。それらの実装例の一部では、目標特異度は分類学における物体の目標分類度であり、かつ/または1つもしくは複数の定義されるべき項目に関して定義され、ここで物体に対する項目は物体の分類(一般的もしくは具体的)に依存していることができる。それらの実装例の一部では、目標特異度は、ユーザによって与えられる初期自然言語入力、ユーザによって与えられるフィードバック、ユーザおよび/もしくは他のユーザの対話履歴、ならびに/または場所および/もしくは他のコンテキスト信号に基づいて追加的または代替的に決定できる。
【００９９】
ブロック808で、システムが要求が解決可能であると判定すれば、システムはブロック816に進んで要求を解決する。一部の実装例では、ブロック808および816は協調して発生してもよい(例えば、システムは、ブロック816で要求を解決しようと試みることに基づいて、要求が解決可能である、または可能でないと判定してよい)。
【０１００】
ブロック808で、システムが要求が解決可能でないと判定すれば、システムはブロック810に進んで、クライアント装置または追加クライアント装置を介する提示のためにプロンプトを提供する。プロンプトは、例えば、ユーザに追加センサデータを取得する(例えば、追加画像を撮る)、物体を動かす、かつ/またはユーザインタフェース入力(例えば、自然言語入力)を与えるように促すことができる。一部の実装例では、システムは、解決された物体に対する1つもしくは複数の属性(例えば、分類属性)に基づいて、かつ/または既に解決された属性によって定義されない項目に基づいて、プロンプトを決定する。
【０１０１】
ブロック812で、システムは、プロンプトを提供した後に、さらなる入力を受け取る。システムは、クライアント装置または追加クライアント装置を介してさらなる入力を受け取る。さらなる入力は、追加センサデータ(例えば、追加画像)および/またはユーザインタフェース入力(例えば、自然言語入力)を含むことができる。
【０１０２】
ブロック814で、システムは、さらなる入力に基づいて追加属性を解決する。システムは次いでブロック808に戻る。例えば、追加センサデータが追加画像を含む場合、システムは、1つまたは複数の画像処理エンジンに追加画像を提供し、そしてそれに応じてエンジンから追加属性を受け取ることに基づいて追加属性を解決できる。
【０１０３】
一部の実装例では、ブロック816はサブブロック817および818を含む。サブブロック817で、システムは、解決された属性のうちの1つまたは複数に基づいて追加内容を生成する。一部の実装例では、システムは、解決された属性の1つまたは複数に基づいて要求を作成し、エージェントに要求を提出し、そして要求に応じてエージェントから追加内容を受け取ることに基づいて、追加内容を生成する。それらの実装例の一部では、システムは、解決された属性(例えば、センサデータおよび/または自然言語入力から解決された属性)に基づいてエージェントを選択できる。ブロック818で、システムは、クライアント装置または追加クライアント装置を介する提示のために追加内容を提供する。例えば、システムは、可聴および/またはグラフィカル提示のために追加内容を提供できる。例えば、システムは、クライアント装置または追加クライアント装置に、追加内容を含むストリーミングオーディオを提供することによって、可聴提示のために追加内容を提供できる。
【０１０４】
図9は、本明細書に記載される技法の1つまたは複数の態様を行うために任意選択で活用されてよいコンピューティング装置例910のブロック図である。一部の実装例では、クライアント装置、自動アシスタント120および/または他の部品の1つまたは複数がコンピューティング装置例910の1つまたは複数の部品から成ってよい。
【０１０５】
コンピューティング装置910は、バスサブシステム912を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ914を典型的に含む。これらの周辺デバイスとしては、例えば、メモリサブシステム925およびファイル記憶サブシステム926を含む、記憶サブシステム924、ユーザインタフェース出力デバイス920、ユーザインタフェース入力デバイス922ならびにネットワークインタフェースサブシステム916を含んでよい。入出力デバイスは、コンピューティング装置910とのユーザ対話を可能にする。ネットワークインタフェースサブシステム916は、外部ネットワークへのインタフェースを提供し、かつ他のコンピューティング装置における対応するインタフェースデバイスに結合される。
【０１０６】
ユーザインタフェース入力デバイス922としては、キーボード、マウス、トラックボール、タッチパッドもしくはグラフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイへ組み込まれるタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロホン、および/または他の種類の入力デバイスを含んでよい。一般に、用語「入力デバイス」の使用は、コンピューティング装置910へまたは通信ネットワーク上へ情報を入力する全ての可能な種類のデバイスおよび手段を含むと意図される。
【０１０７】
ユーザインタフェース出力デバイス920としては、表示サブシステム、プリンタ、ファックス機器、またはオーディオ出力デバイスなどの非視覚表示を含んでよい。表示サブシステムとしては、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または可視画像を作成するための何らかの他のメカニズム(例えば、「スマート」グラスと関連する拡張現実感ディスプレイ)を含んでよい。表示サブシステムは、オーディオ出力デバイスを介してなどの非視覚表示も提供してよい。一般に、用語「出力デバイス」の使用は、コンピューティング装置910からユーザにまたは別のマシンもしくはコンピューティング装置に情報を出力する全ての可能な種類のデバイスおよび手段を含むと意図される。
【０１０８】
記憶サブシステム924は、本明細書に記載されるモジュールの一部または全ての機能性を提供するプログラミングおよびデータ構造を記憶する。例えば、記憶サブシステム924は、図8の方法の選択された態様を行う他に、図1に示される様々な部品を実装するロジックを含んでよい。
【０１０９】
これらのソフトウェアモジュールは一般に、プロセッサ914によって単独でまたは他のプロセッサとの組合せで実行される。記憶サブシステム924に使用されるメモリ925としては、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)930ならびに固定命令が記憶されるリードオンリメモリ(ROM)932を含むいくつかのメモリを含むことができる。ファイル記憶サブシステム926は、プログラムおよびデータファイルのための永続記憶を提供でき、そしてハードディスクドライブ、フロッピーディスクドライブに加えて関連する取外し可能媒体、CD-ROMドライブ、光ドライブ、または取外し可能媒体カートリッジを含んでよい。或る実装例の機能性を実装するモジュールは、ファイル記憶サブシステム926によって記憶サブシステム924に、またはプロセッサ914によってアクセス可能な他のマシンに記憶されてよい。
【０１１０】
バスサブシステム912は、コンピューティング装置910の様々な部品およびサブシステムを意図されるように互いに通信させるためのメカニズムを提供する。バスサブシステム912が単一バスとして概略的に図示されるが、バスサブシステムの代替実装例が複数のバスを使用してよい。
【０１１１】
コンピューティング装置910は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティング装置を含む様々な種類であることができる。コンピュータおよびネットワークの絶えず変化する性質のため、図9に示されるコンピューティング装置910の説明は、単に一部の実装例を例示する目的の具体例として意図される。図9に示されるコンピューティング装置より多くのまたは少ない部品を有して、コンピューティング装置910の多くの他の構成が可能である。
【０１１２】
本明細書に述べられる或る実装例がユーザについての個人情報(例えば、他の電子通信から抽出されるユーザデータ、ユーザのソーシャルネットワークについての情報、ユーザの場所、ユーザの時間、ユーザの生体情報、ならびにユーザの活動および人口統計情報、ユーザ間の関係等)を収集または使用してよい状況では、ユーザには、情報が収集されるかどうか、個人情報が記憶されるかどうか、個人情報が使用されるかどうか、ならびにユーザについて情報がどのように収集、記憶および使用されるかを制御する1つまたは複数の機会が設けられる。すなわち、本明細書に述べられるシステムおよび方法は、そうすることへの関連ユーザからの明示的な認可を受けた上でのみ、ユーザ個人情報を収集、記憶および/または使用する。
【０１１３】
例えば、ユーザには、プログラムまたは特徴がプログラムまたは特徴に関連するその特定のユーザまたは他のユーザについてのユーザ情報を収集するかどうかの制御権が与えられる。個人情報が収集されることになる各ユーザには、そのユーザに関連する情報収集の制御を可能にして、情報が収集されるかどうかに関するおよび情報のどの部分が収集されることになるかに関する許可または認可を与える、1つまたは複数の選択肢が提示される。例えば、ユーザには、通信ネットワークを通じて1つまたは複数のそのような制御選択肢が与えられ得る。加えて、或るデータは、個人識別可能情報が削除されるように、それが記憶または使用される前に1つまたは複数の手段で処理されてよい。1つの例として、ユーザの識別情報は、個人識別可能情報が判定できないように処理されてよい。別の例として、ユーザの地理的場所は、ユーザの特定の場所が判定できないようにより大きい領域に一般化されてよい。さらには、本開示に係る或る処理は、データおよび関連処理がネットワークまたは他の第三者装置またはサービスに共有されないように専らユーザの装置上で行われてよく、かつ追加のプライバシーおよびセキュリティのために暗号化および/またはパスワード保護されてよい。
【符号の説明】
【０１１４】
101  ユーザ
1061-N  クライアント装置
1071-N  メッセージ交換クライアント
1091-N  カメラアプリケーション
1111-N  カメラ
1131-N  追加センサ
120  自動アシスタント
122  自然言語プロセッサ
124  要求エンジン
126  プロンプトエンジン
130  要求解決エンジン
132  属性モジュール
142  画像処理エンジン
144  追加処理エンジン
146  エージェント
148  リソースデータベース
160  タッチスクリーン
164  ユーザ入力フィールド
1661,2  グラフィカル要素
261  ワインのボトル
261A  描画
261B  描画
261C  描画
272A  プロンプト
272B  出力
372A  出力
472A  プロンプト
572A  出力
572B  応答
572C  選択可能なオプション
574A  自然言語入力
661  掃除機ロボット
672A  プロンプト
672B  プロンプト
672C  出力
674A  自然言語入力
772A  プロンプト
772B  出力
774A  自然言語入力
910  コンピューティング装置例
912  バスサブシステム
914  プロセッサ
916  ネットワークインタフェース
920  ユーザインタフェース出力デバイス
922  ユーザインタフェース入力デバイス
924  記憶サブシステム
925  メモリサブシステム
926  ファイル記憶サブシステム
930  ランダムアクセスメモリ
932  リードオンリメモリ
【図１】
0006817467.tif 000002
【図２Ａ】
0006817467.tif 000003
【図２Ｂ】
0006817467.tif 000004
【図３】
0006817467.tif 000005
【図４】
0006817467.tif 000006
【図５Ａ】
0006817467.tif 000007
【図５Ｂ】
0006817467.tif 000008
【図６】
0006817467.tif 000009
【図７】
0006817467.tif 000010
【図８】
0006817467.tif 000011
【図９】
0006817467.tif 000012