(57)【特許請求の範囲】
【請求項１】
サービスをユーザに提供する自律パーソナルコンパニオンを使用して、前記ユーザの行動に関連するデータをキャプチャし、
前記データを分析して前記データ内のユーザ行動の１つ以上のパターンを複数の既定パターンから識別し、前記複数の既定パターンのそれぞれは対応する既定タグに関連付けられ、前記複数の既定パターンはディープラーニングエンジンから生成され、
前記識別されたパターンをタグの収集セットとして分類し、前記収集セットのタグは前記１つ以上の識別パターンに関連付けられ、
前記タグの収集セットを複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較し、各シナリオはユーザ行動の１つ以上の既定パターンと、既定タグの対応するセットとに対応する、前記比較し、
前記比較に基づいて、前記既定タグのセットのそれぞれに重みを割り当て、各重みは、前記タグの収集セットと既定タグの対応するセットとの対応する一致品質を定義し、
前記既定タグの複数のセットを降順で対応する重みによってソートし、
前記タグの収集セットに対する一致シナリオを選択し、前記一致シナリオは最高の一致品質がある対応する重みを有する既定タグの一致セットに関連付けられる、前記選択する、方法。
【請求項２】
前記自律パーソナルコンパニオンに関連付けられる行動を判定するために実行された前記一致シナリオの一致アルゴリズムに入力されるキャプチャ済みの前記データを提供し、
判定済みの前記行動に基づいて、１つ以上のアクションを行い、少なくとも１つのアクションは前記自律パーソナルコンパニオンを移動させる、請求項１に記載の方法。
【請求項３】
前記ユーザの監視された行動に関連するデータにアクセスし、
複数のユーザの監視された行動に関連するデータにアクセスし、
取集された前記データに基づいて、前記ユーザの行動を予測する前記複数の既定パターンを判定する、請求項１に記載の方法。
【請求項４】
継続して前記データを収集し、
更新された収集された前記タグに基づいてコンテクストの変化を判定し、
更新された前記タグの収集セットを複数のシナリオに関連付けられる前記既定タグの複数のセットのそれぞれと比較し、
前記比較に基づいて、前記既定タグのセットのそれぞれに更新された重みを割り当て、
前記既定タグの複数のセットを降順で対応する前記更新された重みによってソートし、
前記最高の一致品質がある対応する更新された重みを有する更新された既定タグの一致セットに関連付けられる更新された前記タグの収集セットに対する更新された一致シナリオを選択する、請求項１に記載の方法。
【請求項５】
前記複数のシナリオの前記複数の一致アルゴリズムのそれぞれ毎に、終了期限を設定する、請求項１に記載の方法。
【請求項６】
収集された前記タグの少なくとも１つに基づいて、キャプチャ済みの前記データから音声データを判定し、
前記音声データを、コマンドスピーチ、バックグランドシナリオスピーチ、及び会話スピーチのうちの１つに分類し、
分類された前記音声データを用いて、結果を調整する、請求項１に記載の方法。
【請求項７】
前記一致アルゴリズムの前記実行は、さらに、
収集された前記タグの少なくとも１つに基づいて、前記ユーザの感情状態を判定し、
前記アクションの１つとして前記感情状態に基づいて、治療を提供する、請求項２に記載の方法。
【請求項８】
前記一致アルゴリズムの前記実行は、さらに、
収集された前記タグの少なくとも１つに基づいて、前記ユーザの感情状態を判定し、
前記アクションの１つとして前記感情状態を反映するオブジェクトのアニメーションを提供する、請求項２に記載の方法。
【請求項９】
物理空間内のプライベートゾーンに近づく前記自律パーソナルコンパニオンをいつ移動させるかを判定し、
前記自律パーソナルコンパニオンが前記プライベートゾーンに入ることを防止する、請求項２に記載の方法。
【請求項１０】
前記移動させるとき、前記自律パーソナルコンパニオンを前記ユーザのより近くに位置付ける、請求項２に記載の方法。
【請求項１１】
前記移動させるとき、前記ユーザを追いかけることをさらに含む、請求項２に記載の方法。
【請求項１２】
前記自律パーソナルコンパニオンから表示可能面に画像を良好に投影するために移動させるとき、前記自律パーソナルコンパニオンを位置付け、
前記アクションの１つとして、前記画像を投影する、請求項２に記載の方法。
【請求項１３】
前記一致アルゴリズムは、行われる前記１つ以上のアクションを、複数の可能性があるアクションから選択する、請求項２に記載の方法。
【請求項１４】
前記アクションの１つとして、前記ユーザによってプレイするためのゲームアプリケーションを開始する、請求項２に記載の方法。
【請求項１５】
方法を実行するためのコンピュータプログラムを記憶した非一時的コンピュータ可読媒体であって、
データを分析して前記データ内のユーザ行動の１つ以上のパターンを複数の既定パターンから識別するプログラム命令であって、前記複数の既定パターンのそれぞれは対応する既定タグに関連付けられ、前記複数の既定パターンはディープラーニングエンジンから生成される、前記プログラム命令と、
前記識別されたパターンをタグの収集セットとして分類するプログラム命令であって、前記収集セットのタグは前記１つ以上の識別されたパターンに関連付けられる、前記プログラム命令と、
前記タグの収集セットを複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較するプログラム命令であって、各シナリオは行動の１つ以上の既定パターンと、既定タグの対応するセットとに対応する、前記プログラム命令と、
前記比較に基づいて、前記既定タグのセットのそれぞれに重みを割り当てるプログラム命令であって、各重みは、前記タグの収集セットと既定タグの対応するセットとの対応する一致品質を定義する、前記プログラム命令と、
前記既定タグの複数のセットを降順で対応する重みによってソートするプログラム命令と、
前記タグの収集セットに対する一致シナリオを選択するプログラム命令であって、前記一致シナリオは最高の一致品質がある対応する重みを有する既定タグの一致セットに関連付けられる、前記プログラム命令と、
を含む、コンピュータ可読媒体。
【請求項１６】
自律パーソナルコンパニオンに関連付けられる行動を判定するために実行された前記一致シナリオの一致アルゴリズムに入力されるキャプチャ済みの前記データを提供するプログラム命令と、
判定済みの前記行動に基づいて、１つ以上のアクションを行い、少なくとも１つのアクションは前記自律パーソナルコンパニオンを移動させる、請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
継続して前記データを収集するプログラム命令と、
更新される収集された前記タグに基づいてコンテクストの変化を判定するプログラム命令と、
更新された前記タグの収集セットを複数のシナリオに関連付けられる前記既定タグの複数のセットのそれぞれと比較するプログラム命令と、
前記比較に基づいて、前記既定タグのセットのそれぞれに更新された重みを割り当てるプログラム命令と、
前記既定タグの複数のセットを降順で対応する前記更新された重みによってソートするためのプログラム命令と、
前記最高の一致品質を有する対応する更新された重みを有するタグの更新された一致セットに関連付けられる前記更新された既定タグの収集セットに対する更新された一致シナリオを選択するプログラム命令と、
をさらに含む、請求項１５に記載のコンピュータ可読媒体。
【請求項１８】
前記複数のシナリオの前記複数の一致アルゴリズムのそれぞれ毎に、終了期限を設定するプログラム命令をさらに含む、請求項１６に記載のコンピュータ可読媒体。
【請求項１９】
収集された前記タグの少なくとも１つに基づいて、前記ユーザ行動を行ったユーザの感情状態を判定するプログラム命令と、
前記感情状態に基づいて、前記１つ以上のアクションを行うプログラム命令と、
前記感情状態に基づいて、前記１つ以上のアクションを行わないプログラム命令と、
をさらに含む、請求項１６に記載のコンピュータ可読媒体。
【請求項２０】
コンピュータシステムであって、
プロセッサと、
メモリであって、前記プロセッサに結合され、前記コンピュータシステムによって実行される場合、前記コンピュータシステムに方法を実行させる命令を内部に記憶し、前記方法は、
サービスをユーザに提供する自律パーソナルコンパニオンを使用して、前記ユーザの行動に関連するデータをキャプチャし、
前記データを分析し、前記データ内のユーザ行動の１つ以上のパターンを複数の既定パターンから識別し、前記複数の既定パターンのそれぞれは対応する既定タグに関連付けられ、前記複数の既定パターンはディープラーニングエンジンから生成され、
前記識別されたパターンをタグの収集セットとして分類し、前記収集セットのタグは前記１つ以上の識別されたパターンに関連付けられ、
前記タグの収集セットを複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較し、各シナリオは行動の１つ以上の既定パターンと、既定タグの対応するセットとに対応し、
前記比較に基づいて、前記既定タグのセットのそれぞれに重みを割り当て、各重みは、前記タグの収集セットと既定タグの対応するセットとの対応する一致品質を定義し、
前記既定タグの複数のセットを降順で対応する重みによってソートし、
前記タグの収集セットに対する一致シナリオを選択し、前記一致シナリオは最高の一致品質がある対応する重みを有する既定タグの一致セットに関連付けられる、コンピュータシステム。
【請求項２１】
前記方法は、さらに、
前記自律パーソナルコンパニオンに関連付けられる行動を判定するために実行される前記一致シナリオの一致アルゴリズムに入力されるキャプチャ済みの前記データを提供し、
判定済みの前記行動に基づいて、１つ以上のアクションを行い、少なくとも１つのアクションは前記自律パーソナルコンパニオンを移動させる、請求項２０に記載のコンピュータシステム。
【請求項２２】
前記方法は、さらに、
継続して前記データを収集し、
更新される収集された前記タグに基づいてコンテクストの変化を判定し、
更新された前記タグの収集セットを複数のシナリオに関連付けられる前記既定タグの複数のセットのそれぞれと比較し、
前記比較に基づいて、前記既定タグのセットのそれぞれに更新された重みを割り当て、
前記既定タグの複数のセットを降順で対応する前記更新された重みによってソートし、
前記最高の一致品質を有する対応する更新された重みを有するタグの更新された一致セットに関連付けられる前記更新された既定タグの収集セットに対する更新された一致シナリオを選択する、請求項２１に記載のコンピュータシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
現在、ロボットが存在する。ロボットは、様々な理由により、その所有者とすぐにインタラクションを行うことができる。これらのロボットは、親交をその所有者に提供するために設計されたロボット型ペットを含む一連のロボットによる支援を継続する。その制限された処理電力及び限定されたフォームファクターにもかかわらず、これらの初期型ロボット型ペットは、さらに、少し自律的に周囲を移動し、現在置かれた環境を検知し、タスクを行うためのプログラム可能な知能を有し、その人間の所有者と対話あるいはインタラクション（例えば、話す、吠える、触れる等）を行い得る。これらの初期型ロボット型ペットは、知能、物体検知、性質、及び移動等の１つ以上の機能を促進するために、コンピュータ能力、視覚センサシステム、及び調音器を装備したものである。例えば、これらのロボット型ペットは、オブジェクト（例えば、ボール）とインタラクションを行い、その所有者と通信し、その環境とインタラクションを行い、その所有者と遊び、周囲を移動する等を行い得る。また、これらのロボット型ペットは、ロボットサッカーリーグに参加することがプログラムされ得る。さらに、これらのロボット型ペットは、所有者が対話あるいはインタラクションによってロボットを育てるにつれて成長及び発達し得る。また、これらのロボット型ペットは、どのようにロボットが育てられたかに基づいて、性質を形成し得る。
【０００２】
これらの初期型ロボットは、部分的に、知能、認知、支援、対話（インタラクション）、性質、及び移動の増加を含む能力の、次のレベルにすぐに達することができる。
【０００３】
本開示の実施形態はこの背景の下になされたものである。
【発明の概要】
【０００４】
本開示の実施形態は、人工知能（ＡＩ）として実装される自律パーソナルコンパニオンのためのシステム及び方法に関する。本開示の一実施形態に従って、ＡＩは、個別の支援をユーザに提供する目標に伴い、ユーザに関するコンテクストに基づいて識別されている情報のディープラーニングエンジンによって訓練されたモデルを利用する。一実施形態では、訓練（トレーニング）されたモデルは、ＡＩの行動選択方針の役割を果たす。ＡＩは、データを認知し、そのデータを異なる所有者のオペレーティングシステム下で動作する他のデジタルアセット（例えば、電話連絡帳、カレンダー、電話、ホームオートメーション、ゲーム機等）と交換するように構成され得る。ＡＩは、モバイルプラットフォームに統合され、最良に、データを受信し、データを収集し、環境を検知し、データを配信するために、自律的に移動して、それ自体を位置付けるように構成され得る。ＡＩは、処理のためにバックエンドサーバとインタラクションを行うことができ、ＡＩは、ローカルレベルで要求を処理することができる、またはローカルレベルで要求を前処理することができる。次に、バックエンドサーバでそれらの要求を十分に処理することができる。加えて、複数の実施形態は、ユーザに関連するキャプチャ済情報（例えば、ユーザ及び／またはユーザが位置する環境の音声データ及び視覚データ）のコンテクスチュアリゼーションに関連し、キャプチャ済情報はタグのセットに分類され、タグは事前に定義した学習パターンと、シナリオに関連付けられた組み合わせとに一致する。次に、一致シナリオに関連付けられたアルゴリズムは、パーソナルコンパニオンによって実装されるＡＩの外面的行動を生成するために、ある入力データ（例えば、キャプチャ済情報）を考慮して実行される。
【０００５】
一実施形態では、自律パーソナルコンパニオンによるユーザのＡＩモデルを適用するための方法を行う。本方法は、サービスをユーザに提供する自律パーソナルコンパニオンを使用して、ユーザの行動に関連するデータをキャプチャする。本方法は、データを分析し、データ内のユーザ行動の１つ以上のパターンを複数の学習パターンまたは既定パターンから識別する。行動の識別パターンは、ユーザのコンテクスト環境に関する洞察を与える。複数の学習パターンまたは既定パターンのそれぞれは、対応する既定タグに関連付けられる。複数の学習パターンまたは既定パターンは、ディープラーニングエンジンから生成される。本方法は、識別パターンをタグの収集セットとして分類することを含み、収集セットのタグは１つ以上の識別パターンに関連付けられる。本方法は、タグの収集セットを、複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較することを含み、各シナリオは行動の１つ以上の既定パターンと、既定タグの対応するセットとに対応する。本方法は、比較に基づいて、重みを既定タグのセットのそれぞれに割り当てることを含み、各重みは、タグの収集セットと既定タグの対応するセットとの対応する一致品質を定義する。本方法は、既定タグの複数のセットを降順で対応する重みによってソートする。本方法は、最高の一致品質を有する対応する重みを有するタグの一致セットに関連付けられるタグの収集セットに対する一致シナリオを選択する。一致シナリオの一致アルゴリズムは、キャプチャ済データに応答するために使用されることができる自律パーソナルコンパニオンのＡＩの外面的行動を判定するためにキャプチャ済データを考慮して実行されることができる。
【０００６】
別の実施形態では、自律パーソナルコンパニオンによるユーザのＡＩモデルを適用するためのコンピュータプログラムを記憶する非一時的コンピュータ可読媒体を開示する。コンピュータ可読媒体は、サービスをユーザに提供する自律パーソナルコンパニオンを使用して、ユーザの行動に関連するデータをキャプチャするためのプログラム命令を含む。コンピュータ可読媒体は、データを分析し、データ内のユーザ行動の１つ以上のパターンを複数の学習パターンまたは既定パターンから識別するためのプログラム命令を含む。行動の識別パターンは、ユーザのコンテクスト環境に関する洞察を与える。複数の学習パターンのそれぞれは、対応する既定タグに関連付けられる。複数の学習パターンは、ディープラーニングエンジンから生成される。コンピュータ可読媒体は、識別パターンをタグの収集セットとして分類するためのプログラム命令を含み、収集セットのタグは１つ以上の識別パターンに関連付けられる。コンピュータ可読媒体は、タグの収集セットを複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較するためのプログラム命令を含み、各シナリオは行動の１つ以上の既定パターンと、既定タグの対応するセットとに対応する。コンピュータ可読媒体は、比較に基づいて、重みを既定タグのセットのそれぞれに割り当てるためのプログラム命令を含み、各重みは、タグの収集セットと既定タグの対応するセットとの対応する一致品質を定義する。コンピュータ可読媒体は、既定タグの複数のセットを降順で対応する重みによってソートするためのプログラム命令を含む。コンピュータ可読媒体は、最高の一致品質を有する対応する重みを有するタグの一致セットに関連付けられるタグの収集セットに対する一致シナリオを選択するためのプログラム命令を含む。一致シナリオの一致アルゴリズムは、キャプチャ済データに応答するために使用されることができるパーソナルコンパニオンによって実装されるＡＩの外面的行動を判定するためにキャプチャ済データを考慮して実行されることができる。
【０００７】
さらに別の実施形態では、コンピュータシステムが開示され、コンピュータシステムはプロセッサ及びメモリを含み、メモリは、プロセッサに結合され、コンピュータシステムによって実行される場合、コンピュータシステムに、自律パーソナルコンパニオンによるユーザのＡＩモデルを適用するための方法を実行させる命令をメモリ内に記憶する。コンピュータシステムによって実行される方法は、サービスをユーザに提供する自律パーソナルコンパニオンを使用して、ユーザの行動に関連するデータをキャプチャする。本方法は、データを分析し、データ内のユーザ行動の１つ以上のパターンを複数の学習パターンまたは既定パターンから識別する。行動の識別パターンは、ユーザのコンテクスト環境に関する洞察を与える。複数の学習パターンまたは既定パターンのそれぞれは、対応する既定タグに関連付けられる。複数の学習パターンまたは既定パターンは、ディープラーニングエンジンから生成される。本方法は、識別パターンをタグの収集セットとして分類することを含み、収集セットのタグは１つ以上の識別パターンに関連付けられる。本方法は、タグの収集セットを複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較することを含み、各シナリオは行動の１つ以上の既定パターンと、既定タグの対応するセットとに対応する。本方法は、比較に基づいて、重みを既定タグのセットのそれぞれに割り当てることを含み、各重みは、タグの収集セットと既定タグの対応するセットとの対応する一致品質を定義する。本方法は、既定タグの複数のセットを降順で対応する重みによってソートする。本方法は、最高の一致品質を有する対応する重みを有するタグの一致セットに関連付けられるタグの収集セットに対する一致シナリオを選択する。一致シナリオの一致アルゴリズムは、キャプチャ済データに応答するために使用されることができるパーソナルコンパニオンによって実装されるＡＩの外面的行動を判定するためにキャプチャ済データを考慮して実行されることができる。
【０００８】
本開示の他の態様は、本開示の原理の例を用いて示す添付の図面と併せて解釈される以下の詳細な説明から明らかになる。
【０００９】
本開示は、添付の図面と併せて解釈される以下の説明を参照して最良に理解され得る。
【図面の簡単な説明】
【００１０】
【図１Ａ】本開示の一実施形態による、ユーザの人工知能（ＡＩ）モデルによって実装される自律パーソナルコンパニオンの例証図である。
【図１Ｂ】本開示の一実施形態による、ユーザのＡＩモデルを構築するために使用される例示的ニューラルネットワークを示し、ＡＩモデルは、ユーザのための自律パーソナルコンパニオンを実施するために使用される。
【図２】本開示の一実施形態による、ユーザのＡＩモデルによって実装される自律パーソナルコンパニオンをサポートするシステムを示す。
【図３Ａ】本開示の一実施形態による、ユーザのＡＩモデルによって実装される自律パーソナルコンパニオンのブロック図である。
【図３Ｂ】本開示の様々な実施形態の態様を行うために使用されることができる例示的デバイス１００のコンポーネントを示す。
【図４Ａ】本開示の一実施形態による、ゲームアプリケーションをプレイするユーザのゲームプレイをサポートする自律パーソナルコンパニオンを示す。
【図４Ｂ】本開示の一実施形態による、図４Ａに紹介したユーザによってプレイされるゲームアプリケーションの３次元（３Ｄ）ゲーム世界と、ユーザの物理的環境との統合を示し、自律パーソナルコンパニオンは、ユーザの視線の方向に応答して３Ｄゲーム世界の一部を物理的環境に投影するように構成される。
【図４Ｃ】本開示の一実施形態による、図４Ａ〜図４Ｂに紹介したゲームアプリケーションの３Ｄゲーム世界の統合の別の例を示し、ゲームアプリケーションの３Ｄゲーム世界の拡張はディスプレイの横に投影され、ディスプレイはゲームアプリケーションのメインビューを示し、拡張は３Ｄゲーム世界の一部を示す、または補足情報をゲームアプリケーションに提供する。
【図５】本開示の一実施形態による、ヘッドマウントディスプレイ（ＨＭＤ）及び物理的環境を使用して、第１のユーザによってプレイされるゲームアプリケーションの３Ｄ仮想現実（ＶＲ）世界の統合を示し、自律パーソナルコンパニオンは、ユーザの視線の方向に応答してＶＲゲーム世界の一部を物理的環境に投影し、傍観者が第１のユーザのＶＲゲーム世界の経験に同時参加することを可能にするように構成される。
【図６Ａ】本開示の一実施形態による、ユーザのＡＩモデルによって実装されるユーザのための自律パーソナルコンパニオンの例示的な形態を示す。
【図６Ｂ】本開示の複数の実施形態に従って、部分的に、画像の投影、近接環境の検知、及び補助音の提供を含む機能の配列が構成される、例示的な自律パーソナルコンパニオンを示す。
【図６Ｃ】本開示の一実施形態による、１つ以上の機能（例えば、画像キャプチャ及び画像投影）が構成されるドローンアセンブリを含む、例示的な自律パーソナルコンパニオンを示す。
【図６Ｄ】本開示の一実施形態による、１つ以上の機能（例えば、画像キャプチャ及び画像投影）が構成される回転する上部を含む、例示的な自律パーソナルコンパニオンを示す。
【図６Ｅ】本開示の一実施形態による、１つ以上の付属品を含む例示的な自律パーソナルコンパニオンを示し、付属品は、コントローラの形態を取り得るものであり、付属品／コントローラがコンパニオンから取り外し可能であり得る。
【図７Ａ】本開示の一実施形態による、ユーザの監視された行動から判定された複数の学習パターンに基づいて、複数のシナリオを構築するためにＡＩを機能させるように構成される自律パーソナルコンパニオンのブロック図であり、シナリオは、実施時、キャプチャ済データに基づいて結果を生成する一致アルゴリズムを有する。
【図７Ｂ】本開示の一実施形態による、観察されたユーザ行動の識別された学習パターンに基づいてユーザのコンテクスト環境を判定し、観察されたユーザ行動に応答するために、コンテクスト環境に関する一致シナリオ及び対応するアルゴリズムを判定するように構成される、自律パーソナルコンパニオンのブロック図である。
【図７Ｃ】本開示の一実施形態による、ユーザ入力データに応答して、一致シナリオの一致アルゴリズムの実行を示す。
【図８】本開示の一実施形態による、観察されたユーザ行動の識別された学習パターンに基づいて、一致シナリオ及び対応するアルゴリズムを判定することによって、ユーザのコンテクスト環境に応答するための方法を示すフロー図である。
【発明を実施するための形態】
【００１１】
以下の詳細な説明が例証の目的のために多くの具体的な詳細を含むが、当業者は、以下の詳細に対する多くの変形及び改変が本開示の範囲内にあることを認識する。したがって、下記に説明される本開示の態様は、一般概念のいかなる損失を生じさせることなく、この説明に続く「特許請求の範囲」に制限を課すことなく説明されている。
【００１２】
概して、本開示の様々な実施形態は、ユーザに個別化されるＡＩモデルを構築するために、ディープラーニング（また、機械学習と称される）技術を実施するシステム及び方法を説明する。したがって、パーソナルコンパニオンはＡＩとして実装され、ＡＩは個別の支援をユーザに提供する目標に伴い、ユーザに関するコンテクストに基づいて識別されている情報のディープラーニングエンジンによって訓練されたモデルを利用する。訓練されたモデルは、ＡＩの行動選択方針の役割を果たし得る。ＡＩモデルは、携帯型である自律パーソナルコンパニオンによって実装される。ＡＩは、データを認知し、異なる所有者のプラットフォーム下で動作する他のデジタルアセットと交換するように構成され得る。ＡＩは、モバイルプラットフォームに統合され、最良に、データを受信し、データを収集し、環境を検知し、データを配信し、環境を検知及び／またはマッピングし、ならびに他の機能を実行するために、環境を通して自律的に移動することができる。いくつかの実施態様では、自律パーソナルコンパニオンは、処理のためにバックエンドサーバとインタラクションを行うように構成可能であり、ＡＩは、ローカルレベルで要求を処理することができる、またはローカルレベルで要求を前処理することができる、次に、バックエンドサーバでそれらの要求を完全に処理することができる。さらに、本開示の様々な実施形態は、ユーザに関連するキャプチャ済情報（ユーザ及び／またはユーザが位置する環境の音声データ及び視覚データ）のコンテクスチュアリゼーションを提供する。具体的には、キャプチャ済情報はタグによって分類され、次に、一致シナリオに関連付けられた事前に定義した学習パターンにタグを一致させる。次に、一致シナリオに関連付けられたアルゴリズムは、実施時、入力データに応答する結果（例えば、ＡＩの外面的行動）を生成するために、ある入力データ（例えば、キャプチャ済情報）を考慮して実行される。
【００１３】
様々な実施形態の上記の一般的理解によって、ここで、実施形態の例示的詳細は、様々な図面を参照して説明される。
【００１４】
図１Ａは、本開示の実施形態による、ユーザの対応するＡＩモデルによって実装される自律パーソナルコンパニオンを構築する及び実装するシステム１００Ａを示す。具体的には、自律パーソナルコンパニオン１００は、例えば、サービスをユーザに提供するために、デジタルコンパニオンとして対応するユーザとインターフェースをとるように構成される。加えて、自律パーソナルコンパニオン１００はネットワーク１５０（例えば、インターネット）を通して、バックエンドサーバ（例えば、パーソナルコンパニオンモデラ及びアプリケータ１４０）によってサポートされ得るものであり、バックエンドサーバは、個別化されたＡＩモデル（ＡＩモデルのそれぞれがその各々のユーザに対応する）を構築する及び適用するために、（例えば、ディープ、機械、学習エンジン１９０によって）人工知能及び／またはディープ学習、機械学習を提供する。例えば、１つ以上のコンパニオン１００ａ〜１００ｎは、世界を通じて、１つ以上の場所で複数のユーザをサポートするように構成される。
【００１５】
自律パーソナルコンパニオン１００のそれぞれは、サービス（例えば、サポート）をその各々のユーザに提供する複数の能力を提供するように構成される。概して、コンパニオン１００は、ユーザの要求に応じて、そのサービスを提供し得る、または、自律的に、適切な時間で、サービスをユーザに提供し得る、もしくは、サービスをユーザに与え得る（例えば、ユーザによる必要性を検知する、またはコンテクストに基づく関連のアクション、ランダム生成を判定する等）。例えば、自律パーソナルコンパニオン１００は、様々な動作（例えば、情報、購入品、及び／またはサービス等の検索）を行うユーザ検索要求を処理する等のデジタル支援をユーザに提供し、ユーザに関する検索要求を自律的に生成し、コンテクストに基づいてユーザに関連するアクションを自律的に発生し（例えば、食料庫がわずかであること、パーティーが昨晩に開催されたことに気付いた後に、電子商取引ベンダを通してポテトチップを購入する）、ゲーム支援を、ゲームアプリケーションをプレイするユーザに提供し（例えば、対応するゲームアプリケーションをナビゲートする際に役立つ助言及び補助を提供する）、物理的世界内の３次元（３Ｄ）ゲーム空間を統合することによって、ゲームアプリケーションの表示されるゲーム空間を拡張する、ならびに他の機能を行うように構成され得る。
【００１６】
加えて、自律パーソナルコンパニオン１００は、ユーザと会話をし、デジタル支援をユーザに提供し、会話を通してユーザとの関係を構築し、単一の期間または複数の期間の全体を通してユーザに同行する等の、交友をユーザに提供し得る。コンパニオン１００は、ユーザに、酷似の人間または動物コンパニオンであろうものに応答することをプロンプトし得る。例えば、コンパニオン１００は、コンパニオン１００とユーザとの間でプレイされるカードゲームが始まることを示唆し得る、またはデジタルコンテンツをディスプレイ（例えば、コンパニオン１００からリモートにある固定ディスプレイまたはコンパニオン１００と統合されたディスプレイ）の上で見ることを示唆し得る、またはゲームコントローラを持って来て、ゲームアプリケーションをプレイするユーザにプロンプトし得る。
【００１７】
自律パーソナルコンパニオン１００によって行われるアクションの少なくとも一部は、コンテクストに基づいてユーザに関連する。すなわち、コンパニオン１００が、現在、ユーザが、ユーザに対して個別化されるＡＩモデルに携わり、ユーザに対して個別化されるＡＩモデルを構築する及び／またはＡＩモデルにアクセスすることが可能である環境にコンテクストに基づいて認知するため、コンパニオン１００によって発生するアクションは、ユーザが経験しているコンテクストに合わせることができる。例えば、ユーザが、ユーザのＡＩモデル及び現在の日付に基づいて、一見一般的な要求（例えば、「昨晩のスコアはいくつだったか？」）を行うとき、コンパニオン１００は、その要求に対する現在のコンテクストを判定し、適切な応答及び関連する応答「ウォリアーズが１０１−９７で勝利」を提供するだろう。ＡＩモデルがユーザをウォリアーズのファンとして定義するために、応答はコンテクストに基づいて関連するようになり、ユーザは、プロバスケットボール協会（ＮＢＡ）のゴールドステートウォリアーズのゲームの最新情報を把握しているのみである。さらに、ＡＩモデルがまた、ユーザをプレーオフ中の４月のＮＢＡファンとして、他のスポーツからいかなるスコアでも関係していない人として定義するため、応答はコンテクストに基づいてユーザに関連する。現在の日付が４月の１つであるため、コンパニオン１００によってインターネットを通して、前夜のウォリアーズのスコアを検索することができる。
【００１８】
図１Ａに示されるように、いくつかのパーソナルコンパニオン１００ａ〜１００ｎは、その各々のデジタルコンパニオンとして対応するユーザとインターフェースをとるように構成される。簡潔及び明確にする目的のために、コンパニオン１００ａが説明され、説明はコンパニオン１００ａ〜１００ｎに提供される機能を表す。具体的には、各コンパニオンは、携帯型であるロボット１０５内に実装され、ロボットは任意の適切なフォームファクターを取り得る。各コンパニオンが、ロボット１０５内でローカルに及びバックエンドサーバ１４０においての両方で分散され得る人工知能１１０によってサポートされる。一実施形態では、ＡＩ１１０は、部分的にサービスを対応するユーザに提供するために使用されるローカルＡＩモデル１２０ａの少なくとも一部を構築するために使用されるディープラーニングを行うように構成される。ＡＩ１１０を使用して学習される、この情報は、収集及び／または学習される情報の種類に応じて、ローカルＡＩモデル１２０ａを構築することでまたタスクが課され得るバックエンドサーバ１４０と共有し得る、または共有し得ない場合がある。例えば、感知情報は、ローカルＡＩモデル１２０ａを構築するために、ローカルで処理され得るが、バックエンドサーバ１４０と共有され得ない場合がある。
【００１９】
加えて、コンパニオン１００ａのＡＩ１１０は、ローカルＡＩモデル１２０ａのバージョンを含み、モデル１２０ａは対応するユーザに対して個別化され、ＡＩ１１０はＡＩモデル１２０ａを実装するように構成される。具体的には、用語「ローカルＡＩモデル」は、ＡＩモデルが特定のユーザまたはローカルのユーザに対応することを示すために使用される。ロボット１０５のフォームファクター内に記憶されるローカルＡＩモデル１２０ａは、ＡＩモデルのフルバージョンであり得る、またはＡＩモデルのフルバージョンで利用可能な能力のいくつかのサブセットを自律的に提供するベースモデルであり得る。ＡＩモデルのフルバージョンは、また、ＡＩモデリング及びアプリケーションを提供するバックエンドサーバ１４０によって記憶され、バックエンドサーバ１４０によってアクセス可能である。したがって、コンパニオン１００ａは、バックエンドサーバ１４０から独立して機能し、能力のフルセット（ローカルＡＩモデルのフルバージョンがロボット１０５に記憶される場合）、または能力の制限されたセット（ローカルＡＩモデルのより低いバージョンがロボット１０５に記憶される場合）のいずれかを提供し得る。他方では、コンパニオン１００ａは、バックエンドサーバ１４０と協働して機能し、ローカルＡＩモデル１２０ａによって提供される能力のフルセットを提供し得る。例えば、ローカルＡＩモデル１２０ａは、ロボット１０５において、ＡＩ処理のほとんどを行うように良好に（より高速に及びより多くのリソースで）構成されるバックエンドサーバ１４０におけるローカルＡＩモデル１２０ａ共に協働して作動する（例えば、データを前処理し得る）。
【００２０】
図１Ａに示されるように、ローカルデータ１１５ａは、コンパニオン１００ａによって（ロボット１０５等によって）収集される。ローカルデータ１１５ａは、ロボット１０５に記憶されるいかなるＡＩ能力をも使用して、ローカルＡＩモデル１２０ａを構築することを助けるために、ロボット１０５においてＡＩ１１０によって使用され得る。加えて、ローカルデータ１１５ａは、ディープ機械学習エンジン１９０のＡＩ能力（例えば、最近傍ベースタグ付け及びシナリオ選択アルゴリズム）を使用して、ローカルＡＩモデル１２０ａを構築するために、バックエンドサーバ１４０におけるパーソナルコンパニオンモデラ（ｐｅｒｓｏｎａｌ  ｃｏｍｐａｎｉｏｎ  ｍｏｄｅｌｅｒ）及びアプリケータ（ａｐｐｌｉｃａｔｏｒ）に配信され得る。図示されるように、１つ以上のローカルＡＩモデル１２０ａ〜１２０ｎは、１人以上のユーザをサポートするために、バックエンドサーバ１４０に生成及び記憶される。
【００２１】
コンパニオン１００ａ〜１００ｎのそれぞれ毎のローカルデータ１１５がバックエンドサーバにおいてパーソナルコンパニオンモデラ及びアプリケータに配信され、ローカルデータのそれぞれは、グローバルＡＩモデル１３０を生成するために集められ得る。集められたローカルデータは、グローバルデータ１３５として記憶され得る。
【００２２】
図１Ｂは、本開示の一実施形態による、パーソナルコンパニオンモデラ及びアプリケータ１４０のディープラーニングエンジン１９０によって実施される訓練により対応するユーザのためのローカルＡＩモデルを構築するために使用される例示的ニューラルネットワークを示す。一実施形態では、ディープラーニングエンジン１９０は、ユーザ行動を分類するために、タグ識別を行うために実装され得る。具体的には、図１Ａのシステム１００Ａのモデラ及びアプリケータ１４０は、自律パーソナルコンパニオン１００がサービスをユーザに提供するときに有用及び適切であり得るユーザ行動パターン及びそのタグパターンを識別するように構成される。加えて、ニューラルネットワークは、一実施形態では、コンパニオン１００のＡＩ１１０内に実装され得る。ユーザのために結果として生じるローカルＡＩモデル１２０は、部分的に、ユーザの及びユーザに関する、行動、生体情報、アクション、感情、予想、望み、好み、要求、必要性、及び環境（コンテクストを提供するためのもの）を定義する。パーソナルコンパニオンモデラ及びアプリケータ１４０は、具体的には、直接またはネットワーク（例えば、ローカルネットワーク、インターネット等）を通して、自律パーソナルコンパニオン１０１ａ〜１０１ｎのそれぞれに結合されるバックエンドサーバコンピューティングデバイスを含む、任意のコンピューティングデバイスであり得る。
【００２３】
具体的には、モデラ１４０のディープラーニングまたは機械学習エンジン１９０は、ユーザに関するローカルデータ１１５を分析するように構成され、ローカルデータ１１５は、部分的に、自律パーソナルコンパニオン１００によって収集される。ローカルデータ１１５は、ユーザ（例えば、コントローラ入力、要求、アクション、行動、応答等）と、ユーザの環境とを監視することに関連して収集される。下記に説明されるように、コンパニオン１００は、データを収集する目的のためにデータを監視する及び／または要求を行う様々な機能（例えば、カメラ、アクティブアクチュエータ、パッシブセンサ、コントローラ、マウス、スキャナ等）で構成される。基本的に、ユーザに関連付けられる任意の関連情報は、部分的に、ユーザを定義するために、ユーザが存在するコンテクストを理解するために、ユーザが、様々な状態及び／または刺激にどのように感じるか、作用または応答するかを予測するために収集及び使用され得る。したがって、ディープラーニングエンジン１９０はユーザについての情報を分類することが可能であり、これにより、対応するローカルＡＩモデル１２０は、最良のサービスをユーザに提供することができ、サービスは、ユーザによって最小の入力が提供される。例えば、ＡＩモデル１２０は、ユーザによって行われる要求を理解するために、ユーザが必要とするもの、またはユーザが望み得るものを予測するために、その要求及び予測を満たすサービスを提供するために、（例えば、ディープラーニングエンジン１９０の実装によって）使用されることができる。
【００２４】
別の実施形態では、ローカルデータ１１５に加えて、他のデータ（例えば、グローバルデータ１３５）は、随意に、複数のパーソナルコンパニオン１００ａ〜１００ｎによって利用及び／また収集され得るものであり、また、対応するユーザのためのローカルＡＩモデル１２０を構築する際に使用され得る。基本的に、グローバルデータ１３５は、全てのユーザのために収集された全てのローカルデータ１１５の集合である。具体的には、いくつかのデータは、全てのユーザ、またはユーザの（様々なサイズの）少なくとも一部のサブセットに関する全てのＡＩモデルを構築するときに使用するのに一般的及び適切であり得る。加えて、グローバルデータ１３５は、概して、任意のユーザのために使用され得るグローバルＡＩモデル１３０を構築するために使用され得る。さらに、グローバルデータ１３５は、様々なグローバルＡＩモデルを構築するために使用され得るものであり、グローバルＡＩモデルのそれぞれは、ユーザの特定のグループ化（例えば、人口統計、領域、音楽の好み、教育等によってグループ化）にターゲット化される。
【００２５】
したがって、ローカルデータ１１５、及びグローバルデータ１３５のある部分は、ディープラーニングエンジン１９０にフィードされる。ディープラーニングエンジン１９０は、ディープラーニングアルゴリズム、強化学習、または他の人工知能ベースアルゴリズムを含む人工知能を利用して、対応するユーザのためのローカルＡＩモデル１２０を構築する。
【００２６】
そのように、学習及び／またはモデリング段階の間、データは、入力データのセットを考慮して、所与のユーザに関する応答、アクション、要求、及び／または必要性を予測するために、ディープラーニングエンジン１９０によって使用される。これらの応答、アクション、要求、及び／または必要性は、概して、ユーザ行動として分類され得るものであり、したがって、ＡＩモデル１２０は、概して、いくつかの入力データを考慮して、対応するユーザの行動を識別及び／または分類し、適切な応答をＡＩに提供する（例えば、パーソナルコンパニオンによって実装されるＡＩの外面的行動を判定する）ために使用されることができる。例えば、入力データはユーザによる固有の要求であり得るものであり、ＡＩモデル１２０は応答を生成するために使用され、応答は自律パーソナルコンパニオン１００によって提供されるサービスに関連する。加えて、入力データは、いずれかの向かうユーザ入力または要求に関係なく、応答が向かうユーザの応答、アクション、要求、及び／または必要性を予測するために使用され得る環境データの収集物であり得る。例えば、ＡＩモデル１２０は、ユーザが明確に要求を配信することを必要としないで、ユーザが望む及び／または必要とするサービスが何かを予測するために使用され得る。
【００２７】
徐々に、ＡＩモデル１２０は、ユーザ行動を識別及び／または分類し、ＡＩモデルを適用し、入力データの近似セットに応答して、ユーザの行動、アクション、応答、要求、及び／または必要性を予測することができる。例えば、タグ識別及びシナリオ選択は、ユーザ行動をタグとして識別及び分類し、ユーザの要求及び／または必要性を予測し、その要求及び／または必要性に応答してサービスを提供するＡＩ応答を提供するために使用され得る。例えば、前述に紹介した例では、ユーザは４月のＮＢＡのスコアだけに着目し、したがって、ゲームのスポーツのスコアに関する任意の要求は、ユーザがゴールドステートウォリアーズのファンであることと、４月にそのユーザが、ウォリアーズが試合をするゲームからのスコアだけに着目することとを理解することを含むユーザの要求及び必要性を予測するために使用され、その要求及び必要性の全てが、ウォリアーズが試合をする最新ゲームのスコアを伴う応答（例えば、ＡＩモデル１２０によって実施される）をもたらす。他の例は、ＡＩモデル１２０の構築を説明する際に有用である。例えば、ＡＩモデル１２０は、ユーザのある生体情報を定義するために使用されることができる。ある場合、ユーザの進度を定義することができ、それにより、パーソナルコンパニオンが、近づいている人の足を検知及び追跡し、ＡＩモデル１２０に関連付けられる対応するユーザであることを判定することができる。ＡＩモデル１２０は、午後５時に、ユーザが、一般的に、帰宅し、デジタルコンテンツを見始めることを判定するために使用されることができる。したがって、パーソナルコンパニオン１００は、最近ユーザが興味のある（例えば、医療ドラマショーを一気に見る）コンテンツを、既に再生中のディスプレイにアップロードし得る、または、コンパニオン１００へのユーザの要求に応じて、すぐに再生する準備ができ得る。
【００２８】
ニューラルネットワーク１９０は、データセットを分析し、対応するユーザの応答、アクション、行動、要求、及び／または必要性を判定するための、自動分析ツールの例を表す。異なる種類のニューラルネットワーク１９０が可能である。ある例では、ニューラルネットワーク１９０は、ディープラーニングエンジン１９０によって実施され得るディープラーニングをサポートする。したがって、監督される訓練または監督されていない訓練を使用するディープニューラルネットワーク、畳み込みディープニューラルネットワーク、及び／またはリカレントニューラルネットワークを実装することができる。別の例では、ニューラルネットワーク１９０は、強化学習をサポートするディープラーニングネットワークを含む。例えば、ニューラルネットワーク１９０は、強化学習アルゴリズムをサポートするマルコフ決定過程（ＭＤＰ）としてセットアップされる。
【００２９】
概して、ニューラルネットワーク１９０は、人工ニューラルネットワーク等の相互接続ノードのネットワークを表す。各ノードはいくつかの情報をデータから学習する。知識は、相互接続によって、ノード間で交換されることができる。ニューラルネットワーク１９０への入力は、ノードのセットをアクティブにする。同様に、このノードのセットは他のノードをアクティブにし、それによって、入力についての知識を伝える。このアクティブ化プロセスは、出力が提供されるまで、他のノードにわたって繰り返される。
【００３０】
図示されるように、ニューラルネットワーク１９０はノードの階層を含む。最低階層レベルにおいて、入力層１９１が存在する。入力層１９１は入力ノードのセットを含む。例えば、これらの入力ノードのそれぞれは、自律パーソナルコンパニオン１００による、ユーザとユーザに関連付けられる環境との監視中及び／またはクエリ中に、アクチュエータによってアクティブに、またはセンサによってパッシブに収集されるローカルデータ１１５にマッピングされる。
【００３１】
最高階層レベルにおいて、出力層１９３が存在する。出力層１９３は出力ノードのセットを含む。出力ノードは、例えば、ローカルＡＩモデル１２０の１つ以上のコンポーネントに関する決定（例えば、予測）を表す。前述に説明したように、出力ノードは、所与の入力のセットに関するユーザの予測または予想された応答、アクション、行動、要求、及び／または必要性を識別し得るものであり、入力は、様々なシナリオ（例えば、直接要求、日時、時刻、行動の様々なパターン等）を定義し得る。これらの結果は、ディープラーニングエンジン１９０によって使用されるパラメータを改良及び／または修正し、所与の入力のセットに関する、ユーザの適切な予測または予想される応答、アクション、行動、要求、及び／または必要性を反復的に判定するために、前のインタラクションから、ならびに、ユーザ及び／または環境を監視することから取得された既定の結果と、取得された真の結果とに比較されることができる。すなわち、ニューラルネットワーク１９０のノードは、パラメータを改良するとき、係る決定を行うために使用されることができるＡＩモデル１２０のパラメータを学習する。
【００３２】
具体的には、隠れ層１９２は入力層１９１と出力層１９３との間に存在する。隠れ層１９２は「Ｎ」の数の隠れ層を含む（「Ｎ」は１以上の整数である）。同じく、隠れ層のそれぞれは、また、隠れノードのセットを含む。入力ノードは、隠れノードに相互接続される。同様に、隠れノードは出力ノードに相互接続され、それにより、入力ノードは、出力ノードに直接相互接続されない。複数の隠れ層が存在する場合、入力ノードは、最低の隠れ層の隠れノードに相互接続される。同じく、これらの隠れノードは、次の隠れ層等、その他の隠れノードに相互接続される。次の最高の隠れ層の隠れノードが出力ノードに相互接続される。相互接続により、２つのノードを接続する。相互接続は、学習されることができる数値重みを有し、入力に適応し学習が可能である、ニューラルネットワーク１９０をレンダリングする。
【００３３】
概して、隠れ層１９２は、入力ノードについての知識を出力ノードに対応する全てのタスクの中で共有することを可能にする。そうするために、一実施態様において、変換ｆは、隠れ層１９２を通して入力ノードに適用される。ある例では、変換ｆは非線形である。例えば、リニア整流関数（ｌｉｎｅａｒ  ｒｅｃｔｉｆｉｅｒ  ｆｕｎｃｔｉｏｎ）ｆ（ｘ）＝ｍａｘ（０，ｘ）を含む、種々の非線形変換ｆが利用可能である。
【００３４】
ニューラルネットワーク１９０は、また、コスト関数ｃを使用して、最適解を見つける。コスト関数は、所与のｘに関してｆ（ｘ）として定義されるニューラルネットワーク１９０によって出力される予測と、グラウンドトゥルース（ground truth：地上検証データ）または目標値ｙ（例えば、期待される結果）との偏差を測る。最適解は、解が最適解のコストよりも低いコストを有しない状況を表す。コスト関数の例は、予測とグラウンドトゥルースとの平均２乗誤差であり、データに関して、係るグラウンドトゥルースラベルが利用可能である。学習過程中、ニューラルネットワーク１９０は、バックプロパゲーションアルゴリズムを使用して、異なる最適化方法を採用し、コスト関数を最小にするモデルパラメータ（例えば、隠れ層１９２内のノード間の相互接続に関する重み）を学習することができる。係る最適化方法の例は確率的勾配降下法である。
【００３５】
ある例では、ニューラルネットワーク１９０に関する訓練データセットは、同じデータドメインから生じ得る。例えば、ニューラルネットワーク１９０は、所与の入力のセットまたは入力データに関するユーザの予測または予想された応答、アクション、行動、要求、及び／または必要性を学習するために訓練される。この例証では、データドメインは、基本入力データとのユーザのインタラクションのために収集されたセッションデータを含む。別の例では、訓練データセットは、基準値以外の入力データを含む異なるデータドメインから得られる。
【００３６】
したがって、ニューラルネットワーク１９０は、所与の入力のセットに関するユーザの予想された応答、アクション、行動、要求、及び／または必要性を識別し得る。これらの予測された結果に基づいて、ニューラルネットワーク１９０は、また、（例えば、環境及びユーザの）認知サービスを対応するユーザにコンテクストに基づいて提供するために使用されるＡＩモデル１２０を定義し得る。
【００３７】
図２は、本開示の一実施形態による、対応するユーザのローカルＡＩモデル１２０によって実装される自律パーソナルコンパニオン１００をサポートするシステム２００を示す。パーソナルコンパニオン１００は、ローカルＡＩモデル１２０に基づいて、サービスをユーザに提供するように構成され、ローカルＡＩモデル１２０は、タグに分類されるとき、シナリオを選択するため、ならびに、ユーザの要求及び／または必要性を予測し、その要求及び／または必要性に応答してサービスを提供するシナリオを考慮してＡＩ応答を提供するために使用され得るユーザ行動のパターンの識別によって、とりわけ、ユーザの応答、アクション、行動、要求、及び／または必要性を予測することが可能である。
【００３８】
前述に説明したように、パーソナルコンパニオン１００は、ローカルＡＩモデル１２０のモデリング及びローカルＡＩモデルの適用を行うバックエンドサーバ１４０から独立して、またはバックエンドサーバ１４０と連動して作動し得る。具体的には、バックエンドサーバ１４０は、前述に説明した、対応するユーザにサービスをサポート及び提供するローカルＡＩモデル１２０を構築及び適用するために、部分的に、（例えば、ユーザによって動かされる、または経験される所与のシナリオを定義する）任意の所与の入力のセットに関して、ユーザの応答、アクション、行動、要求、及び／または必要性を学習及び／またはモデリングするように構成されるディープラーニングエンジン１９０を含む。具体的には、ローカルＡＩモデルビルダー２１０は、ディープラーニングエンジンとインターフェースをとり、ストレージ２３０内に記憶される１つ以上のローカルＡＩモデル１２０ａ〜１２０ｎを構築するように構成される。加えて、グローバルＡＩモデルビルダー２１５は、前述に説明したように、ディープラーニングエンジンとインターフェースをとり、またストレージ２３０内に記憶される、１つ以上のグローバルＡＩモデル１３０ａ〜１３０ｐを構築するように構成される。例えば、ＡＩモデルビルダー２１０及び２１５は、ディープラーニングエンジン１９０内で対応するＡＩモデルを適用する目的のために、入力層１９１、隠れ層１９２、及び出力層１９３の中に様々なノードを定義するディープラーニングエンジン１９０内に定義されたパラメータを設定するために動作し得る。
【００３９】
自律パーソナルコンパニオン１００は、そのフォームファクター（例えば、自律ロボットシェル）の内部で及びバックエンドサーバ１４０を通しての両方で、またはそれらの組み合わせで、ローカルＡＩモデル１２０を実装し得る。前述に説明したように、コンパニオン１００は、複雑度が少ないＡＩ動作（例えば、部屋の照明をオンにする要求）を行うとき、またはネットワーク接続が制限される、またはネットワーク接続がないとき等、バックエンドサーバから独立しているローカルＡＩモデル１２０を実装し得る。加えて、コンパニオン１００は、バックエンドサーバと協働してローカルＡＩモデル１２０を実装し得る。例えば、コンパニオン１００は、入力パラメータ（例えば、行われる動作を定義する）を構造化または条件付けるために、ローカルにあるローカルＡＩモデル１２０によって予備動作を行い得るものであり、これにより、入力パラメータは、バックエンドサーバ１４０に容易に（例えば、縮小及び／または圧縮されて）配信される。ここで、ＡＩモデル１２０内の人工知能のほとんどは、ＡＩモデルアプリケータ２２０及び／またはディープラーニングエンジン１９０によって実行される。
【００４０】
図２に示されるように、自律パーソナルコンパニオン１００はユーザの同じ環境内に位置し、これにより、自律パーソナルコンパニオン１００はサービスをユーザに提供し得る。コンパニオン１００は、有線接続もしくは無線接続（図示しない）を通して直接、またはローカルネットワーク２５０を通してのいずれで、１つ以上のデジタルオブジェクトもしくは物理オブジェクト及び／またはエンティティとインターフェースをとることが可能であり、ネットワーク２５０は有線接続または無線接続を含み得る。図２は、様々なデジタルオブジェクト及び／または物理オブジェクトとのコンパニオン１００のインターフェースを示す。他のデジタルオブジェクト及び／または物理オブジェクトとの追加インターフェースが想到される。図示されるように、コンパニオン１００は、直接（例えば、有線通信または無線ピアツーピア通信）、または有線接続もしくは無線接続を介したローカルネットワーク２５０（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ‐Ｆｉ、ローカルエリアネットワーク等）を通して、ローカル環境内でオブジェクトとインターフェースをとり得る。加えて、ローカルネットワーク２５０は、他のリモートオブジェクト（例えば、バックエンドサーバ１４０、他のサーバ等）へのローカルネットワーク２５０を通して通信する様々なデジタルオブジェクト及び物理オブジェクトの通信を容易にするために、広域ネットワークまたはインターネット１５０と通信可能に結合される。
【００４１】
例えば、コンパニオン１００は、コンパニオン１００を再充電する目的のために、またはソフトウェア更新を受信するためにベースステーションと通信する目的のために、及び他の例示的な使用事例の目的のために、ベースステーション２６０及びコンパニオン１００の一方または両方を同じ場所または大体同じ場所に移動させる等、ベースステーション２６０とインターフェースをとり得る。
【００４２】
加えて、コンパニオン１００はローカルサーバ２４０とインターフェースをとり得るものであり、サーバ２４０はゲーム機２４１、タワーコンピュータ２４３等を含み得る。例えば、ゲーム機２４１は、データのメインストリームをディスプレイ２６５に提供し得るものであり、また、コンパニオン１００のメインストリームの概要または完全バージョンを提供し得るものであり、これにより、コンパニオン１００は、（例えば、コンパニオン１００のディスプレイによって）表示されることができる、またはユーザのゲームプレイと同時にユーザに（例えば、音声が）配信されることができる有用情報（例えば、ゲーム支援）にアクセスし得る。コンパニオン１００が検索動作、ファイルストレージ等を制御し得る、または利用し得るように、タワー２４３は追加機能を提供し得る。
【００４３】
一実施形態では、コンパニオン１００は、マップ更新システム３７５とインターフェースをとり得及び／または実装し得るものであり、マップ更新システム３７５はコンパニオン１００内にまたはリモートに位置し得る。マップ更新システム３７５は、コンパニオン１００が位置する環境を継続的にマッピングするように構成される。例えば、更新はコンパニオン１００上で実行する他のアプリケーションへのバックグランドプロセスとして発生し得る。そのように、オブジェクトが環境の周囲に移動するとき、または環境内に新たに導入されるとき、マップ更新システム３７５は、環境内のオブジェクト及び構造のマッピングを継続的に更新するために、移動及び／または導入を認識することが可能である。したがって、更新済マッピングに部分的に基づいて、コンパニオン１００は、オブジェクトと衝突しないで、環境の周囲を移動することが可能である。コンパニオン１００による移動は、サービスを提供する最良の位置にコンパニオンを設置することが必要になり得る。例えば、コンパニオン１００は、画像を投影するために使用される壁のより近くに移動する必要があり得る、または、会話を持続する、もしくは要求に応答する等の目的のために、ユーザの言葉を良好に聞くために、ユーザのより近くに移動する必要があり得る。
【００４４】
さらなる例として、コンパニオン１００は、デジタルアセット２７０内の動作を制御する目的のために、またはそのデジタルアセット内のデータにアクセスする目的のために、１つ以上のデジタルアセット２７０とインターフェースをとり得る。例えば、デジタルアセットは、ローカルサーバ２４０等を通して、プロセッサまたはオペレーティングシステム内に実装されるカレンダー機能を含み得るものであり、その場合、コンパニオン１００は、項目を更新もしくは作成するために、またはカレンダー機能で間近のカレンダー日付等を取得するためにタスクが課され得る。
【００４５】
さらに別の例では、コンパニオン１００は、１つ以上の補助システム２７５とインターフェースをとり得る。例えば、補助システム２７５はヘッドマウントディスプレイ（ＨＭＤ）を含み得るものであり、それにより、パーソナルコンパニオンは、仮想現実（ＶＲ）コンテンツと一致するＨＭＤ内に表示される追加コンテンツを提供するために（例えば、ＶＲを拡張する情報を提供する、すなわち、拡張現実を実施するために）、ＨＭＤによって表示されるＶＲコンテンツから更新を受信し得る。
【００４６】
また、コンパニオン１００は、住居の機能（例えば、加熱及び冷却のためのサーモスタットの設定、換気制御、窓カバー、ネットワーク接続、デジタルコンテンツ配信及び提示、洗濯機及び乾燥機を含む家庭用電気製品等）を自動化するように構成されるホームオートメーションシステム２８０とインターフェースをとることができる。したがって、コンパニオン１００は、ユーザのゲームプレイと同時にディスプレイに最良の照明を提供するために、ホームオートメーションシステム２８０に娯楽室の照明をオフにすることを指示し得る。
【００４７】
加えて、コンパニオン１００は、携帯電話２８５とインターフェースをとり、電話２８５によって提供される様々な機能にアクセスし得る及び／または様々な機能を制御し得る。例えば、コンパニオン１００は、音楽をブロードキャストするために、電話２８５上でストリーミング音楽機能と接続し得る。
【００４８】
図３Ａは、本開示の一実施形態による、ユーザのＡＩモデルによって実装される自律パーソナルコンパニオン１００のブロック図である。前述に紹介したように、コンパニオン１００は、対応するユーザとインターフェースをとり、ローカルＡＩモデル１２０によって、任意の種類（例えば、デジタル、物理等）のサービスを提供するように構成される。ローカルＡＩモデル１２０は、部分的に、ユーザの行動、応答、アクション、反応、要求、及び／または必要性を予測するために、バックエンドサーバ１４０と協働する分散モデルであり得る。コンパニオン１００の様々な例示的コンポーネントが図３Ａに示されるが、他の機能及び／またはコンポーネントは十分にサポートされる。
【００４９】
図３Ａに示されるように、コンパニオン１００は、動作全体を管理するように構成されるシステムコントローラ３５５を含む。例えば、コントローラ３５５は、コンパニオン１００の動作を容易にするために様々なコンポーネントによる使用に利用可能であるハードウェア及びソフトウェアリソースを管理し得る。加えて、コントローラ３５５は、コンポーネント間のインターフェース及び協働を含む、コンパニオン１００内に提供された１つ以上のコンポーネント（例えば、モータ３２０、深度センサ３０５等）を制御し得る。
【００５０】
駆動コントローラ２６５は、コンパニオン１００によって実装される移動機能を管理するように構成される。運動に関する能力は、部分的に、モータアセンブリ３２０（例えば、電動式、燃料式モータアセンブリ等）または推進するための他の手段と、運動をコンパニオン１００に付与するように構成される駆動アセンブリ３７５とによって提供される。いくつかの実施態様では、駆動アセンブリ２７５は、１つ以上の車輪、またはコンパニオン１００の移動を提供するように構成される他の手段（例えば、浮く能力）を含み得る。いくつかの場合、ジャイロスコープ３８０は、静止位置にある間に、または移動しながら、正確な配向にコンパニオン１００を維持するために、安定情報を駆動コントローラ３６５に提供し得る。
【００５１】
コンパニオン１００は、現在の環境を通して、コンパニオンのナビゲーションを補助するように構成されるコンポーネントを含み得る。例えば、深度センサ３０５及び近接センサ３３５は、環境内の固定オブジェクト及び移動オブジェクトに関する情報を提供し得る。具体的には、近接センサ３３５は、コンパニオン１００に密接する、（例えば、表面を検出することによって）オブジェクトの場所を判定するように構成され得る。また、深度センサ３０５は、コンパニオン１００の環境内のオブジェクトの近くの場所及び遠くの場所を判定するように構成され得る。すなわち、センサ３０５及び３３５は、環境内のコンパニオン１００の配置に対するオブジェクトの深度を判定し、継続的更新によって、環境内の（新しい及び更新された）オブジェクトの場所を含む環境のマッピングを生成することが可能である。加えて、深度センサ３０５は、オブジェクトが硬質（例えば、金属デスク）または軟質（例えば、カウチ）であるかどうかを判定する等、オブジェクトの組成を判定するように構成され得る。深度センサ及び近接センサは、電磁場、誘導、無線周波数、熱的変動、赤外周波数、エアフロー等の使用を含む、環境内のオブジェクトの場所及び／または組成を判定するための様々な技術の１つを採用し得る。さらに、画像は、オブジェクト情報（例えば、オブジェクトの相対的位置付け）を提供するために、同様に、他の使用及びサービス（例えば、パーソナル画像及びビデオキャプチャ、ビデオゲーム記録、ユーザの日常活動の記録等）を提供するために、カメラ３２５及び／またはビデオレコーダー３７０によってキャプチャされ得る。
【００５２】
加えて、マップ更新システム３４５は、環境をマッピングするために、部分的に、深度センサ３０５及び近接センサ３３５によって提供される情報を使用し得る。アーキテクチャ設計図、カメラ３２５、ビデオレコーダー３７０等によってキャプチャされた画像を含む他の情報及び／またはデータは、マッピングの目的のためにアクセスされ得る。マッピングシステム３４５は、環境の３次元（３Ｄ）ビューを提供するように構成され得る。例えば、様々なコンポーネントによって収集されたデータ及び／または第三者の情報は、１つ以上の種類の環境のマッピングを生成するために使用されることができる。これらのマッピングは２次元マップ及び３次元マップを含む。さらに、前述に説明したように、マップ更新システム３７５は、１つ以上のツール（例えば、深度センサ３０５及び近接センサ３３５等）を使用して、環境を継続的にマッピングする。例えば、周囲に移動する、または環境内に導入されるオブジェクトは発見可能であり、それにより、オブジェクトの場所は環境のマッピングの中で更新される。他の種類のマッピングは、環境の画像及びビデオツアーを含む。一実施形態では、情報はユーザの住居をマップアウトするために使用され得るものであり、部屋の場所を判定することができ、（例えば、投影スクリーンとしてどれが使用されることができるかを判定する目的のために）部屋の壁を分類することができ、様々な部屋の実画像及び仮想画像は記憶及び提供され得るものであり、住居のビデオツアー及び仮想ツアーは、（例えば、保険、不動産等を示す目的のために）生成され得る。
【００５３】
別の実施形態では、コンパニオン１００は、娯楽、通信等の目的のために、表示システム３１０を含み得る。例えば、表示システム３１０は、ユーザによるインターネット検索の結果を提供するとき、または１つ以上の目的のためにユーザにクエリするとき（例えば、ユーザの一般的な生活状態を尋ねる、ユーザによって様々な要求を明らかにする等）など、ユーザと通信するために使用され得る。加えて、表示システム３１０は、（ゲーム機からの１次ゲームストリームとしてストリームされるゲームアプリケーションをプレイするユーザのゲームプレイを示す）１次ゲームディスプレイ、または２次ゲームストリーム（例えば、ユーザのゲームプレイに関連する情報）を提供するための補助ディスプレイとして使用され得る。表示システム３１０は、映画または他のデジタルコンテンツを示すように構成され得る。表示システム３１０は、ディスプレイによって提供される画像またはビデオに対して音声を提供するためのスピーカまたは音声システム３３０と連動して作動し得る。例えば、ユーザのゲームプレイの音声は、ディスプレイ上に提示されるゲームプレイのビデオに関連して及びそれと同期して提示され得る。
【００５４】
さらに、コンパニオン１００は、娯楽、通信等の目的のために、投影システム３４０を含み得る。投影システムは、ユーザとの通信を提供すること、またはコンソールもしくはバックエンドストリーミングサービスによって提供されるゲームアプリケーションから１次ストリームを表示すること、データの２次ストリームを提供すること（例えば、２次情報もしくは補足情報を提供する、または１次ディスプレイと連動してゲーム世界の拡大図を提供するゲームアプリケーションに対する補助スクリーンとして提供する）、デジタルコンテンツを表示すること等を含む、表示システム３１０と同様の機能を提供し得る。加えて、他の機能は、投影システム３４０によって提供され得る。投影画像が表示システムに対して大きくなり得るため、拡大ビューイングオプションが提供され得る。例えば、異なる種類のビデオ及び／またはイメージング（例えば、ホログラフィック、３Ｄ等）は、コンパニオン１００の投影システム３４０によって提示され得る。
【００５５】
記録システム３１７は、コンパニオン１００によって収集及び／または生成されるデジタル情報のビデオ及び／または音声をキャプチャするように構成される。例えば、ゲームアプリケーションをプレイするユーザのゲームプレイ（例えば、ビデオ及び音声）は収集及び記憶され得る。ユーザがゲームアプリケーションをプレイするときのユーザからの追加音声等の追加情報は、記録システム３１７によって収集され、ゲームプレイのビデオ及び音声と結合し得る。
【００５６】
加えて、ユーザ追跡システム３５０は、ユーザの一般的な移動及び特定の移動を追跡するように構成され得る。一般的な移動は、環境内のユーザの体全体の移動を含む。特定の移動は、ユーザの頭または胴の移動を判定する等、本体の一部にターゲット化され得る。例えば、追跡システムはユーザの様々な体の部分の配向を判定し、頭または体の方向変化を追跡し得る。追跡システム３５０は、カメラ３２５もしくはビデオレコーダー３７０、深度センサ３０５、近接センサ３３５、または他の追跡センサ（例えば、ゲーム機によって提供された等の集積センサまたは第三者のセンサ）等からの画像及びビデオを含む、１つ以上の他のコンポーネントによって提供されたデータを収集し得る。
【００５７】
図３Ｂは、本開示の様々な実施形態の態様を行うために使用されることができる例示的デバイス１００のコンポーネントを示す。例えば、図３Ｂは、一実施形態による、ユーザをサポートしてサービスを提供するデバイスを実装するのに適切な例示的ハードウェアシステムを示し、本デバイスは、部分的に、対応するユーザの行動、アクション、反応、応答、要求、及び／または必要性を予測することが可能であるローカルＡＩモデルによって実施されるサービスを提供するように構成される。このブロック図は、本開示の実施形態を実施するのに適切なパーソナルコンピュータ、ビデオゲームコンソール、携帯情報端末、または他のデジタルデバイスを組み込むことができる、またはそのデバイスであり得る、デバイス１００を示す。デバイス１００は、ソフトウェアアプリケーション及び随意にオペレーティングシステムを起動するための中央処理装置（ＣＰＵ）３０２を含む。ＣＰＵ３０２は１つ以上の同質または異質の処理コアから構成され得る。
【００５８】
様々な実施形態に従って、ＣＰＵ３０２は、１つ以上の処理コアを有する１つ以上の汎用マイクロプロセッサである。さらに、複数の実施形態は、ディープラーニング、コンテンツ分類、及びユーザ分類を行うように構成されるアプリケーションのメディアアプリケーション及び対話（インタラクティブ）型娯楽アプリケーション等の高度な並列アプリケーション及び計算集約的アプリケーションに特に適応するマイクロプロセッサアーキテクチャを伴う１つ以上のＣＰＵを使用して実施されることができる。例えば、ＣＰＵ３０２は、部分的に、ユーザ行動、ユーザのアクション、応答、反応、要求、及び／または必要性を予測し、その予測に基づいてサービスを提供することに関して、学習動作をサポート及び／または行うように構成されるローカルのＡＩエンジン１１０（例えば、ディープラーニングエンジン）を含むように構成され得る。また、ＡＩエンジン１１０は、コンパニオン１００で、ユーザのローカルＡＩモデル１２０を適用するように構成される。加えて、ＣＰＵ３０２は、コントローラ３５５、駆動コントローラ３６５、マップ更新システム３４５等の図３Ａに示されるコンパニオン１００の１つ以上のコンポーネントによって提供される追加機能を提供し得る。
【００５９】
また、ＣＰＵ３０２は、キャプチャ済データを事前に定義または学習されたパターンと、一致シナリオに関連付けられた組み合わせとに一致し得るタグに分類することによって、ユーザに関連するキャプチャ済情報（例えば、ユーザ及び／またはユーザが位置する環境の音声データ及び視覚データ）のコンテクスチュアリゼーションに関連する追加機能を提供し得る。ここで、ある入力データ（例えば、キャプチャ済情報）を考慮する一致シナリオに関連付けられたアルゴリズムの実行により、実施時、自律パーソナルコンパニオン１００によって実装されるＡＩの外面的行動を発生させることによって、キャプチャ済入力データに応答する結果を生成する。例えば、ＣＰＵ３０２は、ユーザ行動のパターンを学習するための学習パターン生成部７０５と、ユーザ行動の学習パターンをタグに分類するためのタグ生成部７１０と、学習パターン及び対応するタグの収集に関連付けられるシナリオ（すなわち、ユーザ行動をコンテクスト化するシナリオ）を構築するためのシナリオビルダー７２０と、入力データ（例えば、ユーザ行動）を考慮して適切なＡＩ応答を生成するために対応するコンテクストシナリオに基づいてアルゴリズムを生成するためのシナリオアルゴリズムビルダー７３０と、ローカルＡＩモデルを構築するためのローカルＡＩモデルビルダー２１０’と、を含む。それらの全ては、ディープラーニングを、１人以上のユーザ及び／またはユーザが位置する環境に関連する学習パターンに適用し、タグ付けによって学習パターンを分類し、学習パターン及び関連タグの組み合わせに関連付けられるシナリオを構築し、実行時に、固有ユーザ及び／またはユーザが位置する環境のキャプチャ済データに応答して、シナリオアルゴリズムを構築するように構成される。これらのコンポーネントのより詳細な説明は図７Ａに提供される。具体的には、ユーザ及び／またはユーザの環境のキャプチャ済データに基づいて、パターン認識モジュール７５０、タグ識別子７５５、タグ一致エンジン７６０、シナリオ及びシナリオアルゴリズム選択エンジン７７０、シナリオアルゴリズム実行エンジン７８０、及びアクション実行エンジン７９０は、タグの収集セットにグループ化されることができる対応する既定タグで、キャプチャ済データのユーザ行動のパターンを識別し、収集タグをシナリオに関連付けられる既定タグのセットと比較し、重みを、タグの収集セットと、既定タグの対応するセットとの対応する一致品質を定義する既定タグのセットに割り当て、既定タグのセット及び対応する重みを降順でソートし、最高一致品質の重みを有するタグの一致セットに関連付けられる一致シナリオを選択するように構成される。これらのコンポーネントのより詳細な説明は図７Ｂに提供される。
【００６０】
図示されるように、マップ更新システム３４５は、コンパニオン１００内に位置するハードウェアベースデバイスによって実装され得る。具体的には、マップ更新システム３４５は、コンパニオン１００が位置する環境のマッピングを発生するように構成される。このマッピングは、環境の空間内の位置を定義する新たに生成及び／またはフォーマットされる座標系等のローカルの位置付けシステムを含み得る。例えば、座標系は、全地球測位システム（ＧＰＳ）、もしくは３Ｄデカルト座標系、座標系の混合（例えば、部屋毎の個々の座標系と適合する建物の部屋を定義する間取図）、または任意の適切な位置付けシステムの値を取り入れ得る。
【００６１】
メモリ３０４は、ＣＰＵ３０２によって使用されるアプリケーション及びデータを記憶する。ストレージ３０６は、不揮発性ストレージと、アプリケーション及びデータ用の他のコンピュータ可読媒体とを提供し、固定ディスクドライブ、取り外し可能ディスクドライブ、フラッシュメモリデバイス、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙ（登録商標）、ＨＤ−ＤＶＤ、または他の光学式ストレージデバイス、ならびに信号伝送及びストレージ媒体を含み得る。ユーザ入力デバイス３０８は、１人以上のユーザからのユーザ入力をデバイス１００に通信し、その例は、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、静止画レコーダー／カメラもしくはビデオレコーダー／カメラ、及び／またはマイクロホンを含み得る。ネットワークインターフェース３１４は、デバイス１００が電子通信ネットワークを介して他のコンピュータシステムと通信することを可能にし、インターネット等のローカルエリアネットワーク及び広域ネットワークを通した有線または無線通信を含み得る。音声プロセッサ３１２は、ＣＰＵ３０２、メモリ３０４、及び／またはストレージ３０６によって提供される命令及び／またはデータからアナログまたはデジタル音声出力を生成するように適応される。ＣＰＵ３０２、メモリ３０４、データストレージ３０６、ユーザ入力デバイス３０８、ネットワークインターフェース３１０、及び音声プロセッサ３１２を含むデバイス１００のコンポーネントは１つ以上のデータバス３２２を介して接続される。
【００６２】
グラフィックスサブシステム３１４は、さらに、データバス３２２と、デバイス１００のコンポーネントと接続される。グラフィックスサブシステム３１４は、グラフィックス処理ユニット（ＧＰＵ）３１６及びグラフィックスメモリ３１８を含む。グラフィックスメモリ３１８は、出力画像の画素毎に画素データを記憶するために使用される表示メモリ（例えば、フレームバッファ）を含む。グラフィックスメモリ３１８は、ＧＰＵ３１６と同じデバイス内に統合される、ＧＰＵ３１６と別個のデバイスとして接続される、及び／またはメモリ３０４内に実装されることができる。画素データは、ＣＰＵ３０２から直接、グラフィックスメモリ３１８に提供されることができる。代替として、ＣＰＵ３０２は、ＧＰＵ３１６に所望の出力画像を定義するデータ及び／または命令を提供し、そのデータ及び／または命令から、ＧＰＵ３１６が１つ以上の出力画像の画素データを生成する。所望の出力画像を定義するデータ及び／または命令は、メモリ３０４及び／またはグラフィックスメモリ３１８内に記憶されることができる。ある実施形態では、ＧＰＵ３１６は、シーンのジオメトリ、照明、シェーディング、質感、運動、及び／またはカメラパラメータを定義する命令及びデータから出力画像の画素データを生成するための３Ｄレンダリング能力を含む。ＧＰＵ３１６は、さらに、シェーダプログラムを実行することが可能である１つ以上のプログラム可能実行ユニットを含み得る。一実施形態では、ＧＰＵ３１６は、ＡＩエンジン１９０’内に実装され、追加処理電力をＡＩまたはディープラーニング機能等に提供し得る。
【００６３】
グラフィックスサブシステム３１４は、表示デバイス３１０上に表示される、または投影システム３４０によって投影される画像の画素データをグラフィックスメモリ３１８から定期的に出力する。表示デバイス３１０は、ＣＲＴ、ＬＣＤ、プラズマ、及びＯＬＥＤディスプレイを含むデバイス１００からの信号に応答して、視覚情報を表示することが可能である任意のデバイスであり得る。例えば、デバイス１００は、表示デバイス３１０にアナログまたはデジタル信号を提供することができる。
【００６４】
本明細書に説明される実施形態が任意の種類のクライアントデバイス上で実行され得ることを理解されたい。いくつかの実施形態では、クライアントデバイスは、ヘッドマウントディスプレイ（ＨＭＤ）または投影システムである。
【００６５】
図４Ａ〜図４Ｃは、本開示の一実施形態による、対応するユーザの住居環境内の自律パーソナルコンパニオン１００の例示的実装を示す。前述に紹介したように、コンパニオン１００は、ローカルＡＩモデル１２０を通して、サービスをユーザに提供するように構成される。ここで、ＡＩモデル１２０は任意のバックエンドサーバから独立して作動し得るものであり、または、バックエンドサーバに位置するＡＩモデル１２０と分散方式で作動し、部分的に、ユーザの行動、応答、アクション、反応、要求、及び／または必要性を予測し得る。コンパニオン１００が様々なシナリオ下で様々なサービスを提供するように構成されるが、図４Ａ〜図４Ｃは、ユーザ４５０がゲーム機２４１上で実行する（またはバックエンドサーバで実行され、ゲーム機によってストリームされる）ゲームアプリケーションをプレイし、コンパニオン１００が補足情報をユーザ４５０のゲームプレイに提供することが可能である、シナリオを示す。
【００６６】
図示されるように、ユーザは娯楽室等の住居環境４１０内に位置する。部屋は２つの壁４１５Ａ及び４１５Ｂを含む。環境４１０はカウチ４０５を含む。ユーザはゲーム機２４１へのアクセスを有する。具体的には、ゲームアプリケーションは、ユーザ４５０のゲームプレイに関連して、ゲーム機２４１（または、任意の他のデバイス）によって実行及び／またはストリーミングしており、ゲームプレイはコントローラ４２０等によってユーザ入力に応答する。ゲームプレイの１次ストリームは作成され、ゲームプレイのビデオはディスプレイ３１０に配信される。加えて、ゲームプレイの音声は、音声システム（図示しない）によって提供され得る。ゲームアプリケーションはオープンロードレーシングゲームであり得るものであり、ユーザはレースで車の運転者をプレイしている。スクリーンショット４２５はディスプレイ３１０に配信されるビデオストリームの画像を示し、近づいて来る道路を示すレース車のフロントガラスから外にある及びダッシュボードにわたるビュー、ならびにハンドル及びダッシュボードの様々な計器を含む。
【００６７】
加えて、コンパニオン１００は環境４１０内に位置し、ロボットのフォームファクター１０５と、ユーザ４５０のローカルＡＩモデル１２０を実装するように構成されるＡＩ１１０とを含む。例えば、ＡＩ１１０は、バックエンドサーバ１４０でＡＩエンジン１９０と協働するＡＩエンジン１９０’であり得る。ＡＩ１１０によって実装されるローカルＡＩモデル１２０は、部分的に、サービスをゲームプレイに関連するユーザ４５０に提供するように構成される。したがって、コンパニオン１００は、少なくとも、ゲームアプリケーション及び／またはゲームプレイについての情報を受信するためにゲーム機２４１に通信可能に結合され得る。例えば、当該情報は、ゲームのタイトル及びバージョン、ゲームプレイのゲーム状態を含み得る。加えて、コンパニオン１００は、ゲームアプリケーションの２次ストリームに提供される情報を含み得る。例えば、ゲーム機２４１は、ディスプレイ３１０上に提示される１次ストリームと、コンパニオン１００によって（例えば、ディスプレイ、プロジェクション、スピーカ等によって）提示される２次ストリームとを生成し得る。
【００６８】
一実施形態では、コンパニオン１００は、ユーザのゲームプレイをサポートする補助を提供するように構成され、当該情報は、ゲームアプリケーションをプレイするユーザ及び他のプレイヤーのゲームプレイに関連し得る。いくつかの実施態様では、当該情報は、ゲームアプリケーションに関連する一般的な情報を提供し得る。補足情報は、ゲームプレイを進める際に支援をユーザ４２０に提供し得る。例えば、当該支援はユーザ４２０が目標を達成する（例えば、あるレベルを越える）ことを助けるコーチングの形式としてもよく、一般的または直接的に、ユーザがゲームアプリケーション内で目標を達成することを助けるコントローラ入力を示す視覚的刺激を含み得る。コンパニオンアプリケーションによって提供される補足情報の詳細な説明は、全体として参照することによって本明細書に組み込まれる、同時係属の特許出願である題名「ＧＡＭＥ  ＰＬＡＹ  ＣＯＭＰＡＮＩＯＮ  ＡＰＰＬＩＣＡＴＩＯＮ」（米国特許出願第１５／４７６，５９７号、２０１７年３月３１日出願）に提供されている。
【００６９】
図４Ｂは、図４Ａに紹介したユーザ４５０のゲームプレイに関連する補足情報を提供するためにゲーム機２４１とインターフェースをとる自律パーソナルコンパニオン１００を示す。例えば、図４Ｂは、ゲーム機２４１によって実行される、またはゲーム機２４１によってストリームされるゲームアプリケーションをプレイする環境４１０内のユーザ４５０を示す。具体的には、図４Ｂは、ゲームアプリケーションの３次元（３Ｄ）ゲーム世界と、ユーザの物理的環境との統合を示す。図示されるように、コンパニオン１００は、ゲームアプリケーションの３Ｄゲーム世界の一部を物理的環境４１０に投影するように構成される。例えば、コンパニオン１００は、スクリーンショット４２５を示すことを継続するディスプレイ３１０上で提示されるものを越えて３Ｄ世界のビューを拡張することが可能である。具体的には、コンパニオン１００は、ディスプレイ３１０上に提示され、（スクリーンショット４２５を含む）１次ビデオストリームと同時に、ビデオストリーム（スクリーンショット４３０を含む）をゲームアプリケーションの２次ストリームとして投影する。
【００７０】
加えて、本開示の一実施形態に従って、ユーザ４５０の視線の方向に応答して、コンパニオン１００によって提供される投影を行い得る。例えば、コンパニオン１００の、または機能コンパニオン１００と連動して作動する視線追跡システムは、ゲームプレイ中に、ユーザ４５０の視線の方向をキャプチャするように構成される。例証のように、ユーザがレースしているとき、音は、頭部の移動をもたらし得る環境４１０内で一方向に提供され得る。図示されるように、ユーザ４５０の頭部は右に著しく曲がる。ディスプレイ３１０上で１次ストリーム内部に表示される右側を指す矢印等で、他の要因をサポートする。例えば、コンパニオン１００の聴音機及び投影システムは、生じる音を生成し得る、または、またゲームアプリケーションのゲーム世界内の発生点に対応する環境４１０内の場所から生じるように作られる。音は、ユーザ４５０によって制御される運転者を通過することを試みる競争相手のエンジンから生じ得るものであり、運転者の右に、または、より具体的には、運転席の右側から生じ得る。ユーザの頭部が右に曲がり、通過するレーサーの良好なビューを獲得するとき、ユーザ４５０の視点から視認されるゲーム世界の当該部分の投影はエリア４４３内の壁４１５Ａ上に提示される。ここで、投影は、ゲーム世界内のオブジェクトの大体適切な場所に及びユーザによってプレイされるキャラクタの場所に関して提示され、キャラクタの位置はユーザ４５０の物理的な位置に関連付けられる。図示されるように、２次情報の投影のスクリーンショット４３０は、右側で通過するレースカーＮｏ．７８を含む。
【００７１】
一実施形態では、エリア４４３は、事前に達成した環境４１０のマッピング処理中、発見されている場合がある。マッピング処理は、エリア４４３が補足情報及び／またはコンテンツを表示するのに適切であり得ることが発見されていた。コンパニオン１００自体は、補足情報を適切に提示するために、環境４１０内の壁４１５Ａ及び／またはユーザ４５０に対して位置し得る。
【００７２】
図４Ｃは、本開示の一実施形態による、ゲームアプリケーションの３Ｄゲーム世界の拡張が、図４Ａ〜図４Ｂに紹介したゲームアプリケーションの３Ｄゲーム世界の統合の別の例を示し、ここで、この拡張は、ユーザ４５０のゲームプレイの１次ストリームを示すディスプレイ３１０の横に投影される。図示されるように、２次情報または補足情報を壁４１５Ａ上に投影する代わりに、当該情報はディスプレイ３１０のちょうど右の壁４１５Ｂ上に投影される。例えば、環境４１０のマッピング処理中、壁４１５Ａが画像の投影をサポートできないことが判定され得る。すなわち、コンパニオン１００が壁４１５Ａ上に投影される場合でさえ、ビデオストリームは視認可能ではないだろう（例えば、壁４１５Ａは本箱を含む）。したがって、コンパニオン１００は、特に、ゲームアプリケーションの１次ビデオを示すディスプレイ３１０に関して、ゲーム世界内の投影におけるオブジェクトの場所の適切な検知をさらに少し伝える補足情報をエリア４４０内の壁４１５Ｂ上に投影し得る。別の実施態様では、投影はディスプレイ３１０上に提示されるビデオストリームの拡張である。したがって、コンパニオン１００は、通過位置にあるレースカーＮｏ．７８を含む図４Ｂのスクリーンショット４３０に類似するスクリーン４３０’を含む補助ビデオストリームをエリア４４０上に投影する。スクリーンショット４３０’は、ディスプレイ３１０上に提示されるキャラクタの運転者の視点（例えば、スクリーンショット４２５）によって表される、運転席の右側に投影される。
【００７３】
一実施形態では、壁４１５Ｂ上への投影は、ディスプレイ３１０の中心から外れて、ユーザ４５０の視線によってもたらされ得る。図示されるように、ユーザがゲーム環境内にいるであろうとき、ユーザ４５０の頭部は約９０度曲がらないが、むしろ、壁４１５Ｂのビューエリア４４０に対して４５度曲がる。他の実施形態では、投影は、ゲームアプリケーションの実行中、コンパニオン１００によって自律的に生成され得る。例えば、補足情報は、コンパニオン１００によって自動的に投影され、ユーザ経験の向上をもたらし得る。この場合、他の補足情報は、他の機会に、環境４１０内の他の場所に提供され得る。
【００７４】
図５は、本開示の一実施形態による、ヘッドマウントディスプレイ（ＨＭＤ）５１５及び物理的環境５１０を使用して、ユーザ５５０によってプレイされるゲームアプリケーションの３Ｄ仮想現実（ＶＲ）世界の統合を示す。図５に示されるように、ユーザ５５０は、ユーザ５５０のゲームプレイに関連して、ゲーム機２４１上で実行している（または、バックエンドサーバで実行する、ゲーム機によって、もしくは任意の他のデバイスによってストリームされる）ゲームアプリケーションをプレイしており、ゲームプレイは、コントローラ４２０等によるユーザ入力及び／またはＨＭＤ５１５の移動に応答する。
【００７５】
前述に説明したように、コンパニオン１００は、ローカルＡＩモデル１２０によってユーザにサービスを提供するように構成され、ＡＩモデル１２０は任意のバックエンドサーバから独立して作動でき、または、バックエンドサーバに位置するＡＩモデル１２０と分散方式で作動し、部分的に、ユーザの行動、応答、アクション、反応、要求、及び／または必要性を予測し得る。コンパニオン１００は、ロボットフォームファクター１０５と、ユーザ５５０に対応するＡＩモデル１２０を実装するための人工知能とを含む。
【００７６】
より具体的には、コンパニオン１００は、ゲームアプリケーションの仮想現実（ＶＲ）ゲーム世界の一部を物理的環境５１０に投影するように構成される。例えば、ＶＲゲーム世界の投影５２０は、環境５１０内の壁（図示しない）に行われ得る。投影５２０は、また、コンパニオン１００によって制御される物理ディスプレイによって行われ得る。このように、ユーザ５５０によって体験するビューは、また、傍観者５５５に提示され得る。一実施形態では、本開示の一実施形態による、傍観者５５５がユーザ５５０のＶＲゲーム世界の経験に同時参加することを可能にするように、ユーザ５５０の視線の方向に応答して、投影が行われる。したがって、環境５１０が投影に適切な場合、ユーザ５５０がＶＲゲーム世界を視認するときに配向が変化するにつれて、コンパニオン１００は、また、ＶＲゲーム世界内の適切な場所に密接に対応するように、投影５２０を環境５１０内の異なる場所に変化させ得る。すなわち、ユーザ５５０の頭部が反時計回りに９０度曲がり、投影５２０は、ユーザ５５０の左に、また、傍観者５５５の左にある壁上になされ得る。そのように、傍観者は、物理的環境５１０内にコンパニオンアプリケーションによって投影されるＶＲゲーム世界の検知を獲得し得る。
【００７７】
図６Ａ〜図６Ｅは、本開示の実施形態に従って、コンパニオンが図１〜図５に示されるコンパニオン１００によって実装され得る、自律パーソナルコンパニオンの様々な例示的形態を示す。図６Ａ〜図６Ｈに示されるコンパニオンは、ローカルＡＩモデル１２０によって対応するユーザにサービスを提供するように構成され、ＡＩモデル１２０は任意のバックエンドサーバから独立して作動でき、または、バックエンドサーバに位置するＡＩモデル１２０と分散方式で作動し、部分的に、ユーザの行動、応答、アクション、反応、要求、及び／または必要性を予測し得る。
【００７８】
具体的には、図６Ａは、本開示の一実施形態による、ユーザのＡＩモデルによって実装されるユーザのためのコンパニオン６００Ａの例示的形態を示す。図６Ａが一般的なフォームファクターを示しているが、コンパニオン６００Ａは任意の適切なフォームファクター内に実装され得る。例えば、形状上部よりも小さい直径の下部を伴う円錐形を有する本体６０１が示される。上側筐体６０５は、本体６０１から突出し、コンパニオン６００Ａの追加機能を容易にし得る。
【００７９】
具体的には、コンパニオン６００Ａは、下部に１つ以上の車輪６０９、またはコンパニオン６００Ａの２次元もしくは３次元の移動を提供するための任意の適切な手段を含む。そのように、コンパニオン６００Ａは、必要に応じて環境内で周囲に移動し、そのサービスを提供し得る。例えば、コンパニオン６００Ａは、環境の周囲に独立して移動し、環境の最良の画像をキャプチャし得る、または、ビデオ及び／または画像を投影するための最良の場所を選択し得る。加えて、本体６０１は１つの場所で回転し、最良の配向を環境内のコンパニオン６００Ａに提供し得る。
【００８０】
図６Ｂは、本開示の複数の実施形態に従って、部分的に、画像の投影、近接環境の検知、及び補助音の提供を含む機能の配列が構成される自律パーソナルコンパニオン６００Ｂの例を示す。具体的には、本体６０１を伴う一般的なフォームファクターと、図６Ａに最初に紹介したものとを有するコンパニオン６００Ｂが示される。加えて、車輪６０９は環境を通して運動するための能力を表すように示される。
【００８１】
コンパニオン６００Ｂは、本体６０１の全体を通して配置されるスピーカ６１０を含む。加えて、スピーカ６１０は、上側筐体６０５等のコンパニオン６００Ｂの他の部分に位置し得る。ディスプレイ３１０は本体６０１の表面上に位置し、対応するユーザのためのサービスを行うとき、情報及び／またはデータを提示するように構成される。例えば、ディスプレイ３１０は、応答に関してユーザにクエリするとき、テキストを表示し得る、またはユーザからのクエリに応答してビデオもしくはテキストを提示し得る。ディスプレイ３１０は、また、ゲームアプリケーションをプレイするユーザのゲームプレイに関連して生成されるもの等の他の補足情報を提示し得る。
【００８２】
コンパニオン６００Ｂは環境を検知するために使用される１つ以上のセンサを含み、センサはコンパニオン表面上の様々な場所に位置し得る。例えば、深度センサ３０５は本体６０１の上部の表面上に位置してもよく、深度センサは、環境内のオブジェクトの近く及び遠方で場所を判定するように構成される。１つ以上の深度センサ３０５は、また、オブジェクトの組成またはオブジェクトの表面硬度を判定するために使用され得る。加えて、１つ以上の近接センサ３３５は上側筐体６０５の表面内に位置してもよく、近接センサはコンパニオン６００Ｂの近くのオブジェクトの場所を判定するように構成され得る。前述に説明したように、深度センサ及び近接センサは、オブジェクトの場所を判定するために信号６２５によって示される様々な技術（例えば、電磁場、誘導、無線周波数、熱的変動、赤外周波数、エアフロー等）を採用し得る。
【００８３】
加えて、本体６０１の上部は、環境の音声記録をキャプチャするように構成される１つ以上のマイクロホン３１５を含む。例えば、対応するユーザの音声は、より遅い時間でリプレイされ得るユーザの生の反応をキャプチャするように記録され得る。また、記録音声は、カプセル６５０内に位置するビデオレコーダー３７０によってキャプチャされる記録済ビデオと同期し得る。また、画像カメラ３２５はカプセル６５０内に位置し得る。画像カメラ３２５及びビデオレコーダー３７０の組み合わせは、コンパニオン６００Ｂがユーザ及び／または環境のビデオ及び／または画像をキャプチャすることを可能にする。
【００８４】
図示されるように、カプセル６５０は様々な程度の運動及び配向を有する。カプセル６５０はリフト機構６５５に取り付けられ、コンパニオン６００Ｂの本体６０１に対して上下に移動することができる。例えば、カメラ３２５またはレコーダー３７０がオブジェクト（例えば、壁、カウチ、家具、本箱等）によってブロックされるとき等、カプセル６５０自体が上がり、環境の最良のビューを獲得し得る。加えて、カプセル６５０はリフト機構６５５のシャフトを中心に回転でき、それにより、回転は静止物体６０１に対して生じ得る。
【００８５】
コンパニオン６００Ｂの上側筐体は１つ以上の投影システム３４０を含み得る。前述に説明したように、投影システム３４０は、補足情報を環境の表面（例えば、部屋の壁）に投影し得る。前述に説明したように、環境のマッピングによって、表面を判定し得る。コンパニオン６００Ｂがサービスをユーザに提供するとき、補足情報はユーザと通信するために使用され得る。
【００８６】
図６Ｃは、本開示の一実施形態による、１つ以上の機能（例えば、画像キャプチャ及び画像投影）が構成されるドローンアセンブリ６５１を含む自律パーソナルコンパニオン６００Ｃの例を示す。図示されるように、コンパニオン６００Ｃは、総称的に表される本体６０１、移動のための手段（例えば、示される車輪６０９）、ディスプレイ３１０、近接センサ３３５、及び投影システム３４０のプロジェクタを含む、前述に紹介した１つ以上の機能を有する。前述に紹介した他の機能は、明確にする目的のために図示しない。
【００８７】
具体的には、コンパニオン６００Ｃは、静止位置にあるとき、上側筐体６０５（または、アセンブリ６５１を受容することが可能である任意の他の適切な表面エリア）に結合されるドローンアセンブリ６５１を含む。例えば、ドローンアセンブリ６５１は、電池を充電する目的のために、上側筐体６０５とインターフェースをとり得る。別個のベースステーション等の、コンパニオン６００Ｃからリモートにある他の静止場所が想到される。さらに、ドローンアセンブリ６５１は、コントローラ３５５等のコンパニオン６００Ｂの１つ以上のコンポーネントに通信可能に結合される。画像カメラ３２５及び／またはビデオレコーダー３７０は、画像及びビデオをキャプチャする目的のために、ドローンアセンブリ６５１上に位置し得る。また、投影システム６４０のプロジェクタ等の他のコンポーネントはアセンブリ６５１上に位置し得る。
【００８８】
図示されるように、ドローンアセンブリ６５１は環境内で周囲を移動することが可能である。プロペラシステム、エアフローシステム、至軽風システム、テザリングシステム等の移動を提供するための任意の適切な手段が想到される。したがって、ドローンアセンブリ６５１は、環境全体を通して３次元内で移動し、それ自体が環境内で回転することが可能である。カメラ３２５及び／またはビデオレコーダー３７０を、画像及び／またはビデオをキャプチャするために良好な位置に設置するために、移動は必要であり得る。例えば、コンパニオン１００の本体６０１及び上側筐体６０５に対応する点から撮影されたある方向の部屋のビューは、オブジェクトによってブロックされ得る。ドローンアセンブリ６５１は、ビューをキャプチャするために、（例えば、直線状に）オブジェクトによって妨害されない場所に配備され得る。
【００８９】
図６Ｄは、本開示の一実施形態による、１つ以上の機能が構成される回転上部６３０を含む自律パーソナルコンパニオン６００Ｄの例を示す。対応するユーザのローカルＡＩモデル１２０を実装するのに適切な異なるフォームファクターを示すコンパニオン６００Ｄが示される。図示されるように、コンパニオン６００Ｄは基部６２０を含む。車輪６０９’または前述に説明した任意の他の適切な運動手段等の移動手段が基部６２０内に提供される。
【００９０】
具体的には、コンパニオン６００Ｄは、カメラ３２５、ビデオレコーダー３７０、深度センサ３０５、近接センサ３３５等を含み得る上部６３０を含む。例証のために、上部６３０は基部６２０を中心に回転可能であり得る。そのように、コンパニオン６００Ｄ自体がサービスをユーザに最良に提供するために正しい位置に配向し得る（例えば、ユーザと通信するために良好な位置にコンパニオン６００Ｄ自体を設置する）。すなわち、コンパニオン６００Ｄ及び回転上部６３０の移動機能を組み合わせることで、コンパニオンの様々な配向が、その環境内で可能である。例えば、上部６３０は、環境内のオブジェクトに向かって回転し、カメラシステムにオブジェクトの良好なビューを与え得る。さらに、コンパニオン６００Ｄは、オブジェクトのより近くに移動し、カメラシステムにオブジェクトの良好なビューを与え得る。
【００９１】
いくつかの実施態様では、上部６３０の回転により、感情を伝えることが可能である、またはコンパニオン６００Ｄのいくつかの行動を表示することが可能である。この場合、上部６３０は感情を示すためにプログラムされる多色照明が装備され得る。例えば、光のバンド６３１は上部６３０に示される。バンド６３１の光のそれぞれは、対応するパターンに従ってオンまたはオフし得る。加えて、バンド６３１の光のそれぞれは、対応するパターンに従って一連の色を示し得る。テーブル６３２は光パターン（例えば、オン／オフ、色順序等）のリストを示し、各パターンはコンパニオン１００の対応する感情に関連付けられ得る。例えば、パターン１は第１の幸福感情に関連付けられてもよく、パターン２は第２の種類の幸福感に関連付けられ得る。無関心、怒り、悲しみ、不機嫌等を示す他の感情は、他のパターンによって表され得る。
【００９２】
図６Ｅは、本開示の一実施形態による、１つ以上の付属品６４０を含む自律パーソナルコンパニオン６００Ｅの例を示す。図示されるように、コンパニオン６００Ｅは、総称的に表される本体６０１と、移動のための手段（例えば、示される車輪６０９）とを含む、前述に紹介した１つ以上の機能を有する。前述に紹介した他の機能は、明確にする目的のために図示しない。
【００９３】
具体的には、付属品６４０はコントローラ機能を提供し得る。例えば、付属品６４０はコントローラ４２０を含み得るものであり、ゲーム機上のまたはバックエンドサーバにおけるゲームアプリケーションの実行中、制御命令を提供する目的のためにゲーム機２４１とインターフェースをとり得る。一実施形態では、１つ以上の付属品６４０は、より容易に操作し及び取扱うために取り外され得る。そのように、ユーザは、ゲームコントローラを取扱う通常様式で付属品６４０とインターフェースをとり得る。
【００９４】
一実施形態では、付属品６４０のそれぞれはベース充電ポートに結合することが可能である再充電ポートで構成される。内蔵電池（図示しない）は対応する付属品６４０内に位置する。回転軸６０２に関連付けられる接続部内等にあるベース充電ポートは本体６０１上に位置し得る。そのように、付属品６４０が本体６０１の後部で交換されるとき、内蔵電池の充電が発生し得る。すなわち、一実施形態では、電力（例えば、電荷）は、コンパニオン６００Ｅの本体６０１を通って、付属品６４０の内蔵電池に移送される。別の実施形態では、電力は反対方向に移送され、それにより、電力は内蔵電池からコンパニオン６００Ｅに移送される。そのように、付属品６４０は、電力をコンパニオン６００Ｅに供給するための１次再充電媒体として構成でき、本体６０１から分離したベース充電ステーションに電気的に及び／または通信可能に結合するために取り外され得る。付属品６４０が離されている間（例えば、再充電中）、コンパニオン６００Ｅは、内蔵電池電源を使用して動作することを継続でき、いったん付属品６４０が本体６０１に再び結合されると、電池電源を再充電することができる。
【００９５】
一実施形態では、付属品６４０は、コンパニオン６００Ｅのアームの役割を果たす。例えば、付属品６４０は、本体６０１上で回転軸６０２を中心に移動し得る。付属品６４０の移動はいくつかの通信を提供し得る。例えば、付属品６４０の移動のパターンは、コンパニオン６００Ｅによる挨拶の信号を送り得る。別の例では、付属品６４０は、コンパニオン６００Ｅの歓迎姿勢を示すように本体６０１から外向きに拡張し得る。さらに別の例では、付属品６４０は拡張し、握手または最初のぶつかりをユーザに提供し得る。他の運動が想到される。加えて、他の実施形態では、付属品は任意の形態または構成であり得る。例えば、コンパニオン６００Ｅの付属品として構成されるヘッドまたは上側筐体６０５は本体６０１から着脱可能であり得る。
【００９６】
本開示の実施形態は、本開示の実施形態に従って、自律パーソナルコンパニオンに関する様々な代替フォームファクターをサポートする。さらなる実施形態は、直接またはネットワークを通してのいずれかで、２つの自律パーソナルコンパニオン１００の間で通信を提供する。例証のように、コンパニオンのそれぞれは部屋の周囲を移動することが必要である建物内の部屋のマッピングに関連する動作を行い得るものであり、その移動中、一方または両方のコンパニオンは、近接する別のコンパニオンを検知し得る。コンパニオン自体、さらに、相互に通信する目的のための位置に移動し得る。一実施態様では、コンパニオンのそれぞれは、対応するＱＲコード（登録商標）に関連付けられ得る。ＱＲコード（登録商標）は識別情報を交換するために使用され得る。例えば、ＱＲコード（登録商標）は、（例えば、バックエンドサーバを介して）対応するコンパニオンについての情報へのアクセスを提供する。したがって、コンパニオン自体が、ＱＲコード（登録商標）が渡され得る場所に移動し得る（例えば、第２のコンパニオンのカメラシステムの視界の範囲内に第１のコンパニオンのＱＲコード（登録商標）を示すディスプレイを持っていく）。いったんキャプチャされると、次に、ＱＲコード（登録商標）は、キャプチャ済ＱＲコード（登録商標）に関連付けられるコンパニオンについての識別情報にアクセスするために、ネットワークを通してサーバに配信され得る。そのように、識別情報はコンパニオン間で交換され得る。
【００９７】
キャプチャ済ユーザデータを記述する識別済タグに基づくシナリオ選択とキャプチャ済データに応じた関連シナリオアルゴリズムの実行
本開示の様々な実施形態は、適宜に、ＡＩとして実装される自律パーソナルコンパニオンに関するシステム及び方法を説明する。ここで、ＡＩは、個別の支援をユーザに提供する目標に伴い、ユーザに関するコンテクストに基づいて識別されている情報のディープラーニングエンジンによって訓練されたモデル（例えば、ローカルＡＩモデル）を利用する。一実施形態では、訓練されたモデルは、パーソナルコンパニオンによって実装されるＡＩの行動選択方針の役割を果たす。ローカルＡＩモデルは、携帯型である自律パーソナルコンパニオンによって実装され、最良に、データを受信し、データを収集し、環境を検知し、データを配信するために、自律的に移動して、それ自体を位置付けるように構成され得る。自律パーソナルコンパニオンは、コンテクストに基づいて関連のある及び個別化された支援をユーザに提供するように構成可能である。パーソナルコンパニオンは、図１〜図６で前述に紹介されたものである。ローカルＡＩモデルの個別化は、モデルを生成するためにディープラーニングエンジン１９０内で使用される主観的及び／または客観的な入力データをフィルタリングすることによって達成される。フィルタリングを行わない場合、ＡＩモデル（ローカル及びグローバル）の全ては、同じデータセットを使用して構築され、したがって、全て同じであり、したがって、同じ性質を有する（例えば、所与の入力セットに対して同じ結果を達成する）だろう。そのように、ローカルＡＩモデルは性質を変化させることで生成され、それにより、各ＡＩモデルは一意であり、対応するユーザの性質を反映することができる、または対応するユーザの性質に関連付けられることができる。加えて、本開示の実施形態は、ユーザに関連するキャプチャ済情報（例えば、ユーザ及び／またはユーザが位置する環境の音声データ及び視覚データ）のコンテクスチュアリゼーションを開示する。ここで、キャプチャ済情報はタグのセットに分類され、タグはユーザ行動の事前に定義した学習パターンと、ユーザ行動のコンテクスチュアリゼーション（例えば、ユーザの行動、アクション、応答、要求、及び／または必要性の予測）を提供するシナリオに関連付けられたタグの組み合わせまたは収集物とに一致する。すなわち、一致シナリオは、一致タグの組み合わせに基づいて判定されることができ、一致シナリオは対応するアルゴリズムを有する。入力されるキャプチャ済データを考慮する一致アルゴリズムの実行により、実施時、キャプチャ済ユーザデータに応答する結果を生成する。具体的には、結果は、ＡＩが一致シナリオに基づいてサービスを提供する応答を提供するようなＡＩの外面的行動であり得る。
【００９８】
図７Ａは、本開示の一実施形態による、ユーザの監視された行動から判定されたユーザ行動の複数の学習パターンに基づいて、複数のシナリオを構築するためにＡＩを機能させるように構成される自律パーソナルコンパニオン１００のブロック図である。ここで、シナリオは、実施時、キャプチャ済データ（例えば、現在のユーザデータ）に基づいて結果（例えば、パーソナルコンパニオンによって実装されるＡＩの外面的行動）を生成する一致アルゴリズムを有する。一実施形態では、図７Ａに説明される機能及び特徴は、パーソナルコンパニオン１００内に全体的に実装される。一実施形態では、図７Ａに説明される機能及び特徴は、パーソナルコンパニオン、図１Ａ及び図２のバックエンドサーバ１４０、またはその２つの組み合わせに実装され得る。具体的には、図７Ａのコンポーネントは、（ユーザ環境を含む）固有ユーザまたは一般ユーザの行動の学習パターンを構築するために、１人のユーザ及び／または複数のユーザが経験するシナリオの構築のために、一致シナリオに関するキャプチャ済ユーザデータに応答する固有ユーザのローカルＡＩモデルの構築のために、１人のユーザのキャプチャ済／監視済データ７０１及び複数のユーザのキャプチャ済／監視済データ７０３に対するディープラーニングまたはＡＩの適用を開示する。
【００９９】
ユーザ入力データ７０１及び複数のユーザからの入力データ７０３は、部分的に、固有ユーザのローカルＡＩモデル１２０を構築するためにＡＩエンジンに提供され得る。図７Ａは、ＡＩエンジン１１０が自律パーソナルコンパニオン１００に対してローカルにあることを示しているが、様々な構成は、図７Ａに示されるコンポーネントのローカル機能または分散機能を提供するために採用され得ることが理解される。具体的には、入力データ７０１及び７０３は学習パターン生成部７０５によって受信され、学習パターン生成部７０５は、ユーザの行動に関連する学習パターン（例えば、生体情報、アクション、感情、予想、望み、好み、要求、必要性等）と、ユーザの環境に関連するパターンとを生成するように構成される。複数の学習パターン７０６は、ストレージ（バックエンドサーバ１４０におけるローカルメモリ３０４及び／またはストレージ等）内に置かれ得る。
【０１００】
学習パターン７０６のそれぞれは、１つ以上のタグに関連付けられ得る。具体的には、タグ生成部７１０は、ユーザ行動の学習パターンを分析し、学習パターンを記述するタグを生成するように構成される。例えば、１つ以上のタグは、対応する学習パターンを記述するために使用され得る。タグは、学習パターンを分類するために使用でき、本開示の実施形態で検索または一致を行うために使用され得る。タグ生成部７１０によって生成される複数の既定タグ７１１は、ストレージ（バックエンドサーバ１４０におけるローカルメモリ３０４及び／またはストレージ等）内に置かれ得る。
【０１０１】
加えて、シナリオビルダー７２０は、ユーザのグループに関連する固有ユーザ及び／または一般ユーザのコンテクスト環境に関連するシナリオを定義するように構成される。具体的には、１つ以上の学習パターンは一緒にグループ化でき、それにより、その組み合わせは、シナリオとして定義される特定のコンテクスト環境を記述するために使用される。したがって、シナリオは、ユーザ行動のコンテクスチュアリゼーション（例えば、ユーザの行動、アクション、応答、要求、及び／または必要性の予測）を提供する。例えば、シナリオは、デジタルコンテンツ（例えば、テレビ、映画、短いカット等）を見るために１人以上の友達と一緒に金曜日の夜の着席セッションを含む、対応するユーザまたは一般ユーザに関するコンテクストを記述し得る。すなわち、学習パターン及び／またはその対応するタグは、シナリオを記述するために使用され得る。したがって、各シナリオは、ユーザ行動の学習パターンの対応するセットに基づき、それに関連し、学習パターンのセットは既定タグのセットに基づき、それに関連する。
【０１０２】
加えて、シナリオアルゴリズムビルダー７３０は、各シナリオに対応するアルゴリズムを生成するように構成される。いったんユーザまたは一般ユーザのコンテクスト環境がシナリオによって定義されると、アクションが所与のコンテクスト環境を行うために対応する自律パーソナルコンパニオン１００に適切であることを命令するアルゴリズムを構築することができる。具体的には、シナリオアルゴリズムビルダーは、学習パターンのセットと、様々なシナリオを定義する既定タグのセットとを分析し、シナリオ毎に対応するアルゴリズムを構築する。各アルゴリズムは、実施時、対応するパーソナルコンパニオンによって、ユーザのコンテクスト環境に関連するキャプチャ済ユーザデータに応答する結果を生成するために実行されることができる。すなわち、ある入力（例えば、キャプチャ済ユーザデータ）を考慮して実行されるときのアルゴリズムは、ＡＩの外面的行動であり得る結果を生成し、それにより、ＡＩは、コンテクスチュアリゼーションを提供するシナリオに基づいて、サービスを提供する応答を提供する。
【０１０３】
図７Ａに示されるように、複数のシナリオ７２１は、ユーザ行動の学習パターンの対応するセット７２２に基づいて構築され、それに関連し、また、既定タグの対応するセット７２３に基づき、それに関連し、複数のシナリオ７２１は複数のシナリオアルゴリズム７２４に対応する。例えば、シナリオＳ−１は、学習パターンの対応するセット（ＬＰｓ−１）、対応するタグセット−１、及びシナリオアルゴリズムＡ−１を有し、シナリオＳ−２は、学習パターンの対応するセット（ＬＰｓ−２）、対応するタグセット−２、及びシナリオアルゴリズムＡ−２を有し、続いて、最大ｎ番目のシナリオＳ−ｎは、学習パターンの対応するセット（ＬＰｓ−ｎ）、対応するタグセット−ｎ、及びシナリオアルゴリズムＡ−ｎを有する。
【０１０４】
一実施形態では、対応するシナリオの一致アルゴリズムは粘着係数を有し、粘着係数を有し得る。例えば、シナリオ及び一致アルゴリズムは、ユーザデータの連続収集に基づいて、現在のシナリオに対する可能性のある更新を考慮するとき、シナリオの有効期限に関連する優先度が与えられ得る。いくつかのシナリオは、それらのシナリオがユーザによって繰り返して遭遇され得る点で高い優先度（例えば、高い粘着係数）を有し得るものであり、それにより、現在のシナリオ及びその対応するアルゴリズムは、ユーザの現在のコンテクスト環境を良好に表し得る新しいシナリオを上回る優先度を有し得る。他のシナリオは、そのシナリオがユーザによって遭遇する最小のもの（例えば、１回または２回）であり得る点で低い優先度を有し得るものであり、低い優先度（例えば、低い粘着係数）を有するシナリオは、新しいシナリオと容易に交換され得る。したがって、複数のシナリオの複数のアルゴリズムのそれぞれ毎の粘着係数を定義し得る。
【０１０５】
学習パターン、タグ、シナリオ、及びシナリオアルゴリズムの組み合わせは、ユーザのローカルＡＩモデル１２０を定義し得る。具体的には、ローカルＡＩモデルビルダー２１０’は、様々なシナリオ及び関連情報（例えば、学習パターンのセット、既定タグの対応するセット、複数のシナリオアルゴリズム等）に基づいて、ローカルＡＩモデルを構築するように構成され得る。そのように、図７Ｂに関してさらに説明されるように、自律パーソナルコンパニオン１００は、ユーザ及び／またはユーザの環境に関連するデータをキャプチャし、ローカルＡＩモデル１２０に基づいて、対応するシナリオ及びシナリオアルゴリズムに一致し得る識別済タグを使用して当該キャプチャ済データをコンテクスト化するように構成され得る。ここで、一致アルゴリズムは、実行時、パーソナルコンパニオンによって行われるときに、キャプチャ済ユーザデータに対する応答を提供する結果（例えば、ＡＩの外面的行動）を生成した。
【０１０６】
図７Ｂは、本開示の一実施形態による、観察されたユーザ行動の識別された学習パターンに基づいてユーザのコンテクスト環境を判定し、観察されたユーザ行動に応答するために、コンテクスト環境に関する一致シナリオ及び対応するアルゴリズムを判定するように構成される、自律パーソナルコンパニオンのブロック図である。一実施形態では、図７Ｂに説明される機能及び特徴は、パーソナルコンパニオン１００内に全体的に実装される。一実施形態では、図７Ｂに説明される機能及び特徴は、パーソナルコンパニオン、図１Ａ及び図２のバックエンドサーバ１４０、またはその２つの組み合わせに実装され得る。具体的には、図７Ｂのコンポーネントは、ユーザのローカルＡＩモデルを使用してキャプチャ済ユーザデータに基づくユーザまたはユーザの環境のコンテクスチュアリゼーションと、キャプチャ済データに関する学習パターン及び関連タグの識別と、シナリオと識別済タグとの一致と、実施時、キャプチャ済データに応答する結果（例えば、ＡＩの外面的行動）を生成するためにキャプチャ済データを使用した対応するシナリオアルゴリズムの実行とを開示する。そのように、対応するユーザのローカルＡＩモデルは、部分的に、特に、ユーザによって経験される、または動かされる所与の環境またはシナリオ内で、所与の入力のセット（例えば、キャプチャ済データ）に関するユーザの応答、アクション、行動、要求、及び／または必要性を予測し、結果としてＡＩの外面的行動を生成するコンテクスチュアリゼーションまたは予測に基づいて、アルゴリズムを実行することが可能であり、それにより、ＡＩは、ユーザ行動のコンテクスチュアリゼーションに基づいて、サービスをユーザに提供する応答を提供する。
【０１０７】
図示されるように、ユーザ入力データ７０１は、自律パーソナルコンパニオン１００に入力される。例えば、下記に説明されるように、ユーザが監視されるとき、キャプチャ済データは、入力データの変化に基づいて継続的に更新される１つ以上のシナリオにコンテクスト化されることができるパーソナルコンパニオンに継続的に入力される。具体的には、入力データはパターン認識モジュール７５０によって受信され、パターン認識モジュール７５０は、入力データを分析し、入力データ内の学習されたユーザ行動のパターンを判定及び／または識別するように構成される。例えば、これらのパターンは、ディープラーニングエンジン１９０によって構築される事前に定義した学習パターンと同様であり得る。例えば、入力データの特徴は、事前に定義した複数の学習パターン７０６の事前に定義した学習パターンの特徴と同様であり得る。
【０１０８】
識別パターンはタグ識別子モジュール７５５に配信される。識別パターンはタグを使用して分類される。すなわち、キャプチャ済データは、データの識別パターンに関するタグを使用して記述される。したがって、キャプチャ済データの組み合わせ、より具体的には、ユーザ及び／またはユーザの環境（例えば、ユーザのコンテクスト環境）を記述するタグの収集セット７５６が生成される。
【０１０９】
タグ一致／コンパニオンエンジン７６０は、タグの収集セット７５６を受信し、タグを学習パターンのセット７２２に対応する既定タグの既定セット７２３と比較するように構成される。ストレージ３０４は、学習パターンのセット７２２及び既定タグのセット７２３を記憶するように構成され得る。具体的には、既定タグの各セットは、既定パターンまたは学習パターンの対応するセットを有する。したがって、タグコンパニオン／一致エンジン７６０は、キャプチャ済ユーザデータを、既定タグの一致セット７６１に対応する既定パターンまたは学習パターンの識別済セットに一致するように構成される。既定タグのセット及びその対応する学習パターンは、ユーザ行動のコンテクスチュアリゼーション（例えば、ユーザの行動、アクション、応答、要求、及び／または必要性の予測）を提供し得るシナリオを定義する。具体的には、タグの収集セットを複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較する。前述に説明したように、各シナリオはユーザ行動の１つ以上の既定パターンと、既定タグの対応するセットとに対応し、シナリオはディープラーニングによって定義され得る。加えて、既定タグのセットをタグの収集セットと比較するとき、重みは既定タグのセットのそれぞれに割り当てられ得る。各重みは、タグの収集セットと既定タグの対応するセットとの対応する一致品質を定義する。例えば、既定タグの複数のセットは、降順で重みに基づいてソートされ得る。入力データ７０１及びタグの収集セットに対する一致シナリオは選択され得るものであり、一致シナリオは最高の一致品質がある対応する重みを有するタグの一致セットに関連付けられる。一実施形態では、最良適合アルゴリズムは、識別済タグを既定タグの一致セットと一致させるために使用される。他の実施形態では、いずれかの技術は、タグを一致させるために使用され得る。
【０１１０】
シナリオ及びシナリオアルゴリズム選択エンジン７７０は、既定タグ７６１の一致セットを受信するように構成される。学習パターンの各セット及び既定タグの対応するセットは、シナリオに対応する。前述に説明したように、各シナリオは、実行時、対応する自律パーソナルコンパニオンによって行われるときにキャプチャ済データに応答する結果を生成する対応するアルゴリズムを有する。例えば、結果はパーソナルコンパニオンによって実装されるＡＩの外面的行動であり得る。すなわち、キャプチャ済データに基づいてシナリオを識別することによって、ユーザのコンテクスト環境が判定され得るものであり、それにより、パーソナルコンパニオンによる適切な応答が行われ得る。具体的には、シナリオ／アルゴリズム選択エンジン７７０は、学習パターンの識別済セット及び既定タグの一致セット７６１を一致シナリオに一致させるように構成され、一致シナリオは対応する一致アルゴリズム７７１を有する。前述に説明したように、学習パターンのセット７２２は、既定タグのセットに対応し、既定タグのセットは複数のシナリオ７２１に対応し、複数のシナリオ７２１は複数のシナリオアルゴリズムに対応する。
【０１１１】
図７Ｂに示されるように、一致アルゴリズム７７１は、実行エンジン７８０によって実行され、ユーザの行動を分類し得る結果７８１を生成する。結果は、部分的に、（例えば、ユーザによって動かされる、または遭遇する所与のシナリオを定義する）特定の入力のセット７０１を考慮する固有ユーザの応答、アクション、行動、要求、及び／または必要性の予測であり、予測に応答するＡＩによってサービスを提供し得る。結果は、ユーザのキャプチャ済データ７０１に対する応答７９１を提供するために、自律パーソナルコンパニオンのアクション実行エンジン７９０によって行われる。一実施形態では、図７Ｃにさらに説明されるように、結果は、一致アルゴリズムの実行によって選択される１つ以上のアクションを含む。そのように、パーソナルコンパニオンは、キャプチャ済データを、ユーザ行動の事前に定義した学習パターンに関連付けられるタグ、一致シナリオに関連付けられたタグの組み合わせに分類することによって、キャプチャ済ユーザデータ（例えば、ユーザ及び／またはユーザが位置する環境の音声データ及び視覚データ）をコンテクスト化するように構成される。ここで、ある入力データ（例えば、キャプチャ済情報）を考慮する一致シナリオに関連付けられたアルゴリズムの実行により、実施時、キャプチャ済入力データに応答する結果（例えば、パーソナルコンパニオンによって実装されるＡＩの外面的行動）を生成する。
【０１１２】
図７Ｃは、本開示の一実施形態による、ユーザ入力データ７０１に応答して、一致シナリオの一致アルゴリズム７７１の実行を示す。一致アルゴリズム７７１は、所与のシナリオの入力データに応じて行われる複数の可能性があるアクション（ａ１、ａ２、ａ３…ａ−ｎ）を含み得る。例えば、ユーザデータ７０１は一致アルゴリズム７７１に入力され、ユーザデータは第１のユーザに関連して収集される。一致アルゴリズム７７１は、一致シナリオに関連付けられる。例えば、前述の例で使用したシナリオは、午後７時頃に職場から帰宅するユーザに集中したものであり得る。
【０１１３】
ユーザ入力データ７０１との一致アルゴリズム７７１の実行は、経路７９６によって示される１つ以上のアクションを選択し、経路７９６のアクションは結果７８１を定義する。例証として、経路７９６はアクションａ１１、ａ９、ａ１５、ａ３、ａ１９、ａ１４、及びａ２２を含む。（例えば、一致アルゴリズムの実行によって判定される）経路７９６のアクションはユーザ入力データに基づいてユーザのコンテクスト環境に応答して行われる予定であり、コンテクスト環境は、ユーザが火曜日の午後７時に職場から帰宅する。経路７９６が連続的に結び付けられる及び／または行われる動作を示すが、他の実施形態は、連続経路または非連続経路でのアクションの選択（例えば、同時にアクションを行うこと）に適切である。
【０１１４】
例証の目的のために、経路７９６のアクションは、ユーザとの通信を容易にするために、ユーザのより近くに移動し、ユーザとインタラクションを行いながらリラックス音楽を再生し、及び／またはデータを収集し、ユーザによってインタラクションを行うためのゲームアプリケーションを開始することとを含み得る。パーソナルコンパニオンは、火曜日はユーザが夜にゲームを行うことを学習している場合があり、したがって、アクションの１つはゲームアプリケーション（例えば、ユーザがインタラクションしている最後にプレイしたゲームアプリケーション）を開始する予定をしている。加えて、アクションは、開始する同じゲームアプリケーションをプレイする際に、友達のボビーが高スコアにちょうど達したことのユーザへの通知（例えば、ユーザとボビーとの間で行われる）を提供することを含み得るものであり、入力の１つは、高スコアを示すボビーからからのソーシャルネットワークデータの収集物及び伝送物であり得る。アクションの別の例証では、ボビーがマルチプレイヤーゲームアプリケーションをプレイ中であることの通知が提供され得るものであり、ユーザがマルチプレイヤーゲームアプリケーションをボビーと一緒にプレイしたいかどうかを質問するクエリがユーザに提示される（答えが「Ｙｅｓ」である場合、マルチプレイヤーゲームアプリケーションは開始する）。アクションのさらに別の例証では、ユーザが、ユーザの母親と一緒にビデオ会議を開始することを望むかどうかを質問するクエリがユーザに提示され得る。
【０１１５】
経路７９６の少なくとも１つのアクションは、サービスをユーザに提供する自律パーソナルコンパニオンを移動させることを含む。経路７９６では、太字のアクションａ３及びａ２２は、それぞれ、パーソナルコンパニオンの移動を含む。例えば、移動は、データを収集するために良好な位置にいるために、またはユーザと通信するために良好な位置にいるために、パーソナルコンパニオンをユーザのより近くに位置付けることを含み得る。他の場合、移動は、ユーザを追いかけることを含み得るものであり、それにより、ユーザが部屋または住宅または建物の全体を通って移動するとき、パーソナルコンパニオンは、また、ユーザと一緒に移動する。さらに他の場合、移動は、表示可能面（例えば、部屋の壁）の上への画像の投影を容易にする場所にパーソナルコンパニオンを位置付けることを含み得る。例えば、パーソナルコンパニオン自体が、壁上に画像を投影するための（マッピングによって事前に判定した）最良の場所に位置し得る。この場合、画像の移動及び投影は、経路７９６で行われる別個のアクションである。
【０１１６】
図７Ｃは、また、ユーザ入力データ７０１’の別個のデータセットに基づいて、一致アルゴリズム７７１によって生成される異なる経路７９７を示す。具体的には、ユーザ入力データ７０１’との一致アルゴリズム７７１の実行は、経路７９７によって示される１つ以上のアクションを選択し、経路７９７のアクションは結果７８１’を定義する。例証として、経路７９７はアクションａ１１、ａ１３、ａ３、ａ２０、ａ１９、ａ５、ａ１４，及びａ１８を含む。経路７９７のアクションはユーザ入力データに基づいてユーザのコンテクスト環境に応答して行われる予定であり、コンテクスト環境は、ユーザが水曜日の午後７時に職場から帰宅する。
【０１１７】
経路７９７は経路７９６と同様であり得るが、異なるアクションを含む。例えば、データ７０１’は同じユーザからのものであるが、異なる日のものであり得る。シナリオは同じであり得（例えば、ユーザが午後７時に職場から帰宅する）、したがって、同じ一致アルゴリズム７７１を実行する。しかしながら、異なる日、水曜日であるため、ユーザ入力７０１’は部分的にわずかに異なる。ユーザが毎週水曜日の午後７時にテレビ番組Ｘを見ることが判定されている場合があり、したがって、水曜に、パーソナルコンパニオンは、（例えば、別個のディスプレイ上で、またはコンパニオンに対してローカルにあるディスプレイ上で）その番組をプレイするアクションを起こす。したがって、アクションの１つとしてゲームアプリケーションを開始する代わりに、水曜日であるため、テレビ番組が開始する。
【０１１８】
加えて、経路７９７の少なくとも１つのアクションは、サービスをユーザに提供する自律パーソナルコンパニオンを移動させることを含む。経路７９７では、太字のアクションａ３は、前述に説明したそれらの移動等のパーソナルコンパニオンの移動を含む。
【０１１９】
一実施形態では、一致アルゴリズム７７１は、異なるユーザの異なるパーソナルコンパニオンで使用される。例えば、同じ家庭では、それぞれ、サービスを提供する独自のパーソナルコンパニオンを有する２人のユーザが存在し得る。この場合、ロボット１０５の同じ本体は、２つの異なるパーソナルコンパニオンをサポートし得る。別の例では、相互から完全に分離した（例えば、実世界の異なる部分に位置する）２人のユーザが存在し得る。ユーザのそれぞれは、ユーザ自身のパーソナルコンパニオンを有する。これらの場合の両方では、シナリオは同様であり得る（例えば、午後７時に職場から帰宅する、またはちょうど職場から帰宅している）。したがって、一致アルゴリズム７７１はこれらのユーザの全てに等しく適用可能である。これらの場合、第２の経路７９７は、ユーザ入力データ７０１’に基づいて、第２のユーザのために行われるアクションを提供する。
【０１２０】
ネットワークを通して通信する１つ以上のＡＩエンジンの様々なモジュールの詳細な説明により、図８のフロー図８００は、本開示の一実施形態による、自律パーソナルコンパニオンによるサービスを、キャプチャ済データのコンテクスチュアリゼーションに応答するユーザに提供するために、ユーザ及び／またはユーザの環境に関連するキャプチャ済ユーザデータ（例えば、音声データ及び視覚データ）をコンテクスト化するための方法を開示する。例えば、コンテクスチュアリゼーションは、観察されたユーザ行動の識別された学習パターンに基づいて、一致シナリオ及び対応するアルゴリズムの判定を含む。前述に説明したように、フロー図８００は、前述に説明した、及び／またはバックエンドサーバ１４０と組み合わせて、コンパニオン１００内（例えば、ＡＩエンジン１９０内）で実施され得る。
【０１２１】
８１０において、本方法は、ユーザの行動に関連するデータをキャプチャする。より具体的には、キャプチャ済データは、ユーザ及び／またはユーザが位置する環境に関連するデータを含む。例えば、データは、ユーザ及び／または環境に関連するキャプチャ済みの音声及び視覚データを含み得る。一実施形態では、データはサービスをユーザに提供する自律パーソナルコンパニオンによってキャプチャされる。
【０１２２】
８２０において、本方法は、データを分析し、複数の既定パターンまたは学習パターンに関連付けることができるデータ内のユーザ行動の１つ以上のパターンを識別する。すなわち、識別パターンは、１人のユーザを含む複数のユーザの監視されたデータに人工知能を使用して構築された事前に定義した学習パターンと同様であり得る。さらに、複数の既定の学習パターンのそれぞれは、対応する既定タグに関連付けられる。
【０１２３】
より具体的には、ユーザのＡＩモデルは、部分的に、ユーザの行動、生体情報、アクション、感情、期待、所望、好み、要求、必要性等を予測することに適応される複数の既定パターンまたは学習パターンに基づいて構築され得る。例えば、ユーザの監視された行動に関連するデータにアクセスし、複数のユーザの監視された行動に関連するデータにアクセスすることによって、ローカルＡＩモデルを構築する。複数の既定パターンまたは学習パターンが判定され、既定パターンまたは学習パターンは、ユーザ行動のコンテクスチュアリゼーションを提供するシナリオを判定するとき等、１人のユーザ及び複数のユーザの監視された行動にＡＩを機能させることによって、ユーザの行動を予測するために使用されることができる。より具体的には、既定パターンまたは学習パターンは、ユーザのコンテクスト環境を定義するために使用され得るものであり、それにより、特に、ユーザによって経験される、または動かされる所与の環境またはシナリオ内で、所与の入力のセット（例えば、キャプチャ済データ）に関するユーザの応答、アクション、行動、要求、及び／または必要性の予測に基づいて判定され得る。結果として、ユーザのＡＩモデルは、ユーザに適合される既定パターンまたは学習パターンに基づいて構築され得る。
【０１２４】
８３０において、識別パターンをタグの収集セットとして分類することを含み、収集セットのタグは１つ以上の識別パターンに関連付けられる。すなわち、キャプチャ済データの識別パターンはタグによって定義されることができ、またはタグに関連付けられることができる。ここで、各識別パターンは、その対応するタグで分類されることができる。一実施形態では、タグは識別パターンに基づいて生成される。すなわち、識別パターンは、そのパターンを記述するために使用されるタグが一般的に生成され得る様式で区分化される。他の実施形態では、タグのプールからのタグは識別パターンを定義するために使用され、タグのプールは人工知能を使用して構築される事前に定義した学習パターンに関連付けられる。したがって、前述に説明したように、識別パターンは、さらに、人工知能を使用して構築された学習パターンに関連して事前に生成されたタグによって定義される。
【０１２５】
８４０において、本方法は、前述に説明したように、タグの収集セットを複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較することを含み、各シナリオは行動の１つ以上の既定パターンと、既定タグの対応するセットとに対応する。人工知能を使用して構築された既定パターンまたは学習パターンに基づいて、複数のシナリオを構築することができ、複数のシナリオは既定タグの複数のセットに関連付けられる。具体的には、各シナリオは既定パターンまたは学習パターンのセットによって定義され、既定パターンまたは学習パターンのセットは既定タグのセットに対応する。各シナリオは識別される対応するユーザ行動のコンテクスチュアリゼーションを提供し得る。
【０１２６】
８５０において、本方法は、比較に基づいて、重みを既定タグのセットのそれぞれに割り当てることを含む。各重みは、タグの収集セットと既定タグの対応するセットとの対応する一致品質を定義する。例えば、重みは、タグの収集セットと、特定のシナリオに関連付けられる既定タグの対応するセットとの品質の一致を示すソート係数であり得る。したがって、８６０において、既定タグの複数のセットは、降順で対応する重みによってソートされ得る。８７０において、本方法は、最高の一致品質を有する対応する重みを有する既定タグの一致セットに関連付けられるタグの収集セットに関する一致シナリオを選択する。すなわち、８６０で前述に説明したように、結果として生じるシナリオは、シナリオ順序またはソートスコアに基づいて、疑似ランダムに選択される。
【０１２７】
一致シナリオの一致アルゴリズムは、キャプチャ済データに応答するために使用されることができる対応するパーソナルコンパニオンによって実装されるＡＩの外面的行動を判定するためにキャプチャ済データを考慮して実行されることができる。例えば、一致シナリオの一致アルゴリズムに入力されるキャプチャ済データが提供され、一致アルゴリズムは、実施時、キャプチャ済ユーザ入力に基づいて、（例えば、一致シナリオに基づいて）ユーザの要求及び／または必要性の予測に応答する、結果（すなわち、ＡＩの判定された行動）を生成するために実行される。具体的には、ユーザのローカルＡＩモデルは、ディープラーニングエンジンによって生成される複数のアルゴリズムを含み、各アルゴリズムは、ある入力データに基づいて識別及び／または一致されることができる対応するシナリオに関する応答を提供するために実行されることができる。すなわち、ユーザの任意の所与のコンテクスト環境に関して、ユーザのローカルＡＩモデルは、環境に関する適切な応答を判定することができる。具体的には、キャプチャ済ユーザデータは、タグを使用してキャプチャ済ユーザデータを分類することによって、タグをディープラーニングによって生成された事前に定義した学習パターンのタグに一致させることによって、キャプチャ済ユーザデータのコンテクスチュアリゼーションを提供する一致シナリオを判定することによって、コンテクスト化されることができる。一致シナリオに関する一致アルゴリズムは、コンテクスチュアリゼーションに対する適切な応答を提供する。例えば、入力データは、午後７時の時刻に、ユーザが職場から帰宅する、ユーザがカウチに座る等の、タグを使用してユーザコンテクストを判定するために分析され得るものであり、次にユーザが部屋を通してブロードキャストされるリラックス音楽を望むことを示す結果を提供する。加えて、ユーザデータは、ユーザが常に午後７時に職場から帰宅し、所望のリラックス音楽を判定すること等、ユーザ行動のパターンを判定するために分析され得る。
【０１２８】
さらに、本方法は、キャプチャ済データに応答して、結果（例えば、パーソナルコンパニオンによって実装されるＡＩの外面的行動）に基づいて、１つ以上のアクションを行うことを含む。例えば、アクションは、一致アルゴリズムの実行によって選択される。上記に提供した例を使用して、結果は、一般的にユーザが帰宅したとき１日の終わりに所望のリラックス音楽を望んだことを示す。したがって、自律パーソナルコンパニオンによって行われるために必要なアクションは、それ自体の音声スピーカによって、リラックスするいくつかのデジタルコンテンツ（例えば、音楽、音楽ビデオ、メディエーティングバックグラウンドミュージック等）をブロードキャストする。追加アクションは、また、結果をサポートして行われ得る。例えば、リラックスを促進することが知られている光のパターンは、パーソナルコンパニオンから、壁上に、またはユーザの一般環境に投影され得る。また、光のパターンはパーソナルコンパニオン上に表示され得る。
【０１２９】
少なくとも１つのアクションは、自律パーソナルコンパニオンを移動させることを含む。例証目的だけのために事前に説明したように、移動は、データを収集するために良好な位置にいるために、またはユーザと通信するために良好な位置にいるために、パーソナルコンパニオンをユーザのより近くに位置付けることと、ユーザが部屋または住宅または建物の全体を通って移動するとき、パーソナルコンパニオンもまた、ユーザと一緒に移動するように、ユーザを追いかけることと、表示可能面（例えば、部屋の壁）の上への画像の投影を容易にする場所にパーソナルコンパニオンを位置付けること等を含み得る。
【０１３０】
要するに、本開示の複数の実施形態は、ユーザの行動及び／またはユーザの環境に関するキャプチャ済ユーザデータ（例えば、音声データ及び視覚データ）のコンテクスチュアリゼーションを提供する。コンテクスチュアリゼーションは、タグを使用してキャプチャ済ユーザデータを分類することによって、タグをディープラーニングによって生成された事前に定義した学習パターンのタグに一致させることによって判定される。すなわち、コンテクスチュアリゼーションを提供する一致シナリオは、一致タグの組み合わせに基づいて判定されることができ、一致シナリオは対応するアルゴリズムを有する。入力されるキャプチャ済データを考慮する一致アルゴリズムの実行により、実施時、キャプチャ済ユーザデータに応答する結果（例えば、パーソナルコンパニオンによって実装されるＡＩの外面的行動）を生成する。
【０１３１】
一実施形態では、現在のシナリオがアクティブである間、シナリオ変化が判定される。具体的には、図８に略述されるシナリオ選択プロセスは連続的に動作する。例えば、本方法は、継続してデータを収集する。そのように、コンテクストの変化は、更新された収集タグ（例えば、更新されたタグの収集セット）に基づいて判定されることができる。本方法は、前述に紹介した、更新されたタグの収集セットを複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較する。更新された重みは、比較に基づいて、既定タグのセットのそれぞれに割り当てられる。既定タグの複数のセットを降順で対応する更新された重みによってソートされる。本方法は、最高の一致品質がある対応する更新された重みを有する更新された既定タグの一致セットに関連付けられる更新されたタグの収集セットに対する更新された一致シナリオを選択する。すなわち、新しいシナリオスコアが現在のシナリオスコアよりも大きくなるとすぐに、シナリオスイッチは実行される。加えて、「粘着」要因は、粘着係数が現在のシナリオが優先度を有することを示すときに、新しいシナリオスコアがより大きくなる場合でさえ、現在のシナリオスコアがそのシナリオのままであり得るように考慮され得る。例えば、粘着係数は、現在のシナリオの重みを高くし得る、または現在のシナリオの期限が切れ得る前に一定期間を提供し得る。
【０１３２】
具体的には、シナリオが変化すると、ユーザ入力は継続的に変化する。すなわち、ユーザのコンテクストが継続的に変化し、したがって、コンテクストを定義する関連シナリオは継続的に更新する。本開示の実施形態は、ターゲット（例えば、ユーザ）と、タグへのキャプチャ済データ（例えば、視覚データ及び音声データ）の変化するコンテクスチュアリゼーションとに基づいて、シナリオアルゴリズムを動的に切り替えることを提供する。例えば、キャプチャ済データは継続して収集される。更新される収集タグに基づいてコンテクストの変化を判定し得る。例えば、第１のタグが概して第２のタグ関連付けられるが第３のタグに関連付けられないように、タグは概して一緒にグループ化され得る。タグは、コンテクストの変化が発生していた、または発生中であることが判定され得る一般的な関連性から一緒にグループ化され得る。加えて、タグのグループ化は、コンテクストの変化に関連付けられている人工知能によって学習され得る。前述に説明した収集タグは、一致シナリオに対応するタグの第１の収集サブセットに分けられ得る。加えて、収集タグの残りは、タグの第２の収集サブセットとして定義され得る。
【０１３３】
タグの第２の収集サブセットは、別のコンテクスト及び／または別のシナリオに関連付けられ得る。具体的には、タグの第２の収集サブセットは、既定タグの複数のセットと比較される。加えて、タグの第２の収集サブセットは、比較に基づいて、既定タグの第２の一致セットに一致され、既定タグの第２の一致セットは第２の一致シナリオに対応する。第２の一致シナリオは、第２の一致アルゴリズムに関連付けられる。
【０１３４】
さらに、実行に関するアルゴリズムは、一致アルゴリズムから、第２の一致シナリオに対応する第２の一致アルゴリズムに切り替えられ得る。また、キャプチャ済データ、またはタグの第２の収集サブセットに対応するキャプチャ済データのサブセットは、第２の結果を生成するために第２の一致アルゴリズムに入力され得る。ユーザの自律パーソナルコンパニオンは、キャプチャ済データに応答する、またはタグの第２の収集サブセットに対応するキャプチャ済データのサブセットに応答する第２の結果に基づいて、第２のアクションを行い得る。
【０１３５】
一実施形態では、入力データは、収集タグの少なくとも１つに基づいて分類され得る。具体的には、キャプチャ済入力データは、音声データであり得る。音声データは、コマンドスピーチ、バックグランドシナリオスピーチ、及び会話スピーチのうちの１つとして分類され得る。分類に応じて、応答は、分類に合わせて調整され得る。例えば、音声データがコマンドタイプのスピーチとして分類される場合、自律パーソナルコンパニオンからの応答は特定のコマンドを反映し得る。例えば、コマンドスピーチが、誰が昨晩のゲームに勝ったかを質問するクエリに関連する場合（例えば、前述に紹介した例）、適切な応答はクエリに対する答えになるだろう。加えて、音声データが会話スピーチとして分類される場合、適切な応答は、（例えば、認識された話題を継続するための）追加の会話スピーチであろう。また、音声データがバックグランドスピーチとして分類される場合、適切な応答ではない場合があり、そのとき、アクティブ応答を要求する適切なコンテクストが判定されるまで、パーソナルコンパニオンがユーザデータを監視することを継続する。
【０１３６】
さらに別の実施形態では、キャプチャ済入力データは、少なくとも１つの収集タグに基づいて、ユーザの感情状態（例えば、嬉しい、悲しい、錯乱、静観等）を定義するシナリオに一致され得る。判定された感情状態に基づいて、適切な応答が提供され得る。例えば、治療応答はユーザに自律パーソナルコンパニオンによって提供され得る。例えば、ユーザが感情として悲しいことが判定される場合、パーソナルコンパニオンは、ユーザを元気づけることが分かっている音声（例えば、音楽）及び照明を提供し得る。音声は、（例えば、超音波、超低周波、可聴音等を含む様々な周波数において）任意の形式を使用して伝送され得る。別の例では、応答は、パーソナルコンパニオンが、ユーザが特に楽しむ短いビデオカットを表示することであり得るものであり、それによって、ユーザに幸福感を提供する。さらに別の実施形態では、応答は、ユーザを元気づける方法でパーソナルコンパニオンをアニメ化するためのものであり得る。例えば、パーソナルコンパニオンは、照明、移動、音等によるユーモアのある様式で、照明のパターンまたは行為を表し得る。すなわち、ユーザを元気づけることが意図される照明のパターンは、また、ユーザを元気づけることが意図される様式で、パーソナルコンパニオンをアニメ化するために、一連の移動に変換され得る。そのように、パーソナルコンパニオンは、ユーザに影響を及ぼし得るものであり、一例では、ユーザの感情状態が悲しいから嬉しいに変化することを助ける。
【０１３７】
一実施形態では、自律パーソナルコンパニオンは、教示または指導の様々な形式を提供し得るように構成される。例えば、パーソナルコンパニオンは、数学的指導を提供するように構成され得るものであり、指導セッション（例えば、ユーザが問題を勉強する、ユーザが質問を明らかにするために尋ねる、ユーザが概念の理解を示す、ユーザが概念を理解していないことを示すこと等）に関連付けられるキャプチャ済ユーザデータに応答としてアクションを行う。１つの例証では、パーソナルコンパニオンは、ピアノレッスンまたはギターレッスン等の音楽を教えるように構成され得る。したがって、パーソナルコンパニオンは、同様に、人間のインストラクターによって提供されるアクション及び教示を行い得る。
【０１３８】
別の実施形態では、一致シナリオは、収集タグの少なくとも１つに基づいて、ユーザの脅威レベルを分類するために使用され得る。言い換えれば、脅威レベルは、ユーザの所与のコンテクスト環境の自律パーソナルコンパニオンによる応答に対して、ユーザがどのように受け入れるかを定義する。例えば、脅威レベルが、ユーザがとても受け入れやすいことを示す場合、パーソナルコンパニオンは、判定済シナリオに関するアクションを行い得る。他方では、脅威レベルが、ユーザがあまり受け入れられないこと（例えば、仕事が忙しい、映画上映時間に間に合わせるために住居から外出するために急ぐ、怒っている等）を示す場合、パーソナルコンパニオンは、判定済シナリオに関するアクションを行わない場合がある。他の中間の脅威レベルは、自律パーソナルコンパニオンによって行われる修正されるアクションに関連付けられ得る。
【０１３９】
したがって、様々な実施形態では、本開示は、タグを使用してキャプチャ済ユーザデータを分類することによって、タグをディープラーニングによって生成された事前に定義した学習パターンのタグに一致させることによって、ユーザ及び／またはユーザの環境に関するキャプチャ済ユーザデータのコンテクスチュアリゼーションのシステム及び方法を説明する。ここで、一致シナリオは、一致タグの組み合わせに基づいて判定されることができ、一致シナリオは対応するアルゴリズムを有し、入力されるキャプチャ済データを考慮する一致アルゴリズムの実行により、実施時、キャプチャ済ユーザデータに応答する結果を生成する。
【０１４０】
本明細書に定義される様々な実施形態は、本明細書に開示される様々な特徴を使用して、特定の実施態様に組み合わされ得る、または組み立てられ得ることを理解されたい。したがって、提供される例は、単なるいくつかの可能である例であり、より多くの実施態様を定義する様々な要素を組み合わせることによって可能である様々な実施態様に限定されない。いくつかの例では、いくつかの実施態様は、開示されるまたは同等の実施態様の主旨から逸脱することなく、より少ない要素を含み得る。
【０１４１】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベース電子機器またはプログラム可能家庭用電子機器、ミニコンピュータ、メーンフレームコンピュータ等を含む様々なコンピュータシステム構成で実践され得る。本開示の実施形態は、また、タスクが有線ベースネットワークまたは無線ネットワークを経由してリンクされるリモート処理デバイスによって行われる分散コンピューティング環境で実践されることができる。
【０１４２】
上記の実施形態を留意して、本開示の実施形態が、コンピュータシステム内に記憶されるデータを含む様々なコンピュータ実施動作を使用することができることを理解されたい。これらの動作は、物理量の物理的処置を要求するものである。本開示の実施形態の一部を形成する本明細書に説明される動作のいずれかは、有用な機械動作である。本開示の実施形態は、また、これらの動作を行うためのデバイスまたは装置に関する。本装置は要求された目的のために特別に構成されることができる、または、本装置はコンピュータ内に記憶されるコンピュータプログラムによって選択的にアクティブになる、または構成される汎用コンピュータであり得る。具体的には、様々な汎用マシンは、本明細書の教示に従って書き込まれたコンピュータプログラムで使用されることができる、または、様々な汎用マシンは、より特殊な装置を構成し、要求動作を行うにあたって更に便利である。
【０１４３】
本開示は、また、コンピュータ可読媒体上のコンピュータ可読コードとして、具体化されることができる。コンピュータ可読媒体は、データを記憶することができる任意のデータストレージデバイスであり、当該データは、その後、コンピュータシステムによって読み取られることができる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ）、読取専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、ならびに他の光学データストレージデバイス及び非光学データストレージデバイスを含む。コンピュータ可読媒体は、ネットワーク連結コンピュータシステムを通して分散されるコンピュータ可読有形媒体を含み得るものであり、これにより、コンピュータ可読コードは、分散様式で記憶及び実行される。
【０１４４】
本方法の動作が特定の順序で説明されたが、オーバーレイ動作の処理が所望の方法で行われる限り、他のハウスキーピング動作は動作間に行われ得る、または動作は、わずかに異なる時間で発生するように調節され得る、もしくは、処理に関連付けられる様々な間隔における処理動作の発生を可能にするシステム内で分散され得ることを理解されたい。
【０１４５】
理解の明確性の目的のために、前述の開示がいくつか詳細に説明されているが、ある変更及び修正が添付の「特許請求の範囲」の範囲内で実践できることが明白である。したがって、本実施形態は、例証であり制限するものではないとして考慮され、本開示の実施形態は、本明細書に与えられた詳細に限定されないが、添付の「特許請求の範囲」の範囲内及びその均等物の範囲内で修正され得る。
【図１Ａ】
0006984004.tif 000002
【図１Ｂ】
0006984004.tif 000003
【図２】
0006984004.tif 000004
【図３Ａ】
0006984004.tif 000005
【図３Ｂ】
0006984004.tif 000006
【図４Ａ】
0006984004.tif 000007
【図４Ｂ】
0006984004.tif 000008
【図４Ｃ】
0006984004.tif 000009
【図５】
0006984004.tif 000010
【図６Ａ】
0006984004.tif 000011
【図６Ｂ】
0006984004.tif 000012
【図６Ｃ】
0006984004.tif 000013
【図６Ｄ】
0006984004.tif 000014
【図６Ｅ】
0006984004.tif 000015
【図７Ａ】
0006984004.tif 000016
【図７Ｂ】
0006984004.tif 000017
【図７Ｃ】
0006984004.tif 000018
【図８】
0006984004.tif 000019