(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-06
(45)【発行日】2023-11-14
(54)【発明の名称】自動化されたアシスタントを介して対話セッションを再開するためのシステム、方法、および装置
(51)【国際特許分類】
H04L 51/216 20220101AFI20231107BHJP
G10L 15/22 20060101ALI20231107BHJP
H04L 51/02 20220101ALI20231107BHJP
H04M 11/00 20060101ALI20231107BHJP
【FI】
H04L51/216
G10L15/22 300Z
H04L51/02
H04M11/00 302
【外国語出願】
(21)【出願番号】P 2022030967
(22)【出願日】2022-03-01
(62)【分割の表示】P 2019563499の分割
【原出願日】2018-05-15
【審査請求日】2022-03-24
(32)【優先日】2017-05-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ヴィクラム・アガワル
(72)【発明者】
【氏名】ジュン・ウン・キム
(72)【発明者】
【氏名】デニズ・ビネイ
【審査官】鈴木 香苗
(56)【参考文献】
【文献】特開2006-188098(JP,A)
【文献】特開2015-129793(JP,A)
【文献】米国特許出願公開第2016/0042735(US,A1)
【文献】特表2015-528140(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 51/216
G10L 15/22
H04L 51/02
H04M 11/00
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実施される方法であって、
ユーザと自動化アシスタントとの間であり、かつ前記ユーザのクライアントデバイスの自動化アシスタントインターフェースを介して発生する対話セッションの内容を処理するステップであって、前記ユーザと前記自動化アシスタントとの間の前記対話セッションの前記内容が、前記自動化アシスタントに向けられた呼び出しフレーズと前記自動化アシスタントに向けられたコマンドフレーズとを含む、ステップと、
前記自動化アシスタントに向けられたコマンドフレーズに基づいて、前記自動化アシスタントに前記ユーザの代わりにタスクを実施させるステップと、
前記ユーザの代わりに前記タスクの前記実施に基づいて、前記
対話セッションが完了したと判定するステップと、
前記
対話セッションが完了したと判定するステップに基づいて、前記対話セッションの状態を特徴づけるデータを生成するステップと、
前記対話セッションが完了していることに続いて、かつ前記対話セッションの状態を特徴づけるデータを生成するステップに続いて
、
前記ユーザと前記自動化アシスタントとの間の完了していない所与の以前の対話セッションを特定するステップと、
完了した前記対話セッションの前記状態を特徴づけるデータに基づいて、かつ完了した前記対話セッションの前記内容に関連する以前の対話セッションの所与の以前の内容に基づいて、完了していない前記所与の以前の対話セッションを再開するための提案を生成するステップと、
前記自動化アシスタントに、
完了していない前記所与の以前の対話セッションを再開するために
、前記提案をレンダリングさせるステップと
を備える、方法。
【請求項2】
前記自動化アシスタントに前記ユーザの代わりに前記タスクを実施させるステップが、
前記ユーザの代わりに前記タスクを実施するために前記自動化アシスタントに第三者エージェントとインタラクションさせるステップを備える、請求項1に記載の方法。
【請求項3】
前記タスクのパラメータについての値を取得するステップをさらに備え、
前記ユーザの代わりに前記タスクを実施するために前記自動化アシスタントに前記第三者エージェントとインタラクションさせるステップが、前記タスクの実施中に前記第三者エージェントに前記タスクの前記パラメータについての前記値を提供させるステップを備える、請求項2に記載の方法。
【請求項4】
システムであって、
少なくとも1つのプロセッサと、
メモリであって、実行されたとき、前記少なくとも1つのプロセッサに、
ユーザと自動化アシスタントとの間であり、かつ前記ユーザのクライアントデバイスの自動化アシスタントインターフェースを介して発生する対話セッションの内容を処理することであって、前記ユーザと前記自動化アシスタントとの間の前記対話セッションの前記内容が、前記自動化アシスタントに向けられた呼び出しフレーズと前記自動化アシスタントに向けられたコマンドフレーズとを含む、ことと、
前記自動化アシスタントに向けられたコマンドフレーズに基づいて、前記自動化アシスタントに前記ユーザの代わりにタスクを実施させることと、
前記ユーザの代わりに前記タスクの前記実施に基づいて、前記
対話セッションが完了したと判定することと、
前記
対話セッションが完了したと判定することに基づいて、前記対話セッションの状態を特徴づけるデータを生成することと、
前記対話セッションが完了していることに続いて、かつ前記対話セッションの状態を特徴づけるデータを生成することに続いて
、
前記ユーザと前記自動化アシスタントとの間の完了していない所与の以前の対話セッションを特定することと、
完了した前記対話セッションの前記状態を特徴づけるデータに基づいて、かつ完了した前記対話セッションの前記内容に関連する以前の対話セッションの所与の以前の内容に基づいて、完了していない前記所与の以前の対話セッションを再開するための提案を生成することと、
前記自動化アシスタントに、
完了していない前記所与の以前の対話セッションを再開するために
、前記提案をレンダリングさせることと
を行わせる命令を記憶する、メモリと
を備える、システム。
【請求項5】
前記自動化アシスタントに前記ユーザの代わりに前記タスクを実施させる命令が、
前記ユーザの代わりに前記タスクを実施するために前記自動化アシスタントに第三者エージェントとインタラクションさせる命令を備える、請求項
4に記載のシステム。
【請求項6】
前記命令が、前記少なくとも1つのプロセッサに、
前記タスクのパラメータについての値を取得することを行わせ、
前記ユーザの代わりに前記タスクを実施するために前記自動化アシスタントに前記第三者エージェントとインタラクションさせるための命令が、前記タスクの実施中に前記第三者エージェントに前記タスクの前記パラメータについての前記値を提供させるための命令を備える、請求項
5に記載のシステム。
【請求項7】
命令を記憶した非一時的コンピュータ可読記憶媒体であって、実行されたとき
、少なくとも1つのプロセッサに、
ユーザと自動化アシスタントとの間であり、かつ前記ユーザのクライアントデバイスの自動化アシスタントインターフェースを介して発生する対話セッションの内容を処理することであって、前記ユーザと前記自動化アシスタントとの間の前記対話セッションの前記内容が、前記自動化アシスタントに向けられた呼び出しフレーズと前記自動化アシスタントに向けられたコマンドフレーズとを含む、ことと、
前記自動化アシスタントに向けられたコマンドフレーズに基づいて、前記自動化アシスタントに前記ユーザの代わりにタスクを実施させることと、
前記ユーザの代わりに前記タスクの前記実施に基づいて、前記
対話セッションが完了したと判定することと、
前記
対話セッションが完了したと判定することに基づいて、前記対話セッションの状態を特徴づけるデータを生成することと、
前記対話セッションが完了していることに続いて、かつ前記対話セッションの状態を特徴づけるデータを生成することに続いて
、
前記ユーザと前記自動化アシスタントとの間の完了していない所与の以前の対話セッションを特定することと、
完了した前記対話セッションの前記状態を特徴づけるデータに基づいて、かつ完了した前記対話セッションの前記内容に関連する以前の対話セッションの所与の以前の内容に基づいて、完了していない前記所与の以前の対話セッションを再開するための提案を生成することと、
前記自動化アシスタントに、
完了していない前記所与の以前の対話セッションを再開するために
、前記提案をレンダリングさせることと
を備える動作を実施させる、非一時的コンピュータ可読記憶媒体。
【請求項8】
前記自動化アシスタントに前記ユーザの代わりに前記タスクを実施させることが、
前記ユーザの代わりに前記タスクを実施するために前記自動化アシスタントに第三者エージェントとインタラクションさせることを備える、請求項
7に記載の非一時的コンピュータ可読記憶媒体。
【請求項9】
前記動作が、
前記タスクのパラメータについての値を取得することをさらに備え、
前記ユーザの代わりに前記タスクを実施するために前記自動化アシスタントに前記第三者エージェントとインタラクションさせることが、前記タスクの実施中に前記第三者エージェントに前記タスクの前記パラメータについての前記値を提供させることを備える、請求項
8に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自動化されたアシスタントを介した対話セッションの再開に関する。
【背景技術】
【0002】
自動化されたアシスタント(「パーソナルアシスタントモジュール」、「モバイルアシスタント」、または「チャットボット」としても知られる)は、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス、自動車システム、スタンドアロンのパーソナルアシスタントデバイスなどの様々なコンピューティングデバイスを介してユーザによってインタラクションされる可能性がある。自動化されたアシスタントは、ユーザからの入力(たとえば、タイピングされたおよび/または発話された自然言語入力)を受け取り、応答コンテンツ(responsive content) (たとえば、視覚的および/または可聴自然言語出力)によって応答する。残念なことに、自動化されたアシスタントとインタラクションしている間に、ユーザは、気を逸らされ、タスクまたは行為が自動化されたアシスタントによって完了される時点までインタラクションを完了しない可能性がある。結果として、ユーザは、その後、自動化されたアシスタントにタスクまたは行為を完了させるために自動化されたアシスタントへの入力を繰り返さなければならない可能性がある。これは、自動化されたアシスタントが以前のインタラクション中に既に処理されたユーザからのコマンドを再び処理しているとすれば、計算リソースおよび/または人の時間の無駄になり得る。
【発明の概要】
【課題を解決するための手段】
【0003】
説明される実装は、未完のインタラクションが以前のコマンドを繰り返す必要なしに後で完了され得るように自動化されたアシスタントとの未完のインタラクションを追跡するためのシステム、方法、および装置に関する。人は、本明細書において「自動化されたアシスタント」(「デジタルエージェント」、「チャットボット」、「インタラクティブパーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「会話エージェント」などとも呼ばれる)と呼ばれるインタラクティブなソフトウェアアプリケーションを用いて人間とコンピュータとの対話に従事する可能性がある。たとえば、人(自動化されたアシスタントとインタラクションするときは「ユーザ」と呼ばれる可能性がある)は、場合によってはテキストに変換され、それから処理される可能性がある口で言われた自然言語入力(つまり、発話)を使用して、および/またはテキスト(たとえば、タイピングされた)自然言語入力を与えることによってコマンドおよび/または要求を与える可能性がある。
【0004】
自動化されたアシスタントは、未完のインタラクションが以前のコマンドを繰り返す必要なしに後で完了され得るように自動化されたアシスタントとの未完のインタラクションを追跡するために使用され得る。さらに、未完のインタラクションを追跡することは、ユーザがインタラクション中に邪魔されてしまったかまたは単にインタラクション中のある時点で続けることを選択しないとした場合に、ユーザ自身の選択によってインタラクションを完了する選択肢をユーザに提供する。たとえば、自動化されたアシスタントは、クライアントデバイスの自動化されたアシスタントのインターフェースへの発話されたコマンド(たとえば、「アシスタント、Sallyに電話をかけて」)によって連絡先を用いて電話をかけるためにユーザによって使用され得る。自動化されたアシスタントは、自動化されたアシスタントのインターフェースを介して、ユーザが厳密には誰のことを言っているのかの選択肢によって応答することができる(たとえば、「Sally Smithに電話をかけたいですか?、Sally Bethに電話をかけたいですか?、それともSally O'malleyに電話をかけたいですか?」)。そのとき、ユーザは、気を逸らされ、自動化されたアシスタントに応答せず、それによって、自動化されたアシスタントが会話の結果として行為を実行しなかったおよび/またはタスク(たとえば、Sallyへの電話)を完了しなかったのでユーザと自動化されたアシスタントとの間の会話を未完にする可能性がある。自動化されたアシスタントとユーザとの間の会話は、メモリに記憶されることが可能であり、メモリは、後になってユーザが自動化されたアシスタントに行為を実行させることに関心があると判定されるときに自動化されたアシスタントによってアクセスされ得る。たとえば、最初の未完の会話の後、ユーザは、Sallyという名前の誰かに言及する電子メールのスレッドに参加していることが可能である。自動化されたアシスタントは、電子メールのスレッド内のSallyに関する言及を確認し、クライアントデバイスのインターフェースにおいて選択可能な要素を提供することができる。選択可能な要素は、語句「Sallyに電話する」を含む可能性があり、ユーザが選択可能な要素を選択することに応じて、自動化されたアシスタントは、以前の会話がどこで終わったかに対応する出力(たとえば、「Sally Smithに電話をかけたいですか?、Sally Bethに電話をかけたいですか?、それともSally O'malleyに電話をかけたいですか?」)を提供することができる。このようにして、ユーザは、自動化されたアシスタントへの過去のコマンドを繰り返さなくてよく、それによって、意図された行為(たとえば、Sallyに電話をかけること)を完了するまでの過程を効率化する。それによって、自動化されたアシスタントは、タスクが完了する前に中断される場合にタスクがより効率的に完了される可能性があるタスクを完了するための改善されたプロセスを提供する。ユーザ入力を繰り返す必要を避けることによって、ユーザ入力を受信し、処理するために必要とされる処理の負担が削減される。出力、たとえば、ユーザ入力を促すための対話を生成するために必要とされる処理の負担も、それに対応して削減される可能性がある。それによって、自動化されたアシスタントは、少なくとも処理の負担の削減に対応する程度まで、実施デバイスの電力消費を削減する。自動化されたアシスタントは、選択可能な要素を提供することによって、少なくとも複数の過去のコマンドを選択可能な要素を選択するという1つの行為によって置き換える。
【0005】
特定の会話が、会話が完了したかまたは未完了であったかに応じて自動化されたアシスタントによって記憶され得る。ユーザと自動化されたアシスタントとの間の会話は、ユーザからの複数の異なる発話されたまたはタイピングされたコマンドと、自動化されたアシスタントからの複数の異なる応答出力とを含み得る。ユーザは、会話のある時点でタスクまたは行為が実行される/完了されることを意図する可能性がある。タスクまたは行為は、電話をかけること、イベントを予約すること、メッセージを送信すること、デバイスを制御すること、情報にアクセスすること、および/またはコンピューティングデバイスによって実行され得る任意のその他の行為であることが可能である。タスクが会話の結果として完了されるとき、会話は、会話が結果として行為をもたらしたことを示すパラメータを含むフィールドまたはスロットとともに記憶され得る(たとえば、STORE_CONVERSATION = (content = "Sallyに電話して; ...に電話すればよろしいですか;", action = "電話する", complete = "1")。タスクが会話の結果として完了されないとき、会話は、会話がタスクが完了される結果とならなかったことを示すパラメータを含むフィールドまたはスロットとともに記憶され得る(たとえば、STORE_CONVERSATION = (content = "Sallyに電話して; ...に電話すればよろしいですか;", action = "電話する", complete = "0")。「complete」パラメータは、行為が完了されたことを示すために「1」を使用し、行為が完了されなかったことを示すために「0」を使用することによってタスクが完了されたかどうかを示すことができる。
【0006】
一部の実装において、会話は、たとえ実行されたタスクが必ずしも完了されなかったときでも完了として記憶され得る。たとえば、ユーザは、自動化されたアシスタントに音楽を再生するための音楽アプリケーションを開始させるために自動化されたアシスタントとの何巡かの会話に従事し得る。しかし、自動化されたアシスタントは、最終的に、音楽アプリケーションの加入が期限切れになったと判定する可能性があり、したがって、自動化されたアシスタントは、音楽アプリケーションを開くことができない。その後、ユーザと自動化されたアシスタントとの間の会話は、自動化されたアシスタントによって完了した会話として記憶され得る。このようにして、会話が完了するためのその後の提案は、音楽アプリケーションが音楽を提供しないにもかかわらず、音楽アプリケーションに関しては会話が最終的に結論に達したので、音楽アプリケーションの会話を含まない。
【0007】
一部の実装において、会話の提案は、ランク付けされ、タスクの完了をもたらさなかったより当を得た会話を完了する能力をユーザに与えるために会話インターフェースにおいて提示され得る。未完の会話のランク付けは、クライアントデバイスの計算リソースを節約するために、ユーザが使っているクライアントデバイスとは別のデバイス(たとえば、いわゆる「クラウド」コンピューティング環境を形成する1つまたは複数のコンピューティングシステム)によって実行され得る。提案は、クライアントデバイスの会話ユーザインターフェースにおいて、会話の提案に関連付けられ得るその他の選択可能な要素と一緒に、選択可能な要素として提示されることが可能である。たとえば、以前の未完の会話が、ユーザがしようとしていたが、ユーザが食べ物が配達されるための住所を与えなかったために最終的に完了しなかった食べ物の注文に関連付けられることが可能である。その後、食べ物のウェブサイトを観ている間に、ユーザは、未完の食べ物の注文の会話に対応する会話の提案を提示され得る。ユーザが会話の提案を選択する場合、未完の会話に関連するランクが上げられ得る。しかし、ユーザが会話の提案を選択しない場合、会話の提案に関連するランクは下げられる(または場合によっては変更されない)ことが可能である。ランクが下がった結果は、次にユーザが食べ物のウェブサイトを見ているときに会話の提案が現れないことであることが可能である。このようにして、ユーザが完了する時点まで続けることにより関心がある会話の提案をユーザが提示される可能性があるように、その他のより高いランク付けの会話の提案がユーザに提示され得る。このようにして会話をランク付けすることによって、自動化されたアシスタントは、ユーザによって現在実行されているかまたは意図されたタスクとの1つまたは複数の表示される選択可能な要素の関連性を保証することができる。したがって、自動化されたアシスタントは、ユーザによって実行されているかまたは意図されたタスクに対応する選択可能な要素が提供される見込みを高め、選択可能な要素の選択がユーザからの必要とされる入力の数を確かに削減する見込みを高める可能性がある。
【0008】
一部の実装において、会話を完了するための提案は、ユーザの特定のコンピュータに基づく活動に応じてランク付けされ、重み付けされ得る。たとえば、ホテルの予約に関連する1つまたは複数の未完の会話の提案が、ホテルを検索しているユーザに提示され得る。ユーザは、自動化されたアシスタントへの過去のコマンドまたはその他の言説を繰り返す必要なしに、ユーザが自動化されたアシスタントとの以前の会話を中止したところに戻されるために未完の会話の提案を選択することができる。以前の会話中に、ユーザは、ホテル予約のために宿泊者数および日付を与えた可能性があるが、ホテル予約のための支払いをしなかった可能性があり、したがって、ホテルが予約されなかったので、会話は完了しなかった。ホテルの会話は、未完として記憶され、ユーザが休暇を過ごすための場所を探すために検索アプリケーションを使用しているときに選択可能な要素に関連して後で提供されることが可能である。
【0009】
一部の実装において、会話の提案は、クライアントデバイスのホームページにおいて提供され得る。ホームページは、クライアントデバイスの様々なアプリケーションに関連する複数の異なる提案を提供し得る。たとえば、ホームページは、クライアントデバイスのカレンダーアプリケーションに記憶されたイベントについてのリマインダを提供し、クライアントデバイスのニュースアプリケーションからのニュース記事のまとめを提供し得る。ユーザがホームページを探索しているとき、ユーザは、ユーザによって選択されたときにユーザを会話ユーザインターフェースに移行させる会話の提案要素を提示され得る。会話ユーザインターフェースは、会話の提案要素に関連する以前の未完の会話中のユーザから入力および自動化されたアシスタントからの応答を入れられ得る。このようにして、ユーザは、元々意図された行為(たとえば、ホテルを予約すること、電話をかけること、アプリケーションの機能を実行すること)を自動化されたアシスタントに実行させるために以前の入力を必ずしも繰り返さなくてよい。会話の提案ではないその他の提案要素も、会話の提案要素と同時にホームページにおいて提示され得る。その他の提案要素は、ユーザと自動化されたアシスタントとの間の以前のインタラクション中に会話インターフェースにおいて提供された提案とは異なることが可能である。提案要素のこの変更は、ユーザがそれらの前に提示された提案要素を選択しなかった場合、ユーザは前に与えられた提案要素に関心がなかったという想定に基づくことができる。
【0010】
一部の実装において、会話の提案は、その他のユーザの集約された関心に基づいて確立されるランク付けおよび/または重みに基づいてユーザに提示され得る。たとえば、ビデオが人気のあるウェブサイト上で提示された結果として、ビデオが、人々に特に関心を持たれている可能性がある。ユーザがビデオを見つけ、再生することに関連して自動化されたアシスタントと以前会話したが、会話が最終的にビデオが再生される結果とならなかった場合、会話は、未完として記憶され得る。そして、記憶された会話は、その他の人々がビデオに対して持っている関心に基づいてランク付けされ得る。たとえば、記憶された会話は、人々が最近ビデオを検索している場合、人々がビデオを検索していなかったときと比較して、より高くランク付けされ得る。たとえば、未完の会話の後に、その他の人々がビデオを見て、その後、ユーザがビデオを検索する場合、ユーザは、ビデオを見るための会話を完了するための会話の提案を提示され得る。
【0011】
一部の実装において、1つまたは複数のプロセッサによって実施される方法が説明される。方法は、ユーザと自動化されたアシスタントのアプリケーションとの間の人間とコンピュータとの対話セッションの内容を分析するステップを含み得る。ユーザは、ユーザによって操作される1つまたは複数のクライアントデバイスのうちの第1のクライアントデバイスを使用して自動化されたアシスタントのアプリケーションと関わることができる。方法は、分析に基づいて、人間とコンピュータとの対話セッション中に生成されたタスクをユーザが完了しなかったと判定するステップも含み得る。方法は、判定に基づいて、タスクが完了する用意ができている人間とコンピュータとの対話セッションの状態を記憶するステップをさらに含み得る。加えて、方法は、記憶した後、ユーザがタスクを完了することを可能にするために選択可能である選択可能な要素を示すデータをクライアントデバイスのうちの1つまたは複数に提供するステップを含み得る。データは、状態に基づいて生成され得る。さらに、選択可能な要素は、人間とコンピュータとの対話セッションを再開するために自動化されたアシスタントのアプリケーションをその状態で呼び出すために選択可能であることが可能であり、タスクを完了させるために選択可能であることが可能である。タスクは、電話番号をダイヤルすることを含み得る。記憶された状態は、未完のタスクを特定することができる。一部の実装において、方法は、記憶された状態にランクを割り振るステップと、ランクを人間とコンピュータとの対話のその他の記憶された状態に関連するその他のランクと比較するステップとをさらに含み得る。選択可能な要素を提供することは、比較に基づくことが可能である。加えて、ランクを割り振るステップは、タスクを完了することに対するユーザの関心のレベルを示すユーザの活動を特定することを含み得る。人間とコンピュータとの対話を再開することは、自動化されたアシスタントのアプリケーションに、自動化されたアシスタントの少なくとも1つの以前の応答をクライアントデバイスのうちの1つまたは複数における出力として提供させることができる。
【0012】
その他の実装は、上でおよび/または本明細書の他の箇所で説明された方法のうちの1つまたは複数などの方法を実行するためにプロセッサ(たとえば、中央演算処理装置(CPU)またはグラフィックス処理ユニット(GPU))によって実行可能な命令を記憶する非一時的コンピュータ可読ストレージ媒体を含む可能性がある。さらに別の実装は、上でおよび/または本明細書の他の箇所で説明された方法のうちの1つまたは複数などの方法を実行するために記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つもしくは複数のコンピュータおよび/または1つもしくは複数のロボットのシステムを含む可能性がある。
【0013】
上述の概念および本明細書においてより詳細に説明される追加的な概念のすべての組合せは、本明細書において開示される対象の一部であると考えられることを理解されたい。たとえば、本開示の最後に現れる特許請求の対象のすべての組合せは、本明細書において開示される対象の一部であると考えられる。
【図面の簡単な説明】
【0014】
【
図1A】自動化されたアシスタントまたはクライアントデバイスによって完了されるタスクを進めるために、ユーザと自動化されたアシスタントのインターフェースとの間の対話セッションを記憶することができる自動化されたアシスタントにアクセスすることが可能であるクライアントデバイスの図である。
【
図1B】自動化されたアシスタントまたはクライアントデバイスによって完了されるタスクを進めるために、ユーザと自動化されたアシスタントのインターフェースとの間の対話セッションを記憶することができる自動化されたアシスタントにアクセスすることが可能であるクライアントデバイスの図である。
【
図1C】自動化されたアシスタントまたはクライアントデバイスによって完了されるタスクを進めるために、ユーザと自動化されたアシスタントのインターフェースとの間の対話セッションを記憶することができる自動化されたアシスタントにアクセスすることが可能であるクライアントデバイスの図である。
【
図1D】自動化されたアシスタントまたはクライアントデバイスによって完了されるタスクを進めるために、ユーザと自動化されたアシスタントのインターフェースとの間の対話セッションを記憶することができる自動化されたアシスタントにアクセスすることが可能であるクライアントデバイスの図である。
【
図2】ユーザが自動化されたアシスタントとの対話セッションを完了しないことに応じて未完とタグ付けされる対話セッションの図である。
【
図3】クライアントデバイスの自動化されたアシスタントのインターフェースにおいて提示するための提案を提供するために対話セッションがどのようにしてランク付けされ得るかを示す図である。
【
図4A】対話セッション中に与えられる提案が提案へのユーザの関心に応じてどのようにして回され得るかを示す図である。
【
図4B】対話セッション中に与えられる提案が提案へのユーザの関心に応じてどのようにして回され得るかを示す図である。
【
図4C】対話セッション中に与えられる提案が提案へのユーザの関心に応じてどのようにして回され得るかを示す図である。
【
図4D】対話セッション中に与えられる提案が提案へのユーザの関心に応じてどのようにして回され得るかを示す図である。
【
図5】実行される行為を進めるために、ユーザによって初期化された以前に記憶された対話セッションから対話セッションを再開するための方法を示す図である。
【
図6】記憶された対話セッションのランクに従って対話セッションを再開するための選択可能な要素を提供する方法を示す図である。
【
図7】複数の異なるユーザに関連するユーザデータに従って終わっていない対話セッションを再開するためにユーザに提案を与えるための方法を示す図である。
【
図8】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0015】
図1A~
図1Dは、自動化されたアシスタントまたはクライアントデバイス108によって完了されるタスクを進めるために、ユーザと自動化されたアシスタントのインターフェース114との間の対話セッションを記憶することができる自動化されたアシスタントにアクセスすることが可能であるクライアントデバイス108の図を示す。クライアントデバイス108はスマートフォンまたはタブレットとして示されるが、これは、限定であるように意図されていない。クライアントデバイスは、スタンドアロンのインタラクティブスピーカ、ウェアラブルテクノロジー(たとえば、スマートグラス)、車両に基づくクライアントデバイス(たとえば、ナビゲーションシステム、メディア制御システム)、いわゆるスマートテレビなどの様々なその他の形態をとる可能性がある。様々な実装において、最初に要請されたタスクが完了され得るようにユーザと自動化されたアシスタントとの間のインタラクションが後で再開され得るように、(対話セッションの状態を含む)対話セッションの様々な点または任意の人間と機械との対話が記憶されることが可能である。
【0016】
まず、一部の実装において、ユーザは、
図1Aの
図100に示されるように、クライアントデバイス108のユーザインターフェース116を見ており、自動化されたアシスタントに要請をすることができる。ユーザは、たとえば、「アシスタント、Sallyにメッセージを送信して。」などの第1のユーザ入力110によって自動化されたアシスタントに要請をすることができる。ユーザは、第1のユーザ入力110をクライアントデバイス108に言うことができる。一部の実装において、クライアントデバイス108は、第1のユーザ入力110に対応する音声を記録し、処理するために音声をリモートサーバなどの別のデバイスに送信することができる。自動化されたアシスタントの様々なオンライン構成要素(たとえば、自然言語プロセッサ)をホストすることができるリモートサーバが、音声を処理し、音声をテキストに変換し、第1のユーザ入力110に対する好適な応答を決定することができる。
【0017】
一部の実装において、自動化されたアシスタントは、ユーザが「Sally」という名の複数の記憶された連絡先(たとえば、「Sally Smith」および「Sally Beth」)を有すると判定し、ユーザがどちらの「Sally」にメッセージを送りたいのかについて尋ねることができる。したがって、第1のユーザ入力110に応じて、自動化されたアシスタントは、自動化されたアシスタントのインターフェース114に、テキスト「Sally Smithにメッセージを送ればよろしいですか?、それともSally Bethにメッセージを送ればよろしいですか?」を含む第1の応答112を提供させることができる。それに応じて、ユーザは、
図1Bの
図102に与えられるように、ユーザがメッセージを送信することを意図する正確な連絡先を選択するための第2のユーザ入力118 (たとえば、「アシスタント、Sally Smithにメッセージを送信して。」)を与えることができる。しかし、自動化されたアシスタントとの会話に従事している間に、ユーザは、気を逸らされ、少なくとも意図された行為(たとえば、メッセージの送信)が実行される時点まで会話を完了しない可能性がある。たとえば、第2のユーザ入力118を与えている間またはそのすぐ後に、クライアントデバイス108は、ユーザインターフェース116においてリマインダ120を提示し得る。リマインダ120は、間もなく行われるミーティングに関する可能性があり、したがって、ユーザは、対話セッションを最後まで終える時間が残されていない可能性がある。ともかく、自動化されたアシスタントは、意図されたタスクが完了される時点までユーザが対話セッションを完了することができるように対話セッションを記憶し得る。
【0018】
自動化されたアシスタントは、ユーザの行為および/またはユーザに関連するその他のインジケータに基づいて、対話セッションが一時的に未完であると判定することができる。たとえば、ユーザが、時間の閾値の期間、自動化されたアシスタントにいかなる応答も与えない場合、自動化されたアシスタントは、会話を未完の会話として記憶することができる。代替的に、自動化されたアシスタントが、ユーザが自動化されたアシスタントとインタラクションすることを妨げるアプリケーションをユーザが操作している(たとえば、テレビ会議に参加している)ことを知る場合、自動化されたアシスタントは、会話が一時的に未完であることを通告され得る。一部の実装において、自動化されたアシスタントは、ユーザがクライアントデバイス108とは別のデバイスを操作していることを知り、行為が実行される時点まで会話を完了するためにユーザが空いていないと判定することができる。たとえば、自動化されたアシスタントは、別のデバイスがクライアントデバイス108から少なくとも閾値の距離離れて移動したと判定し、それによって、ユーザがクライアントデバイス108から離れており、会話が一時的に未完であることを自動化されたアシスタントに通告することができる。
【0019】
会話が一時的に未完であるかまたはそうでなければ意図されたタスクが完了される時点まで完了されなかったと自動化されたアシスタントが判定することに応じて、自動化されたアシスタントは、会話を対話セッションとして、たとえば、対話セッションの「状態」として記憶することができる。対話セッションは、会話中の任意の時点で意図された行為が実行されなかったという判定に応じて未完とタグ付けされ得る。たとえば、対話セッションの状態が、STORE_DIALOG_SESSION_STATE = (content = "アシスタント、Sallyにメッセージを送信して; ...にメッセージを送ればよろしいですか;", action = "メッセージを送信する", complete = "0")などのコマンドによって記憶され得る。代替的に、一部の実装において、対話セッションは、{ action = SEND_MESSAGE, content = "...", contact = { { "Sally Smith", Work: "838-383-2838", Mobile: "388-238-2383"} { "Sally Beth", "337-382-3823"}}などのコマンドによって記憶され得る。連絡先名およびそれらのそれぞれの連絡先情報を含めるために対話セッションを記憶することによって、対話セッションが中断される間にユーザが連絡先情報(たとえば、電話番号)を修正することによって引き起こされる同期の問題が、排除され得る。
【0020】
コマンドは、自動化されたアシスタントから与えられ、メモリ内で記憶された対話セッションを生成するためにリモートサーバによって実行され得る。パラメータ「complete」は、「action」パラメータが会話中に実行されたかどうかに対応し得る。
図1A~
図1Bの会話に関して、会話は、Sallyへのメッセージが送信されなかったので完了されておらず、したがって、「complete」メトリック(metric)は、値「0」を割り振られる。メッセージがSallyに送信されていたならば、「complete」メトリックは、メッセージが送信されたことを示す値「1」を割り振られることになる。
【0021】
その後、ミーティングの後、たとえば、ユーザは、クライアントデバイス108を操作しており、ユーザインターフェース116を見ている可能性がある。ユーザは、
図1Cの
図104に与えられるように、クライアントデバイス108において見るための情報の様々な提案またはアプリケーション(たとえば、ニュースおよび天気)を含み得るクライアントデバイス108のまとめページまたはホームページを見ている可能性がある。提案のうちの少なくとも1つは、記憶された対話セッションに関連付けられる選択可能な要素122に対応し得る。たとえば、選択可能な要素122は、ユーザが「Sally」にメッセージを送信するために自動化されたアシスタントを以前使用していたという、ユーザに対するリマインダとして働くことができる語句「Sallyにメッセージを送信する」を含み得る。選択可能な要素122は、
図1Dの
図106に与えられるように、選択可能な要素122がユーザによって選択されるときに自動化されたアシスタントのインターフェース114がクライアントデバイス108において開かれ得るように動作することができる。ユーザが選択可能な要素122を選択することに応じて、自動化されたアシスタントは、ユーザがそれらのユーザの過去の入力を繰り返さなくてよいように自動化されたアシスタントのインターフェース114にデータを再び入れることができる。さらに、記憶された対話セッションにおける最後のユーザ入力に対する自動化されたアシスタントからのすべての応答も、提供され得る。たとえば、対話セッションにおける最後のユーザ入力である第2のユーザ入力118は、メッセージが送信される人を特定した。それに応じて、ミーティングの後、自動化されたアシスタントは、たとえば、「わかりました。メッセージでなんとお伝えしますか?」などの第2の応答124を提供することができる。このようにして、自動化されたアシスタントがユーザにユーザの最後の入力を繰り返させることなく第2の応答124を提供したので、ユーザは、ミーティングの前よりも対話セッションの完了に近付く。
【0022】
図2は、ユーザが自動化されたアシスタントとの対話セッションを完了しないことに応じて未完とタグ付けされる対話セッションの
図200を示す。ユーザ202が、クライアントデバイス204を介して自動化されたアシスタントとの対話セッションに参加している可能性がある(クライアントデバイス204は、
図2においてはスタンドアロンのインタラクティブスピーカの形態をとるが、これは限定であるように意図されていない)。自動化されたアシスタントは、ユーザ202とアプリケーションまたはウェブサイトに関連する第三者エージェントとの間の仲介者として働くことができる。第三者エージェントは、ユーザ202がアプリケーションまたはウェブサイトに関連する機能を実行するのを支援するためにユーザ202によって利用され得る可能性がある。自動化されたアシスタントは、ユーザ202からユーザ入力216を受け取り、ユーザ入力216を処理し、処理されたユーザ入力216を第三者エージェントに与えることができる。たとえば、第三者エージェントは、ピザ注文アプリケーションに関連付けられることが可能であり、ユーザ202は、「アシスタント、ピザを注文して。」などのユーザ入力216によって自動化されたアシスタントを介してピザの注文を初期化することができる。自動化されたアシスタントは、ユーザ入力216を処理して、ユーザ202がピザ注文アプリケーションに関連する第三者エージェントを使うことを意図していると判定することができる。自動化されたアシスタントは、「わかりました。どのお店にしますか?」などの応答出力218によってクライアントデバイス204の自動化されたアシスタントのインターフェース(たとえば、クライアントデバイス204のオーディオシステム)を介してユーザ202に応答することができる。ユーザ202は、店(たとえば、「Pizza Place」)を特定することによってそれに応じてユーザ入力216を再び与えることができ、自動化されたアシスタントは注文についてのさらなる情報を要求することによって応答出力218(たとえば、「わかりました。トッピングは何にしますか?」)を再び与えることができる。場合によっては、ユーザ202は、このとき、たとえば、モバイルデバイス220において電話が受信されることによって気を逸らされる可能性がある。自動化されたアシスタントは、少なくともタスクが完了される/実行される(たとえば、第三者エージェントにピザの注文をする)時点まで対話セッションを完了することにユーザ202が一時的に無関心であることを知ることができる。それに応じて、自動化されたアシスタントは、対話セッションを未完の対話セッションとして記憶することができる。
【0023】
自動化されたアシスタントは、記憶された対話セッションの状態212を管理するためのデータベース210を含み得るサーバなどのリモートデバイス208と1つまたは複数のネットワーク206を介して通信することができる。それぞれの記憶された対話セッション212は、対話セッション(たとえば、「SESSION_1」)を完了(たとえば、「COMPLETE=(1)」)または未完(たとえば、「COMPLETE=(1)」)として特定するエントリ214に対応し得る。ユーザ入力216および応答出力218に対応する対話セッションは、「SESSION_1: COMPLETE=(0)」、記憶された対話セッション212の第1のエントリ214として記憶され得る。対話セッションが第三者エージェントへのピザの注文をもたらさないので、対話セッションに対応するエントリ214は、「COMPLETE」パラメータに値「0」を割り振られ得る。
【0024】
自動化されたアシスタントは、ユーザに未完の対話セッションについて思い出させるべき好適な時間または場所を決定するためにユーザ202および/またはユーザ202によって使用されるデバイスを監視することができる。たとえば、一部の実装において、モバイルデバイス220は、自動化されたアシスタントとネットワーク206を介して通信することができ、自動化されたアシスタントは、ユーザ202がもはや電話に参加していないときを判定することができる。一部の実装において、自動化されたアシスタントは、モバイルデバイス220がクライアントデバイス204から閾値の距離および/または時間の閾値の期間離れて移動するとき、ユーザ202が対話セッションを完了することにもはや関心がないと判定することができる。それに応じて、自動化されたアシスタントは、対話セッションをデータベース210に未完として記憶し、ユーザ202および/またはモバイルデバイス220がクライアントデバイス204により近くなるかまたはクライアントデバイス204の閾値の距離以内に入るとき、対話セッションに関する提案を提供することができる。
【0025】
自動化されたアシスタントは、クライアントデバイス204またはモバイルデバイス220に、未完の対話セッションに関してユーザ202に提案(たとえば、「ピザの注文を続けますか?」)を提供させることができる。未完の対話セッションに関する提案は、クライアントデバイス204および/もしくはモバイルデバイス220による聞くことが可能な提案の出力、またはクライアントデバイス204および/もしくはモバイルデバイス220において提供される選択可能な要素であることが可能である。ユーザ202が完了する(たとえば、ピザの注文を完了する)まで対話セッションを続けることを選択するならば、自動化されたアシスタントは、データベース210の対話セッションの状態に対応するエントリ214を更新することができる。エントリ214は、値「1」を持つように「COMPLETE」パラメータを修正することによって対話セッションが完了されたことを示すために更新され得る。このようにして、自動化されたアシスタントは、対話セッションを完了することに関する提案をもはや提供しない。しかし、対話セッションの内容(たとえば、ユーザ入力216および応答出力218)は、その他の未完の会話に関する将来の提案を提供するために自動化されたアシスタントによって使用され得る。たとえば、ユーザ202は、食べ物の注文などの行為に関連する未完の対話セッションを概して終わらせる可能性があるが、電話に関連する未完の対話セッションは概して終わらせない可能性がある。自動化されたアシスタントは、ユーザ202が過去に完了することに関心があった対話セッションを完了するための提案のみをユーザ202が提示されるように、エントリ214をランク付けするためにこの傾向および同様の傾向を追跡することができる。
【0026】
図3は、クライアントデバイス304の自動化されたアシスタントのインターフェース306において提示するための提案を提供するために対話セッションがどのようにしてランク付けされ得るかを示す
図300を提供する。一部の実装において、自動化されたアシスタントのインターフェース306は、自然言語入力に応答するために自然言語プロセッサなどの1つまたは複数のオンラインの自動化されたアシスタントの構成要素と(様々な程度に)協力する可能性がある。クライアントデバイス304は、記憶された対話セッションの状態302およびユーザデータ308を管理することができるサーバなどのリモートデバイス310とネットワーク312を介して通信することができる。記憶された対話セッションの状態302は、ユーザと自動化されたアシスタントとの間の会話または人間と機械とのインタラクションに対応することが可能であり、それらは、リモートデバイス310上に存在することもできる。対話セッションは、ユーザと自動化されたアシスタント(および一部の実装においては第三者エージェント)との間のインタラクションがタスクが完了される結果をもたらさなかったとき、自動化されたアシスタントによって未完であるとみなされ得る。タスクは、メッセージの送信、イベントの予約、品物の購入、および/またはコンピューティングデバイスによって実行され得る任意のその他のタスクであることが可能である。タスクは、自動化されたアシスタントによってユーザの対話の中で特定され、記憶された対話セッション302のセッションエントリ314内で特定され得る。
【0027】
各セッションエントリ314は、ユーザがセッションエントリ314に対応する対話セッションに対して持っている関心のレベルに従ってランク付けされ得る。関心のレベルは、記憶された対話セッション302に関連する対話セッションに参加したユーザに関連付けられ得るユーザデータ308に基づいて自動化されたアシスタントによって決定されることが可能である。関心のレベルは、セッションエントリ314内で特定された行為に関連する活動に参加したその他のユーザに関連付けられる集約ユーザデータ308を使用して決定されることも可能である。
【0028】
一部の実装においては、セッションエントリ314が、ユーザがホテルを予約することに関連する対話セッション(たとえば、SESSION_2)を完了せず、電話をかけることに関連する対話セッション(たとえば、SESSION_N)も完了しないことに応じて記憶され得る。各セッションエントリ314は、最初に、割り振られたランク(たとえば、それぞれ2および3)とともに記憶され得る。しかし、自動化されたアシスタントは、それぞれの対応する対話セッションが未完であると判定された後、ユーザデータ308を分析してランクを動的に変更することができる。たとえば、自動化されたアシスタントは、メッセージデータを処理することによって、ユーザが電話に関連する対話セッションにおいて特定された人と連絡を取ることに関心があると判定することができる。メッセージデータは、ユーザのその他の連絡先への電子メール、テキストメッセージ、および/または任意のその他のメッセージを含み得る。自動化されたアシスタントは、ユーザがホテルを検索していたことを示すことが可能であるブラウザデータを処理することによって、ユーザがホテルの予約を完了することに関心があると判定することもできる。しかし、SESSION_Nに関連するデータがSESSION_2に関連するデータよりも頻繁に特定される場合、SESSION_Nに関するランクは、SESSION_2に関するランクよりも高くなるように修正され得る。これが、
図300に示され、
図300は、SESSION_Nに関する前のランク(3)が取り消され、新しいランク(2)によって置き換えられることと、SESSION_1に関する前のランク(2)が取り消され、新しいランク(3)によって置き換えられることとを示す。
【0029】
ユーザデータ308のその他の部分も、セッションエントリ314のランクに影響を与え得る。たとえば、一部の実装において、自動化されたアシスタントは、ユーザが操作する1つまたは複数のデバイスのアプリケーションに関連するアプリケーションデータにいつでもアクセスすることができる。自動化されたアシスタントは、アプリケーションデータを使用して、ユーザが記憶された対話セッション302に関連するアプリケーションによる何らかの機能を実行しているかどうかを判定することができる。場合によっては、ユーザは、自動化されたアシスタントによってユーザが以前に電話をかけようと試みていた連絡先を特定するアプリケーションデータを含むソーシャルメディアアプリケーションを操作している可能性がある。連絡先を特定するアプリケーションデータを特定することに応じて、自動化されたアシスタントは、電話を進めるためのものであった未完の対話セッション(たとえば、SESSION_N)に対応するセッションエントリ314のランクを調整することができる。一部の実装において、自動化されたアシスタントは、セッションエントリ314のランク付けを調整するためにカレンダーデータおよび/またはモノのインターネット(IoT)デバイスデータにアクセスすることができる。たとえば、カレンダーデータは、対話セッションにおいて特定されたホテルの予約に関連するカレンダーエントリを含み得る。カレンダーエントリに対応する日付が近付くとき、ホテルの予約に関連するセッションエントリ314 (たとえば、SESSION_2)に関するランク付けが高められ得る。しかし、カレンダーエントリに対応する日付が過ぎると、ユーザが過ぎたイベントにもはや関心がない可能性が高いので、セッションエントリ314に関するランク付けが下げられ得る。さらに、自動化されたアシスタントは、セッションエントリ314のランク付けをどうやって調整するかを決定するためにIoTデータにアクセスすることができる。たとえば、防犯カメラなどのIoTデバイスからのデータが、ユーザが自宅で暇であると判定するために自動化されたアシスタントによって使用され得る。したがって、自動化されたアシスタントは、ユーザが未完の対話セッションに対応するセッションエントリ314において特定される電話を続けることに関心がある可能性があると想定し得る。IoTデバイスからそのようなデータを受信することに応じて、自動化されたアシスタントは、セッションエントリ314のランク付けを上昇させ得る。しかし、ユーザが自宅を離れると、自動化されたアシスタントは、ユーザが電話によって中断されたその他の予定を有するという想定に基づいてランク付けを下げることができる。
【0030】
一部の実装において、ユーザデータ308は、その他のユーザに関連するデータを含み得る。このようにして、セッションエントリ314のランク付けおよび対話セッションを完了するための提案が、その他のユーザの関心に基づくことが可能である。たとえば、場合によっては、ユーザは、自動化されたアシスタントにビデオを見つけさせるために自動化されたアシスタントとの対話セッションを初期化する可能性がある。対話セッションがビデオの再生をもたらさない場合、自動化されたアシスタントは、対話セッションをランクに関連するセッションエントリ314として記憶することができる。その後、何人かのその他のユーザがビデオを見つけるために検索アプリケーションを使用している場合、自動化されたアシスタントは、ビデオ再生に関連するセッションエントリ314のランクを上げるための基礎として検索アプリケーションからのアプリケーションデータを使用することができる。その後、ユーザがビデオに関連するクライアントデバイス304による何らかの機能を実行している場合、自動化されたアシスタントは、以前のビデオ検索に関連する対話セッションを完了するための提案要素をユーザに提示することができる。ユーザが提案要素を選択するとき、クライアントデバイス304は、ビデオ再生を進めるためにユーザがユーザの入力を繰り返さなくてよいように対話セッションからの対話を入れられる自動化されたアシスタントのインターフェース306を提示することができる。
【0031】
図4A~
図4Dは、対話セッション中にユーザインターフェース416において与えられる提案が提案へのユーザの関心に応じてどのようにして回され得るかを示す図を提供する。特に、
図4Aは、ユーザがクライアントデバイス408による特定の機能を実行するのを助けるために自動化されたアシスタントにアクセスすることができるクライアントデバイス408の
図400を示す。ユーザは、ユーザからのテキストのまたは発話された入力に応じることが可能である会話インターフェース414を通じて自動化されたアシスタントとインタラクションすることができる。たとえば、ユーザは、飛行機を予約する要求に対応する第1の入力410 (たとえば、「アシスタント、飛行機を予約して。」)を与えることができる。それから、自動化されたアシスタントは、第1の応答412 (たとえば、「分かりました。飛行機でどこに行きますか?」)を提供することができる。同時に、自動化されたアシスタントは、ユーザからの入力に関連する提案の第1の組426を提供することができる。たとえば、提案の第1の組426は、自動化されたアシスタントからの第1の応答412に答えるための提案される答えに対応し得る。特に、提案の第1の組426は、ユーザが飛行機で行くことに関心がある可能性がある場所を特定する(たとえば、「私の前回の目的地」)。提案の第1の組426の各提案は、ユーザが提案を選択するかどうかに応じて変化し得るランクを割り振られることが可能である。たとえば、ユーザは、「私の前回の目的地」に対応する提案要素を選択することができ、それに応じて、語句「私の前回の目的地」が、ユーザから自動化されたアシスタントへの第2の入力418とみなされ得る。提案「私の前回の目的地」に関連するランクも、ユーザが提案を選択した結果として高められ得る。さらに、ユーザが行った前回の目的地に関連するすべての提案も、それらの提案が対話セッションを完了するのに役立つので高められ得る。ユーザが選択しなかった提案(たとえば、「Chicago」)に関連するランクは、下げられ、それによって、選択されなかった提案が、次回ユーザが自動化されたアシスタントを介して飛行機を予約しているときに潜在的に提示されないようにすることができる。
【0032】
ユーザと自動化されたアシスタントとの間の対話セッションが行われている間に、ユーザは、
図4Bの
図402に与えられるように、着信に対応する呼び出し要素420を選択することができる。結果として、自動化されたアシスタントは、対話セッションが一時的に未完であると判定し、ユーザが完了するために対話セッションを後で選択することができるように対話セッションを記憶し得る。電話が終わった後のあるときに、ユーザは、
図4Cの
図404に与えられるように、その他のアプリケーション(たとえば、ニュースおよび天気)からの情報を含み得るユーザインターフェース416のホームページを見ることによってクライアントデバイス408とインタラクションしていることが可能である。このとき、自動化されたアシスタントは、ユーザが飛行機の予約を完了することに関心がある可能性があると判定し、ユーザインターフェース416において提案要素422を提示することができる。ユーザが提案要素422を選択することに応じて、ユーザインターフェース416は、会話インターフェース414に移行することができる。
【0033】
自動化されたアシスタントは、
図4Dの
図406に与えられるように、会話インターフェース414において提案の第2の組428を提供することができる。提案の第2の組428は、ユーザが提案の第1の組426とどのようにインタラクションしたかに基づいて生成され得る。たとえば、ユーザが提案要素422を選択することによって記憶された対話セッションを開くことを選択したので、自動化されたアシスタントは、会話インターフェース414において第2の入力418および第2の応答424 (たとえば、「分かりました。いつ出発しますか?」)を提供することができる。提案の第2の組428は、第2の入力418に対する提案される応答であり、自動化されたアシスタントとの以前のインタラクションからの提案の選択および/または非選択に基づくことが可能である。たとえば、ユーザが「前回の目的地」への関心を示したので、前回の目的地に関連するすべての提案は、ランクを高められた。結果として、前回の出発時間が前回の目的地に関連付けられるので、提案「私の前回の出発時間」が、自動化されたアシスタントによって提示され得る。したがって、対話セッションをランク付けするためのみでなく、対話セッション中に提示された提案をランク付けするためにも、ランクが使用され得る。このようにして、対話セッションは、計算リソースを節約し、行為がユーザからのより少ないステップによって実行されるようにするためにユーザの活動に基づいて効率化され得る。
【0034】
図5は、実行される行為を進めるために、ユーザによって初期化された以前に記憶された対話セッションから自動化されたアシスタントとの対話セッションを再開するための方法500を示す。方法500は、ユーザとインタラクションすることができるクライアントデバイス、サーバデバイス、モバイルデバイス、および/または任意のその他の装置によって実行され得る。方法500は、自動化されたアシスタントおよび/または第三者エージェントを介して完了されるタスクを進めるためのものである対話セッションの一部として入力を受け取るブロック502を含み得る。入力は、自動化されたアシスタントのインターフェースへのテキスト入力および/またはユーザから自動化されたアシスタントのインターフェースへの発話された入力であることが可能である。さらに、タスクは、メッセージを送信すること、電話をかけること、ウェブサイトを開くこと、イベントを予約すること、および/またはコンピューティングデバイスによって実行され得る任意のその他の行為であることが可能である。
【0035】
方法500は、入力を受け取った後に行為が完了されなかったと判定するブロック504をさらに含み得る。ブロック504からの判定は、対話セッション中または対話セッション後のユーザの1つまたは複数の活動に基づくことが可能である。たとえば、判定は、ユーザの位置、ユーザが特定のアプリケーションを見ているかどうか、ユーザによって閲覧されたウェブサイト、ユーザへのもしくはユーザからのメッセージ、および/またはユーザの活動を示す任意のその他の情報に基づくことが可能である。
【0036】
方法500は、未完のタスクに基づいて対話セッションの状態を未完として記憶するブロック506も含み得る。様々な実装において、「状態」は、対話セッションが記憶された状態で再開されるときにタスクが完了する「用意ができている」(たとえば、セットアップされる、提示される、レイアウトされるなど)可能性があるように十分なデータを含む可能性がある。たとえば、対話セッションが記憶された状態で再開されるとき、ユーザは、実行可能な限り迅速にタスクを完了するために、ユーザが中止したところからユーザが再開することができるように、(ユーザからまたは自動化されたアシスタントからの)最も最近の対話メッセージに戻される可能性がある。場合によっては、対話セッションの状態は、対話セッションの結果として自動化されたアシスタントによってタスクが最終的に完了されたかどうかを示す離散的な値を有することが可能なスロットとともに記憶され得る。タスクが完了された場合、対話セッションは、完了として記憶されることが可能であり、タスクが完了されなかった場合、対話セッションは、未完として実行されことが可能である。
【0037】
ブロック508において、選択可能な提案要素が選択されるときに、未完のタスクが完了する用意ができているように対話セッションが自動化されたアシスタントによって記憶された状態で再開されることが可能であるように、選択可能な提案要素が提供され得る。選択可能な提案要素は、以前の対話セッションを再開するために自動化されたアシスタントを呼び出すためにユーザによって選択され得るグラフィカルなアイコンであることが可能である。一部の実装において、ブロック508は、ユーザが対話セッションを完了することを提案するために自動化されたアシスタントからユーザに出力(たとえば、可聴出力)を提供するステップであることが可能である。ブロック510において、選択可能な提案要素の選択を受け取ることに応じて、記憶された対話セッションが開かれ得る。対話セッションは、自動化されたアシスタントのインターフェースにおいて開かれ、対話セッションが未完とみなされたところに応じて開始することができる。言い換えれば、ユーザが以前の入力を繰り返さなければならないことを避けるために、ユーザからの任意の入力および自動化されたアシスタントからの応答が、開かれた対話セッションに組み込まれ得る。
【0038】
図6は、記憶された対話セッションのランクに従って対話セッションを再開するための選択可能な要素を提供する方法600を示す。方法600は、ユーザとインタラクションすることができるクライアントデバイス、サーバデバイス、モバイルデバイス、および/または任意のその他の装置によって実行され得る。方法600は、ユーザと自動化されたアシスタントとの間の対話セッションがタスクが完了される結果をもたらさなかったと判定するブロック602を含み得る。対話セッションは、ユーザからの複数の入力およびユーザに応答する自動化されたアシスタントからの複数の応答を含み得る。対話セッション中に、ユーザは、実行されるアクションとして自動化されたアシスタントによって特定され得るメッセージ送信などのタスクを特定することができた。したがって、タスクが会話中に最終的に完了されない場合、対話セッションは、未完とみなされ得る。
【0039】
ブロック604において、対話セッションが、対話セッションを完了することに対するユーザの関心を示すランクとともに記憶される。ランクは、自動化されたアシスタントによってアクセスされ得るユーザデータに基づくことが可能である。ユーザデータは、対話セッションに含まれるユーザおよび/または同様の自動化されたアシスタントを使用する任意のその他のユーザの活動に基づくことが可能である。方法600は、対話セッションのランクが別に記憶された対話セッションの別のランクよりも上位になったと判定するブロック606も含み得る。たとえば、メッセージを送信することに関連する対話セッションが、コンサートチケットを購入することに関連する対話セッションよりも上位になることが可能である。結果として、ユーザは、コンサートチケットを購入することに関連する提案よりもメッセージ送信に関連する対話セッションを完了することに関連する1つまたは複数の提案を示され得る。ブロック608においては、対話セッションが分けられた記憶された対話セッションよりも上位になったと判定することに応じて、自動化されたアシスタントに対話セッションを再開させるための選択可能な要素が提供され得る。言い換えると、ユーザが選択可能な要素を選択するとき、会話ユーザインターフェースが、対話セッションが未完とみなされたときからの入力および応答を与えられ得る。このようにして、ユーザは、自動化されたアシスタントへのいかなる入力も繰り返す必要なく行為(たとえば、メッセージ送信)を進めるために対話セッションを続けることができる。
【0040】
図7は、複数の異なるユーザに関連するユーザデータに従って終わっていない対話セッションを再開するためにユーザに提案を与えるための方法700を示す。方法700は、ユーザとインタラクションすることができるクライアントデバイス、サーバデバイス、モバイルデバイス、および/または任意のその他の装置によって実行され得る。方法700は、ユーザと自動化されたアシスタントとの間の対話セッションがタスクが完了される結果をもたらさなかったと判定するブロック702を含み得る。ブロック704において、対話セッションが、対話セッション中のユーザからの入力および/または自動化されたアシスタントからの応答を含む内容とともに記憶され得る。たとえば、対話セッションは、ユーザが自動化されたアシスタントを呼び出した入力(たとえば、「アシスタント、映画チケットを買って。」)と、自動化されたアシスタントからの呼び出しに対する応答(たとえば、「分かりました。どの映画が観たいですか?」)とを含み得る。
【0041】
ブロック706において、対話セッションの後、ユーザ以外の人が関心を持っている情報を特定するデータを含むデータベースが、アクセスされ得る。データは、そのような人によって所有されるデバイスのアプリケーションからのアプリケーションデータと、ユーザが関心を持っている可能性がある傾向を示すことができる任意のその他のデータとに対応し得る。ブロック708において、少なくとも、対話セッションの内容とユーザ以外の人が関心を持っている情報との間の類似性に従って対話セッションにランクが割り振られ得る。たとえば、ユーザ以外の人が関心を持っている情報は、公開されている映画に関連する実行された検索を含み得る。同様に、対話セッションの内容は、映画のチケットを購入するために自動化されたアシスタントを呼び出すユーザ入力を含み得る。したがって、記憶された対話セッションのランクは、映画に対するその他の人の関心を反映し得る。ブロック710においては、対話セッションのランクに基づいて、選択されたときに自動化されたアシスタントにタスク(たとえば、映画チケットの購入)の完了を進めるために対話セッションを再開させる提案要素が、提供され得る。
【0042】
図8は、例示的なコンピュータシステム810のブロック
図800である。概して、コンピュータシステム810は、バスサブシステム812を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ814を含む。これらの周辺デバイスは、たとえば、メモリサブシステム825およびファイルストレージサブシステム826を含むストレージサブシステム824、ユーザインターフェース出力デバイス820、ユーザインターフェース入力デバイス822、ならびにネットワークインターフェースサブシステム816を含む可能性がある。入力および出力デバイスは、コンピュータシステム810とのユーザインタラクションを可能にする。ネットワークインターフェースサブシステム816は、外部ネットワークへのインターフェースを提供し、その他のコンピュータシステムの対応するインターフェースデバイスに結合される。
【0043】
ユーザインターフェース入力デバイス822は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどの音声入力デバイス、マイクロフォン、および/またはその他の種類の入力デバイスを含む可能性がある。概して、用語「入力デバイス」の使用は、コンピュータシステム810または通信ネットワークに情報を入力するためのすべての可能な種類のデバイスおよび方法を含むように意図される。
【0044】
ユーザインターフェース出力デバイス820は、ディスプレイサブシステム、プリンタ、ファックスマシン、または音声出力デバイスなどの非視覚的表示を含む可能性がある。ディスプレイサブシステムは、ブラウン管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または可視画像を生成するための何らかのその他のメカニズムを含む可能性がある。ディスプレイサブシステムは、音声出力デバイスなどの非視覚的表示を与える可能性もある。概して、用語「出力デバイス」の使用は、コンピュータシステム810からユーザまたは別のマシンもしくはコンピュータシステムに情報を出力するためのすべての可能な種類のデバイスおよび方法を含むように意図される。
【0045】
ストレージサブシステム824は、本明細書において説明されるモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構造体を記憶する。たとえば、ストレージサブシステム824は、方法500、600、700の選択された態様を実行するため、ならびに/または本明細書において説明されたサーバデバイス、クライアントデバイス、データベース、エンジン、および/もしくはモジュールのうちの1つもしくは複数を実装するための論理を含み得る。
【0046】
これらのソフトウェアモジュールは、概して、プロセッサ814によって単独で、またはその他のプロセッサとの組合せで実行される。ストレージサブシステム824において使用されるメモリ825は、プログラムの実行中の命令およびデータの記憶のための主ランダムアクセスメモリ(RAM) 830と、決まった命令が記憶される読み出し専用メモリ(ROM) 832とを含むいくつかのメモリを含み得る。ファイルストレージサブシステム826は、プログラムおよびデータファイルのための永続的ストレージを提供することができ、ハードディスクドライブ、関連する取り外し可能な媒体を伴うフロッピーディスクドライブ、CD-ROMドライブ、光学式ドライブ、または取り外し可能なメディアカートリッジを含む可能性がある。特定の実装の機能を実装するモジュールは、ストレージサブシステム824内のファイルストレージサブシステム826によって、またはプロセッサ814によりアクセスされ得るその他のマシンに記憶される可能性がある。
【0047】
バスサブシステム812は、コンピュータシステム810の様々な構成要素およびサブシステムに意図されたように互いに通信させるためのメカニズムを提供する。バスサブシステム812は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実装は複数のバスを使用する可能性がある。
【0048】
コンピュータシステム810は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意のその他のデータ処理システムもしくはコンピューティングデバイスを含む様々な種類であることが可能である。コンピュータおよびネットワークの変わり続ける性質が原因で、
図8に示されたコンピュータシステム810の説明は、いくつかの実装を示すことを目的とする特定の例としてのみ意図される。
図8に示されたコンピュータシステムよりも多くのまたは
図8に示されたコンピュータシステムよりも少ない構成要素を有するコンピュータシステム810の多くのその他の構成が、可能である。
【0049】
本明細書において説明されたシステムがユーザについての個人情報を収集するかまたは個人情報を利用し得る状況において、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルな行為もしくは活動、職業、ユーザの好み、またはユーザの現在の地理的位置についての情報)を収集するかどうかを制御するか、あるいはユーザにより関連性がある可能性があるコンテンツをサーバから受け取るべきかどうかおよび/またはどのようにして受け取るべきかを制御する機会を与えられる可能性がある。また、特定のデータが、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理される可能性がある。たとえば、ユーザのアイデンティティ(identity)が、個人を特定できる情報がユーザに関して決定され得ないか、または地理的位置情報が取得される場合にユーザの地理的位置が(都市、郵便番号、もしくは州のレベルまでになど)一般化される可能性があり、したがって、ユーザの特定の地理的位置が決定され得ないように処理される可能性がある。したがって、ユーザは、情報がユーザについてどのようにして収集されるかおよび/または使用されるかを制御し得る。
【0050】
いくつかの実装が本明細書において説明され、図示されたが、本明細書において説明された機能を実行するならびに/あるいは結果および/または利点のうちの1つもしくは複数を得るための様々なその他の手段および/または構造が利用される可能性があり、そのような変更および/または修正の各々は本明細書において説明された実装の範囲内にあるとみなされる。より広く、本明細書において説明されたすべてのパラメータ、寸法、材料、および構成は、例示的であるように意図されており、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の1つの応用または複数の応用に依存する。当業者は、本明細書において説明された特定の実装の多くの均等物を通常の実験だけを使用して認識するかまたは突き止めることができる。したがって、上述の実装は単に例として提示されており、添付の請求項およびその均等物の範囲内で、実装が、特に説明され、特許請求されたのとは異なる方法で実施され得ることを理解されたい。本開示の実装は、本明細書において説明されたそれぞれの個々の特徴、システム、品物、材料、キット、および/または方法を対象とする。さらに、2つ以上のそのような特徴、システム、品物、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、品物、材料、キット、および/または方法が相互に矛盾しない場合は本開示の範囲に含まれる。
【符号の説明】
【0051】
100 図
102 図
104 図
106 図
108 クライアントデバイス
110 第1のユーザ入力
112 第1の応答
114 自動化されたアシスタントのインターフェース
116 ユーザインターフェース
118 第2のユーザ入力
120 リマインダ
122 選択可能な要素
124 第2の応答
200 図
202 ユーザ
204 クライアントデバイス
206 ネットワーク
208 リモートデバイス
210 データベース
212 記憶された対話セッションの状態、記憶された対話セッション
214 エントリ
216 ユーザ入力
218 応答出力
220 モバイルデバイス
300 図
302 記憶された対話セッションの状態
304 クライアントデバイス
306 自動化されたアシスタントのインターフェース
308 ユーザデータ
310 リモートデバイス
312 ネットワーク
314 セッションエントリ
400 図
402 図
404 図
408 クライアントデバイス
410 第1の入力
412 第1の応答
414 会話インターフェース
416 ユーザインターフェース
418 第2の入力
420 呼び出し要素
422 提案要素
424 第2の応答
426 提案の第1の組
428 提案の第2の組
500 方法
600 方法
700 方法
800 ブロック図
810 コンピュータシステム
812 バスサブシステム
814 プロセッサ
816 ネットワークインターフェースサブシステム
820 ユーザインターフェース出力デバイス
822 ユーザインターフェース入力デバイス
824 ストレージサブシステム
825 メモリサブシステム
826 ファイルストレージサブシステム
830 主ランダムアクセスメモリ(RAM)
832 読み出し専用メモリ(ROM)