(57)【要約】  コンピューティングシステムは、様々なユーザから口頭要求を受信するローカル環境での複数のエンドポイントコンピューティングデバイスと、この要求を処理する中央またはリモートシステムとを有する。リモートシステムは、応答を生成し、様々な技術を使用して、ユーザに応答を可聴にどこに、いつ返すべきであるかを決定する。各要求に対して、リモートシステムは、誰が要求を行っているか理解し、ユーザに応答をいつ提供するべきであるかを決定し、応答を伝達するときにどこにユーザがいるかを特定し、どのエンドポイントデバイスが応答を伝達するために利用可能であるかを発見し、どの利用可能なデバイスが応答を伝達することに最良であるかを評価する。システムはその後、可聴放出またはユーザへの他の形態の提示のために、応答を最良なエンドポイントデバイスに伝達する。
2016502192.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングシステムであって、
リモートコンピューティングシステムと、
１または複数のユーザにローカルな様々な位置に位置する複数のエンドポイントデバイスであって、
第１のエンドポイントデバイスが、
１または複数のプロセッサと、
コンピュータ実行可能な命令を記憶するコンピュータ可読記憶媒体と、
ユーザからの音声入力を受信するための少なくとも１つのマイクロホンであって、前記音声入力はユーザ要求を含む、マイクロホンと、
前記ユーザ要求を前記リモートコンピューティングシステムに送信するインターフェースと、を備え、
前記リモートコンピューティングシステムが、前記ユーザ要求への応答を生成し、前記応答をいつ伝達するべきであるかを決定し、前記ユーザに前記応答を提供するために利用可能な第２のエンドポイントデバイスを選択し、および、前記応答を前記第２のエンドポイントデバイスに送信するように構成された１または複数の実行可能なモジュールを備え、
前記第２のエンドポイントデバイスが、
１または複数のプロセッサと、
コンピュータ実行可能な命令を記憶するコンピュータ可読記憶媒体と、
前記リモートコンピューティングシステムから前記応答を受信するインターフェースと、
前記応答を音声形式で前記ユーザに出力するための少なくとも１つのスピーカと、を備える、複数のエンドポイントデバイスと
を備えるコンピューティングシステム。
【請求項２】
前記ユーザ要求は、リマインダ、タイマー、アラーム、カレンダーの項目、方向、命令、および予約を含む要求の群から選択される、請求項１に記載のコンピューティングシステム。
【請求項３】
前記リモートコンピューティングシステムは、前記ユーザ要求に自然言語理解処理を実施すること、カレンダーアプリケーションからの情報を使用すること、前記ユーザと関連付けられたユーザプロファイルからの情報を使用すること、または前記ユーザと関連付けられた活動履歴内のイベントに関する情報を使用することのうちの少なくとも１つによって、前記応答をいつ伝達するべきであるかを決定するように構成される、請求項１に記載のコンピューティングシステム。
【請求項４】
前記第１のエンドポイントデバイスは、前記１または複数のコンピュータ可読記憶媒体内に維持され、および前記ユーザの前記音声入力を表す前記マイクロホンからの信号をテキストに変換するように前記１または複数のプロセッサによって実行される、発話認識モジュールをさらに備える、請求項１に記載のコンピューティングシステム。
【請求項５】
前記リモートコンピューティングシステムの前記１また複数のモジュールは、前記ユーザの位置を、前記ユーザに前記応答を提供するために前記位置で利用可能な前記第２のエンドポイントデバイスを選択するより前に特定するようにさらに構成される、請求項１に記載のコンピューティングシステム。
【請求項６】
前記リモートコンピューティングシステムは、前記エンドポイントデバイスのうちの１つまたは複数のエンドポイントデバイスから音声データを受信することによって前記ユーザの前記位置を特定するように構成される、請求項１に記載のコンピューティングシステム。
【請求項７】
実行可能な命令で構成された１または複数のコンピュータシステムの制御下で、
要求を受信することと、
前記要求を処理して応答を生成することと、
前記応答を伝達するためのコンピューティングデバイスを選択することと、
前記応答を前記選択されたコンピューティングデバイスに伝達することと、
を含むコンピュータ実装方法。
【請求項８】
前記要求を受信することは、第１のコンピューティングデバイスへの前記ユーザによる音声入力を示す音声入力を受信することを含み、前記応答を伝達することは、前記第１のコンピューティングデバイスとは異なる第２のコンピューティングデバイスによる前記ユーザへの音声出力のために音声データを送信することを含む、請求項７に記載のコンピュータ実装方法。
【請求項９】
前記応答を伝達するためのコンピューティングデバイスを選択することは、前記応答を受信するためのユーザの位置を特定することと、前記位置で利用可能な複数のコンピューティングデバイスの中から１つのコンピューティングデバイスを選択することとを含む、請求項７に記載のコンピュータ実装方法。
【請求項１０】
一部において、前記要求に自然言語理解を実施することによって、前記応答を返す時間を決定することをさらに含む、請求項７に記載のコンピュータ実装方法。
【請求項１１】
実行可能な命令で構成された１または複数のコンピュータシステムの制御下で、
ユーザへの伝達のためにメッセージを取得することと、
前記ユーザの位置を決定することと、
１または複数の利用可能なコンピューティングデバイスのうちの１つを選択することと、
前記ユーザへの提示のために前記メッセージを前記選択されたコンピューティングデバイスに伝達することと
を含むコンピュータ実装方法。
【請求項１２】
前記メッセージを前記ユーザに伝達する時間を決定することをさらに含む、請求項１１に記載のコンピュータ実装方法。
【請求項１３】
前記メッセージを取得することは、第１のコンピューティングデバイスから、第１のユーザからのメッセージを受信することを含み、前記メッセージを伝達することは、前記第１のユーザとは異なる第２のユーザへの提示のために前記メッセージを第２のコンピューティングデバイスに伝達することを含む、請求項１１に記載のコンピュータ実装方法。
【請求項１４】
前記ユーザの位置を決定することは、
前記ユーザの視覚確認のために１または複数の光学デバイスをポーリングすることと、
前記ユーザの音声確認のために１または複数の音声デバイスをポーリングすることと、
前記ユーザに関連付けられた電子デバイスの位置を特定することと、
前記ユーザに関連付けられたカレンダーを再検討することと、のうちの少なくとも１つを含む、請求項１１に記載のコンピュータ実装方法。
【請求項１５】
１または複数の利用可能なコンピューティングデバイスのうちの１つを選択することは、前記位置で利用可能な複数のコンピューティングデバイスを決定することと、前記位置で利用可能な前記複数のコンピューティングデバイスの中から前記１つのコンピューティングデバイスを選択することとを含む、請求項１１に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、応答エンドポイント選択に関する。
【背景技術】
【０００２】
（関連出願）
本出願は、２０１２年１２月１４日に出願された米国出願第１３／７１５，７４１号の利益を主張し、開示全体が参照により本明細書に組み込まれる。
【０００３】
住宅、事務所、および他の場所は、デスクトップ、タブレット、エンターテイメントシステム、および携帯用通信デバイスなどのコンピューティングデバイスの拡散によってさらに結びついている。これらのコンピューティングデバイスが発展するにつれて、ユーザが機械的デバイス（例えば、キーボード、マウスなど）、タッチスクリーン、動作、身振り、ならびにさらには発話等の自然言語入力などを介するコンピューティングデバイスと相互作用することを可能にするために多くの異なる方法が導入されている。
【０００４】
コンピューティングデバイスが発展するにつれて、ユーザは、日常業務においてユーザを支援するために、このようなデバイスをますます頼りにすることが見込まれている。今日、人々がチケットを購入し、商品およびサービスの買い物をし、天候を確認し、エンターテイメントを探し、楽しむことなどをすることにコンピューティングデバイスが役立つことは当たり前である。しかしながら、コンピューティングデバイスの遍在性の高まりにより、ユーザがスマートフォン、電子書籍リーダー、タブレット、コンピュータ、エンターテイメントシステムなど、多くのデバイスを有することは珍しくない。複数のデバイスのユーザに対する課題のうちの１つは、複数のデバイスで作業するときに業務をいかに効率的に実施するかである。複数のデバイス間での業務を調整することは重要である。
【０００５】
したがって、遍在するコンピューティングデバイス環境におけるユーザ活動の調整を改善する技術に対する必要性が存在する。
【図面の簡単な説明】
【０００６】
詳細な説明は、添付の図を参照して記載される。図において参照番号の最上位桁（複数可）は、参照番号が最初に現れる図を特定する。異なる図における同じ参照番号の使用は、類似または同一の構成要素または特徴を示す。
【図１】音声制御デバイスを含む複数のコンピューティングデバイスが遍在し、人が日常業務を処理するのを支援するように調整される環境を図解する。
【図２】業務を支援するためにコンピューティング環境を使用する人の代表的なシナリオを示す。図２は、この環境におけるコンピューティングデバイス、ならびにネットワークを介してアクセス可能なリモートクラウドサービスの選択された構成要素の機能ブロック図を含む。
【図３】タスクの実施中にどのようにデバイスが人に関わるために選択されるかを示す。
【図４】この環境に使用され得るコンピューティングデバイスの選択された構成要素のブロック図を示す。
【図５】１つのデバイスを介して人から要求を受信することと、別のデバイスを介して応答を人に伝達することとを含む、人がタスクを実施するのを支援するための例示的なプロセスを示すフロー図である。
【図６】人の位置を決定するための例示的なプロセスを示すフロー図である。
【図７】応答を人に伝達するべきデバイスを決定するための例示的なプロセスを示すフロー図である。
【発明を実施するための形態】
【０００７】
日常業務を支援するために様々なコンピューティングデバイスを活用する技術が本明細書に記載される。コンピューティングデバイスが住宅、事務所、および他の場所に遍在するにつれて、ユーザは、これらの日常業務について考え、かつそれを実施するときに、それらの間で区別する可能性が低い。ユーザは、どこにユーザが位置するか、および何をユーザが現在行い得るかにかかわらず、デバイスが知的に役立つことをますます期待する。この知能を実装するために、コンピューティングシステムは、ユーザが相互作用し得る複数のデバイスにわたってタスク管理を組織化するように設計される。
【０００８】
一実装形態では、コンピューティングシステムは、様々な黙示的および明示的な信号を使用して、ある位置でのユーザの存在を決定し、もしあれば、どの支援または応答をその位置内の１つ以上のデバイスに提供するかを決定するクラウドサービスとして構築される。信号は、ユーザの居場所、およびその時間およびその位置で人といかに最良に相互作用するかを特定するのに役立つことができる任意の数の標識を表すことができる。代表的な信号は、音声入力（例えば、ユーザの声の音）、どれくらい最近ユーザがデバイスと相互作用したか、ユーザと関連付けられたモバイルデバイスの存在、ユーザの視覚認識などを含むことができる。
【０００９】
１つの例示的なシナリオとして、ユーザが単純な家事または課業を忘れずに行うことを望むことを想定されたい。ユーザは、第１のデバイスを介して、家事または課業を行うことを将来ユーザに思い出させるようコンピューティングシステムに求めることができる。コンピューティングシステムはその後、将来、そのメッセージを伝達するのに現在の状況で適切な第２のデバイスを介してユーザに思い出させることができる。この場合、コンピューティングシステムは、誰が要求を行っているかを理解し、いつユーザにリマインダを提供するかを決定し、ユーザに思い出させるときにユーザがどこにいるかを特定し、どのデバイスがリマインダを伝達するために利用可能であるかを発見し、どの利用可能なデバイスがリマインダを伝達するのに最良であるかを評価する。このように、コンピューティングシステムは、エンドポイントデバイスの知的な選択を含む応答機能を実装する。
【００１０】
この知能を実装する様々な動作は、ローカルデバイスおよびリモートクラウドコンピューティングシステム間で分割され得る。様々な実装形態では、異なるモジュールおよび機能性は、ユーザに近位のデバイス内にローカルに、またはクラウドサーバ内に遠隔に存在することができる。本開示は、応答システムの重要な部分がリモートクラウドコンピューティングシステム内に存在する１つの例示的な実装形態を提供する。
【００１１】
さらに、本開示は、専用の音声制御デバイス等、主に音声操作されるローカルコンピューティングデバイスに関する技術を説明する。口頭要求を受信すること、および可聴応答を提供することは、後述されるシステムが対処するように構成されるいくつかの追加の課題を導入する。しかしながら、音声制御デバイスの使用は、ユーザに関わる他の形態（例えば、身振り入力、タイプされた入力、視覚出力など）がコンピューティングシステムによって使用され得るように限定することを意図しない。
【００１２】
例示的なアーキテクチャ    
図１は、知的なエンドポイント選択で応答機能を実装するコンピューティングシステム１００の例示的なアーキテクチャを示す。論述のために、システム１００は、通常の日課を送り、１日中、コンピューティングシステム１００と相互作用するユーザに関して記載される。コンピューティングシステム１００は、それぞれの時間および位置でユーザが発した要求を受信し、これらの要求を処理し、他のそれぞれの時間で応答を、ユーザが存在する位置および適切なエンドポイントデバイスに返すように構成される。
【００１３】
この図解では、住宅１０２は、第１のユーザ１０４（例えば、成人男性、父親、夫など）、第２のユーザ１０６（例えば、成人女性、母親、妻など）、および第３のユーザ１０８（例えば、娘、子供、少女など）を含む、３人のユーザの家族の主要な住居である。住宅は、主寝室１１０、浴室１１２、子供の寝室１１４、居間１１６、および台所１１８を含む５つの部屋で示される。ユーザ１０４〜１０８は、主寝室１１０内の第１のユーザ１０４、居間１１６内の第２のユーザ１０６、および子供の寝室１１４内の第３のユーザ１０８を有する住宅１０２内の異なる部屋に位置する。
【００１４】
コンピューティングシステム１００は、ユーザと相互作用する様々な位置に位置決めされた複数のローカルデバイスまたはエンドポイントデバイス１２０（１）〜１２０（Ｎ）を含む。これらのデバイスは、ラップトップ、電子書籍（ｅＢｏｏｋ）リーダーデバイス、タブレット、デスクトップコンピュータ、スマートフォン、音声制御デバイス、エンターテイメントデバイス、拡張現実システムなど、あらゆるフォームファクタを呈することができる。図１では、ローカルデバイスは、寝室１１０内に存在する音声制御デバイス１２０（１）、子供の寝室１１４内の音声制御デバイス１２０（２）、居間１１６内の音声制御デバイス１２０（３）、居間１１６内のラップトップ１２０（４）、および台所１１８内の音声制御デバイス１２０（５）を含む。他のタイプのローカルデバイスはまた、第１のユーザ１０４のスマートフォン１２０（６）、カメラ１２０（７）および１２０（８）、ならびにテレビ画面１２０（９）等のコンピューティングシステムによって活用され得る。加えて、コンピューティングシステム１００は、ユーザに情報を伝達するように、自動車１２２（例えば、自動車電話、ナビゲーションシステムなど）内、または第１のユーザの事務所１２４（例えば、作業コンピュータ、タブレットなど）におけるなど、住宅外で見つけられた他のユーザ側デバイスに依存することができる。
【００１５】
これらのエンドポイントデバイス１２０（１）〜（Ｎ）の各々は、ユーザから入力を受信し、同じユーザまたは異なるユーザに応答を伝達することができる。入力は、音声または口頭入力、身振り入力などとして含むあらゆる方法で受信され得る。応答はまた、音声出力、視覚出力（例えば、ラップトップ１２０（４）またはテレビ１２０（９）に示される写真、ＵＩ、映像など）、触覚フィードバック（例えば、スマートフォン１２０（６）の振動など）などとして含むあらゆる形態で伝達され得る。
【００１６】
コンピューティングシステム１００は、ネットワークアクセス可能なデバイスまたはサーバ１３２の群によって支持されたクラウドサービス１３０のようなリモートコンピューティングシステムをさらに含む。クラウドサービス１３０は概して、インターネットなどのネットワークを介して維持され、アクセス可能なプロセッサ、ストレージ、ソフトウェア、データアクセスなどのコンピューティング基盤として実装されたネットワークアクセス可能なプラットフォームを指す。クラウドサービス１３０は、物理的位置のエンドユーザ知識、およびサービスを伝達するシステムの構成を必要としなくてもよい。クラウドサービスと関連付けられた共通の表現としては、「オンデマンドコンピューティング」、「サービス型ソフトウェア（ＳａａＳ）」、「プラットフォームコンピューティング」、「ネットワークアクセス可能なプラットフォーム」などが挙げられる。
【００１７】
クラウドサービス１３０は、様々なローカルデバイス１２０（１）〜（Ｎ）間の要求入力および応答出力を調整する。ローカルデバイス１２０（１）〜（Ｎ）のうちのいずれか１つでは、ユーザ１０４等のユーザは、処理するコンピューティングシステム１００に要求を入力することができる。この要求は、主寝室１１０内の音声制御デバイス１２０（１）に話すユーザ１０４等の口頭要求であってもよい。例えば、ユーザは、「明日の朝、ごみを出すことを知らせてください」と言うことができる。音声制御デバイス１２０（１）には、音声入力を受信するマイクロホン、および要求をクラウドサービス１３０に渡すネットワークインターフェースが具備されている。ローカルデバイス１２０（１）は任意に、発話コンテンツを処理し始める自然言語処理機能を有することができる。
【００１８】
要求は、要求が処理されるネットワーク（図１に図示せず）上でクラウドサービス１３０に渡される。要求は、解析および解釈される。この例では、クラウドサービス１３０は、ユーザが特定の時間枠（すなわち、明日の朝）でごみを出す家事を思い出すことを望むことを決定する。クラウドサービス１３０は、適切な時間（例えば、午前７：００）にユーザに伝達されるようにリマインダを予定するタスクを定義するためにタスクハンドラを実装する。その時間になると、クラウドサービス１３０は、要求を行った対象のユーザ、すなわち、第１のユーザ１０４がどこに位置するかを決定する。クラウドサービス１３０は、音声、視覚、もしくは存在の他の生体確認を得るために領域内のデバイスをポーリングすること、個人であるか、もしくはユーザと関連付けられ得るデバイス（例えば、スマートフォン１２０（６））の位置を特定すること、またはユーザの活動の履歴、特定の位置からユーザからの他の入力を受信することなど他の二次的標識などによって、ユーザの居場所を特定するあらゆる技術を使用することができる。
【００１９】
ユーザの位置が特定されると、クラウドサービス１３０は次に、どのローカルデバイスが応答をユーザに伝達するのに好適であるかを決定することができる。いくつかの場合では、単一のデバイスのみがあり得、それ故に決定は明快である。しかしながら、他の状況では、ユーザは、複数のローカルデバイスを有する領域内に位置することができ、いずれか１つが応答を伝達するために使用され得る。このような状況では、クラウドサービス１３０は、様々な候補デバイスを評価し、応答を伝達するためにこの状況で最良またはより適切なデバイスを選択することができる。
【００２０】
このように、コンピューティングシステム１００は、要求を受信し、かつ応答を伝達するためにユーザの環境で利用可能な遍在するデバイスを利用する調整された応答システムを提供する。要求の受信および応答の伝達に使用されるエンドポイントデバイスは異なってもよい。さらに、デバイスは、いかなる方法でもユーザと関連付けられる必要はなく、むしろユーザと相互作用するために必要に応じて使用される一般的なエンドポイントデバイスが必要である。コンピューティングシステムの順応性を図解するために、以下の論述は、家事を実施するように思い出させることを求めるユーザの以前の例を続ける。
【００２１】
図２は、タスクを支援するためにコンピューティング環境を使用する人の代表的なシナリオを示すようにコンピューティングシステム１００内の選択されたデバイスを図解する。この例では、寝室１１０内に存在する音声制御アシスタント１２０（１）の形態での第１のエンドポイントデバイス、および台所１１８内に存在する音声制御アシスタント１２０（５）の形態での第２のエンドポイントデバイスを有する２つのエンドポイントデバイスが示される。エンドポイントデバイス１２０（１）および１２０（５）は、ネットワーク２０２を介してリモートクラウドサービス１３０と通信するように連結される。ネットワーク２０２は、有線ネットワーク（例えば、ケーブル、ＬＡＮなど）および／または無線ネットワーク（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＲＦ、セルラー、衛星など）などあらゆるネットワークタイプを表すことができる。
【００２２】
各エンドポイントまたはローカルデバイスには、寝室ベースのデバイス１２０（１）によって表されるように、１つ以上のプロセッサ２０４、コンピュータ可読媒体２０６、１つ以上のマイクロホン２０８、およびネットワークインターフェース２１０が具備されている。コンピュータ可読媒体２０６は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど情報の記憶のために任意の方法または技術で実装された揮発性および不揮発性メモリ、取り外し可能および取り外し可能ではない媒体を含むことができる。
【００２３】
ローカルプログラムモジュール２１２は、プロセッサ（複数可）２０４による実行のために媒体２０６内に記憶されて示される。ローカルモジュール２１２は、マイクロホン２０８を介して受信された音声入力を受信および処理する基本機能を提供する。この機能は、フィルタリング信号、アナログからデジタルへの変換、解析音またはワード、ならびに解析された音またはワードの初期の分析を含むことができる。例えば、ローカルモジュール２１２は、ユーザからの入力を受信するために音声制御アシスタント１２０（１）をアウェイク状態に移行するために使用されるウェイクワードを認識するウェイクワード認識モジュールを含むことができる。ローカルモジュール２１２は、ユーザからの音声入力を解釈し始めるいくつかの自然言語処理機能をさらに含むことができる。
【００２４】
上記の例を続けるために、ユーザ１０４が午後９：３０の第１の時間に寝室１１０内の音声制御アシスタント１２０（１）に要求を行うことを想定されたい。要求は、朝に家事を実施するリマインダのためである。この例では、ユーザ１０４は、デバイス１２０（１）に警告するようにウェイクワードを話し、次に、吹き出し２１３によって示されるように、「明日の朝、ごみを出すことを知らせて」という要求を口頭でする。マイクロホン（複数可）２０８は、音声入力を受信し、ローカルモジュール（複数可）２１２は、他のモジュールを開始するようにウェイクワードを処理および認識する。音声入力は、解析され、部分的に分析され、ならびに／またはインターフェース２１０およびネットワーク２０２を介してクラウドサービス１３０にパッケージ化され、送信され得る。
【００２５】
クラウドサービス１３０は、サーバ１３２等の１つ以上のネットワークアクセス可能なデバイスを含む。サーバ１３２は、１つ以上のプロセッサ２１４と、コンピュータ可読媒体２１６とを含むことができる。サーバ１３２のプロセッサ（複数可）２１４およびコンピュータ可読媒体２１６は、デバイス１２０（１）のプロセッサ（複数可）２０４およびコンピュータ可読媒体２０６とは物理的に別個であるが、部分的にデバイス１２０上で、かつ部分的にクラウドサービス１３０上で、処理およびメモリを提供するシステムの一部として連帯して機能することができる。これらのサーバ１３２は、データセンター内で一般的に使用されるサーバファーム、スタックなど、あらゆる方法で配列され得る。
【００２６】
サーバ１３２は、ユーザにサービスを提供するようにあらゆるプログラム、データ、アプリケーションなどを記憶および実行することができる。この例示的なアーキテクチャでは、サーバ１３２は、自然言語処理（ＮＬＰ）モジュール２１８、タスクハンドラ２２２、人特定モジュール２２４、および様々なアプリケーション２２４を記憶および実行するように示される。ＮＬＰモジュール２１８は、要求を解釈するようにローカルデバイス１２０（１）から受信された音声コンテンツを処理する。ローカルデバイスに少なくともいくつかのＮＬＰ能力が具備されている場合、ＮＬＰモジュール２１８は、部分的な結果を取り、ユーザの口頭の要求を解釈するように処理を完了することができる。
【００２７】
結果として得られた解釈は、要求を処理するためにタスクハンドラ２２０に渡される。私たちの例では、ＮＬＰモジュール２１８は、適切な時間に予定および伝達されるリマインダを要求することとしてユーザの入力を解釈する。タスクハンドラ２２０は、「明日の朝」と関連付けられた期間に伝達されるようにリマインダを設定するタスクを定義する。タスクは、コンテンツ（例えば、「ごみを出すことを忘れないで」に対するリマインダ）、伝達時間、および予定伝達位置を含むことができる。伝達時間および予定位置は、サービス１３０が統合および検索する二次的標識から特定され得る。例えば、タスクハンドラ２２０は、「明日の朝」がこの特定のユーザ１０４に意味し得るものをより良く理解するように他の標識に問い合わせることができる。アプリケーション２２４のうちの１つは、ユーザが午前７：３０に事務所で会議を行うため、午前７：００までに家１０２を出ることを予定することを示すカレンダーであってもよい。したがって、タスクハンドラ２２０は、午前７：００前に可能な時間の範囲を縮小させることができる。タスクハンドラ２２０はさらに、ユーザが通常の朝の活動を有するかを決定するようにユーザプロファイルアプリケーション（アプリケーション２２４のうちのもう１つ）から活動履歴を要求することができる。例えば、ユーザが午前６：００までに起床し、かつ午前６：３０ごろに朝食を取るパターンを示したことを想定されたい。これらの追加の標識から、タスクハンドラ２２０は、翌日の午前６：３０ごろであるリマインダを伝達するように適切な時間を決定することができる。単独で、タスクハンドラ２２０はさらに、ユーザが翌日の午前６：３０に台所にいる可能性が高いことを推測することができる。
【００２８】
この分析から、タスクハンドラ２２０は、この要求についてのタスクを設定する。この例では、タスクは、台所１１８に近位のエンドポイントデバイスを介して対象のユーザ１０４に翌日の午前６：３０でのリマインダのメッセージを伝達するように定義される。すなわち、タスクは、コンテンツ、日時、ユーザ識別、デフォルトのエンドポイントデバイス、およびデフォルトの位置のデータ項目を含むように構造化され得る。要求が理解され、タスクが適切に定義されると、クラウドサービス１３０は、ユーザが依然として存在する間に、要求を受信した第１のデバイス１２０（１）によって再生されるようにユーザに確認を返すことができる。例えば、リマインダ２１３に対する要求に応答して、クラウドサービス１３０は、吹き出し２１５によって示されるように、「了解、Ｓｃｏｔｔ、お知らせします」という発言など、寝室デバイス１２０（１）によって再生される確認を送信することができる。このように、ユーザ経験は、コンピューティングシステムとの会話のうちの１つである。ユーザは、何気なく要求を行い、システムは、会話で応答する。発言は任意に、システムの理解および計画を修正するためにユーザに意図および機会の確認を提供するように「明日の午前６：３０に台所にいる」などの言葉を含むことができる。
【００２９】
人特定モジュール２２２はさらに、応答を伝達する時間が来たときに、ユーザおよび適切なエンドポイントデバイスの位置を特定するのに役立つために使用され得る。この例を続けると、タスクハンドラ２２０は、午前６：３０の伝達時間が近づくと、ユーザ１０４の位置を確認するのに役立つように人特定モジュール２２２に指示することができる。最初に、人特定モジュール２２２は、ユーザのスマートフォン１２０（６）等、ユーザが携帯する個人用デバイスの位置を評価することによってユーザ１０４の位置を特定することを試みることができる。スマートフォン１２０（６）の位置に関する情報（例えば、ＧＰＳ、携帯電話の基地局からの三辺測量、Ｗｉ−Ｆｉ基地局近接など）を用いて、人特定モジュール２２２は、ユーザが実際に住宅１０２内にいることを確認することができる。デフォルトの仮定は、ユーザが台所１１８にいることであるため、人特定モジュール２２２は、対象のユーザ１０４が台所１１８にいることを確認するようにローカルデバイス１２０（５）に求めることができる。一実装形態では、人特定モジュール２２２は、ローカルデバイス１２０（５）に声を聞くように指示し、次にそれらのうちの１つが対象のユーザ１０４であることを確認することを試みることができる。例えば、ローカルデバイス１２０（５）は、吹き出し２２６によって示されるように、「おはよう、Ｓｃｏｔｔ」など、ユーザの名前を用いて、対象のユーザに挨拶を提供することができる。対象のユーザ１０４が存在する場合、ユーザは、吹き出し２２８によって示されるように、「おはよう」と返答することができる。代替の実装形態では、ローカルデバイス１２０（５）には、この環境内のユーザの声を捕捉することによって対象のユーザを識別する音声認識機能が具備されていてもよい。さらに別の実装形態のように、人特定モジュール２２２は、対象のユーザ１０４が台所にいる視覚確認を得るように台所内のカメラ１２０（８）（図１参照）から視覚映像を要求することができる。
【００３０】
伝達時間になると、タスクハンドラ２２０は、応答を伝達するようにエンドポイントデバイスに関わる。この例では、タスクハンドラ２２０は、応答を送信するために台所１１８内の音声制御アシスタント１２０（５）に連絡を取る。リマインダのタスクからのコンテンツが抽出され、スピーカを介した再生のためにデバイス１２０（５）に送信される。ここでは、午前６：３０に、音声制御アシスタントは、吹き出し２３０によって示されるように、「ごみを出すことを忘れないで」というリマインダを可聴に発する。
【００３１】
この例によって図解されるように、コンピューティングシステム１００は、１つのエンドポイントまたはローカルデバイス１２０からユーザ入力を受信し、ユーザ入力を処理し、かつもう１つのエンドポイントまたはローカルデバイス１２０を介して適時応答を提供することができる。ユーザは、ユーザがどのデバイスで要求をしたかを覚えている必要がなく、またはユーザがどのデバイスで応答を受信するかを特定する必要がない。実際に、これは、任意の数のデバイスであってもよい。その代わりに、ユーザ経験は、デバイスの遍在性によって高められ、ユーザは、コンピュータ対応のアシスタントシステムが直観的に要求を聞き、適時応答を提供したと、単に思い込むだけである。
【００３２】
いくつかの状況では、リマインダを伝達する時点から選択する複数のデバイスがあり得る。この状況では、クラウドサービス１３０は、状況に対する最良適合を見出すように様々なデバイスを評価することに関わり得る。したがって、アプリケーション２２４のうちの１つは、ユーザに関わるための最良のローカルエンドポイントデバイスを識別することを試みるエンドポイントデバイス選択モジュールであってもよい。最良のデバイスを特定するための可能な技術を図解する１つの例示的なシナリオが次に提供される。
【００３３】
図３は、ローカルエンドポイントデバイスがタスクの実施中にどのように対象の人に関わるために選択されるかを示す。この図解では、４つの領域または区間Ａ〜Ｄ内にそれぞれ、４つのローカルエンドポイントデバイス３０２、３０４、３０６、および３０８が示される。区間Ａ〜Ｄは、異なる部屋、より大きい部屋の物理的領域などを表すことができる。この例では、対象のユーザ１０４は、区間Ｄ内にいる。しかし、ユーザは、１人ではない。加えて、４人の他の人々が同じ区間Ｄ内に示される。
【００３４】
プロセッサ（複数可）２１４での実行のためにコンピュータ可読媒体２１６内に記憶されてエンドポイントデバイスセレクタ３１０が示される。エンドポイントデバイスセレクタ３１０は、ユーザ１０４に関わるために利用可能なデバイスを識別し、次いでこの状況で最も適切なデバイスを特定するためにそれらを分析するように構成される。論述のために、４つのデバイス３０２〜３０８のうちのいずれか１つがユーザ１０４と通信するのに十分近位の「利用可能な」デバイスとして識別され得ることを想定されたい。物理的にユーザに近位の領域内またはその近くであることが既知のデバイスを検出すること、ユーザからの音声入力（例えば、室内の何気ない会話）、ユーザと関連付けられたデバイス、ユーザ選好を捕捉するデバイスを見つけることなど、利用可能なデバイスを決定するために多くの方法がある。
【００３５】
エンドポイントデバイスセレクタ３１０は次に、どの利用可能なデバイスがこの状況下で最も適切であるかを評価する。この評価を行うためにいくつかの方法がある。１つの手法では、デバイスと対象の人との間の距離を決定するために距離分析が実施され得る。図３に示されるように、音声制御アシスタント３０８は、距離Ｄ１で対象のユーザ１０４に物理的に最も近く、音声制御アシスタント３０６は、距離Ｄ２で次に最も近い。距離を使用して、エンドポイントデバイスセレクタ３１０は、応答を伝達するために最も近い音声制御アシスタント３０８を選択することができる。しかしながら、物理的近接は、あらゆる状況で最良でなくてもよい。
【００３６】
したがって、別の手法では、ユーザ１０４を取り巻く環境の中の音声特性が分析され得る。例えば、信号対雑音比は、他の雑音の排除に対してユーザを聞く際にどれが最良であるかを特定するために様々なエンドポイントデバイス３０２〜３０８で測定される。代替として、背景音量は、多くの人々の会話またはテレビもしくは電化製品からの背景音声の結果など、ユーザが重大な背景雑音の領域内であるかを決定するように分析され得る。さらに別の可能性は、領域のエコー特性を分析し、ならびにユーザが１つ以上の領域にわたって移動しているときに導入され得るドップラー特性を恐らく評価することである。すなわち、ユーザからの口頭の指示は、ユーザの移動および配向に応じて、おおよその明瞭さおよび強度で異なるデバイスに達することができる。
【００３７】
さらに別の手法では、環境観測が分析され得る。例えば、カメラからのデータ（もしあれば）または特徴的な声の認識に基づいて近くの人々の数が数えられ得る。さらに別の状況では、物理的近接、音量ベースの決定、および／または目視観測の組み合わせは、最も近いエンドポイントデバイスが構造的障害によって対象のユーザから実際に物理的に分離されること（例えば、デバイスが隣接部屋内の壁の反対側に位置すること）を示すことができる。この場合、デバイスが未処理の距離に関して近位に最も近い場合であっても、エンドポイントデバイスセレクタ３１０は、このデバイスを考慮の対象から除外する。これらは、ほんの数例である。
【００３８】
これらの分析のうちのいずれか１つ以上は、可能なエンドポイントデバイスを評価するために実施され得る。論述を続けるために、エンドポイントデバイスセレクタ３１０は、区間Ｄ内の雑音レベルおよび／または人々の数が高過ぎて対象のユーザ１０４との効果的な通信が容易ではないことを想定されたい。結果として、最も近い音声制御アシスタント３０８を選択する代わりに、エンドポイントセレクタ３１０は、区間Ｃ内の音声制御アシスタント３０６に対象のユーザ１０４と通信するように指示することができる。いくつかの例では、アシスタント３０６は最初に、吹き出し３１２によって表されるように、「Ｓｃｏｔｔ、あなたへのリマインダがある」など、ユーザをより近づけるために発言を再生することによってユーザの注目を集めることを試みることができる。このメッセージに応答して、ユーザ１０４は、区間Ｃ内のデバイス３０６により近づき、それにより、より好適な長さまで距離Ｄ２を縮めることができる。例えば、ユーザ１０４は、「シナリオＡ」と標識された矢印によって示されるように、区間Ｄ内の最初の位置から区間Ｃ内の新しい位置に移動することができる。その後、タスクハンドラ２２０は、ごみを出すリマインダを伝達することができる。
【００３９】
加えて、応答を伝達するために最も好適なデバイスを識別するためのこれらの技術は、秘密または極秘メッセージの伝達に役立つことができる。例えば、対象のユーザ１０４がユーザの妻のための記念日の贈り物を受け取るようにリマインダを設定することを想定されたい。この状況では、エンドポイントデバイスセレクタ３１０は、ユーザの妻がメッセージを聞くために存在することなく、リマインダを伝達し得るデバイスを識別するために、ユーザの現在の位置およびその近くのデバイスを評価する。例えば、ユーザ１０４が一時的な期間、区間Ｄから区間Ａに移動し（「シナリオＢ」と標識された矢印によって図解されるように）、それにより区間Ｄ内の他の人々（およびユーザの妻）を残すことを想定されたい。ユーザが区間Ａ内に１人でいると検出されると、タスクハンドラ２２０は、音声制御アシスタント３０２にリマインダ応答をユーザに伝達するように指示することができる。これは、例えば、吹き出し３１４内の「あなたの妻の記念日の贈り物を受け取ることを忘れないで」という発言によって示される。
【００４０】
本明細書に記載されるシステムの態様は、２人の間のリアルタイム通信を支持するためにさらに使用され得る。例えば、１人のユーザがリアルタイムでメッセージを別のユーザに送信することを望むシナリオを考慮されたい。このシナリオでは、第１のユーザは、伝達のためのメッセージを第２のユーザに提供することができる。例えば、第１のユーザは、第１のエンドポイントデバイスにメッセージを発し、処理するためにメッセージをクラウドサービスに送信することができる。クラウドサービスは次に、第２のユーザの位置を決定し、第２のユーザへのメッセージの伝達のために利用可能かつ好適な第２のエンドポイントデバイスを選択することができる。メッセージは次に、第２のエンドポイントデバイスを介して第２のユーザに提示され得る。
【００４１】
図４は、コンピューティング環境で使用され得るデバイス１２０（１）〜（Ｎ）の選択された機能的構成要素を示す。図１に示されるように、デバイスは、あらゆる方法およびフォームファクタで実装され得る。この例では、デバイスは、限定された入力／出力構成要素、メモリ、および処理能力を有する機能的能力に関して比較的単純な独立型の音声制御デバイス１２０（１）として実装され得る。例えば、音声制御デバイス１２０（１）は、キーボード、キーパッド、または機械的入力の他の形態を有しない。これはまた、視覚的提示およびユーザによるタッチ入力を容易にするディスプレイまたはタッチスクリーンも有しない。その代わりに、デバイス１２０（１）は、音声を受信および出力する能力、ネットワークインターフェース（無線または有線ベース）、電力、および処理／メモリ能力で実装され得る。ある特定の実装形態では、限定された１つ以上の入力構成要素の組（例えば、構成、電源オン／オフなどを開始する専用のボタン）が利用され得る。それにもかかわらず、デバイス１２０（１）とのユーザ相互作用の一次的および潜在的な専用モードは、音声入力および可聴出力を経る。
【００４２】
このシステムに使用されるデバイスはまた、スマートフォンまたは携帯情報端末等のモバイルデバイス１２０（６）として実装され得る。モバイルデバイス１２０（６）は、タッチセンサー式のディスプレイ画面および入力を提供するための様々なボタン、ならびに通話を送受信する能力等の追加機能を含むことができる。音声制御デバイス１００の代替の実装形態はまた、ラップトップ１２０（４）等のコンピュータとしての構成を含むことができる。コンピュータ１２０（４）は、キーボード、マウス、表示画面、ならびにデスクトップ、ノートブック、ネットブック、もしくは他のパーソナルコンピューティングデバイスで典型的に見出される任意の他のハードウェアまたは機能性を含むことができる。デバイスは、本開示内に記載される技術が発話入力を認識する能力を有する任意のデバイスに本質的に使用され得るように、単に例示であり、限定的であることを意図しない。
【００４３】
図解される実装形態では、デバイス１２０の各々は、１つ以上のプロセッサ４０２およびコンピュータ可読媒体４０４を含む。コンピュータ可読媒体４０４は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど、情報の記憶のために任意の方法または技術で実装された揮発性および不揮発性メモリ、取り外し可能および取り外し可能ではない媒体を含むことができる。このようなメモリとしては、これらに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、ＲＡＩＤストレージシステム、または所望の情報を記憶するために使用され得、かつコンピューティングデバイスによってアクセスされ得る任意の他の媒体が挙げられる。コンピュータ可読媒体４０４は、コンピュータ可読記憶媒体（「ＣＲＳＭ」）として実装されてもよく、メモリ４０４で記憶された命令を実行するようにプロセッサ（複数可）１０２によってアクセス可能な任意の利用可能な物理的媒体であってもよい。１つの基本的実装形態では、ＣＲＳＭは、ランダムアクセスメモリ（「ＲＡＭ」）およびフラッシュメモリを含むことができる。他の実装形態では、ＣＲＳＭとしては、これらに限定されない読み出し専用メモリ（「ＲＯＭ」）、電気的消去可能プログラマブル読み出し専用メモリ（「ＥＥＰＲＯＭ」）、または所望の情報を記憶するために使用され得、かつプロセッサ（複数可）４０２によってアクセス可能であり得る任意の他の有形媒体が挙げられ得る。
【００４４】
命令、データストアなどのいくつかのモジュールは、コンピュータ可読媒体４０４内に記憶され、プロセッサ（複数可）４０２上で実行するように構成され得る。コンピュータ可読媒体４０４内に記憶され、かつプロセッサ（複数可）４０２上で実行されるアプリケーションとして数例の機能モジュールが示されるが、同じ機能性は代替的に、ハードウェア、ファームウェア内に、またはシステムオンチップ（ＳＯＣ）として実装され得る。
【００４５】
オペレーティングシステムモジュール４０６は、他のモジュールのために、デバイス１２０内のおよびデバイス１２０に接続されるハードウェアおよびサービスを管理するように構成され得る。ウェイクワード認識モジュール４０８および発話認識モジュール４１０は、音声入力を解釈する自然言語処理および広範な辞書の使用など、あらゆる従来の発話認識技術を利用することができる。例えば、発話認識モジュール４１０は、一般的な発話認識技術を利用することができ、ウェイクワード認識モジュールは、ウェイクワードに特定の発話または語句認識を含むことができる。いくつかの実装形態では、ウェイクワード認識モジュール４０８は、ウェイクワード自体を表す隠れマルコフモデルを利用することができる。このモデルは、特定の実装形態に応じて、予めまたはその場で作成され得る。いくつかの実装形態では、発話認識モジュール４１０は最初、発話認識モジュール４１０が発話を認識せず、またはそれに応答もしないパッシブ状態にあってもよい。発話認識モジュール４１０は、パッシブであるが、ウェイクワード認識モジュール４０８は、ウェイクワードを認識するか、またはそれに応答することができる。ウェイクワード認識モジュール４０８がウェイクワードを認識するか、またはそれに応答すると、発話認識モジュール４１０は、発話認識モジュール４１０がプログラムされるか、または応答することができる自然言語命令のいずれかを検出するように動作するアクティブ状態に入ることができる。図４に示される特定の実装形態では、ウェイクワード認識モジュール４０８および発話認識モジュール４１０は、別個のモジュールとして示されるが、一方、他の実装形態では、これらのモジュールは組み合わせられ得る。
【００４６】
他のローカルモジュール４１２はまた、デバイスの実装形態および構成に応じて、デバイス上に存在することができる。これらのモジュールは、より広範な発話認識技術、フィルタおよびエコー除去モジュール、スピーカ検出および識別などを含むことができる。
【００４７】
音声制御デバイス１００はまた、コンピュータ可読媒体４０４内に記憶されるか、またはそうでなければデバイス１２０にアクセス可能な複数のアプリケーション４１４を含むことができる。この実装形態では、アプリケーション４１４は、音楽プレーヤ４１６、映画プレーヤ４１８、タイマー４２０、および買い物代行者４２２である。しかしながら、音声制御デバイス１２０は、任意の数またはタイプのアプリケーションを含み、ここに示される特定の例に限定されない。音楽プレーヤ４１６は、歌または他の音声ファイルを再生するように構成され得る。映画プレーヤ４１８は、映画または他の視聴覚媒体を再生するように構成され得る。タイマー４２０は、単純なタイミングデバイスおよびクロックの機能を提供するように構成され得る。買い物代行者４２２は、ユーザがウェブベースの商人から品目を購入するのを支援するように構成され得る。
【００４８】
コンテンツデータベース４２４と、デバイス１２０と相互作用したユーザの１つ以上のユーザプロファイル４２６とを含むデータストアもまた、媒体４０４上にローカルに記憶され得る。コンテンツデータベース４２４は、音楽、書籍、雑誌、映像など、デバイスによって再生または提示され得る様々なコンテンツを記憶する。ユーザプロファイル（複数可）４２６は、ユーザ特性、選好（例えば、ユーザ固有のウェイクワード）、利用履歴、ライブラリ情報（例えば、音楽プレイリスト）、オンライン購入履歴、ならびに個々のユーザに特有の他の情報を含むことができる。
【００４９】
一般的に、音声制御デバイス１２０は、入力デバイス４２８および出力デバイス４３０を有する。入力デバイス４２８は、キーボード、キーパッド、マウス、タッチスクリーン、ジョイスティック、制御ボタンなどを含むことができる。具体的には、１つ以上のマイクロホン４３２は、ユーザの音声入力等の音声入力を受信するように入力デバイスとして機能することができる。いくつかの実装形態では、入力デバイス４２８はさらに、ユーザの身振りの画像を捕捉するカメラを含むことができる。出力デバイス４３０は、ディスプレイ、光素子（例えば、ＬＥＤ）、接触感覚を生じる振動器などを含むことができる。具体的には、１つ以上のスピーカ４３４は、オーディオ音を出力するように出力デバイスとして機能することができる。
【００５０】
ユーザは、デバイス１２０に話しかけることによってそのデバイスと相互作用することができ、マイクロホン４３２は、ユーザの発話を捕捉する。デバイス１２０は、スピーカ４３４を経て可聴発話を発することによってユーザに返答して通信することができる。このように、ユーザは、キーボードまたはディスプレイを使用することなく、発話を通してのみ音声制御デバイス１２０と相互作用することができる。
【００５１】
音声制御デバイス１２０はさらに、ネットワークへの無線接続を容易にするアンテナ４３８に連結された無線ユニット４３６を含むことができる。無線ユニット４３６は、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＲＦなどの様々な無線技術のうちの１つ以上を実装することができる。ＵＳＢポート４４０はさらに、ネットワークへの有線接続を容易にするデバイス１２０、または他の無線ネットワークと通信するプラグインネットワークデバイスの一部として提供され得る。ＵＳＢポート４４０に加えて、またはそれに対する代替として、ブロードバンド接続等の有線接続の他の形態が利用され得る。このように、無線ユニット４３６およびＵＳＢ４４０は、クラウドサービス１３０と相互作用するために、デバイス１２０をネットワーク２０２に接続するために使用される可能なインターフェースの多くの例のうちの２つを形成する。
【００５２】
したがって、主に音声作動したデバイス１２０（１）として実装されるとき、マイクロホン（複数可）４３２以外にナビゲーションボタン、キーパッド、ジョイスティック、キーボード、タッチスクリーンなどの入力デバイスがなくてもよい。さらに、テキストまたは図形出力のためにディスプレイなどの出力がなくてもよい。スピーカ（複数可）４３４は、主要出力デバイスであってもよい。一実装形態では、音声制御デバイス１２０（１）は、音量を上げ／下げするための基本的な音量制御ボタン（複数可）、ならびに電源およびリセットボタンなど、非入力制御機構を含むことができる。例えば、電源がオンであるときなどの状態を示す単純な光素子（例えば、ＬＥＤ）もあってもよい。
【００５３】
したがって、デバイス１２０（１）は、滑らかかつ丸みを帯びた表面、音波の通過のための１つ以上の開孔を有する審美的に魅力的なデバイスとして実装され得る。デバイス１２０（１）は、単に電源コードおよび任意に有線インターフェース（例えば、ブロードバンド、ＵＳＢなど）を有することができる。プラグで接続されると、デバイスは、自動的に自己構成するか、ユーザのわずかな助けにより、すぐに使用できる。結果として、デバイス１２０（１）は一般的に、低コストで製造され得る。他の実装形態では、他のＩ／Ｏ構成要素は、特殊ボタン、キーパッド、ディスプレイなど、この基本モデルに追加され得る。
【００５４】
（例示的なプロセス）
図５は、１つのデバイスを介してある人から要求を受信すること、別のデバイスを介してこの人に応答を伝達することを含む、この人がタスクを実施するに役立つための例示的なプロセス５００を示す。プロセス５００は、図１のローカルエンドポイントデバイス１２０（１）〜（Ｎ）およびサーバ（複数可）１３２によって、または他のデバイスによって実装され得る。このプロセス（図６および７に図解されるプロセスとともに）は、論理フローグラフ内のブロックまたは行為の群として図解される。ブロックのうちのいくつかは、ハードウェア、ソフトウェア、またはこれらの組み合わせで実装され得る動作を表す。ソフトウェアに関して、ブロックは、１つ以上のプロセッサによって実行されるとき、記載される動作を実施する１つ以上のコンピュータ可読媒体で記憶されたコンピュータ実行可能な命令を表す。一般的に、コンピュータ実行可能な命令としては、特定の機能を実施するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などが挙げられる。動作が記載される順序は、限定的と解釈されることを意図せず、任意の数の記載されるブロックは、プロセスを実装するために任意の順序で、または並行して組み合わせられ得る。
【００５５】
１つの例示的な実装形態を記載するために、ブロックは、システム１００のこれらのデバイスがこれらの動作を実施し得ることを図解するために、エンドポイントデバイス１２０（１）〜（Ｎ）およびサーバ（複数可）１３２の下の段において図５に視覚的に配列される。すなわち、デバイス１２０（１）〜（Ｎ）の下に配列されたブロックによって定義された行為は、デバイスのうちのいずれか１つによって実施され得る。ある特定の状況では、要求入力部等のプロセスのある部分は、第１のエンドポイントデバイスによって実施されてもよく、応答伝達部等のプロセスの別の部分は、フロー図の部分の周囲の破線ボックスによって図解されるように、第２のエンドポイントデバイスによって実施され得る。同様に、サーバ（複数可）１３２の下で配列されたブロックによって定義された行為は、１つ以上のサーバ（複数可）１３２によって実施され得る。
【００５６】
５０２では、第１のローカルエンドポイントデバイス１２０（１）は、マイクロホン（複数可）２０８／４３４で発話入力を受信する。発話入力は、デバイスに意図的な発話を警告するウェイクワードを含むことができるか、またはデバイスが既に起動し、かつユーザと相互作用していた後の進行中の話し合いの一部であり得る。発話入力は、要求を含む。
【００５７】
５０４では、第１のローカルエンドポイントデバイス１２０（１）における発話認識モジュール４１０は、発話入力での要求が人の識別を認識することから恩恵を受けるかを識別することを試みる。換言すれば、要求が一般的であるか、またはより個人的であるか？これが個人的ではなく（すなわち、５０４からの「いいえ」分岐）、人の識別が有益ではない場合、プロセス５００は、５０８で発話入力のいくつかの前処理に進むことができる。例えば、発話入力は、「今日の天気は何ですか？」という質問であってもよい。この要求は、個人的ではなく、本来は一般的と見なされてもよく、それ故にシステムは、誰が要求を行っているかを思い出す必要がない。一方、ユーザは、人の識別が有益である個人的な要求（すなわち、５０４からの「はい」分岐）を行い、５０６でこの人を識別する動作につながることができる。例えば、発話入力が「明日の朝、ごみを出すことを知らせてください」または「妻の記念日の贈り物を受け取ることを知らせて」であることを想定されたい。これらの両方は、個人的な要求の例であり、後者は、リマインダがどのように伝達されるかという点でより高度な感度を有する。これらの状況では、この人は、音声識別（例えば、Ａという人が話している）、交換文脈（主寝室にいる間、男性の声がごみを出すことを求める）、二次的視覚確認などを用いて識別される。
【００５８】
５０８では、第１のデバイス１２０（１）は任意に、発話入力をサーバに送信するより前に発話入力を前処理することができる。例えば、デバイスは、入力に、自然言語処理、圧縮アルゴリズムをサーバ１３２に送信するより前にデータを圧縮する圧縮アルゴリズム、またはさらには音声データを暗号化する暗号化アルゴリズムを適用することができる。
【００５９】
５１０では、発話入力は、５０６から既知である場合、第１のデバイス１２０（１）の識別および人の識別とともにサーバ１３２に渡される。デバイス１２０（１）の識別は、通し番号、登録番号などであってもよく、ユーザ要求が発生した場所からサーバ１３２で動作するタスクハンドラが知るように提供される。いくつかの場合では、現在の気象情報を含む応答などの応答が第１のデバイス１２０（１）に直ちに返されてもよい。いくつかの場合では、第１のデバイス１２０（１）の識別は、ユーザの識別を確認するのに役立つことができる。さらに、特定の時刻で特定の要求を行う第１のデバイスのユーザの使用は、ユーザの通常の１日の流れで習慣またはパターンを追跡する方法として、ユーザのプロファイル内に記憶され得る。さらに、人の識別が第１のデバイス１２０（１）と関連付けられるとき、この関連付けは、要求の受信直後にある期間、その識別されたユーザへの応答の伝達のために、または将来の応答の伝達のために、位置およびエンドポイントデバイスを完全に選択するのに使用され得る。いくつかの実装形態では、人の識別は、第１のデバイス１２０（１）ではなくサーバ１３２によって決定され得ることにも留意される。このような実装形態では、第１のデバイス１２０（１）は、人からの発話入力を表す音声データを渡し、サーバ１３２は、音声データおよび場合により他の標識を使用して人を識別する。
【００６０】
いくつかの実装形態では、ユーザは、別の人にリマインダを設定することができる。例えば、第１のユーザ（例えば、夫のＳｃｏｔｔ）は、「明日の午後、処方薬を受け取ることをＥｌｙｎに知らせてください」など、第２のユーザ（例えば、彼の妻のＥｌｙｎ）に対する要求を行うことができる。この状況では、要求は、別のユーザの識別を含み、クラウドサービスにおけるサーバは、ユーザプロファイルデータに基づいて、それが誰であり得るかを決定する。
【００６１】
５１２では、クラウドサービス１３０におけるサーバ１３２は、第１のエンドポイントデバイス１２０（１）から受信された発話入力内で処理する。一実装形態では、処理は、復号、解凍、および発話認識を含むことができる。音声データが解析および理解されると、タスクハンドラ２２０は、適切な応答を決定する。タスクハンドラは、応答を生成するように任意の数のアプリケーションに問い合わせることができる。例えば、要求が明日、航空券を購入するリマインダに対するものである場合、タスクハンドラは、リマインダ応答を明日提供するときに、航空券の価格を見つけ出す解法の一部として旅行アプリケーションに関与することができる。加えて、クラウドサービス１３０はまた、応答が誰のために方向付けられるかを決定することができる。応答は、元のリクエスタに返される可能性が高いが、いくつかの場合では、これは、別の人に伝達され得る（位置決定は、第２の人に関する）。
【００６２】
５１４では、要求が受信され、処理されるユーザに示すために即時確認が任意に送信され得る。例えば、リマインダに対する要求に応答して、応答は、「了解、Ｓｃｏｔｔ、お知らせします」であり得る。サーバ１３０は、要求が受信された同じエンドポイントデバイス１２０（１）に確認を返す。５１６では、第１のデバイス１２０（１）は、コンピューティングシステムが要求を聞き、かつそれを認めた場合、ユーザ経験が会話のうちの１つであるように確認を受信および再生する。
【００６３】
５１８では、いつ応答で返答すべきかが決定される。一実装形態では、タスクハンドラ２２０は、適切な時間を要求から識別してこの要求に応答する。ユーザは、所望の回答を伝達するためにあらゆる方法を使用することができる。例えば、ユーザは、リマインダ「会社の会議前」もしくは「明日の朝」、またはある特定の日の午後５：００を求めることができる。これらの各々は、異なるレベルの特異性を有する。後者は単純明快であり、タスクハンドラ２２０が午後５：００に対する応答を設定する。２つの前者の例に対して、タスクハンドラ２２０は、「明日の朝」が要求に依存し得るものかを識別することを試みることができる。要求が「ごみを出す」に対するリマインダに対するものである場合、「明日の朝」と関連付けられた時間枠は、ユーザが朝に（例えば、上述されるように午前６：３０に）家にいることが予定される時間であり得る。要求が「マーケティングと会う」に対するリマインダに対するものである場合、「明日の朝」の時間枠は、午前９：００または午前１０：００により近くであり得る。最後に、要求が「会社の会議前」に対するものである場合、タスクハンドラ２２０は、いつ「会社の会議」が予定されているか確かめるようにカレンダーに問い合わせることができ、その会議が開始する予定である前の妥当な期間にリマインダを設定する。
【００６４】
５２０では、対象の人の位置は、応答が適時に送信されるべき場所を識別するために決定される。例えば、応答の時間が近づくと、人特定モジュール２２２は、適時に応答を伝達するために、どこにユーザが位置し得るかを決定する。この決定を行う多くの方法がある。この行為のより詳細な論述が図６を参照して下記に記載される。さらに、対象のユーザは、初期のリクエスタまたは別の人であってもよい。
【００６５】
５２２では、応答を送信すべきであるデバイスが決定される。一実装形態では、エンドポイントデバイスセレクタ３１０は、利用可能であり得る可能なデバイスを評価し、次にどのエンドポイントデバイスが応答を送信する状況で最良であり得るか決定する。可能なデバイスを評価し、かつ最良適合を識別するための多くの技術がある。この行為のより詳細な論述が図７を参照して下記に提供される。
【００６６】
５２４では、適切な応答が対象のユーザの位置で最良適合デバイスに適時に送信される。論述のために、最良適合デバイスは、第２のローカルデバイス１２０（２）など、要求が受信されたデバイス１２０（１）とは異なるエンドポイントデバイスであることを想定されたい。
【００６７】
５２６では、応答は、対象のユーザに対して受信され、再生される（またはそうでなければ現される）。図５に示されるように、第２のデバイス１２０（２）は、応答を受信し、近くにいると思われるユーザに対してそれを再生する。応答は、任意の形態（例えば、音声、視覚、触覚など）であってもよく、任意のタイプのメッセージ、リマインダなどを本質的に含むことができる。応答は、聞くユーザのためにスピーカを通して行われる音声形態であってもよい。継続的な例では、応答は、「ごみを出すことを忘れないで」または「１５分以内に会議がある」であってもよい。
【００６８】
上述され、図５に図解される技術は、単に例であり、実装形態は、この技術に限定されない。それよりむしろ、デバイス１２０およびサーバ１３２を動作させる他の技術が利用されてもよく、本明細書に開示されるシステムの実装形態は、任意の特定の技術に限定されない。
【００６９】
図６は、図５の行為５２０から人の位置を決定するためのより詳細なプロセスを示す。６０２では、対象の人の識別が受信される。行為５０６に関して上述されるように、ある特定の要求は、一意のユーザＩＤ等、要求を行う人の識別を含む。
【００７０】
６０４では、対象の人の可能な位置が決定される。この決定を行う多くの方法があり、これらのうちのいくつかが代表的な例として提示される。例えば、６０４−１では、人特定モジュール２２２は、対象の人の位置を視覚的に特定することを試みるためにある環境にわたって光学デバイスをポーリングすることができる。カメラ等の光学デバイスは、ユーザを識別するために認識ソフトウェア（例えば、顔認識、特徴認識など）を利用することができる。本明細書に使用されるとき、「ポーリング」は、光学デバイスから光学情報を取得することを指し、情報を活発的に要求すること（例えば、「プル」型）、または要求なしで情報を受信すること（例えば、「プッシュ」型）を含むことができる。別の手法では、６０４−２では、人特定モジュール２２２は、対象の人が存在する音声確認を得るためにこの環境にわたって音声デバイスをポーリングすることができる。音声ツールは、異なる人々を一意的に識別するために、事前に記録された音声プロファイルに対する音声入力を評価するために使用され得る。
【００７１】
別の技術は、６０４−３では、対象の人と関連付けられ得る携帯用デバイスの位置を特定することである。例えば、人特定モジュール２２２は、ＧＰＳデータおよび／または携帯電話の基地局の三辺測量データを介して、スマートフォン、タブレット、または携帯情報端末等のデバイスの位置を特定する位置ソフトウェアモジュールと相互作用することができる。いくつかの実装形態では、この技術は、他の手法と連携して使用され得る。例えば、この物理的位置データは、人の探査を特定の住居または事務所に絞るのに役立つことができ、次に音声または光学デバイスをポーリングすることは、住居または事務所の特定の部屋または領域内にユーザを配置するために使用され得る。
【００７２】
人特定モジュール２２２はさらに、６０４−４では、カレンダーアプリケーションなど、ユーザの位置を特定するために他のアプリケーションに問い合わせることができる。カレンダーアプリケーションは、どこにユーザが特定の時間に位置するように予定されるかを特定することができる。これは、ユーザが事務所で様々な会議中であるときに特に有用である。６０４−Ｎによって表されるように、対象の人の居場所の他の標識を提供するように問い合わせられ得る多くの他の源がある。
【００７３】
人特定モジュール２２２が多くの可能な位置を識別することを想定されたい。６０６では、可能な位置は、任意にランク付けされ得る。例えば、各位置は、ユーザがどのくらいの可能性でそこに位置するべきかを示す信頼性得点を割り当てられ得る。視覚データの使用は、非常に高い信頼性得点を有することができるが、一方、音声データは、それと関連付けられたわずかに低い信頼性を有する。カレンダー項目の使用は、ユーザが予定に従っているという保証はないときに、著しくより低い信頼性得点を取り付けられ得る。
【００７４】
６０８では、人特定モジュール２２２は、対象の人と相互作用するように１つ以上のローカルデバイスに関わり、その人の存在を確認することができる。例えば、人特定モジュール２２２は最初に、その人が特定の部屋にいると考えることを想定されたい。人特定モジュール２２２は、恐らく質問（例えば、「Ｓｃｏｔｔ、何か必要ですか？」）をすることを通じて、室内のデバイスのうちの１つにその人に関わるように指示することができる。その人が存在する場合、その人は、自然に応答することができる（例えば、「いいえ、何もない。ありがとう」）。人特定モジュール２２２は次に、対象の人が存在することを確認することができる。
【００７５】
６１０では、ユーザへの応答の伝達のために位置が選択される。この選択は、行為６０６のランク付けされた可能な位置および／または行為６０８の迅速な相互作用による確認に基づいてもよい。
【００７６】
図７は、図５の行為５２２から、応答を返すように適切なデバイスを決定するためのより詳細なプロセスを示す。
【００７７】
７０２では、対象の人の位置が受信される。これは、図６に図解されるように、行為５１６から決定され得る。あるいは、対象の人の位置は、予め知られていてもよく、またはユーザは、ユーザがどこに位置したかをシステムに知らせてもよい。
【００７８】
７０４では、対象の人の位置に近位の可能なデバイスが、その人への応答を伝達するために利用可能であると発見される。例えば、ユーザが住宅または事務所の室内に位置することが認められる場合、コンピューティングエンドポイントデバイスセレクタ３１０は、１つ以上のデバイスが住宅の室内に存在するかを発見する。セレクタ３１０は、デバイスがユーザと関連付けられるかを確かめるようにユーザのプロファイルに問い合わせることができるか、またはデバイスが取り付けられる住居または位置を識別する登録記録を評価することができる。
【００７９】
７０６では、利用可能なデバイスは、対象の人に応答を返す状況で最良のデバイスであり得るかを特定するために評価される。この決定を行う多くの手法があり、これらのうちのいくつかが代表的な例として提示される。例えば、７０６−１では、エンドポイントデバイスから対象の人までの距離が分析され得る。エンドポイントデバイスに深度センサ（例えば、フライトセンサの時間）が具備されている場合、深度値が使用され得る。複数のデバイスが室内にある場合、デバイス間のユーザから口頭入力を受信するタイミング差は、人の位置、およびどのデバイスが最も近くであり得るかを推定するために使用され得る。
【００８０】
７０６−２では、対象の人を含む環境内の背景音量が分析され得る。高い背景音声は、対象のユーザと通信するデバイスの能力に影響を与えることができる。例えば、部屋には電化製品の近くに位置する第１のデバイス、および部屋にわたって位置する第２のデバイスがあることを想定されたい。電化製品が動作している場合、第１のデバイスの背景音量は、第２のデバイスの背景音量よりはるかに大きく、それにより第２のデバイスがこの場合、ユーザと通信するのにより適切であり得ることを示す。
【００８１】
７０６−３では、様々な利用可能なデバイスの信号対雑音比（ＳＮＲ）が分析される。強いＳＮＲを有するデバイスが、より弱いＳＮＲを有するデバイスより優先される。
【００８２】
７０６−４では、環境のエコー特性が分析され得る。部屋に人間、ならびに表面の位置を含む周囲の環境の音響マップを得る移動物体、および反響を引き起こし得る他の物体が存在しないときに、基線測定値（baseline reading）が取られる。エコー特性は、人々または物体が音響マップを変更し得るかを決定するように、対象のユーザを含む人間との関わりの時間で測定され得る。これらの測定の結果に応じて、ある特定の利用可能なデバイスは、対象のユーザに応答を伝達するのにより適切になり得る。
【００８３】
７０６−５では、具体的に環境を通じた対象のユーザの移動に対して環境のドップラー特性が分析され得る。いくつかの場合では、ユーザは、部屋の１つの部分から部屋の別の部分に、または部屋から部屋に環境を通じて移動することができる。これらの場合では、ユーザが話してもいて、コンピューティングシステム１００と会話をしている場合、ユーザの移動の方向、および話しているときのユーザの頭部の配向に応じて、どのデバイスがユーザと相互作用するのに最良であるかに影響を与える、変化する音響特性があり得る。したがって、ドップラー特性は、どのデバイスが所定の状況で応答するのに最良であり得るかに影響を与えることができる。
【００８４】
７０６−６では、何人の人々が室内にいるか、または具体的には室内にいるのは誰かなどの環境が分析され得る。いくつかの実装形態では、カメラまたは他の光学デバイスから受信された視覚データは、人々の数、または環境内の人々の識別に関する洞察を提供することができる。この分析は、どのデバイスが応答を伝達するのに最も適切であるかを決定するのに支援することができる。例えば、デバイスが人々で混雑した室内に位置する場合、システムは、人混みから離れた別のデバイスがより良くあり得ることを感知することができる。
【００８５】
７０６−Ｍによって表されるように、応答を提供するために可能なデバイスを評価するために適用された多くの他のタイプの分析がある。例えば、別のタイプの分析は、対象のユーザと個人用デバイスとの間の関連性を発見するために所有権または登録情報を再検討することである。対象のユーザにより個人的であるデバイスは、より高い得点を受け取ることができる。
【００８６】
７０８では、応答は、応答をどこに方向付けるかの決定に影響を与え得る特別な基準があるかを決定するために評価される。例えば、ユーザが彼の妻の贈り物を受け取るためのリマインダを求めるシナリオでは、応答は、対象の人の妻が偶然にリマインダを聞く位置にシステムがリマインダを返すべきではないという点においてプライバシーまたは感度の要素を含む。別の例は、ユーザが医者の予約または個人の資産データに関する情報を要求し得る場合であり、これは、一般的な消費を意図しない。無数の特別な基準の例がある。したがって、７０８では、これらの基準は、この状況下で最良のエンドポイントデバイスを見つけ出すプロセスを行う決定において評価および使用される。
【００８７】
７１０では、最良のエンドポイントデバイス１２０が選択される。この決定は、７０６−１〜７０６−Ｍという様々な分析を採点すること、結果をランク付けすること、および任意の特別な基準を結果に適用することに基づいてもよい。この例では、最後に最高得点を有するデバイスが選択される。
【００８８】
（結論）
主題は、構造的特徴に特有の言語で記載されたが、添付の特許請求の範囲内に定義される主題は記載される特定の特徴に必ずしも限定されないことを理解されるべきである。それによりむしろ、特定の特徴は、特許請求の範囲を実装する例示的な形態として開示される。
【００８９】
付記：
１．リモートコンピューティングシステムと、
１人以上のユーザにローカルな様々な位置に位置する複数のエンドポイントデバイスであって、第１のエンドポイントデバイスが、
１つ以上のプロセッサと、
コンピュータ実行可能な命令を記憶するコンピュータ可読記憶媒体と、
ユーザからの音声入力であって、ユーザ要求を含む、音声入力を受信する少なくとも１つのマイクロホンと、
ユーザ要求をリモートコンピューティングシステムに送信するインターフェースと、を備え、
リモートコンピューティングシステムが、ユーザ要求への応答を生成し、この応答をいつ伝達するべきであるかを決定し、ユーザに応答を提供するために利用可能な第２のエンドポイントデバイスを選択し、かつ応答を第２のエンドポイントデバイスに送信するように構成された１つ以上の実行可能なモジュールを備え、
第２のエンドポイントデバイスが、
１つ以上のプロセッサと、
コンピュータ実行可能な命令を記憶するコンピュータ可読記憶媒体と、
リモートコンピューティングシステムから応答を受信するインターフェースと、
応答を音声形態でユーザに出力する少なくとも１つのスピーカと、を備える、複数のエンドポイントデバイスと、を備える、コンピューティングシステム。
【００９０】
２．ユーザ要求は、リマインダ、タイマー、アラーム、カレンダーの項目、方向、命令、および予約を含む要求の群から選択される、付記１に記載のコンピューティングシステム。
【００９１】
３．リモートコンピューティングシステムは、ユーザ要求に自然言語理解処理を実施すること、カレンダーアプリケーションからの情報を使用すること、ユーザと関連付けられたユーザプロファイルからの情報を使用すること、またはユーザと関連付けられた活動履歴内のイベントに関する情報を使用することのうちの少なくとも１つによって、応答をいつ伝達するべきであるかを決定するように構成される、付記１に記載のコンピューティングシステム。
【００９２】
４．第１のエンドポイントデバイスは、１つ以上のコンピュータ可読記憶媒体内に維持され、かつユーザの音声入力を表すマイクロホンからの信号をテキストに変換するように１つ以上のプロセッサによって実行される、発話認識モジュールをさらに備える、付記１に記載のコンピューティングシステム。
【００９３】
５．リモートコンピューティングシステムの１つ以上のモジュールは、ユーザの位置を、ユーザに応答を提供するための位置で利用可能な第２のエンドポイントデバイスを選択するより前に特定するようにさらに構成される、付記１に記載のコンピューティングシステム。
【００９４】
６．第３のエンドポイントデバイスをさらに備え、リモートコンピューティングシステムの１つ以上のモジュールは、ユーザに応答を提供するために第２のエンドポイントデバイスと第３のエンドポイントデバイスとの間で選択するようにさらに構成される、付記１に記載のコンピューティングシステム。
【００９５】
７．リモートコンピューティングシステムは、エンドポイントデバイスのうちの１つ以上から音声データを受信することによってユーザの位置を特定するように構成される、付記１に記載のコンピューティングシステム。
【００９６】
８．第２のエンドポイントデバイスは、環境の画像を捕捉するカメラを備え、リモートコンピューティングシステムは、画像から生じたデータを受信することによってユーザの位置を特定するように構成される、付記１に記載のコンピューティングシステム。
【００９７】
９．リモートコンピューティングシステムは、ユーザと関連付けられたカレンダーまたはユーザの活動履歴のうちの少なくとも１つを再検討することによってユーザの位置を特定するように構成される、付記１に記載のコンピューティングシステム。
【００９８】
１０．リモートコンピューティングシステムは、
ユーザからのエンドポイントデバイスの距離を決定する距離分析と、
エンドポイントデバイスの背景雑音の音量を決定する背景分析と、
ユーザおよび背景雑音源に対してエンドポイントデバイスでＳＮＲを決定する信号対雑音比（ＳＮＲ）分析と、
エンドポイントデバイスが存在する環境のエコー特性を決定するエコー分析と、
エンドポイントデバイスに対してユーザからの音声入力のドップラー特性を決定するドップラー分析と、
エンドポイントデバイスに近位の人々の数を決定する環境分析と、を含む少なくとも１つの分析を用いてエンドポイントデバイスのうちの１つ以上を評価することによって第２のエンドポイントデバイスを選択するように構成される、付記１に記載のコンピューティングシステム。
【００９９】
１１．１つ以上のコンピュータ可読媒体であって、１つ以上のプロセッサによる実行時に、この１つ以上のプロセッサに、
第１のコンピューティングデバイスから、第１のユーザから要求を受信することと、
この要求を処理して応答を生成することと、
この応答を受信するために第２のユーザを決定することと、
第２のコンピューティングデバイスを選択することと、
第２のユーザへの応答の提示のために第２のコンピューティングデバイスに応答を伝達することと、を含む動作を実施させるコンピュータ実行可能な命令を有する、１つ以上のコンピュータ可読媒体。
【０１００】
１２．要求は、テキスト形式または音声形式のうちの１つを含む、付記１１に記載の１つ以上のコンピュータ可読媒体。
【０１０１】
１３．第１のユーザおよび第２のユーザは、同じ人である、付記１１に記載の１つ以上のコンピュータ可読媒体。
【０１０２】
１４．第１のコンピューティングデバイスおよび第２のコンピューティングデバイスは、同じコンピューティングデバイスである、付記１１に記載の１つ以上のコンピュータ可読媒体。
【０１０３】
１５．第１のコンピューティングデバイスは、第１の位置に存在し、第２のコンピューティングデバイスは、第１の位置とは異なる第２の位置に存在する、付記１１に記載の１つ以上のコンピュータ可読媒体。
【０１０４】
１６．１つ以上のプロセッサによる実行時に、この１つ以上のプロセッサに、第２のユーザに応答を伝達する時間を決定することを含む追加の動作を実施させるコンピュータ実行可能な命令をさらに含む、付記１１に記載の１つ以上のコンピュータ可読媒体。
【０１０５】
１７．１つ以上のプロセッサによる実行時に、この１つ以上のプロセッサに、要求に自然言語理解を実施することに一部基づいて第２のユーザに応答を伝達する時間を決定することを含む追加の動作を実施させるコンピュータ実行可能な命令をさらに含む、付記１１に記載の１つ以上のコンピュータ可読媒体。
【０１０６】
１８．１つ以上のプロセッサによる実行時に、この１つ以上のプロセッサに、第２のユーザに応答を伝達する時間を決定することを含む追加の動作を実施させるコンピュータ実行可能な命令をさらに含み、伝達時間は、第２のユーザの存在の決定に少なくとも一部基づいている、付記１１に記載の１つ以上のコンピュータ可読媒体。
【０１０７】
１９．第２のコンピューティングデバイスを選択することは、第２のユーザの位置を特定することと、この位置で利用可能な第２のコンピューティングデバイスを選択することとを含む、付記１１に記載の１つ以上のコンピュータ可読媒体。
【０１０８】
２０．第２のユーザの位置を特定することは、第２のユーザと関連付けられたデバイスの位置を決定することを含む、付記１９に記載の１つ以上のコンピュータ可読媒体。
【０１０９】
２１．第２のユーザを決定することは、要求に自然言語理解を実施することを含む、付記１１に記載の１つ以上のコンピュータ可読媒体。
【０１１０】
２２．第２のコンピューティングデバイスを選択することは、第２のユーザが存在するかを検出するために第２のユーザと関連付けられた環境でコンピューティングデバイスをポーリングすることを含む、付記１１に記載の１つ以上のコンピュータ可読媒体。
【０１１１】
２３．第２のコンピューティングデバイスを選択することは、
ユーザから第２のコンピューティングデバイスの距離を決定すること、
第２のコンピューティングデバイスの背景雑音の音量を決定すること、
ユーザおよび背景雑音源に対して第２のコンピューティングデバイスで信号対雑音比を測定すること、
第２のコンピューティングデバイスが存在する環境のエコー特性を決定すること、
第２のコンピューティングデバイスに対してユーザからの音声入力のドップラー特性を決定すること、または、
第２のコンピューティングデバイスに近位の人々の数を決定すること、のうちの少なくとも１つを含む、付記１１に記載の１つ以上のコンピュータ可読媒体。
【０１１２】
２４．実行可能な命令で構成された１つ以上のコンピュータシステムの制御下で、
要求を受信することと、
この要求を処理して応答を生成することと、
この応答を伝達するためにコンピューティングデバイスを選択することと、
この応答を選択されたコンピューティングデバイスに伝達することと、を含む、コンピュータ実装方法。
【０１１３】
２５．要求を受信することは、第１のコンピューティングデバイスから要求を受信することを含み、応答を伝達することは、第１のコンピューティングデバイスとは異なる第２のコンピューティングデバイスに応答を送信することを含む、付記２４に記載のコンピュータ実装方法。
【０１１４】
２６．要求を受信することは、第１のコンピューティングデバイスから、第１のユーザによって生じた要求を受信することを含み、コンピューティングデバイスを選択することは、第１のユーザとは異なる第２のユーザに応答を伝達するために、第１のコンピューティングデバイスまたは第２のコンピューティングデバイスのうちの１つを選択することを含む、付記２４に記載のコンピュータ実装方法。
【０１１５】
２７．要求を受信することは、第１のコンピューティングデバイスへのユーザによる音声入力を示す音声入力を受信することを含み、応答を伝達することは、第１のコンピューティングデバイスとは異なる第２のコンピューティングデバイスによってユーザに音声出力の音声データを送信することを含む、付記２４に記載のコンピュータ実装方法。
【０１１６】
２８．応答を伝達するためにコンピューティングデバイスを選択することは、応答を受信するためにユーザの位置を特定することと、この位置で利用可能な複数のコンピューティングデバイスの中から１つのコンピューティングデバイスを選択することとを含む、付記２４に記載のコンピュータ実装方法。
【０１１７】
２９．ユーザの位置を特定することは、
ユーザの視覚確認のために１つ以上の光学デバイスをポーリングすること、
ユーザの音声確認のために１つ以上の音声デバイスをポーリングすることと、
ユーザと関連付けられた電子デバイスを特定することと、または、
ユーザと関連付けられたカレンダーを再検討することと、のうちの少なくとも１つを含む、付記２８に記載のコンピュータ実装方法。
【０１１８】
３０．コンピューティングデバイスを選択することは、
ユーザへのコンピューティングデバイスの近接を分析すること、
コンピューティングデバイスの背景雑音の音量を分析すること、
ユーザおよび背景雑音源に対してコンピューティングデバイスの信号対雑音比を分析すること、
コンピューティングデバイスが存在する環境のエコー特性を分析すること、
コンピューティングデバイスに対してユーザからの音声入力のドップラー特性を分析すること、または、
コンピューティングデバイスに近位の人々の数を分析すること、のうちの少なくとも１つを含む、付記２４に記載のコンピュータ実装方法。
【０１１９】
３１．応答を返す時間を決定することをさらに含む、付記２４に記載のコンピュータ実装方法。
【０１２０】
３２．一部において、要求に自然言語理解を実施することによって応答を返す時間を決定することをさらに含む、付記２４に記載のコンピュータ実装方法。
【０１２１】
３３．実行可能な命令で構成された１つ以上のコンピュータシステムの制御下で、
ユーザへの伝達のためにメッセージを取得することと、
ユーザの位置を決定することと、
１つ以上の利用可能なコンピューティングデバイスのうちの１つを選択することと、
ユーザへの提示のためにメッセージを選択されたコンピューティングデバイスに伝達することと、を含む、コンピュータ実装方法。
【０１２２】
３４．メッセージをユーザに伝達する時間を決定することをさらに含む、付記３３に記載のコンピュータ実装方法。
【０１２３】
３５．メッセージを取得することは、第１のコンピューティングデバイスから、第１のユーザからのメッセージを受信することを含み、メッセージを伝達することは、第１のユーザとは異なる第２のユーザへの提示のためにメッセージを第２のコンピューティングデバイスに伝達することを含む、付記３３に記載のコンピュータ実装方法。
【０１２４】
３６．ユーザの位置を決定することは、
ユーザの視覚確認のために１つ以上の光学デバイスをポーリングすること、
ユーザの音声確認のために１つ以上の音声デバイスをポーリングすること、
ユーザと関連付けられた電子デバイスを特定すること、または、
ユーザと関連付けられたカレンダーを再検討すること、のうちの少なくとも１つを含む、付記３３に記載のコンピュータ実装方法。
【０１２５】
３７．１つ以上の利用可能なコンピューティングデバイスのうちの１つを選択することは、この位置で利用可能な複数のコンピューティングデバイスを決定することと、この位置で利用可能な複数のコンピューティングデバイスの中からこの１つのコンピューティングデバイスを選択することとを含む、付記３３に記載のコンピュータ実装方法。
【０１２６】
３８．メッセージをユーザに再送信するために、決定すること、選択すること、および伝達することを繰り返すことをさらに含む、付記３３に記載のコンピュータ実装方法。
【図１】
2016502192.tif 000003
【図２】
2016502192.tif 000004
【図３】
2016502192.tif 000005
【図４】
2016502192.tif 000006
【図５】
2016502192.tif 000007
【図６】
2016502192.tif 000008
【図７】
2016502192.tif 000009
【国際調査報告】
2016502192.tif 000010