(57)【特許請求の範囲】
【請求項１】
コンピュータにより実行される方法であって、
前記コンピュータが、
ユーザの監視された行動に関連するデータにアクセスし、
前記データをクラス別に分類し、複数のクラスは、前記ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、前記ユーザに特有の主観的データを識別する主観的データクラスとを含むものであり、
前記ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスし、
人工知能（ＡＩ）を実行するように構成される深層学習エンジンへの第１の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、及び前記複数のユーザの複数の客観的データを提供し、
前記第１の入力のセットに反応する場合のユーザの行動を予測する第１の複数の学習されたパターンを決定し、
前記第１の複数の学習されたパターンを含む前記ユーザのローカルＡＩモデルを構築する、
方法。
【請求項２】
前記深層学習エンジンへの第２の入力のセットとして、前記複数のユーザの前記客観的データを提供し、
前記第２の入力のセットに反応する場合の一般的なユーザの行動を予測する第２の複数の学習されたパターンを決定し、
前記第２の複数の学習されたパターンを含む前記複数のユーザ用のグローバルＡＩモデルを構築する、
請求項１に記載の方法。
【請求項３】
前記グローバルＡＩモデルを構築する場合に、前記複数のユーザの複数の主観的データの使用を制限する、
請求項２に記載の方法。
【請求項４】
前記ユーザの前記データの一部をローカル化された主観的データとして分類し、前記複数のクラスはローカル化された主観的データクラスを含む、前記分類し、
前記深層学習エンジンへの第３の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、前記ユーザの前記ローカル化された主観的データ、及び前記複数のユーザの前記客観的データを提供し、
前記第３の入力のセットに反応する場合のユーザの行動を予測する第３の複数の学習されたパターンを決定し、
前記第３の複数の学習されたパターンを含む前記ユーザのプライベートＡＩモデルを構築する、
請求項１に記載の方法。
【請求項５】
前記ユーザの前記ローカルＡＩモデルを構築する場合に、前記ローカル化された主観的データの使用を制限する、
請求項４に記載の方法。
【請求項６】
前記ユーザの前記ローカル化された主観的データのネットワーク配信を防止する、
請求項５に記載の方法。
【請求項７】
前記ユーザの前記データの一部をセキュアデータとして分類し、前記複数のクラスはセキュアデータクラスを含むものであり、
いずれのＡＩモデルを構築する場合にも、前記ユーザの前記セキュアデータの使用を制限する、
請求項１に記載の方法。
【請求項８】
前記ユーザの前記データの一部をセキュアデータとして分類するための第１の命令を前記ユーザから受信し、
前記ユーザの前記セキュアデータを除去するための第２の命令を前記ユーザから受信し、
前記セキュアデータのあらゆる痕跡を削除する、
請求項７に記載の方法。
【請求項９】
前記データは、ゲームコントローラ入力、コンピュータ入力、コンピュータ操作、テキストクエリ、テキスト応答、口頭クエリ、口頭応答、身体合図、バイオメトリクス、ユーザアクション、眼球運動、及び口頭コミュニケーションのうちの少なくとも１つを含む、
請求項１に記載の方法。
【請求項１０】
コンピュータによって方法を実行させるためのコンピュータプログラムを記憶するコンピュータ可読媒体であって、
ユーザの監視された行動に関連するデータにアクセスするためのプログラム命令と、
前記データをクラス別に分類するためのプログラム命令であって、複数のクラスは、前記ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、前記ユーザに特有の主観的データを識別する主観的データクラスとを含む、前記プログラム命令と、
前記ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスするためのプログラム命令と、
人工知能（ＡＩ）を実行するように構成される深層学習エンジンへの第１の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、及び前記複数のユーザの複数の客観的データを提供するためのプログラム命令と、
前記第１の入力のセットに反応する場合のユーザの行動を予測する第１の複数の学習されたパターンを決定するためのプログラム命令と、
前記第１の複数の学習されたパターンを含む前記ユーザのローカルＡＩモデルを構築するためのプログラム命令と、を含む、
コンピュータ可読媒体。
【請求項１１】
前記深層学習エンジンへの第２の入力のセットとして、前記複数のユーザの前記客観的データを提供するためのプログラム命令と、
前記第２の入力のセットに反応する場合の一般的なユーザの行動を予測する第２の複数の学習されたパターンを決定するためのプログラム命令と、
前記第２の複数の学習されたパターンを含む前記複数のユーザ用のグローバルＡＩモデルを構築するためのプログラム命令と、をさらに含む、
請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
前記グローバルＡＩモデルを構築する場合に、前記複数のユーザの複数の主観的データの使用を制限するためのプログラム命令をさらに含む、
請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記ユーザの前記データの一部をローカル化された主観的データとして分類するためのプログラム命令であって、前記複数のクラスはローカル化された主観的データクラスを含む、前記プログラム命令と、
前記深層学習エンジンへの第３の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、前記ユーザの前記ローカル化された主観的データ、及び前記複数のユーザの前記客観的データを提供するためのプログラム命令と、
前記第３の入力のセットに反応する場合のユーザの行動を予測する第３の複数の学習されたパターンを決定するためのプログラム命令と、
前記第３の複数の学習されたパターンを含む前記ユーザのプライベートＡＩモデルを構築するためのプログラム命令と、をさらに含む、
請求項１０に記載のコンピュータ可読媒体。
【請求項１４】
前記ユーザの前記ローカルＡＩモデルを構築する場合に、前記ローカル化された主観的データの使用を制限するためのプログラム命令をさらに含む、
請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
前記ユーザの前記データの一部をセキュアデータとして分類するためのプログラム命令であって、前記複数のクラスはセキュアデータクラスを含む、前記プログラム命令と、
いかなるＡＩモデルを構築する場合にも、前記ユーザの前記セキュアデータの使用を制限するためのプログラム命令と、をさらに含む、
請求項１０に記載のコンピュータ可読媒体。
【請求項１６】
コンピュータシステムであって、
プロセッサと、
前記プロセッサに結合され、前記コンピュータシステムによって実行された場合に、前記コンピュータシステムに方法を実行させる命令が記憶されたメモリと、
を備え、前記方法は、
ユーザの監視された行動に関連するデータにアクセスし、
前記データをクラス別に分類し、複数のクラスは、前記ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、前記ユーザに特有の主観的データを識別する主観的データクラスとを含む、前記分類し、
前記ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスし、
人工知能（ＡＩ）を実行するように構成される深層学習エンジンへの第１の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、及び前記複数のユーザの複数の客観的データを提供し、
前記第１の入力のセットに反応する場合のユーザの行動を予測する第１の複数の学習されたパターンを決定し、
前記第１の複数の学習されたパターンを含む前記ユーザのローカルＡＩモデルを構築する、
コンピュータシステム。
【請求項１７】
前記方法は、更に、
前記深層学習エンジンへの第２の入力のセットとして、前記複数のユーザの前記客観的データを提供し、
前記第２の入力のセットに反応する場合の一般的なユーザの行動を予測する第２の複数の学習されたパターンを決定し、
前記第２の複数の学習されたパターンを含む前記複数のユーザ用のグローバルＡＩモデルを構築する、
請求項１６に記載のコンピュータシステム。
【請求項１８】
前記方法は、更に、
前記グローバルＡＩモデルを構築する場合に、前記複数のユーザの複数の主観的データの使用を制限する、
請求項１７に記載のコンピュータシステム。
【請求項１９】
前記方法は、更に、
前記ユーザの前記データの一部をローカル化された主観的データとして分類し、前記複数のクラスはローカル化された主観的データクラスを含むものであり、
前記深層学習エンジンへの第３の入力のセットとして、前記ユーザの前記客観的データ、前記ユーザの前記主観的データ、前記ユーザの前記ローカル化された主観的データ、及び前記複数のユーザの前記客観的データを提供し、
前記第３の入力のセットに反応する場合のユーザの行動を予測する第３の複数の学習されたパターンを決定し、
前記第３の複数の学習されたパターンを含む前記ユーザのプライベートＡＩモデルを構築する、
請求項１６に記載のコンピュータシステム。
【請求項２０】
前記方法は、更に、
前記ユーザの前記ローカルＡＩモデルを構築する場合に、前記ローカル化された主観的データの使用を制限する、
請求項１９に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はインテリジェントなロボットに関し、より詳細には、自律ロボット内に実装されるユーザ向けの自動化コンパニオンに関し、また、人工知能によるコンパニオンの構築及び実装に関する。
【背景技術】
【０００２】
現在、ロボットが実用化されている。ロボットはいつでも様々な理由でロボットの所有者である人間とインタラクトし得る。これらのロボットは、所有者にコンパニオンシップを与えるように設計されたロボット型ペットを含む何代ものロボットアシスタントにつながる。限られた処理能力及び限定的なフォームファクタに関わらず、これらの初期のロボット型ペットは、ある程度、自律的に動き回り、身近な環境を感知し、タスクを行うためにプログラム可能な知能を持ち、所有者の人間とインタラクト（例えば、話す、吠える、触れる等）することができる。これらの初期のロボット型ペットは、知能、オブジェクト感知、パーソナリティ、及び、動き等の１つまたは複数の特徴を促進するコンピュータ処理能力、視覚センサシステム、及び、調音器官という特徴があった。例えば、これらのロボット型ペットは、オブジェクト（例えば、ボール）とインタラクトし、ロボット型ペットの所有者とコミュニケーションし、環境とインタラクトし、所有者と遊び、移動することができる。また、これらのロボット型ペットは、ロボットサッカーリーグに参加するようにプログラムできる。さらに、これらのロボット型ペットは、所有者がインタラクションを通して育てると、成長し、大人になることができる。また、これらのロボット型ペットは、育て方に基づいたパーソナリティを形成できる。
【０００３】
これらの初期のロボットは、知能、認識、支援、インタラクション、パーソナリティ、及び、動きの向上を部分的に含む次のレベルの能力に到達する用意がある。
【０００４】
本開示の実施形態はこのような背景の下でなされたものである。
【発明の概要】
【０００５】
本開示の実施形態は、ユーザの人工知能（ＡＩ）モデルを通じて実装される自律型パーソナルコンパニオンのためのシステム及び方法に関する。ＡＩモデルは、コンテクスト（context）に応じた、つまり、環境、背景、前後関係あるいはコンテクストに応じた個人向けの支援あるいはサポートをユーザに提供するように構成される深層学習エンジンを通じて構築される。ＡＩモデルは、様々な独自のオペレーティングシステムの下で動作する他のデジタル資産（たとえば、電話の連絡先、カレンダー、電話、ホームオートメーション、ゲームコンソールなど）を認識し、これらとデータを交換するように構成することができる。ＡＩモデルは、モバイルプラットフォームに統合し、自律的に移動して、データの受信、データの収集、環境の検知、及びデータの配信を最良に行うように自身を位置調整するよう構成することができる。ＡＩモデルは、処理のためにバックエンドサーバとインタラクト(interact)あるいは対話することができ、ＡＩモデルは、ローカルレベルで要求を処理するか、またはローカルレベルで要求を前処理した後、バックエンドサーバでそれらの要求を完全に処理することができる。
【０００６】
一実施形態では、対応するユーザにサービスを提供する自律型パーソナルコンパニオンにパーソナリティを与える人工知能モデル（ＡＩ）を構築するための方法を開示する。この方法は、ユーザの監視された行動に関連するデータにアクセスすることを含む。この方法は、データをクラス別に分類し、複数のクラスは、ユーザを含むユーザグループに関連するデータを識別する客観的データクラスと、ユーザに特有のデータを識別する主観的データクラスとを含む、分類することを含む。この方法は、ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスすることを含む。この方法は、ＡＩを実行する深層学習エンジンへの第１の入力のセットとして、ユーザの客観的データ、ユーザの主観的データ、及び複数のユーザの複数の客観的データを提供することを含む。この方法は、第１の入力のセットに反応する場合のユーザの行動を予測する複数の学習されたパターンを決定することを含む。この方法は、複数の学習されたパターンを含むユーザのローカルＡＩモデルを構築することを含む。
【０００７】
他の実施形態では、対応するユーザにサービスを提供する自律型パーソナルコンパニオンにパーソナリティを与える人工知能モデル（ＡＩ）を構築するためのコンピュータプログラムを記憶する非一時的コンピュータ可読媒体を開示する。コンピュータ可読媒体は、ユーザの監視された行動に関連するデータにアクセスするためのプログラム命令を含む。コンピュータ可読媒体は、データをクラス別に分類するためのプログラム命令であって、複数のクラスは、ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、ユーザに特有の主観的データを識別する主観的データクラスとを含む、プログラム命令を含む。コンピュータ可読媒体は、ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスするためのプログラム命令を含む。コンピュータ可読媒体は、人工知能（ＡＩ）を実行するように構成される深層学習エンジンへの第１の入力のセットとして、ユーザの客観的データ、ユーザの主観的データ、及び複数のユーザの複数の客観的データを提供するためのプログラム命令を含む。コンピュータ可読媒体は、第１の入力のセットに反応する場合のユーザの行動を予測する第１の複数の学習されたパターンを決定するためのプログラム命令を含む。コンピュータ可読媒体は、第１の複数の学習されたパターンを含むユーザのローカルＡＩモデルを構築するためのプログラム命令を含む。
【０００８】
さらに他の実施形態では、コンピュータシステムを開示し、コンピュータシステムは、プロセッサと、プロセッサに結合され、コンピュータシステムによって実行された場合に、コンピュータシステムに方法を実行させる命令が記憶されたメモリと、を含む。コンピュータシステムによって実行されるこの方法は、ユーザの監視された行動に関連するデータにアクセスすることを含む。この方法は、データをクラス別に分類し、複数のクラスは、ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、ユーザに特有の主観的データを識別する主観的データクラスとを含む、分類することを含む。この方法は、ユーザを含む複数のユーザの監視された行動に関連する客観的データにアクセスすることを含む。この方法は、人工知能（ＡＩ）を実行するように構成される深層学習エンジンへの第１の入力のセットとして、ユーザの客観的データ、ユーザの主観的データ、及び複数のユーザの複数の客観的データを提供することを含む。この方法は、第１の入力のセットに反応する場合のユーザの行動を予測する第１の複数の学習されたパターンを決定することを含む。この方法は、第１の複数の学習されたパターンを含むユーザのローカルＡＩモデルを構築することを含む。
【０００９】
本開示の他の態様は、本開示の原理を例として示す添付の図面と併せて、以下の詳細な説明から明らかになろう。
【００１０】
本開示は、添付の図面と併せて以下の説明を参照することによって最も良く理解され得る。
【図面の簡単な説明】
【００１１】
【図１Ａ】本開示の一実施形態による、ユーザの人工知能（ＡＩ）モデルを通じて実装される自律型パーソナルコンパニオンの図である。
【図１Ｂ】本開示の一実施形態による、ユーザのＡＩモデルを構築するために使用される例示的なニューラルネットワークを示す図であり、ＡＩモデルはユーザ用の自律型パーソナルコンパニオンを実装するために使用される。
【図２】本開示の一実施形態による、ユーザのＡＩモデルを通じて実装される自律型パーソナルコンパニオンをサポートするシステムを示す図である。
【図３Ａ】本開示の一実施形態による、ユーザのＡＩモデルを通じて実装される自律型パーソナルコンパニオンのブロック図である。
【図３Ｂ】本開示の様々な実施形態の態様を実施するために使用することができる例示的なデバイス１００のコンポーネントを示す図である。
【図４Ａ】本開示の一実施形態による、ゲームアプリケーションをプレイするユーザのゲームプレイをサポートする自律型パーソナルコンパニオンを示す図である。
【図４Ｂ】本開示の一実施形態による、図４Ａで導入したユーザによってプレイされるゲームアプリケーションの３次元（３Ｄ）ゲーム世界と、ユーザの物理環境との統合を示す図であり、自律型パーソナルコンパニオンはユーザの視線の方向に応じて３Ｄゲーム世界の一部を物理環境に投影するように構成される。
【図４Ｃ】本開示の一実施形態による、図４Ａ〜図４Ｂで導入したゲームアプリケーションの３Ｄゲーム世界の統合の他の例を示す図であり、ゲームアプリケーションの３Ｄゲーム世界の拡張がディスプレイと並んで投影され、ディスプレイはゲームアプリケーションのメインの視野を表示し、拡張は３Ｄゲーム世界の一部を表示するか、またはゲームアプリケーションの補足情報を提供する。
【図５】本開示の一実施形態による、ヘッドマウントディスプレイ（ＨＭＤ）を使用して第１のユーザによりプレイされるゲームアプリケーションの３Ｄ仮想現実（ＶＲ）世界と物理環境との統合を示す図であり、自律型パーソナルコンパニオンはユーザの視線の方向に応じてＶＲゲーム世界の一部を物理環境に投影して、観客が第１のユーザのＶＲゲーム世界の体験に並行して参加できるように構成される。
【図６Ａ】本開示の一実施形態による、ユーザのＡＩモデルを通じて実装されるユーザ用の自律型パーソナルコンパニオンの例示的な形態を示す図である。
【図６Ｂ】本開示の実施形態による、画像の投影、近接環境の感知、及び、補助音声の提供を部分的に含む多くの能力を有して構成される例示の自律型パーソナルコンパニオンを示す図である。
【図６Ｃ】本開示の一実施形態による、１つまたは複数の特徴、例えば、画像キャプチャ及び画像投影を有するように構成されたドローンアセンブリを含む、例示の自律型パーソナルコンパニオンを示す図である。
【図６Ｄ】本開示の一実施形態による、１つまたは複数の特徴、例えば、画像キャプチャ及び画像投影を有するように構成された回転上部を含む、例示の自律型パーソナルコンパニオンを示す図である。
【図６Ｅ】本開示の一実施形態による、１つまたは複数の付属物を含む例示の自律型パーソナルコンパニオンを示す図であり、付属物は、コントローラの形態をとってよく、付属物／コントローラは、コンパニオンから取り外し可能であってよい。
【図６Ｆ】本開示の実施形態による、自律型パーソナルコンパニオンの代替的なフォームファクタを示す図である。
【図６Ｇ】本開示の実施形態による、自律型パーソナルコンパニオンの代替的なフォームファクタを示す図である。
【図６Ｈ】本開示の実施形態による、自律型パーソナルコンパニオンの代替的なフォームファクタを示す図である。
【図７】本開示の一実施形態による、複数のユーザ用の様々なＡＩモデルと、それらのＡＩモデルが実装され得る場所とを示す図である。
【図８Ａ】本開示の一実施形態による、対応するユーザの１つまたは複数のＡＩモデル間の関係を示す図である。
【図８Ｂ】本開示の一実施形態による、対応するユーザのＡＩモデル内で定義される様々なブランチを示す図であり、各ブランチはユーザのサブＡＩモデルにつながり得る。
【図９Ａ】本開示の一実施形態による、対応するユーザについて監視され得る異なるタイプのユーザアクションを示す図である。
【図９Ｂ】本開示の一実施形態による、図９Ａで導入した異なるタイプのユーザアクションを使用して、様々なＡＩモデルが構築される態様を示す図である。
【図１０】本開示の一実施形態による、対応するユーザのＡＩモデルを構築するための方法を示す流れ図である。
【発明を実施するための形態】
【００１２】
以下の詳細な説明は、説明のために多くの特定の詳細を含むが、当業者であれば、以下の詳細な説明への多くの変形例や変更例が本開示の範囲内にあることを理解するであろう。従って、以下に記載の本開示の態様は、本記載に続く請求項の一般性を失うことなく、かつそれに制限を課すことなく示されている。
【００１３】
一般的には、本開示の様々な実施形態では、ユーザ向けのＡＩモデルを構築するための深層学習（機械学習とも呼ばれる）技術を実施あるいは実装するシステム及び方法を説明する。ＡＩモデルは、可動式の自律型パーソナルコンパニオンを通じて実装され、自律型パーソナルコンパニオンは、コンテクストに応じた個人向けの支援をユーザに提供し、異なる独自のプラットフォームで動作する他のデジタル資産を認識し、これとデータを交換し、データを最適に受信、収集、または配信するために環境を自律的に移動し、環境を最適に検知及び／またはマッピングするために自律的に移動し、その他の機能を実行するように構成可能である。一部の実施態様では、自律型パーソナルコンパニオンは、処理のためにバックエンドサーバと対話するように構成可能であり、ＡＩモデルは自律型パーソナルコンパニオンとバックエンドサーバとに分散され、自律型パーソナルコンパニオンは、ローカルレベルで要求を処理するか、またはローカルレベルで要求を前処理した後、バックエンドサーバでそれらの要求を完全に処理するように構成可能である。
【００１４】
様々な実施形態の上記の大まかな理解を踏まえて、以下、実施形態の例示的な詳細を、様々な図面を参照して説明する。
【００１５】
図１Ａに、本開示の実施形態による、ユーザの対応するＡＩモデルを通じて実装される自律型パーソナルコンパニオンを構築及び実装するために使用されるシステム１００Ａを示す。具体的には、自律型パーソナルコンパニオン１００は、デジタルコンパニオンとして、対応するユーザとインターフェースして、たとえばそのユーザにサービスを提供するように構成される。加えて、自律型パーソナルコンパニオン１００は、ネットワーク１５０（たとえば、インターネット）を介してバックエンドサーバ（たとえば、パーソナルコンパニオンモデラ及びアプリケータ１４０）によってサポートされ得、バックエンドサーバは、各々がそれぞれのユーザに対応する個人向けのＡＩモデルを構築及び適用するための人工知能及び／または深層機械学習（あるいはディープラーニング）を、たとえば、深層機械学習エンジン１９０を介して提供する。たとえば、１つまたは複数のコンパニオン１００ａ〜１００ｎは、世界中の１つまたは複数の場所で複数のユーザをサポートするように構成される。
【００１６】
各自律型パーソナルコンパニオン１００は、その各ユーザにサービスを提供（例えば、サポート）する複数の能力あるいは機能を備えるように構成される。一般に、コンパニオン１００は、ユーザのリクエストによりサービスを提供してもよく、または、（例えば、ユーザのニーズを感知する、または、コンテクストにおいて関連のある行動あるいはアクションを決定する、ランダムに生成するなどして）適切な時に、自律的にユーザにサービスを提供もしくは提案してもよい。例えば、自律型パーソナルコンパニオン１００は、様々な操作（例えば、情報の検索、商品及び／またはサービスの購入等）を行うユーザの検索リクエストの処理等、デジタルアシスタンスをユーザに提供するように、ユーザに関連する検索リクエストを自律的に生成するように、コンテクストにおいてユーザに関連するアクション（例えば、食糧庫が空であり、パーティが前夜に開かれたことに気付いた後、電子商取引ベンダを通じたポテトチップスの購入）を自律的に生成するように、ゲームアプリケーションをプレイするユーザのゲーム支援をする（例えば、対応するゲームアプリケーションをナビゲートする助けになる助言及び援助を提供する）ように、また、物理的世界内の三次元（３Ｄ）ゲーム空間と他の特徴とを一体にすることによって、ゲームアプリケーションの表示されたゲーム空間を拡張するように、構成されてもよい。
【００１７】
さらに、自律型パーソナルコンパニオン１００は、ある期間を通じて、または、複数の期間を通じて、ユーザと会話する、デジタルアシスタンスをユーザに提供する、会話を通してユーザと関係を構築する、及び、ユーザに同行する等、ユーザに交友を提供してもよい。コンパニオン１００は、人間または動物コンパニオンが応答するように、ユーザに応答を促してもよい。例えば、コンパニオン１００は、コンパニオン１００とユーザとの間でカードゲームのプレイ開始を提案してよい、または、ディスプレイ（例えば、コンパニオン１００からリモートの固定のディスプレイ、または、コンパニオン１００と一体のティスプレイ）のデジタルコンテンツを視聴することを提案してよい、または、ゲームコントローラを介して、ゲームアプリケーションをプレイするようにユーザに促してもよい。
【００１８】
自律型パーソナルコンパニオン１００によって行われるアクションの少なくとも一部は、コンテクストにおいてユーザに関連する。すなわち、コンパニオン１００は、ユーザが現在いる環境をコンテクストに沿って認識し、ユーザにパーソナルなＡＩモデルを構築及び／またはアクセスできるので、コンパニオン１００によって生成されたアクションは、ユーザが体験しているコンテクストに合わせることができる。例えば、ユーザが、一般的と思われるリクエスト（例えば、「昨夜のスコアはどうでしたか？」）をすると、ユーザと現在の日付のＡＩモデルに基づいて、コンパニオン１００は、そのリクエストに対する現在のコンテクストを判断して、適切で関連した応答「ウォリアーズは１０１−９７で勝利」と答える。ＡＩモデルは、ユーザが、ウォリアーズのファンで、全米プロバスケットボール協会のゴールデンステート・ウォリアーズのゲームのみを常に追っていると規定するので、応答は、コンテクストにおいて関連している。さらに、ＡＩモデルは、プレイオフ中の４月にユーザをＮＢＡファンで、他のスポーツのスコアには関心が無い人と規定もしているので、応答は、ユーザとコンテクストにおいて関連している。現在の日付が４月なので、昨夜のウォリアーズのスコアは、コンパニオン１００によってインターネットから検索できる。
【００１９】
図１Ａに示すように、多くのパーソナルコンパニオン１００ａ〜１００ｎは、ユーザの各デジタルコンパニオンとして、対応するユーザとインタフェースするように構成される。簡潔、明瞭にするために、コンパニオン１００ａを記載する。この記載は、コンパニオン１００ａ〜１００ｎが備える特徴を表す。詳細には、各コンパニオンは、可動のロボット１０５内で実施され、ロボットは、任意の適切なフォームファクタを採用してもよい。各コンパニオンは、人工知能１１０を通してサポートされ、人工知能１１０は、ロボット１０５にローカルに、及び、バックエンドサーバ１４０の両方に分散してもよい。一実施形態においては、ディプラーニング用に構成されており、このディープラーニングは、少なくとも、対応するユーザにサービスを部分的に提供するために使用されるローカルＡＩモデル１２０ａの一部として構成されるＡＩ１１０のために用いられる。ＡＩ１１０を用いて学習されるこの情報は、収集及び／または学習される情報の種類に応じて、ローカルＡＩモデル１２０ａを構築するタスクが与えられ得るバックエンドサーバ１４０と共有されてもよく、共有されなくてもよい。例えば、機密情報は、ローカルで処理されて、ローカルＡＩモデル１２０ａを構築してよいが、バックエンドサーバ１４０と共有されなくてもよい。
【００２０】
さらに、コンパニオン１００ａのＡＩ１１０は、ローカルＡＩモデルのバージョン１２０ａを含み、モデル１２０ａは、対応するユーザにパーソナルであり、ＡＩ１１０は、ＡＩモデル１２０ａを実施するように構成される。詳細には、「ローカルＡＩモデル」という用語は、ＡＩモデルが特定または局所的なユーザに対応することを示して使用される。ロボット１０５のフォームファクタ内に記憶されたローカルＡＩモデル１２０ａは、ＡＩモデルの完全バージョンであってよい、または、ＡＩモデルの完全バージョンと共に使用可能な能力の何らかのサブセットを自律的に提供するベースモデルであってよい。ＡＩモデルの完全バージョンは、また、ＡＩモデリング及びアプリケーションを提供するバックエンドサーバ１４０によって記憶され、アクセス可能である。従って、コンパニオン１００ａは、バックエンドサーバ１４０と独立して機能して（ローカルＡＩモデルの完全バージョンがロボット１０５に記憶される場合）能力の完全なセットを提供してもよく、（ローカルＡＩモデルの完全ではないバージョンがロボット１０５に記憶される場合）能力の限定的なセットを提供してもよい。他方、コンパニオン１００ａは、バックエンドサーバ１４０と協力して機能して、ローカルＡＩモデル１２０ａによって提供される能力の完全なセットを提供してもよい。例えば、ロボット１０５のローカルＡＩモデル１２０ａは、バックエンドサーバ１４０のローカルＡＩモデル１２０ａと協力して働き（例えば、データを前処理してもよく）、バックエンドサーバ１４０のローカルＡＩモデル１２０ａは、ＡＩ処理の大半を行うようにより良く（より速く、より多くのリソースで）構成される。
【００２１】
図１Ａに示すように、ローカルデータ１１５ａはコンパニオン１００ａによって、たとえば、ロボット１０５によって収集される。ローカルデータ１１５ａは、ロボット１０５のＡＩ１１０によって使用されて、ロボット１０５に記憶されている任意のＡＩ機能を使用してローカルＡＩモデル１２０ａを構築することを手助けし得る。加えて、ローカルデータ１１５ａは、バックエンドサーバ１４０のパーソナルコンパニオンモデラ及びアプリケータに配信されて、深層機械学習エンジン１９０のＡＩ機能を使用してローカルＡＩモデル１２０ａを構築し得る。図示のように、１人または複数のユーザをサポートするために、１つまたは複数のローカルＡＩモデル１２０ａ〜ｎが生成され、バックエンドサーバ１４０に記憶される。
【００２２】
各コンパニオン１００ａ〜１００ｎのローカルデータ１１５が、バックエンドサーバのパーソナルコンパニオンモデラ及びアプリケータに配信されるので、各ローカルデータを集約してグローバルＡＩモデル１３０を生成し得る。集約されたローカルデータは、グローバルデータ１３５として記憶され得る。
【００２３】
図１Ｂに、本開示の一実施形態による、パーソナルコンパニオンモデラ及びアプリケータ１４０の深層学習エンジン１９０によって実行される訓練あるいはトレーニングを通じて対応するユーザ用のローカルＡＩモデルを構築するために使用される例示的なニューラルネットワークを示す。具体的には、図１Ａのシステム１００Ａ内のモデラ及びアプリケータ１４０は、自律型パーソナルコンパニオン１００がユーザにサービスを提供する場合に有用かつ適切である、ユーザに関する全てを学習するように構成される。加えて、一実施形態では、ニューラルネットワークはコンパニオン１００のＡＩ１１０内に実装され得る。結果的に得られるユーザ用のローカルＡＩモデル１２０は、ユーザの、及びユーザに関連する、行動、バイオメトリクス、アクション、感情、期待、願望、好み、欲求、ニーズ、及び環境（状況の提供用）を一部として定義する。パーソナルコンパニオンモデラ及びアプリケータ１４０は、各自律型パーソナルコンパニオン１０１ａ〜１０１ｎに直接的にまたはネットワーク（たとえば、ローカルネットワーク、インターネットなど）を介して結合されるバックエンドサーバコンピューティングデバイスを含む任意のコンピューティングデバイスであり得る。
【００２４】
具体的には、モデラ１４０内の深層学習または機械学習エンジン１９０は、ユーザに関連するローカルデータ１１５を分析するように構成され、ローカルデータ１１５は、一つには、自律型パーソナルコンパニオン１００によって収集される。ローカルデータ１１５は、ユーザ（たとえば、コントローラ入力、要求、アクション、行動、応答など）、ならびにユーザの環境の監視に関連して収集される。以下で説明するように、コンパニオン１００は、データを収集する目的で要求を監視及び／または実行する様々な機能（たとえば、カメラ、アクティブアクチュエータ、パッシブセンサ、コントローラ、マウス、スキャナなど）を備えて構成される。基本的に、ユーザに関連するあらゆる関連情報を収集及び使用して、一つには、ユーザを定義し、ユーザが置かれている状況を理解し、ユーザがどのように感じ、行動し、または様々な情況及び／または刺激に反応するかを予測し得る。したがって、深層学習エンジン１９０は、対応するローカルＡＩモデル１２０が最良のサービスをユーザに提供できるように、ユーザに関する全てを学習することができ、サービスはユーザによる最小限の入力で提供される。たとえば、ＡＩモデル１２０を使用して（たとえば、深層学習エンジン１９０の実装を通じて）、ユーザにより行われた要求を理解し、ユーザが何を必要とするか、または望み得るかを予測し、それらの要求及び予測を満たすサービスを提供することができる。
【００２５】
ローカルデータ１１５に加えて、他のデータ（たとえば、グローバルデータ１３５）が、複数のパーソナルコンパニオン１００ａ〜ｎによって利用及び／または収集され、対応するユーザ用のローカルＡＩモデル１２０を構築する際にも使用され得る。基本的には、グローバルデータ１３５は、全てのユーザについて収集された全てのローカルデータ１１５を集約したものである。具体的には、一部のデータは一般的なものであり、全てのユーザ、または少なくともユーザの（様々なサイズの）サブセットについての全てのＡＩモデルを構築する場合に使用するのに適し得る。加えて、グローバルデータ１３５は、一般的に任意のユーザに使用され得るグローバルＡＩモデル１３０を構築するために使用され得る。さらに、グローバルデータ１３５は、様々なグローバルＡＩモデルを構築するために使用され得、そのそれぞれは、特定のユーザのグループ（たとえば、デモグラフィックスあるいは人口統計、地域、音楽の好み、教育などでグループ化されたもの）を対象とする。
【００２６】
したがって、ローカルデータ１１５及びグローバルデータ１３５の一部は、深層学習エンジン１９０に供給される。深層学習エンジン１９０は、深層学習アルゴリズム、強化学習、または他の人工知能ベースのアルゴリズムを含む人工知能を利用して、対応するユーザ用のローカルＡＩモデル１２０を構築する。
【００２７】
このようにして、学習及び／またはモデル化の段階中に、データは深層学習エンジン１９０によって使用されて、入力データのセットが与えられた場合の所与のユーザのリアクション、アクション、欲求、及び／またはニーズが予測される。これらのリアクション、アクション、欲求、及び／またはニーズは、一般にユーザの行動として分類され得、したがって、ＡＩモデル１２０を使用して、何らかの入力データが与えられた場合に対応するユーザの行動を大まかに予測することができる。たとえば、入力データはユーザによる特定の要求であり得、ＡＩモデル１２０を使用して応答を生成し、応答は自律型パーソナルコンパニオン１００によって提供されるサービスに関連付けられる。加えて、入力データは、指示されたユーザ入力または要求に関係なく、ユーザのリアクション、アクション、欲求、及び／またはニーズを予測するために使用され得る、環境データを収集したものであり得る。たとえば、ＡＩモデル１２０を使用して、ユーザが要求を明示的に配信する必要なく、ユーザが望み得る及び／または必要とし得るサービスを予測し得る。
【００２８】
経時的に、あるいは時間と共に、ＡＩモデル１２０は、おおよその入力データのセットに応じて、ユーザの行動、アクション、応答、欲求、及び／またはニーズを予測することができるようになる。たとえば、前に導入した例では、ユーザは４月のＮＢＡスコアのみに興味があるので、ゲームのスポーツスコアの任意の要求を使用して、ユーザがゴールデンステートウォリアーズのファンであり、４月にそのユーザが、ウォリアーズがプレイしたゲームのスコアのみに興味があるという理解を含む、ユーザの欲求及びニーズを予測し、これらは全て、ウォリアーズがプレイした最新のゲームのスコアを有する（たとえば、ＡＩモデル１２０を通じて実装される）応答につながる。他の例は、ＡＩモデル１２０の構築を説明するのに役立つ。たとえば、ＡＩモデル１２０を使用して、ユーザの特定のバイオメトリクスを定義することができる。１つのケースでは、パーソナルコンパニオンが接近する人物の足音を検知及び追跡し、それがＡＩモデル１２０に関連付けられた対応するユーザであると判定できるように、ユーザの歩行を定義することができる。ＡＩモデル１２０を使用して、午後５時にユーザが普段家に戻り、座ってデジタルコンテンツを視聴すると判定することができる。したがって、パーソナルコンパニオン１００は、ユーザが最近興味のあるコンテンツ（たとえば、医療ドラマ番組のビンジウォッチングをする、つまり、一気に見る）を、コンパニオン１００へのユーザの要求時に既に再生中であるかまたは再生準備ができているディスプレイにアップロードし得る。
【００２９】
ニューラルネットワーク１９０は、データセットを分析して、対応するユーザの応答、アクション、行動、欲求、及び／またはニーズを特定するための自動分析ツールの一例を表す。様々なタイプのニューラルネットワーク１９０が可能である。一例では、ニューラルネットワーク１９０は、深層学習エンジン１９０によって実装され得る深層学習をサポートする。したがって、教師ありまたは教師なし訓練を使用した深層ニューラルネットワーク、畳み込み深層ニューラルネットワーク、及び／または再帰型ニューラルネットワークを実装することができる。他の例では、ニューラルネットワーク１９０は、強化学習をサポートする深層学習ネットワークを含む。たとえば、ニューラルネットワーク１９０は、強化学習アルゴリズムをサポートするマルコフ決定過程（ＭＤＰ）として構成される。
【００３０】
一般に、ニューラルネットワーク１９０は、人工ニューラルネットワークなどの相互接続されたノードのネットワークを表す。各ノードはデータから何らか情報を学習する。相互接続を介してノード間で知識を交換することができる。ニューラルネットワーク１９０への入力は、ノードのセットを活性化する。次に、このノードのセットは他のノードを活性化して、入力に関する知識を伝播させる。この活性化処理は、出力が提供されるまで他のノードにわたって繰り返される。
【００３１】
図示のように、ニューラルネットワーク１９０はノードの階層（hierarchy of nodes）を含む。最下位の階層レベル（hierarchy level）には、入力層１９１が存在する。入力層１９１は、入力ノードのセットを含む。たとえば、これらの入力ノードのそれぞれは、自律型パーソナルコンパニオン１００によるユーザ及びユーザに関連する環境の監視及び／または問い合わせ中に、アクチュエータを介して能動的に、またはセンサによって受動的に収集されるローカルデータ１１５にマッピングされる。
【００３２】
最上位の階層レベルには、出力層１９３が存在する。出力層１９３は、出力ノードのセットを含む。出力ノードは、たとえば、ローカルＡＩモデル１２０の１つまたは複数のコンポーネントに関連する決定（たとえば、予測）を表す。前述のように、出力ノードは、所与の入力のセットに対するユーザの予測または期待あるいは予想される応答、アクション、行動、欲求、及び／またはニーズを特定でき、入力は様々なシナリオ（たとえば、直接の要求、時刻、様々な行動パターンなど）を定義し得る。これらの結果を、以前の対話ならびにユーザ及び／または環境の監視から取得される所定の真の結果と比較して、深層学習エンジン１９０によって使用されるパラメータを改善及び／または修正するようにして、所与の入力のセットに対するユーザの適切な予測または予想される応答、アクション、行動、欲求、及び／またはニーズを反復的に特定することができる。すなわち、ニューラルネットワーク１９０内のノードは、パラメータを改善する場合にそのような決定を行うために使用できるＡＩモデル１２０のパラメータを学習する。
【００３３】
具体的には、入力層１９１と出力層１９３との間に隠れ層１９２が存在する。隠れ層１９２は「Ｎ」個の隠れ層を含み、「Ｎ」は１以上の整数である。次に、各隠れ層はまた、隠れノードのセットを含む。入力ノードは隠れノードに相互接続される。同様に、隠れノードは出力ノードに相互接続されるので、入力ノードは出力ノードに直接相互接続されない。複数の隠れ層が存在する場合、入力ノードは最下位の隠れ層の隠れノードに相互接続される。次に、これらの隠れノードは次の隠れ層の隠れノードに相互接続され、以下同様に続く。２番目に上位の隠れ層の隠れノードは、出力ノードに相互接続される。相互接続は２つのノードを接続する。相互接続は学習可能な数値の重みを有し、ニューラルネットワーク１９０を入力に適応させ、学習可能にする。
【００３４】
一般に、隠れ層１９２により、入力ノードに関する知識を、出力ノードに対応する全てのタスクの間で共有することが可能になる。そうするために、一実施態様では、隠れ層１９２を介して変換ｆが入力ノードに適用される。一例では、変換ｆは非線形である。様々な非線形変換ｆが利用可能であり、たとえば、正規化線形関数ｆ（ｘ）＝ｍａｘ（０，ｘ）などがある。
【００３５】
ニューラルネットワーク１９０はまた、最適解を見つけるためにコスト関数ｃを使用する。コスト関数は、所与の入力ｘに対する、ｆ（ｘ）として定義されるニューラルネットワーク１９０によって出力される予測と、グラウンドトゥルースまたは目標値ｙ（たとえば、期待される結果）との間の偏差を測定する。最適解は、最適解のコストよりも低いコストを有する解がない状況を表す。コスト関数の一例は、そのようなグラウンドトゥルースのラベルが利用可能なデータについての、予測とグラウンドトゥルース(ground truth)との間の平均二乗誤差である。学習処理中、ニューラルネットワーク１９０は、逆伝播アルゴリズムを使用して、コスト関数あるいは費用関数を最小化するモデルパラメータ（たとえば、隠れ層１９２内のノード間の相互接続の重み）を学習するための様々な最適化方法を採用することができる。そのような最適化方法の一例は、確率的勾配降下法である。
【００３６】
ある例において、ニューラルネットワーク１９０の訓練データセットは、同じデータドメインからであってよい。例えば、ニューラルネットワーク１９０は、所与の入力セットまたは入力データに対して、ユーザの予測または期待される応答、アクション、振る舞い、欲求、及び／または、ニーズを学習するために訓練される。この説明においては、データドメインは、ユーザのベースライン入力データとのインタラクションのために収集されたセッションデータを含む。他の例においては、訓練データセットは、ベースライン以外の入力データを含む種々のデータドメインからである。
【００３７】
したがって、ニューラルネットワーク１９０は、所与の入力のセットに対するユーザの予測または予想される応答、アクション、振る舞いあるいはビヘイビア（behavior）、欲求、及び／またはニーズを一部として予測または特定し得る。これらの予測結果に基づいて、ニューラルネットワーク１９０はまた、対応するユーザの（たとえば、環境及びユーザの）状況に応じたサービスを提供するために使用されるＡＩモデル１２０を定義し得る。
【００３８】
図２に、本開示の一実施形態による、対応するユーザのローカルＡＩモデル１２０を通じて実装される自律型パーソナルコンパニオン１００をサポートするシステム２００を示す。パーソナルコンパニオン１００は、ユーザの応答、アクション、行動、欲求、及び／またはニーズをとりわけ予測することが可能なローカルＡＩモデル１２０に基づいて、ユーザにサービスを提供するように構成される。
【００３９】
前述のように、パーソナルコンパニオン１００は、ローカルＡＩモデル１２０のモデル化と、ローカルＡＩモデルの適用とを実行するバックエンドサーバ１４０とは独立して、またはこれと連携して動作し得る。具体的には、バックエンドサーバ１４０は、対応するユーザをサポートし、サービスを提供するローカルＡＩモデル１２０を構築及び適用するために、任意の所与の入力のセット（たとえば、ユーザが推進または体験する所与のシナリオを定義するもの）に対するユーザの応答、アクション、行動、欲求、及び／またはニーズを一部として学習及び／またはモデル化するように構成される、前述の深層学習エンジン１９０を含む。具体的には、ローカルＡＩモデルビルダ２１０は、深層学習エンジンとインターフェースして、ストレージ２３０に記憶されている１つまたは複数のローカルＡＩモデル１２０ａ〜ｎを構築するように構成される。加えて、グローバルＡＩモデルビルダ２１５は、深層学習エンジンとインターフェースして、同じくストレージ２３０に記憶されている前述の１つまたは複数のグローバルＡＩモデル１３０ａ〜ｐを構築するように構成される。たとえば、ＡＩモデルビルダ２１０及び２１５は、深層学習エンジン１９０内の対応するＡＩモデルを適用する目的で、入力層１９１、隠れ層１９２、及び出力層１９３の様々なノードを定義する、深層学習エンジン１９０内で定義されるパラメータを設定するように動作し得る。
【００４０】
自律型パーソナルコンパニオン１００は、そのフォームファクタ（たとえば、自律型ロボットシェル）内だけでなく、バックエンドサーバ１４０を介して、またはそれらの組み合わせによってローカルＡＩモデル１２０を実装し得る。前述のように、コンパニオン１００は、たとえば、あまり複雑でないＡＩ動作（たとえば、ルームライトをオンにする要求）を実行する場合、またはネットワーク接続が限られているか、もしくは存在しない場合に、バックエンドサーバから独立してローカルＡＩモデル１２０を実装し得る。加えて、コンパニオン１００は、バックエンドサーバと連携してローカルＡＩモデル１２０を実装し得る。たとえば、コンパニオン１００は、入力パラメータ（たとえば、実行される動作を定義するもの）を構造化または調整して、それらがバックエンドサーバ１４０に容易に配信されるようにする（たとえば、削減及び／または圧縮される）ためにローカル化されたローカルＡＩモデル１２０を介して予備動作を実行でき、ＡＩモデル１２０内の人工知能の大部分は、ＡＩモデルアプリケータ２２０及び／または深層学習エンジン１９０によって実行される。
【００４１】
図２に示すように、自律型パーソナルコンパニオン１００は、ユーザにサービスを提供できるように、ユーザと同じ環境内に配置される。コンパニオン１００は、有線もしくは無線接続（図示せず）を介して直接的に、またはローカルネットワーク２５０経由で、１つまたは複数のデジタルまたは物理的オブジェクト及び／またはエンティティとインターフェースすることができ、ネットワーク２５０は有線または無線接続を含み得る。図２は、コンパニオン１００と、様々なデジタル及び／または物理的オブジェクトとのインターフェースを示している。他のデジタル及び／または物理的オブジェクトとのさらなるインターフェースが考えられる。図示のように、コンパニオン１００は、有線または無線接続を介して、直接的に（たとえば、有線または無線のピアツーピア通信）、またはローカルネットワーク２５０（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ、ローカルエリアネットワークなど）経由で、ローカル環境内のオブジェクトとインターフェースし得る。加えて、ローカルネットワーク２５０は、ワイドエリアネットワークまたはインターネット１５０と通信可能に結合されて、ローカルネットワーク２５０経由で通信する様々なデジタル及び物理オブジェクトの、他のリモートオブジェクト（たとえば、バックエンドサーバ１４０、他のサーバなど）との通信を容易にする。
【００４２】
たとえば、コンパニオン１００は、コンパニオン１００を再充電するため、またはベースステーションと通信してソフトウェア更新を受信するため、ならびにその他の例示的な使用例のために、ベースステーション２６０及びコンパニオン１００の一方または両方を同一またはほぼ同一の場所に移動させるなどして、ベースステーション２６０とインターフェースし得る。
【００４３】
加えて、コンパニオン１００はローカルサーバ２４０とインターフェースでき、サーバ２４０は、ゲームコンソール２４１、タワーコンピュータ２４３などを含み得る。たとえば、ゲームコンソール２４１は、データのメインストリームをディスプレイ２６５に提供でき、また、メインストリームの概要または完全バージョンをコンパニオン１００に提供でき、それによってコンパニオン１００は有用な情報（たとえば、ゲーム支援）にアクセスでき、これは、ユーザのゲームプレイと同時に、ユーザに対して表示（たとえば、コンパニオン１００のディスプレイを介して）または配信（たとえば、音声）することができる。タワー２４３は、コンパニオン１００が管理または利用し得る追加の機能、たとえば、検索動作、ファイル記憶などを提供できる。
【００４４】
一実施形態では、コンパニオン１００は、コンパニオン１００内に、またはコンパニオン１００から離れて配置され得るマップ更新システム３４５とインターフェースし、及び／またはこれを実装し得る。マップ更新システム３４５は、コンパニオン１００が配置されている環境を継続的にマッピングするように構成される。たとえば、更新は、コンパニオン１００上で実行されている他のアプリケーションに対するバックグラウンドプロセスとして行われ得る。このようにして、オブジェクトあるいは物体が環境内を動き回るか、または新たに環境に導入されると、マップ更新システム３４５は、その動き及び／または導入を認識して、環境内のオブジェクト及び構造のマッピングを継続的に更新することができる。したがって、更新されたマッピングに部分的に基づいて、コンパニオン１００はオブジェクトと衝突することなく環境内を動き回ることができる。コンパニオン１００が動くことは、サービスを提供するための最良の位置にコンパニオンを配置するために必要であり得る。たとえば、コンパニオン１００は、画像を投影するために使用される壁の近くに移動する必要があり得、または会話したり、要求に応えたりするなどの目的で、ユーザの話をより良好に聞くために、ユーザの近くに移動する必要があり得る。
【００４５】
さらなる例として、コンパニオン１００は、１つまたは複数のデジタル資産２７０とインターフェースして、それらの資産内の動作を制御したり、それらのデジタル資産内のデータにアクセスしたりし得る。たとえば、デジタル資産は、ローカルサーバ２４０などを介してプロセッサまたはオペレーティングシステム内に実装されるカレンダー機能を含み得、その場合、コンパニオン１００は、カレンダー機能上で、エントリを更新または作成したり、差し迫ったカレンダーの日付を取得したりするなどのタスクが課せられ得る。
【００４６】
さらに他の例では、コンパニオン１００は、１つまたは複数の補助システム２７５とインターフェースし得る。たとえば、補助システム２７５は、ヘッドマウントディスプレイ（ＨＭＤ）を含み得、それによって、パーソナルコンパニオンは、ＨＭＤを通して表示されている仮想現実（ＶＲ）コンテンツから、ＶＲコンテンツに適合する、ＨＭＤ内に表示される追加コンテンツ（たとえば、ＶＲを拡張する情報を提供する、すなわち、拡張現実を実装するもの）を提供するための更新を受信し得る。
【００４７】
また、コンパニオン１００は、家の機能（たとえば、加熱及び冷却用のサーモスタット、空調つまみ、窓覆い、ネットワーク接続、デジタルコンテンツ配信及び提示、洗濯機及び乾燥機などの家電製品などの設定）を自動化するように構成されるホームオートメーションシステム２８０とインターフェースすることができる。したがって、コンパニオン１００は、ユーザのゲームプレイと同時にディスプレイに最良の照明を提供するために、娯楽室の照明をオフにするようにホームオートメーションシステム２８０に命令し得る。
【００４８】
加えて、コンパニオン１００は、携帯電話２８５とインターフェースして、電話２８５によって提供される様々な機能にアクセスし、及び／またはこれらを制御し得る。たとえば、コンパニオン１００は、電話２８５のストリーミング音楽機能に接続して、音楽をブロードキャストして流し得る。
【００４９】
図３Ａは、本開示の一実施形態による、ユーザのローカルＡＩモデルを通じて実装される自律型パーソナルコンパニオン１００のブロック図である。前に導入したように、コンパニオン１００は、対応するユーザとインターフェースして、ローカルＡＩモデル１２０を介して任意のタイプ（たとえば、デジタル、物理的など）のサービスを提供するように構成される。ローカルＡＩモデル１２０は、バックエンドサーバ１４０と連携して、ユーザの行動、応答、アクション、リアクション、欲求、及び／またはニーズを一部として予測する分散モデルであり得る。コンパニオン１００の様々な例示的なコンポーネントを図３Ａに示しているが、他の機能及び／またはコンポーネントが十分にサポートされる。
【００５０】
図３Ａに示すように、コンパニオン１００は、全体的な動作を管理するように構成されるシステムコントローラ３５５を含む。たとえば、コントローラ３５５は、コンパニオン１００の動作を容易にするために様々なコンポーネントによって使用可能なハードウェア及びソフトウェアリソースを管理し得る。加えて、コントローラ３５５は、コンポーネント間のインターフェース及び連携を含む、コンパニオン１００内に提供される１つまたは複数のコンポーネント（たとえば、モーター３２０、深度センサ３０５など）を制御し得る。
【００５１】
駆動コントローラ３６５は、コンパニオン１００によって実装される可動性機能を管理するように構成される。運動能力は、一つには、モーターアセンブリ３２０（たとえば、電気、燃料など）、または他の推進のための手段と、動きをコンパニオン１００に与えるように構成される駆動アセンブリ３７５とによって提供される。一部の実施態様では、駆動アセンブリ３７５は、コンパニオン１００の動きを提供するように構成される１つまたは複数の車輪、あるいは他の手段（たとえば、ホバー機能）を含み得る。場合によっては、ジャイロスコープ３８０は、静止位置にいる間に、または移動中に、コンパニオン１００を正しい向きに保つために、駆動コントローラ３６５に安定性情報を提供できる。
【００５２】
コンパニオン１００は、現在の環境を通じたコンパニオンのナビゲートを補助するように構成されるコンポーネントを含み得る。たとえば、深度センサ３０５及び近接センサ３３５は、環境内の固定オブジェクト及び移動オブジェクトに関する情報を提供できる。具体的には、近接センサ３３５は、コンパニオン１００に非常に近接しているオブジェクトの場所を（たとえば、面を検出することにより）特定するように構成され得る。また、深度センサ３０５は、コンパニオン１００の環境内の近くのオブジェクト及び遠くのオブジェクトの場所を特定するように構成され得る。すなわち、センサ３０５及び３３５は、環境内のコンパニオン１００の配置に対するオブジェクトの深度を特定し、継続的な更新を通じて、環境内の（新しい、及び、更新された）オブジェクトの場所を含む環境のマッピングを生成することができる。加えて、深度センサ３０５は、オブジェクトが硬いか（たとえば、金属製の机）、柔らかいか（たとえば、ソファ）を判定するなど、オブジェクトの組成を特定するように構成され得る。深度センサ及び近接センサは、電磁場、誘導、無線周波数、熱変動、赤外線周波数、気流などの使用を含む、環境内のオブジェクトの場所及び／または組成を特定するための様々な技術の１つを採用し得る。さらに、オブジェクト情報（たとえば、オブジェクトの相対的な配置）を提供するために、ならびに他の用途及びサービス（たとえば、個人的な画像及びビデオのキャプチャ、ビデオゲームの録画、ユーザの日常活動の録画など）を提供するために、カメラ３２５及び／またはビデオレコーダ３７０によって画像がキャプチャされ得る。
【００５３】
加えて、マップ更新システム３４５は、環境をマッピングするために、一つには、深度センサ３０５及び近接センサ３３５によって提供される情報を使用し得る。マッピングの目的で、建築設計図、カメラ３２５によってキャプチャされた画像、ビデオレコーダ３７０、及びマイクロフォン３１５などを含む他の情報及び／またはデータがアクセスされ得る。マッピングシステム３４５は、環境の３次元（３Ｄ）視野を提供するように構成され得る。たとえば、様々なコンポーネントによって収集されたデータ及び／または第三者の情報を使用して、環境の１つまたは複数のタイプのマッピングを生成することができる。これらのマッピングは、２次元マップと３Ｄマップとを含む。さらに、マップ更新システム３４５は、前述の１つまたは複数のツール（たとえば、深度センサ３０５及び近接センサ３３５など）を使用して、環境を継続的にマッピングする。たとえば、環境を動き回るオブジェクト、または環境に導入されたオブジェクトは検出可能であるので、それらのオブジェクトの場所が環境のマッピング内で更新される。他のタイプのマッピングには、環境の画像ツアー及びビデオツアーが含まれる。一実施形態では、この情報を使用して、ユーザの家をマッピングでき、部屋の場所を特定することができ、部屋の壁を分類することができ（たとえば、どの壁を投影スクリーンとして使用できるかを決定するため）、様々な部屋の現実画像及び仮想画像が記憶及び提供され得、家のビデオツアー及び仮想ツアーが生成され得る（たとえば、保険、不動産の展示などのため）。
【００５４】
他の実施形態では、コンパニオン１００は、娯楽、通信などの目的で表示（ディスプレイ）システム３１０を含み得る。たとえば、表示システム３１０は、ユーザによるインターネット検索の結果を提供する場合、または１つまたは複数の目的（たとえば、ユーザの一般的な健康に関する質問、ユーザによる様々な要求の明確化など）のためにユーザに問い合わせする場合などに、ユーザとコミュニケーションを行うために使用され得る。加えて、表示システム３１０は、プライマリゲームディスプレイ（ゲームコンソールからプライマリゲームストリームによってストリーミングされるゲームアプリケーションをプレイしているユーザのゲームプレイを表示する）、またはセカンダリゲームストリーム（たとえば、ユーザのゲームプレイに関連する情報）を提供するための補助ディスプレイとして使用され得る。表示システム３１０は、映画または他のデジタルコンテンツを表示するように構成され得る。表示システム３１０は、ディスプレイによって提供される画像またはビデオに関連して音声を提供するために、スピーカーまたはオーディオシステム３３０と連携して動作し得る。たとえば、ユーザのゲームプレイの音声は、ディスプレイ上に提示されるときに、ゲームプレイのビデオに関連付けられて、同期されて提示され得る。
【００５５】
さらに、コンパニオン１００は、娯楽、通信などの目的で投影システム３４０を含み得る。投影システムは、表示システム３１０と同様の機能を提供でき、これには、ユーザとのコミュニケーションの提供、またはコンソールもしくはバックエンドストリーミングサービスによって提供されるゲームアプリケーションからのプライマリストリームの表示、セカンダリデータストリームの提供（たとえば、二次情報もしくは補足情報を提供するか、またはプライマリディスプレイと組み合わせてゲーム世界の拡大視野を提供するゲームアプリケーションの補助画面として）、デジタルコンテンツの表示などが含まれる。加えて、投影システム３４０を介して他の機能が提供され得る。投影される画像は表示システムよりも大きくなり得るので、拡大表示オプションが提供され得る。たとえば、様々なタイプのビデオ及び／またはイメージング（たとえば、ホログラフィック、３Ｄなど）が、コンパニオン１００の投影システム３４０を通じて提示され得る。
【００５６】
ビデオレコーダ３７０及びマイクロフォン３１５（たとえば、オーディオレコーダ）の組み合わせは、コンパニオン１００によって収集及び／または生成されたデジタル情報のビデオ及び／または音声をキャプチャするように構成される。たとえば、ゲームアプリケーションをプレイしているユーザのゲームプレイ（たとえば、ビデオ及び音声）が収集され、記憶され得る。ユーザがゲームアプリケーションをプレイしているときのユーザからの追加の音声などの追加情報が、ビデオレコーダ及びマイクロフォンによって収集され、ゲームプレイのビデオ及び音声と結合され得る。
【００５７】
加えて、ユーザ追跡システム３５０は、ユーザの全体的な動き及び特定の動きを追跡するように構成され得る。全体的な動きには、環境内でのユーザの全体的な体の動きが含まれる。特定の動きは体の一部を対象とでき、たとえば、ユーザの頭または胴体の動きを特定する。たとえば、追跡システムは、ユーザの様々な体の部分の向きを特定し、頭または体の回転を追跡し得る。追跡システム３５０は、カメラ３２５もしくはビデオレコーダ３７０、深度センサ３０５、近接センサ３３５、または他の追跡センサ（たとえば、統合されたセンサもしくはサードパーティのセンサ、たとえば、ゲームコンソールを介して提供されるものなど）からの画像及びビデオを含む、１つまたは複数の他のコンポーネントによって提供されるデータを収集し得る。
【００５８】
図３Ｂに、本開示の様々な実施形態の態様を実施するために使用することができる例示的なデバイス１００のコンポーネントを示す。たとえば、図３Ｂは、一実施形態による、ユーザをサポートするサービスを提供するデバイスを実装するのに適した例示的なハードウェアシステムを示しており、このデバイスは、対応するユーザの行動、アクション、リアクション、応答、欲求、及び／またはニーズを一部として予測することが可能なローカルＡＩモデルを通じて実装されるサービスを提供するように構成される。このブロック図は、本発明の一実施形態を実践するのに適した、パーソナルコンピュータ、ビデオゲームコンソール、パーソナルデジタルアシスタント、または他のデジタルデバイスを組み込むことができるか、またはそれら自体とすることができるデバイス１００を示している。デバイス１００は、ソフトウェアアプリケーション及び任意選択でオペレーティングシステムを動作させるための中央処理装置（ＣＰＵ）３０２を含む。ＣＰＵ３０２は、１つまたは複数の同種または異種の処理コアで構成され得る。
【００５９】
様々な実施形態によれば、ＣＰＵ３０２は、１つまたは複数の処理コアを有する１つまたは複数の汎用マイクロプロセッサである。深層学習、コンテンツ分類、及びユーザ分類用に構成されるアプリケーションのうち、メディア及び対話型（インタラクティブ）エンターテインメントアプリケーションなどの、高度に並列かつ計算集約型のアプリケーション専用に適合されたマイクロプロセッサアーキテクチャを有する１つまたは複数のＣＰＵを使用して、さらなる実施形態を実装することができる。たとえば、ＣＰＵ３０２は、ユーザのユーザ行動、アクション、応答、リアクション、欲求、及び／またはニーズを一部として予測することに関する学習動作をサポート及び／または実行するように構成されるローカル化されたＡＩエンジン（たとえば、深層学習）１１０を含むように構成され得る。また、ＡＩエンジン１１０は、コンパニオン１００においてユーザのローカルＡＩモデル１２０を適用するように構成される。加えて、ＣＰＵ３０２は、システムコントローラ３５５、駆動コントローラ３６５、マップ更新システム３４５など、図３Ａに示すコンパニオン１００のコンポーネントのうちの１つまたは複数によって提供される追加機能を提供できる。
【００６０】
図示のように、マップ更新システム３４５は、コンパニオン１００内に配置されたハードウェアベースのデバイスを通じて実装され得る。具体的には、マップ更新システム３４５は、コンパニオン１００が配置されている環境のマッピングを生成するように構成される。このマッピングは、環境の空間内の位置を定義する新たに生成された及び／またはフォーマットされた座標系などの、局所的な測位システムを含み得る。たとえば、座標系は、全地球測位システム（ＧＰＳ）、または３Ｄデカルト座標系、系の混合（たとえば、部屋ごとの個別の座標系と結び付けられた建物の部屋を画定する間取図）、または任意の適切な測位システムの値を組み込み得る。
【００６１】
メモリ３０４は、ＣＰＵ３０２によって使用されるアプリケーション及びデータを記憶する。ストレージ３０６は、アプリケーション及びデータ用の不揮発性ストレージ及び他のコンピュータ可読媒体を提供し、固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙ（登録商標）、ＨＤ−ＤＶＤ、または他の光学記憶デバイス、ならびに信号伝送及び記憶媒体を含み得る。ユーザ入力デバイス３０８は、１人または複数のユーザからのユーザ入力をデバイス１００に伝達し、その例には、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、スチルまたはビデオレコーダ／カメラ、及び／またはマイクロフォンが含まれ得る。ネットワークインターフェース３１４は、デバイス１００が電子通信ネットワークを介して他のコンピュータシステムと通信することを可能にし、ローカルエリアネットワーク及びインターネットなどのワイドエリアネットワークを介した有線または無線通信を含み得る。オーディオプロセッサ３１２は、ＣＰＵ３０２、メモリ３０４、及び／またはストレージ３０６によって提供される命令及び／またはデータからアナログまたはデジタル音声出力を生成するようになされる。ＣＰＵ３０２、メモリ３０４、データストレージ３０６、ユーザ入力デバイス３０８、ネットワークインターフェース３１０、及びオーディオプロセッサ３１２を含むデバイス１００のコンポーネントは、１つまたは複数のデータバス３２２を介して接続される
【００６２】
グラフィックサブシステム３１４は、データバス３２２及びデバイス１００のコンポーネントとさらに接続される。グラフィックサブシステム３１４は、グラフィック処理ユニット（ＧＰＵ）３１６及びグラフィックメモリ３１８を含む。グラフィックメモリ３１８は、出力画像の各ピクセルのピクセルデータを記憶するために使用されるディスプレイメモリ（たとえば、フレームバッファ）を含む。グラフィックメモリ３１８は、ＧＰＵ３１６と同じデバイス内に統合し、ＧＰＵ３１６とは別のデバイスとして接続し、及び／またはメモリ３０４内に実装することができる。ピクセルデータあるいは画素データは、ＣＰＵ３０２からグラフィックメモリ３１８に直接提供することができる。あるいは、ＣＰＵ３０２は、所望の出力画像を定義するデータ及び／または命令をＧＰＵ３１６に提供し、そこからＧＰＵ３１６は、１つまたは複数の出力画像のピクセルデータを生成する。所望の出力画像を定義するデータ及び／または命令は、メモリ３０４及び／またはグラフィックメモリ３１８に記憶することができる。一実施形態では、ＧＰＵ３１６は、シーンのジオメトリ、ライティング、シェーディング、テクスチャリング、モーション、及び／またはカメラパラメータを定義する命令及びデータから出力画像のピクセルデータを生成するための３Ｄレンダリング機能を含む。ＧＰＵ３１６は、シェーダプログラムを実行することが可能な１つまたは複数のプログラム可能な実行ユニットをさらに含むことができる。一実施形態では、ＧＰＵ３１６は、ＡＩまたは深層学習機能などのための追加の処理能力を提供するために、ＡＩエンジン１９０’内に実装され得る。
【００６３】
グラフィックサブシステム３１４は、ディスプレイデバイス３１０に表示されるか、または投影システム３４０によって投影される画像のピクセルデータをグラフィックメモリ３１８から定期的に出力する。ディスプレイデバイス３１０は、デバイス１００からの信号に応答して視覚情報を表示することが可能な任意のデバイスとすることができ、これには、ＣＲＴ、ＬＣＤ、プラズマ、及びＯＬＥＤディスプレイが含まれる。デバイス１００は、たとえば、アナログまたはデジタル信号をディスプレイデバイス３１０に提供することができる。
【００６４】
本明細書に記載の実施形態は、任意のタイプのクライアントデバイス上で実行され得ることを理解されたい。一部の実施形態では、クライアントデバイスは、ヘッドマウントディスプレイ（ＨＭＤ）、または投影システムである。
【００６５】
図４Ａ〜図４Ｃに、本開示の一実施形態による、対応するユーザの家庭環境内の自律型パーソナルコンパニオン１００の１つの例示的な実施態様を示す。前述のように、コンパニオン１００は、ローカルＡＩモデル１２０を介してユーザにサービスを提供するように構成され、ＡＩモデル１２０は、ユーザの行動、応答、アクション、リアクション、欲求、及び／またはニーズを一部として予測するために、あらゆるバックエンドサーバから独立して動作でき、またはバックエンドサーバに配置されたＡＩモデル１２０と分散して動作し得る。コンパニオン１００は様々なシナリオの下で多様なサービスを提供するように構成されるが、図４Ａ〜４Ｃには、ユーザ４５０がゲームコンソール２４１上で実行されている（またはバックエンドサーバで実行され、ゲームコンソールを介してストリーミングされている）ゲームアプリケーションをプレイしており、コンパニオン１００が、ユーザ４５０のゲームプレイの補足情報を提供することが可能であるシナリオを示す。
【００６６】
図示のように、ユーザは娯楽室などの家庭環境４１０にいる。この部屋は２つの壁４１５Ａ及び４１５Ｂを含む。環境４１０はソファ４０５を含む。ユーザはゲームコンソール２４１を利用することができる。具体的には、ゲームアプリケーションは、ユーザ４５０のゲームプレイに関連して、ゲームコンソール２４１（または他の任意のデバイス）を介して実行及び／またはストリーミングされ、ゲームプレイはコントローラ４２０などを介したユーザ入力に応答する。ゲームプレイのプライマリストリームが作成され、ゲームプレイのビデオがディスプレイ３１０に配信される。加えて、ゲームプレイの音声が、オーディオシステム（図示せず）を介して提供され得る。ゲームアプリケーションは公道のレーシングゲームであり得、ユーザはレースで車のドライバーをプレイしている。スクリーンショット４２５は、ディスプレイ３１０に配信されたビデオストリームの画像を示し、迫り来る道と、ステアリングホイール及びダッシュボードの様々な計器類とを示す、フロントガラスの外の、レースカーのダッシュボード越しの視界を含む。
【００６７】
加えて、コンパニオン１００は環境４１０にあり、ロボットフォームファクタ１０５と、ユーザ４５０のローカルＡＩモデル１２０を実装するように構成されるＡＩ１１０とを含む。たとえば、ＡＩ１１０は、バックエンドサーバ１４０のＡＩエンジン１９０と連携するＡＩエンジン１９０’であり得る。ＡＩ１１０を通じて実装されるローカルＡＩモデル１２０は、一つには、ゲームプレイに関連するサービスをユーザ４５０に提供するように構成される。したがって、コンパニオン１００は、ゲームアプリケーション及び／またはゲームプレイに関する情報を少なくとも受信するために、ゲームコンソール２４１に通信可能に結合され得る。たとえば、この情報は、ゲームのタイトル及びバージョン、ゲームプレイのゲーム状態を含み得る。加えて、コンパニオン１００は、ゲームアプリケーションのセカンダリストリームで提供される情報を含み得る。たとえば、ゲームコンソール２４１は、ディスプレイ３１０上に提示するためのプライマリストリームと、コンパニオン１００を介して（たとえば、ディスプレイ、投影、スピーカーなどを介して）提示されるセカンダリストリームとを生成し得る。
【００６８】
一実施形態では、コンパニオン１００は、ユーザのゲームプレイをサポートする補足情報を提供するように構成され、この情報は、ユーザと、ゲームアプリケーションをプレイする他のプレーヤーとのゲームプレイに関連し得る。この情報は、一部の実施態様では、ゲームアプリケーションに関連する一般的な情報を提供する。補足情報は、ゲームプレイを進める際の支援をユーザ４５０に提供できる。たとえば、支援は、ユーザ４２０が目標を達成する（たとえば、レベルをクリアする）のを手助けするコーチングの形であり得、ユーザがゲームアプリケーション内の目標を達成するのを大まかにまたは直接的に手助けするコントローラ入力を示す視覚的な手がかりを含み得る。コンパニオンアプリケーションを通じて提供される補足情報の詳細な説明は、２０１７年３月３１日に出願された「ＧＡＭＥ  ＰＬＡＹ  ＣＯＭＰＡＮＩＯＮ  ＡＰＰＬＩＣＡＴＩＯＮ」と題された同時係属中の特許出願、米国特許出願第１５／４７６，５９７号に与えられており、その全体が引用により本明細書に組み込まれている。
【００６９】
図４Ｂに、ゲームコンソール２４１とインターフェースして、図４Ａで導入したユーザ４５０のゲームプレイに関連する補足情報を提供する自律型パーソナルコンパニオン１００を示す。たとえば、図４Ｂは、ゲームコンソール２４１上で実行されるか、またはそれを介してストリーミングされるゲームアプリケーションをプレイしている環境４１０内のユーザ４５０を示している。具体的には、図４Ｂは、ゲームアプリケーションの３次元（３Ｄ）ゲーム世界と、ユーザの物理環境との統合を示している。図示のように、コンパニオン１００は、ゲームアプリケーションの３Ｄゲーム世界の一部を物理環境４１０に投影するように構成される。たとえば、コンパニオン１００は、スクリーンショット４２５を表示し続けているディスプレイ３１０に提示されているものを超えて３Ｄ世界の視野を拡張することができる。具体的には、コンパニオン１００は、ディスプレイ３１０上に提示されている（スクリーンショット４２５を含む）プライマリビデオストリームと同時に、ビデオストリーム（スクリーンショット４３０を含む）をゲームアプリケーションのセカンダリ（２次）ストリームとして投影する。
【００７０】
加えて、本開示の一実施形態によれば、コンパニオン１００によって提供される投影は、ユーザ４５０の視線の方向に応じて行われ得る。たとえば、コンパニオン１００の視線追跡システムまたはコンパニオン１００と連携して動作する視線追跡システムは、ゲームプレイ中にユーザ４５０の視線の方向をキャプチャするように構成される。一例として、ユーザがレースをしている場合、環境４１０内で音が指向的に提供され得、これにより頭の動きが誘発され得る。図示のように、ユーザ４５０の頭は大きく右を向いている。ディスプレイ３１０上のプライマリストリーム内に表示される、右側を指す矢印など、他のトリガーがサポートされる。たとえば、コンパニオン１００のサウンドロケータ及び投影システムは、ゲームアプリケーションのゲーム世界内の原点にも対応する環境４１０内の場所から発生する、または発生させられる音を生成し得る。この音は、ユーザ４５０によって操作されるドライバーを追い抜こうとしている競争相手のエンジンからのものであり得、ドライバーの右側、またはより詳細にはコックピットの右側で発生し得る。追い越しているレーサーをより良好に見るために、ユーザの頭が右を向くと、ユーザ４５０の視点から見たゲーム世界のその部分の投影が、エリア４４３内の壁４１５Ａ上に提示され、ユーザによってプレイされるキャラクターの場所に対する、ゲーム世界におけるオブジェクトのほぼ適切な場所に投影が提示され、キャラクターの場所はユーザ４５０の物理的な場所に関連付けられる。図示のように、二次情報の投影のスクリーンショット４３０は、右側を通過するレースカーのナンバー７８を含む。
【００７１】
一実施形態では、エリア４４３は、以前に実現された環境４１０のマッピング処理中に発見されている場合がある。マッピング処理は、エリア４４３が補足情報及び／またはコンテンツを表示するのに適し得ることを発見している。コンパニオン１００は、補足情報を適切に提示するために、環境４１０内で壁４１５Ａ及び／またはユーザ４５０に対して自身を位置決めし得る。
【００７２】
図４Ｃに、本開示の一実施形態による、図４Ａ〜図４Ｂで導入したゲームアプリケーションの３Ｄゲーム世界の統合の他の例を示し、ゲームアプリケーションの３Ｄゲーム世界の拡張が、ユーザ４５０のゲームプレイのプライマリストリームを表示するディスプレイ３１０と並んで投影される。図示のように、二次情報または補足情報を壁４１５Ａに投影する代わりに、情報はディスプレイ３１０のすぐ右側の壁４１５Ｂに投影される。たとえば、環境４１０のマッピング処理中に、壁４１５Ａが画像の投影をサポートできないと判定され得る。すなわち、コンパニオン１００が壁４１５Ａに投影しても、ビデオストリームを見ることができない（たとえば、壁４１５Ａが本棚を含む）。したがって、コンパニオン１００は、特に、ゲームアプリケーションのプライマリビデオを表示しているディスプレイ３１０に対する、ゲーム世界における投影内のオブジェクトの場所の適切な感覚を依然として多少伝えるエリア４４０内の壁４１５Ｂに補足情報を投影し得る。他の実施態様では、投影は、ディスプレイ３１０に提示されるビデオストリームの拡張である。したがって、コンパニオン１００は、図４Ｂで前に導入した、追い越し位置にあるレースカー番号７８を含むスクリーンショット４３０を含む補足ビデオストリームをエリア４４０に投影する。スクリーンショット４３０は、ディスプレイ３１０上に提示されたキャラクタードライバーの視点（たとえば、スクリーンショット４２５）によって表されるコックピットの右側に投影される。
【００７３】
一実施形態では、壁４１５Ｂへの投影は、ディスプレイ３１０から中心を外れたユーザ４５０の視線によってトリガされ、あるいは引き起こされ得る。図示のように、ユーザ４５０の頭は、ゲーム環境内のように約９０度回転されるわけではなく、壁４１５Ｂのエリア４４０を見るために４５度に近い。他の実施形態では、投影は、ゲームアプリケーションの実行中にコンパニオン１００によって自律的に生成され得る。たとえば、強化されたユーザ体験を提供するために、補足情報がコンパニオン１００によって自動的に投影され得る。その場合、他の補足情報が、環境４１０内の他の場所に他の時間に提供され得る。
【００７４】
図５に、本開示の一実施形態による、ヘッドマウントディスプレイ（ＨＭＤ）５１５を使用してユーザ５５０によりプレイされるゲームアプリケーションの３Ｄ仮想現実（ＶＲ）世界と、物理環境５１０との統合を示す。図５に示すように、ユーザ５５０は、ユーザ５５０のゲームプレイに関連して、ゲームコンソール２４１で実行されている（またはバックエンドサーバで実行され、ゲームコンソールまたは他の任意のデバイスを介してストリーミングされている）ゲームアプリケーションをプレイしており、ゲームプレイは、コントローラ４２０及び／またはＨＭＤ５１５の動きなどを介したユーザ入力に応答する。
【００７５】
前述のように、コンパニオン１００は、ローカルＡＩモデル１２０を介してユーザにサービスを提供するように構成され、ＡＩモデル１２０は、ユーザの行動、応答、アクション、リアクション、欲求、及び／またはニーズを一部として予測するために、あらゆるバックエンドサーバから独立して動作でき、またはバックエンドサーバに配置されたＡＩモデル１２０と分散して動作し得る。コンパニオン１００は、ロボットフォームファクタ１０５と、ユーザ５５０に対応するＡＩモデル１２０を実装するための人工知能とを含む。
【００７６】
より具体的には、コンパニオン１００は、ゲームアプリケーションの仮想現実（ＶＲ）ゲーム世界の一部を物理環境５１０に投影するように構成される。たとえば、ＶＲゲーム世界の投影５２０は、環境５１０内の壁（図示せず）上に行われ得る。また、投影５２０は、コンパニオン１００によって制御される物理ディスプレイを介して行われ得る。このようにして、ユーザ５５０が体験する視野あるいはビューは、観客５５５にも提示され得る。一実施形態では、本開示の一実施形態によれば、観客５５５がユーザ５５０のＶＲゲーム世界の体験に並行して参加できるようにするために、ユーザ５５０の視線の方向に応答して投影が行われる。したがって、環境５１０が投影に適している場合、ユーザ５５０がＶＲゲーム世界を見るときに向きを変えると、コンパニオン１００もまた、ＶＲゲーム世界内の適切な場所に近接して対応する環境５１０内の別の場所に投影５２０を変更し得る。すなわち、ユーザ５５０の頭が反時計回りに９０度回転すると、投影５２０は、ユーザ５５０の左側であって、観客５５５の左側でもある壁に行われ得る。このようにして、観客は、コンパニオンアプリケーションによって物理環境５１０に投影されたＶＲゲーム世界の感覚を取得し得る。
【００７７】
図６Ａ〜図６Ｈに、本開示の実施形態による、自律型パーソナルコンパニオンの様々な例示的な形態を示し、コンパニオンは、図１〜図５に示したコンパニオン１００によって実装され得る。図６Ａ〜図６Ｈに示すコンパニオンは、ローカルＡＩモデル１２０を介して対応するユーザにサービスを提供するように構成され、ＡＩモデル１２０は、ユーザの行動、応答、アクション、リアクション、欲求、及び／またはニーズを一部として予測するために、あらゆるバックエンドサーバから独立して動作可能であるか、またはバックエンドサーバに配置されたＡＩモデル１２０と分散して動作可能である。
【００７８】
具体的には、図６Ａに、本開示の一実施形態による、ユーザのＡＩモデルを通じて実装されるユーザ用のコンパニオン６００Ａの例示的な形態を示す。図６Ａでは一般的なフォームファクタを示しているが、コンパニオン６００Ａは任意の適切なフォームファクタで実装され得る。たとえば、本体６０１は、上部よりも下部の直径が小さい円錐形を有するように図示している。上部ハウジング６０５は、コンパニオン６００Ａの追加の機能を容易にするために、本体６０１から突出し得る。
【００７９】
具体的には、コンパニオン６００Ａは、下部に１つまたは複数の車輪６０９、またはコンパニオン６００Ａに２次元または３次元の可動性を提供するための任意の適切な手段を含む。このようにして、コンパニオン６００Ａは、そのサービスを提供するために必要に応じて環境内を動き回り得る。たとえば、コンパニオン６００Ａは、環境の最良の画像をキャプチャし、あるいはビデオ及び／または画像を投影するための最良の場所を選択するために、自主的に環境を動き回り得る。加えて、本体６０１は１つの場所で回転して、環境内でコンパニオン６００Ａに最良の向きを提供できる。
【００８０】
図６Ｂに、本開示の実施形態による、画像の投影、近接環境の検知、及び補助音の提供を一部として含む一連の機能を備えて構成される例示的な自律型パーソナルコンパニオン６００Ｂを示す。具体的には、図６Ａで最初に導入した、本体６０１を備えた一般的なフォームファクタを有するコンパニオン６００Ｂを示している。加えて、環境内での運動能力を表すために、車輪６０９を示している。
【００８１】
コンパニオン６００Ｂは、本体６０１の至る所に配置されたスピーカー６１０を含む。加えて、スピーカー６１０はコンパニオン６００Ｂの他の部分、たとえば、上部ハウジング６０５に配置され得る。ディスプレイ３１０は、本体６０１の表面上に配置され、対応するユーザにサービスを実行する場合に情報及び／またはデータを提示するように構成される。たとえば、ディスプレイ３１０は、ユーザに応答を尋ねる場合にテキストを表示し、またはユーザからのクエリに応答してビデオまたはテキストを提示し得る。また、ディスプレイ３１０は他の補足情報、たとえば、ゲームアプリケーションをプレイしているユーザのゲームプレイに関連して生成されるものなどを提示し得る。
【００８２】
コンパニオン６００Ｂは、環境を検知するために使用される１つまたは複数のセンサを含み、センサはコンパニオン表面上の様々な場所に配置され得る。たとえば、深度センサ３０５は本体６０１の上部の表面に配置され得、深度センサは環境内の近くのオブジェクト及び遠くのオブジェクトの場所を特定するように構成される。また、１つまたは複数の深度センサ３０５を使用して、オブジェクトの組成またはオブジェクトの表面硬度を特定し得る。加えて、１つまたは複数の近接センサ３３５が上部ハウジング６０５の表面に配置され得、近接センサはコンパニオン６００Ｂの近くのオブジェクトの場所を特定するように構成され得る。前述のように、深度センサ及び近接センサは、信号６２５で示すように、オブジェクトの場所を特定するための様々な技術（たとえば、電磁場、誘導、無線周波数、熱変動、赤外線周波数、気流あるいはエアフローなど）を採用し得る。
【００８３】
加えて、本体６０１の上部は、環境の音声記録をキャプチャするように構成される１つまたは複数のマイクロフォン３１５を含む。たとえば、対応するユーザの音声を記録して、ユーザの生のリアクションをキャプチャでき、これは後で再生され得る。また、記録された音声は、カプセル６５０内に配置されたビデオレコーダ３７０によってキャプチャされた録画ビデオと同期され得る。また、画像カメラ３２５は、カプセル６５０内に配置され得る。画像カメラ３２５とビデオレコーダ３７０との組み合わせにより、コンパニオン６００Ｂはユーザ及び／または環境のビデオ及び／または画像をキャプチャすることが可能になる。
【００８４】
図示のように、カプセル６５０は、様々な程度の動き及び向きを有する。カプセル６５０はリフト機構６５５に取り付けられ、コンパニオン６００Ｂの本体６０１に対して上下に動くことができる。たとえば、カプセル６５０は、カメラ３２５またはレコーダ３７０がオブジェクト（たとえば、壁、ソファ、家具、本棚など）によって遮られた場合などに、環境をより良好に見るために自身を持ち上げ得る。加えて、カプセル６５０は、静止した本体６０１に対して回転が起こるように、リフト機構６５５のシャフトを中心に回転し得る。
【００８５】
コンパニオン６００Ｂの上部ハウジングは、１つまたは複数の投影システム３４０を含み得る。前述のように、投影システム３４０は、環境の面（たとえば、部屋の壁）に補足情報を投影し得る。面は、前述のように、環境のマッピングを通じて決定され得る。補足情報は、コンパニオン６００Ｂがユーザにサービスを提供しているときに、ユーザとコミュニケーションを行うために使用され得る。
【００８６】
図６Ｃに、本開示の一実施形態による、画像キャプチャ及び画像投影などの１つまたは複数の機能を備えて構成されるドローンアセンブリ６５１を含む例示的な自律型パーソナルコンパニオン６００Ｃを示す。図示のように、コンパニオン６００Ｃは、大まかに表現した本体６０１、移動手段（たとえば、図示の車輪６０９）、ディスプレイ３１０、近接センサ３３５、及び投影システム３４０のプロジェクタを含む、前に導入した１つまたは複数の機能を有する。前に導入した他の機能は、明確さの目的で図示していない。
【００８７】
具体的には、コンパニオン６００Ｃは、休止位置にある場合に上部ハウジング６０５（またはアセンブリ６５１を受け入れることが可能な他の任意の適切な表面エリア）に結合されるドローンアセンブリ６５１を含む。たとえば、ドローンアセンブリ６５１は、バッテリーを充電する目的で上部ハウジング６０５とインターフェースし得る。別個のベースステーションなど、コンパニオン６００Ｃから離れた他の休止場所が考えられる。さらに、ドローンアセンブリ６５１は、コントローラ３５５などのコンパニオン６００Ｂの１つまたは複数のコンポーネントに通信可能に結合される。画像カメラ３２５及び／またはビデオレコーダ３７０は、画像及びビデオをキャプチャする目的でドローンアセンブリ６５１に配置され得る。投影システム６４０のプロジェクタなど、他の構成要素もアセンブリ６５１に配置され得る。
【００８８】
図示のように、ドローンアセンブリ６５１は、環境内を動き回ることができる。動きを提供するための任意の適切な手段、たとえば、プロペラシステム、空気流システム、軽量空気システム、係留システムなどが考えられる。したがって、ドローンアセンブリ６５１は、環境全体を３次元に移動し、環境内で自身を回転させることができる。画像及び／またはビデオをキャプチャするためのより良好な位置にカメラ３２５及び／またはビデオレコーダ３７０を配置するために、移動が必要であり得る。たとえば、コンパニオン１００の本体６０１及び上部ハウジング６０５に対応するポイントから捉えられる特定の方向の部屋の視野は、オブジェクトによって遮られ得る。ドローンアセンブリ６５１は、視野をキャプチャするために、オブジェクトによって妨害されない場所に（たとえば、真上に）配備され得る。
【００８９】
図６Ｄに、本開示の一実施形態による、１つまたは複数の機能を備えて構成される回転式の上部６３０を含む例示的な自律型パーソナルコンパニオン６００Ｄを示す。コンパニオン６００Ｄは、対応するユーザのローカルＡＩモデル１２０を実装するのに適した異なるフォームファクタを示すために図示している。図示のように、コンパニオン６００Ｄはベース６２０を含む。可動性手段、たとえば、車輪６０９’または前述の他の任意の適切な運動手段がベース６２０内に設けられる。
【００９０】
具体的には、コンパニオン６００Ｄは上部６３０を含み、上部６３０は、カメラ３２５、ビデオレコーダ３７０、深度センサ３０５、近接センサ３３５などを含み得る。説明のために、上部６３０は、ベース６２０を中心に回転可能であり得る。このようにして、コンパニオン６００Ｄは、それ自身を、ユーザにサービスを最良に提供する方向に向けることができる（たとえば、ユーザとコミュニケーションあるいは通信を行うための良好な位置をとる）。すなわち、コンパニオン６００Ｄの可動機能と、回転式の上部６３０とを組み合わせると、その環境内でコンパニオンの様々な向きが可能になる。たとえば、上部６３０は環境内のオブジェクトに向かって回転されて、カメラシステムにオブジェクトの良好な視野を与えるようにし得る。さらに、コンパニオン６００Ｄは、オブジェクトの近くに移動して、カメラシステムにオブジェクトのより良好な視野あるいはビューを与えるようにし得る。
【００９１】
一部の実施態様では、上部６３０の回転によって、コンパニオン６００Ｄの感情を伝えたり、何らかの行動を表したりすることができる。その場合、上部６３０には、感情を示すようにプログラムされた多色照明が装備され得る。たとえば、ライトの帯６３１を上部６３０に図示している。帯６３１の各ライトは、対応するパターンに従ってオンまたはオフにされ得る。加えて、帯６３１の各ライトは、対応するパターンに従って一連の色を示し得る。表６３２はライトパターン（たとえば、オン／オフ、カラーシーケンスなど）のリストを示しており、各パターンはコンパニオン１００の対応する感情に関連付けられ得る。たとえば、パターン１は第１の幸せの感情に関連付けられ得、パターン２は第２のタイプの幸せに関連付けられ得る。他の感情は、たとえば、無関心、怒り、悲しみ、不機嫌などを示す、他のパターンを通じて表され得る。
【００９２】
図６Ｅに、本開示の一実施形態による、１つまたは複数の付属物６４０を含む例示的な自律型パーソナルコンパニオン６００Ｅを示す。図示のように、コンパニオン６００Ｅは、大まかに表現した本体６０１と、移動手段（たとえば、図示の車輪６０９）とを含む、前に導入した１つまたは複数の機能を有する。前に導入した他の機能は、明確さの目的で図示していない。
【００９３】
具体的には、付属物６４０は、コントローラ機能を提供できる。たとえば、付属物６４０はコントローラ４２０を含み得、ゲームコンソールまたはバックエンドサーバでのゲームアプリケーションの実行中に操作命令を提供する目的で、ゲームコンソール２４１とインターフェースし得る。一実施形態では、操作及び取り扱いをより容易にするために、付属物６４０の１つまたは複数が除去され得る。このようにして、ユーザは、ゲームコントローラを扱う普段の方法で付属物６４０とインターフェースし得る。
【００９４】
一実施形態では、各付属物６４０は、ベース充電ポートに結合することが可能な再充電ポートを備えて構成される。内部バッテリー（図示せず）が、対応する付属物６４０内に配置される。ベース充電ポートは本体６０１上に、たとえば、ピボットポイント６０２に関連付けられた接続内に配置され得る。このようにして、付属物６４０が本体６０１上に戻されると、内部バッテリーの充電が行われ得る。すなわち、一実施形態では、電力（たとえば、電荷）が、コンパニオン６００Ｅの本体６０１を介して付属物６４０の内部バッテリーに転送される。他の実施形態では、電力が反対方向に転送されて、電力が内部バッテリーからコンパニオン６００Ｅに転送される。このようにして、付属物６４０は、コンパニオン６００Ｅに電力を供給するための一次再充電媒体として構成され得、取り外されて、本体６０１とは別個のベース充電ステーションに電気的及び／または通信的に結合され得る。付属物６４０が分離されている間（たとえば、再充電中）、コンパニオン６００Ｅは内部バッテリーソースを使用して動作を継続でき、付属物６４０が本体６０１に再び結合されると、バッテリーソースを再充電することができる。
【００９５】
一実施形態では、付属物６４０は、コンパニオン６００Ｅの腕あるいはアームの役割を果たす。たとえば、付属物６４０は、本体６０１上のピボットポイント６０２の周りを動き得る。付属物６４０の動きは、何らかのコミュニケーションを提供できる。たとえば、付属物６４０の動きのパターンは、コンパニオン６００Ｅによる挨拶を伝え得る。他の例では、付属物６４０が本体６０１から外向きに伸ばされて、コンパニオン６００Ｅの歓迎の姿勢を示し得る。さらに他の例では、付属物６４０が伸ばされて、ユーザとの握手またはフィストバンプを提供できる。他の動きが考えられる。加えて、付属物は、他の実施形態では、任意の形態または構成のものであり得る。たとえば、コンパニオン６００Ｅの付属物として構成されるヘッドまたは上部ハウジング６０５は、本体６０１から取り外し可能であり得る。
【００９６】
図６Ｆ〜図６Ｈに、本開示の実施形態による、自律型パーソナルコンパニオンの代替的なフォームファクタを示す。たとえば、図６Ｆのコンパニオン６００Ｆは、ベース６２０’のブロック形状と、上部ハウジング６０５’のブロック形状とを示している。運動手段がベース６２０’に含まれる（たとえば、車輪６０９’）。加えて、図６Ｇのコンパニオン６００Ｇは、ベース６２０’’の球形と、上部ハウジング６０５’’の球形とを示している。また、図６Ｈのコンパニオン６００Ｈは、ベース６２０’’’の多面形状と、上部ハウジング６０５’’’のブロック形状とを示している。図示のように、各コンパニオン６００Ｆ〜６００Ｈの上部ハウジングは、それぞれのベースに対して独立して回転可能である。
【００９７】
一実施形態では、２つの自律型パーソナルコンパニオン１００が直接、またはネットワークを介して互いと通信し得る。一例として、各コンパニオンは、部屋を動き回る必要のある、建物内の部屋のマッピングに関連する動作を実行している場合があり、移動中に一方または両方のコンパニオンが近接する他のコンパニオンを検知し得る。コンパニオンはさらに、互いと通信する目的で、自身を適所に移動させ得る。一実施態様では、各コンパニオンは、対応するＱＲコード（登録商標）に関連付けられ得る。ＱＲコード（登録商標）のコードを使用して、識別情報を交換し得る。たとえば、ＱＲコード（登録商標）は、対応するコンパニオンに関する情報へのアクセス（たとえば、バックエンドサーバ経由）を提供する。したがって、コンパニオンは、ＱＲコード（登録商標）のコードが渡され得る場所に自身を移動させ得る（たとえば、第１のコンパニオンのＱＲコード（登録商標）を表示しているディスプレイを、第２のコンパニオンのカメラシステムの視野範囲内に持っていく）。キャプチャされると、ＱＲコード（登録商標）はネットワークを介してサーバに配信されて、キャプチャされたＱＲコード（登録商標）に関連付けられたコンパニオンに関する識別情報にアクセスできるようにし得る。このようにして、識別情報はコンパニオンの間で交換され得る。
【００９８】
主観的及び客観的学習を通じたユーザに関連付けられたローカルＡＩモデルの個人向けの訓練のための方法及びシステム
したがって、本開示の様々な実施形態では、ユーザ向けのＡＩモデルを構築するための深層学習（機械学習とも呼ばれる）技術を実装するシステム及び方法を説明する。ローカルＡＩモデルは、可動式の自律型パーソナルコンパニオンを通じて実装され、自律型パーソナルコンパニオンは、状況に応じた個人向けの支援をユーザに提供するように構成可能である。パーソナルコンパニオンは、図１〜図６で前に導入している。ローカルＡＩモデルの個人化は、モデルを生成するために深層学習エンジン１９０内で使用される主観的及び／または客観的入力データをフィルタリングすることによって実現される。フィルタリングが実行されなければ、ＡＩモデル（ローカル及びグローバル）は全て同じデータセットを使用して構築されることになり、したがって全て同じになるので、同じパーソナリティを有することになる（たとえば、所与の入力セットに対して同じ結果が得られる）。このようにして、様々なパーソナリティを有するローカルＡＩモデルが生成されるので、各ＡＩモデルを固有にすることができ、対応するユーザのパーソナリティを反映するか、またはこれに関連付けることができる。
【００９９】
図７に、本開示の一実施形態による、複数のユーザ用の様々なＡＩモデルと、それらのＡＩモデルが実装され得る場所とを示す。ＡＩモデルは、対応する自律型パーソナルコンパニオンなどを通じて、関連する個人向けの支援を対応するユーザに提供するために使用される。図示のように、様々なＡＩモデルが、前述のバックエンドサーバ１４０に配置及び／または実装され得、サーバ１４０は、（たとえば、ＡＩエンジン１９０を介した）ＡＩモデル化及び／またはＡＩモデルの適用を提供するように構成される。加えて、様々なＡＩモデルが、各自律型パーソナルコンパニオン１００ａ〜ｎに配置及び／または実装され得、各コンパニオンは対応するユーザに関連付けられる。たとえば、ユーザ１はコンパニオン１００ａに関連付けられ、ユーザ２はコンパニオン１００ｂに関連付けられ、ユーザ３はコンパニオン１００ｃに関連付けられ、．．．、ユーザｎはコンパニオン１００ｎに関連付けられる。
【０１００】
具体的には、前述のように、グローバルＡＩモデル１３０はバックエンドサーバ１４０において記憶され、アクセス可能となる。グローバルＡＩモデル１３０は、特定の入力のセット（たとえば、ユーザが推進または遭遇する所与のシナリオを定義するもの）が与えられた場合の、一般的なユーザの応答、アクション、行動、欲求、及び／またはニーズを一部として予測するように構成される。それぞれが対応するユーザグループに関連付けられる、１つまたは複数のグローバルＡＩモデル１３０ａ〜ｐが生成され得る。たとえば、１つまたは複数のグローバルＡＩモデルは、異なる人口統計カテゴリ（たとえば、様々な年齢層など）に応じて生成され得る。したがって、バックエンドサーバ１４０は、対応するユーザ用の対応するコンパニオン１００（すなわち、グローバルＡＩモデルを適用する場合に処理の大部分を提供するもの）によって提供される所与の入力のセットに対して適切なグローバルＡＩモデルを適用するように構成され得る。
【０１０１】
図示のように、グローバルＡＩモデル１３０のあるバージョンはまた、自律型パーソナルコンパニオン側にローカルに記憶され得る。グローバルＡＩモデル１３０の完全バージョンは、コンパニオン１００でローカルに実装するには拡張性が高すぎる場合があるので、グローバルＡＩモデル１３０の派生物（たとえば、グローバルＡＩ’モデル）がコンパニオンに記憶され得る。たとえば、図７に示すように、グローバルＡＩ’モデル１３０’が各コンパニオン１００ａ〜ｎに記憶される。このようにして、グローバルＡＩ’モデル１３０’は、たとえば、対応するユーザにサービスを提供するために、ローカル処理を実行する方が効率的である場合、またはバックエンドサーバ１４０への接続が利用できない場合に、所与の入力のセットに応じてローカルレベルで実装され得る。
【０１０２】
グローバルＡＩ’モデル１３０’は、各コンパニオン１００ａ〜ｎに記憶されるように図示しているが、様々なグローバルＡＩ’モデルがコンパニオンに記憶され得ることは理解されたい。たとえば、グローバルＡＩ’モデル１３０’の代わりに、またはこれに加えて、特定のユーザグループに焦点を合わせた（たとえば、特定の人口統計プロファイルに適合する）グローバルＡＩモデルの派生物がコンパニオンに記憶され得、そのグローバルＡＩモデルの完全バージョンは、バックエンドサーバ１４０に記憶される。
【０１０３】
加えて、ユーザごとに、ローカルＡＩモデルが生成され、バックエンドサーバ１４０に記憶される。ローカルＡＩモデルは、対応するユーザ向けになされ、グローバルＡＩモデル１３０によって提供される予測と比較して、特定の入力のセット（たとえば、ユーザが推進または遭遇する所与のシナリオを定義するもの）が与えられた場合の、特定のユーザの応答、アクション、行動、欲求、及び／またはニーズを一部としてより良好に予測することができる。すなわち、対応するユーザのローカルＡＩモデルはグローバルＡＩモデルよりもユーザ向けであるので、各ローカルＡＩモデル１２０ａ〜ｎが対応するユーザに固有になる。図示のように、ユーザ１はバックエンドサーバ１４０に記憶されたローカルＡＩ−ａモデル１２０ａに関連付けられ、ユーザ２はバックエンドサーバ１４０に記憶されたローカルＡＩ−ｂモデル１２０ｂに関連付けられ、ユーザ３はバックエンドサーバ１４０に記憶されたローカルＡＩ−ｃモデル１２０ｃに関連付けられ、．．．、ユーザｎはバックエンドサーバ１４０に記憶されたローカルＡＩ−ｎモデル１２０ｎに関連付けられる。
【０１０４】
図示のように、特定のユーザ用に生成されたローカルＡＩモデルの様々なバージョンが、バックエンドサーバ及び対応するコンパニオンに記憶され得る。代表的な例として、ローカルＡＩ−ａモデル１２０ａの完全バージョンが生成され、バックエンドサーバに記憶され得る。ローカルＡＩ−ａモデル１２０ａの完全バージョンは、コンパニオン１００ａでローカルに実装するには拡張性が高すぎる場合があるので（すなわち、完全バージョンは様々な入力の並べ替えを全て処理することができ、これはコンパニオンレベルでは計算及びストレージの観点でコストがかかりすぎる場合がある）、派生物（たとえば、ローカルＡＩ−ａ’モデル１２０ａ’）がコンパニオン１００ａに記憶され得る。このようにして、ローカルＡＩ−ａ’モデル１２０ａ’は、たとえば、対応するユーザにサービスを提供するために、ローカル処理を実行する方が効率的である場合、またはバックエンドサーバ１４０への接続が利用できない場合に、所与の入力のセットに応じてローカルレベルで実装され得る。図示のように、各ユーザ１〜ｎは、自身のローカルＡＩモデルの派生バージョンを記憶し得る。たとえば、ユーザ２の派生バージョン用に、ローカルＡＩ−ｂ’モデル１２０ｂ’がコンパニオン１００ｂに記憶され得、ユーザ３の派生バージョン用に、ローカルＡＩ−ｃ’モデル１２０ｃ’がコンパニオン１００ｃに記憶され得、．．．、ユーザｎの派生バージョン用に、ローカルＡＩ−ｎ’モデル１２０ｎ’がコンパニオン１００ｎに記憶され得る。
【０１０５】
さらに、各自律型パーソナルコンパニオン１００において、対応するユーザのプライベートＡＩモデルがセキュアに生成及び記憶され得る。すなわち、各プライベートＡＩモデルは、その生成及び適用においてプライベートであり、対応するコンパニオンの外部では共有されない。このようにして、プライベートＡＩモデルに関連するプライベート情報は、プライベートＡＩモデルを構築し、プライベートＡＩモデルを適用する目的で、対応するコンパニオンに限定される。たとえば、ユーザ１用にプライベートＡＩ−ａモデル７１０ａをローカルに生成し、記憶し、適用することができ、ユーザ２用にプライベートＡＩ−ｂモデル７１０ｂをローカルに生成し、記憶し、適用することができ、ユーザ３用にプライベートＡＩ−ａモデル７１０ｃをローカルに生成し、記憶し、適用することができ、．．．、ユーザｎ用にプライベートＡＩ−ｎモデル７１０ｎをローカルに生成し、記憶し、適用することができる。プライベートＡＩモデルの生成及び適用についてのより完全な説明は、図８Ｂに一部関連して提供する。
【０１０６】
図８Ａに、本開示の一実施形態による、対応するユーザの１つまたは複数のＡＩモデル間の関係を示す。ユーザはグローバルＡＩモデル１３０に関連付けられる。前述のように、グローバルＡＩモデルは全てのユーザを対象にでき、または特定の特徴（たとえば、１つまたは複数の人口統計パラメータなど）によって定義される特定のユーザグループを対象にし得る。グローバルＡＩモデルは、そのユーザグループを代表する一般的なユーザの応答、アクション、行動、欲求、及び／またはニーズを一部として予測するように構成される。例示の目的で、グローバルＡＩモデル１３０は、図示のように完全バージョンを含むが、完全バージョンの派生物であり得る。
【０１０７】
しかしながら、グローバルＡＩモデルは、いずれのユーザ向けでもない。具体的には、全てのユーザに区別なく適用可能な単一のグローバルＡＩモデルは、対応するユーザに合わせて調整可能な、いかなる固有のパーソナリティも有さず、またはそれを除去し得る。すなわち、単一の代表的なユーザのデータ（たとえば、実行された操作及び／またはアクション）を使用して訓練（たとえば、ＡＩモデルを構築するための深層学習技術の適用）が実施された場合、全てのユーザにとって一般的であって、（特定の入力のセットに対する）結果の間にいかなる意外性も差異も与えない、１つのＡＩモデル（たとえば、対応するユーザを反映するロボットまたはコンパニオンのパーソナリティに関連するもの）が存在することになる。同様に、ローカルＡＩモデルを構築するために深層学習技術を適用する場合に、全てのユーザのデータセット全体が適用されると、各ユーザに対して同一のローカルＡＩモデルが生成されることになる。
【０１０８】
一方、本発明の実施形態は、モデルを構築するために使用されるデータ（たとえば、ユーザアクション、操作、行動、バイオメトリクスなど）をフィルタリングすることにより、各ユーザのローカルＡＩモデルを区別するのに役立つ。フィルタリングは、深層学習エンジン１９０への入力として提供されるかまたはそれから得られる学習された経路、パターン、オブジェクト、及び／または概念に対して実行される。具体的には、フィルタリングは、（たとえば、ランダムフィルタリング、選択的フィルタリング、及び／またはパターン化フィルタリングによって）実行され得る。
【０１０９】
フィルタリングは、ローカルまたはグローバルＡＩモデルの品質を犠牲にすることなく、ＡＩモデル（たとえば、ローカル及びグローバル）を構築するために実行される。すなわち、深層学習を通じて個別のローカルＡＩモデルのそれぞれを構築するのに十分なデータが提供され、１つまたは複数のグローバルＡＩモデルを構築するのに十分なデータも提供される。対応するユーザにサービスを提供するコンパニオンの各ローカルＡＩモデルのデータセットを区別するように、データがフィルタリングされる。このようにして、対応するユーザ向けになされたローカルＡＩモデルを構築することができ、ローカルＡＩモデルは、対応するユーザを反映するコンパニオンのパーソナリティを定義する。具体的には、各ローカルＡＩモデルは、特定の入力のセット（たとえば、ユーザが体験したシナリオ、またはユーザが推進するシナリオ）に関連するユーザの応答、アクション、行動、欲求、及び／またはニーズを一部として予測することができる。
【０１１０】
図８Ａに示すように、ローカルＡＩモデル１２０は、対応するユーザに関連する所与の入力及び／または入力データのセット（たとえば、ユーザが体験または推進するシナリオ）に対して学習された経路及び／または学習されたパターンを含む。前述のように、ユーザ入力データは、一つには、ローカルＡＩモデルが特定の入力にどのように反応すべきかを定義する際に役立ち得る任意のアクション、特徴、バイオメトリクス、応答、行動などに関連し得る。このデータは受動的または能動的に（たとえば、ユーザがクエリに応答する）監視され得る。したがって、対応するユーザのローカルＡＩモデルは、特にユーザが体験または推進する特定の環境またはシナリオ内で、所与の入力のセットに対するユーザの応答、アクション、行動、欲求、及び／またはニーズを一部として予測することができる。
【０１１１】
図示のように、ローカルＡＩモデル１２０は、グローバルＡＩモデル１３０にも含まれる学習された経路及び／または学習されたパターンを含む。たとえば、領域８０４内に位置する学習された経路及び／または学習されたパターンは、ローカルＡＩモデル１２０及びグローバルＡＩモデル１３０の両方で見つかる。さらなる区別がなければ、ローカルＡＩモデル１２０は、グローバルＡＩモデル１３０と同じパーソナリティを有することになる。パーソナリティは、前述のように、深層学習エンジン１９０への入力として提供されるかまたはそれから得られる学習された経路、パターン、オブジェクト、及び／または概念の、ランダム、選択的、及び／またはパターン化フィルタリングを通じて生成される。したがって、ローカルＡＩモデルの構築に使用されるデータセットは、グローバルＡＩモデルの構築に使用されるデータセットとは異なり、その結果、学習された経路及びパターンは異なる。１つのケースでは、ローカルＡＩモデル１２０は、グローバルＡＩモデル１３０で見つかる学習された経路及び／または学習されたパターンのフィルタリングされたセットを含む。すなわち、ローカルＡＩモデル１２０は、領域８０７で見つかる学習された経路及び／または学習されたパターンを含まず、それらの学習された経路及び／またはパターンは、グローバルＡＩモデル１３０で使用される。したがって、（たとえば、領域８０７内の経路／パターンの使用を制限することによって）グローバル知識ベースを制限すると、ＡＩモデルを構築する際に実装される深層学習技術またはＡＩ技術の好奇心が高まる。
【０１１２】
さらに、ローカルＡＩモデル１２０は、グローバルＡＩモデル１３０では見つからない学習された経路及び／または学習されたパターンを含む。具体的には、領域８０５内に位置する学習された経路及び／または学習されたパターンは、ローカルＡＩモデル１２０で見つかるが、グローバルＡＩモデル１３０では見つからない。さらに、第１のユーザの第１のローカルＡＩモデルの構築に使用されるデータセットは、第２のユーザの第２のローカルＡＩモデルの構築に使用されるデータセットとは異なる。その場合、第１のユーザの第１の自律型パーソナルコンパニオンのパーソナリティは、第２のユーザの第２の自律型パーソナルコンパニオンのパーソナリティとは異なる。
【０１１３】
加えて、対応するコンパニオンにローカル化されたデータを使用して、ユーザのプライベートＡＩモデル８１０が生成され得る。コンパニオンによってキャプチャされた監視されたプライベートデータも、プライベートＡＩモデル８１０を構築するために、ローカルＡＩエンジン１１０を介して処理される。すなわち、プライベートデータはプライベートのままであり、コンパニオン１００の境界に限定される。たとえば、プライベートデータはネットワークを介して他のデバイスに配信されない。したがって、プライベートＡＩモデル８１０も、記憶のためにバックエンドサーバ１４０に配信されない。一実施形態では、プライベートＡＩモデル８１０は、ローカルＡＩモデル１２０の拡張である。たとえば、領域８１１内に位置する学習された経路及び／または学習されたパターンは、プライベートＡＩモデル８１０で見つかるが、ローカルＡＩモデル１２０では見つからない。すなわち、プライベートＡＩモデルの構築に使用されるデータセットは、ローカルＡＩモデルの構築に使用されるデータセットとは異なる。ある意味で、プライベートＡＩモデルを通じて実装されるコンパニオンのパーソナリティは、ローカルＡＩモデルを通じて実装されるパーソナリティとは異なり、より特徴的であり得る。
【０１１４】
一実施形態では、「類似した」ユーザから収集されたデータが、これらの類似したユーザ用のローカルＡＩモデルを構築する際のベースとして使用してされ得、それによって、対応するローカルＡＩモデルによって定義されるパーソナリティのいずれもが、これらのユーザの予想外にならないようにする。したがって、対応するユーザのローカルＡＩモデルを構築するために使用される、類似したユーザから収集されたかまたは彼らに関連付けられたデータは、ローカルＡＩモデルの境界を制限するのに役立ち、それによって、モデルがあまりに独特になりすぎて、ユーザの予想からかけ離れすぎる（たとえば、あまりにも特有になりすぎて、いずれの認識可能なパーソナリティにも似なくなる）ことのないようにする。このようにして、ローカルＡＩモデルは、対応するユーザにサービスを提供する対応するコンパニオンにパーソナリティを与え得る。ローカルＡＩモデルはユーザの特徴を反映しているので、ローカルＡＩモデルは、所与の入力のセットに対するユーザの応答、アクション、行動、欲求、及び／またはニーズを一部として予測することができる。
【０１１５】
他の実施形態では、ローカルＡＩモデルの構築に使用されるデータセットは、グローバルＡＩモデルの構築に使用されるデータセットとは異なるので、各ＡＩモデルは、それぞれのＡＩモデルを構築するための知識ベースが特徴的である。前述のように、グローバル知識ベースを制限すると、ＡＩモデルを構築するために深層学習を実行する場合の好奇心が高まる。具体的には、知識ベースが異なるので、深層学習またはＡＩを適用してローカルＡＩモデルを構築する場合に、グローバルＡＩモデルを構築する場合とは異なるクエリのセットが実行される。すなわち、ローカルＡＩモデルの構築には第１のクエリのセットが使用され、グローバルＡＩモデルの構築には第２のクエリのセットが使用される。これにより、ローカルＡＩモデルとグローバルＡＩモデルとに異なるパーソナリティが関連付けられ、異なるユーザのローカルＡＩモデルに異なるパーソナリティが関連付けられる。
【０１１６】
一実施形態では、第１のユーザは、異なるユーザ（たとえば、第２のユーザ）用に構成されるコンパニオンを使用し得る。たとえば、第１のユーザはそのコンパニオンを試用して、そのコンパニオンのパーソナリティ（第２のユーザなどの別のユーザ向けに訓練されたもの）が、第１のユーザの好み、願望、欲求、及び／またはニーズにも適合しているか否かを確認し得る。第１のユーザは、自身のコンパニオンに実装される特定のパーソナリティを選択する前に、任意の数のパーソナリティをサンプリングし得る。対応するローカルＡＩモデルを通じて実装されるパーソナリティは、追加機能が（更新後のローカルＡＩモデルに）含められるベースＡＩモデルを提供し、それによって、第１のユーザを反映するようにパーソナリティをさらに形成し得る。
【０１１７】
図８Ｂに、本開示の一実施形態による、対応するユーザのローカルＡＩモデル１２０内で定義される階層内の様々なブランチを示し、各ブランチはユーザのサブＡＩモデルにつながり得る。すなわち、ブランチの端にあるリーフノードは、ユーザの特定のサブＡＩモデルを定義でき、サブＡＩモデルは、ユーザが体験または推進する特定のシナリオを記述する特定の入力のセットに対する学習された経路及び／またはパターンを定義する。図８Ｂは例示的な階層を示しているが、他の実施形態は他の様々な階層構成をサポートし、これには、レイヤの混合、サブレイヤの生成、レイヤ間のノードの共有などが含まれる。
【０１１８】
具体的には、ローカルＡＩモデル１２０は、モデル階層の下位ノードで見つかるサブＡＩモデルのいずれにも適合する学習された経路及び／またはパターンを定義するルートレイヤ８２０を含む。たとえば、ルートレイヤ８２０は、サブＡＩモデルの基礎になり得るローカルＡＩモデル１２０の基本パーソナリティ及び／または基本知識を提供できる。
【０１１９】
モデル階層は、ローカルＡＩモデル１２０によって反映されるパーソナリティをさらに定義し得る複数のレイヤをルートレイヤ８２０の下に含む。たとえば、第２のレイヤ８３０は、ユーザの様々な興味を定義し得る。第２のレイヤ８３０はユーザのパーソナリティの異なる側面、たとえば、料理のパーソナリティまたは便利屋のパーソナリティなどを示す。具体的には、ノード８３１はユーザにとって興味のある情報に関連する学習された経路及び／またはパターンを定義でき、ノード８３２はユーザにとって興味のある料理シナリオに関連する学習された経路及び／またはパターンを定義でき、ノード８３３はユーザの様々なゲームの興味に関連する学習された経路及び／またはパターンを定義でき、ノード８３４はユーザにとって興味のあるリラクゼーション技術に関連する学習された経路及び／またはパターンを定義でき、ノード８３５はユーザにとって興味のある様々な料理トピックに関連する学習された経路及び／またはパターンを定義でき、ノード８３６はユーザにとって興味のある様々な再モデル化または構築トピックに関連する学習された経路及び／またはパターンを定義し得る。第２のレイヤ８３０内のノードは例示のために示しており、ローカルＡＩモデル１２０の階層内で他のノードがサポートされる。
【０１２０】
第２のレイヤ８３０内の各ノードは、ローカルＡＩモデル１２０によって反映されるパーソナリティをさらに定義する下位ノードにつながるさらなるブランチを含み得る。簡潔さ及び明確さの目的で、全てのブランチを図示しているわけではない。しかしながら、例示のために、ゲームノード８３３は、様々な下位レイヤを含むように図示している。たとえば、第３のレイヤ８４０は、ゲームノード８３３によって反映されるゲームのパーソナリティをさらに定義するさらなるノードを含み得る。具体的には、リーフノード８４１は、インターネットゲーム（たとえば、オンラインポーカー、ソーシャルネットワーキングゲームなど）に関連するシナリオに関連付けられた学習された経路及び／またはパターンを定義し得る。他の様々な下位ブランチ及び／またはノードは、インターネットゲームノード８４１に関連して定義され得る。加えて、リーフノード８４３は、ロジックゲーム（たとえば、クロスワード、チェス、囲碁など）に関連するシナリオに関連付けられた学習された経路及び／またはパターンを定義し得る。また、リーフノード８４２は、一人称シューティングゲーム（たとえば、典型的には武器ベースまたは至近距離の戦闘を含む、一人称視点を通して表示されるビデオゲーム）に関連するシナリオに関連付けられた学習された経路及び／またはパターンを定義し得る。
【０１２１】
図示のように、さらなるブランチ及び／またはノードは、一人称シューティングリーフノード８４２によって反映されるパーソナリティをさらに定義し得る。たとえば、ノード８５１は、ユーザにとって特に興味のある一人称シューティングゲームのフォールアウト４に関連するシナリオに関連付けられた学習された経路及び／またはパターンを定義し得る。一例として、ユーザは以前に、ゲームアプリケーション内の特定のレベルをクリアするための手助けを要求していた場合がある。学習された経路及び／またはパターンは、提供される支援、ならびにユーザが遭遇するゲームアプリケーションのより高いレベルをクリアするための予想される支援に関連付けられ得る。
【０１２２】
図９Ａに、本開示の一実施形態による、対応するユーザについて監視され得る異なるタイプのデータを示す。前述のように、データは、一つには、対応するユーザのローカルＡＩモデルが特定の入力にどのように反応すべきかを定義する際に役立ち得る、ユーザの任意のアクション、特徴、バイオメトリクス、応答、行動、感覚データなどに関連し得る。このデータは受動的または能動的に（たとえば、ユーザがクエリに応答する）監視される。加えて、データは、ＡＩモデルを構築するための深層学習エンジン（たとえば、エンジン１９０）によって使用される。したがって、対応するユーザのローカルＡＩモデルは、特にユーザが体験または推進する所与の環境またはシナリオ内で、所与の入力のセットに対するユーザの応答、アクション、行動、欲求、及び／またはニーズを一部として予測することができる。
【０１２３】
図示のように、ユーザデータ９１０は、１つまたは複数のタイプのデータを含み、そのうちの４つのクラスを示しているが、それ以上が定義され得る。ユーザデータ９１０の４つのクラスは、客観的ユーザデータ９２０、主観的ユーザデータ９３０、ローカル化された主観的ユーザデータ９３５、及びプライベートユーザデータ９４０を含む。ユーザデータ９１０は深層学習エンジンに入力されて、グローバルＡＩモデル１３０、対応するユーザのローカルＡＩモデル１２０、及びそれらのＡＩモデルの任意の派生物が構築される。
【０１２４】
具体的には、客観的データ９２０は、複数のユーザの様々なアクション、応答、行動などに関連付けられる。客観的データが収集され、バックエンドサーバ１４０の深層学習エンジン１９０と共有されて（たとえば、クラウドに共有されて）、共有された知能のプールが形成され、次いでこれを使用して、グローバルＡＩモデル１３０及びその任意の派生物を構築することができる。
【０１２５】
加えて、ユーザデータ９１０は主観的ユーザデータ９３０を含み、これを使用して自律型パーソナルコンパニオンに固有のパーソナリティが与えられ、コンパニオンは特定のユーザに関連付けられる。すなわち、特定のユーザに関連付けられた主観的ユーザデータ９３０は、対応するコンパニオンを通じて実装されるローカルＡＩモデルを構築する場合に、個別化された学習または訓練のために使用され、対応するユーザにサービスを提供する場合に、コンパニオンに固有のパーソナリティが与えられる。コンパニオンのパーソナリティは、対応するユーザを反映し得るので、そのパーソナリティを定義するローカルＡＩモデルは、任意の所与の入力のセット（たとえば、以前に遭遇した入力のセットまたは推定された入力のセット）に対する対応するユーザの応答、アクション、行動、欲求、及び／またはニーズを一部として予測するように構成される。
【０１２６】
一実施形態では、主観的ユーザデータは、対応するユーザの対応するローカルＡＩモデル１２０を構築する目的で、バックエンドサーバ１４０と共有される。主観的ユーザデータは、グローバルＡＩモデル１３０を構築するため、または他の任意のユーザの任意のローカルＡＩモデルを構築するために、さらに共有されることはない。したがって、主観的ユーザデータは、リソースをより良く利用するために、バックエンドサーバに配信され得る。たとえば、ローカルレベルで（たとえば、コンパニオン１００で）ＡＩ動作を実行するには計算コストが高すぎるために、バックエンドサーバで主観的ユーザデータを使用してローカルＡＩモデルを構築する方が効率的であり得る。
【０１２７】
さらに、ユーザデータ９１０は、前に導入したプライベートＡＩモデル（たとえば、モデル８１０）を構築するために使用されるローカル化された主観的ユーザデータ９３５を含む。ローカル化された主観的ユーザデータ９３５は、ネットワークを介してバックエンドサーバ１４０などに共有されず、代わりに、コンパニオン１００の境界に限定またはローカル化される。このようにして、ローカル化された主観的ユーザデータ９３５を主観的ユーザデータ９３０の少なくとも一部と共に使用して、コンパニオン１００上の深層学習エンジン（エンジン１１０など）を用いてプライベートＡＩモデルを構築することができる。プライベートＡＩモデルは、コンパニオンの外部で共有されないコンパニオンの固有のパーソナリティを実装するので、パーソナリティは固有のままであり、他の任意のローカルまたはグローバルＡＩモデルを構築するために、ミラーリングしたり使用したりすることはできない。
【０１２８】
加えて、ユーザデータ９１０は、プライベートユーザデータ９４０を含む。このデータは、いかなるローカルまたはグローバルＡＩモデルの構築にも使用されない。一実施形態では、プライベートユーザデータは自動的に識別される。他の実施形態では、プライベートユーザデータは、ユーザアクションを通じて識別される。たとえば、ユーザは、対応するコンパニオン１００に、特定のデータ項目をセキュアなものとしてラベル付けする命令を提供できる。しかしながら、データはプライベートデータ９４０であると識別され、一実施形態では、セキュアデータはネットワークを介して共有されない。加えて、プライベートデータ９４０は、自動的に、またはユーザ命令を通じてコンパニオンのメモリから除去され、これは自動除去と共にバックアップされ得る。
【０１２９】
図９Ｂに、本開示の一実施形態による、図９Ａで導入した異なるタイプのユーザデータを使用して、様々なＡＩモデルが構築される態様を示す。具体的には、図９Ｂは、バックエンドサーバ１４０とコンパニオン１００との間の様々なクラスのユーザデータ９１０の共有を示している。たとえば、ローカルＡＩモデル、プライベートＡＩモデル、及び／またはグローバルＡＩモデルを構築及び／または実装するためのローカルＡＩエンジン１１０が、対応するユーザのコンパニオン１００に実装され得る。加えて、たとえば、ローカルＡＩモデル及び／またはグローバルＡＩモデルを構築及び／または実装するためのＡＩエンジン１９０が、バックエンドサーバ１４０に実装され得る。
【０１３０】
様々な監視されたユーザデータ９１０も図示している。対応するコンパニオン１００などを介して、対応するユーザに関連付けられたユーザデータが監視される。データ９１０は、客観的ユーザデータ９２０（グローバルＡＩモデル１３０の構築用）、主観的ユーザデータ９３０（たとえば、ローカルＡＩモデル１２０の構築用）、ローカル化された主観的ユーザデータ９３５（たとえば、プライベートＡＩモデル８１０の構築用）、及びプライベートユーザデータ９４０（たとえば、いかなるＡＩモデルの構築にも使用されない）を含む。
【０１３１】
たとえば、プライベートユーザデータ９４０は、コンパニオン１００において監視され得る。しかしながら、データはプライベートであるので、いかなるローカルＡＩエンジンまたはグローバルＡＩエンジンを構築するための入力データとしても使用されない。これは、プライベートユーザデータ９４０が流れる途切れた経路９４１及び９４２（たとえば、ＡＩエンジン１９０に到達せず、ＡＩエンジン１１０に到達しない）によって示している。加えて、プライベートユーザデータ９４０は、コンパニオン１００から除去され得る（たとえば、メモリから消去され得る）。
【０１３２】
加えて、ユーザに関連する客観的ユーザデータ９２０が、コンパニオンにおいて監視される。客観的ユーザデータ９２０は、グローバルＡＩモデル１３０を構築する目的で、経路９２１に沿ってバックエンドＡＩエンジン１９０と共有される。具体的には、客観的ユーザデータ９２０は、複数のユーザからの複数のユーザデータ９９０と組み合わせられ、グローバルＡＩモデル１３０を構築する目的でＡＩエンジン１９０に入力される。グローバルＡＩモデル１３０または派生物（たとえば、グローバルＡＩ’モデル１３０’）は、経路９９１に沿ってコンパニオン１００に転送され得る。
【０１３３】
客観的ユーザデータ９２０はまた、ローカルＡＩモデル１２０を構築する目的で、経路９２２に沿ってバックエンドＡＩエンジン１９０と共有され得る。加えて、経路９９２によって示すように、グローバルＡＩモデル１３０の一部を使用して、ＡＩエンジン１９０においてローカルＡＩモデル１２０を構築し得る。ローカルＡＩモデル１２０または派生物（たとえば、ローカルＡＩ’モデル１２０’）は、経路９９３及び９９５に沿ってコンパニオン１００に転送され得る。コンパニオン１００及びバックエンドサーバ１４０のＡＩエンジンは、ローカルＡＩモデル１２０及びその任意の派生物１２０’を構築する際に連携し得ることを理解されたい。たとえば、客観的ユーザデータ９２０はまた、ローカルＡＩモデル１２０またはその派生ローカルＡＩ’モデル１２０’を構築するために、経路９２３及び９２４に沿ってコンパニオン１００のＡＩエンジン１１０と共有され得る。
【０１３４】
前述のように、ユーザに関連する主観的ユーザデータ９３０もコンパニオン１００において監視される。主観的ユーザデータ９３０は、ローカルＡＩモデル１２０を構築する目的で、経路９３１に沿ってバックエンドＡＩエンジン１９０と共有され得る。すなわち、ローカルＡＩモデル１２０は、一つには、ユーザからの客観的データ、ならびに複数のユーザからの客観的データを使用して（たとえば、グローバルＡＩモデル１３０の一部をインポートして）構築される。加えて、主観的ユーザデータ９３０は、ローカルＡＩモデル１２０またはその派生物１２０’の少なくとも一部を構築する目的で、経路９９３及び９３４に沿ってコンパニオン１００のＡＩエンジン１１０で実装され得る。図示のように、主観的ユーザデータ９３０は、グローバルＡＩモデル１３０の構築には使用されず、これは途切れた経路９３２によって示している。
【０１３５】
加えて、前述のように、ユーザに関連付けられたローカル化された主観的ユーザデータ９３５も、コンパニオン１００において監視される。しかしながら、ローカル化された主観的ユーザデータはコンパニオン１００の境界内に限定されるので、ローカルＡＩモデル１２０を構築するための入力データとしては使用されず、これは途切れた経路９３７（たとえば、バックエンドサーバ１４０のＡＩエンジン１９０に到達しない）によって示している。一方、ローカル化された主観的ユーザデータ９３５は、プライベートＡＩモデル８１０を構築する目的で、コンパニオン１００のＡＩエンジン１１０内に実装される。具体的には、主観的ユーザデータ９３０（たとえば、経路９３３及び９３６に沿ったもの）は、ローカル化された主観的ユーザデータ９３５（たとえば、経路９３８に沿ったもの）と組み合わせられ、経路９９３及び９９４に沿って配信されたローカルＡＩモデル１２０の少なくとも一部を使用して、プライベートＡＩモデル８１０を構築し得る。
【０１３６】
ネットワークを介して通信する１つまたは複数のＡＩエンジンの様々なモジュールの詳細な説明を踏まえて、図１０の流れ図１０００に、本開示の一実施形態による、対応するユーザにサービスを提供する自律型パーソナルコンパニオンによって実装されるグローバルＡＩモデル及びローカルＡＩモデルを構築するための方法を開示する。流れ図１０００は、前述のコンパニオン１００（たとえば、ＡＩエンジン１９０内）及び／または前述のバックエンドサーバ１４０（たとえば、ＡＩエンジン１１０内）で実装され得る。
【０１３７】
具体的には、１０１０において、方法は、ユーザの監視された行動に関連するデータにアクセスすることを含み、行動は、ユーザに関連する任意のアクション、応答、感情、アクションの欠如、外観、バイオメトリクスなどを含む。たとえば、データには、ゲームコントローラ入力、コンピュータ入力、コンピュータ操作、テキストクエリ、テキスト応答、口頭クエリ、口頭応答、身体合図、バイオメトリクス、ユーザアクション、眼球運動、及び口頭コミュニケーションのうちの少なくとも１つが含まれる。データはユーザに関連付けられたコンパニオンによって、またはコンパニオンに通信可能に結合された任意の監視システムによってキャプチャされ得る。
【０１３８】
１０２０において、方法は、データをクラス別に分類することを含む。前述のように、複数のクラスは、ユーザを含むユーザグループに関連する客観的データを識別する客観的データクラスと、ユーザに特有の主観的データを識別する主観的データクラスとを含む。加えて、クラスは、ユーザに特有であって、コンパニオン１００の境界に限定される、ローカル化された主観的データを識別するローカル化された主観的データクラスを含み得る。このようにして、ローカル化された主観的データは、プライベートＡＩモデルの構築に使用されるが、ローカルＡＩモデル１２０の構築には使用されず、どちらもユーザに対応するものである。
【０１３９】
一実施形態では、複数のクラス内のセキュアデータクラスは、いかなるローカルまたはグローバルＡＩモデルの構築にも使用されないプライベートユーザデータを識別する。セキュアデータは非常に機密性が高く、したがって、いかなるローカルまたはグローバルＡＩモデルの構築にも使用してはならない。加えて、セキュアデータは、ネットワークを介してバックエンドサーバのＡＩエンジンと共有されたり、内部でコンパニオンのＡＩエンジンと共有されたりしてはならない。すなわち、セキュアデータは、いかなるローカルまたはグローバルＡＩモデルの構築への使用も制限される。したがって、一実施形態では、セキュアデータはコンパニオンから除去される。一例として、セキュアデータは、ユーザを任意の数の不名誉な立場に置き得るデータを含み得る。セキュアデータは、公開または公表されるとユーザを困らせ得る、非常に機密性の高い電話での会話であり得る。
【０１４０】
一実施形態では、ユーザは、キャプチャされた一部をセキュアデータとして分類するための第１の命令を送信し得る。この命令は、ユーザのコンパニオンで、及び／またはバックエンドサーバによって受信され得る。加えて、ユーザからの第２の命令も受信され得る。第２の命令はセキュアデータの除去を指令でき、したがって、セキュアデータのあらゆる痕跡がコンパニオンのメモリなどから削除される。
【０１４１】
１０３０において、方法は、複数人のユーザの監視された行動に関連する客観的データにアクセスすることを含み、複数人は上記で導入したユーザを含み、そのユーザはサービスを提供するコンパニオンに関連付けられる。ユーザの客観的データは、複数のユーザから客観的データを収集するように構成されるバックエンドサーバと共有され得る。このようにして、複数のユーザの客観的データは、グローバルＡＩモデルを構築し、ユーザに対応するローカルＡＩモデルの少なくとも一部を構築するために使用できる共有された知能の共有プールを形成する。
【０１４２】
１０４０  において、方法は、人工知能を実行するように構成される深層学習エンジンへの第１の入力のセットとして、ユーザの客観的データ、ユーザの主観的データ、及び複数のユーザの客観的データを提供することを含む。前述のように、深層学習エンジンは、特にユーザが環境内でシナリオに遭遇しているかまたはこれを推進している場合の、ユーザに関する全てを学習するためのＡＩ技術を実装し、シナリオは入力パラメータによって記述される。
【０１４３】
１０５０において、方法は、第１の入力のセット、または第１のセット内の任意の入力もしくは入力のグループに反応する場合のユーザの行動を予測する第１の複数の学習されたパターン及び／または経路を決定することを含む。具体的には、学習されたパターンは、ユーザの環境におけるシナリオを記述する所与の入力のセットに対するユーザの応答、行動、アクション、欲求、及び／またはニーズを一部として予測することができる。より具体的には、１０６０において、方法は、第１の複数の学習されたパターンを含む、ユーザのローカルＡＩモデルを構築することを含む。
【０１４４】
一実施形態では、方法は、深層学習エンジンへの第２の入力のセットとして複数人のユーザの客観的データを提供することを含み、複数人は、コンパニオンに関連付けられた、上記で導入したユーザを含む。一実施形態では、第２の入力のセットは、複数のユーザの中のいかなるユーザの主観的データも含まない。第２の複数の学習されたパターンは、第２の入力のセットに基づいて決定される。具体的には、第２の複数の学習されたパターンは、第２の入力のセットまたは入力パラメータによって記述されるシナリオに反応するかまたはこれを体験する場合の一般的なユーザの行動を予測する。深層学習エンジンは、第２の複数の学習されたパターンを含むグローバルＡＩモデルを構築するように構成される。すなわち、グローバルＡＩモデルを使用して、一般的なユーザが遭遇または推進するシナリオを記述する所与の入力のセットに対する一般的なユーザの応答、行動、アクション、欲求、及び／またはニーズを一部として予測することができる。
【０１４５】
さらに他の実施形態では、方法は、ユーザのデータの一部をローカル化された主観的データとして分類することを含む。すなわち、複数のクラスは、前述のローカル化された主観的データクラスを含む。加えて、第３の入力のセットが深層学習エンジンに（たとえば、入力として）提供され、入力は、ユーザの客観的データ、ユーザの主観的データ、ユーザのローカル化された主観的データ、及び複数のユーザの客観的データを含む。第３の複数の学習されたパターンは、第３の入力のセットに基づいて決定される。具体的には、第３の複数の学習されたパターンは、第３の入力のセットまたは入力パラメータによって記述された特定のシナリオに反応するかまたはこれを体験する場合のユーザの行動を予測する。深層学習エンジンは、第３の複数の学習されたパターンを含むプライベートＡＩモデルを構築するように構成される。すなわち、プライベートＡＩモデルを使用して、第３の入力のセットまたは入力パラメータによって記述される、ユーザが遭遇または推進する特定のシナリオを記述する所与の入力のセットに対する一般的なユーザの応答、行動、アクション、欲求、及び／またはニーズを一部として予測することができる。
【０１４６】
一実施形態では、ローカル化された主観的データは、ユーザのローカルＡＩモデルを構築する場合に使用されないか、または使用が制限される。たとえば、ユーザのローカル化された主観的データは、コンパニオンの境界外では共有されない。より具体的には、ローカル化された主観的データは、コンパニオンに結合されたネットワークを介して配信されることが防止される。このように、ユーザのローカルＡＩモデルとプライベートＡＩモデルとは区別される。したがって、コンパニオンにおいて作成及び記憶されたプライベートＡＩモデルは、ユーザに非常に特有の詳細な個人向けサービスを提供することができ、他の任意のユーザの他の任意のローカルＡＩモデルでは見つけられない。これにより、他のデータによって（ユーザの何らかの主観的データであっても）損なわれたり影響を受けたりすることができない、コンパニオンの固有のパーソナリティが保証される。
【０１４７】
したがって、本開示では、様々な実施形態における、ユーザ向けのＡＩモデルを構築するための深層学習（機械学習とも呼ばれる）技術を実装するシステム及び方法を説明した。
【０１４８】
本明細書で定義した様々な実施形態は、本明細書で開示した様々な特徴を使用して、特定の実施態様に結合され得、または組み立てられ得ることを理解されたい。したがって、提供した例は一部の可能な例にすぎず、さらに多くの実施態様を定義するために様々な要素を組み合わせることによって可能になる様々な実施態様に限定されない。一部の例では、一部の実施態様は、開示したまたは同等の実施態様の思想から逸脱することなく、より少ない要素を含み得る。
【０１４９】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家電製品、ミニコンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施され得る。本開示の実施形態は、有線または無線ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施することもできる。
【０１５０】
上記の実施形態を念頭に置いて、本開示の実施形態は、コンピュータシステムに記憶されたデータに関わる様々なコンピュータ実装動作を採用できることを理解されたい。これらの動作は、物理量の物理的操作を必要とするものである。本開示の実施形態の一部を形成する本明細書に記載の動作のいずれもが、有用なマシン動作である。本開示の実施形態はまた、これらの動作を実行するためのデバイスまたは装置に関する。装置は必要な目的のために専用に構築することができ、または装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に起動または構成される汎用コンピュータとすることができる。具体的には、様々な汎用マシンは、本明細書の教示に従って書かれたコンピュータプログラムと共に使用することができ、または必要な動作を実行するためにより専門的な装置を構築する方が好都合であり得る。
【０１５１】
本開示は、コンピュータ可読媒体上のコンピュータ可読コードとして具現化することもできる。コンピュータ可読媒体は、データを記憶することができる任意のデータ記憶デバイスであり、データは後でコンピュータシステムによって読み出すことができる。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、及び他の光学及び非光学データ記憶デバイスが含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散して記憶及び実行されるように、ネットワーク結合コンピュータシステム上に分散されたコンピュータ可読有形媒体を含むことができる。
【０１５２】
方法の動作は特定の順序で記述しているが、他のハウスキーピング動作が動作の合間に実行され得、もしくは動作がわずかに異なる時間に行われるように調整され得、または、オーバーレイ動作の処理が所望の方法で実行される限り、処理に関連する様々な間隔で処理動作を行うことを可能にするシステムにおいて分散され得ることを理解されたい。前述の開示は、理解を明確にする目的で、ある程度詳細に説明しているが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。したがって、本実施形態は、例示的であって限定的ではないものと見なされるべきであり、本開示の実施形態は、本明細書で与えた詳細に限定されるべきではなく、添付の特許請求の範囲及び均等物内で修正され得る。
【図１Ａ】
0006972325.tif 000002
【図１Ｂ】
0006972325.tif 000003
【図２】
0006972325.tif 000004
【図３Ａ】
0006972325.tif 000005
【図３Ｂ】
0006972325.tif 000006
【図４Ａ】
0006972325.tif 000007
【図４Ｂ】
0006972325.tif 000008
【図４Ｃ】
0006972325.tif 000009
【図５】
0006972325.tif 000010
【図６Ａ】
0006972325.tif 000011
【図６Ｂ】
0006972325.tif 000012
【図６Ｃ】
0006972325.tif 000013
【図６Ｄ】
0006972325.tif 000014
【図６Ｅ】
0006972325.tif 000015
【図６Ｆ】
0006972325.tif 000016
【図６Ｇ】
0006972325.tif 000017
【図６Ｈ】
0006972325.tif 000018
【図７】
0006972325.tif 000019
【図８Ａ】
0006972325.tif 000020
【図８Ｂ】
0006972325.tif 000021
【図９Ａ】
0006972325.tif 000022
【図９Ｂ】
0006972325.tif 000023
【図１０】
0006972325.tif 000024