IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特表2024-505787最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送
<>
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図1
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図2
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図3
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図4A
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図4B
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図5A
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図5B
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図5C
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図6
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図7
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図8
  • 特表-最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-08
(54)【発明の名称】最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送
(51)【国際特許分類】
   G10L 15/22 20060101AFI20240201BHJP
   G10L 13/00 20060101ALI20240201BHJP
   G06F 3/16 20060101ALI20240201BHJP
【FI】
G10L15/22 300Z
G10L13/00 100M
G06F3/16 650
G06F3/16 630
G06F3/16 670
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023536522
(86)(22)【出願日】2021-12-16
(85)【翻訳文提出日】2023-08-15
(86)【国際出願番号】 US2021063753
(87)【国際公開番号】W WO2023003585
(87)【国際公開日】2023-01-26
(31)【優先権主張番号】63/224,250
(32)【優先日】2021-07-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/532,276
(32)【優先日】2021-11-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マシュー・シャリフィ
(72)【発明者】
【氏名】ヴィクター・カルブネ
(57)【要約】
最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントに対話データを提供するためのシステムおよび方法。第1の自動アシスタントは、ユーザの発話によって呼び出され得るが、それに、第1の自動アシスタントによって処理されるユーザとの対話が続く。対話の間には、対話データを第2の自動アシスタントに転送することのリクエストが、受け取られる。このリクエストは、ユーザから、第1の自動アシスタントによっておよび/または第2の自動アシスタントによって、生じ得る。いったん承認されると、第1の自動アシスタントは、先の対話データを、第2の自動アシスタントに提供する。第2の自動アシスタントは、対話データに基づいて、1つまたは複数のアクションを実行する。
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実装される方法であって、
ユーザと最初に呼び出された自動アシスタントとの間での対話の最中に、
前記最初に呼び出された自動アシスタントにより、ユーザを伴う環境におけるクライアントデバイスの第1の自動アシスタントのインターフェースを経由して、前記最初に呼び出された自動アシスタントに向けられている前記ユーザの話された発話を、前記対話の一部として受け取るステップと、
前記最初に呼び出された自動アシスタントにより、前記話された発話を処理して、前記話された発話への応答を生成するステップと、
前記最初に呼び出された自動アシスタントにより、前記話された発話への応答を、前記対話の一部として、前記クライアントデバイスによってレンダリングさせるステップと、
前記最初に呼び出された自動アシスタントにより、前記応答をレンダリングさせた後で、前記第1の自動アシスタントによって前記対話の一部として生成された対話データを第2の自動アシスタントに転送することのリクエストを受け取るステップと、
前記リクエストを受け取ったことに応答して、
前記最初に呼び出された自動アシスタントにより、前記第2の自動アシスタントとの通信チャネルを経由して、前記対話データを前記第2の自動アシスタントに提供するステップと、
を含み、
前記対話データを提供するステップは、前記第2の自動アシスタントに、前記対話データに基づき、1つまたは複数のアクションを実行させる、方法。
【請求項2】
転送することの前記リクエストは、前記最初に呼び出された自動アシスタントに向けられた前記ユーザの追加的な話された発話である、請求項1に記載の方法。
【請求項3】
転送することの前記リクエストは、前記第2の自動アシスタントからの、前記話された発話を処理することのリクエストである、請求項1に記載の方法。
【請求項4】
転送することの前記リクエストは、前記話された発話を示すオーディオデータを含む、請求項3に記載の方法。
【請求項5】
前記最初に呼び出された自動アシスタントにより、スピーカ確認モデルを用いてオーディオデータを処理することに基づき、前記ユーザが前記オーディオデータによって示されるスピーカであることを確認するステップをさらに含み、
前記対話データを前記第2の自動アシスタントに提供するステップは、前記ユーザが前記オーディオデータによって示される前記スピーカであることを確認するステップに左右される、請求項4に記載の方法。
【請求項6】
前記第2の自動アシスタントは、前記第1のデバイスから離れた他のクライアントデバイス上で動作しており、前記1つまたは複数のアクションは、前記他のクライアントデバイスを経由して前記ユーザに提供される第2のアシスタントのオーディオ出力を生成することを含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記対話データは、前記第2の自動アシスタントによって実行される前記1つまたは複数のアクションの指示を含み、前記最初に呼び出されたアシスタントは、前記1つまたは複数のアクションを実行することが不可能である、請求項1から6のいずれか一項に記載の方法。
【請求項8】
最初に呼び出された自動アシスタントクライアントによって、ユーザの環境における第1のクライアントデバイスの1つまたは複数のマイクロフォンによって生成されたオーディオデータにおいて捕捉される前記ユーザの話されたクエリを受け取るステップであって、前記第1の自動アシスタントクライアントは、前記第1のクライアントデバイス上にインストールされている、ステップと、
前記ユーザと前記オーディオデータによって指示された前記最初に呼び出された自動アシスタントとの間での先の対話に基づき、前記対話の1つまたは複数の用語によって指示されたユーザ意図を識別するステップと、
前記環境における第2のクライアントデバイス上にインストールされた第2の自動アシスタントクライアントに、前記ユーザ意図に基づき前記クエリを処理する承認を提供するステップと、
前記最初に呼び出された自動アシスタントクライアントにより、前記第2の自動アシスタントクライアントとの通信チャネルを経由して、前記クエリの指示と前記ユーザ意図とを前記第2の自動アシスタントクライアントに提供するステップと、
を含み、
前記指示と前記ユーザ意図とを提供するステップは、前記第2の自動アシスタントクライアントに、1つまたは複数のアクションを実行させる、コンピュータ実装方法。
【請求項9】
前記通信チャネルは、超音波通信チャネルを含んでおり、前記クエリの前記指示と前記ユーザ意図とを前記第2の自動アシスタントクライアントに提供するステップは、
前記クエリの前記指示と前記ユーザ意図とを組み入れた超音波信号を、前記第1のクライアントデバイスの1つまたは複数のスピーカを経由してレンダリングさせるステップを含む、請求項8に記載の方法。
【請求項10】
前記第2の自動アシスタントクライアントに前記クエリを処理するようにリクエストする第2の話されたクエリを、前記ユーザから受け取るステップをさらに含み、前記承認を提供するステップは、前記第2の話されたクエリを受け取ったことに応答する、請求項8または9に記載の方法。
【請求項11】
前記第1の自動アシスタントは前記ユーザ意図を処理することができないことを決定するステップと、
前記第1の自動アシスタントは前記ユーザ意図を処理することができないという決定に応答して、前記承認を提供するようにという示唆を前記ユーザに提供するステップと、
前記承認を前記ユーザから受け取るステップであって、前記承認は、前記承認を前記ユーザから受け取ったことに応答して、前記第2の自動アシスタントクライアントに提供される、ステップと、
をさらに含む、請求項8から10のいずれか一項に記載の方法。
【請求項12】
テキストクエリを生成するために前記話されたクエリを捕捉する自動音声認識を前記オーディオデータに対して実行するステップをさらに含み、前記クエリの前記指示は前記テキストクエリである、請求項8から11のいずれか一項に記載の方法。
【請求項13】
最初に呼び出された自動アシスタントにおいて、前記最初に呼び出された自動アシスタントを用いたユーザの先の対話からの先の対話データを後で呼び出された自動アシスタントが用いるようにリクエストする話された発話を、前記ユーザが提供したことを決定するステップと、
前記ユーザが前記話された発話を提供したとの決定に応答して、
前記最初に呼び出された自動アシスタントによって、前記話された発話を捕捉するオーディオデータを処理するステップと、
前記最初に呼び出された自動アシスタントにより、前記処理に基づき、前記先の対話に関与したのと同じユーザによって前記オーディオデータが提供されたかどうかを決定するステップと、
前記ユーザが前記同じユーザであると決定されるときには、
前記先の対話データを前記後で呼び出された自動アシスタントに提供し、
前記ユーザが前記同じユーザではないと決定されるときには、
前記対話データの提供を回避するステップと、
を含む、コンピュータ実装方法。
【請求項14】
前記オーディオデータは、前記最初に呼び出された自動アシスタントを実行する第1のデバイスのマイクロフォンによって捕捉される、請求項13に記載の方法。
【請求項15】
前記オーディオデータは、前記後で呼び出された自動アシスタントを実行する第2のデバイスのマイクロフォンによって捕捉される、請求項13に記載の方法。
【請求項16】
前記話された発話は、前記最初に呼び出された自動アシスタントに向けられている、請求項13から15のいずれか一項に記載の方法。
【請求項17】
前記話された発話は、前記後で呼び出された自動アシスタントに向けられている、請求項13から15のいずれか一項に記載の方法。
【請求項18】
前記先の対話データは、前記最初に呼び出された自動アシスタントを実行する第1のクライアントデバイスのスピーカによって生成される人間によらない可聴信号を経由して提供され、前記後で呼び出された自動アシスタントを実行する第2のクライアントデバイスの1つまたは複数のマイクロフォンによって受け取られる、請求項13から17のいずれか一項に記載の方法。
【請求項19】
前記先の対話データは、前記最初に呼び出された自動アシスタントと前記後で呼び出された自動アシスタントとの間のアプリケーションプログラミングインターフェースを経由して提供される、請求項13から17のいずれか一項に記載の方法。
【請求項20】
前記先の対話データは、前記ユーザと前記最初に呼び出された自動アシスタントとの間での対話のテキスト表現を含む、請求項13から19のいずれか一項に記載の方法。
【請求項21】
コンピューティングシステムの1つまたは複数のプロセッサによって実行されると、請求項1から20のいずれか一項に記載の方法を前記コンピューティングシステムに実行させる、コンピュータプログラム。
【請求項22】
請求項1から20のいずれか一項に記載の方法を実行するように構成された1つまたは複数のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話データ転送に関する。
【背景技術】
【0002】
人間は、本明細書では「自動アシスタント」と称される(また、「デジタルエージェント」、「チャットボット」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「アシスタントアプリケーション」、「会話型エージェント」などとも称される)対話型のソフトウェアアプリケーションとの間で、人間とコンピュータとの対話に参加することがあり得る。たとえば、人間(自動アシスタントと対話するときには、「ユーザ」と称されることがある)は、コマンドおよび/またはリクエストを、話された自然言語入力(すなわち、発話)を用いて自動アシスタントに提供することがあり、この話された自然言語入力は、場合によっては、テキストに変換された後で処理され得、および/または、テキストである(たとえば、タイプされた)自然言語入力を提供することによって、コマンドおよび/またはリクエストを提供することもある。自動アシスタントは、応答ユーザインターフェース出力を提供することによって、リクエストに応答するが、この応答ユーザインターフェース出力は、可聴のおよび/または視覚的なユーザインターフェース出力を含み得る、
【0003】
上述されたように、多くの自動アシスタントは、アシスタントの呼出しに続く話された発話を経由して対話するように、構成されている。ユーザのプライバシーを保護するため、および/またはリソースを節約するために、ユーザは、話された発話を自動アシスタントがすべて処理する前に、多くの場合、自動アシスタントを明示的に呼び出さなければならない。自動アシスタントの明示的な呼出しは、典型的には、特定のユーザインターフェース入力がクライアントデバイスにおいて受け取られたことに応答して、生じる。クライアントデバイスは、アシスタントインターフェースを含み、このアシスタントインターフェースは、自動アシスタントとのインターフェースを行う(たとえば、話されたおよび/またはタイプされた入力をユーザから受け取り、可聴のおよび/またはグラフィカルな応答を提供する)ためのインターフェースを、クライアントデバイスのユーザに提供し、自動アシスタントを実装する1つまたは複数の追加的なコンポーネント(たとえば、ユーザ入力を処理して、適切な応答を生成するリモートサーバデバイス)とのインターフェースを行う。
【0004】
クライアントデバイスを経由して自動アシスタントを呼び出すことができるいくつかのユーザインターフェース入力には、自動アシスタントを呼び出すためのクライアントデバイスにおけるハードウェアボタンおよび/または仮想ボタン(たとえば、ハードウェアボタンの押下、クライアントデバイスによって表示されたグラフィカルインターフェース要素の選択)が、含まれる。これに追加してまたはこれの代わりに、多くの自動アシスタントは、1つまたは複数の話された呼出フレーズに応答して呼び出されることも可能であり、これは、「ホットワード/フレーズ」または「トリガワード/フレーズ」としても、知られている。たとえば、自動アシスタントを呼び出すためには、「やあ、アシスタント」、「オーケイ、アシスタント」、および/または「アシスタント」など、話された呼出フレーズが話されることもあり得る。
【0005】
多くの場合に、アシスタントインターフェースを含むクライアントデバイスは、話された呼出フレーズの発生を求めて少なくとも選択的にモニタするためにクライアントデバイスが用いる、1つまたは複数のローカルに記憶されたモデルを含む。そのようなクライアントデバイスは、ローカルに記憶されたモデルを用いて、受け取られたオーディオデータをローカルに処理することができ、話された呼出フレーズを含まないオーディオデータをいずれも破棄する。しかし、受け取られたオーディオデータのローカルな処理が、話された呼出フレーズの発生を示すときには、クライアントデバイスは、そのオーディオデータおよび/またはそれに続くオーディオデータを、自動アシスタントにさらに処理させることになる。たとえば、話された呼出フレーズが「やあ、アシスタント」であって、ユーザが「やあ、アシスタント、何時ですか」と話す場合には、「何時ですか」に対応するオーディオデータが、「やあ、アシスタント」の検出に基づいて自動アシスタントによって処理され、現在の時刻という自動アシスタントの応答を提供するのに、用いられることが可能である。他方で、ユーザが、(最初に、呼出フレーズを話すことなく、または代わりの呼出入力を提供することなく)単に「何時ですか」と話す場合には、「何時ですか」の前に呼出フレーズ(または、他の呼出入力)が先行していないことの結果として、自動アシスタントからは、何の応答も提供されないことになる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本明細書には、対話データの転送リクエストに応答して第1の自動アシスタントから第2の自動アシスタントに対話データを提供する技法が、記載されている。たとえば、様々な技法が、最初に呼び出された自動アシスタントによって、ユーザとその最初に呼び出された自動アシスタントとの間の対話を処理し、対話の一部であるクエリの処理を第2の自動アシスタントに転送することのリクエストを受け取り、対話データを示す対話データをさらなる処理のために第2の自動アシスタントに提供することに向けられる。ユーザは、最初に、自動アシスタントを呼び出し、1つまたは複数のクエリを発することができ、そのクエリに対して、呼び出された自動アシスタントが、応答を生成することができる。ユーザと最初に呼び出された自動アシスタントとの間の対話の中での何らかの時点で、追加的な対話に対する興味および/または第2の自動アシスタントによって処理されつつあるクエリに対する興味をユーザが有していることを示すリクエストが、受け取られることがあり得る。対話および/または対話と関係する対話データは、最初に呼び出された自動アシスタントから第2のアシスタントに提供される場合があり、第2のアシスタントは、クエリを処理して応答を生成するなど、1つまたは複数のアクションを実行することができる。これらのまたは他の様態で、第2のアシスタントは、ユーザとの計算論的に面倒な対話に参加することを必要とすることなく、対話および/または対話データを取得することが可能である。さらに、最初に呼び出された自動アシスタントは、対話および/または対話データを選択的に第2のアシスタントに転送することを介して、ユーザとアシスタントとの対話を誘導することが可能である。さらにまた、第2のアシスタントは、いくつかの実装形態において、最初に呼び出された自動アシスタント単独によっては生成され得ない応答を生成することが可能であり、それによって、ユーザとアシスタントとの間の対話の堅牢性が向上する。
【課題を解決するための手段】
【0007】
いくつかの実装形態では、ユーザは、「オーケイ、アシスタント」など、第1の自動アシスタント(本明細書では、「最初に呼び出された自動アシスタント」とも称される)を呼び出すことはできる呼出フレーズを発することができるが、この呼出フレーズは、この呼出フレーズと関連して(たとえば、直後、直前などに)受け取られたクエリを処理する際に最初に呼び出された自動アシスタントが少なくとも選択的に対話することが可能な他の自動アシスタントを明示的に呼び出すことはない。よって、ユーザは、最初に呼び出された自動アシスタントに固有である呼出入力を提供することに基づいて、他の自動アシスタントのうちの1つを個別に呼び出すのではなく、最初に呼び出された自動アシスタントを用いるように、特定することができる。たとえば、第1の呼出フレーズ(たとえば、「オーケイ、アシスタントA」)は、検出されると、どの他の自動アシスタントも呼び出すことなく、第1の自動アシスタントを排他的に呼び出すことが可能である。同様にして、第2の呼出フレーズ(たとえば、「オーケイ、アシスタントB」)は、検出されると、最初に呼び出された自動アシスタントおよび/またはどの他の自動アシスタントも呼び出すことなく、第2の自動アシスタントを排他的に呼び出すことが可能である。最初に呼び出されたアシスタントは、呼び出されると、その呼出しと関連して提供された入力を処理する際に、他の自動アシスタント(すなわち、「二次的なアシスタント」)と少なくとも選択的に対話することができる。
【0008】
ユーザは、いったん自動アシスタントが最初に呼び出されると、その最初に呼び出された自動アシスタントとの対話をユーザが行うことを可能にし得る呼出フレーズを発することによって、自動アシスタントを呼び出すことができる。対話は、ユーザによって発せられる1つまたは複数のクエリと、最初に呼び出された自動アシスタントによりそれに続いて生成される1つまたは複数の応答と、を含み得る。一例として、ユーザは、「オーケイ、アシスタント1、いい子供映画は、何かな?」と発言することによって、アシスタント1を、最初に呼び出すことができる。この場合には、「オーケイ、アシスタント1」が、第1の自動アシスタントを呼び出すホットワードであり得、第1の自動アシスタントは、「映画Aが、いい子供映画ですよ」という応答を生成して提供することができる。それに応答して、ユーザは、最初に呼び出された自動アシスタントとユーザとの間での対話を生成するために、第1のクエリに関係するかまたは無関係のクエリであるかのどちらかであるが、追加的なクエリを発することがあり得る。たとえば、ユーザは、先のクエリからの「いい子供映画」と関係する追加的に生成された応答を提供されるために、「他のいい映画は何ですか」というクエリを発する場合があり得る。また、たとえば、ユーザは、次に、「きょうの天気はどうだろう」と発言することもあり、最初に呼び出された自動アシスタントは、ユーザの先のクエリおよび/または最初に呼び出された自動アシスタントの先の応答とは無関係の応答を提供することもできる。
【0009】
他の例として、自動アシスタントが「映画Aが、いい子供映画ですよ」と応答することに対して、ユーザは、「オーケイ、それを、ストリーミングサービスで再生して下さい」というクエリでフォローアップすることがあり得る。この場合に、自動アシスタントは、ユーザと自動アシスタントとの間の先の対話に基づいて、クエリに対応する意図を決定し得が、これは、「映画A」など、ユーザが「それ」という用語によって何を意図したのかを決定することを含み得る。「それを、ストリーミングサービスで再生して下さい」というフォローアップのクエリに応答して、最初に呼び出された自動アシスタントは、データを、ユーザインターフェースを経由してユーザに「映画A」をストリーミングすることができるストリーミングメディアアプリケーションである「ストリーミングサービス」に、提供できる。
【0010】
さらに他の例として、ユーザは、最初に呼び出された自動アシスタントをいったん呼び出すと、「サンフランシスコの天気はどうだろうか?」というフレーズを発することができ、その最初に呼び出された自動アシスタントは、「サンフランシスコのきょうの天気は、摂氏約10度(華氏50度)で、くもりです」など、クエリに対する応答を生成することができる。いくつかの場合には、対話は、先のクエリと関係するユーザの追加的なクエリを含むことがある。たとえば、ユーザは、マイアミの天気を提供される意図を示す、「マイアミはどうだろうか」というフォローアップのクエリを発する場合があるだろう。これに対し、最初に呼び出された自動アシスタントは、「マイアミの天気は、摂氏約26.7度(華氏80度)で晴れています」と、応答することができる。対話は、ユーザと最初に呼び出された自動アシスタントとの間で、関係のあるクエリを用いる場合と、関係のない意図を含むクエリを用いる場合との両方で、継続し得る。
【0011】
いくつかの実装形態では、複数の自動アシスタントが、同一の環境に存在する場合があり得る。たとえば、ユーザが、第2の自動アシスタントを実行している第2のデバイスの近傍にあるデバイス上で実行している自動アシスタントを呼び出すことがあり得る。また、たとえば、ユーザが、第2の自動アシスタントもまた実行しているデバイス上で実行している自動アシスタントを、呼び出すこともあり得る。上述されたように、ユーザは、最初に呼び出された自動アシスタントを活性化するが他の自動アシスタントは呼び出さないホットワードまたはフレーズを発することによって、最初に呼び出された自動アシスタントを呼び出すことができる。たとえば、ユーザは、第1の自動アシスタントを呼び出すために、第2の自動アシスタントは呼び出すことがない「オーケイ、アシスタント1」というホットワードを発することができる。同様に、ユーザは、第1の自動アシスタントを呼び出すことなく第2の自動アシスタントを呼び出す「オーケイ、アシスタント2」というホットワードを発することもあり得る。
【0012】
いくつかの実装形態では、自動アシスタントは、その環境の中の他の自動アシスタントに対して、その自動アシスタントが処理することが可能なタイプのクエリおよび/またはコマンドを提供することができる。たとえば、ある自動アシスタントが、カレンダアプリケーションへのアクセスを有している場合があり、その自動アシスタントは、結果として、ユーザのカレンダに関係するクエリはその自動アシスタント自身によって処理可能であるとの指示を、他の自動アシスタントに提供することができる。また、たとえば、ある自動アシスタントが、1つまたは複数の信号を介して他の自動アシスタントに、その自動アシスタントはメディアストリーミングアプリケーションを経由してメディアのストリーミングが可能であることを、示すこともできる。呼び出された自動アシスタントが、あるクエリを処理できない場合には、そのクエリを処理できない自動アシスタントが、同じ環境の中にあってそのクエリを成功裏に処理しユーザに応答を提供することができるであろう他の自動アシスタントを知ることができるように、他の自動アシスタントが、他の自動アシスタントの能力に関する情報を提供されることがあり得る。たとえば、1つまたは複数の自動アシスタントが、超音波信号をブロードキャストして、その超音波信号が、そのブロードキャストしている自動アシスタントが処理可能なタイプのクエリおよび/またはアプリケーションを示すこともあり得る。また、たとえば、自動アシスタントが、Wi-Fi、アプリケーションプログラミングインターフェース(API)、および/または他の通信チャネルを経由して、それ自身の能力に関する指示を提供することにより、ある自動アシスタントがその環境にある他の自動アシスタントの能力を知ることを可能にすることもできる。
【0013】
いくつかの実装形態では、自動アシスタントが、それ自身の能力を、先行して、ブロードキャストすることがある。そのような場合には、最初に呼び出された自動アシスタントは、それ自身が処理できないクエリを受け取ると、そのタイプのリクエストを処理する能力をブロードキャストしている他の自動アシスタントを求めて、サーチすることができる。能力に関して先行してブロードキャストすることにより、対話および/または対話データをどの第2のアシスタントに(もしあれば)転送すべきであるかを決定する際の遅延を縮小させることができ、結果的に、第2のアシスタントが応答を生成する際の遅延を縮小させることが可能になる。いくつかの実装形態では、最初に呼び出された自動アシスタントは、それ自身が処理できないリクエストを受け取ると、他の自動アシスタントに向かって、そのリクエストが1つまたは複数の他の自動アシスタントによって処理可能かどうかを決定してほしいというリクエストを、ブロードキャストすることができる。たとえば、ある最初に呼び出された自動アシスタントは、それ自身がアクセスを有していないカレンダアプリケーションに関係するリクエストを受け取ると、そのリクエストが異なる自動アシスタントによって処理可能かどうかに関して質問するメッセージを、他の自動アシスタントに向かってブロードキャストすることができる。それに対して、そのリクエストを処理可能なある自動アシスタントが、肯定的な応答をして、それにより、最初に呼び出された自動アシスタントに、そのリクエストは、その自動アシスタントによって処理可能である、と知らせることがあり得る。
【0014】
いくつかの場合には、最初に呼び出された自動アシスタントが、ユーザのクエリへの応答を生成するように構成されていないことがあり得る。たとえば、最初に呼び出された自動アシスタントが、ユーザからクエリを受け取り、そのクエリを処理して、そのクエリに対する応答を生成することがあり得る。フォローアップのクエリでは、最初に呼び出された自動アシスタントが、その自動アシスタントはユーザによって発せられたタイプのクエリに応答するようには構成されていないとき、および/またはそのユーザによる明示的なリクエストが原因で、実質的な応答を生成することができず、応答の生成を、別の自動アシスタントに移動させることがあり得る。そのような場合、最初に呼び出された自動アシスタントは、先の対話の一部を、または先の対話の少なくとも一部を表すデータを、さらなる処理のために第2の自動アシスタントに転送することができる。クエリおよび/または先の対話の意図に基づき、第2の自動アシスタントは、応答を生成し、生成された応答に基づいて、さらに、1つまたは複数のアクションを実行することができる。たとえば、第2の自動アシスタントは、いったん対話および/または先の対話からの対話データを提供されると、ユーザに可聴の応答を提供し、アプリケーションと対話し、および/またはクエリに基づく他のタスクを実行することができる。
【0015】
最初に呼び出された自動アシスタントがあるクエリに応答するようには構成されていない場合に、この自動アシスタントは、他の自動アシスタントの方が、そのクエリを果たすことに関しては、より能力があり得るということを決定することができる。たとえば、ユーザが、「映画Aを、ストリーミングサービスで再生して下さい」と発話することがあり得る。最初に呼び出された自動アシスタントが「ストリーミングサービス」へのアクセスを有していない可能性がある場合には、その最初に呼び出された自動アシスタントは、1つまたは複数の他の自動アシスタントがそのようなリクエストを処理するように構成されているかどうかを決定することができる。たとえば、その環境の中の他の自動アシスタントが、そのような能力を示す超音波信号をブロードキャストすることができる。たとえば、その環境の中の代わりとなる自動アシスタントが、それ自身の能力を、最初に呼び出された自動アシスタントに対し、先にブロードキャストしてあり、最初に呼び出された自動アシスタントが、その代わりとなる自動アシスタントに関連付けられる能力を、記憶している(たとえば、ローカルに記憶している)可能性があり得る。適切な第2の自動アシスタントが、最初に呼び出された自動アシスタントによって識別される(たとえば、能力に関する第2の自動アシスタントへの記憶されている関連にアクセスすることによって)場合には、対話データの転送リクエストが、第2の自動アシスタントに提供されることになり得る。いったん第2の自動アシスタントによってそのリクエストが認められると、最初に呼び出された自動アシスタントは、対話の少なくとも一部を含む対話データ(たとえば、対話および/またはクエリの意図)を、第2の自動アシスタントに送ることができる。第2の自動アシスタントは、次に、クエリを処理し、ユーザインターフェースを経由して映画Aをユーザに提供するために、「ストリーミングサービス」を起動するなど、1つまたは複数のアクションを実行することができる。
【0016】
いくつかの実装形態では、最初に呼び出された自動アシスタントは、対話データを第2の自動アシスタントに転送することの示唆を、ユーザに、提供することができる。たとえば、ユーザは、最初に呼び出された自動アシスタントに対して、その最初に呼び出された自動アシスタントがユーザによるリクエストを果たす応答を処理できないまたはそうでなくともそのような応答を提供することができないクエリを、提供する場合があり得る。最初に呼び出された自動アシスタントは、「わたしには分かりませんので、わたしにアシスタント2をチェックしてほしいですか?」などのように、他の自動アシスタントが応答を提供するように構成されている可能性があることを示すユーザへの示唆を用いて、応答することができる。それに対して、ユーザは、「はい」と発することができ、最初に呼び出された自動アシスタントは、アシスタント2に、対話データを提供することができ、処理が、アシスタント2によって、さらに扱われることになり得る。この場合に、転送リクエスト(すなわち、「はい」という発話)は、ユーザによって直接に提供され、第2の自動アシスタントの呼出しは、最初に呼び出された自動アシスタントによって提供される。
【0017】
いくつかの実装形態では、ユーザの選好の識別と、クエリがユーザが興味を有しており異なる自動アシスタントによって果たされるタイプのものであるとの決定とに基づき、転送の示唆がユーザに提供されることが可能である。たとえば、最初に呼び出された自動アシスタントは、カレンダに関係するクエリを処理するために、ユーザのカレンダアプリケーションへのアクセスを有する自動アシスタントなど異なる自動アシスタントを、ユーザが先に用いていたと決定することができる。最初に呼び出された自動アシスタントは、カレンダアプリケーションに関係するリクエストを対話の一部として受け取ると、対話の少なくとも一部および/または対話を示すデータを、そのリクエストを処理するのにユーザによって好まれる自動アシスタントに、提供することができる。
【0018】
いくつかの実装形態では、転送リクエストが、ユーザの選好に基づくことがあり得る。たとえば、ユーザは、ユーザの1つまたは複数の選好を介して、カレンダアプリケーションに関係するすべてのクエリは第1の自動アシスタントによって処理されるようにと指示することができる。カレンダアプリケーションに関係するクエリを他の自動アシスタントが受け取る場合には、呼び出された自動アシスタントは、カレンダクエリに関係するユーザ選好のユーザによる設定を、カレンダアプリケーションに関係するすべてのクエリに関する対話を第1の自動アシスタントに転送してほしいというリクエストとして、扱うことができる。
【0019】
いくつかの実装形態では、ユーザは、他の自動アシスタントを最初に呼び出した後で、第2の自動アシスタントとの対話を継続することができる。たとえば、ユーザは、「オーケイ、アシスタント1」を用いて、ある自動アシスタントを呼び出し、「マイアミでの天気はどんなだろうか?」というクエリを提供することがある。最初に呼び出された自動アシスタントは、そのクエリに対して、「天気は、摂氏約23.9度(華氏75度)で、晴れています」などと、応答することができる。その後で、ユーザは、「オーケイ、アシスタント2、サンフランシスコはどうだろうか」と発話することがあり、これは、対話をさらに処理するために、ユーザが第2のアシスタント(すなわち、「オーケイ、アシスタント2」を用いて呼び出される自動アシスタント」)に興味を有していることを示す。最初に呼び出された自動アシスタントは、対話が第2の自動アシスタントへの参照を含むと決定することができ、第2の自動アシスタントがそれに向けられたクエリの文脈および/または意図を決定することを可能にするため、先の対話データを第2の自動アシスタントに提供することができる。たとえば、先の例からのクエリは、「サンフランシスコの天気はどうだろうか」を明示的に含まないが、天気情報を提供されるという意図は、そのクエリと先のクエリ(すなわち、「マイアミの天気はどうだろうか」)との関係に基づいて、先の対話に含まれ得る。
【0020】
いくつかの実装形態では、後で呼び出された自動アシスタントが、クエリを果たすのに必要な会話の文脈および/または意図をそれ自体が有していないことを、決定することができる。たとえば、ユーザは、アシスタント1を呼び出して、「わたしが見るべき映画は何だろうか」というクエリを発することがあり、それに対して、アシスタント1は、「映画Aがいい映画です」と応答し得る。ユーザは、その後で、「オーケイ、アシスタント2、それをストリーミングサービスで再生して下さい」と発言することがあり得る。映画の題名(すなわち、「映画A」)はアシスタント2との対話の一部ではないから、アシスタント2は、「それをストリーミングサービスで再生して下さい」というクエリにおける用語「それ」によってユーザが何を意図したのかを決定できるように、アシスタント1との先の対話の文脈、意図、および/または部分を、アシスタント1にリクエストすることがあり得る。いったんアシスタント1が先の対話の文脈を提供すると、アシスタント2は、次に、「それ」が「映画A」を指すということを決定し、リクエストされた映画を再生するために、「ストリーミングサービス」を起動することができる。
【0021】
いくつかの実装形態では、最初に呼び出された自動アシスタントが後で呼び出された自動アシスタントに対話データを提供する前に、スピーカの確認が実行される場合がある。たとえば、ユーザが、「オーケイ、アシスタント1、購入すべきいい映画は何だろうか」と発言すると、アシスタント1が、「映画Aの評価が高いですよ」という応答を提供することがあり得る。ユーザは、その後で、「オーケイ、アシスタント2、それをオンラインストアで購入して下さい」と発言することができる。アシスタント2は、たとえばユーザが「それをオンラインストアで購入して下さい」と発言していることを含み得るオーディオデータと共に、アシスタント2に向けられたクエリの文脈を決定するために、先の対話の一部をリクエストすることができる。先の対話の対話データおよび/または文脈をアシスタント2に提供する前に、アシスタント1は、先の対話のスピーカが「それをオンラインストアで購入して下さい」と発言したのと同じスピーカであるかどうかを決定するために、アシスタント2からのオーディオデータを用いて、確認を行うことがある。たとえば、アシスタント1は、先の対話に関連付けられるスピーカを確認するために、スピーカベクトルを生成する1つまたは複数のオンデバイスモデルを用いて、テキストとは独立なスピーカの確認を実行することができる。その代わりにまたはそれに加えて、アシスタント1は、テキストに従属するスピーカ確認(TDSV)を行うことができ、この確認は、スピーカベクトルを生成し、そのスピーカベクトルが先の対話に関連付けられるスピーカベクトルと一致することを確認するために、オンデバイスTDSVモデルを用いてオーディオデータを処理することにより、行われる。アシスタント1との先の対話と同じスピーカがアシスタント2へのクエリを発したとスピーカの確認が決定する場合には、アシスタント1は、上述されたように、対話データを提供することができる。両方の対話におけるスピーカが同じスピーカだと確認できない場合には、アシスタント1は、スピーカが同じでないおよび/または追加的な対話データが入手可能でないという指示を、アシスタント2に提供することができる。
【0022】
いくつかの実装形態では、確認が、後で呼び出された自動アシスタントに向けられているクエリは先の対話の継続であるかどうか、を決定することを含むことがある。たとえば、最初に呼び出された自動アシスタントとの対話は、ユーザによる「サンフランシスコの天気はどんなだろうか」という発言と、それに続く、最初に呼び出された自動アシスタントからの応答とを含み得る。ユーザは、その後で、「オーケイ、アシスタント2、マイアミはどうだろうか」と発話することがあり得るが、これは、後で呼び出された自動アシスタントに向けられている。後で呼び出された自動アシスタントは、オーディオ(または、対話とスピーカとを示すデータ)の少なくとも一部を、最初に呼び出された自動アシスタントに、提供することができる。確認するために、最初に呼び出された自動アシスタントは、対話データを後で呼び出された自動アシスタントに提供する前に、その発話がユーザとの1つまたは複数の先の対話と関係するかどうかを決定することができる。たとえば、後で呼び出された自動アシスタントは、ユーザが「マイアミはどうだろうか」と発言しているオーディオデータを、送ることができ、最初に呼び出された自動アシスタントは、その発話がサンフランシスコの天気に関する先の対話の文脈と関係し得るということを、決定することができる。
【0023】
こうして、本明細書に記載されている技法を用いることで、最初に呼び出された自動アシスタントがリクエストを果たすことができないときに、またはそれ以外の理由でユーザからのリクエストに応答できないときに、ユーザが第2の自動アシスタントを明示的に呼び出す必要性が軽減される。この結果として、ユーザによる複数の自動アシスタントとの対話の全体的な継続時間が短縮され、ネットワークおよび/または計算リソースの使用がそれに対応して低下する。さらに、最初に呼び出された自動アシスタントが、客観的により完全な応答を返す蓋然性がより高いであろう他の自動アシスタントを知っている場合には、ユーザは、より完全な応答が得られることが可能かどうかを決定するために、第2の自動アシスタントを呼び出すことをユーザ自身が要求されることなく、第2の自動アシスタントの能力を知ることができる。クエリが第2の自動アシスタントに送られることを許容することにより、第2の自動アシスタントとの対話を再開するために要求されるリソースをユーザが使うことを要求されることなく、あるクエリに肯定的に応答する蓋然性が最も高いアシスタントから応答を受け取る際にユーザを助けることによって、ユーザがある自動アシスタントとの会話を長引かせる必要性が軽減される。さらに、対話データを第2の自動アシスタントに提供することによって、第2のアシスタントが、既に提供されている情報を求めるようにユーザを促すことが不要になる。こうして、第1の自動アシスタントに既に提供されている情報をユーザが反復することが要求されることなく、対話の文脈が提供されることが可能になる。
【0024】
以上の説明は、本開示のいくつかの実装形態の概観として、提供されている。これらの実装形態と他の実装形態に関するさらなる説明が、以下で、より詳細に、記載される。
【図面の簡単な説明】
【0025】
図1】本明細書に開示されている実装形態が実装され得る例示的な環境の図解である。
図2】本明細書に開示されている様々な方法が実装され得る例示的な環境のブロック図である。
図3】本明細書に開示されている様々な方法が実装され得る他の例示的な環境のブロック図である。
図4A】第1の自動アシスタントから第2の自動アシスタントへの対話データの転送の図解である。
図4B】スピーカを確認した後での、最初に呼び出された自動アシスタントから後で呼び出された自動アシスタントへの対話の転送の図解である。
図5A】本明細書に開示されている様々な実装形態による、ユーザと第1の自動アシスタントと第2の自動アシスタントとを含む対話の図である。
図5B】本明細書に開示されている様々な実装形態による、ユーザと第1の自動アシスタントと第2の自動アシスタントとを含む対話の図である。
図5C】本明細書に開示されている様々な実装形態による、ユーザと第1の自動アシスタントと第2の自動アシスタントとを含む対話の図である。
図6】本明細書に開示されている様々な実装形態による例示的な方法を図解しているフローチャートである。
図7】本明細書に開示されている様々な実装形態による例示的な方法を図解しているフローチャートである。
図8】本明細書に開示されている様々な実装形態による例示的な方法を図解しているフローチャートである。
図9】コンピューティングデバイスの例示的なアーキテクチャの図解である。
【発明を実施するための形態】
【0026】
図1を参照すると、ユーザ101によって呼び出され得る複数の自動アシスタントを含む例示的な環境が、提供されている。この環境は、マイクロフォン(図示せず)を備えた第1のスタンドアロンの対話型スピーカ105と、マイクロフォン(やはり図示せず)を備えた第2のスタンドアロンの対話型スピーカ110と、を含む。第1のスピーカは、少なくとも部分的には、呼出フレーズを用いて呼び出され得る第1の自動アシスタントを実行させていることがあり得る。第2のスピーカ110は、呼出フレーズを用いて呼び出され得る第2の自動アシスタントを実行させていることがあり得るが、この呼出フレーズは、第1の自動アシスタントと同じ呼出フレーズであるか、発話されたフレーズに基づき、どちらの自動アシスタントを呼び出すべきかをユーザが選択することを可能にする異なるフレーズであるか、のいずれかである。この例示的な環境で、ユーザ101は、第1のスピーカ105と第2のスピーカ110との近傍において、「オーケイ、アシスタント、いいアニメ映画は何かな」という話された発話115を話している。第1および/または第2の自動アシスタントの一方が「オーケイ、アシスタント」というフレーズによって呼び出されるように構成されているならば、呼び出されたアシスタントが、呼出フレーズの後に続くクエリ(すなわち、「いいアニメ映画は何かな」)を処理し得る。
【0027】
いくつかの実装形態では、第1のスピーカ105などのデバイスが、複数の自動アシスタントを実行させ得る。図2を参照すると、複数の自動アシスタントを実行させている複数のクライアントデバイスを含む例示的な環境が、図解されている。このシステムは、第1の自動アシスタント215と第2の自動アシスタント220とを実行させている第1のクライアントデバイス105を含む。第1および第2の自動アシスタントは、それぞれが、オーディオがクライアントデバイス105のマイクロフォン225によって捕捉され得るようにクライアントデバイス105の近傍で、呼出フレーズ(それぞれのアシスタントに対して一意的であるか、または両方のアシスタントを呼び出すのに同じフレーズ)を発話することによって、呼び出され得る。たとえば、ユーザ101は、クライアントデバイス105の近傍で、「オーケイ、アシスタント1」と発話することによって、第1の自動アシスタント215を呼び出し得、さらに、クライアントデバイス105の近傍で「オーケイ、アシスタント2」というフレーズを発話することによって、第2の自動アシスタント220を呼び出し得る。どちらの呼出フレーズが発話されるかに基づき、ユーザは、話されたクエリを処理することにユーザが興味を有するクライアントデバイス105上で実行している複数のアシスタントのどちらかを、指示することができる。この例示的な環境は、さらに、第3の自動アシスタント245を実行させている第2のクライアントデバイス110を含む。第3の自動アシスタントは、それがマイクロフォン230によって捕捉され得るように、「オーケイ、アシスタント3」などの第3の呼出フレーズを用いて呼び出されるように、構成され得る。いくつかの実装形態では、図2の自動アシスタントのうちの1つまたは複数が、欠けている場合がある。さらに、この例示的な環境は、図2には存在しない追加的な自動アシスタントを含むことがある。たとえば、このシステムが、追加的な自動アシスタントを実行させている第3のデバイスを含んでおり、ならびに/または、クライアントデバイス110および/またはクライアントデバイス105が、図解されているよりも、追加的な自動アシスタントをおよび/もしくはより少数の自動アシスタントを実行させている場合があり得る。
【0028】
自動アシスタント215、220、および245は、それぞれが、本明細書に記載されている自動アシスタントの1つまたは複数のコンポーネントを含むことがあり得る。たとえば、自動アシスタント215は、入力されるクエリを処理するためのそれ自体の音声捕捉コンポーネント、入力される視覚データを処理するための視覚捕捉コンポーネント、ホットワード検出エンジン、および/または他のコンポーネントを含み得る。いくつかの実装形態では、自動アシスタント215および220など、同じデバイス上で実行している自動アシスタントは、これらの自動アシスタントの両方によって用いられ得る1つまたは複数のコンポーネントを、共有することができる。たとえば、自動アシスタント215と自動アシスタント220とは、オンデバイス音声認識器、オンデバイスNLUエンジン、および/または他のコンポーネントのうちの1もしくは複数を共有する場合があり得る。
【0029】
いくつかの実装形態では、1つまたは複数の自動アシスタントは、自然言語プロセッサおよび/もしくは自然言語の結果、TTS、ならびに/またはSTTプロセッサなど、1つまたは複数のモジュールを共有することがあり得る。たとえば、図2を再び参照すると、第1の自動アシスタント215と第2の自動アシスタント220との両方は、クライアントデバイス105がオーディオデータを受け取るときに、オーディオデータは一度テキストに処理され次に自動アシスタント215および220に提供され得るように、事前言語処理を共有し得る。また、たとえば、クライアントデバイス105の1つまたは複数のコンポーネントは、本明細書において後述されるように、オーディオデータをテキストに処理し、オーディオデータのテキスト表現を第3の自動アシスタント245に提供し得る。いくつかの実装形態では、オーディオデータは、テキストには処理されることなく、その代わりに、生のオーディオデータとして、自動アシスタントの1つまたは複数に提供されることがあり得る。
【0030】
図3を参照すると、2つの自動アシスタント305および310の一例が、図解されている。図解されているように、最初に呼び出された自動アシスタント305が、第1のクライアントデバイス301上で実行しており、後で呼び出された自動アシスタント310が、第2のクライアントデバイス302上で実行している。しかし、いくつかの実装形態では、自動アシスタント305および310の両方が、図2に図解されているように、同じデバイス上で実行していることも可能である。
【0031】
最初に呼び出された自動アシスタント305は、マイクロフォン320を経由して捕捉され呼出エンジン315によって処理される1つまたは複数のフレーズによって、呼び出されることが可能である。いくつかの実装形態では、最初に呼び出された自動アシスタント305は、ユーザによって、カメラ(図示せず)によって捕捉され呼出エンジン315によって処理される1つまたは複数の身振りを介して呼び出されることが可能である。呼出エンジン315は、話された発話および/または身振りに基づき、ユーザが最初に呼び出された自動アシスタント305を用いることに興味を有するかどうかを決定することができる。同様に、後で呼び出された自動アシスタント310は、フレーズを発したときにユーザが後で呼び出された自動アシスタント310と対話することに興味を有しているかどうかを、後で呼び出された自動アシスタント310の呼出しに固有である類似のフレーズおよび/または身振りによって決定することができる呼出エンジン385を含む。
【0032】
最初に呼び出された自動アシスタント305は、マイクロフォン320によって捕捉される話された発話によってなど、ユーザによって提出されるクエリを処理することができるクエリ処理エンジン330を含む。いくつかの実装形態では、ユーザは、最初に呼び出された自動アシスタント305との対話を進めることができる。たとえば、ユーザは、「きょうの天気はどうですか」というクエリを提出すると、クエリ処理エンジン330は、応答を生成することができ、最初に呼び出された自動アシスタント305は、たとえば、「きょうは晴れで、約摂氏26.7度(華氏80度)です」というように、そのクエリに応答することができる。ユーザは、次に、先のクエリと関係があり得るまたは先のクエリとは無関係の、追加的なクエリを提出し得る。たとえば、ユーザは、あしたの天気を提供されることに興味があることを示す「あしたはどうだろうか」というフォローアップのクエリを提出することができ、クエリ処理エンジン330は、ユーザとの間で生じた対話に基づいて、応答を生成することができる。これに応答して、最初に呼び出された自動アシスタント305は、適切な天気予報を用いて、応答することが可能である。また、たとえば、ユーザは、先のクエリとは関係のない「見るのにいい映画は何かな」という無関係のクエリを提出することも可能であり、先のクエリとは関係のない適切な応答を提供されることになる。
【0033】
いくつかの実装形態では、ユーザが、最初に呼び出された自動アシスタント305が処理することが不可能なクエリを提出する場合もあり得る。たとえば、ユーザは、自動アシスタント305に、「きょうのわたしのカレンダには、何があるかな」というクエリを提出する場合に、自動アシスタント105は、ユーザ101のカレンダアプリケーションへのアクセスを有していないことがあり得る。これに応答して、クエリ処理エンジン330が、「ごめんなさい、わたしは、あなたのカレンダへのアクセスをもっていません」など、否定的な応答を提供することがあり得る。これが生じる場合には、ユーザは、ユーザのカレンダへのアクセスを有している可能性がある後で呼び出された自動アシスタント310に、クエリを提出することが要求され得る。その場合、自動アシスタント310は、「あなたは、きょう、3時に会合があります」などの応答を提供することができる。最初に呼び出された自動アシスタント305と後で呼び出された自動アシスタント310とがユーザのカレンダアプリケーションへのアクセスを有していない場合には、ユーザは、さらに、別の自動アシスタントを呼び出すか、または直接にカレンダアプリケーションにアクセスすることが、要求され得る。よって、このような場合には、ユーザがどちらの自動アシスタントが関心対象である情報を提供することができるのかを決定するために、コンピューティングリソースが浪費される。
【0034】
図4Aを参照すると、ユーザ101と、最初に呼び出された自動アシスタント305と、後で呼び出された自動アシスタント310との間でのデータの流れを図解する、ダイアグラムが提供されている。最初には、対話415が、ユーザ101と最初に呼び出された自動アシスタント305との間で、生じることができる。たとえば、ユーザは、「オーケイ、アシスタントA」など、最初に呼び出された自動アシスタント305を呼び出す1つまたは複数のフレーズを発し得る。このフレーズは、最初に呼び出された自動アシスタント305だけを呼び出し、後で呼び出された自動アシスタント310は呼び出さない、フレーズであり得る。
【0035】
いくつかの場合には、最初に呼び出された自動アシスタント305は、ユーザ101のリクエストを処理するようには構成されていないことがあり得る。いくつかの実装形態では、最初に呼び出された自動アシスタント305が、ユーザに対して、リクエストを、後で呼び出された自動アシスタント310に転送することを示唆する場合があり得る。たとえば、ユーザ101が、「それをストリーミングサービスで再生して下さい」というクエリを提出して、最初に呼び出された自動アシスタント305が、「ストリーミングサービス」と通信するようには構成されていない、および/またはそれ以外の理由で「ストリーミングサービス」とは通信できないことがあり得る。しかし、後で呼び出された自動アシスタント310は、スピーカ370によってブロードキャストされマイクロフォン320によって捕捉される超音波信号など、それが「ストリーミングサービス」と通信できるように構成されている、という指示を提供することがあり得る。そのような場合には、最初に呼び出された自動アシスタント305は、「ごめんなさい、わたしには、それができません。わたしに、アシスタントBに依頼してほしいですか」など、後で呼び出された自動アシスタント310を示唆する応答を用いて、応答することが可能である。いくつかの実装形態では、この示唆が、ユーザ101に提供されないことがあり得る。その代わりに、最初に呼び出された自動アシスタント305が、「それを、ストリーミングサービスで再生して下さい」というリクエストは、後で呼び出された自動アシスタント310にその対話を転送すべきリクエストであると決定することがあり得る。このように、いくつかの場合には、転送の示唆420への肯定的な応答(たとえば、「あなたは、わたしに、アシスタントBにそれをやってもらうように依頼してほしいですか」への応答としての「はい」)が、転送リクエスト425であり得る。さらに、転送の示唆420が存在しない場合には、最初に呼び出された自動アシスタント305が実行するようには構成されていないアクションを実行するというユーザ101のリクエストは、転送リクエストであり得る(たとえば、「それを、ストリーミングサービスで再生して下さい」)。また、たとえば、ユーザの選好として以前に設定されていたアクションを実行してほしいという自動アシスタントに対するリクエストは、そのアクションがリクエストされる場合には、転送リクエストであり得る。
【0036】
いったんユーザ101が転送をリクエストするとおよび/または転送の示唆を確認すると、最初に呼び出された自動アシスタント305は、後で呼び出された自動アシスタント310を、呼び出す(435)ことができる。いくつかの実装形態では、最初に呼び出された自動アシスタント305は、最初に呼び出された自動アシスタント305のアシスタント協働モジュール325を経由して、同じまたは異なるデバイス上で実行している1つまたは複数の追加的な自動アシスタントと、後で呼び出された自動アシスタント310のアシスタント協働モジュール375を経由するなどして、通信し得る。たとえば、最初に呼び出された自動アシスタント305は、ユーザによって呼び出され、アシスタント協働モジュール325は、Wi-Fi、Bluetooth(登録商標)、スピーカ350を介してクライアントデバイス105によってブロードキャストされマイクロフォン365を介して後で呼び出された自動アシスタント310によって受け取られる超音波信号、API390および345、および/または他の通信チャネルなど、1つまたは複数のプロトコルを用い得る。
【0037】
後で呼び出された自動アシスタント310の呼出しの後で、最初に呼び出された自動アシスタント305は、対話データの少なくとも一部を、後で呼び出された自動アシスタント310に転送する(440)ことができる。対話データは、ユーザが発しているリクエストのオーディオデータを含み得るが、これは、次に、後で呼び出された自動アシスタント310によって、ASRおよび/またはNLUを介して、さらに解析され得る。いくつかの実装形態では、最初に呼び出された自動アシスタント305が、ASRおよび/またはNLUを実行する場合があり、対話データが、対話および/またはNLU出力のテキスト表現を含む場合がある。
【0038】
対話データを提供されたことに応答して、クエリ処理エンジン340が、クエリを処理することが可能であり、後で呼び出された自動アシスタント310は、最初に呼び出された自動アシスタント305によって提供された対話データに応答する1つまたは複数のアクションを実行する(430)ことができる。アクションは、たとえば、1もしくは複数のアプリケーションへのアクセス、1もしくは複数の他のデバイスとの通信、サーチの実行、合成された音声出力の提供、および/または後で呼び出された自動アシスタント310が実行するように構成されている他のアクションを含み得る。いったん1つまたは複数のアクションが実行される(430)と、対話は、ユーザと最初に呼び出された自動アシスタント305および/または後で呼び出された自動アシスタント310とのいずれかとの間で、継続し得る。
【0039】
一例として、図5Aを参照すると、ユーザ101と2つの自動アシスタント305および310との間での対話が、図解されている。図解されている対話は、転送の示唆を含まない。最初に、ユーザと最初に呼び出された自動アシスタント305との間で、対話が生じる。この対話は、ユーザが、「オーケイ、アシスタント、いいアニメ映画は何かな?」505とリクエストすることで開始し、それに対して、最初に呼び出された自動アシスタント305が、「映画Aが、いいアニメ映画です」510と、応答する。この場合には、リクエストは、最初に呼び出された自動アシスタント305によって処理されることが可能である。次に、ユーザが、「オーケイ、アシスタント、それをストリーミングサービスで再生して下さい」515とリクエストする。最初に呼び出された自動アシスタント305は、それが、「ストリーミングサービス」にアクセスするおよび/または「ストリーミングサービス」を利用するように構成されていないことを決定することができ、さらに、後で呼び出された自動アシスタント310は、そのリクエストを処理できる(たとえば、「ストリーミングサービス」と通信するように構成されている)ことを決定することができる。最初に呼び出された自動アシスタント305は、後で呼び出された自動アシスタント310を呼び出すことができ、後で呼び出された自動アシスタント310が「映画A」を「ストリーミングサービス」で再生するというアクションを実行することを可能にする対話データを提供することができる。たとえば、最初に呼び出された自動アシスタント305は、対話のオーディオデータ(たとえば、対話部分505、510、および/もしくは515)、対話のテキスト表現、および/またはユーザ101と最初に呼び出された自動アシスタント305との間の対話の意図の他の表現を、提供することができる。それに応答して、後で呼び出された自動アシスタント310は、「ストリーミングサービスで、現在再生中です」520という合成された音声出力を提供すると共に、映画Aをストリーミングサービスで再生する。この場合に、転送リクエストは、1つまたは複数のユーザ選好および/または過去の行動を介して、後で呼び出された自動アシスタント310によって「ストリーミングサービス」のクエリは処理される、というユーザによる先の指示を含み得る。
【0040】
他の例として、図5Bを参照すると、ユーザ101と2つの自動アシスタント305および310との間の対話が、図解されている。この図解されている対話では、ユーザ101には、最初に呼び出された自動アシスタント305との対話の少なくとも一部を後で呼び出された自動アシスタント310に転送するという示唆が、提供されている。最初には、ユーザ101と最初に呼び出された自動アシスタント305との間の対話が、生じる。この対話は、ユーザが、「オーケイ、アシスタント、わたしのカレンダに何があるかな?」525とリクエストすることで、開始する。最初に呼び出された自動アシスタント305は、ユーザのカレンダアプリケーションへのアクセスを有しておらず、他の自動アシスタントによって提供された指示に基づき、本明細書に記載されているように、自動アシスタント310がユーザのカレンダアプリケーションへのアクセスを有していると決定し得る。最初に呼び出された自動アシスタント305は、「わたしは、あなたのカレンダにアクセスできません。わたしにアシスタント2をチェックしてほしいですか?」530と応答する。この応答は、後で呼び出された自動アシスタント310を指す「アシスタント2」に対話を転送することの、ユーザ101に対する明示的な示唆を含む。ユーザ101は、「はい」535と応答して、最初に呼び出された自動アシスタント305は、上述されたように、アシスタント310を呼び出すことができ、さらに、先の対話(または、対話を示すデータ)の全部または一部を、後で呼び出された自動アシスタント310に転送する。後で呼び出された自動アシスタント310は、ユーザのカレンダアプリケーションへのアクセスを有しているから、ユーザのカレンダからの情報を用いて応答する(540)ことによって、対話を継続することができる。
【0041】
図4Bを参照すると、ユーザ101と、最初に呼び出された自動アシスタント305と、後で呼び出された自動アシスタント310との間のデータの流れを図解する、ダイアグラムが提供されている。最初には、対話445が、ユーザ101と最初に呼び出された自動アシスタント305との間で、生じることができる。たとえば、ユーザは、「オーケイ、アシスタントA」など、最初に呼び出された自動アシスタント305を呼び出す1つまたは複数のフレーズを発し得る。このフレーズは、最初に呼び出された自動アシスタント305だけを呼び出し、後で呼び出された自動アシスタント310は呼び出さない、フレーズであり得る。この対話は、最初に呼び出された自動アシスタント305とユーザ101との間で、ユーザ101からの「見るのにいい映画は何かな?」と、それに続いて、最初に呼び出された自動アシスタント305からの「映画Aは、見るのにいい映画です」とのように、継続し得る。
【0042】
最初に呼び出された自動アシスタント305との対話のある時点で、ユーザは、「オーケイ、アシスタントB」など、後で呼び出された自動アシスタント310に固有であるホットワードを発することによって、後で呼び出された自動アシスタント310を呼び出すことがあり得る。ホットワードの後には、「オーケイ、アシスタントB、それをストリーミングサービスで再生して下さい」など、後で呼び出された自動アシスタント310に向けられている対話450が続くことが可能である。このように、この場合には、ユーザ101は、明確に自動アシスタント310を呼び出して、アシスタント310との直接の対話を開始した。
【0043】
いくつかの場合には、後で呼び出された自動アシスタント310は、リクエストに関する意図および/または文脈を決定するために、最初に呼び出された自動アシスタント305との先の対話に関する情報を要求し得る。たとえば、対話445で、ユーザは、「何がいい映画ですか」と発話することがあり得るが、これに対して、最初に呼び出された自動アシスタント305は、「映画Aが、いい映画です」と応答し得る。ユーザ101は、次に、追加的な対話450として、「オーケイ、アシスタントB、それをストリーミングサービスで再生して下さい」と発話し得る。後で呼び出された自動アシスタント310は、いったん呼び出されると、ユーザ101の発話を処理することができる。しかし、この時点では、後で呼び出された自動アシスタント310は、ユーザのリクエストにおける「それ」の意味を解明するための文脈を有していない可能性がある。よって、最初に呼び出された自動アシスタント305は、対話450における文脈および/または意図を決定するために、対話データ465を、後で呼び出された自動アシスタント310に提供することができる。
【0044】
いくつかの実装形態では、後で呼び出された自動アシスタント310が呼び出され、ユーザ101の発話を処理すると、確認モジュール395が、発話のスピーカ(すなわち、ユーザ101)が最初に呼び出された自動アシスタント305との対話に先に参加していたことを確認することができる。いくつかの実装形態では、確認モジュール335は、スピーカ確認データ455を確認モジュール395に提供することが可能であり、確認モジュール395は、最初に呼び出された自動アシスタント305との先の対話のスピーカが、対話445のスピーカと同じスピーカであるかどうかを決定することができる。いくつかの実装形態では、マイクロフォン365は、先の対話の間のユーザの発話からオーディオデータを生成し得、確認モジュール335は、(マイクロフォン365が捕捉した)対話445のスピーカが(やはりマイクロフォン365によって捕捉された)対話450のスピーカと同じかどうかを確認するために、オーディオデータを処理することができる。よって、いくつかの場合には、対話データ445は、後で呼び出された自動アシスタント310によって既に受け取られており、最初に呼び出された自動アシスタント305によって対話データが提供されることは要求されない。
【0045】
スピーカ確認データは、たとえば、後で呼び出された自動アシスタント310のマイクロフォン365によって捕捉された対話の全部または一部、スピーカの音声プロファイル、および/または、対話450のスピーカが対話445と同じスピーカであることを確認モジュール395が確認することを可能にすることができる他のデータを含み得る。いったんスピーカ確認データ455が提供されると、最初に呼び出された自動アシスタント305は、同じスピーカが最初に呼び出された自動アシスタント305との対話に参加したのかどうかを決定することができる。最初に呼び出された自動アシスタント305が、ユーザとの対話が生じたと決定する場合には、最初に呼び出された自動アシスタント305は、確認の確定460を、後で呼び出された自動アシスタント310に提供することができる。この確定は、スピーカが最初に呼び出された自動アシスタント305に関与したことを示し、最初に呼び出された自動アシスタント305は、さらに、ユーザ101と最初に呼び出された自動アシスタント305との間で生じた対話の対話データ465を提供することができる。こうして、後で呼び出された自動アシスタント310は、後で呼び出された自動アシスタント310に関連付けられるマイクロフォンによって先に捕捉された対話450における文脈を決定し、どのような曖昧性も解明することが可能である。後で呼び出された自動アシスタント310は、次に、アプリケーションにアクセスすることおよび/または応答として合成音声を提供することなど、対話450に応答して、1つまたは複数のアクション470を実行し得る。
【0046】
一例として、図5Cを参照すると、ユーザ101と、最初に呼び出された自動アシスタント305と、後で呼び出された自動アシスタント310との間の対話が、図解されている。ユーザ101は、「オーケイ、アシスタント1、購入すべきいい映画は何だろう?」545という話された発話を提供するが、これは、最初に呼び出された自動アシスタント305に向けられている。最初に呼び出された自動アシスタント305は、この発話に対して、「映画Bの評価が高いですよ」550と応答する。それに応答して、ユーザ101は、「オーケイ、アシスタント2、それをオンラインストアで購入して下さい」555という発話を提供するが、これは、後で呼び出された自動アシスタント310に向けられており、後で呼び出された自動アシスタント310を実行しているクライアントデバイスの1つまたは複数のマイクロフォンによって捕捉される。後で呼び出された自動アシスタント310は、発話555は発話545と同じユーザによって提供されたことを最初に呼び出された自動アシスタント305が確認することができるように、最初に呼び出された自動アシスタント305に、発話555を発するユーザのスピーカ確認データを提供することができる。いくつかの実装形態では、いったん同じスピーカが確認されると、後で呼び出された自動アシスタント310に、先の対話データ(たとえば、発話545)が提供されることが可能である。いくつかの実装形態では、後で呼び出された自動アシスタント310は、そのアシスタントを実行しているクライアントデバイスの1つまたは複数のマイクロフォンを経由して発話545を捕捉しており、したがって、先の対話データを既に有していることがあり得る。たとえば、いくつかの実装形態では、後で呼び出された自動アシスタント310は、限定されたオーディオを連続的に捕捉し得、いったん呼び出されると、スピーカが両方の場合に同一であることを確認した後で、最初に呼び出された自動アシスタント305に向けられていた先に捕捉されたオーディオを用い得る。
【0047】
図6は、第1の自動アシスタントとの対話を処理して対話データを第2の自動アシスタントに提供するための例示的な方法600を図解する、フローチャートを示している。便宜上、方法600の動作は、それらの動作を実行するシステムを参照して、説明される。方法600のこのシステムは、クライアントデバイスの1もしくは複数のプロセッサおよび/または他のコンポーネントを含む。さらにまた、方法600の動作は、特定の順序で示されているが、これは、限定することは意味されていない。1つまたは複数の動作が、順序変更、削除、または追加され得る。
【0048】
ステップ605では、最初に呼び出された自動アシスタントが、ユーザとの対話に参加する。最初に呼び出された自動アシスタントは、ユーザによって発せられ呼出エンジン315によって処理された1つまたは複数のホットワードによって、呼び出され得る。いったん呼び出されると、クエリ処理エンジン330が、ユーザの発話を処理し、ユーザの発話に応答して実行すべき1つまたは複数のアクションを決定することができる。たとえば、最初に呼び出された自動アシスタント305は、「オーケイ、アシスタントA」というフレーズと、それに続く「いいアニメ映画は何かな?」というクエリとによって呼び出されることが可能である。クエリ処理エンジン330は、「映画Aが、いい映画です」という応答を決定することができ、この応答は、合成された音声を介して、ユーザに提供され得る。対話は、先の発話に関係する(および/もしくは、最初に呼び出された自動アシスタント305からの応答に関係する)または無関係の発話であるか、いずれかの追加的な発話をユーザが提供することができるように、ユーザと最初に呼び出された自動アシスタント305との間で、継続し得る。
【0049】
ステップ610では、最初に呼び出された自動アシスタントが、対話の一部を第2の自動アシスタントに転送することのリクエストを受け取る。アシスタント協働モジュール325と1つまたは複数の特性を共有するコンポーネントは、後で呼び出された自動アシスタント310など他の自動アシスタントが対話データを処理するように構成されているかどうかを、決定することができる。たとえば、アシスタント協働モジュール375は、スピーカ370を経由する可聴信号ならびに/またはAPI345および390を経由する指示など、最初に呼び出された自動アシスタント305によって受け取られ得るものであって、後で呼び出された自動アシスタント310による処理が可能であるクエリのタイプを示す指示を、提供することができる。一例として、後で呼び出された自動アシスタント310は、ユーザのカレンダアプリケーションと通信するように構成され得、ユーザのカレンダアプリケーションと関係するクエリが後で呼び出された自動アシスタント310によって処理可能であることを、最初に呼び出された自動アシスタント305に示すために、マイクロフォン320によって受け取られることが可能な超音波信号を提供することができる。
【0050】
いくつかの実装形態では、ユーザが、後で呼び出された自動アシスタントに対話データを転送することをリクエストする場合があり得る。いくつかの場合に、ユーザは、最初に呼び出された自動アシスタントとの間で開始された対話が第2の自動アシスタントとの間で継続されることを、明示的にリクエストすることがあり得る。たとえば、ユーザは、「オーケイ、アシスタント1、アシスタント2で曲を再生して下さい」と発話することがあり得る。いくつかの場合に、ユーザは、最初に呼び出された自動アシスタントによって処理されることが不可能なクエリを発することがあり得る。たとえば、最初に呼び出された自動アシスタントとの対話において、ユーザが、「オーケイ、アシスタント、オンラインストアで、映画1を購入して下さい」と発話することがあり得るが、これは、このリクエストを果たすことができる異なる自動アシスタントへの転送リクエストである可能性がある。
【0051】
いくつかの実装形態では、最初に呼び出された自動アシスタントからの転送の示唆に応答して、転送リクエストが、ユーザによって提供されることがある。たとえば、ユーザが、「オーケイ、アシスタント1、わたしのカレンダに何があるかな?」と発話し、最初に呼び出された自動アシスタントは、そのリクエストを果たすように構成されていないことがあり得る。最初に呼び出された自動アシスタントは、「わたしは、あなたのカレンダにアクセスできません。あなたは、わたしに、アシスタント2に頼んでほしいですか?」と、応答することができる。ユーザは、すると、「はい」などの、転送リクエストを発し得、最初に呼び出された自動アシスタント305は、対話データを転送するために、後で呼び出された自動アシスタント310を呼び出すことができる。
【0052】
いくつかの実装形態では、後で呼び出された自動アシスタント310が、対話データの転送をリクエストすることがあり得る。たとえば、いくつかの場合には、ユーザ101が、最初に呼び出された自動アシスタント305を呼び出して、図5Cに図解されている対話などの対話に参加することがある。対話のどこかの時点で、ユーザは、最初に呼び出された自動アシスタント305と対話することを停止し、その代わりに、対話555(すなわち、「オーケイ、アシスタント2、それをオンラインストアで購入して下さい」)を用いて、後で呼び出された自動アシスタントを呼び出す。この時点で、後で呼び出された自動アシスタント310は、先の会話へのアクセスを有していない可能性があり得るが、その理由は、対話の順番である545および550が生じている間には、後で呼び出された自動アシスタント310は、呼び出されていなかったからである。そのような場合には、後で呼び出された自動アシスタント310は、最初に呼び出された自動アシスタント305に、後で呼び出された自動アシスタント310に対話(または対話を示すデータ)を転送することのリクエストを、提出することができる。
【0053】
いくつかの実装形態では、後で呼び出された自動アシスタント310は、最初に呼び出された自動アシスタント305との対話のスピーカが後で呼び出された自動アシスタント310を呼び出した(そして、その後で対話した)スピーカと同じスピーカであることを確認するために、対話データの転送リクエストと共に、音声確認データを、最初に呼び出された自動アシスタント305に提供することができる。たとえば、図3を参照すると、確認モジュール335は、1つまたは複数の通信チャネルを経由して、呼出しおよび/または発話のスピーカを示すデータを、後で呼び出された自動アシスタント310に提供することができる。確認モジュール395は、たとえば、後で呼び出された自動アシスタント310に向けられた発話の音声プロファイルデータおよび/またはオーディオデータに基づき、先の対話のスピーカが後の発話と同じユーザ101であることを決定することができる。確認の際には、ステップ615において、対話データが、最初に呼び出された自動アシスタント305によって、第2の(すなわち、後で呼び出された)自動アシスタント310に提供される。
【0054】
いくつかの実装形態では、対話データは、先の対話のオーディオデータであり得るが、それに対して、クエリ処理エンジン340が、後の発話のための意図および/または文脈を決定することができる。いくつかの実装形態では、意図および/または文脈は、最初に呼び出された自動アシスタント305のクエリ処理エンジン330によって決定され得、この意図および/または文脈は、対話データとして、後で呼び出された自動アシスタント310に提供され得る。それらの実装形態では、クエリ処理エンジン340が、後の発話と先の対話とに基づき、実行すべき1つまたは複数のアクションを決定することができる。
【0055】
ステップ620では、第2の自動アシスタントが、対話データを提供されたことに応答して、1つまたは複数のアクションを実行する。アクションは、たとえば、後で呼び出された自動アシスタントが、先の対話の意図および/または文脈に基づいて解明される発話に基づいて、リクエストを果たすおよび/または応答を提供することを含み得る。いくつかの実装形態では、アクションは、後で呼び出された自動アシスタントが、1つまたは複数の他のアプリケーションと対話することを含み得る。たとえば、図5Cの対話を再び参照すると、後で呼び出された自動アシスタント310によって実行されるアクションは、オンラインストアのアプリケーションおよび/またはウェブサイトと対話することを含み得る。他のアクションは、後で呼び出された自動アシスタント310が、それが果たすように構成されている応答、カレンダアプリケーションとの対話、ストリーミングサービスとの対話、および/または他のアプリケーションとの対話によって、応答することを含み得る。
【0056】
図7は、ユーザと最初に呼び出された自動アシスタントとの間での対話からの対話データを処理するために、承認を、第2の自動アシスタントに提供するための例示的な方法700を図解するフローチャートを示している。ステップ705では、話されたクエリが、第1の自動アシスタントによって、受け取られる。第1の自動アシスタントは、1つまたは複数の特性を、最初に呼び出された自動アシスタント305と共有することができる。いくつかの実装形態では、ステップ705は、1つまたは複数の特性を、図6のステップ605と共有することができる。
【0057】
ステップ710では、第1の自動アシスタントが、ユーザと第1の(呼び出された)自動アシスタントとの間での先の対話を識別する。この対話は、ユーザの1つまたは複数の発話と、第1の自動アシスタントの1つまたは複数の応答とを含み得る。たとえば、図5Bを参照すると、先の対話は、第1の自動アシスタント305の応答530と共に、ユーザが発話525を発することを含み得る。先の対話データは、1つまたは複数の特性をクエリ処理エンジン330と共有するコンポーネントによって、決定されることが可能である。
【0058】
ステップ715では、第2の自動アシスタントの承認が、第1の自動アシスタント305に提供されることが可能である。たとえば、承認は、ユーザ101の発話535を含み得るが、これは、転送の示唆530に含まれる。また、たとえば、図5Aを参照すると、転送の承認は、第2の自動アシスタント310との同じ対話を継続することのユーザ101による承認を示す発話515など、ユーザ101の発話によって、含意され得る。
【0059】
ステップ720では、クエリの指示が、第2の自動アシスタントに提供される。いくつかの実装形態では、ステップ720は、図6のステップ615と、1つまたは複数の特性を共有することができる。たとえば、この指示は、第1の自動アシスタントとユーザとの間で先に生じた対話、対話の意図および/もしくは文脈、ならびに/または第2の自動アシスタントに向けられた後の発話のために第2の自動アシスタントが1もしくは複数の意図を解明するおよび/もしくは文脈を決定することを可能にする他のデータを含み得る。
【0060】
ステップ725では、1つまたは複数のアクションが、第2の自動アシスタントに向けられているユーザの発話に応答して、第2の自動アシスタントによって、実行され得る。ステップ725は、図6のステップ620と、1つまたは複数の特性を共有することがある。たとえば、1つまたは複数のアクションは、第2の自動アシスタントが、それが応答するように構成されている応答を提供するおよび/または1つまたは複数のアプリケーションと対話することを含むことがあり得る。
【0061】
図8は、最初に呼び出された自動アシスタントとの対話のスピーカが、後で呼び出された自動アシスタントによる対話データの処理のリクエストのスピーカと同じであることを確認するための例示的な方法800を図解するフローチャートを示している。
【0062】
ステップ805では、後で呼び出された自動アシスタントが先の対話データを用いることをリクエストしている話された発話を提供したユーザが、決定される。たとえば、図5Cを参照すると、発話555は、自動アシスタント310を呼び出し、対話データが後で呼び出された自動アシスタント310に転送されることをリクエストする発話である。いくつかの実装形態では、対話データの転送リクエストは、「オーケイ、アシスタント、アシスタント2がこのリクエストを処理できるかどうか、確認して下さい」というように、第1の自動アシスタント305に向けられ得る。いくつかの実装形態では、対話データの転送リクエストは、図5Cに図解されているように、後で呼び出された自動アシスタント310に向けられ得る。いくつかの実装形態では、ユーザによるリクエストは、図5Bに図解されているように、対話データを転送する示唆に、応答し得る。
【0063】
ステップ810では、話された発話を捕捉するオーディオデータが、決定される。このオーディオデータは、1つまたは複数の特性をマイクロフォン365および/またはマイクロフォン320と共有するコンポーネントによって捕捉されることが可能である。たとえば、マイクロフォン320が、話された発話を捕捉し、アシスタント協働モジュール325が、そのオーディオデータを、後で呼び出された自動アシスタント310に転送することができる。また、たとえば、マイクロフォン365は、オーディオデータを直接に捕捉することが可能であり、このオーディオデータは、転送リクエストであることに加えて、呼出エンジン385を経由して、後で呼び出された自動アシスタント310を呼び出すことができる。
【0064】
ステップ815では、1つまたは複数のコンポーネントが、オーディオデータが先の対話と同じユーザによって提供されたかどうかを決定する。この1つまたは複数のコンポーネントは、1つまたは複数の特性を、確認モジュール335および/または確認モジュール395と共有することができる。たとえば、オーディオデータは、マイクロフォン365によって捕捉され、最初に呼び出された自動アシスタント305に送られることが可能であり、確認モジュール395は、オーディオデータが先の対話と同じユーザによって提供されたかどうかを決定することができる。また、たとえば、最初に呼び出された自動アシスタント305は、後で呼び出された自動アシスタント310に、確認データを提供することができ、確認モジュール335は、(マイクロフォン365によって捕捉された)話された発話のスピーカが、先の対話と同じスピーカであるかどうかを決定することができる。
【0065】
ステップ820では、先の対話データが、後で呼び出された自動アシスタントに提供される。先の対話データは、先の対話のオーディオデータ、先の対話の意図および/もしくは文脈、ならびに/またはユーザの後の発話のための意図および/もしくは文脈を決定するために後で呼び出された自動アシスタントによって利用されることが可能な他のデータを含み得る。いくつかの実装形態では、ステップ815の確認が、スピーカが先の対話とは同じでないことを示す場合には、1つまたは複数のコンポーネントが、対話データが、後で呼び出された自動アシスタント310に転送されることを防止し得る。
【0066】
図9は、本明細書に記載されている技法の1つまたは複数の態様を実行するためにオプショナルに用いられ得る例示的なコンピューティングデバイス910のブロック図である。コンピューティングデバイス910は、典型的には、いくつかの周辺デバイスとバスサブシステム912を介して通信する少なくとも1つのプロセッサ914を含む。これらの周辺デバイスは、たとえばメモリサブシステム925とファイルストレージサブシステム926とを含むストレージサブシステム924と、ユーザインターフェース出力デバイス920と、ユーザインターフェース入力デバイス922と、ネットワークインターフェースサブシステム916と、を含み得る。入力デバイスおよび出力デバイスにより、ユーザとコンピューティングデバイス910との対話が可能になる。ネットワークインターフェースサブシステム916は、外部ネットワークへのインターフェースを提供し、他のコンピューティングデバイスにおける対応するインターフェースデバイスに結合されている。
【0067】
ユーザインターフェース入力デバイス922は、マウス、トラックボール、タッチパッド、もしくはグラフィクスタブレットなどのポインティングデバイス、キーボード、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピューティングデバイス910または通信ネットワークに情報を入力するための、すべての可能性のあるタイプのデバイスおよび方法を含むことが意図されている。
【0068】
ユーザインターフェース出力デバイス920は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的なディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または、可視的な画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムは、また、オーディオ出力デバイスなど、非視覚的なディスプレイを提供する場合もあり得る。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス910からの情報をユーザまたは他のマシンもしくはコンピューティングデバイスに出力するための、すべての可能性のあるタイプのデバイスおよび方法を含むことが意図されている。
【0069】
ストレージサブシステム924は、本明細書に記載されているモジュールの一部または全部の機能を提供するプログラミングおよびデータ構成物を記憶する。たとえば、ストレージサブシステム924は、図6図8の方法の選択された態様を実行するための、および/または、図2図4に示されている様々なコンポーネントを実装するためのロジックを含み得る。
【0070】
これらのソフトウェアモジュールは、一般に、単独で、または他のプロセッサとの組合せとして、プロセッサ914によって実行される。ストレージサブシステム924において使用されるメモリ925は、いくつかのメモリを含み得、これには、プログラム実行の間の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)930と、固定された命令が記憶されているリードオンリメモリ(ROM)932と、が含まれる。ファイルストレージサブシステム926は、プログラムおよびデータファイルのための永続的なストレージを提供することが可能であり、ハードディスクドライブ、関連のリムーバブルメディアを伴うフロッピ(登録商標)ディスクドライブ、CD-ROMドライブ、光学ドライブ、またはリムーバブルメディアカートリッジを含み得る。いくつかの実装形態の機能を実装するモジュールは、ストレージサブシステム924の中のファイルストレージサブシステム926によって、またはプロセッサ914によってアクセス可能な他のマシンに、記憶され得る。
【0071】
バスサブシステム912は、コンピューティングデバイス910の様々なコンポーネントおよびサブシステムを、意図されるように互いに通信させるための機構を提供する。バスサブシステム912は、概略的に単一のバスとして示されているが、このバスサブシステムの代替的な実装形態が、複数のバスを用いることもあり得る。
【0072】
コンピューティングデバイス910は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、またはいずれかの他のデータ処理システムもしくはコンピューティングデバイスを含む、様々なタイプのものであり得る。コンピュータおよびネットワークの性質は絶えず変化するため、図9に示されているコンピューティングデバイス910に関する記載は、いくつかの実装形態を図解することを目的とする特定の例として意図されているにすぎない。図9に示されているコンピューティングデバイスよりも多数または少数のコンポーネントを有する、コンピューティングデバイス910の多くの他の構成が可能である。
【0073】
いくつかの実装形態では、1つまたは複数のプロセッサによって実装される方法が提供され、この方法は、ユーザと最初に呼び出された自動アシスタントとの間での対話の最中に、最初に呼び出された自動アシスタントにより、ユーザを伴う環境における第1のクライアントデバイスの第1の自動アシスタントのインターフェースを経由して、最初に呼び出された自動アシスタントに向けられているユーザの話された発話を、対話の一部として受け取るステップと、最初に呼び出された自動アシスタントにより、話された発話を処理して、話された発話への応答を生成するステップと、最初に呼び出された自動アシスタントにより、話された発話への応答を、対話の一部として、第1のクライアントデバイスによってレンダリングさせるステップと、最初に呼び出された自動アシスタントにより、応答をレンダリングさせた後で、第1の自動アシスタントによって対話の一部として生成された対話データを第2の自動アシスタントに転送することのリクエストを受け取るステップと、を含む。リクエストを受け取ったことに応答して、この方法は、さらに、第1の自動アシスタントにより、第2の自動アシスタントとの通信チャネルを経由して、対話データを第2の自動アシスタントに提供するステップを含み、対話データを提供するステップは、第2の自動アシスタントに、対話データに基づき、1つまたは複数のアクションを実行させる。
【0074】
本明細書に開示されている技術のこれらのおよび他の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。
【0075】
いくつかの実装形態では、転送することのリクエストは、最初に呼び出された自動アシスタントに向けられた、ユーザの追加的な話された発話である。
【0076】
いくつかの実装形態では、転送することのリクエストは、第2の自動アシスタントからの、話された発話を処理することのリクエストである。それらの実装形態のうちのいくつかでは、転送することのリクエストは、話された発話を示すオーディオデータを含む。それらの実装形態のうちのいくつかでは、この方法は、最初に呼び出された自動アシスタントにより、スピーカ確認モデルを用いてオーディオデータを処理することに基づき、ユーザがオーディオデータによって示されるスピーカであることを確認するステップをさらに含み、対話データを第2の自動アシスタントに提供するステップは、ユーザがオーディオデータによって示されるスピーカであることを確認するステップに左右される。
【0077】
いくつかの実装形態では、第2の自動アシスタントは、第1のデバイスから離れた第2のデバイス上で動作しており、1つまたは複数のアクションは、第2のクライアントデバイスを経由してユーザに提供される第2のアシスタントのオーディオ出力を生成することを含む。
【0078】
いくつかの実装形態では、処理することのリクエストは、第2の自動アシスタントによって実行される1つまたは複数のアクションの指示を含み、最初に呼び出されたアシスタントは、1つまたは複数のアクションを実行することが不可能である。
【0079】
いくつかの実装形態では、1つまたは複数のプロセッサによって実装される他の方法が提供され、この方法は、最初に呼び出された自動アシスタントの最初に呼び出された自動アシスタントクライアントによって、ユーザの環境における第1のクライアントデバイスの1つまたは複数のマイクロフォンによって生成されたオーディオデータにおいて捕捉されるユーザの話されたクエリを受け取るステップであって、第1の自動アシスタントクライアントは、第1のクライアントデバイス上にインストールされている、ステップと、ユーザとオーディオデータによって指示された最初に呼び出された自動アシスタントとの間での先の対話に基づき、対話の1つまたは複数の用語によって指示されたユーザ意図を識別するステップと、環境における第2のクライアントデバイス上にインストールされた第2の自動アシスタントクライアントに、ユーザ意図に基づきクエリを処理する承認を提供するステップと、最初に呼び出された自動アシスタントクライアントにより、第2の自動アシスタントクライアントとの通信チャネルを経由して、クエリの指示とユーザ意図とを第2の自動アシスタントクライアントに提供するステップと、を含み、指示とユーザ意図とを提供することにより、第2の自動アシスタントクライアントが、1つまたは複数のアクションを実行する。
【0080】
本明細書に開示されている技術のこれらのおよび他の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。
【0081】
いくつかの実装形態では、通信チャネルは、超音波通信チャネルを含み、クエリの指示とユーザ意図とを第2の自動アシスタントクライアントに提供するステップは、クエリの指示とユーザ意図とを組み入れた超音波信号を、第1のクライアントデバイスの1つまたは複数のスピーカを経由してレンダリングさせるステップを含む。
【0082】
いくつかの実装形態では、この方法は、第2の自動アシスタントクライアントにクエリを処理するようにリクエストする第2の話されたクエリを、ユーザから受け取るステップをさらに含み、承認を提供するステップは、第2の話されたクエリを受け取ったことに応答する。
【0083】
いくつかの実装形態では、この方法は、第1の自動アシスタントはユーザ意図を処理することができないことを決定するステップと、承認を提供するようにという示唆をユーザに提供するステップと、承認をユーザから受け取るステップと、をさらに含み、承認は、承認をユーザから受け取ったことに応答して、第2の自動アシスタントクライアントに提供される。
【0084】
いくつかの実装形態では、この方法は、テキストクエリを生成するために、話されたクエリを捕捉する自動音声認識をオーディオデータに対して実行するステップをさらに含み、クエリの指示はテキストクエリである。
【0085】
いくつかの実装形態では、1つまたは複数のプロセッサによって実装される他の方法が提供され、この方法は、最初に呼び出された自動アシスタントにおいて、最初に呼び出された自動アシスタントを用いたユーザの先の対話からの対話データを後で呼び出された自動アシスタントが用いるようにリクエストする話された発話を、ユーザが提供したことを決定するステップを含む。ユーザが話された発話を提供したとの決定に応答して、この方法は、最初に呼び出された自動アシスタントによって、話された発話を捕捉するオーディオデータを処理するステップと、最初に呼び出された自動アシスタントにより、処理に基づき、先の対話に関与したのと同じユーザによってオーディオデータが提供されたかどうかを決定するステップと、をさらに含む。ユーザが同じユーザであると決定されるときには、この方法は、先の対話データを後で呼び出された自動アシスタントに提供するステップをさらに含む。ユーザが同じユーザではないと決定されるときには、この方法は、対話データの提供を回避するステップを含む。
【0086】
本明細書に開示されている技術のこれらのおよび他の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。
【0087】
いくつかの実装形態では、オーディオデータは、最初に呼び出された自動アシスタントを実行する第1のデバイスのマイクロフォンによって捕捉される。
【0088】
いくつかの実装形態では、オーディオデータは、後で呼び出された自動アシスタントを実行する第2のデバイスのマイクロフォンによって捕捉される。
【0089】
いくつかの実装形態では、話された発話は、最初に呼び出された自動アシスタントに向けられている。
【0090】
いくつかの実装形態では、話された発話は、後で呼び出された自動アシスタントに向けられている。
【0091】
いくつかの実装形態では、先の対話データは、最初に呼び出された自動アシスタントを実行する第1のクライアントデバイスのスピーカによって生成される人間によらない可聴信号を経由して提供され、後で呼び出された自動アシスタントを実行する第2のクライアントデバイスの1つまたは複数のマイクロフォンによって受け取られる。
【0092】
いくつかの実装形態では、先の対話データは、最初に呼び出された自動アシスタントと後で呼び出された自動アシスタントとの間のアプリケーションプログラミングインターフェースを経由して提供される。
【0093】
いくつかの実装形態では、先の対話データは、ユーザと最初に呼び出された自動アシスタントとの間での対話のテキスト表現を含む。
【0094】
いくつかの実装形態では、先の対話データは、ユーザと最初に呼び出された自動アシスタントとの間での対話を捕捉するオーディオデータを含む。
【0095】
本明細書で検討されている特定の実装形態が、ユーザに関する個人情報(たとえば、他の電子的な通信から抽出されたユーザデータ、ユーザのソーシャルネットワークに関する情報、ユーザの位置、ユーザの時間、ユーザのバイオメトリック情報、ならびにユーザの活動およびデモグラフィック情報、複数のユーザ間の関係など)を収集するまたは用い得る状況においては、ユーザには、情報が収集されるかどうか、個人情報が記憶されるかどうか、個人情報が用いられるかどうか、およびその情報がユーザに関してどのように収集され、記憶され、用いられるかを制御する1つまたは複数の機会が提供される。すなわち、本明細書で検討されているシステムおよび方法は、関連するユーザからそのようなことを行うための明示的な承認を受け取るときにのみ、ユーザの個人情報を収集し、記憶し、および/または用いる。
【0096】
たとえば、ユーザには、プログラムまたは特徴が、その特定のユーザまたはプログラムもしくは特徴に関連するその他のユーザに関して、ユーザ情報を収集するかどうかの制御が提供される。個人情報が収集される各ユーザには、情報が収集されるかどうかと、情報のどの部分が収集されるのかと、に関する許可または承認を提供するため、そのユーザに関連する情報収集を制御することを可能にする1つまたは複数の選択肢が提示される。たとえば、ユーザには、通信ネットワークを介して、1つまたは複数のそのような制御の選択肢を与えられ得る。さらに、特定のデータは、個人を識別可能な情報が削除されるように、記憶されるかまたは使用される前に、1つまたは複数の方法で処理され得る。一例として、ユーザの識別情報は、個人を識別可能な情報が決定されることが不可能となるように、処理され得る。他の例としては、ユーザの地理的位置は、ユーザの特定の位置が決定不可能となるように、より広い地域に一般化され得る。
【0097】
本明細書では、いくつかの実装形態について記載され、例示されてきたが、本明細書に記載されている機能を実行するための様々な他の手段および/または構造、および/または本明細書に記載されている結果および/もしくは効果の1もしくは複数を取得するための様々な他の手段ならびに/または構造が用いられ得、そのような変形および/または修正は、それぞれが、本明細書に記載されている実装形態の範囲に属すると考えられる。より一般的には、本明細書に記載されたすべてのパラメータ、寸法、材料、および構成は、例示的であることが意図されており、実際のパラメータ、寸法、材料、および/または構成は、特定の応用例もしくはこれらの教示が用いられる応用例に依存する。当業者であれば、僅かにルーチン的な実験だけを用いることで、本明細書に記載されている特定の実装形態との多くの均等物を認識し、または確認することができるだろう。したがって、以上の実装形態は例示として提示されているのであって、特定して記載および主張されているのとは異なり、添付されている特許請求の範囲とその均等物の範囲内で、実装形態が実現され得る、ということが理解されるべきである。本開示の実装形態は、本明細書に記載されているそれぞれの個別的な特徴、システム、物品、材料、キット、および/または方法に向けられている。さらに、それらの特徴、システム、物品、材料、キット、および/もしくは方法の2以上のいずれかの組合せも、互いに矛盾することなく、本開示の範囲内に属する。
【符号の説明】
【0098】
105 クライアントデバイス
110 クライアントデバイス
215 第1の自動アシスタント
220 第2の自動アシスタント
225 マイクロフォン
230 マイクロフォン
245 第3の自動アシスタント
301 クライアントデバイス
302 クライアントデバイス
305 最初に呼び出された自動アシスタント
310 後で呼び出された自動アシスタント
315 呼出エンジン
320 マイクロフォン
325 アシスタント協働モジュール
330 クエリ処理エンジン
335 確認モジュール
340 クエリ処理エンジン
345 API
350 スピーカ
365 マイクロフォン
370 スピーカ
375 アシスタント協働モジュール
385 呼出エンジン
390 API
395 確認モジュール
415 対話
420 転送の示唆
425 転送リクエスト
430 アクションの実行
435 呼出し
440 対話データ
445 対話
450 対話
455 スピーカ確認データ
460 確認の確定
465 対話データ
470 アクションの実行
914 プロセッサ
916 ネットワークインターフェース
920 ユーザインターフェース出力デバイス
922 ユーザインターフェース入力デバイス
924 ストレージサブシステム
925 メモリサブシステム
926 ファイルストレージサブシステム
930 RAM
932 ROM
図1
図2
図3
図4A
図4B
図5A
図5B
図5C
図6
図7
図8
図9
【手続補正書】
【提出日】2023-08-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実装される方法であって、
ユーザと最初に呼び出された自動アシスタントとの間での対話の最中に、
前記最初に呼び出された自動アシスタントにより、ユーザを伴う環境におけるクライアントデバイスの第1の自動アシスタントのインターフェースを経由して、前記最初に呼び出された自動アシスタントに向けられている前記ユーザの話された発話を、前記対話の一部として受け取るステップと、
前記最初に呼び出された自動アシスタントにより、前記話された発話を処理して、前記話された発話への応答を生成するステップと、
前記最初に呼び出された自動アシスタントにより、前記話された発話への応答を、前記対話の一部として、前記クライアントデバイスによってレンダリングさせるステップと、
前記最初に呼び出された自動アシスタントにより、前記応答をレンダリングさせた後で、前記第1の自動アシスタントによって前記対話の一部として生成された対話データを第2の自動アシスタントに転送することのリクエストを受け取るステップと、
前記リクエストを受け取ったことに応答して、
前記最初に呼び出された自動アシスタントにより、前記第2の自動アシスタントとの通信チャネルを経由して、前記対話データを前記第2の自動アシスタントに提供するステップと、
を含み、
前記対話データを提供するステップは、前記第2の自動アシスタントに、前記対話データに基づき、1つまたは複数のアクションを実行させる、方法。
【請求項2】
転送することの前記リクエストは、前記最初に呼び出された自動アシスタントに向けられた前記ユーザの追加的な話された発話である、請求項1に記載の方法。
【請求項3】
転送することの前記リクエストは、前記第2の自動アシスタントからの、前記話された発話を処理することのリクエストである、請求項1に記載の方法。
【請求項4】
転送することの前記リクエストは、前記話された発話を示すオーディオデータを含む、請求項3に記載の方法。
【請求項5】
前記最初に呼び出された自動アシスタントにより、スピーカ確認モデルを用いてオーディオデータを処理することに基づき、前記ユーザが前記オーディオデータによって示されるスピーカであることを確認するステップをさらに含み、
前記対話データを前記第2の自動アシスタントに提供するステップは、前記ユーザが前記オーディオデータによって示される前記スピーカであることを確認するステップに左右される、請求項4に記載の方法。
【請求項6】
前記第2の自動アシスタントは、第1のクライアントデバイスから離れた他のクライアントデバイス上で動作しており、前記1つまたは複数のアクションは、前記他のクライアントデバイスを経由して前記ユーザに提供される第2のアシスタントのオーディオ出力を生成することを含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記対話データは、前記第2の自動アシスタントによって実行される前記1つまたは複数のアクションの指示を含み、前記最初に呼び出されたアシスタントは、前記1つまたは複数のアクションを実行することが不可能である、請求項1から6のいずれか一項に記載の方法。
【請求項8】
最初に呼び出された自動アシスタントクライアントによって、ユーザの環境における第1のクライアントデバイスの1つまたは複数のマイクロフォンによって生成されたオーディオデータにおいて捕捉される前記ユーザの話されたクエリを受け取るステップであって、第1の自動アシスタントクライアントは、前記第1のクライアントデバイス上にインストールされている、ステップと、
前記ユーザと前記オーディオデータによって指示された前記最初に呼び出された自動アシスタントとの間での先の対話に基づき、前記対話の1つまたは複数の用語によって指示されたユーザ意図を識別するステップと、
前記環境における第2のクライアントデバイス上にインストールされた第2の自動アシスタントクライアントに、前記ユーザ意図に基づき前記クエリを処理する承認を提供するステップと、
前記最初に呼び出された自動アシスタントクライアントにより、前記第2の自動アシスタントクライアントとの通信チャネルを経由して、前記クエリの指示と前記ユーザ意図とを前記第2の自動アシスタントクライアントに提供するステップと、
を含み、
前記指示と前記ユーザ意図とを提供するステップは、前記第2の自動アシスタントクライアントに、1つまたは複数のアクションを実行させる、コンピュータ実装方法。
【請求項9】
前記通信チャネルは、超音波通信チャネルを含んでおり、前記クエリの前記指示と前記ユーザ意図とを前記第2の自動アシスタントクライアントに提供するステップは、
前記クエリの前記指示と前記ユーザ意図とを組み入れた超音波信号を、前記第1のクライアントデバイスの1つまたは複数のスピーカを経由してレンダリングさせるステップを含む、請求項8に記載の方法。
【請求項10】
前記第2の自動アシスタントクライアントに前記クエリを処理するようにリクエストする第2の話されたクエリを、前記ユーザから受け取るステップをさらに含み、前記承認を提供するステップは、前記第2の話されたクエリを受け取ったことに応答する、請求項8または9に記載の方法。
【請求項11】
前記第1の自動アシスタントクライアントは前記ユーザ意図を処理することができないことを決定するステップと、
前記第1の自動アシスタントクライアントは前記ユーザ意図を処理することができないという決定に応答して、前記承認を提供するようにという示唆を前記ユーザに提供するステップと、
前記承認を前記ユーザから受け取るステップであって、前記承認は、前記承認を前記ユーザから受け取ったことに応答して、前記第2の自動アシスタントクライアントに提供される、ステップと、
をさらに含む、請求項8から10のいずれか一項に記載の方法。
【請求項12】
テキストクエリを生成するために前記話されたクエリを捕捉する自動音声認識を前記オーディオデータに対して実行するステップをさらに含み、前記クエリの前記指示は前記テキストクエリである、請求項8から11のいずれか一項に記載の方法。
【請求項13】
最初に呼び出された自動アシスタントにおいて、前記最初に呼び出された自動アシスタントを用いたユーザの先の対話からの先の対話データを後で呼び出された自動アシスタントが用いるようにリクエストする話された発話を、前記ユーザが提供したことを決定するステップと、
前記ユーザが前記話された発話を提供したとの決定に応答して、
前記最初に呼び出された自動アシスタントによって、前記話された発話を捕捉するオーディオデータを処理するステップと、
前記最初に呼び出された自動アシスタントにより、前記処理に基づき、前記先の対話に関与したのと同じユーザによって前記オーディオデータが提供されたかどうかを決定するステップと、
前記ユーザが前記同じユーザであると決定されるときには、
前記先の対話データを前記後で呼び出された自動アシスタントに提供し、
前記ユーザが前記同じユーザではないと決定されるときには、
前記対話データの提供を回避するステップと、
を含む、コンピュータ実装方法。
【請求項14】
前記オーディオデータは、前記最初に呼び出された自動アシスタントを実行する第1のデバイスのマイクロフォンによって捕捉される、請求項13に記載の方法。
【請求項15】
前記オーディオデータは、前記後で呼び出された自動アシスタントを実行する第2のデバイスのマイクロフォンによって捕捉される、請求項13に記載の方法。
【請求項16】
前記話された発話は、前記最初に呼び出された自動アシスタントに向けられている、請求項13から15のいずれか一項に記載の方法。
【請求項17】
前記話された発話は、前記後で呼び出された自動アシスタントに向けられている、請求項13から15のいずれか一項に記載の方法。
【請求項18】
前記先の対話データは、前記最初に呼び出された自動アシスタントを実行する第1のクライアントデバイスのスピーカによって生成される人間によらない可聴信号を経由して提供され、前記後で呼び出された自動アシスタントを実行する第2のクライアントデバイスの1つまたは複数のマイクロフォンによって受け取られる、請求項13から17のいずれか一項に記載の方法。
【請求項19】
前記先の対話データは、前記最初に呼び出された自動アシスタントと前記後で呼び出された自動アシスタントとの間のアプリケーションプログラミングインターフェースを経由して提供される、請求項13から17のいずれか一項に記載の方法。
【請求項20】
前記先の対話データは、前記ユーザと前記最初に呼び出された自動アシスタントとの間での対話のテキスト表現を含む、請求項13から19のいずれか一項に記載の方法。
【請求項21】
コンピューティングシステムの1つまたは複数のプロセッサによって実行されると、請求項1から20のいずれか一項に記載の方法を前記コンピューティングシステムに実行させる、コンピュータプログラム。
【請求項22】
請求項1から20のいずれか一項に記載の方法を実行するように構成された1つまたは複数のコンピューティングデバイス。
【国際調査報告】