(57)【要約】      （修正有）【課題】非自動化アシスタントアプリケーションがレンダリングしたグラフィカルユーザインターフェースにおいて選択可能要素を提示し、ユーザ選択に応答して自動化アシスタントアプリケーション内のエージェントモジュールを起動する方法を提供する。【解決手段】非自動化アシスタントアプリケーションは、レンダリングしたグラフィカルユーザインタフェースにおいて、エージェントが起動可能な場合に選択可能要素を提示する。選択可能要素の選択により、自動化アシスタントアプリケーションは利用可能なエージェントのうち１つを起動する。自動化アシスタントアプリケーションは、エージェントの応答内容を受け取り、応答内容に基づき対応する内容を自動化アシスタントインターフェースを介して出力する。【選択図】図６
2020173846.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実装される方法であって、
コンピューティングデバイスの第1のアプリケーションによってレンダリングされたグラフィカルユーザインターフェースにおける選択可能要素の選択を前記プロセッサのうちの1つまたは複数によって受け取るステップであって、前記第1のアプリケーションが自動化アシスタントアプリケーションではなく、前記選択可能要素が、前記グラフィカルユーザインターフェースに関連するエージェントが前記第1のアプリケーションとは別々の自動化アシスタントアプリケーションを介して起動され得ることを示す、ステップと、
前記選択可能要素の前記選択に応答して、前記自動化アシスタントアプリケーションを介して前記エージェントを前記プロセッサのうちの1つまたは複数によって起動するステップであって、前記エージェントが、前記自動化アシスタントアプリケーションを介して起動され得る複数の利用可能なエージェントのうちの1つである、ステップと、
前記エージェントを起動したことに応答して、前記エージェントからの応答内容を前記プロセッサのうちの1つまたは複数によって受け取るステップと、
前記エージェントから受け取った前記応答内容に基づく、自動化アシスタントインターフェースを介して前記自動化アシスタントアプリケーションによって提供された出力を前記プロセッサのうちの1つまたは複数によって出力するステップと
を含む方法。
【請求項２】
前記選択可能要素の前記選択を受け取るステップが、
前記エージェントを識別するエージェント内容を受け取るステップと、
前記自動化アシスタントとのダイアログのモダリティを示すモダリティパラメータを受け取るステップであって、前記エージェントを起動するステップが、前記モダリティパラメータによって示されるダイアログの前記モダリティと共に前記エージェントを起動するステップを含み、前記出力が、前記モダリティパラメータによって示されるダイアログの前記モダリティ内で提供され、任意選択で、前記モダリティが音声またはテキストの一方である、ステップと
を含む請求項1に記載の方法。
【請求項３】
前記選択可能要素の前記選択を受け取るステップが、前記エージェントに固有のリンクを受け取るステップを含み、前記エージェントを起動するステップが、前記リンクに基づき、前記自動化アシスタントアプリケーションが前記コンピューティングデバイス上にインストールされること次第であり、任意選択で、前記自動化アシスタントアプリケーションが前記コンピューティングデバイス上にインストールされないとき、前記リンクが、前記エージェントの起動なしに、前記エージェントに関係するさらなる内容の表示を引き起こす請求項1または2に記載の方法。
【請求項４】
前記選択可能要素の前記選択を受け取るステップが、
前記エージェントおよび前記エージェントについてのインテントを示すエージェント内容を受け取るステップ
を含み、
前記エージェントを起動するステップが、前記エージェント内容によって示される前記インテントと共に前記エージェントを起動するステップを含み、任意選択で、前記エージェント内容が、前記インテントについてのインテントパラメータをさらに示し、前記エージェントを起動するステップが、前記エージェント内容によって示される前記インテントパラメータと共に前記エージェントを起動するステップをさらに含み、任意選択で、前記インテントパラメータが、前記第1のアプリケーションとの対話を通じて動的に生成される請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記エージェントが、自動化アシスタントアプリケーションを制御する側からは固有のサードパーティによって制御されるサードパーティエージェントである請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記自動化アシスタントアプリケーションが、前記コンピューティングデバイスとは別々の別個のコンピューティングデバイスにおいて動作し、前記出力が、前記別個のコンピューティングデバイスによって提供される請求項1から5のいずれか一項に記載の方法。
【請求項７】
選択されたエージェントから受け取った前記応答内容に基づく前記出力がプロンプトであり、
前記プロンプトに応答して自然言語入力を受け取るステップと、
前記自然言語入力に基づくさらなる内容を前記エージェントに提供するステップと、
前記さらなる内容を提供したことに応答して、前記エージェントからさらなる応答内容を受け取るステップと、
前記自動化アシスタントインターフェースを介して、選択されたエージェントから受け取った前記さらなる応答内容に基づく出力を前記自動化アシスタントアプリケーションによって提供するステップと
をさらに含む請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記エージェントを起動するステップが、
前記自動化アシスタントアプリケーションが前記コンピューティングデバイスにとってアクセス可能であるかどうかを判定するステップと、
前記自動化アシスタントアプリケーションが前記コンピューティングデバイスにとってアクセス不能であると判定されたとき、
前記選択可能要素に対応するリンクを実行して、デフォルトウェブページに、前記エージェントと通信するための発話可能コマンド語句をオープンおよび提示させるステップと
を含む請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記自動化アシスタントアプリケーションが前記コンピューティングデバイスにとってアクセス可能であると判定されたとき、
前記エージェントと通信するための前記自動化アシスタントアプリケーションを初期化するステップ
をさらに含む請求項8に記載の方法。
【請求項１０】
前記リンクが、前記エージェントと、前記エージェントによって実施されるべきアクションとを識別し、任意選択で、前記発話可能コマンド語句が、前記リンク内で識別された前記アクションに基づく請求項8または9に記載の方法。
【請求項１１】
前記自動化アシスタントアプリケーションが前記コンピューティングデバイスにとってアクセス可能であると判定されたとき、
前記プロセッサのうちの1つまたは複数によって、エージェントモジュールに起動要求を送信するステップと
前記起動要求に応答して、前記プロセッサのうちの1つまたは複数によって、前記エージェントモジュールから応答内容を受け取るステップと
前記プロセッサのうちの1つまたは複数によって、前記自動化アシスタントアプリケーションに関連するインターフェースを通じて、前記応答内容に基づく出力を提供するステップと
をさらに含む請求項8から10のいずれか一項に記載の方法。
【請求項１２】
ネットワークを介して信号を送り、前記自動化アシスタントアプリケーションが前記ネットワーク上の別個のコンピューティングデバイスにおいて利用可能であるかどうかを判定するステップ
をさらに含む請求項8から11のいずれか一項に記載の方法。
【請求項１３】
1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに、
ユーザが第1のアプリケーションのアプリケーションインターフェースを閲覧中であるとコンピューティングデバイスによって判定するステップであって、前記第1のアプリケーションが自動化アシスタントアプリケーションではなく、前記アプリケーションインターフェースが、自動化アシスタントアプリケーションを介するエージェントモジュールとの通信を初期化するための第1の選択可能要素を含み、前記エージェントモジュールが、前記第1のアプリケーションに関連するアクションを実施するように構成される、ステップと、
前記第1の選択可能要素の選択を前記コンピューティングデバイスにおいて受け取るステップであって、前記第1の選択可能要素が、前記エージェントモジュールと、前記アクションを実施するためのパラメータとを識別するリンクを含む、ステップと、
前記コンピューティングデバイスによって会話型インターフェースを前記ユーザに提示させるステップであって、前記会話型インターフェースが、前記ユーザと前記エージェントモジュールとの間の媒介となるように前記自動化アシスタントアプリケーションによって構成される、ステップと、
前記コンピューティングデバイスによって会話型インターフェースにおいて第2の選択可能要素を提供するステップであって、前記第2の選択可能要素が、前記アクションを進めるために前記リンク内で識別される前記パラメータに基づく、ステップと
を含むステップを実施させる命令を記憶するように構成された非一時的コンピュータ可読記録媒体。
【請求項１４】
前記ステップが、
前記会話型インターフェースにおける前記第2の選択可能要素の選択を前記コンピューティングデバイスにおいて受け取るステップと、
前記リンク内で識別される前記パラメータを履行するために、前記コンピューティングデバイスによって前記エージェントモジュールにデータを提供するステップと
をさらに含む請求項13に記載の非一時的コンピュータ可読記録媒体。
【請求項１５】
前記第2の選択可能要素が、前記第1のアプリケーションを介して前記ユーザによって実施された以前のアクションに関連する発話可能コマンド語句を含み、前記ステップが、任意選択で、
前記発話可能コマンド語句に対応するオーディオデータを前記コンピューティングデバイスにおいて受け取ること、および
前記エージェントモジュールに送信するために、前記コンピューティングデバイスによって前記オーディオデータをテキストコマンドデータに変換すること
をさらに含む請求項13または14に記載の非一時的コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
自動化アシスタント(「パーソナルアシスタントモジュール」、「モバイルアシスタント」、または「チャットボット」とも呼ばれる)が、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス、自動車システム、スタンドアロンパーソナルアシスタントデバイスなどの様々なコンピューティングデバイスを介してユーザと対話され得る。自動化アシスタントは、ユーザからの入力(たとえば、タイプおよび/または発話された自然言語入力)を受け取り、応答内容(responsive content)(たとえば、視覚および/または可聴自然言語出力)で応答する。
【背景技術】
【０００２】
自動化アシスタントは、様々なローカルおよび/またはサードパーティエージェントとの対話を通じて広範な機能を提供し得る。ユーザが自動化アシスタントを利用して特定の機能を実施するために、多くの場合、ユーザはまず、(たとえば、特定の口頭の語句および/または特定のハードウェア入力を通じて)自動化アシスタントを明示的に起動し、次いで特定の機能に関連する特定の起動語句を与えなければならない。起動語句は、自動化アシスタントを介して、特定の機能を実施し得るエージェントを起動する。しかしながら、ユーザは、自動化アシスタントの様々な機能を知らないことがあり、かつ/または自動化アシスタントを介してそのような機能を起動するための起動語句を知らないことがある。さらに、ユーザは、そのデバイスのうちの1つが照会に回答する(たとえば、タブレットからフライト詳細を取得する)ためにロードされた自動化アシスタントを有さないことがあっても、自動化アシスタントを有する他のデバイスからユーザが回答を取得し得ることを知らないことがある。その結果、ある状況では、ユーザは、特定の機能を実施するためにリソース効率の低い他のアプリケーションを利用することがある。さらに、ユーザが自動化アシスタントを起動する場合であっても、ある状況では、ユーザは、自動化アシスタントを介してどのように特定の機能を実施するかを知るために、自動化アシスタントとの広範なリソース集約的な対話(たとえば、ダイアログターン(dialog turn))に依然として関与する必要があることがある。たとえば、自動化アシスタントが特定の機能の実施を可能にすることができることをユーザが知るためにさえも大量のダイアログターンが必要とされ得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
自動化アシスタントを起動して、アプリケーションに関連するエージェントモジュールと通信するための技法が本明細書において説明される。いくつかの実装は、自動化アシスタントアプリケーションとは別々のアプリケーションの非自動化アシスタントグラフィカルユーザインターフェース内でユーザに選択可能要素を提示することを可能にする。選択可能要素のユーザ選択に応答して、自動化アシスタントは、選択可能要素に対応し、非自動化アシスタントインターフェースを介して提示される内容に関連するエージェントモジュールを起動し得る。それらの実装のうちのいくつかでは、選択可能要素は、シングルタップ、シングルクリック、または他の「単一選択」方式で選択可能である。これらおよび他の方式では、ユーザは、選択可能要素を選択して、非会話型インターフェースから会話型自動化アシスタントインターフェースに遷移し得、(非会話型インターフェース内の内容に関係する)エージェントが自動化アシスタントインターフェース内で起動される。いくつかの実装では、そのような方式で自動化アシスタントインターフェース内でエージェントを起動することによって、エージェントモジュールの機能を実施するためにユーザによって必要とされる入力量が削減され得る。具体的には、最初に自動化アシスタントを起動し、次いで特定のエージェントモジュールまたはエージェントモジュールの機能に関連する特定の起動語句を与える代わりに、エージェントモジュールが、グラフィカルユーザインターフェースに基づいて直接的に起動され得る。グラフィカルユーザインターフェースに関連するエージェントモジュールが、自動化アシスタントを介して直接的に起動され得る。ユーザによって必要とされる入力数が、少なくとも、特定のエージェントモジュールについてのさらなる起動語句(invocation phrase)を必要としないことによって削減される。このようにして、自動化アシスタントによる一般的照会の出力、および特定のエージェントモジュールについてのさらなる起動語句の処理は必要とされない。この入力の削減は、計算資源を節約し、たとえば、器用さの問題のあるユーザなどの様々なユーザに恩恵を与える。さらに、様々な自動化アシスタント機能の発見が促進され得、それによって、さらなる対話のための、潜在的によりリソース効率の高い自動化アシスタントインターフェースの使用が促進される。
【０００４】
いくつかの実装では、1つまたは複数のプロセッサによって実装される方法が、コンピューティングデバイスの非自動化アシスタントアプリケーションによってレンダリングされたグラフィカルユーザインターフェースでの選択可能要素の選択を受け取ることなどのステップを含むものとして説明される。選択可能要素は、グラフィカルユーザインターフェースに関連するエージェントが、非自動化アシスタントアプリケーションとは別々の自動化アシスタントアプリケーションを介して起動され得ることを示し得る。ステップは、選択可能要素の選択に応答して、自動化アシスタントアプリケーションを介してエージェントを起動することをさらに含み得る。エージェントは、自動化アシスタントアプリケーションを介して起動され得る複数の利用可能なエージェントのうちの1つであり得る。ステップは、エージェントを起動したことに応答して、エージェントから応答内容を受け取ること、および自動化アシスタントインターフェースを介して、自動化アシスタントアプリケーションによって、エージェントから受け取った応答内容に基づく出力を提供することをさらに含み得る。
【０００５】
他の実装では、1つまたは複数のプロセッサによって実装される方法が、非自動化アシスタントアプリケーションを操作しているコンピューティングデバイスにおいて選択可能要素を表示させることなどのステップを含むものとして説明される。選択可能要素は、非自動化アシスタントアプリケーションに関連するエージェントモジュールを自動化アシスタントに初期化させるように構成され得る。ステップは、選択可能要素の選択を受け取ること、および選択可能要素の選択を受け取ったことに応答して、自動化アシスタントがコンピューティングデバイスにとってアクセス可能であるかどうかを判定することをさらに含み得る。ステップはまた、自動化アシスタントがコンピューティングデバイスにとってアクセス不能であると判定されたとき、選択可能要素に対応するリンクを実行して、デフォルトウェブページに、エージェントモジュールと通信するための発話可能コマンド語句をオープンおよび提示させることをも含み得る。
【０００６】
さらに別の実装では、非一時的コンピュータ可読媒体が、1つまたは複数のプロセッサによって実行されるとき、ユーザが非自動化アシスタントアプリケーションのアプリケーションインターフェースを閲覧していると判定することを含むステップを1つまたは複数のプロセッサに実施させる命令を記憶するものとして説明される。アプリケーションインターフェースは、自動化アシスタントアプリケーションを介するエージェントモジュールとの通信を初期化するための第1の選択可能要素を含み得る。エージェントモジュールは、非自動化アシスタントアプリケーションに関連するアクションを実施するように構成され得る。ステップは、第1の選択可能要素の選択を受け取ることをさらに含み得る。第1の選択可能要素は、エージェントモジュールを識別するリンクと、アクションを実施するためのパラメータとを含み得る。ステップはまた、会話型インターフェースをユーザに提示させることをも含み得る。会話型インターフェースは、ユーザとエージェントモジュールとの間の媒介となるように自動化アシスタントによって構成され得る。さらに、ステップは、会話型インターフェースにおいて第2の選択可能要素を提供することを含み得る。第2の選択可能要素は、アクションを進めるためのリンク内で識別されるパラメータに基づき得る。
【０００７】
さらに、いくつかの実装は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは、関連するメモリ内に記憶された命令を実行するように動作可能であり、命令は、前述の方法のうちのいずれかを実施させるように構成される。いくつかの実装は、前述の方法のうちのいずれかを実施するように1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する1つまたは複数の非一時的コンピュータ可読記憶媒体をも含む。
【図面の簡単な説明】
【０００８】
【図１Ａ】ユーザがモバイルデバイスにおいて会話型ユーザインターフェースを活動化するダイアグラムを示す図である。
【図１Ｂ】ユーザがモバイルデバイスにおいて会話型ユーザインターフェースを活動化するダイアグラムを示す図である。
【図１Ｃ】ユーザがモバイルデバイスにおいて会話型ユーザインターフェースを活動化するダイアグラムを示す図である。
【図２】ウェブサイトに関連するエージェントモジュールと対話するために使用され得る会話型ユーザインターフェースを示す図である。
【図３】様々なアプリケーションおよび/またはウェブサイトを制御するために利用可能な発話可能コマンドにユーザを慣れさせるために、クライアントデバイスにおいて会話型インターフェースを提供するためのシステムを示す図である。
【図４Ａ】会話型ユーザインターフェースがコンピューティングデバイスのユーザインターフェースにおいて提示されていることを示す図である。
【図４Ｂ】会話型ユーザインターフェースがコンピューティングデバイスのユーザインターフェースにおいて提示されていることを示す図である。
【図４Ｃ】会話型ユーザインターフェースがコンピューティングデバイスのユーザインターフェースにおいて提示されていることを示す図である。
【図５】エージェントモジュールに自動化アシスタントを介して機能を実施させるための方法を示す図である。
【図６】選択可能要素の選択に応答して実施される動作を実施するための、ネイティブアプリケーションが存在するかどうかに従って、動作を制限するための方法を示す図である。
【図７】エージェントモジュールがアクセス可能であるかどうかに従って、自動化アシスタントを介してエージェントモジュールと対話するための方法を示す図である。
【図８】例示的コンピュータシステムまたはコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【０００９】
記載の実装は、自動化アシスタントを使用して、アプリケーションに関連するエージェントモジュールと対話するためのシステム、方法、および装置に関する。一例として、ユーザがクライアントデバイスのウェブブラウザアプリケーションを介してPizza Companyの「ピザを注文」ウェブページにアクセスしたと仮定する。選択されたとき、クライアントデバイスの自動化アシスタントアプリケーションに、「Pizza Company」のエージェントを起動させ、「Pizza Company」のエージェントによって生成された自動化アシスタントインターフェース出力をユーザに提示させるウェブブラウザアプリケーションを介して、選択可能要素が提示され得る。言い換えれば、要素の選択に応答して、自動化アシスタントアプリケーションは、エージェントを起動して、自動化アシスタントインターフェースを介してユーザがエージェントとのダイアログに関与することを可能にし得る。いくつかの実装では、選択可能要素は、ウェブページの内容として含まれ(たとえば、Pizza Companyによるウェブページ内に組み込まれ)得る。さらに、いくつかの実装では、選択可能要素の選択に応答して、ウェブブラウザアプリケーションを介するユーザの対話に基づくインテントおよび/またはインテントパラメータについての値(たとえば、「スロット値」)と共にエージェントが起動され得る。たとえば、ユーザが「ピザを注文」ウェブページと対話して「ラージ1トッピング」ピザを選択した場合、「ピザを注文」インテントと、スロット値「ラージ」および「1トッピング」と共にエージェントが起動され得る。
【００１０】
図1A〜図1Cは、会話型ユーザインターフェース114がモバイルデバイスのアプリケーション106から活動化されるダイアグラムを示す。具体的には、図1Aは、モバイルデバイスのユーザインターフェース108において表示されるアプリケーション106のダイアグラム100を示す。アプリケーション106は、たとえば、ユーザインターフェースを介してユーザがホテルを予約することを可能にするホテル予約アプリケーションであり得る。モバイルデバイスは、モバイルデバイスの様々な機能を支援するための自動化アシスタントを含み、または別々のデバイスの自動化アシスタントと通信し得る。たとえば、自動化アシスタントは、音声コマンドに応答し、アプリケーション106などのアプリケーションに関連するエージェントモジュールによって使用され得るテキストに音声コマンドを変換し得る。モバイルデバイス104のアプリケーションは、アプリケーション106に関連する機能をユーザが実施するのを支援するように具体的に設計されたエージェントモジュールに関連付けられ得る。いくつかの実装では、自動化アシスタントは、ユーザとの音声またはテキスト会話を初期化し、ユーザとアプリケーション106に関連するエージェントモジュールとの間の媒介として働き得る。しかしながら、ユーザは、自動化アシスタント、またはアプリケーション106に関連するエージェントモジュールについて利用可能な発話可能コマンドを知らないことがあり、それによって、エージェントモジュールと対話するための効率の低い手段がユーザに残される。自動化アシスタントを介してエージェントモジュールと通信するために利用可能な発話可能コマンドをユーザに紹介するために、自動化アシスタントは、第1の選択可能要素112の選択を介して初期化される会話型ユーザインターフェース114を提供し得る。
【００１１】
第1の選択可能要素112は、ユーザがユーザの自動化アシスタントを使用してアプリケーション106に関連するエージェントモジュールと通信し得ることをユーザに示す語句を含み得る。たとえば、第1の選択可能要素112は、「自動化アシスタントを使用する」という語句を含み得、ユーザがユーザの自動化アシスタントを通じてアプリケーション106に関係する機能、またはエージェントモジュールを実施することができることをユーザ102に通知する。当初、ユーザ102が何らかの発話可能コマンドを知らない場合、ユーザ102は、第1の選択可能要素112を選択し得る、または「自動化アシスタントを使用する」という語句を話し得る。ユーザ102が第1の選択可能要素112を選択したこと、または「自動化アシスタントを使用する」という語句を話したことに応答して、自動化アシスタントは、アプリケーション106に対応するエージェントモジュールを初期化し、起動し得る。第1の選択可能要素112は、エージェントモジュールおよび/またはエージェントモジュールによって実施されるべきコマンドもしくはインテントを具体的には識別するリンクまたはコマンドに関連付けられ得る。いくつかの実装では、リンクは、「http://assistant.url/hotel-agent-module/hotel-booking」などのユニバーサルリソースロケータ(URL)、またはエージェントモジュールを識別する任意のコマンドであり得る。リンクはまた、第1の選択可能要素112を選択する前にユーザによってアプリケーションに提供される任意の情報をも含み得る。たとえば、図1Aに示されるように、ユーザは、ホテル予約のための日付(「3/14」)および客数(「1」)を既に選択していることがある。したがって、リンクは、エージェントモジュールを識別し、日付および客数を含み得る。このようにして、自動化アシスタントは、ホテル予約の進行に関して通知を受け得、指定の日付および客数と共にエージェントを起動し得る。たとえば、エージェントは、「ホテル予約」インテントと、「日付」スロットパラメータについての値「3/14」および「客数」スロットパラメータについての値「1」と共に起動され得る。そのようなリンクの一例は、「http://assistant.url/agent-module/hotel-booking-date_0314_guests_1」であり得る。いくつかの実装では、リンクまたはコマンドは、悪意のあるURL作成者によって引き起こされる損害をなくすために、エージェントがどのように自動化アシスタントから入力を受け取るかについての詳細を隠すための不透明パラメータ(たとえば、「.../date_889293」)を含み得る。
【００１２】
いくつかの実装では、ユーザが第1の選択可能要素112を選択したことに応答して、自動化アシスタントは、リンクおよびリンク内のエージェントモジュール識別子を使用して、エージェントモジュールが自動化アシスタントにとってアクセス可能であるかどうかを判定し得る。エージェントモジュールが自動化アシスタントにとって利用可能である場合、自動化アシスタントはエージェントモジュールを起動し得、任意選択で、エージェントモジュールとのさらなる対話のために利用可能なコマンドをユーザに提示し得る。たとえば、図1Bでは、アプリケーション106に関連するエージェントモジュールが会話型インターフェース114内で起動されており、起動に応答してエージェントモジュールによって生成された応答内容に基づく会話型インターフェース内で、出力(「エージェント:...は何ですか」)が提示される。たとえば、エージェントモジュールは、「ホテル予約」インテントと共に起動され、それに応答して、図1Bに示される出力を提供していることがある。
【００１３】
いくつかの実装では、自動化アシスタントは、アプリケーション106に与えられた履歴コマンドの索引にアクセスし得る。自動化アシスタントは、履歴コマンドの索引を使用して、ユーザがエージェントモジュールと対話するための提案を行い得る。対応するエージェントモジュールが識別され、または履歴コマンドが識別されると、自動化アシスタントまたはモバイルデバイス104上の他のアプリケーションは、図1Bのダイアグラム116内で与えられるように、会話型ユーザインターフェース114内でユーザにコマンドのリストを提示し得る。たとえば、提案要素120が、「私の以前の予約の場所」という語句を備え得る。提案要素120が選択された場合、自動化アシスタントは、ユーザが以前にホテルを予約したのと同じ場所のホテルの場所を予約するようにエージェントモジュールに指示し得る。自動化アシスタントは、ユーザとアプリケーション106との間の対話に対応するユーザデータを検索して、以前のホテル予約の場所を決定し得る。あるいは、提案要素122は、「私のカレンダ内の場所」という語句を備え得る。提案要素122が選択された場合、自動化アシスタントは、リンク内に示される日付(「3/14」)の、ユーザのカレンダ内に記憶されるイベントに従ってホテルの場所を予約するようにエージェントモジュールに指示し得る。自動化アシスタントはまた、選択されたときに、ユーザが会話型ユーザインターフェース114内に入力をタイプすることを可能にするテキスト入力要素124と、選択されたときに、ユーザが自動化アシスタントに対する入力を話すことを可能にする音声入力要素132とを提供し得る。このようにして、任意選択で、ユーザは、エージェントモジュールについての提案された入力を選択すること、または自動化アシスタントを介してエージェントモジュールに対するテキストもしくは音声入力を与えることの間から選び得る。次いで、ユーザからの入力が、自動化アシスタントによってエージェントモジュールに与えられ、エージェントモジュールがダイアログを続行するさらなる応答内容を生成することを可能にし得る。
【００１４】
コマンドのリストは、自動化アシスタントとエージェントモジュールとの間の対話を使用して、アプリケーションにおいて開始された動作を進めるためのコマンドを含み得る。コマンドのリストは、エージェントモジュールによって理解される発話可能コマンド、あるいはユーザによって話され、自動化アシスタントまたはモバイルデバイスもしくはリモートデバイス上の他のアプリケーションを使用してテキストに変換され得るテキストコマンドであり得る。たとえば、第1の選択可能要素112に関連するリンクは、自動化アシスタントがどのように入力を受け取り、かつ/または出力を提供するかについてのモダリティ(modality)を識別し得る。モダリティは、テキスト、音声、または入力を受け取り、出力を提供するための任意の他の媒体であり得る。モダリティは、自動化アシスタントに提供されるリンク内で識別され得る。たとえば、リンクは、エージェントモジュール、インテントもしくはアクション、および/またはモダリティ(たとえば、「http://assistant.url/agent-module/hotelbooking-text_modality」)を識別し得る。
【００１５】
ユーザが図1Bのダイアグラム116における提案要素120、122、または124のいずれかを選択したことに応答して、図1Cのダイアグラム118に示されるように、会話型ユーザインターフェース114が更新され得る。図1Cの更新後会話型ユーザインターフェース130は、エージェントモジュールからのさらなる応答内容を含み得る。たとえば、自動化アシスタントがホテル予約のついての場所をエージェントモジュールに通信すると、エージェントモジュールは、ホテル予約についての支払いに対応する自動化アシスタントにさらなる応答内容を送り得る。自動化アシスタントは、エージェントモジュールに応答するための任意選択の応答要素をユーザに提示し得る。自動化アシスタントは、エージェントモジュールからの応答内容を使用して、自動化アシスタントにとってアクセス可能なユーザデータを検索し、検索に基づいて、選択可能な応答を生成し得る。たとえば、エージェントモジュールが支払いについて尋ねる照会を自動化アシスタントに提供したので、自動化アシスタントは、支払い情報についてのユーザデータを検索し得る。ユーザがモバイルデバイス上に記憶されたペイメントカードを有していると自動化アシスタントが判定した場合、自動化アシスタントは、「私の記憶されたカードで支払う」という語句を含む応答要素126を提示し得る。いくつかの実装では、自動化アシスタントは、エージェントモジュールとの対話が完了すると、ユーザが何らかの他の機能も実施することを望むと予測し得る。そのようなケースでは、自動化アシスタントは、1つのエージェントモジュール(たとえば、ホテル予約エージェントモジュール)に応答し、他の機能(たとえば、フライトの予約)を完了するための別のエージェントモジュールを起動し得るデュアルエージェント応答要素128をユーザに提示し得る。たとえば、自動化アシスタントは、話され、または選択されたときに、記憶されたカードを使用してホテル予約についてユーザに課金するようにエージェントモジュールに指示し得る、「記憶されたカードで支払い...」という語句を含むデュアルエージェント応答要素128を提供し得る。同時に、自動化アシスタントは、「...私がフライトを予約するのを助けて」という語句をデュアルエージェント応答要素128に提供し得る。ユーザがデュアルエージェント
応答要素128を選択したことに応答して、自動化アシスタントはまた、フライト予約アプリケーションまたはウェブサイトに対応するエージェントモジュールを起動し得る。このようにして、いくつかの動作を実施するためにユーザによって必要とされる入力数が削減され得る。これは、ユーザがモバイルデバイスに効率的に入力を与えることを妨げ得る器用さの問題または他の病気のあるユーザにとって有益であり得る。
【００１６】
図2は、ウェブサイト206に関連するエージェントモジュールと対話するために使用され得る会話型ユーザインターフェース214を示す。モバイルデバイス204上でウェブサイト206をブラウジング中に、ユーザ202は、ウェブサイト206に関連するいくつかの機能が、自動化アシスタントおよび/またはエージェントモジュールによって解釈され得る発話可能コマンドを通じて制御され得ることを知らないことがある。発話可能コマンドにユーザ202をより慣れさせるために、ユーザ202は、本明細書において説明される実装に従って会話型ユーザインターフェース214を提供し得る自動化アシスタントを初期化するように指示され得る。たとえば、ユーザ202は、図2のダイアグラム200に示されるように、食品注文ウェブサイト206をブラウジング中であり得る。ウェブサイト206を閲覧中に、ユーザ202は、モバイルデバイス204のユーザインターフェース208に提示された第1の選択可能要素212を識別し得る。第1の選択可能要素212は、ウェブサイト206に関連するいくつかの機能を実施するためのウェブサイト206に関連するエージェントモジュールと対話するために自動化アシスタントが使用され得ることをユーザ202に示す語句を含み得る。たとえば、第1の選択可能要素212は、図2に示されるように、「自動化アシスタントを使用する」という語句を含み得る。第1の選択可能要素212は、モバイルデバイス204において会話型ユーザインターフェースを開くために自動化アシスタントに提供され得る、URLなどのリンクに関連付けられ得る。たとえば、リンクは、ウェブサイト206に関連する機能(たとえば、食品の注文)を実施するためにユーザ202から発話可能コマンドを受け取るのに適したエージェントモジュールを識別し得る。そのようなリンクは、たとえば、http://assistant.url/food%ordering%agent%moduleという構造を有し、「%」は間隔文字を示し、エージェントモジュールのタイプ(たとえば、「食品注文」)がホスト名の後で識別される。いくつかの実装では、モバイルデバイス204がウェブサイト206に対応するサードパーティアプリケーション(たとえば、食品注文アプリケーション)を含む場合、ユーザ202と食品注文アプリケーションとの間の会話を続行するために、リンクが自動化アシスタントによってサードパーティアプリケーションに転送され得る。そうでない場合、リンクが自動化アシスタントによって受け取られ、モバイルデバイス204または別個のコンピューティングデバイス224において、会話型ユーザインターフェース214が提供され得る。
【００１７】
さらに別の例として、ウェブサイト206は食品配送注文ウェブサイトであり得、ユーザは(たとえば、ドロップダウンメニュー、ラジオボタン、フリーフォームテキストを介して)ウェブサイト206と対話して、食品注文についての品目および/または材料(たとえば、ピザについてのトッピング)を選択し得、任意選択で、配送の注文を終了させ、支払いをし得る。ユーザがウェブサイト206との対話を通じて食品注文を部分的に記入した場合、選択された材料のうちの1つまたは複数についての値が自動化アシスタントに送信され、自動化アシスタントがウェブサイト206に関連するエージェントモジュールをそのような値と共に起動することが可能となり(たとえば、そのような値がエージェントモジュールの起動においてエージェントモジュールに送信されるスロット値として含められ)得る。いくつかの実装では、ウェブサイト206をホストするサーバが、自動化アシスタントに渡すためのそのような値を生成し得る。たとえば、選択可能グラフィカル要素についてのリンクが、ユーザによるウェブサイト206との対話に応答して、サーバによって動的に生成され得、したがって、リンクは、そのような値の指示を含む(たとえば、「http://assistant.url/agent-module/order-pizz_toppings=pepperoni-mushroom-peppers」)。たとえば、選択可能なグラフィカル要素に関連するリンクが、ユーザのウェブサイト206との対話に応答して、サーバによって動的に更新され得る。別の例として、サーバは、選択可能なグラフィカル要素の選択に応答して、コマンドを送信し得、コマンドはそのような値を含み、任意選択で、エージェントモジュールをも示す。たとえば、サーバから自動化アシスタントに与えられるコマンドは、ユーザのウェブサイト206との対話を介して、ピザについて選択されたトッピングを含むようにサーバによって調整され得る(たとえば、コマンド「ACTION = com.assistant.toppings_pepperoni-bacon-onion.StartConversation」)。いくつかの実装では、自動化アシスタント自体がウェブサイト206のインターフェースの内容を処理して、そのような値を直接的に決定し得る。たとえば、インターフェースの1つまたは複数のスクリーンショットが処理されて、フィールドのタイトルのテキストおよび/またはフィールドについての選択された値が決定され、そのようなタイトルおよび/または値が利用されて、起動要求と共にエージェントモジュールに渡すための適切な値が決定され得る。ユーザの非自動化アシスタントインターフェースとの対話から導出された値が、関連するエージェントモジュールの起動において利用されるいくつかの実装では、自動化アシスタントインターフェースを通じたそのような値の重複した再入力が削減され(たとえば、解消され)得る。これは、様々なリソースを節約し得る。エージェントモジュールがそのような値と共に起動され得、それによって、そのような値を定義するための自動化アシスタントインターフェースを介するダイアログターンの必要が解消される。
【００１８】
いくつかの実装では、自動化アシスタントは、ウェブサイト206を閲覧中のモバイルデバイス204において利用可能ではないことがあるが、モバイルデバイス204は、ネットワークを介して、自動化アシスタントを含む別個のコンピューティングデバイス224に接続され得る。この実装では、ユーザ202が第1の選択可能要素212を選択するとき、モバイルデバイス204は、コンピューティングデバイス224において自動化アシスタントを起動するためのリンク(または他の内容)をコンピューティングデバイス224に提供し得る。自動化アシスタントは、リンクを使用してエージェントモジュールを識別し、ウェブサイト206において実行中の現動作のステータスに関係するデータを識別し得る。
【００１９】
会話型ユーザインターフェース214は、自動化アシスタントを介してエージェントモジュールと対話するための発話可能コマンドに対応する語句を含む複数の異なる選択可能要素を含み得る。語句は、自動化アシスタント処理がウェブサイトの内容を処理した結果、エージェントモジュールもしくはウェブサイトによって自動化アシスタントに与えられる事前構成されたコマンド、および/または自動化アシスタントによって記録された、ユーザのウェブサイトとの履歴対話に基づき得る。たとえば、会話型ユーザインターフェース214での選択可能要素は、「食品配送を注文する」などの語句を含み得、語句は、自動化アシスタントに提供されたリンク内に詳述される注文(または他のコマンド)のステータスに基づき得る。この語句がユーザ202によって話され、自動化アシスタントによってテキストに変換され得る。その後で、テキストが、ウェブサイト206に関連するエージェントモジュールに提供され得る。エージェントモジュールはテキストを受け取り、テキストに従って食品配送を完了し得る。
【００２０】
いくつかの実装では、リンクは、エージェントモジュールとの対話中に自動化アシスタントを誘導するためのパラメータを含み得る。たとえば、ユーザ202は、第1の選択可能要素212を選択する前に、食品注文ウェブサイト206に少なくとも部分的に記入し得る。ユーザ202によって記入されたウェブサイト206の部分は、配送についての場所、食品の量、および/または飲料注文などの注文データを含み得る。このデータは、第1の選択可能要素212に対応するリンク内に埋め込まれ得る。たとえば、第1の選択可能要素212に対応するリンクは、「http://assistant.url/agent-module/breakfast-order/drink-coffee-location-market-street」であり得る。リンクは、エージェントモジュールによって実施されるべき後続のアクションまたはインテントについてのパラメータを識別するために、自動化アシスタントによって構文解析され得る。たとえば、リンク内で識別されるインテント「breakfast-order」は、インテントが完了され得る前に識別される必要のある複数のパラメータを含み得る。自動化アシスタントは、パラメータ「coffee」および「market street」を使用して、注文の現ステータスをユーザに通知し、注文を完了するための追加の情報(たとえば、「食品代を支払う」)を要求し得る。
【００２１】
いくつかの実装では、会話型ユーザインターフェース214において提供される選択可能要素のそれぞれは、ウェブサイト206の内容に従って事前構成され得る。言い換えれば、モバイルデバイス204の自動化アシスタントおよび/またはパーサエンジンは、ウェブサイト206と対話するための選択可能要素および/または発話可能コマンドを生成するために、ウェブサイト206の内容を処理し得る。他の実装では、ウェブサイト206のエージェントモジュールが、モバイルデバイス204またはコンピューティングデバイス224上に記憶され、またはそれにとってアクセス可能であり得る、事前構成されたコマンドおよびパラメータに関連付けられ得る。これらの事前構成されたコマンドおよびパラメータは、自動化アシスタントを介してエージェントモジュールと対話するための発話可能コマンドおよび/または選択可能要素を生成するために、モバイルデバイス204の自動化アシスタントおよび/またはパーサエンジンによって処理され得る。このようにして、ユーザ202は、コマンドを完全にタイプアウトすることに依拠しないことによってウェブサイト206の機能を簡素化するために、ウェブサイト206またはエージェントモジュールと音声で対話できることを知り得る。これは、疲労した、または器用さの問題のあるユーザにとって有益であり得る。
【００２２】
いくつかの実装では、ウェブサイト206が、複数の異なるエージェントモジュールに関連付けられ得、自動化アシスタントは、ユーザ202の現在の活動および/または以前の活動に従って初期化するのに最も適切なエージェントモジュールを識別し得る。たとえば、ユーザ202は食品注文ウェブサイト206を閲覧中であり得、食品注文ウェブサイト206が、特定のタイプの食品を注文することにそれぞれ特化し得る複数の異なるエージェントモジュールに関連付けられ得る。たとえば、第1のエージェントモジュールは朝食用食品を注文することに特化し得、第2のエージェントモジュールは夕食用食品を注文することに特化し得る。自動化アシスタントは、ユーザ202が朝食用食品を注文することにより関心がある可能性が高いと判定し、「朝食用食品を注文することについてエージェントに話しかける(Talk to an agent about ordering breakfast food)」という発話可能コマンドを含む選択可能要素を提供し得る。自動化アシスタントは、ユーザ202がウェブサイト206を閲覧している時刻、ウェブサイトから朝食用食品を注文した過去の履歴、メッセージおよび/またはカレンダエントリなどのモバイルデバイス204にとってアクセス可能な媒体、ならびに/あるいはユーザ202のアクションを予測するときに使用するのに適した任意の他のデータに基づいて、ユーザ202が朝食用食品を注文する可能性がより高いと判定し得る。ウェブサイトによって提供される選択可能要素は、複数の異なるエージェントモジュールを具体的に識別するリンクに対応し得る。たとえば、選択可能要素は、選択し、初期化するための、自動化アシスタントについてのエージェントモジュールを列挙するコマンドに対応し得る(たとえば、「ACTION=com.assistant.BreakfastAgentModule.StartConversation, com.assistant.LunchAgentModule.StartConversation, OR com.assistant.DinnerAgentModule.StartConversation」)。コマンドは、自動化アシスタントによる受信のためにウェブサイト206において提供され得る。あるいは、選択可能要素は、エージェントモジュールを識別するリンクに対応し得る(たとえば、「http://assistant.url/agentmodules/breakfast-agent_lunch-agent_dinner-agent」)。次いで、リンクまたはコマンドは自動化アシスタントによって受け取られ得、その結果、自動化アシスタントは、ユーザデータの解析に基づいて初期化するのに最も適切なエージェントモジュールを選択し得る。
【００２３】
いくつかの実装では、自動化アシスタントがモバイルデバイス204からコンピューティングデバイス224において初期化されるとき、自動化アシスタントは、ユーザデータを解析して、コンピューティングデバイス224から別のエージェントが初期化されるべきかどうかを判定し得る。たとえば、自動化アシスタントは、ユーザ202がコンピューティングデバイス224において頻繁にアクセスするムービーウェブサイトに関連するエージェントモジュールを認識し得る。ユーザ202は、第1の選択可能要素212を選択して、食品注文ウェブサイト206に関連するエージェントモジュールと対話するために自動化アシスタントを初期化し得る。同時に、自動化アシスタントはまた、図2に示されるように、ムービーウェブサイトに関連するエージェントモジュールと通信することのオプションをユーザ202に提供し得る。たとえば、自動化アシスタントは、異なるエージェントモジュールまたはウェブサイトについての異なるアクションにそれぞれ関連付けられ得る選択可能要素218および選択可能要素222を同時に提供し得る。このようにして、ユーザは、2つの別々のアクションを達成する単一の自動化アシスタントに2つのコマンド(たとえば、「食品配送を注文し、最後に視聴した映画を開始する」)を順次話すことによって、2つの異なるエージェントモジュールと音声で通信することができる。
【００２４】
図3は、様々なアプリケーション304および/またはウェブサイトを制御するために利用可能な発話可能コマンドにユーザを慣れさせるために、クライアントデバイス302において会話型インターフェース316を提供するためのシステム300を示す。クライアントデバイス302において動作するアプリケーション304は、ユーザがアプリケーション304に関連する機能を実施することを支援する1つまたは複数のエージェントモジュール310に関連付けられ得る。エージェントモジュール310は、クライアントデバイス302、またはサーバデバイスなどのリモートデバイスに記憶され得る。いくつかの実装では、サーバデバイスは、クライアントデバイス302にとってアクセス可能な1つまたは複数の自動化アシスタントを記憶し得る。自動化アシスタント320は、クライアントデバイス302のマイクロフォンによって記録される音声データを受け取り、クライアントデバイス302のいくつかの特徴を制御し、エージェントモジュール310と対話する目的で音声データを解釈し得る。
【００２５】
いくつかの実装では、クライアントデバイス302および/またはサーバデバイスは、クライアントデバイス302において選択可能要素を提供するためのデータを生成し得る選択可能要素エンジン326を含み得る。選択可能要素エンジン326は、ユーザがアプリケーション304および/またはウェブブラウザ314に関連する機能を実施するために自動化アシスタント320を介するエージェントモジュール310との通信を初期化するのを支援する目的で、選択可能要素を生成し得る。たとえば、選択可能要素エンジン326は、ユーザがアプリケーション304を操作しているとき、またはウェブブラウザ314においてウェブサイトを閲覧しているときに通知を受け得る。それに応答して、選択可能要素エンジン326は、クライアントデバイス302のインターフェースにおいて選択されているとき、クライアントデバイス302において会話型インターフェース316を初期化し得る選択可能要素を生成し得る。選択可能要素は、選択可能要素エンジン326によって生成され、または自動化アシスタント320によって提供された語句を含み得る。選択可能要素エンジン326および/または自動化アシスタント320は、アプリケーション304に関連するエージェントモジュール310を認識し、エージェントモジュール310と対話するために自動化アシスタントが使用され得ることを示す選択可能要素についての語句を提供し得る。たとえば、選択可能要素の語句は、会話型インターフェース316をオープンするためにユーザによって話され得る、「自動化アシスタントを使用してアプリケーション機能を実施する」であり得る。あるいは、ユーザは、選択可能要素を選択して会話型インターフェース316をオープンし得る。
【００２６】
会話型インターフェース316は、ユーザデータ312に基づき得る語句を含む、複数の異なる選択可能要素を含み得る。たとえば、エージェントモジュール310は、ゲーミングアプリケーション304に対応し得、エージェントモジュール310は、ユーザからタイプされたコマンドを受け入れ得る。エージェントモジュール310は、タイプされた事前構成されたコマンド312を受け入れるように製造業者によって設計され得るが、自動化アシスタント320は、ユーザの発話語を、エージェントモジュール310によって理解され得るコマンドに変換するために使用され得る。たとえば、当初、ユーザがゲーミングアプリケーション304をオープンするとき、選択可能要素エンジン326は、ゲーミングアプリケーション304がオープンされたという通知を受け、選択可能要素に「自動化アシスタントを使用する」という語句を提供し得る。その後で、ユーザは、ゲーミングアプリケーション304に対応するエージェントモジュール310と通信するために自動化アシスタント320を初期化する目的で、選択可能要素を選択し、または語句を話し得る。アプリケーション304が、たとえばチェスゲームアプリケーションであるとき、会話型インターフェース316は、チェスの動きに対応する語句を有する複数の異なる選択可能要素を備え得る。語句は、ユーザによって入力された以前のコマンド、エージェントモジュール310から通信されたデータ、および/またはテキスト構文解析エンジン324によって提供された、構文解析されたアプリケーション内容などのユーザデータ312に基づき得る。選択可能要素に対応する動きを選択するために、ユーザは、選択可能要素を選択し、または選択可能要素に位置する語句を話し得る。たとえば、会話型インターフェース316の選択可能要素は、「ポーンを動かす」という語句を含み得る。選択可能要素は、実施されるべきアクション(たとえば、チェスアプリケーションにおいてポーンを動かすこと)を識別するリンクに対応し得、会話型インターフェース316に、アクションを完了するのに利用可能な追加の語句(たとえば、「A5に動かす」)で更新させ得る。次いで、リンクが、アプリケーション304に関連するエージェントモジュール310に提供され得る。
【００２７】
いくつかの実装では、ユーザは語句を話し得、クライアントデバイス302によって取り込まれたオーディオデータが、処理のために自動化アシスタント320に提供され得る。たとえば、自動化アシスタント320は、クライアントデバイス302によって取り込まれたオーディオデータを受け取り、オーディオデータをテキストに変換し得る音声-テキストエンジン322を含み得る。テキストは、クライアントデバイス302のマイクロフォンによってオーディオデータが取り込まれていた間のユーザの発話語に対応し得る。自動化アシスタント320はまた、テキストを構文解析し、エージェントモジュール310および/またはウェブブラウザ314において提供されるウェブサイトについての入力パラメータに対応する特定の語または語句を識別し得るテキスト構文解析エンジン324をも含み得る。その後で、自動化アシスタント320は、構文解析されたテキストからリンクまたはコマンドを生成し、処理のためにエージェントモジュールまたはウェブサイトにリンクまたはコマンドを送り得る。たとえば、ユーザがゲーミングアプリケーション304についての会話型インターフェース316において「ポーンを動かす」という語句を見たとき、ユーザは、クライアントデバイス302において「ポーンを動かす」という語句を話し得る。次いで、クライアントデバイス302は、音声のオーディオデータを取り込み、オーディオデータを自動化アシスタント320と共有し得る。次いで、自動化アシスタント320は、音声に対応する、構文解析されたテキストを含むリンクを生成し、エージェントモジュール310またはゲーミングアプリケーション304にリンクを送信する。たとえば、リンクは「http://assistant.url/chess-agent-module/move-pawn」などのURLであり得、URLがエージェントモジュール310によって処理され、アプリケーション304がチェスゲームを進めるのに使用するためのコマンドに変換され得る。リンクはまた、会話型インターフェース316における以前の選択可能要素のうちの少なくとも一部を置き換える新しい選択可能要素を生成するための選択可能要素エンジン326によって使用され得る。
【００２８】
いくつかの実装では、ユーザがウェブブラウザ314においてウェブサイトを閲覧しており、ウェブサイトがエージェントモジュール310に関連付けられない場合、ユーザには、ウェブサイトと対話するための会話型インターフェース316が依然として提示され得る。たとえば、ユーザは、エージェントモジュール310に関連付けられないホテルウェブサイトを閲覧していることがある。それでも、選択可能要素エンジン326は、クライアントデバイス302に、「自動化アシスタントを使用する」という語句を含む選択可能要素を表示させ得る。このようにして、ユーザは、利用可能なエージェントモジュール310がなくても、発話可能コマンドを受け取るのにホテルウェブサイトが利用可能であるという通知を受け得る。ユーザが選択可能要素を選択し、または「自動化アシスタントを使用する」という語句を話したことに応答して、ウェブブラウザ314は、ユーザに追加の選択可能要素を提示するために会話型インターフェース316をオープンし得る。追加の選択可能要素は、ウェブサイトの内容、ならびに/あるいはメッセージ、カレンダデータ、ブラウザ履歴、注文履歴、運転指示、および/またはユーザ活動に基づく任意の他のデータなどの、アプリケーション304からのデータを含み得るユーザデータ312の内容に基づいて、選択可能要素エンジン326によって生成され得る。選択可能要素は、発話可能コマンドの内容の少なくとも一部を識別するウェブリンクに対応し得、ウェブサイトをホストしているサーバによって処理され得る。次いで、ホテル予約プロセスを進めるために、ウェブリンクがウェブサイトまたはウェブブラウザ314に提供され得る。ユーザが、クリッカブル要素において提示される「イリノイ州のホテルを予約する」という語句を話すことを選ぶ場合、「イリノイ州のホテルを予約する」という発話語句に対応するオーディオデータが、自動化アシスタント320に提供され得る。その後で、自動化アシスタント320は、音声-テキストエンジン322において音声をテキストに変換し、次いでテキスト構文解析エンジン324においてテキストを構文解析し得る。次いで、構文解析されたテキストが、選択可能要素エンジン326においてウェブリンクに変換され、次いで、予約プロセスを進めるためにウェブリンクがウェブサイトまたはウェブブラウ
ザ314に提供され得る。その後で、選択可能要素エンジン326は、エージェントモジュール310から受け取った照会に従って予約プロセスを進めるために、会話型インターフェース316に選択可能要素を再ポピュレートし得る。たとえば、選択可能要素は、「予約日を選択する」、「部屋の大きさを選択する」、および/またはホテルを予約することに関係する任意の他のコマンドなどのコマンドに対応し得る。
【００２９】
図4A〜図4Cは、会話型ユーザインターフェースがコンピューティングデバイスのユーザインターフェースにおいて提示されていることを示す。具体的には、図4Aのダイアグラム400は、コンピューティングデバイスのウェブブラウザにおいて提示されたウェブサイトについての第1のユーザインターフェース406を示す。ウェブサイトは、たとえば、ユーザが聴取し得る様々なラジオ局を広告するラジオウェブサイトであり得る。ウェブサイトは、第1のユーザインターフェース406において提示される第1の選択可能要素408を含み得る。第1の選択可能要素408は、ウェブサイトに関連するエージェントモジュールと対話するために自動化アシスタントが使用され得るという指示をユーザに提供し得る。たとえば、第1の選択可能要素408は、自動化アシスタントにコンピューティングデバイスにおいて会話型ユーザインターフェース410をオープンさせるためにユーザによって話され得る、「自動化アシスタントを使用する」という語句を含み得る。ユーザはまた、第1のユーザインターフェース406をタッチすることによって、またはコンピューティングデバイスに何らかの他の選択コマンドを与えることによって第1の選択可能要素408を選択し得る。第1のユーザインターフェース406が選択され、または語句がユーザによって話されたことに応答して、自動化アシスタントは、エージェントモジュールがウェブサイトに関連付けられることを識別するリンクを受け取り得る。自動化アシスタントはまた、照会を実施して、ウェブサイトに関連するアプリケーションがコンピューティングデバイス上に存在するかどうか、それともコンピューティングデバイスにとってアクセス可能かどうかを識別し得る。次いで、自動化アシスタントは、会話型ユーザインターフェース410において結果を提供し得る。
【００３０】
図4Bのダイアグラム402の会話型ユーザインターフェース410は、第1のエージェントモジュール部分412および第2のエージェントモジュール部分416を含み得る。第1のエージェントモジュール部分412は、ウェブサイトに関連するエージェントモジュールに関係する会話型ユーザインターフェース410の部分に対応し得る。第2のエージェントモジュール部分416は、ウェブサイトに関連するネイティブアプリケーションに関係する会話型ユーザインターフェース410の部分に対応し得る。たとえば、ラジオウェブサイトはオーディオ聴取ウェブサイトであるので、自動化アシスタントは、コンピューティングデバイス上のオーディオ関連アプリケーションを識別し、オーディオ関連アプリケーションに関連するエージェントと対話するための発話可能コマンドをユーザに提示し得る。ダイアグラム400に示されるように、1つのオーディオ関連アプリケーションはポッドキャストアプリケーションであり得る。しかしながら、いくつかの実装では、関連アプリケーションは、自動化アシスタントアプリケーションを制御する側からは固有のサードパーティアプリケーションであり得る。
【００３１】
自動化アシスタントは、ウェブサイト(たとえば、ラジオウェブサイト)に関連するエージェントモジュールと、関連アプリケーション(たとえば、ポッドキャストアプリケーション)に関連するエージェントモジュールの両方に関係する選択可能要素を同時に提示し得る。選択可能要素は、ユーザと、ウェブサイトとアプリケーションの両方との間の対話に対応するユーザデータに基づく発話可能コマンド語句を含み得る。たとえば、選択可能要素414の第1のセットが、ユーザがウェブサイトを使用して以前に実施したアクションに対応し得る。「音楽を開始する」という発話可能コマンド語句は、音楽を再生するラジオウェブサイトを開始するためにユーザが前に選択した開始ボタンに対応し得る。自動化アシスタントによって記録された、開始ボタンの以前の選択が、会話型ユーザインターフェース410において選択され、かつ/またはコンピューティングデバイスに対して話され得る選択可能要素に変換され得る。さらに、選択可能要素418の第2のセットが、ポッドキャストアプリケーションなどの関連アプリケーションにおいてユーザによって実施されたアクションに対応し得る。たとえば、ユーザがポッドキャストを開始する以前のアクションが、自動化アシスタントによって記録され得、「ポッドキャストを開始する」という発話可能コマンド語句を含む選択可能要素を提供するための基礎として使用され得る。
【００３２】
いくつかの実装では、会話型ユーザインターフェース410は、関連アプリケーションに関連するエージェントモジュールに話しかけることができることをユーザに通知し得る。たとえば、会話型ユーザインターフェース410は、「ポッドキャストエージェントに話しかける」という発話可能コマンド語句を含む選択可能要素を提供し得る。「ポッドキャストエージェントに話しかける」と示される選択可能要素を選択したことに応答して、自動化アシスタントは、会話型ユーザインターフェース410を、ポッドキャストアプリケーションに関係する提案を含む第2のユーザインターフェース426となるように更新し得る。たとえば、第1の更新後インターフェース部分418が、自動化アシスタントまたはポッドキャストアプリケーションに関連するエージェントモジュールによって記録された以前のアクションまたは予測されたアクションに対応する、複数の異なる選択可能要素420を含み得る。さらに、第2の更新後インターフェース部分422が、ポッドキャストアプリケーションを操作中にユーザが以前に実施した履歴アクションに関係するユーザデータに基づいて、自動化アシスタントによって提供され得る。たとえば、ポッドキャストに関係する履歴アクションは、食品配送の注文であり得る。ユーザは、帰宅し、ポッドキャストをオンにし、食品を注文する日課を有し得、したがって、自動化アシスタントは、この日課を認識し、日課をより効率的に完了するための会話型インターフェースを提供し得る。第2の更新後インターフェース部分422において提供される各選択可能要素424がユーザによって選択され、または選択可能要素424の発話可能コマンド語句内で識別されるアクションを実施するために、コンピューティングデバイスに対して口頭で話され得る。さらに、自動化アシスタントは、関連アプリケーションに対応する1つまたは複数のエージェントモジュールを識別し、選択されたときに、自動化アシスタントを介してエージェントモジュールとの会話を初期化し得る選択可能要素424を提供し得る。たとえば、関連アプリケーション(たとえば、食品配送アプリケーション)が、アジア料理エージェントおよびエチオピア料理エージェントに関連付けられ得る。食品配送アプリケーションに関連する、異なるエージェントモジュールのそれぞれが、食品配送アプリケーションのアクションのカテゴリを支援することに特化し得、自動化アシスタントは、ユーザが自動化アシスタントを介してエージェントモジュールとインターフェースすることができることをユーザに通知し得る。
【００３３】
図5は、エージェントモジュールに自動化アシスタントを介して機能を実施させる方法500を示す。方法500は、クライアントデバイス、サーバデバイス、デバイスにおいて動作するモジュールもしくはアプリケーション、および/またはアプリケーションと対話するのに適した任意の他の装置によって実施され得る。方法500は、アプリケーションに関連するエージェントモジュールを識別するリンクの選択をコンピューティングデバイスにおいて受け取るブロック502を含み得る。アプリケーションは、ユーザ入力を通じて操作され得る内容を含むコンピューティングデバイス上の任意のアプリケーションであり得る。たとえば、アプリケーションは、ユーザがアプリケーションを使用してユーザの自宅内の様々なデバイスを制御することを可能にする自宅監視アプリケーションであり得る。リンクは、アプリケーションに関連するエージェントモジュールと対話するために自動化アシスタントが使用され得ることを示す語句を含む選択可能要素であり得る。たとえば、リンクは「自動化アシスタントを使用する」という語句を含み得、リンクを選択すること、または「自動化アシスタントを使用する」という語句を話すことによってリンクが活動化され得る。ブロック504において、自動化アシスタントがコンピューティングデバイスにとってアクセス可能であるかどうかの判定が行われる。自動化アシスタントは、アプリケーションに関連する機能を実施する際にユーザを誘導するために、エージェントモジュールとユーザとの間のインターフェースとして働く別々のアプリケーションまたはモジュールであり得る。自動化アシスタントがコンピューティングデバイスにおいて利用可能である場合、ブロック508において、会話型インターフェースが自動化アシスタントを使用してオープンされ得る。たとえば、会話型インターフェースは、起動されたエージェントモジュールと共にオープンされ得る。たとえば、会話型インターフェースがオープンされ得、エージェントモジュールの起動に応答してエージェントモジュールから受け取った内容に基づく出力を提示し得る。自動化アシスタントがコンピューティングデバイスにとって利用可能ではない場合、ブロック506において、会話型インターフェースがブラウザのデフォルトウェブページにおいてオープンされ得る。ブロック510において、ユーザインターフェース入力が会話型インターフェースにおいて受け取られる。ユーザインターフェース入力は、ユーザによって与えられた、タイプおよび/または発話された入力、ならびに/あるいは会話型インターフェースにおいて提示された選択可能要素の選択であり得る。たとえば、ユーザは、(会話型インターフェースを介して)エージェントモジュールとのダイアログに関与するためにタイプまたは発話された入力を与え得、かつ/またはエージェントモジュールとのダイアログを進めるために提案されたテキスト語句もしくは他の提案された内容を含む、提示された選択可能要素を選択し得る。ブロック512において、さらなる内容が、ブロック510において受け取ったユーザインターフェース入力に基づいてエージェントモジュールに提供される。次いで、エージェントモジュールは、エージェントモジュールに提供されたさらなる内容に基��いて、さらなる応答内容を生成し得る。そのようなさらなる応答内容(またはその変換)が、ユーザとの会話の推進においてユーザに提示するために提供され得、任意選択で、方法はブロック510に戻って、さらなる応答内容に応答してさらなるユーザインターフェース入力を受け取り得る。エージェントモジュールによって生成されるさらなる応答内容は、ブロック510において受け取ったユーザインターフェース入力に依存する。
【００３４】
図6は、動作を実施するためのクライアントアプリケーションが存在するかどうかに従って、選択可能要素の選択に応答して実施された動作を制限するための方法600を示す。方法600は、クライアントデバイス、サーバデバイス、デバイスにおいて動作するモジュールもしくはアプリケーション、および/またはアプリケーションと対話するのに適した任意の他の装置によって実施され得る。方法600は、選択可能要素および発話可能コマンド語句を含む会話型ユーザインターフェースをオープンするブロック602を含み得る。会話型ユーザインターフェースは、アプリケーションまたはウェブサイトに関連するエージェントモジュールによって実施され得るアクションに対応する複数の選択可能要素を含み得る。ブロック604において、選択可能要素の選択が受け取られ得る。選択可能要素は、コンピューティングデバイスのタッチインターフェース、コンピューティングデバイスに接続された周辺デバイス、および/またはコンピューティングデバイスのインターフェースにおいて選択可能要素を選択するための任意の他の機構によって選択され得る。ブロック606において、コマンド語句が制限されたアクションに対応するかどうかの判定が行われる。制限されたアクションは、動作中にユーザについてのプライベート情報を使用し得る動作であり得る。たとえば、非自動化アシスタントアプリケーションまたはウェブサイトは食品注文ウェブサイトであり得、選択可能要素は、ユーザに関連する支払い情報を使用して食品を注文する動作に対応し得る。あるいは、非自動化アシスタントアプリケーションまたはウェブサイトはソーシャルメディアウェブサイトであり得、選択可能要素は、ユーザのイメージを公にポストする動作に対応し得る。ブロック606において、コマンド語句が制限されたアクションに対応しない場合、ブロック608において、選択可能要素に対応するコマンドが実施され得る。たとえば、制限されたアクションに対応しないコマンドは、ゲーミングアプリケーション内の機能を実施すること、またはニュースウェブサイトによって提供されるニュース記事にアクセスすることであり得る。そのようなコマンドは、コマンド語句を話すことによって、または選択可能要素を選択することによって実施され得る。コマンド語句が制限されたアクションに対応する場合、ブロック610において、コマンドを実施するためのクライアントアプリケーションが存在するかどうかの判定が行われる。クライアントアプリケーションが存在する場合、ブロック614において、クライアントアプリケーションがコマンドを受け取るようにされる。たとえば、コマンド語句がウェブサイトからの食品を求める注文に対応する場合、クライアントアプリケーションは、ウェブサイトに関連する食品注文アプリケーションであり得る。このようにして、制限されたアクションがクライアントアプリケーションに残され得る。コマンドは、コマンドを実施するためのエージェントモジュールを識別する、URLなどのリンクの形態で、クライアントアプリケーションに提供され得る。たとえば、クライアントアプリケーションが食品注文アプリケーションであるとき、リンクは、たとえば「http://assistant.url/foodwebsite/food%ordering%agent」であり得る。このように��て、クライアントアプリケーションは、「food%ordering%agent」という識別子によって示されるように(%はスペースとして理解され得る)、ユーザが以前に食品ウェブサイトを閲覧しており、食品を注文することに関心があるという通知を受け得る。その後に、食品注文エージェントが初期化され得、会話型ユーザインターフェースが、食品注文を続行するためのコマンド語句に対応する、異なる選択可能要素を含むように更新され得る。あるいは、初期発話可能コマンド語句を実施するためのクライアントアプリケーションが存在しない場合、ブロック612において、コマンドが制限されるという指示が、コンピューティングデバイスにおいて提供され得る。その後に、ユーザは、(会話型ユーザインターフェースではなく)ウェブサイトを通じて注文を手動で続行し得るか、注文を中止する。
【００３５】
図7は、エージェントモジュールがアクセス可能であるかどうかに従って、自動化アシスタントを介してエージェントモジュールと対話するための方法700を示す。方法700は、クライアントデバイス、サーバデバイス、デバイスにおいて動作するモジュールもしくはアプリケーション、および/またはアプリケーションと対話するのに適した任意の他の装置によって実施され得る。方法700は、非自動化アシスタントアプリケーションに関連する機能を実施するための選択可能要素を会話型ユーザインターフェースにおいて提供するブロック702を含み得る。選択可能要素は、エージェントモジュールを識別し得るリンクもしくはコマンド、エージェントモジュールによって実施されるべきアクションもしくはインテント、および/またはアクションもしくはインテントを実施するときのエージェントモジュールによる使用のためのパラメータに関連付けられ得る。あるいは、選択可能要素は、自動化アシスタントを初期化するためのコマンド呼出しに対応し得る。ブロック704において、選択可能要素の選択が自動化アシスタントによって受け取られ得る。次いで、自動化アシスタントは、選択可能要素に対応するエージェントモジュールを識別し得る。ブロック706において、エージェントモジュールが自動化アシスタントにとってアクセス可能であるかどうかの判定が行われる。エージェントモジュールが自動化アシスタントと同一のデバイス上にロードされ、または自動化アシスタントがエージェントモジュールを含むネットワークデバイスと通信することができるとき、エージェントモジュールは自動化アシスタントにとってアクセス可能であり得る。自動化アシスタントがエージェントモジュールにアクセスすることができる場合、ブロック710において、非自動化アシスタントアプリケーションとの対話を進めるためにエージェントモジュールが初期化され得る。言い換えれば、自動化アシスタントは、ユーザがエージェントモジュールとより効率的に通信するためのインターフェースとして働き得る。しかしながら、エージェントモジュールが自動化アシスタントにとってアクセス可能ではない場合、ブロック712において、選択可能要素に対応するリンクが、自動化アシスタントを介して非自動化アシスタントアプリケーションに関連する機能を実施するための発話可能コマンド語句を伝達するためにデフォルトウェブページにおいてオープンされ得る。このようにして、自動化アシスタントにとってアクセス可能なエージェントモジュールがなくても、非自動化アシスタントアプリケーションとのユーザの対話を進めるための支援がユーザに依然として提供される。
【００３６】
図8は、例示的コンピュータシステム810のブロック図800である。コンピュータシステム810は通常、バスサブシステム812を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ814を含む。これらの周辺デバイスは、たとえば、メモリサブシステム825およびファイル記憶サブシステム826を含む記憶サブシステム824と、ユーザインターフェース出力デバイス820と、ユーザインターフェース入力デバイス822と、ネットワークインターフェースサブシステム816とを含み得る。入力および出力デバイスは、コンピュータシステム810とのユーザ対話を可能にする。ネットワークインターフェースサブシステム816は、外部ネットワークに対するインターフェースを提供し、他のコンピュータシステム内の対応するインターフェースデバイスに結合される。
【００３７】
ユーザインターフェース入力デバイス822は、キーボード、マウス、トラックボール、タッチパッド、またはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイ内に組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。一般には、「入力デバイス」という用語の使用は、すべての可能なタイプのデバイス、およびコンピュータシステム810内に、または通信ネットワーク上に情報を入力するための方式を含むものとする。
【００３８】
ユーザインターフェース出力デバイス820は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非可視ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視イメージを作成するための何らかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスを介するような非可視ディスプレイを提供し得る。一般には、「出力デバイス」という用語は、すべての可能なタイプのデバイス、およびコンピュータシステム810からの情報をユーザまたは別のマシンもしくはコンピュータシステムに出力するための方式を含むものとする。
【００３９】
記憶サブシステム824は、本明細書において説明されるモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構成を記憶する。たとえば、記憶サブシステム824は、方法500、600、700の選択された態様を実施し、かつ/あるいは本明細書において説明されるサーバデバイス、クライアントデバイス、データベース、エンジン、および/またはモジュールのうちの1つまたは複数を実装するための論理を含み得る。
【００４０】
これらのソフトウェアモジュールは一般に、プロセッサ814単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム824内で使用されるメモリ825は、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)830と、固定の命令が記憶される読取り専用メモリ(ROM)832とを含むいくつかのメモリを含み得る。ファイル記憶サブシステム826は、プログラムおよびデータファイルについての永続的記憶を提供し得、ハードディスクドライブ、フロッピーディスクドライブおよび関連する取外し可能媒体、CD-ROMドライブ、光学ドライブ、または取外し可能媒体カートリッジを含み得る。いくつかの実装の機能を実装するモジュールは、ファイル記憶サブシステム826によって記憶サブシステム824内に、またはプロセッサ814によってアクセス可能な他のマシン内に記憶され得る。
【００４１】
バスサブシステム812は、コンピュータシステム810の様々な構成要素およびサブシステムが所期の通りに互いに通信させるための機構を提供する。バスサブシステム812が単一のバスとして概略的に示されているが、バスサブシステムの代替実装は複数のバスを使用し得る。
【００４２】
コンピュータシステム810は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む様々なタイプのものであり得る。コンピュータおよびネットワークの常に変化する性質のために、図8に示されるコンピュータシステム810の説明は、いくつかの実装を示すための特定の例に過ぎないものとする。図8に示されるコンピューティングデバイスよりも多くの、または少ない構成要素を有する、コンピューティングデバイス810の多くの他の構成が可能である。
【００４３】
本明細書において説明されるシステムがユーザについての個人情報を収集し、または個人情報を活用する状況では、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的行動または活動、職業、ユーザのプリファレンス、ユーザの現在の地理的位置についての情報)を収集するかどうかを制御し、またはユーザにとってより強い関連があり得る内容をサーバから受け取るかどうか、および/またはどのように受け取るかを制御するための機会がユーザに提供され得る。さらに、あるデータは、個人識別可能情報が除去されるように、記憶または使用される前に1つまたは複数の方式で扱われ得る。たとえば、ユーザについて個人識別可能情報が決定され得ないか、またはユーザの特定の地理的位置が決定できないように、地理的位置情報が取得される場合にユーザの地理的位置が一般化され得る(都市、郵便番号、または州レベル)ように、ユーザの識別情報が扱われ得る。したがって、ユーザは、ユーザについてどのように情報が収集および/または使用されるかに関する制御を有し得る。
【００４４】
いくつかの実装が本明細書において説明および図示されるが、機能を実施するための、かつ/あるいは結果および/または本明細書において説明される利点のうちの1つまたは複数を取得するための様々な他の手段および/または構造が利用され得、そのような変形形態および/または修正形態のそれぞれが、本明細書において本明細書において説明される実装の範囲内にあると見なされる。より一般には、本明細書において説明されるすべてのパラメータ、寸法、材料、および構成は例示的なものであることを意味し、実際のパラメータ、寸法、材料、および/または構成は、特定の応用例、または本教示がそのために使用される応用例に依存する。定型的な実験だけを使用して、本明細書において説明される特定の実装の多くの均等物を当業者は理解することになり、または確認することができる。したがって、前述の実装は単に例として提示されること、および添付の特許請求の範囲およびその均等物の中で、具体的に説明され、特許請求されるのとは別の方法で実装が実施され得ることを理解されたい。本開示の実装は、それぞれの個々の特徴、本明細書において説明されるシステム、物品、材料、キット、および/または方法を対象とする。さらに、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組合せが、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の範囲内に含まれる。
【符号の説明】
【００４５】
204  ノード
100  ダイアグラム
102  ユーザ
104  モバイルデバイス
106  アプリケーション
108  ユーザインターフェース
112  選択可能要素
114  会話型インターフェース
116  ダイアグラム
118  ダイアグラム
120  提案要素
122  提案要素
124  提案要素
126  応答要素
128  応答要素
130  更新後会話型ユーザインターフェース
132  音声入力要素
200  ダイアグラム
202  ユーザ
204  モバイルデバイス
206  ウェブサイト
208  ユーザインターフェース
212  選択可能要素
214  会話型ユーザインターフェース
218  選択可能要素
222  選択可能要素
224  コンピューティングデバイス
300  システム
302  クライアントデバイス
304  アプリケーション
310  エージェントモジュール
312  ユーザデータ
314  ウェブブラウザ
316  会話型インターフェース
320  自動化アシスタント
322  音声-テキストエンジン
324  テキスト構文解析エンジン
326  選択可能要素エンジン
400  ダイアグラム
406  第1のユーザインターフェース
408  第1の選択可能要素
410  会話型ユーザインターフェース
412  第1のエージェントモジュール部分
414  選択可能要素
416  第2のエージェントモジュール部分
418  選択可能要素
420  選択可能要素
422  第2の更新後インターフェース部分
424  選択可能要素
426  第2のユーザインターフェース
810  コンピュータシステム
812  バスサブシステム
814  プロセッサ
816  ネットワークインターフェースサブシステム
820  ユーザインターフェース出力デバイス
822  ユーザインターフェース入力デバイス
824  記憶サブシステム
826  ファイル記憶サブシステム
830  メインランダムアクセスメモリ(RAM)
832  読取り専用メモリ(ROM)
【図１Ａ】
2020173846.tif 000003
【図１Ｂ】
2020173846.tif 000004
【図１Ｃ】
2020173846.tif 000005
【図２】
2020173846.tif 000006
【図３】
2020173846.tif 000007
【図４Ａ】
2020173846.tif 000008
【図４Ｂ】
2020173846.tif 000009
【図４Ｃ】
2020173846.tif 000010
【図５】
2020173846.tif 000011
【図６】
2020173846.tif 000012
【図７】
2020173846.tif 000013
【図８】
2020173846.tif 000014
【手続補正書】
【提出日】令和2年8月5日(2020.8.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実装される方法であって、
非自動化アシスタントアプリケーションのアプリケーションインターフェースをユーザにとってアクセス可能にさせるステップであって、前記アプリケーションインターフェースが、自動化アシスタントアプリケーションを介するエージェントモジュールとの通信を初期化するための第1の選択可能要素を含み、前記エージェントモジュールが、前記非自動化アシスタントアプリケーションに関連するアクションを実施するように構成される、ステップと、
前記第1の選択可能要素の選択を受け取るステップであって、前記第1の選択可能要素が、前記エージェントモジュールと、前記アクションを実施するときに使用するためのパラメータとを識別するリンクに対応する、ステップと、
前記第1の選択可能要素の前記選択を受け取ったことに応答して、前記自動化アシスタントアプリケーションを介して、会話型インターフェースを前記ユーザに提示させるステップであって、前記会話型インターフェースが、前記ユーザと前記エージェントモジュールとの間の媒介となるように構成される、ステップと、
前記自動化アシスタントアプリケーションを介して、前記会話型インターフェースにおいて第2の選択可能要素を提供するステップであって、前記第2の選択可能要素が、前記アクションの実施を進めるために、前記リンク内で識別される前記パラメータに基づく、ステップと
を含む方法。
【請求項２】
前記会話型インターフェースにおける前記第2の選択可能要素の選択を受け取るステップであって、前記第2の選択可能要素が、前記パラメータを履行するための値を特徴付ける、ステップと、
前記第2の選択可能要素の前記選択を受け取ったことに応答して、前記リンク内で識別される前記パラメータに割り当てるために、前記エージェントモジュールに前記値を提供するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記会話型インターフェースが、前記リンク内で識別される前記パラメータにそれぞれが割当て可能である1つまたは複数の他の提案された値をそれぞれ特徴付ける1つまたは複数の他の選択可能要素を含む、請求項2に記載の方法。
【請求項４】
前記第2の選択可能要素が、前記非自動化アシスタントアプリケーションを介して実施された以前のアクションに関連する発話可能コマンド語句を識別する、請求項1に記載の方法。
【請求項５】
前記発話可能コマンド語句に対応するオーディオデータを受け取るステップと、
前記オーディオデータを受け取ったことに応答して、前記エージェントモジュールに送信するために、前記オーディオデータをテキストデータに変換するステップと
をさらに含む、請求項4に記載の方法。
【請求項６】
1つまたは複数のプロセッサによって実装される方法であって、
コンピューティングデバイスの非自動化アシスタントアプリケーションによってレンダリングされたグラフィカルユーザインターフェースにおける選択可能要素の選択を受け取るステップであって、前記選択可能要素が、前記グラフィカルユーザインターフェースに関連するエージェントモジュールが前記非自動化アシスタントアプリケーションとは別々の自動化アシスタントアプリケーションを介して起動され得ることを示す、ステップと、
前記選択可能要素の前記選択に応答して、
前記自動化アシスタントアプリケーションを介して前記エージェントモジュールを起動するステップであって、前記自動化アシスタントアプリケーションが少なくとも一時的に前記コンピューティングデバイスを介してアクセス可能であるとき、前記エージェントモジュールが、前記自動化アシスタントアプリケーションを介して起動され得る複数の利用可能なエージェントモジュールのうちの1つである、ステップと、
前記エージェントモジュールを起動したことに応答して、前記エージェントモジュールからの応答内容を受け取るステップと、
自動化アシスタントインターフェースを介して前記自動化アシスタントアプリケーションによって、前記エージェントモジュールから受け取った前記応答内容に基づく出力を提供するステップと
を含む方法。
【請求項７】
前記選択可能要素の前記選択を受け取ったことに応答して、
前記自動化アシスタントアプリケーションとのダイアログのモダリティを示すモダリティパラメータを受け取るステップであって、前記出力が、前記モダリティパラメータによって示されるダイアログの前記モダリティを介して提供される、ステップ
をさらに含む、請求項6に記載の方法。
【請求項８】
前記モダリティが音声またはテキストの一方である、請求項7に記載の方法。
【請求項９】
前記選択可能要素が、前記エージェントモジュールに固有のリンクを識別し、
前記エージェントモジュールの起動が、前記リンクの内容に基づく、請求項6に記載の方法。
【請求項１０】
前記自動化アシスタントアプリケーションが少なくとも一時的に前記コンピューティングデバイスを介してアクセス不能であるとき、前記リンクが、前記エージェントモジュールの起動なしに、前記グラフィカルユーザインターフェースにおいて前記エージェントモジュールに関係するさらなる内容の表示を引き起こす、請求項9に記載の方法。
【請求項１１】
前記選択可能要素の前記選択を受け取ったことに応答して、
前記エージェントモジュールについてのインテントパラメータを含むエージェント内容を受け取るステップであって、前記エージェントモジュールを起動するステップが、前記エージェント内容によって示される前記インテントパラメータと共に前記エージェントモジュールを起動するステップを含む、ステップをさらに含む、請求項6に記載の方法。
【請求項１２】
前記インテントパラメータが、前記非自動化アシスタントアプリケーションとの対話を通じて動的に生成される、請求項11に記載の方法。
【請求項１３】
前記エージェントモジュールが、自動化アシスタントアプリケーションを提供した側からは固有のサードパーティによって提供されるサードパーティエージェントモジュールである、請求項6に記載の方法。
【請求項１４】
前記自動化アシスタントアプリケーションが、前記非自動化アシスタントアプリケーションとは別個のコンピューティングデバイスにおいて動作し、
前記出力が、前記別個のコンピューティングデバイスによって提供される、請求項6に記載の方法。
【請求項１５】
選択されたエージェントモジュールから受け取った前記応答内容に基づく前記出力がプロンプトであり、
前記プロンプトを提供することに続いて自然言語入力を受け取るステップと、
前記自然言語入力に基づくさらなる内容を前記エージェントモジュールに提供するステップと、
前記さらなる内容を前記エージェントモジュールに提供したことに応答して、前記エージェントモジュールからさらなる応答内容を受け取るステップと、
前記自動化アシスタントインターフェースを介して、前記エージェントモジュールから受け取った前記さらなる応答内容に基づく追加の出力を前記自動化アシスタントアプリケーションによって提供するステップと
をさらに含む、請求項6に記載の方法。
【請求項１６】
1つまたは複数のプロセッサによって実装される方法であって、
非自動化アシスタントアプリケーションを操作しているコンピューティングデバイスにおいて選択可能要素を表示させるステップであって、前記選択可能要素が、自動化アシスタントに前記非自動化アシスタントアプリケーションに関連するエージェントモジュールを初期化させるように構成される、ステップと、
前記選択可能要素の選択を受け取るステップと、
前記選択可能要素の前記選択を受け取ったことに応答して、
前記自動化アシスタントが前記コンピューティングデバイスにとってアクセス可能であるかどうかを判定するステップと、
前記自動化アシスタントが前記コンピューティングデバイスにとってアクセス可能であると判定されたとき、前記エージェントモジュールと通信するために前記自動化アシスタントを初期化するステップと
を含む方法。
【請求項１７】
前記エージェントモジュールと通信するために前記自動化アシスタントを初期化するステップが、
前記コンピューティングデバイスにおいて別の選択可能要素を表示させるステップであって、前記別の選択可能要素が、前記エージェントモジュールを識別するリンクに対応する、ステップ
を含む、請求項16に記載の方法。
【請求項１８】
前記別の選択可能要素が、前記非自動化アシスタントアプリケーションを介して実施された以前のアクションに関連する発話可能コマンド語句を識別し、
ユーザによって発話され前記コンピューティングデバイスにおいて受け取られたとき、前記自動化アシスタントが、前記発話可能コマンド語句に応答するように構成される、請求項17に記載の方法。
【請求項１９】
前記自動化アシスタントが前記コンピューティングデバイスにとってアクセス可能であると判定されたとき、
前記エージェントモジュールに起動要求を送信するステップと、
前記起動要求に応答して、前記エージェントモジュールから応答内容を受け取るステップと、
前記自動化アシスタントに関連するインターフェースを通じて、前記応答内容に基づく出力を提供するステップと
をさらに含む請求項18に記載の方法。
【請求項２０】
前記自動化アシスタントが前記コンピューティングデバイスにとってアクセス可能であるかどうかを判定するステップが、
ネットワークを介して、前記自動化アシスタントが前記ネットワーク上の1つまたは複数の別個のコンピューティングデバイスを介してアクセス可能であるかどうかの指示を要求するデータを送信するステップを含む、請求項16に記載の方法。
【外国語明細書】
2020173846000001.pdf