(57)【要約】  以前の第1の自動アシスタントセッションに割り込み、それと置換した第2の自動アシスタントセッションの終了時に、(1)以前の第1の自動アシスタントセッションを自動的に再開するか、または(2)以前の第1のセッションが自動的に再開されない代替自動アシスタント状態に移行するかを決定することが提供される。実施形態は、決定に基づいて、および第2の自動アシスタントセッションの終了時に、割り込まれた以前の第1の自動アシスタントセッションの自動的な再開、または第1のセッションが自動的に再開されない状態への移行のいずれかを選択的に引き起こすことにさらに関連する。
2021522613.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサを使用して実施される方法であって、
クライアントデバイスの1つまたは複数のマイクを介して検出されたユーザの音声発話を示す音声発話データを受信するステップと、
前記音声発話データに基づいて、前記ユーザの前記音声発話に応答する第1のコンテンツを特定するステップと、
前記音声発話データを受信したことに応答して、前記クライアントデバイスに、第1のセッション中に前記第1のコンテンツの少なくとも一部をレンダリングさせるステップと、
前記第1のセッション中の前記クライアントデバイスによる前記第1のコンテンツのレンダリング中に割込みデータを受信するステップであって、前記割込みデータは、前記第1のセッション中の前記第1のコンテンツのレンダリング中に検出された前記ユーザのさらなるユーザインターフェース入力に応答して受信される、ステップと、
前記割込みデータを受信したことに応答して、前記クライアントデバイスに、少なくとも一時的に前記第1のセッションに取って代わる第2のセッション中に代替コンテンツをレンダリングさせるステップであって、前記代替コンテンツは前記第1のコンテンツとは異なり、前記クライアントデバイスに前記第2のセッション中に前記代替コンテンツをレンダリングさせることは、前記クライアントデバイスに前記第1のコンテンツの代わりに前記代替コンテンツをレンダリングさせることを備える、ステップと、
前記第2のセッションの終了時に、
前記クライアントデバイスに、前記第1のセッションを自動的に再開させるか、または
前記クライアントデバイスに、前記クライアントデバイスが前記第1のセッションを自動的に再開しない代替状態に移行させるか
を決定するステップであって、
前記決定するステップは、前記第1のセッションの少なくとも1つまたは複数のプロパティに基づく、ステップと、
前記第2のセッションの終了時に、前記クライアントデバイスに前記第1のセッションを自動的に再開すること、または前記第1のセッションが自動的に再開されない前記代替状態に移行することを選択的にさせるステップであって、前記選択的にさせるステップが前記決定に依存する、ステップと、
を備える、方法。
【請求項２】
前記決定が基づく前記第1のセッションの少なくとも1つのプロパティは、前記第1のコンテンツに割り当てられた区分を含む、請求項1に記載の方法。
【請求項３】
前記第1のコンテンツに割り当てられた前記区分は、前記第1のコンテンツが一時的であるか永続的であるかを示す、請求項2に記載の方法。
【請求項４】
前記決定するステップは、前記第1のコンテンツが一時的であることを前記コンテンツに割り当てられた前記区分が示していることに基づいて、前記クライアントデバイスに、前記クライアントデバイスが前記第1のセッションを自動的に再開しない前記代替状態に移行させることを決定するステップを備える、請求項3に記載の方法。
【請求項５】
前記決定するステップは、前記第2のセッションの1つまたは複数のプロパティにさらに基づく、請求項3に記載の方法。
【請求項６】
前記第2のセッションの少なくとも1つのプロパティは、前記代替コンテンツが一時的であるか永続的であるかを示す、請求項5に記載の方法。
【請求項７】
前記決定するステップは、前記第1のコンテンツが永続的であることを前記第1のコンテンツに割り当てられた前記区分が示していることと、前記代替コンテンツが一時的であることを前記第2のセッションの少なくとも1つのプロパティが示していることとに基づいて、前記クライアントデバイスに、前記第1のセッションを自動的に再開させると決定するステップを備える、請求項6に記載の方法。
【請求項８】
前記決定するステップは、前記コンテンツが永続的であることを前記第1のコンテンツに割り当てられた前記区分が示していることと、前記代替コンテンツが永続的であることを前記第2のセッションの少なくとも1つのプロパティが示していることとに基づいて、前記クライアントデバイスに、前記クライアントデバイスが前記第1のセッションを自動的に再開しない前記代替状態に移行させると決定するステップを備える、請求項6に記載の方法。
【請求項９】
前記さらなるユーザインターフェース入力は前記ユーザのさらなる音声発話であり、
前記さらなる音声入力が前記代替コンテンツの要求および前記第1のセッションの前記第1のコンテンツとは異なる前記代替コンテンツを含んでいることに基づいて、前記さらなる音声入力が割込みデータであると決定するステップをさらに備える、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記決定するステップが基づく前記第1のセッションの少なくとも1つのプロパティは、前記第1のコンテンツによって具現化されたエンティティを含み、前記決定するステップは、前記クライアントデバイスに、前記代替コンテンツと前記第1のコンテンツによって具現化された前記エンティティとの間の関係を決定することに基づいて前記第1のセッションを自動的に再開させると決定するステップを備える、請求項1または9に記載の方法。
【請求項１１】
前記第1のセッション中の前記クライアントデバイスによる前記第1のコンテンツのレンダリング中に、前記クライアントデバイスにおいてレンダリングされることになる通知を受信するステップと、
前記通知を受信したことに応答して、前記クライアントデバイスに前記通知をレンダリングさせるステップとをさらに備え、
前記さらなるユーザインターフェース入力は、前記クライアントデバイスが前記通知をレンダリングしたことに応答して提供される前記ユーザの肯定を示すタッチまたは音声入力であり、
前記ユーザの前記肯定を示す入力は、前記通知とインタラクションを行うという前記ユーザの要望を示し、
前記代替コンテンツは前記通知に基づく、請求項1から8のいずれか一項に記載の方法。
【請求項１２】
前記割込みデータが受信されたときの前記第1のセッションの状態を示す、前記第1のセッションについての、第1のセッション状態データを記憶するステップをさらに備え、
前記クライアントデバイスに、前記第1のセッションを自動的に再開させるステップは、前記割込みデータが受信されたときの前記第1のセッションの前記状態で前記第1のセッションを再開するために、前記第1のセッション状態データを使用するステップを備える、請求項1から11のいずれか一項に記載の方法。
【請求項１３】
前記決定するステップは、前記クライアントデバイスに、前記クライアントデバイスが前記第1のセッションを自動的に再開しない前記状態に移行させると決定するステップを備え、
前記クライアントデバイスまたは前記クライアントデバイスとネットワーク通信するリモートサーバのメモリから、前記第1のセッションについての、セッションデータを消去するステップをさらに備える、請求項1に記載の方法。
【請求項１４】
前記クライアントデバイスは、ディスプレイおよび少なくとも1つのスピーカを含み、前記コンテンツをレンダリングするステップは、前記ディスプレイおよび前記少なくとも1つのスピーカを介して前記コンテンツをレンダリングするステップを備える、請求項1に記載の方法。
【請求項１５】
前記クライアントデバイスが前記第1のセッションを自動的に再開しない前記代替状態は、ホーム画面またはアンビエント画面の表示を備える、請求項1から14のいずれか一項に記載の方法。
【請求項１６】
前記ホーム画面または前記アンビエント画面の前記表示は、前記第1のセッションへのいかなる参照も有しない、請求項15に記載の方法。
【請求項１７】
前記ホーム画面または前記アンビエント画面の前記表示は、前記第1のセッションを再開するために選択することができる選択可能なグラフィカルインターフェース要素を含む、請求項15に記載の方法。
【請求項１８】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサと動作可能に結合されたメモリとを備えるシステムであって、前記メモリは、1つまたは複数のプロセッサによる命令の実行に応答して、前記1つまたは複数のプロセッサに、請求項1から17のいずれか一項に記載の方法を実行させる前記命令を記憶する、システム。
【請求項１９】
1つまたは複数のプロセッサによる命令の実行に応答して、前記1つまたは複数のプロセッサに、請求項1から17のいずれか一項に記載の方法を実行させる前記命令を備える、少なくとも1つの非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
割込みをかける第2のセッションの終了時に第１の自動アシスタントセッションを自動的に再開するかどうかを決定することに関する。
【背景技術】
【０００２】
人間は、本明細書では「自動アシスタント」と呼ばれる(また、「チャットボット」、「インタラクティブパーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「パーソナルボイスアシスタント」、「会話エージェント」などとも呼ばれる)インタラクティブソフトウェアアプリケーションとの人間とコンピュータとの対話に従事し得る。たとえば、自動アシスタントとインタラクションを行うときに「ユーザ」と称され得る人間は、自由形式の自然言語入力を使用して、コマンド、クエリ、および/または要求を提供し得る。自由形式の自然言語入力は、自動音声認識および/またはタイプ入力された自由形式の自然言語入力を使用してテキストに変換された声の発話を含み得る。
【０００３】
自動アシスタントと音声でやり取りする能力をユーザに提供するスタンドアロン型音声応答スピーカが一般的になりつつある。これらのデバイスは通常、マイクに加えて、ミュートボタン、音量を調整するためのタッチセンサ式インターフェースなど以外のハードウェア入力メカニズムをほとんど含まない。これらのスピーカの目標は、ユーザが、様々なタスクを実行するためにキーボードやマウスなどの特定のユーザインターフェース要素と物理的にインタラクションを行うことを必要とせずに、簡単に自動アシスタントと音声でやり取りできるようにすることである。
【０００４】
従来のスタンドアロン型音声応答スピーカは、通常、本格的なディスプレイを備えていない。最大限でも、それらは、単純なメッセージを伝えるために基本的な色および/またはアニメーションを利用することができる発光ダイオードなどの、比較的単純な視覚的出力メカニズムを含む傾向がある程度である。次世代のスタンドアロン型音声応答スピーカは、ディスプレイまたはタッチスクリーンディスプレイなどの、より堅牢な視覚的出力メカニズムを含み得る。これらのデバイスは、スタンドアロン型音声応答スピーカとは対照的に、本明細書では「スタンドアロン型マルチモーダルアシスタントデバイス」と呼ばれる。従来のスタンドアロン型インタラクティブスピーカの場合と同様に、スタンドアロン型マルチモーダルアシスタントデバイスは、音声でインタラクションを行うように設計され得、通常、キーボード、マウス、または他の複雑な物理入力コンポーネントは含まない。しかしながら、スタンドアロン型マルチモーダルアシスタントデバイスは、通常、音声インタラクションのためのマイクと、タッチスクリーンを介して受信される様々なタッチ入力を介したインタラクションのためのタッチスクリーンを含む。
【発明の概要】
【課題を解決するための手段】
【０００５】
スタンドアロン型マルチモーダルアシスタントデバイスを使用すると、デバイスを使用するユーザは、タッチ入力または音声発話を使用してデバイスとインタラクションを行うことができることがしばしばある。さらに、ユーザは、デバイスに比較的近い(たとえば、隣接するか、数フィート以内にある)場合、デバイスから比較的離れている(たとえば、10フィート以上離れている)場合、および環境の周りを移動している場合でも、デバイスを使用することができる。たとえば、ユーザは、新しいスマートサーモスタットのインストールおよび構成などのマルチステップタスクの実行における支援を求めるために、マルチモーダルアシスタントデバイスを使用することができる。タスクの実行中に、ユーザは、マルチモーダルアシスタントデバイスに、新しいスマートサーモスタットのインストールおよび構成に関連する様々なステップおよび/または他のガイダンスを聴覚的および/またはグラフィカルにレンダリングさせるために、タッチおよび/または音声入力を介してマルチモーダルアシスタントデバイスとインタラクションを行うことができる。そのような入力を提供する際、および/またはマルチモーダルアシスタントデバイスによってレンダリングされたコンテンツを確認する際、ユーザは環境全体を移動し得る。したがって、デバイスのディスプレイに関するユーザの視点が変化する可能性があり、それによって、ディスプレイを介してレンダリングされたコンテンツを閲覧するユーザの能力に影響を与える。さらに、ユーザの位置の変化は、マルチモーダルデバイスのスピーカを介して聴覚的にレンダリングされたコンテンツを聞く能力に影響を与える可能性がある。
【０００６】
これらおよび他の考慮事項を考慮して、本明細書に開示した実施形態は、ユーザとのアクティブなセッション中に、アクティブなセッションに関連するコンテンツのみをレンダリングする。たとえば、「スマートサーモスタットXのインストールについて教えてください」という音声発話に応答して、スタンドアロン型マルチモーダルアシスタントデバイスのディスプレイおよびデバイスのスピーカは、「スマートサーモスタットX」のインストールおよび構成に関連するコンテンツを排他的にレンダリングすることができる。言い換えれば、任意の以前にレンダリングされたコンテンツは、アクティブなセッションのコンテンツによって完全に置き換えられる可能性がある。たとえば、「今日の天気予報」という以前の音声発話に応答して、以前のセッションにおいて毎日の天気予報がディスプレイ上にレンダリングされていたと仮定する。「スマートサーモスタットXのインストールについて教えてください」という音声発話に応答して、新たにアクティブになったセッションにおける「スマートサーモスタットX」のインストールに関連する視覚コンテンツによって、天気予報の表示に取って代わることができる。これらおよび他の方法において、アクティブなセッションのコンテンツのレンダリングは、2つのセッションからのコンテンツを提示するためにディスプレイを「分割」せずに、および2つの異なるセッションからの音声を同時にレンダリング(たとえば、1つが「より小さい」音量で)せずに、マルチモーダルアシスタントデバイスのディスプレイおよび/またはスピーカの全範囲を利用することができる。2つのセッションからのコンテンツの同時レンダリングを防止することによってリソースを節約することに加えて、これにより、ユーザがアクティブなセッションにおいてコンテンツをより簡単かつ迅速に確認することが可能になるため、アクティブなセッションの期間が短縮される可能性がある。
【０００７】
アクティブなセッションに関連するコンテンツのみをレンダリングすることは様々な利点があるが、以前のセッションが完了する前にアクティブなセッションが以前のセッションに割り込んだ場合に問題が発生する可能性もある。たとえば、以前のセッションに割り込むアクティブなセッションの終了時に、割り込まれた以前のセッションが、自動的に再開される(たとえば、アクティブなセッションの終了時に、およびさらなるユーザインターフェース入力を必要とせずに再開される)べきか、自動的に再開されないが、再開が提案される(たとえば、以前のセッションを再開するためにタッチすることができるインターフェース要素が表示される)べきか、自動的に再開されることも、再開が提案されることもないが、明示的なユーザの要求に応じて再開可能である(たとえば、「以前のセッションを再開する」という音声発話)べきか、あるいは、自動的に再開されず、また完全に期限切れになる(たとえば、以前のセッションを再開するためにメモリからデータが消去され、割り込まれたときの状態で、以前のセッションの状態を再作成するための長時間のユーザインタラクションなしでは不可能である)べきかが不明確である可能性がある。
【０００８】
以前のセッションを排他的に完全に期限切れにする技法は、コンピュータとネットワークのリソースを直接浪費する可能性がある。たとえば、以前のセッションが複数の人間と自動アシスタントとの対話ターンの結果である状態にあり、ユーザが割込み中のセッションの終了後に以前のセッションに戻ることを望んでいると仮定する。以前のセッションを排他的に完全に期限切れにする技法では、以前のセッションの状態を再作成するために、リソースを大量に消費する複数の人間と自動アシスタントとの対話ターンを再度実行しない限り、以前のセッションを再開することはできない。常に以前のセッションに排他的に戻る技法も、コンピュータとネットワークのリソースを直接浪費する可能性がある。たとえば、ユーザが割込み中のセッションの終了後に以前のセッションに戻ることを望まない場合、以前のセッションからコンテンツを再度レンダリングすること、および/またはその状態をメモリに記憶することは、様々なリソースを不必要に消費する可能性がある。
【０００９】
一般に、複数の重複するセッション、およびこれらに提供されるリソースの効率的な管理を確実にする際に、アシスタントデバイスにおける課題が提示される。特に、アシスタントによって提示されるインターフェースの1つまたは複数の態様が音声として実装される場合(たとえば、音声発話を介して)、線形の提示の態様を含む環境において並列セッション情報を提示することには課題がある。ディスプレイを含むものなどのマルチモーダルアシスタントデバイスは、追加のインターフェース情報が伝達される機会を提供し得るが、複数のセッションを備えるインタラクションのための機会も多く提供する。アシスタント環境において重複するタスクに適用されるリソースの使用を管理することは、以前は代替インターフェースにおいて使用されていたソリューションに従わない課題を提示する。
【００１０】
これらおよび他の考慮事項を考慮して、本明細書に開示した実施形態は、以前の第1の自動アシスタントセッションを割込みおよび置換した第2の自動アシスタントセッションの終了時に、(1)以前の第1のセッションを自動的に再開するか、または(2)以前の第1のセッションが自動的に再開されない代替状態に移行するかどうかを決定することに関連する。いくつかの実施形態では、以前の第1のセッションが自動的に再開されない代替状態に移行することが決定された場合、代替状態は、以前のセッションが自動的に再開されず、完全に期限切れになる代替状態であってもよく、以前のセッションは、自動的に再開されないが、ユーザインターフェース出力を介して(たとえば、グラフィック要素のレンダリングを介して)再開することが提案されている代替状態であってもよく、または、以前のセッションは、自動的に再開されることも、再開が提案されることもないが、明示的なユーザ要求に応答して再開することができる代替状態であってもよい。それらの実施形態のうちのいくつかは、第1のセッションが自動的に再開されない代替状態に移行することが決定された場合、常に同じ代替状態に移行することができる。他の実施形態は、第1のセッションが自動的に再開されない代替状態に移行することを決定する際に、それらの代替状態の1つまたは複数から選択することができる。
【００１１】
本明細書に記載の実施形態は、第2のセッションの終了時に、割り込まれた以前の第1のセッションの自動的な再開、または第1のセッションが自動的に再開されない状態への移行のいずれかを選択的に引き起こすことにさらに関する。これらの実施形態は、(1)以前の第1のセッションを自動的に再開するか、または(2)以前の第1のセッションが自動的に再開されない代替状態に移行するかどうかの決定に基づいて、それら2つのアクションのうちの1つを選択的に発生させる。本明細書で詳細に説明するように、以前の第1のセッションおよび/または割込みをかける第2のセッションの1つまたは複数のプロパティを考慮に入れる技法など、そのような決定を行う際に様々な技法を利用することができる。そのような決定を行い、2つのアクションのうち1つだけを選択的に実行することによって、様々な利点を直接もたらすことができる。特に、セッション間の移行を管理するための代替手法を提供することによって、リソース割当ての改善を達成することができる。たとえば、以前の第1のセッションの選択的な自動的な再開は、ユーザが以前の第1のセッションを再開するために行う必要のある入力の量を減らす(たとえば、ゼロにする)ことができるが、選択的にのみ、および望ましくない場合の自動的な再開のリスクを軽減するための様々な考慮事項に基づいて実行される。また、たとえば、以前の第1のセッションが自動的に再開されない状態に選択的に移行すると、第1のセッションからのコンテンツの自動的なレンダリングが妨げられる、および/または、アシスタントデバイスがより迅速に低電力状態に移行する可能性があり、望ましくない場合の非自動的な再開のリスクを軽減するために、選択的にのみ、および様々な考慮事項に基づいて実行される。さらに、2つのアクションのうちの1つを選択的に実行することによって、スマートデバイスの制御、スマートデバイスの構成、スマートデバイスのインストールなどの様々なタスクの実行において、人間と自動アシスタントとのインタラクションを促進するインタラクションプロトコルが改善される。
【００１２】
いくつかの実施形態では、以前の第1のセッションに割り込んで、それと置き換えた第2のセッションの終了時に、(1)以前の第1のセッションを自動的に再開するか、または(2)以前の第1のセッションが自動的に再開されない代替状態に移行するかどうかを決定することは、以前の第1のセッションの1つまたは複数のプロパティおよび/あるいは第2のセッションの1つたは複数のプロパティに少なくとも部分的に基づく。それらの実施形態のいくつかでは、第1のセッションの利用されたプロパティは、第1のコンテンツに割り当てられた区分を含むことができ、および/または第2のセッションの利用されたプロパティは、第2のコンテンツに割り当てられた区分を含むことができる。区分は、たとえば、対応するコンテンツが一時的であるか永続的であるかを示すことができる。このように、異なる区分のセッションは、複数セッション環境に含まれる場合、異なる方法で処理される可能性があり、したがって、リソースが必要または望ましいコンテンツに適切に割り当てられることが認識することができる。
【００１３】
永続的なコンテンツは、たとえば、複数の対話ターンにわたってレンダリングされるコンテンツ、および/または対話ターン中のユーザインターフェース入力に依存して動的にレンダリングされるコンテンツを含むことができる。たとえば、スマートデバイスのユーザインストールと構成をガイドする際にレンダリングされるコンテンツは、複数の対話ターンにわたってレンダリングされるという点で、および/または動的な方法でレンダリングされるという点で永続的である可能性がある(たとえば、ユーザが対話ターンにおいて配線オプションAを選択した場合、さらなるコンテンツAが提供されるが、ユーザが代わりに対話ターンにおいて配線オプションBを選択した場合、さらなるコンテンツBが提供される)。永続的なコンテンツは、追加的または代替的に、たとえば、レンダリング全体が少なくともしきい値期間を要するコンテンツ、および/または特定のタイプのコンテンツを含むことができる。たとえば、視覚的および聴覚的にレンダリングされたコンテンツの少なくともしきい値期間を含むミュージックビデオなど、多くの(または、すべての)ビデオを永続的なものとして分類することができる。対照的に、一時的なコンテンツは、静的なコンテンツ、ならびに/あるいは、可聴および/または視覚的な天気予報、用語の定義、質問への回答などの1回の対話ターンにおいてのみレンダリングされるコンテンツを含むことができる。いくつかの実施形態では、コンテンツは、コンテンツのソースに少なくとも部分的に基づいて、永続的または一時的として分類することができる。たとえば、ビデオコンテンツを提供するエージェントからのコンテンツはすべて永続的なものとして分類することができるが、天気情報を提供するエージェントからのコンテンツは一時的なものとして分類することができる。いくつかの実施形態では、コンテンツは、音声発話またはコンテンツが応答する通知に基づいて決定されたインテントに少なくとも部分的に基づいて、永続的または一時的として分類することができる。たとえば、本明細書に記載されるように、インテントを導き出すために音声発話を処理することができ、および/または通知を対応するインテントに関連付けることができ、また、いくつかのインテントを永続的なコンテンツに関連付けることができ、他のインテントを一時的なコンテンツに関連付けることができる。コンテンツを一時的または永続的として分類するための追加および/または代替技法を提供することができる。
【００１４】
いくつかの実施形態では、以前の第1のセッションを自動的に再開することは、永続的として分類されている以前の第1のセッションのコンテンツ、および一時的として分類されている第2のセッションのコンテンツに基づくことができる。いくつかの追加または代替の実施形態では、以前の第1のセッションが自動的に再開されない代替状態に移行すると決定することは、一時的なものとして分類されている以前の第1のセッションのコンテンツに基づくことができる。それらの実施形態のいくつかでは、代替状態は、以前の第1のセッションが自動的に再開されず、完全に期限切れになる状態である。いくつかの追加または代替の実施形態では、以前の第1のセッションが自動的に再開されない代替状態に移行すると決定することは、以前の第1のセッションのコンテンツが永続的として分類され、第2のセッションのコンテンツも永続的として分類されることに基づくことができる。それらの実施形態のいくつかのバージョンでは、代替状態は、以前の第1のセッションが自動的に再開されない状態であるが、ユーザインターフェース出力を介して(たとえば、本明細書でより詳細に説明される、「ホーム」画面上のグラフィック要素のレンダリングを介して)再開することが提案されている。それらの実施形態のいくつかの他のバージョンでは、代替状態は、以前のセッションが自動的に再開されることも、再開が提案されることもないが、明示的なユーザの要求に応じて再開可能な状態である。いくつかの追加または代替の実施形態では、以前の第1のセッションを自動的に再開することは、以前の第1のセッションのコンテンツが永続的であると分類され、第2のセッションのコンテンツが永続的であると分類され、以前の第1のセッションのコンテンツがエンティティを具現化し、第2のセッションのエンティティのコンテンツ間に定義された関係が存在するというさらなる決定に基づくことができる。
【００１５】
本明細書に記載される様々な実施形態では、割込みデータは、第1のセッションの第1のコンテンツのレンダリング中に受信され、割込みデータを受信したことに応答して、代替コンテンツが第2のセッション中にレンダリングされる。それらの実施形態のいくつかでは、割込みデータはユーザの音声入力であり、代替コンテンツの要求および第1のセッションの第1のコンテンツとは異なる代替コンテンツを含む音声入力に基づいて割込みデータであると決定される。たとえば、第1のセッションの第1のコンテンツはスマートデバイスの構成に関連することができ、音声入力は「ミントジュレップをどのように作成するか」であってよく、第1のセッションのスマートデバイス構成コンテンツとは関係のないコンテンツ(ミントジュレップの作成に関連するガイダンス)の要求を含むことに基づいて割込みデータであると決定することができる。対照的に、第1のセッション中に表示される第1のコンテンツがスマートデバイスの構成に関連する複数のステップの1つであり、音声入力が「次」である場合、音声入力は割込みデータではないと決定されないが、代わりに、第1のコンテンツの次の部分をレンダリングするための要求であると決定される。
【００１６】
いくつかの追加または代替の実施形態では、割込みデータは、第1のセッション中に受信され、第1のセッション中の第1のコンテンツのレンダリング中に視覚的および/または聴覚的にレンダリングされることになる通知とインタラクションを行うという要望を示すユーザインターフェース入力であり得る。たとえば、通知は着信音声および/または視覚的呼出しであり得、インタラクティブなグラフィカルインターフェース要素を第1のセッションの視覚的にレンダリングされたコンテンツの上にオーバーレイすることができる。通知グラフィカルインターフェース要素の肯定を示す選択は割込みデータであり得、第2のセッション中にレンダリングされた代替コンテンツは、音声および/または視覚的呼出しであり得る。肯定を示す選択は、たとえば、特定の肯定を示すタッチの選択(たとえば、右にスワイプまたはダブルタップ)または肯定を示す声の発話(たとえば、「OK」、「通知を受け入れる」)であり得る。対照的に、グラフィカルインターフェース要素を否定的に選択すると(たとえば、下にスワイプするなどの特定の否定的なタッチを選択すると)、第1のセッションに割り込むことなく通知を閉じることができる。本明細書で使用される割込みデータは、代替コンテンツを代替セッションの一部としてレンダリングさせたいという要望を示すデータを参照し、現在の終了を引き起こすことのみを求めるユーザインターフェース入力(たとえば、「停止」または「一時停止」の音声コマンド、インタラクティブな「X」のタッチ、または他の終了グラフィック要素)と対比することができる。
【００１７】
様々な実施形態では、割り込まれた第1のセッションの第1のセッションデータを記憶し、割込みデータが受信されたときに第1のセッションの状態で第1のセッションを自動的に再開するために利用することができる。それらの実施形態のいくつかでは、第1のセッションデータは、第1のセッションを再開することを決定したことに応答してのみ、任意で永続化される。第1のセッションデータは様々な方法で記憶することができる。いくつかの実施形態では、たとえば、第1のセッションの状態を、たとえば、保存されたトランスクリプト内のインテント、スロット値、エンティティなどを検出することによって、その場でおよび/または必要に応じて再構築または再開できるように、第1のセッションの人間とコンピュータとの対話の全トランスクリプトを保存し得る。追加的または代替的に、いくつかの実施形態では、検出されたインテント、スロット値、言及されたエンティティなど、状態のコア要素のみが、JavaScript Object Notation(「JSON」)または他の同様の形式などの様々な形式で保存され得る。第1のセッションデータは、様々な場所に保存され得る。いくつかの実施形態では、第1のセッションデータは、自動アシスタントとやり取りするためにユーザによって動作されるコンピューティングデバイスに対してローカルであるメモリに永続化され得る。これにより、第1のセッションの再開時の遅延を軽減するなど、様々な技術的利点がもたらされる可能性がある。追加的または代替的に、いくつかの実施形態では、第1のセッションデータは、ユーザのコンピューティングデバイスから、たとえば、しばしば「クラウドベースのサービス」と呼ばれるものをまとめて動作する1つまたは複数のコンピューティングシステムのメモリに、リモートで永続化され得る。
【００１８】
上記の説明は、本明細書に記載される様々な実施形態の概要としてのみ提供されている。これらの様々な実施形態の追加の説明、および追加の実施形態が本明細書に提供される。
【００１９】
いくつかの実施形態では、1つまたは複数のプロセッサによって実行される方法が提供され、クライアントデバイスのユーザインターフェース入力コンポーネントを介して検出されたユーザ入力を示すユーザ入力データを受信するステップを含む。本方法は、ユーザ入力データに基づいて、ユーザ入力に応答する第1のコンテンツを特定するステップをさらに含む。本方法は、ユーザ入力データを受信したことに応答して、クライアントデバイスに、第1のセッション中に第1のコンテンツの少なくとも一部をレンダリングさせるステップをさらに含む。本方法は、第1のセッション中のクライアントデバイスによる第1のコンテンツのレンダリング中に割込みデータを受信するステップをさらに含む。割込みデータは、第1のセッション中の第1のコンテンツのレンダリング中に検出されたユーザのさらなるユーザインターフェース入力に応答して受信される。本方法は、割込みデータを受信したことに応答して、クライアントデバイスに、少なくとも一時的に第1のセッションに取って代わる第2のセッション中に代替コンテンツをレンダリングさせるステップをさらに含む。代替コンテンツは第1のコンテンツとは異なり、第2のセッション中にクライアントデバイスに代替コンテンツをレンダリングさせることは、クライアントデバイスに第1のコンテンツの代わりに代替コンテンツをレンダリングさせることを備える。本方法は、第2のセッションの終了時に、クライアントデバイスに第1のセッションを自動的に再開させるか、またはクライアントデバイスに、クライアントデバイスが第1のセッションを自動的に再開しない代替状態に移行させるかを決定するステップをさらに含む。決定するステップは、第1のセッションの少なくとも1つまたは複数のプロパティに基づく。本方法は、第2のセッションの終了時に、および決定に応じて、クライアントデバイスに第1のセッションを自動的に再開すること、または第1のセッションが自動的に再開されない代替状態に移行することを選択的にさせることをさらに含む。
【００２０】
本明細書に記載される技術のこれらおよび他の実施形態は、以下の特徴のうちの1つまたは複数を含むことができる。
【００２１】
いくつかの実施形態では、ユーザ入力データは、クライアントデバイスの1つまたは複数のマイクを介して検出されたユーザの音声発話を示す音声発話データを含む。
【００２２】
いくつかの実施形態では、決定が基づく第1のセッションの少なくとも1つのプロパティは、第1のコンテンツに割り当てられた区分を含む。それらの実施形態のいくつかのバージョンでは、第1のコンテンツに割り当てられた区分は、第1のコンテンツが一時的であるか永続的であるかを示す。それらのバージョンのいくつかでは、決定するステップは、第1のコンテンツが一時的であることをコンテンツに割り当てられた区分が示していることに基づいて、クライアントデバイスに、クライアントデバイスが第1のセッションを自動的に再開しない代替状態に移行させることを決定するステップを含む。
【００２３】
いくつかの実施形態では、決定が基づく第1のセッションの少なくとも1つのプロパティは、第1のコンテンツが一時的であるか永続的であるかを示し、決定するステップは、第2のセッションの1つまたは複数のプロパティにさらに基づく。それらの実施形態のいくつかでは、第2のセッションの少なくとも1つのプロパティは、代替コンテンツが一時的であるか永続的であるかを示す。それらの実施形態のいくつかのバージョンでは、決定するステップは、第1のコンテンツが永続的であることを第1のコンテンツに割り当てられた区分が示していることと、代替コンテンツが一時的であることを第2のセッションの少なくとも1つのプロパティが示していることとに基づいて、クライアントデバイスに、第1のセッションを自動的に再開させると決定するステップを含む。それらの実施形態のいくつかの他のバージョンでは、決定するステップは、コンテンツが永続的であることを第1のコンテンツに割り当てられた区分が示していることと、代替コンテンツが永続的であることを第2のセッションの少なくとも1つのプロパティが示していることとに基づいて、クライアントデバイスに、クライアントデバイスが第1のセッションを自動的に再開しない代替状態に移行させると決定するステップを含む。
【００２４】
いくつかの実施形態では、さらなるユーザインターフェース入力はユーザのさらなる音声発話である。それらの実施形態のいくつかでは、本方法は、さらなる音声入力が代替コンテンツの要求および第1のセッションの第1のコンテンツとは異なる代替コンテンツを含んでいることに基づいて、さらなる音声入力が割込みデータであると決定するステップをさらに含む。
【００２５】
いくつかの実施形態では、決定するステップが基づく第1のセッションの少なくとも1つのプロパティは、第1のコンテンツによって具現化されたエンティティを含み、決定するステップは、クライアントデバイスに、代替コンテンツと第1のコンテンツによって具現化されたエンティティとの間の関係を決定することに基づいて第1のセッションを自動的に再開させると決定するステップを含む。
【００２６】
いくつかの実施形態では、本方法は、第1のセッション中のクライアントデバイスによる第1のコンテンツのレンダリング中に、クライアントデバイスにおいてレンダリングされることになる通知を受信するステップと、通知を受信したことに応答して、クライアントデバイスに通知をレンダリングさせるステップとをさらに含む。それらの実施形態のいくつかでは、さらなるユーザインターフェース入力は、クライアントデバイスが通知をレンダリングしたことに応答して提供されるユーザの肯定を示すタッチまたは音声入力であり、ユーザの肯定を示す入力は、通知とインタラクションを行うというユーザの要望を示し、代替コンテンツは通知に基づく。
【００２７】
いくつかの実施形態では、本方法は、割込みデータが受信されたときの第1のセッションの状態を示す、第1のセッションについての、第1のセッション状態データを記憶するステップをさらに含む。それらの実施形態では、クライアントデバイスに、第1のセッションを自動的に再開させるステップは、割込みデータが受信されたときの第1のセッションの状態で第1のセッションを再開するために、第1のセッション状態データを使用するステップを含むことができる。
【００２８】
いくつかの実施形態では、決定するステップは、クライアントデバイスに、クライアントデバイスが第1のセッションを自動的に再開しない状態に移行させると決定するステップを含む。それらの実施形態のいくつかでは、本方法は、それに応じて、クライアントデバイスまたはクライアントデバイスとネットワーク通信するリモートサーバのメモリから、第1のセッションについての、セッションデータを消去するステップをさらに含む。
【００２９】
いくつかの実施形態では、クライアントデバイスは、ディスプレイおよび少なくとも1つのスピーカを含み、コンテンツをレンダリングするステップは、ディスプレイおよび少なくとも1つのスピーカを介してコンテンツをレンダリングするステップを含む。
【００３０】
いくつかの実施形態では、クライアントデバイスが第1のセッションを自動的に再開しない代替状態は、ホーム画面またはアンビエント画面の表示を含む。それらの実施形態のいくつかのバージョンでは、ホーム画面またはアンビエント画面の表示は、第1のセッションへのいかなる参照も有しない。それらの実施形態のいくつかの他のバージョンでは、ホーム画面またはアンビエント画面の表示は、第1のセッションを再開するために選択することができる選択可能なグラフィカルインターフェース要素を含む。
【００３１】
さらに、いくつかの実施形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは、関連付けられるメモリに記憶された命令を実行するように動作可能であり、命令は、前述の方法のうちのいずれかの実行を引き起こすように構成される。いくつかの実施形態はまた、前述の方法のうちのいずれかを実行するために1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する1つまたは複数の非一時的コンピュータ可読ストレージ媒体を含む。
【図面の簡単な説明】
【００３２】
【図１】本明細書に開示された実施形態が実装され得る例示的な環境のブロック図である。
【図２】様々な実施形態に従って実装され得る例示的な状態機械を示す図である。
【図３】本明細書に開示した実施形態による例示的な方法を示すフローチャートである。
【図４】第1のセッション中に第1のコンテンツをレンダリングすることと、第1のセッション中に第1のコンテンツのレンダリング中に割込みデータを受信したことに応答して第2のセッション中に代替コンテンツをレンダリングすることと、第2のセッションの終了時に第1のセッションを自動的に再開することとの例を示す図である。
【図５】第1のセッション中に第1のコンテンツをレンダリングすることと、第1のセッション中に第1のコンテンツのレンダリング中に割込みデータを受信したことに応答して第2のセッション中に代替コンテンツをレンダリングすることと、第2のセッションの終了時に、第1のセッションの再開が提案されているが、自動的には再開されない代替状態に移行することとの例を示す図である。
【図６】第1のセッション中に第1のコンテンツをレンダリングすることと、第1のセッション中に第1のコンテンツのレンダリング中に割込みデータを受信したことに応答して第2のセッション中に代替コンテンツをレンダリングすることと、第2のセッションの終了時に第1のセッションを自動的に再開することとの別の例を示す図である。
【図７】第1のセッション中に第1のコンテンツをレンダリングすることと、第1のセッション中に第1のコンテンツのレンダリング中に割込みデータを受信したことに応答して第2のセッション中に代替コンテンツをレンダリングすることと、第2のセッションの終了時に、第1のセッションが自動的に再開されず、再開が提案されない代替状態に移行することとの例を示す図である。
【図８】第1のセッション中に第1のコンテンツをレンダリングすることと、第1のセッション中に第1のコンテンツのレンダリング中に割込みデータを受信したことに応答して第2のセッション中に代替コンテンツをレンダリングすることと、第2のセッションの終了時に第1のセッションを自動的に再開することとの別の例を示す図である。
【図９】例示的なコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【００３３】
次に、図1を参照すると、本明細書に開示された技法が実施され得る例示的な環境が示されている。例示的な環境は、複数のクライアントコンピューティングデバイス1061-Nを含む。各クライアントデバイス106は、自動アシスタントクライアント118のそれぞれのインスタンスを実行し得る。自然言語理解エンジン135などの1つまたは複数のクラウドベースの自動アシスタントコンポーネント119は、一般に110において示される1つまたは複数のローカルおよび/またはワイドエリアネットワーク(たとえば、インターネット)を介してクライアントデバイス1061-Nに通信可能に結合された1つまたは複数のコンピューティングシステム(まとめて「クラウド」コンピューティングシステムと呼ばれる)に実装され得る。
【００３４】
いくつかの実施形態では、自動アシスタントクライアント118のインスタンスは、1つまたは複数のクラウドベースの自動アシスタントコンポーネント119とのインタラクションによって、ユーザの観点からは、ユーザが人間とコンピュータとの対話を行うことができる自動アシスタント120の論理インスタンスのように見えるものを形成し得る。そのような自動アシスタント120の2つのインスタンスが図1に示されている。破線によって囲まれた第1の自動アシスタント120Aは、第1のクライアントデバイス1061を動作する第1のユーザ(図示せず)にサービスを提供し、自動アシスタントクライアント1181および1つまたは複数のクラウドベースの自動アシスタントコンポーネント119を含む。一点鎖線で囲まれた第2の自動アシスタント120Bは、別のクライアントデバイス106Nを動作する第2のユーザ(図示せず)にサービスを提供し、自動アシスタントクライアント118Nおよび1つまたは複数のクラウドベースの自動アシスタントコンポーネント119を含む。
【００３５】
したがって、クライアントデバイス106上で実行される自動アシスタントクライアント118とやり取りする各ユーザは、事実上、自動アシスタント120の彼または彼女自身の論理インスタンスとやり取りすることができることを理解されたい。簡潔さと平易さのために、特定のユーザに「サービスを提供する」として本明細書で使用される「自動アシスタント」という用語は、ユーザによって動作されるクライアントデバイス106上で実行される自動アシスタントクライアント118と、1つまたは複数のクラウドベースの自動アシスタントコンポーネント119(複数の自動アシスタントクライアント118間で共有され得る)との組合せを指す。いくつかの実施形態では、自動アシスタント120は、ユーザが自動アシスタント120のその特定のインスタンスによって実際に「サービスされて」いるかどうかに関係なく、任意のユーザからの要求に応答し得ることも理解されたい。
【００３６】
クライアントデバイス1061-Nは、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、モバイル電話コンピューティングデバイス、ユーザの車両のコンピューティングデバイス(たとえば、車載通信システム、車載エンターテインメントシステム、車載ナビゲーションシステム)、スタンドアロン型インタラクティブスピーカ、スマートテレビなどのスマートアプライアンス、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの時計、コンピューティングデバイスを有するユーザの眼鏡、仮想または拡張現実コンピューティングデバイス)の1つまたは複数を含み得る。追加および/または代替のクライアントコンピューティングデバイスが提供され得る。
【００３７】
本開示の目的のために、図1において、第1のクライアントデバイス1061は、スピーカ1091およびディスプレイ1111を備えたスタンドアロン型マルチモーダルアシスタントデバイスの形態を取り、キーボードまたはマウスなどの複雑なハードウェア入力コンポーネント(いくつかの実施形態ではタッチスクリーンであるディスプレイ111を除く)を欠く場合がある。本明細書に記載の技法は、1061などのスタンドアロン型マルチモーダルアシスタントデバイスを使用して実行される文脈において説明されるが、これは限定することを意味するものではない。本明細書に記載の技法は、主に音声および/またはタッチインタラクションを介してインタラクションを行うことが意図された車両コンピューティングデバイスなどの、他のフォームファクタを有する(しかし、依然として標準のキーボードおよびマウスを欠いている)クライアントデバイスに実装され得る。第2のクライアントデバイス106Nは、自動アシスタント120Aが自然言語出力を提供し得るスピーカ109Nを含むスタンドアロン型音声応答スピーカである。本明細書に記載の技法は、追加的または代替的に、第2のクライアントデバイス106Nを介してレンダリングされるセッションのオーディオコンテンツに関連して、第2のクライアントデバイス106Nを介して実装され得る。
【００３８】
本明細書でより詳細に説明するように、自動アシスタント120は、1つまたは複数のクライアントデバイス1061-Nのユーザインターフェース入力および出力デバイスを介して、1人または複数のユーザとの人間とコンピュータとの対話セッションに従事する。クライアントデバイス1061などのスタンドアロン型マルチモーダルアシスタントデバイスの場合、これらの入力デバイスは、マイク(図示せず)およびディスプレイ111(ディスプレイ111がタッチスクリーンである実施形態において)、ならびに任意で近くの人の存在を検出するために使用され得る他のセンサ(たとえば、PIR、カメラ)に限定され得る。いくつかの実施形態では、自動アシスタント120は、クライアントデバイス1061-Nのうちの1つの1つまたは複数のユーザインターフェース入力デバイスを介してユーザによって提供されるユーザインターフェース入力に応答して、ユーザとの人間とコンピュータとの対話セッションに従事し得る。それらの実施形態のいくつかでは、ユーザインターフェース入力は、自動アシスタント120に明示的に向けられる。たとえば、特定のユーザインターフェース入力は、ハードウェアボタンおよび/または仮想ボタン(たとえば、タップ、ロングタップ)、口頭コマンド(たとえば、「ねえ、自動アシスタント」)、ならびに/あるいは他の特定のユーザインターフェース入力とのユーザインタラクションであり得る。
【００３９】
いくつかの実施形態では、自動アシスタント120は、たとえそのユーザインターフェース入力が自動アシスタント120に明示的に向けられていない場合でも、ユーザインターフェース入力に応答して人間とコンピュータとの対話セッションに従事し得る。たとえば、自動アシスタント120は、ユーザインターフェース入力の内容を調べ、ユーザインターフェース入力に存在する特定の用語に応答して、および/または他の手がかりに基づいて、対話セッションに従事し得る。多くの実施形態では、ユーザはコマンドや検索などを発することができ、自動アシスタント120は、発話をテキストに変換するために音声認識を利用し、それに応じて、たとえば検索結果、一般情報を提供することによって、および/または1つまたは複数の応答アクション(たとえば、メディアの再生、ゲームの起動、食べ物の注文など)を実行することによって、テキストに応答することができる。いくつかの実施形態では、自動アシスタント120は、発話をテキストに変換せずに、追加的または代替的に発話に応答することができる。たとえば、自動アシスタント120は、音声入力を埋め込み、エンティティ表現(音声入力に存在するエンティティを示す)、および/または他の「非テキスト」表現に変換し、そのような非テキスト表現を動作することができる。したがって、音声入力から変換されたテキストに基づいて動作するものとして本明細書に記載される実施形態は、音声入力に直接、および/または音声入力の他の非テキスト表現に追加的および/または代替的に動作し得る。
【００４０】
クライアントコンピューティングデバイス1061-Nの各々、およびクラウドベースの自動アシスタントコンポーネント119を動作するコンピューティングデバイスは、データおよびソフトウェアアプリケーションの記憶のための1つまたは複数のメモリ、データにアクセスしてアプリケーションを実行するための1つまたは複数のプロセッサ、ならびにネットワークを介した通信を容易にする他のコンポーネントを含み得る。クライアントコンピューティングデバイス1061-Nのうちの1つまたは複数および/または自動アシスタント120によって実行される動作は、複数のコンピュータシステムに分散され得る。自動アシスタント120は、たとえば、ネットワークを通じて互いに結合された1つまたは複数の場所にある1つまたは複数のコンピュータ上で実行されるコンピュータプログラムとして実装され得る。
【００４１】
上記のように、様々な実施形態では、クライアントコンピューティングデバイス1061-Nの各々は、自動アシスタントクライアント118を動作し得る。様々な実施形態では、各自動アシスタントクライアント118は、対応する音声キャプチャ/テキスト読上げ(「TTS」)/音声読上げ(「STT」)モジュール114を含み得る。他の実施形態では、音声キャプチャ/TTS/STTモジュール114の1つまたは複数の態様は、自動アシスタントクライアント118とは別に実装され得る。各音声キャプチャ/TTS/STTモジュール114は、たとえばマイクを介してユーザの音声をキャプチャすること(音声キャプチャ)、そのキャプチャされたオーディオをテキストおよび/あるいは他の表現または埋込み(STT)に変換すること、ならびに/あるいはテキストを音声に変換すること(TTS)の、1つまたは複数の機能を実行するように構成され得る。たとえば、いくつかの実施形態では、クライアントデバイス106は、コンピューティングリソース(たとえば、プロセッササイクル、メモリ、バッテリなど)に関して比較的制約され得るので、各クライアントデバイス106に対してローカルであるSTTモジュール114は、有限数の異なる話し言葉をテキスト(または、低次元の埋込みなどの他の形式)に変換するように構成され得る。他の音声入力は、クラウドベースの自動アシスタントコンポーネント119に送信され得、これは、クラウドベースのSTTモジュール117を含み得る。
【００４２】
クラウドベースのSTTモジュール117は、音声キャプチャ/TTS/STTモジュール114によってキャプチャされたオーディオデータをテキストに変換するために、クラウドの事実上無制限のリソースを活用するように構成され得る(その後、自然言語プロセッサ122に提供され得る)。クラウドベースのTTSモジュール116は、テキストデータ(たとえば、自動アシスタント120によって定式化された自然言語応答)をコンピュータ生成音声出力に変換するために、クラウドの事実上無制限のリソースを活用するように構成され得る。いくつかの実施形態では、TTSモジュール116は、たとえば1つまたは複数のスピーカを使用して直接出力されるように、コンピュータ生成音声出力をクライアントデバイス106に提供し得る。他の実施形態では、自動アシスタント120によって生成されたテキストデータ(たとえば、自然言語応答)が音声キャプチャ/TTS/STTモジュール114に提供され得、次いで、テキストデータを、ローカルで出力されるコンピュータ生成音声に変換し得る。
【００４３】
自動アシスタント120(具体的には、クラウドベースの自動アシスタントコンポーネント119)は、自然言語理解エンジン135、前述のTTSモジュール116、前述のSTTモジュール117、および以下でより詳細に説明される他のコンポーネントを含み得る。いくつかの実施形態では、自動アシスタント120のうちの1つまたは複数のエンジンおよび/またはモジュールが省略され、組み合わされ、および/または自動アシスタント120とは別のコンポーネントに実装され得る。いくつかの実施形態では、自然言語理解エンジン135、音声キャプチャ/TTS/STTモジュール114などの自動アシスタント120のコンポーネントのうちの1つまたは複数が、少なくとも部分的にクライアントデバイス106(たとえば、クラウドを除く)に実装され得る。
【００４４】
いくつかの実施形態では、自動アシスタント120は、自動アシスタント120との人間とコンピュータとの対話中にクライアントデバイス1061-Nのうちの1つのユーザによって生成された様々な入力に応答して応答コンテンツを生成する。自動アシスタント120は、対話セッションの一部としてユーザに提示するための応答コンテンツを(たとえば、ユーザのクライアントデバイスから分離されている場合、1つまたは複数のネットワークを介して)提供し得る。たとえば、自動アシスタント120は、クライアントデバイス1061-Nの1つを介して提供される自由形式の自然言語入力に応答して、応答コンテンツを生成し得る。本明細書で使用されるように、自由形式の自然言語入力は、ユーザによって定式化され、ユーザによる選択のために提示されるオプションのグループに制約されない入力である。
【００４５】
自然言語理解エンジン135の自然言語プロセッサ122は、クライアントデバイス1061-Nを介してユーザによって生成された自然言語入力を処理し、自動アシスタント120の1つまたは複数の他のコンポーネントによって使用するための注釈付き出力(たとえば、テキスト形式)を生成し得る。たとえば、自然言語プロセッサ122は、クライアントデバイス1061の1つまたは複数のユーザインターフェース入力デバイスを介してユーザによって生成された自然言語自由形式入力を処理し得る。生成された注釈付き出力は、自然言語入力の1つまたは複数の注釈と、任意で自然言語入力の用語の1つまたは複数(たとえば、すべて)を含む。
【００４６】
いくつかの実施形態では、自然言語プロセッサ122は、自然言語入力における様々なタイプの文法情報を特定し、注釈を付けるように構成される。たとえば、自然言語プロセッサ122は、個々の単語を形態素に分離し、および/または形態素に、たとえば、それらのクラスで注釈を付けることができる形態学的エンジンを含み得る。自然言語プロセッサ122はまた、用語にそれらの文法的役割で注釈を付けるように構成された品詞タガーの一部を含み得る。また、たとえば、いくつかの実施形態では、自然言語プロセッサ122は、自然言語入力における用語間の構文関係を決定するように構成された依存関係パーサを追加的および/または代替的に含み得る。
【００４７】
いくつかの実施形態では、自然言語プロセッサ122は、人への参照(たとえば、文学者、有名人、公人などを含む)、組織、場所(実在および架空)などの1つまたは複数のセグメント内のエンティティ参照に注釈を付けるように構成されたエンティティタガーを追加的および/または代替的に含み得る。いくつかの実施形態では、エンティティに関するデータは、知識グラフ(図示せず)などの1つまたは複数のデータベースに記憶され得る。いくつかの実施形態では、知識グラフは、知られているエンティティ(および、場合によってはエンティティ属性)を表すノード、ならびにノードを接続してエンティティ間の関係を表すエッジを含み得る。たとえば、「バナナ」ノードは、「果物」ノードに(たとえば、子として)接続され得、次に、「果物」ノードは、「農産物」および/または「食品」ノードに(たとえば、子として)接続され得る。別の例として、「架空のカフェ」と呼ばれるレストランは、その住所、提供される食品の種類、営業時間、連絡先情報などの属性も含むノードによって表され得る。「架空のカフェ」ノードは、いくつかの実施形態では、エッジ(たとえば、子と親の関係を表す)によって、「レストラン」ノード、「ビジネス」ノード、レストランがある都市および/または州などを表すノードなどの1つまたは複数の他のノードに接続され得る。
【００４８】
自然言語プロセッサ122のエンティティタガーは、高レベルの粒度(たとえば、人などのエンティティクラスへのすべての参照を特定できるようにするため)および/または低レベルの粒度(たとえば、特定の人などの特定のエンティティへのすべての参照の特定を可能にするため)でエンティティへの参照に注釈を付けることができる。エンティティタガーは、特定のエンティティを解決するために自然言語入力のコンテンツに依存する場合があり、および/または任意で、特定のエンティティを解決するために知識グラフまたは他のエンティティデータベースと通信する場合がある。
【００４９】
いくつかの実施形態では、自然言語プロセッサ122は、追加的および/または代替的に、1つまたは複数のコンテキストキューに基づいて同じエンティティへの参照をグループ化または「クラスタ化」するように構成された共参照リゾルバを含み得る。たとえば、「前回そこで食べたときに架空のカフェが好きだった」という自然言語入力における「そこ」という用語を「架空のカフェ」に解決するために、共参照リゾルバが利用され得る。
【００５０】
いくつかの実施形態では、自然言語プロセッサ122の1つまたは複数のコンポーネントは、自然言語プロセッサ122の1つまたは複数の他のコンポーネントからの注釈に依存し得る。たとえば、いくつかの実施形態では、名前付きエンティティタガーは、特定のエンティティへのすべての言及に注釈を付ける際に、共参照リゾルバおよび/または依存関係パーサからの注釈に依存し得る。また、たとえば、いくつかの実施形態では、共参照リゾルバは、同じエンティティへの参照をクラスタ化する際に、依存関係パーサからの注釈に依存し得る。いくつかの実施形態では、特定の自然言語入力を処理する際に、自然言語プロセッサ122の1つまたは複数のコンポーネントは、1つまたは複数の注釈を決定するために、特定の自然言語入力の外部の関連する事前入力および/または他の関連データを使用し得る。
【００５１】
自然言語理解エンジン135はまた、自然言語プロセッサ122の注釈付き出力に基づいて、自動アシスタント120との人間とコンピュータとの対話セッションに従事するユーザのインテントを決定するように構成されたインテントマッチャ136を含み得る。図1では、自然言語プロセッサ122とは別に描かれているが、他の実施形態では、インテントマッチャ136は、自然言語プロセッサ122(またはより一般的には、自然言語プロセッサ122を含むパイプライン)の不可欠な部分であり得る。いくつかの実施形態では、自然言語プロセッサ122およびインテントマッチャ136は、前述の「自然言語理解」エンジン135を集合的に形成し得る。
【００５２】
インテントマッチャ136は、ユーザのインテントを決定するために、様々な技法を使用し得る。いくつかの実施形態では、インテントマッチャ136は、たとえば、文法と応答アクション(または、より一般的にはインテント)との間の複数のマッピングを含む1つまたは複数のデータベース137にアクセスし得る。追加的または代替的に、いくつかの実施形態では、1つまたは複数のデータベース137は、ユーザの入力に基づいて、ユーザのインテントを示す出力を生成するようにトレーニングされた1つまたは複数の機械学習モデルを記憶し得る。
【００５３】
文法は、たとえば、ユーザの最も一般的なインテントを表すために、選択され、定式化され(たとえば、手作業で)、および/または時間とともに学習され得る。たとえば、1つの文法「<アーティスト>を再生する」は、ユーザによって動作されるクライアントデバイス106上で<アーティスト>による音楽を再生させる応答アクションを呼び出すインテントにマッピングされ得る。別の文法「今日の[天気|予報]」は、「今日の天気は何ですか」や「今日の天気予報は何ですか?」などのユーザクエリに一致する可能性がある。「<アーティスト>を再生する」の例の文法に見られるように、いくつかの文法は、スロット値(または、「パラメータ」)で埋めることができるスロット(たとえば、<アーティスト>)がある。スロット値は様々な方法で決定され得る。多くの場合、ユーザはスロット値を積極的に提供する。たとえば、「<トッピング>ピザを注文してください」という文法の場合、ユーザは「ソーセージピザを注文してください」というフレーズを話す可能性があり、この場合、スロット<トッピング>は自動的に埋められる。追加的または代替的に、ユーザがスロット値を積極的に提供せずに、ユーザがスロット値で埋められるべきスロットを含む文法を呼び出す場合、自動アシスタント120は、ユーザにそれらのスロット値を求めることができる(たとえば、「あなたのピザにはどのタイプのクラストを乗せたいですか?」)。
【００５４】
多くの文法(手動で作成され得る)とは対照的に、機械学習モデルは、たとえば、ユーザと自動アシスタントとの間のインタラクションのログを使用して、自動的にトレーニングされ得る。機械学習モデルは、ニューラルネットワークなどの様々な形式をとり得る。それらは、ユーザ入力からユーザのインテントを予測するために様々な方法でトレーニングされ得る。たとえば、いくつかの実施形態では、個々のトレーニング例を含むトレーニングデータが提供され得る。各トレーニング例は、たとえば、ユーザからの自由形式の入力(たとえば、テキスト形式または非テキスト形式)を含み得、インテントで(たとえば、手作業で)ラベル付けされ得る。トレーニングの例は、出力を生成するために、機械学習モデル(たとえば、ニューラルネットワーク)全体の入力として適用され得る。エラーを決定するために、出力はラベルと比較され得る。このエラーは、たとえば、モデルの隠れ層に関連付けられる重みを調整するために勾配降下法(たとえば、確率論的、バッチなど)および/またはバックプロパゲーションなどの技法を使用して、モデルをトレーニングするために使用され得る。そのようなモデルが(通常は多数の)トレーニング例でトレーニングされると、ラベル付けされてない自由形式の自然言語入力からインテントを予測する出力を生成するために使用され得る。
【００５５】
いくつかの実施形態では、自動アシスタント120は、ユーザと、サードパーティアプリケーションなどのアプリケーション(エージェントとも呼ばれる)との間のトランザクションを容易に(または「仲介」)し得る。これらのアプリケーションは、たとえば、クラウドベースの自動アシスタントコンポーネント119を動作させるものとは別のコンピューティングシステム上で動作する場合もしない場合もある。したがって、インテントマッチャ136によって特定され得る1種類のユーザインテントは、サードパーティのアプリケーションなどのアプリケーションを使用する。たとえば、自動アシスタント120は、ピザ配達サービスへのアプリケーションプログラミングインターフェース(「API」)へのアクセスを提供し得る。ユーザは、自動アシスタント120を呼び出して、「ピザを注文したいです」などのコマンドを提供し得る。インテントマッチャ136は、自動アシスタント120がサードパーティのピザ配達サービスにやり取りするようにトリガする文法(場合によってはサードパーティによってデータベース137に追加され得る)に、このコマンドをマッピングし得る。サードパーティのピザ配達サービスは、自動アシスタント120に、ピザ配達注文を履行するために埋める必要のあるスロットの最小リストを提供し得る。自動アシスタント120は、スロットのパラメータを求める自然言語出力を生成し、(クライアントデバイス106を介して)ユーザに提供し得る。
【００５６】
フルフィルメントエンジン124は、インテントマッチャ136によって出力されたインテント、ならびに関連付けられるスロット値(ユーザによって積極的に提供されたか、またはユーザから求められたかにかかわらず)を受信し、インテントを履行するように構成され得る。様々な実施形態において、ユーザのインテントの履行は、たとえば、フルフィルメントエンジン124によって、様々なフルフィルメント情報を生成/取得させることができる。以下に説明するように、いくつかの実施形態では、フルフィルメント情報は、フルフィルメント情報に基づいて自然言語出力を生成し得る自然言語ジェネレータ126に提供され得る。
【００５７】
インテントは様々な方法で履行することができるため、フルフィルメント情報は様々な形式をとり得る。ユーザが「『シャイニング』の屋外ショットはどこで撮影されたのか」などの純粋な情報を要求すると仮定する。ユーザのインテントは、たとえば、インテントマッチャ136によって、検索クエリであるとして決定され得る。検索クエリのインテントおよび内容は、フルフィルメントエンジン124に提供され得、図1に示されるように、応答情報について文書および/または他のデータソース(たとえば、知識グラフなど)のコーパスを検索するように構成された1つまたは複数の検索エンジン150と通信していてもよい。フルフィルメントエンジン124は、検索クエリを示すデータ(たとえば、クエリのテキスト、次元削減された埋め込みなど)を検索エンジン150に提供し得る。検索エンジン150は、「ティンバーラインロッジ、マウントフッド、オレゴン州」などの応答情報を提供し得る。この応答情報は、フルフィルメントエンジン124によって生成されるフルフィルメント情報の一部を形成し得る。
【００５８】
追加的または代替的に、フルフィルメントエンジン124は、たとえば、自然言語理解エンジン135から、ユーザのインテント、およびユーザによって提供されるか、または他の手段(たとえば、ユーザのGPS座標、ユーザの好みなど)を使用して決定される任意のスロット値を受信して、応答アクションをトリガするように構成され得る。応答アクションは、たとえば、商品/サービスの注文、タスクを実行するためのインタラクティブ対話の従事、タイマの開始、リマインダの設定、電話の開始、メディアの再生、メッセージの送信などを含み得る。いくつかのそのような実施形態では、フルフィルメント情報は、フルフィルメントに関連付けられるスロット値、確認応答(場合によっては、あらかじめ定められた応答から選択され得る)などを含み得る。
【００５９】
上記のように、自然言語ジェネレータ126は、様々なソースから取得されたデータに基づいて、自然言語出力(たとえば、人間の音声を模倣するように設計された話し言葉/フレーズ)を生成および/または選択するように構成され得る。いくつかの実施形態では、自然言語ジェネレータ126は、入力として、フルフィルメントエンジン124によってインテントのフルフィルメントに関連付けられるフルフィルメント情報を受信することと、フルフィルメント情報に基づいて自然言語出力を生成することとを行うように構成され得る。追加的または代替的に、自然言語ジェネレータ126は、サードパーティアプリケーション(たとえば、必要なスロット)などの他のソースから情報を受信し得、ユーザのための自然言語出力を定式化するためにそれを使用し得る。さらに、本明細書に記載されるように、ユーザへの出力としてレンダリングするために提供されるコンテンツは、任意で対応する可聴コンテンツとともに、グラフィックコンテンツを含むことができる。
【００６０】
セッションエンジン138は、第1のクライアントデバイス1061を介して、または第2のクライアントデバイス106Nを介して発生するアクティブな自動アシスタントセッションを特定するように構成することができる。セッションエンジン138は、アクティブなセッションに関連するコンテンツのみをアクティブなセッション中にレンダリングさせることができる。さらに、セッションエンジン138は、アクティブな第1のセッション中に割込みデータを受信したことに応答して、それぞれのクライアントデバイスに、第2のセッション中に少なくとも一時的に第2のセッションに取って代わる代替コンテンツをレンダリングさせるように構成することができる。第2のセッション中にレンダリングされる代替コンテンツは、第1のセッションのコンテンツとは異なり、クライアントデバイスに代替コンテンツをレンダリングさせることは、クライアントデバイスに第1のセッションのコンテンツの代わりに代替コンテンツをレンダリングさせることを含む。
【００６１】
セッションエンジン138は、第1のセッション中に提供されるコンテンツの代わりに代替コンテンツが提供されることを要求するインスタンスに基づいて、ユーザによって提供されるユーザインターフェース入力のいくつかのインスタンスが割込みデータを構成すると決定することができる。そのような決定を行う際に、セッションエンジン138は、音声入力を示す出力および/またはユーザの他の自然言語入力が現在のインテントから新しいインテントへの変化を示すなど、自然言語理解エンジン135からの出力に依存することができる。割込みデータであるそのような音声入力が受信されると、セッションエンジン138は、新しいインテントに応答し、フルフィルメントエンジン124によって決定される代替コンテンツに、第1のセッションのためにレンダリングされるコンテンツに置換するようにさせることができる。セッションエンジン138は、追加的または代替的に、第1のセッション中に通知が提供された、肯定を示すユーザインタラクションが割込みデータであると決定することができる。そのような肯定を示すユーザインタラクションが受信されると、セッションエンジン138は、通知に対応する代替コンテンツを引き起こして、第1のセッションのためにレンダリングされるコンテンツに取って代わることができる。
【００６２】
セッションエンジン138は、第2のセッションの終了時に、(1)以前の第1のセッションを自動的に再開するか、または(2)以前の第1のセッションが自動的に再開されない代替状態に移行するかどうかを決定するようにさらに構成することができる。セッションエンジン138は、第2のセッションの終了時に、割り込まれた以前の第1のセッションの自動的な再開、または第1のセッションが自動的に再開されない状態への移行のいずれかを選択的に引き起こすようにさらに構成されている。セッションエンジン138は、(1)以前の第1のセッションを自動的に再開するか、または(2)以前の第1のセッションが自動的に再開されない代替状態に移行するかの決定に基づいて、それらの2つのアクションのうちの1つを選択的に発生させることができる。本明細書に記載されるように、セッションエンジン138が以前の第1のセッションが自動的に再開されない代替状態に移行すると決定する場合、代替状態は、以前のセッションが自動的に再開されず、完全に期限切れになる代替状態であってもよく、以前のセッションは、自動的に再開されないが、ユーザインターフェース出力を介して(たとえば、グラフィック要素のレンダリングを介して)再開することが提案されている代替状態であってもよく、または、以前のセッションは、自動的に再開されることも、再開が提案されることもないが、明示的なユーザ要求に応答して再開可能である代替状態であってもよい。
【００６３】
セッションエンジン138は、本明細書に記載のディスプレイオフ、アンビエント、ホーム、およびセッション状態など、本明細書に記載の実施形態に従って、様々な状態間の選択的移行を引き起こすようにさらに構成することができる。たとえば、セッションエンジン138は、割込み中のセッション状態から、以前のセッション状態の自動再開、あるいは以前のセッション状態が自動的に再開されない状態のいずれかに選択的に移行することができる。さらに、セッションエンジン138が、以前のセッション状態が自動的に再開されないホーム状態に移行する実施形態において、セッションエンジン138は、本明細書に記載の様々な考慮事項に基づいて、任意で、ホーム状態を適応させるかどうかを決定する(たとえば、以前のセッション状態を再開するためのインタラクティブ要素を含めるかどうかを決定する)ことができる。セッションエンジン138のこれらおよび他の態様の追加の説明は、本明細書に記載されている(たとえば、要約において、および以下の図2〜図8に関して)。図1において、セッションエンジン138は、クラウドベースの自動アシスタントコンポーネント119の一部として実装されるものとして示されているが、様々な実施形態では、セッションエンジン138の全部または一部は、それぞれの自動アシスタントクライアント118によって実装することができる点に留意されたい。
【００６４】
図2は、様々な実施形態に従って、たとえばセッションエンジン138によって実装され得る1つの例示的な状態図を示している。描写された状態図は、ディスプレイオフ181、アンビエント183、ホーム185、第1のセッション187、および第2のセッション189の5つの状態を含む。5つの状態が描かれているが、より少数またはより多数の状態を提供することができる。たとえば、本明細書に記載されるように、第2のセッション189は、常にアクティブ状態であるとは限らず、コンテンツが第1のセッション187においてレンダリングされている間に受信される割込みデータに応答してオンデマンドで作成することができる。また、たとえば、コンテンツが第2のセッション189においてレンダリングされている間に受信されるさらなる割込みデータに応答して、追加の第3のセッション状態をセッションエンジン138によってオンデマンドで作成することができる。そのような第3のセッション状態が作成されると、第3のセッション状態からの移行は、第2のセッションからの移行に関して本明細書に記載されるのと同様の方法で処理することができる(たとえば、第2のセッション189が自動的に再開されるか、代替状態が第2のセッション189が自動的に再開されない状態に移行する可能性がある)。
【００６５】
ディスプレイオフ181は、たとえば、電力をほとんどまたはまったく使用せずに、ディスプレイ111がスリープ状態のままであるデフォルト状態であり得る。スタンドアロン型マルチモーダルアシスタントデバイス1061は、近くに人がいない状態で単独のままであるが、ディスプレイオフ181は現在の状態のままであり得る。いくつかの実施形態では、現在の状態がディスプレイオフ181である間、ユーザ(まだ存在として検出されていない)は、たとえば、呼出しフレーズに続いて特定の要求を話すことによって、依然として自動アシスタント120にアクティビティを要求し得、現在の状態を直接第1のセッション187状態に移行させることができる。
【００６６】
いくつかの実施形態では、1人または複数の人が近くで検出されると(すなわち、「占有(OCCUPANCY)」)、現在の状態がアンビエント183状態に移行され得る。アンビエント183状態では、自動アシスタント120は、クライアントデバイス1061のディスプレイ1111に、たとえば、その美的魅力に基づいて選択され得るアンビエントコンテンツをレンダリングさせることができる。たとえば、任意で、リラックスできる自然音の可聴レンダリングとともに、風景または他の同様のコンテンツの1つまたは複数のデジタル画像および/またはビデオを視覚的に表示することができる。コンテンツはアンビエント183状態においてレンダリングされるが、アンビエント183状態は、その用語が本明細書で使用されているため、セッションとは見なされない点に留意されたい。たとえば、アンビエント183状態においてレンダリングされたコンテンツは特定されず、音声発話に応答して、またはユーザによる通知の受け入れに応答してレンダリングされないため、セッションとは見なされない場合がある。いくつかの実施形態では、たとえば、少なくともあらかじめ定められた時間期間にわたって、占有者がスタンドアロン型マルチモーダルアシスタントデバイスともはや共存していないと決定された場合、現在の状態は、アンビエント183からディスプレイオフ181に戻ることができる。
【００６７】
図2に示されるように、いくつかの実施形態では、現在の状態がアンビエント183である間、ユーザは、たとえば、呼出しフレーズに続いて特定の要求を話すことによって、依然として自動アシスタント120にアクティビティを要求し得、現在の状態を第1のセッション187状態に移行させることができる。他の実施形態では、アンビエント183状態が存在しない場合があり、現在の状態は、人の共存(占有)の検出に応答して、ディスプレイオフ181から直接ホーム185に移行し得る。
【００６８】
ホーム185状態では、自動アシスタントとのインタラクションを通じてユーザが実行する提案されたアクション、現在の時刻、現在の気象条件、ユーザのカレンダの簡単な要約などの、様々なグラフィック要素をレンダリングすることができる。いくつかの実施形態では、データ項目は、カードまたはタイルとして表示され得、これは、インタラクティブである場合もそうでない場合もある(たとえば、ディスプレイ111がタッチスクリーンであるかどうかに応じて)。データ項目は、場合によっては、データ項目に(自動または手動で)割り当てられた優先順位、共存者のID(決定された場合)、時刻、時期などの、様々な基準に基づいてランク付けされ得る。データ項目がカードとして、たとえばスタックにおいて提示される場合、ランキングは、たとえば、最上位のカードが最も優先順位が高く、下位のカードの優先順位が比較的低いことによって反映され得る。データ項目がタイルとして提示される場合、たとえば、ディスプレイ111の一部を占有する場合、ランキングは、たとえば、タイルの配置(たとえば、左上または右上が最も優先順位が高い場合がある)および/またはタイルのサイズ(たとえば、タイルが大きいほど、優先順位が高くなる)に反映され得る。本明細書で詳細に説明するように、様々な実施形態では、ホーム185状態が、永続的なコンテンツを含むセッションの完了前に移行するとき、データ項目は、任意で、セッションを再開するために選択することができる選択可能なグラフィック要素を含む。コンテンツはホーム185状態においてレンダリングされるが、ホーム185状態は、その用語が本明細書で使用されているため、セッションとは見なされない点に留意されたい。たとえば、ホーム185状態においてレンダリングされたコンテンツは特定されず、音声発話に応答して、またはユーザによる通知の受け入れに応答してレンダリングされないため、セッションとは見なされない場合がある。
【００６９】
ホーム185状態にある間、たとえばタイルやカードをタップすることによって、ユーザがデータ項目を表すグラフィック要素のうちの1つまたは複数に従事する場合、現在の状態が第1のセッション187状態に移行し、ユーザによってインタラクションが行われたグラフィック要素応答するコンテンツをレンダリングすることができる。たとえば、グラフィック要素の1つが、ユーザが関心を持つ可能性のあるミュージックビデオの提案である場合、第1のセッション187状態により、ミュージックビデオの可聴およびグラフィックコンテンツがレンダリングされる可能性がある。同様に、ユーザが自動アシスタント120に音声要求を発した場合(たとえば、「OK、アシスタント、…は何ですか?」)、現在の状態は、第1のセッション187状態に移行し、音声要求に応答するコンテンツをレンダリングすることができる。いくつかの実施形態では、共存ユーザが自動アシスタント120に音声で関与せず、ディスプレイ111上でレンダリングされたデータ項目と少なくともあらかじめ定められた時間間隔(すなわち、タイムアウト)の間インタラクションを行わない場合、現在の状態はホーム185からアンビエント183に戻るか、アンビエント183状態がない場合はディスプレイオフ181に戻り得る。ホーム185状態からアンビエント183(または、ディスプレイオフ181)状態への移行をトリガする可能性のある他のイベントは、ユーザからの特定の要求(たとえば、ディスプレイ上の終了ボタンのタップ)、アンビエント183などに戻るために共存するユーザのインテントを信号で示し得る戻るジェスチャ(たとえば、カメラまたは他のセンサの前で手を振る)などを含むが、これらに限定されない。
【００７０】
第1のセッション187では、要求されたアクティビティまたはタスクに関連する状態コンテンツは、ディスプレイ111上で排他的にレンダリングされ、任意でスピーカ191を介して排他的にレンダリングされ得る。たとえば、共存ユーザがスマートデバイスのインストールに関するガイダンスを求める音声要求を発したと仮定する。それに応答して、ディスプレイ111全体およびスピーカ191は、スマートデバイスのインストールプロセスを通じてユーザを案内するための複数の対話ターンインタラクションに専念することができる。別の例として、共存ユーザが有名人に関する情報を求める音声要求を発したと仮定する。いくつかの実施形態では、応答コンテンツは、自動アシスタント120による自然言語出力としてスピーカ109を通じて音声で提供されるか、および/またはディスプレイ111上にレンダリングされ得る。いくつかの実施形態では、自動アシスタント120が応答コンテンツを聴覚的に提供する一方で、ユーザの要求に応答する他のコンテンツ(ただし、必ずしもユーザによって特に要求されるとは限らない)が表示され得る。たとえば、ユーザが有名人の誕生日を要求した場合、有名人の誕生日が聴覚的に出力され、有名人に関する他の情報(たとえば、有名人が主演する映画の時間を表示するためのディープリンク、有名人の写真など)がディスプレイ111にレンダリングされ得る。
【００７１】
現在の状態は、第1のセッション187の終了に応答して、第1のセッション187状態からホーム185状態(または、アンビエント183、あるいはディスプレイオフ181)に戻ることができる。第1のセッション187の終了は、第1のセッション状態187の永続的なコンテンツのレンダリングの完了(たとえば、ミュージックビデオの再生が完了した)、一時的なコンテンツのレンダリングの完了に応答して、および任意で完了後のタイムアウト後に発生し得る。他のイベントは終了イベントと見なされる場合があるが、第1のセッション187をキャンセルするためのユーザの明示的な入力(たとえば、「終了」という声の発話、「戻る」というタッチ入力、「X」または他のキャンセルインタラクティブグラフィック要素のタッチ入力)、またはホーム185状態に戻るための特定の要求などの、第1のセッション187の完了を構成するものではない。
【００７２】
いくつかの実施形態では、第1のセッション187のアクティビティおよび/またはタスクは、ホーム185状態への移行を引き起こす終了があるときに、完了されない、および/または開いたままである(たとえば、明示的にキャンセルされない)場合がある。たとえば、ユーザはレンダリングの途中で曲またはビデオを一時停止することができる。別の例として、ユーザは、アクティビティパラメータを埋めるためにいくつかのスロットを必要とするタスクを要求し始めることができるが、必要なすべてのスロットを埋めることができない場合がある。たとえば、ユーザはピザの注文を開始することができるが、立ち止まって部屋を出て、他の人にどのトッピングが欲しいかを尋ねたり、他の人に支払い情報を要求したりすることができる。それらの実施形態のいくつかでは、新しいタイルまたはカードは、不完全な第1のセッション187を表すホーム状態185においてディスプレイ111上でレンダリングされ得る。場合によっては、この新しいタイルまたはカードは、第1のセッション187を継続するためにユーザによってタップされ得る。多くの実施形態では、この新しいタイルまたはカードは、永続的なタスクとして分類される不完全なタスクに対してのみ生成され得る(一方、一時的なタスクとして分類される不完全なタスクに対してはタイルまたはカードは生成されない)。
【００７３】
やはり図2に示されるように、現在の状態は、割込みデータを受信したことに応答して、第1のセッション187状態から第2のセッション189状態に移行され得る。これは、第1のセッション187が依然としてアクティブであり、第1のセッション187のコンテンツがディスプレイ111および/またはスピーカ109を介して排他的にレンダリングされているときに発生する可能性がある。本明細書に記載されるように、割込みデータは、第1のセッション187の間に提供されたコンテンツの代わりに、音声発話が代替コンテンツの提供を要求したときに、ユーザによって提供された音声発話であり得る。割込みデータは、追加的または代替的に、第1のセッション187の間に提供されることになる通知を伴う、肯定を示すユーザインタラクションである可能性がある。割込みデータに関係なく、割込みデータを受信すると、第2のセッション189状態に移行し、割込みデータに対応する代替コンテンツが、第1のセッション187状態の間にレンダリングされるコンテンツに置き換わる。
【００７４】
第2のセッション189の終了が発生すると、第1のセッション187のコンテンツのレンダリングが自動的に再開する第1のセッション187か、または、第1のセッション187状態のコンテンツのレンダリングは自動的に再開されない、ホーム185状態またはアンビエント183状態のいずれかに移行する。本明細書に記載されるように、第1のセッション187状態への移行、あるいはホーム185またはアンビエント183状態への移行が起こるべきかどうかは、第1のセッション187および/または第2のセッション189の1つまたは複数のプロパティに基づいて動的に決定することができる。そのようなプロパティは、たとえば、第1のセッション187が永続的または一時的なコンテンツをレンダリングするかどうか、および/または第2のセッションが永続的または一時的なコンテンツをレンダリングするかどうかを含むことができる。ホーム185状態への移行が発生し、第1のセッション187状態が永続的なコンテンツをレンダリングする状況では、選択可能なタイル、カード、または他のグラフィック要素を任意でホーム185状態においてレンダリングすることができ、選択すると、第1のセッション187状態に戻る移行が発生し、次いで、第1のセッション187が再開される。
【００７５】
第2のセッション189状態の終了は、第2のセッション189の永続的なコンテンツのレンダリングの完了(たとえば、ビデオの再生が完了した)、または一時的なコンテンツのレンダリングの完了に応答して、および任意で完了後のタイムアウト後に発生し得る。他のイベントは第2のセッション189の終了イベントと見なされる場合があるが、第2のセッション189をキャンセルするためのユーザの明示的な入力(たとえば、「終了」という声の発話、「戻る」というタッチ入力、「X」または他のキャンセルインタラクティブグラフィック要素のタッチ入力)などの、第2のセッション189の完了を構成するものではない。多くの場合、第2のセッション189の終了は、ユーザが第1のセッション187に戻ることを望むかどうかを直接示すユーザ入力なしで発生する。したがって、本明細書に記載の実施形態は、そのような状況に対処し、選択的、動的、および状況依存の方法で、第2のセッション189の終了時に第1のセッション187に戻り、自動的に再開するかどうかを決定することができる。
【００７６】
図3は、本明細書に開示した実施形態による例示的な方法300を示すフローチャートである。便宜上、フローチャートの動作は、動作を実行するシステムを参照して説明されている。このシステムは、自動アシスタント120を実装するコンピューティングシステムの1つまたは複数のコンポーネントなど、様々なコンピュータシステムの様々なコンポーネントを含み得る。さらに、方法300の動作は特定の順序で示されているが、これは限定することを意味するものではない。1つまたは複数の動作は、並べ替え、省略、または追加することができる。
【００７７】
ブロック302において、本システムは、アシスタントデバイスにおいてユーザインターフェース入力に応答するコンテンツを特定する。たとえば、ユーザインターフェース入力は音声発話であり得、本システムは、音声発話に応答するコンテンツを特定することができる。たとえば、「ビデオXを再生する」に応答して、「ビデオX」に対応するビデオを特定することができる。別の例として、ユーザインターフェース入力は、アシスタントデバイスのタッチセンサ式ディスプレイ上にレンダリングされたグラフィック要素とのタッチインタラクションである可能性があり、応答コンテンツは、グラフィック要素に応答することができる。たとえば、グラフィック要素は「ビデオX」の推奨である可能性があり、「ビデオX」はグラフィック要素とのインタラクションに応答して特定される。
【００７８】
ブロック304において、本システムは、第1のセッションの間にコンテンツをレンダリングする(304)。本システムは、アシスタントデバイスのディスプレイおよび/またはスピーカなどのアシスタントデバイスのユーザインターフェース出力デバイスを介してコンテンツをレンダリングすることができる。様々な実施形態では、本システムはコンテンツを排他的にレンダリングする。すなわち、本システムは、第1のセッションに関係のないコンテンツをレンダリングせずにコンテンツをレンダリングする(受信通知に関連するコンテンツがないため、ユーザが通知を肯定的に受け入れることができるように、簡単に(任意で、第1のセッションのコンテンツを一時停止している間に)レンダリングすることができる)。第1のセッション中のコンテンツのレンダリング(304)は、1つまたは複数の対話ターンにわたって、および/または長期間にわたって発生する可能性がある。
【００７９】
第1のセッション中のコンテンツのレンダリング中に、本システムは、ブロック306において、第1のセッションの終了を監視する。ブロック306において第1のセッションが終了した場合、本システムは、ブロック316に進み、本明細書に記載されるように、アシスタントデバイスのディスプレイをホーム画面またはアンビエント画面に移行することができる。ディスプレイがホーム画面であり、ブロック306において検出された第1のセッションの終了が完了ではなく、キャンセルでもない場合、ブロック316は、任意のブロック317の反復を含むことができ、第1のセッションの再開提案がホーム画面上でレンダリングされる。たとえば、ユーザが「一時停止」と話し、タイムアウトが発生したことに応答してブロック306において終了が検出された場合、選択可能なグラフィック要素をホーム画面上にレンダリングすることができ、これを選択すると、第1のセッションが再開され、ブロック304、306、および308のパフォーマンスが継続される。
【００８０】
ブロック306において第1のセッションの終了がない場合、本システムは、ブロック308に進み、割込みデータが受信されたかどうかを決定することができる。図3には連続して描かれているが、様々な実施形態では、ブロック306およびブロック308は、受信される対応する入力に応答して、並行しておよび/または「オンデマンド」で実行することができる点に留意されたい。さらに、ブロック304、306、および308は、すべて並行して実行することができる。たとえば、ブロック306および308がバックグラウンドで実行されている間、ブロック304は連続的に実行され得る。ブロック308において、割込みデータが受信されない場合、本システムはブロック304に戻り、第1のセッションの間のコンテンツのレンダリング(304)が(たとえば、割込みなしに)続行される。
【００８１】
ブロック308の反復において、割込みデータが受信された場合、本システムはブロック310に進み、第1のセッションに置き換わる第2のセッションにおいて代替コンテンツをレンダリングする。代替コンテンツは、割込みデータに応答することができる。たとえば、代替コンテンツは、割込みデータに関連付けられる音声発話に応答することができ、または割込みデータに関連付けられる通知に応答することができる。様々な実施形態では、本システムは、ブロック310において代替コンテンツを排他的にレンダリングする。すなわち、本システムは、第2のセッションに関係のないコンテンツをレンダリングせずに代替コンテンツをレンダリングする(受信通知に関連するコンテンツがないため、ユーザが通知を肯定的に受け入れることができるように、簡単に(任意で、第1のセッションのコンテンツを一時停止している間に)レンダリングすることができる)。第2のセッション310中の代替コンテンツのレンダリングは、1つまたは複数の対話ターンにわたって、および/または長期間にわたって発生する可能性がある。
【００８２】
ブロック310のいくつかの実施形態では、第2のセッションにおける代替コンテンツのレンダリングは、代替コンテンツ(たとえば、可聴および/または視覚的)の少なくとも1つの必要な出力モダリティが、第1のセッションにおいて第1のコンテンツをレンダリングするために使用される少なくとも1つの出力モダリティと競合することを決定することに応答して、第1のセッションに置き換えることができる。それらの実施形態のいくつかでは、モダリティが競合しない場合(たとえば、代替コンテンツと第1のコンテンツのうちの一方のみが可聴であり、代替コンテンツと第1のコンテンツのうちのもう一方が視覚的のみである場合)、ブロック314は、第1のセッションと第2のセッションの両方が異なる出力モダリティを通じて同時に発生する可能性があるため、第1のセッションが終了されないのでスキップすることができる。
【００８３】
第2のセッション中の代替コンテンツのレンダリング中に、本システムは、ブロック312において、第2のセッションの終了を監視する。ブロック312の反復において第2のセッションの終了が検出されると、本システムはブロック314に進み、第1のセッションを再開するかどうかを決定する。
【００８４】
本システムがブロック314において第1のセッションを再開することを決定した場合、本システムはブロック304に戻り、ブロック308において検出された割込みデータを伴うその状態に対応する第1のセッションの状態から、任意で、第1のセッション中にコンテンツのレンダリングを自動的に再開する。
【００８５】
システムがブロック314において第1のセッションを再開しないと決定した場合、本システムは、ブロック316に進み、本明細書に記載されるように、アシスタントデバイスのディスプレイをホーム画面またはアンビエント画面に移行する。ディスプレイがホーム画面である場合、ブロック316は、任意のブロック317の反復を含むことができ、第1のセッションの再開提案および/または第2のセッションの再開提案がホーム画面上でレンダリングされる。たとえば、第1のセッションが永続的なコンテンツを含む場合、選択可能なグラフィック要素をホーム画面上にレンダリングすることができ、これを選択すると、第1のセッションが再開され、ブロック304、306、および308のパフォーマンスが継続される。また、たとえば、第2のセッションが永続的なコンテンツを含み、ブロック312の第2のセッションの終了が完了またはキャンセルではなかった場合、選択可能なグラフィック要素をホーム画面上にレンダリングすることができ、これを選択すると、第2のセッションが再開される。
【００８６】
様々な実施形態では、ブロック314において第1のセッションを再開するかどうかを決定することは、第1のセッションのコンテンツが永続的または一時的なコンテンツであるかどうか、および/または第2のセッションの代替コンテンツが永続的または一時的なコンテンツであるかどうかなど、第1のセッションの1つまたは複数のプロパティおよび/または第2のセッションの1つまたは複数のプロパティに少なくとも部分的に基づくことができる。図3には連続して描かれているが、様々な実施形態では、ブロック310、312、および314は、並行して実行することができる点に留意されたい。たとえば、ブロック310は、ブロック312がバックグラウンドで連続的に実行されている間、連続的に実行され得、ブロック314の決定は、ブロック312が発生する前の1回の反復において先制的に決定され得る。
【００８７】
図4は、第1のセッション中に第1のコンテンツ491をレンダリングすることと、第1のセッション中に第1のコンテンツのレンダリング中に割込みデータを受信したことに応答して第2のセッション中に代替コンテンツ493をレンダリングすることと、第2のセッションの終了時に第1のセッションを自動的に再開することとの例を示している。
【００８８】
図4において、最上位の第1のクライアントデバイス1061によって表されるように、第1のコンテンツ491は、自動アシスタント120にスマートサーモスタットの配線を容易にするように求めるユーザ要求に応答して、第1のクライアントデバイス1061のディスプレイ上にレンダリングすることができる。第1のコンテンツ491は、そのようなユーザ要求に対する第1のセッション中にレンダリングされ、第1のセッションの複数の対話ターンのうちの1つ中にレンダリングされる第1のコンテンツのほんの一部を表す。図示されていないが、第1のセッションの対応する可聴コンテンツはまた、第1のクライアントデバイス1061のスピーカによってレンダリングされ得る点に留意されたい。第1のセッションが終了する前に、および第1のコンテンツ491がレンダリングされている間、ユーザは「今日の天気予報は何ですか?」という音声発話492を提供する。そのような音声発話492は、第1のセッションとは関係のない代替コンテンツの要求であるため、割込みデータを構成する。
【００８９】
音声発話に応答して、中央の第1のクライアントデバイス1061によって表されるように、自動アシスタントは、第2のセッションにおいて、第1のコンテンツ491のレンダリングを代替コンテンツ493によって置き換える。代替コンテンツ493は、音声発話492に応答し、第1のコンテンツ491に置き換わり、ディスプレイによって排他的にレンダリングされる。様々な実施形態では、第2のセッションの可聴代替コンテンツはまた、第1のクライアントデバイス1061のスピーカによってレンダリングされ得る点に留意されたい。
【００９０】
第2のセッションが終了すると、最下部の第1のクライアントデバイス1061によって表されるように、第1のセッションは自動的に再開される。第2のセッションの終了は、たとえば、タイムアウトに応答して、またはユーザがユーザインターフェース入力(たとえば、「完了」を話す、「戻る」をスワイプするなど)を通じて完了を示すことに応答して発生し得る。いくつかの実施形態では、第1のセッションは、永続的なコンテンツとして分類される第1のセッションの第1のコンテンツ491、および一時的なコンテンツとして分類される第2のセッションの第2のコンテンツ493に少なくとも部分的に基づいて自動的に再開され得る。
【００９１】
図5は、第1のセッション中に第1のコンテンツ591をレンダリングすることと、第1のセッション中に第1のコンテンツのレンダリング中に割込みデータを受信したことに応答して第2のセッション中に代替コンテンツ592をレンダリングすることと、第2のセッションの終了時に、第1のセッションの再開が提案されているが、自動的には再開されない代替状態595に移行することとの例を示している。
【００９２】
図5において、最上位の第1のクライアントデバイス1061によって表されるように、第1のコンテンツ591は、自動アシスタント120にスマートサーモスタットの配線を容易にするように求めるユーザ要求に応答して、第1のクライアントデバイス1061のディスプレイ上にレンダリングすることができる。第1のコンテンツ591は、図4の第1のコンテンツ491と同様であり得る。第1のセッションが終了する前に、および第1のコンテンツ591がレンダリングされている間、ユーザは「ミントジュレップを作るためのビデオを見せてください」という音声発話592を提供する。そのような音声発話592は、第1のセッションとは関係のない代替コンテンツの要求であるため、割込みデータを構成する。
【００９３】
音声発話に応答して、中央の第1のクライアントデバイス1061によって表されるように、自動アシスタントは、第2のセッションにおいて、第1のコンテンツ591のレンダリングを代替コンテンツ593によって置き換える。代替コンテンツ593は、音声発話592に応答し、第1のコンテンツ591に置き換わり、ディスプレイによって排他的にレンダリングされる。図5の例では、代替コンテンツ593は、ミントジュレップの作成に関連する永続的なビデオであり、割込みデータを構成する音声発話592に応答して自動的に再生される。
【００９４】
第2のセッションが終了すると、最下部の第1のクライアントデバイス1061によって表されるように、第1のセッションは自動的に再開されない。代わりに、クライアントデバイス1061のディスプレイは、代替の「ホーム」状態595に移行され、この状態では、第1のセッションがグラフィック要素5951を介して再開するように提案されるが、自動的には再開されない。グラフィック要素5951をタッチ入力で選択すると、第1のセッションを再開させることができる。いくつかの実施形態では、永続的なコンテンツとして分類されている第2のセッションの代替コンテンツ593に少なくとも部分的に基づいて、第1のセッションを自動的に再開することができない。いくつかの実施形態では、グラフィック要素5951は、永続的なコンテンツとして分類される第1のセッションの第1のセッションコンテンツ591に少なくとも部分的に基づいて提供することができる。ホーム状態595において、ユーザに合わせて調整された今後のイベント、および地域の天気予報をそれぞれ表示する他のグラフィック要素5952および5953も提供される点に留意されたい。
【００９５】
図6は、第1のセッション中に第1のコンテンツ691をレンダリングすることと、第1のセッション中に第1のコンテンツのレンダリング中に割込みデータを受信したことに応答して第2のセッション中に代替コンテンツ692をレンダリングすることと、第2のセッションの終了時に第1のセッションを自動的に再開することとの別の例を示している。
【００９６】
図6において、最上位の第1のクライアントデバイス1061によって表されるように、第1のコンテンツ691は、自動アシスタント120にスマートサーモスタットの配線を容易にするように求めるユーザ要求に応答して、第1のクライアントデバイス1061のディスプレイ上にレンダリングすることができる。第1のコンテンツ691は、図4の第1のコンテンツ491と同様であり得る。第1のセッションが終了する前に、および第1のコンテンツ691がレンダリングされている間、ユーザは「アース付きと中性を区別するためのビデオを見せてください」という音声発話692を提供する。そのような音声発話692は、第1のセッションとは関係のない代替コンテンツの要求であるため、割込みデータを構成する。たとえば、それは第1のセッションからの第1のコンテンツの提示の継続を引き起こさないが、むしろ、第1のコンテンツに含まれていない代替コンテンツの要求を構成する。
【００９７】
音声発話に応答して、中央の第1のクライアントデバイス1061によって表されるように、自動アシスタントは、第2のセッションにおいて、第1のコンテンツ691のレンダリングを代替コンテンツ693によって置き換える。代替コンテンツ693は、音声発話692に応答し、第1のコンテンツ691に置き換わり、ディスプレイによって排他的にレンダリングされる。図6の例では、代替コンテンツ693は、アース線と中性線の区別に関連する永続的なビデオであり、割込みデータを構成する音声発話692に応答して自動的に再生される。
【００９８】
第2のセッションが終了すると、最下部の第1のクライアントデバイス1061によって表されるように、第1のセッションは自動的に再開される。図6の例では、第2のセッションの代替コンテンツが永続的なコンテンツとして分類されているにもかかわらず、第1のセッションは自動的に再開される。いくつかの実施形態では、第2のセッションの代替コンテンツが永続的なコンテンツとして分類される場合、1つまたは複数の他の条件が存在しない限り、第1のセッションは自動的に再開されない。そのような追加の条件は、図6の例に存在する。すなわち、追加の条件は、以前の第1のセッションのコンテンツが、「電気配線」エンティティおよび/またはより詳細な「アース線」および/または「中性線」エンティティなどの1つまたは複数のエンティティを具現化することと、第1のセッションのエンティティと第2のセッションの代替コンテンツとの間に定義された関係が存在することとを決定することであり得る。たとえば、関係は、第2のセッションのビデオが、「電気配線」エンティティおよび/またはより詳細な「アース線」および/または「中性線」エンティティも具現化することであり得る。そのようなエンティティが第1のセッションの第1のコンテンツおよび/または第2のセッションの代替コンテンツによって具現化されることを決定することは、コンテンツおよび代替コンテンツの用語、タイトル、および/または他のプロパティに基づくことができ、任意で、上述の知識グラフなどの知識グラフへの参照に基づくことができる。たとえば、自然言語プロセッサ122(図1)のエンティティタガーは、第1のコンテンツおよび代替コンテンツに関連付けられるテキストに基づいてそのようなエンティティにタグを付けることができる。
【００９９】
図7は、第1のセッション中に第1のコンテンツ791をレンダリングすることと、第1のセッション中に第1のコンテンツのレンダリング中に割込みデータを受信したことに応答して第2のセッション中に代替コンテンツ793をレンダリングすることと、第2のセッションの終了時に、第1のセッションが自動的に再開されず、再開が提案されない代替状態に移行することとの例を示している。
【０１００】
図7において、最上位の第1のクライアントデバイス1061によって表されるように、第1のコンテンツ791は、「エンパイアステートビルの高さ」というユーザの音声発話に応答して、第1のクライアントデバイス1061のディスプレイ上にレンダリングすることができる。第1のコンテンツ791は一時的なコンテンツであり、第1のセッション中にレンダリングされる第1のコンテンツの全体を表す(任意で同時にレンダリングすることができる対応するオーディオコンテンツがない)。第1のセッションが終了する前に、および第1のコンテンツ791がレンダリングされている間、ユーザは「今日の天気予報は何ですか?」という音声発話792を提供する。そのような音声発話792は、第1のセッションとは関係のない代替コンテンツの要求であるため、割込みデータを構成する。
【０１０１】
音声発話に応答して、中央の第1のクライアントデバイス1061によって表されるように、自動アシスタントは、第2のセッションにおいて、第1のコンテンツ791のレンダリングを代替コンテンツ793によって置き換える。代替コンテンツ793は、音声発話792に応答し、第1のコンテンツ791に置き換わり、ディスプレイによって排他的にレンダリングされる。
【０１０２】
第2のセッションが終了すると、最下部の第1のクライアントデバイス1061によって表されるように、第1のセッションは自動的に再開されない。代わりに、クライアントデバイス1061のディスプレイは、代替の「ホーム」状態795に移行され、この状態では、第1のセッションが自動的に再開されず、グラフィック要素を介した再開は提案されない。いくつかの実施形態では、一時的なコンテンツとして分類される第1のセッションの第1のセッションコンテンツ791に少なくとも部分的に基づいて、第1のセッションを自動的に再開することができず、再開を提案しない。ホーム状態795において、ユーザに合わせて調整された今後のイベント、および地域の天気予報をそれぞれ表示するグラフィック要素7951および7952が提供される点に留意されたい。
【０１０３】
図8は、第1のセッション中に第1のコンテンツ891をレンダリングすることと、第1のセッション中に第1のコンテンツのレンダリング中に割込みデータを受信したことに応答して第2のセッション中に代替コンテンツ893をレンダリングすることと、第2のセッションの終了時に第1のセッションを自動的に再開することとの別の例を示している。
【０１０４】
図8において、最上位の第1のクライアントデバイス1061によって表されるように、第1のコンテンツ891は、自動アシスタント120にスマートサーモスタットの配線を容易にするように求めるユーザ要求に応答して、第1のクライアントデバイス1061のディスプレイ上にレンダリングすることができる。第1のセッションの終了の前に、および第1のコンテンツ891がレンダリングされている間、通知897は、第1のセッション中に第1のコンテンツ891の上に一時的にレンダリングされる。通知897は、利用可能なスポーツスコアの更新をユーザに通知する。図8に示されるように、ユーザは、割込みデータを構成する通知897を「タップ」する。
【０１０５】
割込みデータに応答して、中央の第1のクライアントデバイス1061によって表されるように、自動アシスタントは、第2のセッションにおいて、第1のコンテンツ891のレンダリングを代替コンテンツ893によって置き換える。代替コンテンツ893は、通知897に応答し、通知のスポーツスコア更新に関連する追加の視覚的および任意のコンテンツを含む。代替コンテンツ893は、第1のコンテンツ891に置き換わり、ディスプレイによって排他的にレンダリングされる。
【０１０６】
第2のセッションが終了すると、最下部の第1のクライアントデバイス1061によって表されるように、第1のセッションは自動的に再開される。第2のセッションの終了は、たとえば、タイムアウトに応答して、ユーザがユーザインターフェース入力(たとえば、「完了」を話す、「戻る」をスワイプする)などを通じて完了を示すことに応答して発生し得る。いくつかの実施形態では、第1のセッションは、永続的なコンテンツとして分類される第1のセッションの第1のコンテンツ891、および一時的なコンテンツとして分類される第2のセッションの第2のコンテンツ893に少なくとも部分的に基づいて自動的に再開され得る。
【０１０７】
図9は、本明細書に記載の技法の1つまたは複数の態様を実行するために任意で利用され得る例示的なコンピューティングデバイス910のブロック図である。いくつかの実施形態では、クライアントコンピューティングデバイス、ユーザ制御リソースエンジン130、および/または他のコンポーネントの1つまたは複数は、例示的なコンピューティングデバイス910の1つまたは複数のコンポーネントを備え得る。
【０１０８】
コンピューティングデバイス910は、通常、バスサブシステム912を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ914を含む。これらの周辺デバイスは、たとえば、メモリサブシステム925およびファイルストレージサブシステム926、ユーザインターフェース出力デバイス920、ユーザインターフェース入力デバイス922、およびネットワークインターフェースサブシステム916を含む、ストレージサブシステム924を含み得る。入力および出力デバイスは、コンピューティングデバイス910とのユーザインタラクションを可能にする。ネットワークインターフェースサブシステム916は、外部ネットワークへのインターフェースを提供し、他のコンピューティングデバイス内の対応するインターフェースデバイスに結合される。
【０１０９】
ユーザインターフェース入力デバイス922は、キーボード、マウス、トラックボール、タッチパッド、またはグラフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピューティングデバイス910または通信ネットワークに情報を入力するためのすべての可能なタイプのデバイスおよび方法を含むことを意図している。
【０１１０】
ユーザインターフェース出力デバイス920は、ディスプレイサブシステム、プリンタ、ファックス機、またはオーディオ出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するための他の何らかのメカニズムを含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスを介するなどの非視覚的ディスプレイを提供し得る。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス910からユーザまたは別のマシンまたはコンピューティングデバイスに情報を出力するためのすべての可能なタイプのデバイスおよび方法を含むことを意図している。
【０１１１】
ストレージサブシステム924は、本明細書に記載のモジュールのいくつかまたはすべての機能を提供するプログラミングおよびデータ構造を記憶する。たとえば、ストレージサブシステム924は、図3の方法の選択された態様を実行するための、ならびに、図面に示されている、および/または本明細書に記載の様々なコンポーネントを実装するための論理を含み得る。
【０１１２】
これらのソフトウェアモジュールは、一般に、プロセッサ914によって単独で、または他のプロセッサと組み合わせて実行される。ストレージサブシステム924において使用されるメモリ925は、プログラム実行中に命令およびデータを記憶するためのメインランダムアクセスメモリ(RAM)930、および固定命令が記憶される読取り専用メモリ(ROM)932を含む多数のメモリを含むことができる。ファイルストレージサブシステム926は、プログラムおよびデータファイルのための永続的なストレージを提供することができ、ハードディスクドライブ、フロッピーディスクドライブと関連付けられるリムーバブルメディア、CD-ROMドライブ、光学ドライブ、またはリムーバブルメディアカートリッジを含み得る。特定の実施形態の機能を実装するモジュールは、ファイルストレージサブシステム926によって、ストレージサブシステム924に、またはプロセッサ914によってアクセス可能な他のマシンに記憶され得る。
【０１１３】
バスサブシステム912は、コンピューティングデバイス910の様々なコンポーネントおよびサブシステムが意図したように互いに通信するためのメカニズムを提供する。バスサブシステム912は、単一のバスとして概略的に示されているが、バスサブシステムの代替の実施形態は、複数のバスを使用し得る。
【０１１４】
コンピューティングデバイス910は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、あるいは任意の他のデータ処理システムまたはコンピューティングデバイスを含む様々なタイプのものであり得る。コンピュータおよびネットワークの絶えず変化する性質のために、図9に示されるコンピューティングデバイス910の説明は、いくつかの実施形態を説明するための特定の例としてのみ意図されている。コンピューティングデバイス910の多くの他の構成は、図9に示されるコンピューティングデバイスよりも多数または少数のコンポーネントを有することが可能である。
【０１１５】
本明細書で論じられる特定の実施形態が、ユーザに関する個人情報(たとえば、他の電子通信から抽出されたユーザデータ、ユーザのソーシャルネットワークに関する情報、ユーザの場所、ユーザの時間、ユーザの生体情報、ならびにユーザの活動および人口統計情報、ユーザ間の関係など)を収集または使用する可能性がある状況において、ユーザには、情報が収集されるかどうか、個人情報が記憶されるかどうか、個人情報が使用されるかどうか、およびユーザに関する情報が収集、記憶、使用される方法を制御する1つまたは複数の機会が提供される。すなわち、本明細書で論じられるシステムおよび方法は、関連するユーザからそれを行うための明示的な許可を受信した場合にのみ、ユーザの個人情報を収集、記憶、および/または使用する。
【０１１６】
たとえば、ユーザは、プログラムまたは機能が、その特定のユーザ、あるいはプログラムまたは機能に関連する他のユーザに関するユーザ情報を収集するかどうかを制御することができる。個人情報が収集される各ユーザには、情報が収集されるかどうか、および情報のどの部分が収集されるかについて、許可または承認を提供するために、そのユーザに関連する情報収集を制御できるようにするための1つまたは複数のオプションが提示される。たとえば、ユーザは、通信ネットワークを介して1つまたは複数のそのような制御オプションを提供され得る。さらに、特定のデータは、個人を特定できる情報が削除されるように、記憶または使用される前に1つまたは複数の方法で処理される場合がある。一例として、ユーザのIDは、個人を特定できる情報を特定できないように扱われる場合がある。別の例として、ユーザの特定の位置を特定できないように、ユーザの地理的位置がより大きな領域に一般化され得る。
【符号の説明】
【０１１７】
106  クライアントデバイス
1061  第1のクライアントデバイス
106N  クライアントデバイス
1061-N  クライアントコンピューティングデバイス
109  スピーカ
1091  スピーカ
109N  スピーカ
111  ディスプレイ
1111  ディスプレイ
114  音声キャプチャ/テキスト読上げ(「TTS」)/音声読上げ(「STT」)モジュール
116  TTSモジュール
117  クラウドベースのSTTモジュール
118  自動アシスタントクライアント
1181  自動アシスタントクライアント
118N  自動アシスタントクライアント
119  自動アシスタントコンポーネント
120  自動アシスタント
120A  第1の自動アシスタント
120B  第2の自動アシスタント
122  自然言語プロセッサ
124  フルフィルメントエンジン
126  自然言語ジェネレータ
130  ユーザ制御リソースエンジン
135  自然言語理解エンジン
136  インテントマッチャ
137  データベース
138  セッションエンジン
150  検索エンジン
181  ディスプレイオフ
183  アンビエント
185  ホーム
187  第1のセッション
189  第2のセッション
191  スピーカ
300  方法
491  第1のコンテンツ
492  音声発話
493  代替コンテンツ
591  第1のコンテンツ
592  代替コンテンツ
595  代替状態
5951  グラフィック要素
5952  グラフィック要素
5953  グラフィック要素
691  第1のコンテンツ
692  代替コンテンツ
693  代替コンテンツ
791  第1のコンテンツ
793  代替コンテンツ
795  ホーム状態
7951  グラフィック要素
7952  グラフィック要素
891  第1のコンテンツ
893  代替コンテンツ
897  通知
910  コンピューティングデバイス
912  バスサブシステム
914  プロセッサ
916  ネットワークインターフェースサブシステム
920  ユーザインターフェース出力デバイス
922  ユーザインターフェース入力デバイス
924  ストレージサブシステム
925  メモリサブシステム
926  ファイルストレージサブシステム
930  メインランダムアクセスメモリ(RAM)
932  読取り専用メモリ(ROM)
【図１】
2021522613.tif 000003
【図２】
2021522613.tif 000004
【図３】
2021522613.tif 000005
【図４】
2021522613.tif 000006
【図５】
2021522613.tif 000007
【図６】
2021522613.tif 000008
【図７】
2021522613.tif 000009
【図８】
2021522613.tif 000010
【図９】
2021522613.tif 000011
【手続補正書】
【提出日】令和2年12月15日(2020.12.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサを使用して実施される方法であって、
クライアントデバイスの1つまたは複数のマイクを介して検出されたユーザの音声発話を示す音声発話データを受信するステップと、
前記音声発話データに基づいて、前記ユーザの前記音声発話に応答する第1のコンテンツを特定するステップと、
前記音声発話データを受信したことに応答して、前記クライアントデバイスに、第1のセッション中に前記第1のコンテンツの少なくとも一部をレンダリングさせるステップと、
前記第1のセッション中の前記クライアントデバイスによる前記第1のコンテンツのレンダリング中に割込みデータを受信するステップであって、前記割込みデータは、前記第1のセッション中の前記第1のコンテンツのレンダリング中に検出された前記ユーザのさらなるユーザインターフェース入力に応答して受信される、ステップと、
前記割込みデータを受信したことに応答して、前記クライアントデバイスに、少なくとも一時的に前記第1のセッションに取って代わる第2のセッション中に代替コンテンツをレンダリングさせるステップであって、前記代替コンテンツは前記第1のコンテンツとは異なり、前記クライアントデバイスに前記第2のセッション中に前記代替コンテンツをレンダリングさせることは、前記クライアントデバイスに前記第1のコンテンツの代わりに前記代替コンテンツをレンダリングさせることを備える、ステップと、
前記第2のセッションの終了時に、
前記クライアントデバイスに、前記第1のセッションを自動的に再開させるか、または
前記クライアントデバイスに、前記クライアントデバイスが前記第1のセッションを自動的に再開しない代替状態に移行させるか
を決定するステップであって、
前記決定するステップは、前記第1のセッションの少なくとも1つまたは複数のプロパティに基づく、ステップと、
前記第2のセッションの終了時に、前記クライアントデバイスに前記第1のセッションを自動的に再開すること、または前記第1のセッションが自動的に再開されない前記代替状態に移行することを選択的にさせるステップであって、前記選択的にさせるステップが前記決定に依存する、ステップと、
を備える、方法。
【請求項２】
前記決定が基づく前記第1のセッションの少なくとも1つのプロパティは、前記第1のコンテンツに割り当てられた区分を含む、請求項1に記載の方法。
【請求項３】
前記第1のコンテンツに割り当てられた前記区分は、前記第1のコンテンツが一時的であるか永続的であるかを示す、請求項2に記載の方法。
【請求項４】
前記決定するステップは、前記第1のコンテンツが一時的であることを前記第1のコンテンツに割り当てられた前記区分が示していることに基づいて、前記クライアントデバイスに、前記クライアントデバイスが前記第1のセッションを自動的に再開しない前記代替状態に移行させることを決定するステップを備える、請求項3に記載の方法。
【請求項５】
前記決定するステップは、前記第2のセッションの1つまたは複数のプロパティにさらに基づく、請求項3に記載の方法。
【請求項６】
前記第2のセッションの少なくとも1つのプロパティは、前記代替コンテンツが一時的であるか永続的であるかを示す、請求項5に記載の方法。
【請求項７】
前記決定するステップは、前記第1のコンテンツが永続的であることを前記第1のコンテンツに割り当てられた前記区分が示していることと、前記代替コンテンツが一時的であることを前記第2のセッションの少なくとも1つのプロパティが示していることとに基づいて、前記クライアントデバイスに、前記第1のセッションを自動的に再開させると決定するステップを備える、請求項6に記載の方法。
【請求項８】
前記決定するステップは、前記第1のコンテンツが永続的であることを前記第1のコンテンツに割り当てられた前記区分が示していることと、前記代替コンテンツが永続的であることを前記第2のセッションの少なくとも1つのプロパティが示していることとに基づいて、前記クライアントデバイスに、前記クライアントデバイスが前記第1のセッションを自動的に再開しない前記代替状態に移行させると決定するステップを備える、請求項6に記載の方法。
【請求項９】
前記さらなるユーザインターフェース入力は前記ユーザのさらなる音声発話であり、
前記さらなる音声発話が前記代替コンテンツの要求および前記第1のセッションの前記第1のコンテンツとは異なる前記代替コンテンツを含んでいることに基づいて、前記さらなる音声発話が割込みデータであると決定するステップをさらに備える、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記決定するステップが基づく前記第1のセッションの少なくとも1つのプロパティは、前記第1のコンテンツによって具現化されたエンティティを含み、前記決定するステップは、前記クライアントデバイスに、前記代替コンテンツと前記第1のコンテンツによって具現化された前記エンティティとの間の関係を決定することに基づいて前記第1のセッションを自動的に再開させると決定するステップを備える、請求項1または9に記載の方法。
【請求項１１】
前記第1のセッション中の前記クライアントデバイスによる前記第1のコンテンツのレンダリング中に、前記クライアントデバイスにおいてレンダリングされることになる通知を受信するステップと、
前記通知を受信したことに応答して、前記クライアントデバイスに前記通知をレンダリングさせるステップとをさらに備え、
前記さらなるユーザインターフェース入力は、前記クライアントデバイスが前記通知をレンダリングしたことに応答して提供される前記ユーザの肯定を示すタッチまたは音声入力であり、
前記ユーザの前記肯定を示す入力は、前記通知とインタラクションを行うという前記ユーザの要望を示し、
前記代替コンテンツは前記通知に基づく、請求項1から8のいずれか一項に記載の方法。
【請求項１２】
前記割込みデータが受信されたときの前記第1のセッションの状態を示す、前記第1のセッションについての、第1のセッション状態データを記憶するステップをさらに備え、
前記クライアントデバイスに、前記第1のセッションを自動的に再開させるステップは、前記割込みデータが受信されたときの前記第1のセッションの前記状態で前記第1のセッションを再開するために、前記第1のセッション状態データを使用するステップを備える、請求項1から11のいずれか一項に記載の方法。
【請求項１３】
前記決定するステップは、前記クライアントデバイスに、前記クライアントデバイスが前記第1のセッションを自動的に再開しない前記代替状態に移行させると決定するステップを備え、
前記クライアントデバイスまたは前記クライアントデバイスとネットワーク通信するリモートサーバのメモリから、前記第1のセッションについての、セッションデータを消去するステップをさらに備える、請求項1に記載の方法。
【請求項１４】
前記クライアントデバイスは、ディスプレイおよび少なくとも1つのスピーカを含み、前記コンテンツをレンダリングするステップは、前記ディスプレイおよび前記少なくとも1つのスピーカを介して前記コンテンツをレンダリングするステップを備える、請求項1に記載の方法。
【請求項１５】
前記クライアントデバイスが前記第1のセッションを自動的に再開しない前記代替状態は、ホーム画面またはアンビエント画面の表示を備える、請求項1から14のいずれか一項に記載の方法。
【請求項１６】
前記ホーム画面または前記アンビエント画面の前記表示は、前記第1のセッションへのいかなる参照も有しない、請求項15に記載の方法。
【請求項１７】
前記ホーム画面または前記アンビエント画面の前記表示は、前記第1のセッションを再開するために選択することができる選択可能なグラフィカルインターフェース要素を含む、請求項15に記載の方法。
【請求項１８】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサと動作可能に結合されたメモリとを備えるシステムであって、前記メモリは、1つまたは複数のプロセッサによる命令の実行に応答して、前記1つまたは複数のプロセッサに、請求項1から17のいずれか一項に記載の方法を実行させる前記命令を記憶する、システム。
【請求項１９】
1つまたは複数のプロセッサによる命令の実行に応答して、前記1つまたは複数のプロセッサに、請求項1から17のいずれか一項に記載の方法を実行させる前記命令を備える、少なくとも1つのコンピュータ可読記憶媒体。
【国際調査報告】
2021522613.tif 000012
2021522613.tif 000013