以下の詳細な説明が例証の目的のために多くの具体的な詳細を含むが、当業者は、以下の詳細に対する多くの変形及び改変が本開示の範囲内にあることを認識する。したがって、下記に説明される本開示の態様は、一般概念のいかなる損失を生じさせることなく、この説明に続く「特許請求の範囲」に制限を課すことなく説明されている。
概して、本開示の様々な実施形態は、ユーザに個別化されるAIモデルを構築するために、ディープラーニング(また、機械学習と称される)技術を実施するシステム及び方法を説明する。したがって、パーソナルコンパニオンはAIとして実装され、AIは個別の支援をユーザに提供する目標に伴い、ユーザに関するコンテクストに基づいて識別されている情報のディープラーニングエンジンによって訓練されたモデルを利用する。訓練されたモデルは、AIの行動選択方針の役割を果たし得る。AIモデルは、携帯型である自律パーソナルコンパニオンによって実装される。AIは、データを認知し、異なる所有者のプラットフォーム下で動作する他のデジタルアセットと交換するように構成され得る。AIは、モバイルプラットフォームに統合され、最良に、データを受信し、データを収集し、環境を検知し、データを配信し、環境を検知及び/またはマッピングし、ならびに他の機能を実行するために、環境を通して自律的に移動することができる。いくつかの実施態様では、自律パーソナルコンパニオンは、処理のためにバックエンドサーバとインタラクションを行うように構成可能であり、AIは、ローカルレベルで要求を処理することができる、またはローカルレベルで要求を前処理することができる、次に、バックエンドサーバでそれらの要求を完全に処理することができる。さらに、本開示の様々な実施形態は、ユーザに関連するキャプチャ済情報(ユーザ及び/またはユーザが位置する環境の音声データ及び視覚データ)のコンテクスチュアリゼーションを提供する。具体的には、キャプチャ済情報はタグによって分類され、次に、一致シナリオに関連付けられた事前に定義した学習パターンにタグを一致させる。次に、一致シナリオに関連付けられたアルゴリズムは、実施時、入力データに応答する結果(例えば、AIの外面的行動)を生成するために、ある入力データ(例えば、キャプチャ済情報)を考慮して実行される。
様々な実施形態の上記の一般的理解によって、ここで、実施形態の例示的詳細は、様々な図面を参照して説明される。
図1Aは、本開示の実施形態による、ユーザの対応するAIモデルによって実装される自律パーソナルコンパニオンを構築する及び実装するシステム100Aを示す。具体的には、自律パーソナルコンパニオン100は、例えば、サービスをユーザに提供するために、デジタルコンパニオンとして対応するユーザとインターフェースをとるように構成される。加えて、自律パーソナルコンパニオン100はネットワーク150(例えば、インターネット)を通して、バックエンドサーバ(例えば、パーソナルコンパニオンモデラ及びアプリケータ140)によってサポートされ得るものであり、バックエンドサーバは、個別化されたAIモデル(AIモデルのそれぞれがその各々のユーザに対応する)を構築する及び適用するために、(例えば、ディープ、機械、学習エンジン190によって)人工知能及び/またはディープ学習、機械学習を提供する。例えば、1つ以上のコンパニオン100a〜100nは、世界を通じて、1つ以上の場所で複数のユーザをサポートするように構成される。
自律パーソナルコンパニオン100のそれぞれは、サービス(例えば、サポート)をその各々のユーザに提供する複数の能力を提供するように構成される。概して、コンパニオン100は、ユーザの要求に応じて、そのサービスを提供し得る、または、自律的に、適切な時間で、サービスをユーザに提供し得る、もしくは、サービスをユーザに与え得る(例えば、ユーザによる必要性を検知する、またはコンテクストに基づく関連のアクション、ランダム生成を判定する等)。例えば、自律パーソナルコンパニオン100は、様々な動作(例えば、情報、購入品、及び/またはサービス等の検索)を行うユーザ検索要求を処理する等のデジタル支援をユーザに提供し、ユーザに関する検索要求を自律的に生成し、コンテクストに基づいてユーザに関連するアクションを自律的に発生し(例えば、食料庫がわずかであること、パーティーが昨晩に開催されたことに気付いた後に、電子商取引ベンダを通してポテトチップを購入する)、ゲーム支援を、ゲームアプリケーションをプレイするユーザに提供し(例えば、対応するゲームアプリケーションをナビゲートする際に役立つ助言及び補助を提供する)、物理的世界内の3次元(3D)ゲーム空間を統合することによって、ゲームアプリケーションの表示されるゲーム空間を拡張する、ならびに他の機能を行うように構成され得る。
加えて、自律パーソナルコンパニオン100は、ユーザと会話をし、デジタル支援をユーザに提供し、会話を通してユーザとの関係を構築し、単一の期間または複数の期間の全体を通してユーザに同行する等の、交友をユーザに提供し得る。コンパニオン100は、ユーザに、酷似の人間または動物コンパニオンであろうものに応答することをプロンプトし得る。例えば、コンパニオン100は、コンパニオン100とユーザとの間でプレイされるカードゲームが始まることを示唆し得る、またはデジタルコンテンツをディスプレイ(例えば、コンパニオン100からリモートにある固定ディスプレイまたはコンパニオン100と統合されたディスプレイ)の上で見ることを示唆し得る、またはゲームコントローラを持って来て、ゲームアプリケーションをプレイするユーザにプロンプトし得る。
自律パーソナルコンパニオン100によって行われるアクションの少なくとも一部は、コンテクストに基づいてユーザに関連する。すなわち、コンパニオン100が、現在、ユーザが、ユーザに対して個別化されるAIモデルに携わり、ユーザに対して個別化されるAIモデルを構築する及び/またはAIモデルにアクセスすることが可能である環境にコンテクストに基づいて認知するため、コンパニオン100によって発生するアクションは、ユーザが経験しているコンテクストに合わせることができる。例えば、ユーザが、ユーザのAIモデル及び現在の日付に基づいて、一見一般的な要求(例えば、「昨晩のスコアはいくつだったか?」)を行うとき、コンパニオン100は、その要求に対する現在のコンテクストを判定し、適切な応答及び関連する応答「ウォリアーズが101−97で勝利」を提供するだろう。AIモデルがユーザをウォリアーズのファンとして定義するために、応答はコンテクストに基づいて関連するようになり、ユーザは、プロバスケットボール協会(NBA)のゴールドステートウォリアーズのゲームの最新情報を把握しているのみである。さらに、AIモデルがまた、ユーザをプレーオフ中の4月のNBAファンとして、他のスポーツからいかなるスコアでも関係していない人として定義するため、応答はコンテクストに基づいてユーザに関連する。現在の日付が4月の1つであるため、コンパニオン100によってインターネットを通して、前夜のウォリアーズのスコアを検索することができる。
図1Aに示されるように、いくつかのパーソナルコンパニオン100a〜100nは、その各々のデジタルコンパニオンとして対応するユーザとインターフェースをとるように構成される。簡潔及び明確にする目的のために、コンパニオン100aが説明され、説明はコンパニオン100a〜100nに提供される機能を表す。具体的には、各コンパニオンは、携帯型であるロボット105内に実装され、ロボットは任意の適切なフォームファクターを取り得る。各コンパニオンが、ロボット105内でローカルに及びバックエンドサーバ140においての両方で分散され得る人工知能110によってサポートされる。一実施形態では、AI110は、部分的にサービスを対応するユーザに提供するために使用されるローカルAIモデル120aの少なくとも一部を構築するために使用されるディープラーニングを行うように構成される。AI110を使用して学習される、この情報は、収集及び/または学習される情報の種類に応じて、ローカルAIモデル120aを構築することでまたタスクが課され得るバックエンドサーバ140と共有し得る、または共有し得ない場合がある。例えば、感知情報は、ローカルAIモデル120aを構築するために、ローカルで処理され得るが、バックエンドサーバ140と共有され得ない場合がある。
加えて、コンパニオン100aのAI110は、ローカルAIモデル120aのバージョンを含み、モデル120aは対応するユーザに対して個別化され、AI110はAIモデル120aを実装するように構成される。具体的には、用語「ローカルAIモデル」は、AIモデルが特定のユーザまたはローカルのユーザに対応することを示すために使用される。ロボット105のフォームファクター内に記憶されるローカルAIモデル120aは、AIモデルのフルバージョンであり得る、またはAIモデルのフルバージョンで利用可能な能力のいくつかのサブセットを自律的に提供するベースモデルであり得る。AIモデルのフルバージョンは、また、AIモデリング及びアプリケーションを提供するバックエンドサーバ140によって記憶され、バックエンドサーバ140によってアクセス可能である。したがって、コンパニオン100aは、バックエンドサーバ140から独立して機能し、能力のフルセット(ローカルAIモデルのフルバージョンがロボット105に記憶される場合)、または能力の制限されたセット(ローカルAIモデルのより低いバージョンがロボット105に記憶される場合)のいずれかを提供し得る。他方では、コンパニオン100aは、バックエンドサーバ140と協働して機能し、ローカルAIモデル120aによって提供される能力のフルセットを提供し得る。例えば、ローカルAIモデル120aは、ロボット105において、AI処理のほとんどを行うように良好に(より高速に及びより多くのリソースで)構成されるバックエンドサーバ140におけるローカルAIモデル120a共に協働して作動する(例えば、データを前処理し得る)。
図1Aに示されるように、ローカルデータ115aは、コンパニオン100aによって(ロボット105等によって)収集される。ローカルデータ115aは、ロボット105に記憶されるいかなるAI能力をも使用して、ローカルAIモデル120aを構築することを助けるために、ロボット105においてAI110によって使用され得る。加えて、ローカルデータ115aは、ディープ機械学習エンジン190のAI能力(例えば、最近傍ベースタグ付け及びシナリオ選択アルゴリズム)を使用して、ローカルAIモデル120aを構築するために、バックエンドサーバ140におけるパーソナルコンパニオンモデラ(personal companion modeler)及びアプリケータ(applicator)に配信され得る。図示されるように、1つ以上のローカルAIモデル120a〜120nは、1人以上のユーザをサポートするために、バックエンドサーバ140に生成及び記憶される。
コンパニオン100a〜100nのそれぞれ毎のローカルデータ115がバックエンドサーバにおいてパーソナルコンパニオンモデラ及びアプリケータに配信され、ローカルデータのそれぞれは、グローバルAIモデル130を生成するために集められ得る。集められたローカルデータは、グローバルデータ135として記憶され得る。
図1Bは、本開示の一実施形態による、パーソナルコンパニオンモデラ及びアプリケータ140のディープラーニングエンジン190によって実施される訓練により対応するユーザのためのローカルAIモデルを構築するために使用される例示的ニューラルネットワークを示す。一実施形態では、ディープラーニングエンジン190は、ユーザ行動を分類するために、タグ識別を行うために実装され得る。具体的には、図1Aのシステム100Aのモデラ及びアプリケータ140は、自律パーソナルコンパニオン100がサービスをユーザに提供するときに有用及び適切であり得るユーザ行動パターン及びそのタグパターンを識別するように構成される。加えて、ニューラルネットワークは、一実施形態では、コンパニオン100のAI110内に実装され得る。ユーザのために結果として生じるローカルAIモデル120は、部分的に、ユーザの及びユーザに関する、行動、生体情報、アクション、感情、予想、望み、好み、要求、必要性、及び環境(コンテクストを提供するためのもの)を定義する。パーソナルコンパニオンモデラ及びアプリケータ140は、具体的には、直接またはネットワーク(例えば、ローカルネットワーク、インターネット等)を通して、自律パーソナルコンパニオン101a〜101nのそれぞれに結合されるバックエンドサーバコンピューティングデバイスを含む、任意のコンピューティングデバイスであり得る。
具体的には、モデラ140のディープラーニングまたは機械学習エンジン190は、ユーザに関するローカルデータ115を分析するように構成され、ローカルデータ115は、部分的に、自律パーソナルコンパニオン100によって収集される。ローカルデータ115は、ユーザ(例えば、コントローラ入力、要求、アクション、行動、応答等)と、ユーザの環境とを監視することに関連して収集される。下記に説明されるように、コンパニオン100は、データを収集する目的のためにデータを監視する及び/または要求を行う様々な機能(例えば、カメラ、アクティブアクチュエータ、パッシブセンサ、コントローラ、マウス、スキャナ等)で構成される。基本的に、ユーザに関連付けられる任意の関連情報は、部分的に、ユーザを定義するために、ユーザが存在するコンテクストを理解するために、ユーザが、様々な状態及び/または刺激にどのように感じるか、作用または応答するかを予測するために収集及び使用され得る。したがって、ディープラーニングエンジン190はユーザについての情報を分類することが可能であり、これにより、対応するローカルAIモデル120は、最良のサービスをユーザに提供することができ、サービスは、ユーザによって最小の入力が提供される。例えば、AIモデル120は、ユーザによって行われる要求を理解するために、ユーザが必要とするもの、またはユーザが望み得るものを予測するために、その要求及び予測を満たすサービスを提供するために、(例えば、ディープラーニングエンジン190の実装によって)使用されることができる。
別の実施形態では、ローカルデータ115に加えて、他のデータ(例えば、グローバルデータ135)は、随意に、複数のパーソナルコンパニオン100a〜100nによって利用及び/また収集され得るものであり、また、対応するユーザのためのローカルAIモデル120を構築する際に使用され得る。基本的に、グローバルデータ135は、全てのユーザのために収集された全てのローカルデータ115の集合である。具体的には、いくつかのデータは、全てのユーザ、またはユーザの(様々なサイズの)少なくとも一部のサブセットに関する全てのAIモデルを構築するときに使用するのに一般的及び適切であり得る。加えて、グローバルデータ135は、概して、任意のユーザのために使用され得るグローバルAIモデル130を構築するために使用され得る。さらに、グローバルデータ135は、様々なグローバルAIモデルを構築するために使用され得るものであり、グローバルAIモデルのそれぞれは、ユーザの特定のグループ化(例えば、人口統計、領域、音楽の好み、教育等によってグループ化)にターゲット化される。
したがって、ローカルデータ115、及びグローバルデータ135のある部分は、ディープラーニングエンジン190にフィードされる。ディープラーニングエンジン190は、ディープラーニングアルゴリズム、強化学習、または他の人工知能ベースアルゴリズムを含む人工知能を利用して、対応するユーザのためのローカルAIモデル120を構築する。
そのように、学習及び/またはモデリング段階の間、データは、入力データのセットを考慮して、所与のユーザに関する応答、アクション、要求、及び/または必要性を予測するために、ディープラーニングエンジン190によって使用される。これらの応答、アクション、要求、及び/または必要性は、概して、ユーザ行動として分類され得るものであり、したがって、AIモデル120は、概して、いくつかの入力データを考慮して、対応するユーザの行動を識別及び/または分類し、適切な応答をAIに提供する(例えば、パーソナルコンパニオンによって実装されるAIの外面的行動を判定する)ために使用されることができる。例えば、入力データはユーザによる固有の要求であり得るものであり、AIモデル120は応答を生成するために使用され、応答は自律パーソナルコンパニオン100によって提供されるサービスに関連する。加えて、入力データは、いずれかの向かうユーザ入力または要求に関係なく、応答が向かうユーザの応答、アクション、要求、及び/または必要性を予測するために使用され得る環境データの収集物であり得る。例えば、AIモデル120は、ユーザが明確に要求を配信することを必要としないで、ユーザが望む及び/または必要とするサービスが何かを予測するために使用され得る。
徐々に、AIモデル120は、ユーザ行動を識別及び/または分類し、AIモデルを適用し、入力データの近似セットに応答して、ユーザの行動、アクション、応答、要求、及び/または必要性を予測することができる。例えば、タグ識別及びシナリオ選択は、ユーザ行動をタグとして識別及び分類し、ユーザの要求及び/または必要性を予測し、その要求及び/または必要性に応答してサービスを提供するAI応答を提供するために使用され得る。例えば、前述に紹介した例では、ユーザは4月のNBAのスコアだけに着目し、したがって、ゲームのスポーツのスコアに関する任意の要求は、ユーザがゴールドステートウォリアーズのファンであることと、4月にそのユーザが、ウォリアーズが試合をするゲームからのスコアだけに着目することとを理解することを含むユーザの要求及び必要性を予測するために使用され、その要求及び必要性の全てが、ウォリアーズが試合をする最新ゲームのスコアを伴う応答(例えば、AIモデル120によって実施される)をもたらす。他の例は、AIモデル120の構築を説明する際に有用である。例えば、AIモデル120は、ユーザのある生体情報を定義するために使用されることができる。ある場合、ユーザの進度を定義することができ、それにより、パーソナルコンパニオンが、近づいている人の足を検知及び追跡し、AIモデル120に関連付けられる対応するユーザであることを判定することができる。AIモデル120は、午後5時に、ユーザが、一般的に、帰宅し、デジタルコンテンツを見始めることを判定するために使用されることができる。したがって、パーソナルコンパニオン100は、最近ユーザが興味のある(例えば、医療ドラマショーを一気に見る)コンテンツを、既に再生中のディスプレイにアップロードし得る、または、コンパニオン100へのユーザの要求に応じて、すぐに再生する準備ができ得る。
ニューラルネットワーク190は、データセットを分析し、対応するユーザの応答、アクション、行動、要求、及び/または必要性を判定するための、自動分析ツールの例を表す。異なる種類のニューラルネットワーク190が可能である。ある例では、ニューラルネットワーク190は、ディープラーニングエンジン190によって実施され得るディープラーニングをサポートする。したがって、監督される訓練または監督されていない訓練を使用するディープニューラルネットワーク、畳み込みディープニューラルネットワーク、及び/またはリカレントニューラルネットワークを実装することができる。別の例では、ニューラルネットワーク190は、強化学習をサポートするディープラーニングネットワークを含む。例えば、ニューラルネットワーク190は、強化学習アルゴリズムをサポートするマルコフ決定過程(MDP)としてセットアップされる。
概して、ニューラルネットワーク190は、人工ニューラルネットワーク等の相互接続ノードのネットワークを表す。各ノードはいくつかの情報をデータから学習する。知識は、相互接続によって、ノード間で交換されることができる。ニューラルネットワーク190への入力は、ノードのセットをアクティブにする。同様に、このノードのセットは他のノードをアクティブにし、それによって、入力についての知識を伝える。このアクティブ化プロセスは、出力が提供されるまで、他のノードにわたって繰り返される。
図示されるように、ニューラルネットワーク190はノードの階層を含む。最低階層レベルにおいて、入力層191が存在する。入力層191は入力ノードのセットを含む。例えば、これらの入力ノードのそれぞれは、自律パーソナルコンパニオン100による、ユーザとユーザに関連付けられる環境との監視中及び/またはクエリ中に、アクチュエータによってアクティブに、またはセンサによってパッシブに収集されるローカルデータ115にマッピングされる。
最高階層レベルにおいて、出力層193が存在する。出力層193は出力ノードのセットを含む。出力ノードは、例えば、ローカルAIモデル120の1つ以上のコンポーネントに関する決定(例えば、予測)を表す。前述に説明したように、出力ノードは、所与の入力のセットに関するユーザの予測または予想された応答、アクション、行動、要求、及び/または必要性を識別し得るものであり、入力は、様々なシナリオ(例えば、直接要求、日時、時刻、行動の様々なパターン等)を定義し得る。これらの結果は、ディープラーニングエンジン190によって使用されるパラメータを改良及び/または修正し、所与の入力のセットに関する、ユーザの適切な予測または予想される応答、アクション、行動、要求、及び/または必要性を反復的に判定するために、前のインタラクションから、ならびに、ユーザ及び/または環境を監視することから取得された既定の結果と、取得された真の結果とに比較されることができる。すなわち、ニューラルネットワーク190のノードは、パラメータを改良するとき、係る決定を行うために使用されることができるAIモデル120のパラメータを学習する。
具体的には、隠れ層192は入力層191と出力層193との間に存在する。隠れ層192は「N」の数の隠れ層を含む(「N」は1以上の整数である)。同じく、隠れ層のそれぞれは、また、隠れノードのセットを含む。入力ノードは、隠れノードに相互接続される。同様に、隠れノードは出力ノードに相互接続され、それにより、入力ノードは、出力ノードに直接相互接続されない。複数の隠れ層が存在する場合、入力ノードは、最低の隠れ層の隠れノードに相互接続される。同じく、これらの隠れノードは、次の隠れ層等、その他の隠れノードに相互接続される。次の最高の隠れ層の隠れノードが出力ノードに相互接続される。相互接続により、2つのノードを接続する。相互接続は、学習されることができる数値重みを有し、入力に適応し学習が可能である、ニューラルネットワーク190をレンダリングする。
概して、隠れ層192は、入力ノードについての知識を出力ノードに対応する全てのタスクの中で共有することを可能にする。そうするために、一実施態様において、変換fは、隠れ層192を通して入力ノードに適用される。ある例では、変換fは非線形である。例えば、リニア整流関数(linear rectifier function)f(x)=max(0,x)を含む、種々の非線形変換fが利用可能である。
ニューラルネットワーク190は、また、コスト関数cを使用して、最適解を見つける。コスト関数は、所与のxに関してf(x)として定義されるニューラルネットワーク190によって出力される予測と、グラウンドトゥルース(ground truth:地上検証データ)または目標値y(例えば、期待される結果)との偏差を測る。最適解は、解が最適解のコストよりも低いコストを有しない状況を表す。コスト関数の例は、予測とグラウンドトゥルースとの平均2乗誤差であり、データに関して、係るグラウンドトゥルースラベルが利用可能である。学習過程中、ニューラルネットワーク190は、バックプロパゲーションアルゴリズムを使用して、異なる最適化方法を採用し、コスト関数を最小にするモデルパラメータ(例えば、隠れ層192内のノード間の相互接続に関する重み)を学習することができる。係る最適化方法の例は確率的勾配降下法である。
ある例では、ニューラルネットワーク190に関する訓練データセットは、同じデータドメインから生じ得る。例えば、ニューラルネットワーク190は、所与の入力のセットまたは入力データに関するユーザの予測または予想された応答、アクション、行動、要求、及び/または必要性を学習するために訓練される。この例証では、データドメインは、基本入力データとのユーザのインタラクションのために収集されたセッションデータを含む。別の例では、訓練データセットは、基準値以外の入力データを含む異なるデータドメインから得られる。
したがって、ニューラルネットワーク190は、所与の入力のセットに関するユーザの予想された応答、アクション、行動、要求、及び/または必要性を識別し得る。これらの予測された結果に基づいて、ニューラルネットワーク190は、また、(例えば、環境及びユーザの)認知サービスを対応するユーザにコンテクストに基づいて提供するために使用されるAIモデル120を定義し得る。
図2は、本開示の一実施形態による、対応するユーザのローカルAIモデル120によって実装される自律パーソナルコンパニオン100をサポートするシステム200を示す。パーソナルコンパニオン100は、ローカルAIモデル120に基づいて、サービスをユーザに提供するように構成され、ローカルAIモデル120は、タグに分類されるとき、シナリオを選択するため、ならびに、ユーザの要求及び/または必要性を予測し、その要求及び/または必要性に応答してサービスを提供するシナリオを考慮してAI応答を提供するために使用され得るユーザ行動のパターンの識別によって、とりわけ、ユーザの応答、アクション、行動、要求、及び/または必要性を予測することが可能である。
前述に説明したように、パーソナルコンパニオン100は、ローカルAIモデル120のモデリング及びローカルAIモデルの適用を行うバックエンドサーバ140から独立して、またはバックエンドサーバ140と連動して作動し得る。具体的には、バックエンドサーバ140は、前述に説明した、対応するユーザにサービスをサポート及び提供するローカルAIモデル120を構築及び適用するために、部分的に、(例えば、ユーザによって動かされる、または経験される所与のシナリオを定義する)任意の所与の入力のセットに関して、ユーザの応答、アクション、行動、要求、及び/または必要性を学習及び/またはモデリングするように構成されるディープラーニングエンジン190を含む。具体的には、ローカルAIモデルビルダー210は、ディープラーニングエンジンとインターフェースをとり、ストレージ230内に記憶される1つ以上のローカルAIモデル120a〜120nを構築するように構成される。加えて、グローバルAIモデルビルダー215は、前述に説明したように、ディープラーニングエンジンとインターフェースをとり、またストレージ230内に記憶される、1つ以上のグローバルAIモデル130a〜130pを構築するように構成される。例えば、AIモデルビルダー210及び215は、ディープラーニングエンジン190内で対応するAIモデルを適用する目的のために、入力層191、隠れ層192、及び出力層193の中に様々なノードを定義するディープラーニングエンジン190内に定義されたパラメータを設定するために動作し得る。
自律パーソナルコンパニオン100は、そのフォームファクター(例えば、自律ロボットシェル)の内部で及びバックエンドサーバ140を通しての両方で、またはそれらの組み合わせで、ローカルAIモデル120を実装し得る。前述に説明したように、コンパニオン100は、複雑度が少ないAI動作(例えば、部屋の照明をオンにする要求)を行うとき、またはネットワーク接続が制限される、またはネットワーク接続がないとき等、バックエンドサーバから独立しているローカルAIモデル120を実装し得る。加えて、コンパニオン100は、バックエンドサーバと協働してローカルAIモデル120を実装し得る。例えば、コンパニオン100は、入力パラメータ(例えば、行われる動作を定義する)を構造化または条件付けるために、ローカルにあるローカルAIモデル120によって予備動作を行い得るものであり、これにより、入力パラメータは、バックエンドサーバ140に容易に(例えば、縮小及び/または圧縮されて)配信される。ここで、AIモデル120内の人工知能のほとんどは、AIモデルアプリケータ220及び/またはディープラーニングエンジン190によって実行される。
図2に示されるように、自律パーソナルコンパニオン100はユーザの同じ環境内に位置し、これにより、自律パーソナルコンパニオン100はサービスをユーザに提供し得る。コンパニオン100は、有線接続もしくは無線接続(図示しない)を通して直接、またはローカルネットワーク250を通してのいずれで、1つ以上のデジタルオブジェクトもしくは物理オブジェクト及び/またはエンティティとインターフェースをとることが可能であり、ネットワーク250は有線接続または無線接続を含み得る。図2は、様々なデジタルオブジェクト及び/または物理オブジェクトとのコンパニオン100のインターフェースを示す。他のデジタルオブジェクト及び/または物理オブジェクトとの追加インターフェースが想到される。図示されるように、コンパニオン100は、直接(例えば、有線通信または無線ピアツーピア通信)、または有線接続もしくは無線接続を介したローカルネットワーク250(例えば、Bluetooth(登録商標)、Wi‐Fi、ローカルエリアネットワーク等)を通して、ローカル環境内でオブジェクトとインターフェースをとり得る。加えて、ローカルネットワーク250は、他のリモートオブジェクト(例えば、バックエンドサーバ140、他のサーバ等)へのローカルネットワーク250を通して通信する様々なデジタルオブジェクト及び物理オブジェクトの通信を容易にするために、広域ネットワークまたはインターネット150と通信可能に結合される。
例えば、コンパニオン100は、コンパニオン100を再充電する目的のために、またはソフトウェア更新を受信するためにベースステーションと通信する目的のために、及び他の例示的な使用事例の目的のために、ベースステーション260及びコンパニオン100の一方または両方を同じ場所または大体同じ場所に移動させる等、ベースステーション260とインターフェースをとり得る。
加えて、コンパニオン100はローカルサーバ240とインターフェースをとり得るものであり、サーバ240はゲーム機241、タワーコンピュータ243等を含み得る。例えば、ゲーム機241は、データのメインストリームをディスプレイ265に提供し得るものであり、また、コンパニオン100のメインストリームの概要または完全バージョンを提供し得るものであり、これにより、コンパニオン100は、(例えば、コンパニオン100のディスプレイによって)表示されることができる、またはユーザのゲームプレイと同時にユーザに(例えば、音声が)配信されることができる有用情報(例えば、ゲーム支援)にアクセスし得る。コンパニオン100が検索動作、ファイルストレージ等を制御し得る、または利用し得るように、タワー243は追加機能を提供し得る。
一実施形態では、コンパニオン100は、マップ更新システム375とインターフェースをとり得及び/または実装し得るものであり、マップ更新システム375はコンパニオン100内にまたはリモートに位置し得る。マップ更新システム375は、コンパニオン100が位置する環境を継続的にマッピングするように構成される。例えば、更新はコンパニオン100上で実行する他のアプリケーションへのバックグランドプロセスとして発生し得る。そのように、オブジェクトが環境の周囲に移動するとき、または環境内に新たに導入されるとき、マップ更新システム375は、環境内のオブジェクト及び構造のマッピングを継続的に更新するために、移動及び/または導入を認識することが可能である。したがって、更新済マッピングに部分的に基づいて、コンパニオン100は、オブジェクトと衝突しないで、環境の周囲を移動することが可能である。コンパニオン100による移動は、サービスを提供する最良の位置にコンパニオンを設置することが必要になり得る。例えば、コンパニオン100は、画像を投影するために使用される壁のより近くに移動する必要があり得る、または、会話を持続する、もしくは要求に応答する等の目的のために、ユーザの言葉を良好に聞くために、ユーザのより近くに移動する必要があり得る。
さらなる例として、コンパニオン100は、デジタルアセット270内の動作を制御する目的のために、またはそのデジタルアセット内のデータにアクセスする目的のために、1つ以上のデジタルアセット270とインターフェースをとり得る。例えば、デジタルアセットは、ローカルサーバ240等を通して、プロセッサまたはオペレーティングシステム内に実装されるカレンダー機能を含み得るものであり、その場合、コンパニオン100は、項目を更新もしくは作成するために、またはカレンダー機能で間近のカレンダー日付等を取得するためにタスクが課され得る。
さらに別の例では、コンパニオン100は、1つ以上の補助システム275とインターフェースをとり得る。例えば、補助システム275はヘッドマウントディスプレイ(HMD)を含み得るものであり、それにより、パーソナルコンパニオンは、仮想現実(VR)コンテンツと一致するHMD内に表示される追加コンテンツを提供するために(例えば、VRを拡張する情報を提供する、すなわち、拡張現実を実施するために)、HMDによって表示されるVRコンテンツから更新を受信し得る。
また、コンパニオン100は、住居の機能(例えば、加熱及び冷却のためのサーモスタットの設定、換気制御、窓カバー、ネットワーク接続、デジタルコンテンツ配信及び提示、洗濯機及び乾燥機を含む家庭用電気製品等)を自動化するように構成されるホームオートメーションシステム280とインターフェースをとることができる。したがって、コンパニオン100は、ユーザのゲームプレイと同時にディスプレイに最良の照明を提供するために、ホームオートメーションシステム280に娯楽室の照明をオフにすることを指示し得る。
加えて、コンパニオン100は、携帯電話285とインターフェースをとり、電話285によって提供される様々な機能にアクセスし得る及び/または様々な機能を制御し得る。例えば、コンパニオン100は、音楽をブロードキャストするために、電話285上でストリーミング音楽機能と接続し得る。
図3Aは、本開示の一実施形態による、ユーザのAIモデルによって実装される自律パーソナルコンパニオン100のブロック図である。前述に紹介したように、コンパニオン100は、対応するユーザとインターフェースをとり、ローカルAIモデル120によって、任意の種類(例えば、デジタル、物理等)のサービスを提供するように構成される。ローカルAIモデル120は、部分的に、ユーザの行動、応答、アクション、反応、要求、及び/または必要性を予測するために、バックエンドサーバ140と協働する分散モデルであり得る。コンパニオン100の様々な例示的コンポーネントが図3Aに示されるが、他の機能及び/またはコンポーネントは十分にサポートされる。
図3Aに示されるように、コンパニオン100は、動作全体を管理するように構成されるシステムコントローラ355を含む。例えば、コントローラ355は、コンパニオン100の動作を容易にするために様々なコンポーネントによる使用に利用可能であるハードウェア及びソフトウェアリソースを管理し得る。加えて、コントローラ355は、コンポーネント間のインターフェース及び協働を含む、コンパニオン100内に提供された1つ以上のコンポーネント(例えば、モータ320、深度センサ305等)を制御し得る。
駆動コントローラ265は、コンパニオン100によって実装される移動機能を管理するように構成される。運動に関する能力は、部分的に、モータアセンブリ320(例えば、電動式、燃料式モータアセンブリ等)または推進するための他の手段と、運動をコンパニオン100に付与するように構成される駆動アセンブリ375とによって提供される。いくつかの実施態様では、駆動アセンブリ275は、1つ以上の車輪、またはコンパニオン100の移動を提供するように構成される他の手段(例えば、浮く能力)を含み得る。いくつかの場合、ジャイロスコープ380は、静止位置にある間に、または移動しながら、正確な配向にコンパニオン100を維持するために、安定情報を駆動コントローラ365に提供し得る。
コンパニオン100は、現在の環境を通して、コンパニオンのナビゲーションを補助するように構成されるコンポーネントを含み得る。例えば、深度センサ305及び近接センサ335は、環境内の固定オブジェクト及び移動オブジェクトに関する情報を提供し得る。具体的には、近接センサ335は、コンパニオン100に密接する、(例えば、表面を検出することによって)オブジェクトの場所を判定するように構成され得る。また、深度センサ305は、コンパニオン100の環境内のオブジェクトの近くの場所及び遠くの場所を判定するように構成され得る。すなわち、センサ305及び335は、環境内のコンパニオン100の配置に対するオブジェクトの深度を判定し、継続的更新によって、環境内の(新しい及び更新された)オブジェクトの場所を含む環境のマッピングを生成することが可能である。加えて、深度センサ305は、オブジェクトが硬質(例えば、金属デスク)または軟質(例えば、カウチ)であるかどうかを判定する等、オブジェクトの組成を判定するように構成され得る。深度センサ及び近接センサは、電磁場、誘導、無線周波数、熱的変動、赤外周波数、エアフロー等の使用を含む、環境内のオブジェクトの場所及び/または組成を判定するための様々な技術の1つを採用し得る。さらに、画像は、オブジェクト情報(例えば、オブジェクトの相対的位置付け)を提供するために、同様に、他の使用及びサービス(例えば、パーソナル画像及びビデオキャプチャ、ビデオゲーム記録、ユーザの日常活動の記録等)を提供するために、カメラ325及び/またはビデオレコーダー370によってキャプチャされ得る。
加えて、マップ更新システム345は、環境をマッピングするために、部分的に、深度センサ305及び近接センサ335によって提供される情報を使用し得る。アーキテクチャ設計図、カメラ325、ビデオレコーダー370等によってキャプチャされた画像を含む他の情報及び/またはデータは、マッピングの目的のためにアクセスされ得る。マッピングシステム345は、環境の3次元(3D)ビューを提供するように構成され得る。例えば、様々なコンポーネントによって収集されたデータ及び/または第三者の情報は、1つ以上の種類の環境のマッピングを生成するために使用されることができる。これらのマッピングは2次元マップ及び3次元マップを含む。さらに、前述に説明したように、マップ更新システム375は、1つ以上のツール(例えば、深度センサ305及び近接センサ335等)を使用して、環境を継続的にマッピングする。例えば、周囲に移動する、または環境内に導入されるオブジェクトは発見可能であり、それにより、オブジェクトの場所は環境のマッピングの中で更新される。他の種類のマッピングは、環境の画像及びビデオツアーを含む。一実施形態では、情報はユーザの住居をマップアウトするために使用され得るものであり、部屋の場所を判定することができ、(例えば、投影スクリーンとしてどれが使用されることができるかを判定する目的のために)部屋の壁を分類することができ、様々な部屋の実画像及び仮想画像は記憶及び提供され得るものであり、住居のビデオツアー及び仮想ツアーは、(例えば、保険、不動産等を示す目的のために)生成され得る。
別の実施形態では、コンパニオン100は、娯楽、通信等の目的のために、表示システム310を含み得る。例えば、表示システム310は、ユーザによるインターネット検索の結果を提供するとき、または1つ以上の目的のためにユーザにクエリするとき(例えば、ユーザの一般的な生活状態を尋ねる、ユーザによって様々な要求を明らかにする等)など、ユーザと通信するために使用され得る。加えて、表示システム310は、(ゲーム機からの1次ゲームストリームとしてストリームされるゲームアプリケーションをプレイするユーザのゲームプレイを示す)1次ゲームディスプレイ、または2次ゲームストリーム(例えば、ユーザのゲームプレイに関連する情報)を提供するための補助ディスプレイとして使用され得る。表示システム310は、映画または他のデジタルコンテンツを示すように構成され得る。表示システム310は、ディスプレイによって提供される画像またはビデオに対して音声を提供するためのスピーカまたは音声システム330と連動して作動し得る。例えば、ユーザのゲームプレイの音声は、ディスプレイ上に提示されるゲームプレイのビデオに関連して及びそれと同期して提示され得る。
さらに、コンパニオン100は、娯楽、通信等の目的のために、投影システム340を含み得る。投影システムは、ユーザとの通信を提供すること、またはコンソールもしくはバックエンドストリーミングサービスによって提供されるゲームアプリケーションから1次ストリームを表示すること、データの2次ストリームを提供すること(例えば、2次情報もしくは補足情報を提供する、または1次ディスプレイと連動してゲーム世界の拡大図を提供するゲームアプリケーションに対する補助スクリーンとして提供する)、デジタルコンテンツを表示すること等を含む、表示システム310と同様の機能を提供し得る。加えて、他の機能は、投影システム340によって提供され得る。投影画像が表示システムに対して大きくなり得るため、拡大ビューイングオプションが提供され得る。例えば、異なる種類のビデオ及び/またはイメージング(例えば、ホログラフィック、3D等)は、コンパニオン100の投影システム340によって提示され得る。
記録システム317は、コンパニオン100によって収集及び/または生成されるデジタル情報のビデオ及び/または音声をキャプチャするように構成される。例えば、ゲームアプリケーションをプレイするユーザのゲームプレイ(例えば、ビデオ及び音声)は収集及び記憶され得る。ユーザがゲームアプリケーションをプレイするときのユーザからの追加音声等の追加情報は、記録システム317によって収集され、ゲームプレイのビデオ及び音声と結合し得る。
加えて、ユーザ追跡システム350は、ユーザの一般的な移動及び特定の移動を追跡するように構成され得る。一般的な移動は、環境内のユーザの体全体の移動を含む。特定の移動は、ユーザの頭または胴の移動を判定する等、本体の一部にターゲット化され得る。例えば、追跡システムはユーザの様々な体の部分の配向を判定し、頭または体の方向変化を追跡し得る。追跡システム350は、カメラ325もしくはビデオレコーダー370、深度センサ305、近接センサ335、または他の追跡センサ(例えば、ゲーム機によって提供された等の集積センサまたは第三者のセンサ)等からの画像及びビデオを含む、1つ以上の他のコンポーネントによって提供されたデータを収集し得る。
図3Bは、本開示の様々な実施形態の態様を行うために使用されることができる例示的デバイス100のコンポーネントを示す。例えば、図3Bは、一実施形態による、ユーザをサポートしてサービスを提供するデバイスを実装するのに適切な例示的ハードウェアシステムを示し、本デバイスは、部分的に、対応するユーザの行動、アクション、反応、応答、要求、及び/または必要性を予測することが可能であるローカルAIモデルによって実施されるサービスを提供するように構成される。このブロック図は、本開示の実施形態を実施するのに適切なパーソナルコンピュータ、ビデオゲームコンソール、携帯情報端末、または他のデジタルデバイスを組み込むことができる、またはそのデバイスであり得る、デバイス100を示す。デバイス100は、ソフトウェアアプリケーション及び随意にオペレーティングシステムを起動するための中央処理装置(CPU)302を含む。CPU302は1つ以上の同質または異質の処理コアから構成され得る。
様々な実施形態に従って、CPU302は、1つ以上の処理コアを有する1つ以上の汎用マイクロプロセッサである。さらに、複数の実施形態は、ディープラーニング、コンテンツ分類、及びユーザ分類を行うように構成されるアプリケーションのメディアアプリケーション及び対話(インタラクティブ)型娯楽アプリケーション等の高度な並列アプリケーション及び計算集約的アプリケーションに特に適応するマイクロプロセッサアーキテクチャを伴う1つ以上のCPUを使用して実施されることができる。例えば、CPU302は、部分的に、ユーザ行動、ユーザのアクション、応答、反応、要求、及び/または必要性を予測し、その予測に基づいてサービスを提供することに関して、学習動作をサポート及び/または行うように構成されるローカルのAIエンジン110(例えば、ディープラーニングエンジン)を含むように構成され得る。また、AIエンジン110は、コンパニオン100で、ユーザのローカルAIモデル120を適用するように構成される。加えて、CPU302は、コントローラ355、駆動コントローラ365、マップ更新システム345等の図3Aに示されるコンパニオン100の1つ以上のコンポーネントによって提供される追加機能を提供し得る。
また、CPU302は、キャプチャ済データを事前に定義または学習されたパターンと、一致シナリオに関連付けられた組み合わせとに一致し得るタグに分類することによって、ユーザに関連するキャプチャ済情報(例えば、ユーザ及び/またはユーザが位置する環境の音声データ及び視覚データ)のコンテクスチュアリゼーションに関連する追加機能を提供し得る。ここで、ある入力データ(例えば、キャプチャ済情報)を考慮する一致シナリオに関連付けられたアルゴリズムの実行により、実施時、自律パーソナルコンパニオン100によって実装されるAIの外面的行動を発生させることによって、キャプチャ済入力データに応答する結果を生成する。例えば、CPU302は、ユーザ行動のパターンを学習するための学習パターン生成部705と、ユーザ行動の学習パターンをタグに分類するためのタグ生成部710と、学習パターン及び対応するタグの収集に関連付けられるシナリオ(すなわち、ユーザ行動をコンテクスト化するシナリオ)を構築するためのシナリオビルダー720と、入力データ(例えば、ユーザ行動)を考慮して適切なAI応答を生成するために対応するコンテクストシナリオに基づいてアルゴリズムを生成するためのシナリオアルゴリズムビルダー730と、ローカルAIモデルを構築するためのローカルAIモデルビルダー210’と、を含む。それらの全ては、ディープラーニングを、1人以上のユーザ及び/またはユーザが位置する環境に関連する学習パターンに適用し、タグ付けによって学習パターンを分類し、学習パターン及び関連タグの組み合わせに関連付けられるシナリオを構築し、実行時に、固有ユーザ及び/またはユーザが位置する環境のキャプチャ済データに応答して、シナリオアルゴリズムを構築するように構成される。これらのコンポーネントのより詳細な説明は図7Aに提供される。具体的には、ユーザ及び/またはユーザの環境のキャプチャ済データに基づいて、パターン認識モジュール750、タグ識別子755、タグ一致エンジン760、シナリオ及びシナリオアルゴリズム選択エンジン770、シナリオアルゴリズム実行エンジン780、及びアクション実行エンジン790は、タグの収集セットにグループ化されることができる対応する既定タグで、キャプチャ済データのユーザ行動のパターンを識別し、収集タグをシナリオに関連付けられる既定タグのセットと比較し、重みを、タグの収集セットと、既定タグの対応するセットとの対応する一致品質を定義する既定タグのセットに割り当て、既定タグのセット及び対応する重みを降順でソートし、最高一致品質の重みを有するタグの一致セットに関連付けられる一致シナリオを選択するように構成される。これらのコンポーネントのより詳細な説明は図7Bに提供される。
図示されるように、マップ更新システム345は、コンパニオン100内に位置するハードウェアベースデバイスによって実装され得る。具体的には、マップ更新システム345は、コンパニオン100が位置する環境のマッピングを発生するように構成される。このマッピングは、環境の空間内の位置を定義する新たに生成及び/またはフォーマットされる座標系等のローカルの位置付けシステムを含み得る。例えば、座標系は、全地球測位システム(GPS)、もしくは3Dデカルト座標系、座標系の混合(例えば、部屋毎の個々の座標系と適合する建物の部屋を定義する間取図)、または任意の適切な位置付けシステムの値を取り入れ得る。
メモリ304は、CPU302によって使用されるアプリケーション及びデータを記憶する。ストレージ306は、不揮発性ストレージと、アプリケーション及びデータ用の他のコンピュータ可読媒体とを提供し、固定ディスクドライブ、取り外し可能ディスクドライブ、フラッシュメモリデバイス、及びCD−ROM、DVD−ROM、Blu−ray(登録商標)、HD−DVD、または他の光学式ストレージデバイス、ならびに信号伝送及びストレージ媒体を含み得る。ユーザ入力デバイス308は、1人以上のユーザからのユーザ入力をデバイス100に通信し、その例は、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、静止画レコーダー/カメラもしくはビデオレコーダー/カメラ、及び/またはマイクロホンを含み得る。ネットワークインターフェース314は、デバイス100が電子通信ネットワークを介して他のコンピュータシステムと通信することを可能にし、インターネット等のローカルエリアネットワーク及び広域ネットワークを通した有線または無線通信を含み得る。音声プロセッサ312は、CPU302、メモリ304、及び/またはストレージ306によって提供される命令及び/またはデータからアナログまたはデジタル音声出力を生成するように適応される。CPU302、メモリ304、データストレージ306、ユーザ入力デバイス308、ネットワークインターフェース310、及び音声プロセッサ312を含むデバイス100のコンポーネントは1つ以上のデータバス322を介して接続される。
グラフィックスサブシステム314は、さらに、データバス322と、デバイス100のコンポーネントと接続される。グラフィックスサブシステム314は、グラフィックス処理ユニット(GPU)316及びグラフィックスメモリ318を含む。グラフィックスメモリ318は、出力画像の画素毎に画素データを記憶するために使用される表示メモリ(例えば、フレームバッファ)を含む。グラフィックスメモリ318は、GPU316と同じデバイス内に統合される、GPU316と別個のデバイスとして接続される、及び/またはメモリ304内に実装されることができる。画素データは、CPU302から直接、グラフィックスメモリ318に提供されることができる。代替として、CPU302は、GPU316に所望の出力画像を定義するデータ及び/または命令を提供し、そのデータ及び/または命令から、GPU316が1つ以上の出力画像の画素データを生成する。所望の出力画像を定義するデータ及び/または命令は、メモリ304及び/またはグラフィックスメモリ318内に記憶されることができる。ある実施形態では、GPU316は、シーンのジオメトリ、照明、シェーディング、質感、運動、及び/またはカメラパラメータを定義する命令及びデータから出力画像の画素データを生成するための3Dレンダリング能力を含む。GPU316は、さらに、シェーダプログラムを実行することが可能である1つ以上のプログラム可能実行ユニットを含み得る。一実施形態では、GPU316は、AIエンジン190’内に実装され、追加処理電力をAIまたはディープラーニング機能等に提供し得る。
グラフィックスサブシステム314は、表示デバイス310上に表示される、または投影システム340によって投影される画像の画素データをグラフィックスメモリ318から定期的に出力する。表示デバイス310は、CRT、LCD、プラズマ、及びOLEDディスプレイを含むデバイス100からの信号に応答して、視覚情報を表示することが可能である任意のデバイスであり得る。例えば、デバイス100は、表示デバイス310にアナログまたはデジタル信号を提供することができる。
本明細書に説明される実施形態が任意の種類のクライアントデバイス上で実行され得ることを理解されたい。いくつかの実施形態では、クライアントデバイスは、ヘッドマウントディスプレイ(HMD)または投影システムである。
図4A〜図4Cは、本開示の一実施形態による、対応するユーザの住居環境内の自律パーソナルコンパニオン100の例示的実装を示す。前述に紹介したように、コンパニオン100は、ローカルAIモデル120を通して、サービスをユーザに提供するように構成される。ここで、AIモデル120は任意のバックエンドサーバから独立して作動し得るものであり、または、バックエンドサーバに位置するAIモデル120と分散方式で作動し、部分的に、ユーザの行動、応答、アクション、反応、要求、及び/または必要性を予測し得る。コンパニオン100が様々なシナリオ下で様々なサービスを提供するように構成されるが、図4A〜図4Cは、ユーザ450がゲーム機241上で実行する(またはバックエンドサーバで実行され、ゲーム機によってストリームされる)ゲームアプリケーションをプレイし、コンパニオン100が補足情報をユーザ450のゲームプレイに提供することが可能である、シナリオを示す。
図示されるように、ユーザは娯楽室等の住居環境410内に位置する。部屋は2つの壁415A及び415Bを含む。環境410はカウチ405を含む。ユーザはゲーム機241へのアクセスを有する。具体的には、ゲームアプリケーションは、ユーザ450のゲームプレイに関連して、ゲーム機241(または、任意の他のデバイス)によって実行及び/またはストリーミングしており、ゲームプレイはコントローラ420等によってユーザ入力に応答する。ゲームプレイの1次ストリームは作成され、ゲームプレイのビデオはディスプレイ310に配信される。加えて、ゲームプレイの音声は、音声システム(図示しない)によって提供され得る。ゲームアプリケーションはオープンロードレーシングゲームであり得るものであり、ユーザはレースで車の運転者をプレイしている。スクリーンショット425はディスプレイ310に配信されるビデオストリームの画像を示し、近づいて来る道路を示すレース車のフロントガラスから外にある及びダッシュボードにわたるビュー、ならびにハンドル及びダッシュボードの様々な計器を含む。
加えて、コンパニオン100は環境410内に位置し、ロボットのフォームファクター105と、ユーザ450のローカルAIモデル120を実装するように構成されるAI110とを含む。例えば、AI110は、バックエンドサーバ140でAIエンジン190と協働するAIエンジン190’であり得る。AI110によって実装されるローカルAIモデル120は、部分的に、サービスをゲームプレイに関連するユーザ450に提供するように構成される。したがって、コンパニオン100は、少なくとも、ゲームアプリケーション及び/またはゲームプレイについての情報を受信するためにゲーム機241に通信可能に結合され得る。例えば、当該情報は、ゲームのタイトル及びバージョン、ゲームプレイのゲーム状態を含み得る。加えて、コンパニオン100は、ゲームアプリケーションの2次ストリームに提供される情報を含み得る。例えば、ゲーム機241は、ディスプレイ310上に提示される1次ストリームと、コンパニオン100によって(例えば、ディスプレイ、プロジェクション、スピーカ等によって)提示される2次ストリームとを生成し得る。
一実施形態では、コンパニオン100は、ユーザのゲームプレイをサポートする補助を提供するように構成され、当該情報は、ゲームアプリケーションをプレイするユーザ及び他のプレイヤーのゲームプレイに関連し得る。いくつかの実施態様では、当該情報は、ゲームアプリケーションに関連する一般的な情報を提供し得る。補足情報は、ゲームプレイを進める際に支援をユーザ420に提供し得る。例えば、当該支援はユーザ420が目標を達成する(例えば、あるレベルを越える)ことを助けるコーチングの形式としてもよく、一般的または直接的に、ユーザがゲームアプリケーション内で目標を達成することを助けるコントローラ入力を示す視覚的刺激を含み得る。コンパニオンアプリケーションによって提供される補足情報の詳細な説明は、全体として参照することによって本明細書に組み込まれる、同時係属の特許出願である題名「GAME PLAY COMPANION APPLICATION」(米国特許出願第15/476,597号、2017年3月31日出願)に提供されている。
図4Bは、図4Aに紹介したユーザ450のゲームプレイに関連する補足情報を提供するためにゲーム機241とインターフェースをとる自律パーソナルコンパニオン100を示す。例えば、図4Bは、ゲーム機241によって実行される、またはゲーム機241によってストリームされるゲームアプリケーションをプレイする環境410内のユーザ450を示す。具体的には、図4Bは、ゲームアプリケーションの3次元(3D)ゲーム世界と、ユーザの物理的環境との統合を示す。図示されるように、コンパニオン100は、ゲームアプリケーションの3Dゲーム世界の一部を物理的環境410に投影するように構成される。例えば、コンパニオン100は、スクリーンショット425を示すことを継続するディスプレイ310上で提示されるものを越えて3D世界のビューを拡張することが可能である。具体的には、コンパニオン100は、ディスプレイ310上に提示され、(スクリーンショット425を含む)1次ビデオストリームと同時に、ビデオストリーム(スクリーンショット430を含む)をゲームアプリケーションの2次ストリームとして投影する。
加えて、本開示の一実施形態に従って、ユーザ450の視線の方向に応答して、コンパニオン100によって提供される投影を行い得る。例えば、コンパニオン100の、または機能コンパニオン100と連動して作動する視線追跡システムは、ゲームプレイ中に、ユーザ450の視線の方向をキャプチャするように構成される。例証のように、ユーザがレースしているとき、音は、頭部の移動をもたらし得る環境410内で一方向に提供され得る。図示されるように、ユーザ450の頭部は右に著しく曲がる。ディスプレイ310上で1次ストリーム内部に表示される右側を指す矢印等で、他の要因をサポートする。例えば、コンパニオン100の聴音機及び投影システムは、生じる音を生成し得る、または、またゲームアプリケーションのゲーム世界内の発生点に対応する環境410内の場所から生じるように作られる。音は、ユーザ450によって制御される運転者を通過することを試みる競争相手のエンジンから生じ得るものであり、運転者の右に、または、より具体的には、運転席の右側から生じ得る。ユーザの頭部が右に曲がり、通過するレーサーの良好なビューを獲得するとき、ユーザ450の視点から視認されるゲーム世界の当該部分の投影はエリア443内の壁415A上に提示される。ここで、投影は、ゲーム世界内のオブジェクトの大体適切な場所に及びユーザによってプレイされるキャラクタの場所に関して提示され、キャラクタの位置はユーザ450の物理的な位置に関連付けられる。図示されるように、2次情報の投影のスクリーンショット430は、右側で通過するレースカーNo.78を含む。
一実施形態では、エリア443は、事前に達成した環境410のマッピング処理中、発見されている場合がある。マッピング処理は、エリア443が補足情報及び/またはコンテンツを表示するのに適切であり得ることが発見されていた。コンパニオン100自体は、補足情報を適切に提示するために、環境410内の壁415A及び/またはユーザ450に対して位置し得る。
図4Cは、本開示の一実施形態による、ゲームアプリケーションの3Dゲーム世界の拡張が、図4A〜図4Bに紹介したゲームアプリケーションの3Dゲーム世界の統合の別の例を示し、ここで、この拡張は、ユーザ450のゲームプレイの1次ストリームを示すディスプレイ310の横に投影される。図示されるように、2次情報または補足情報を壁415A上に投影する代わりに、当該情報はディスプレイ310のちょうど右の壁415B上に投影される。例えば、環境410のマッピング処理中、壁415Aが画像の投影をサポートできないことが判定され得る。すなわち、コンパニオン100が壁415A上に投影される場合でさえ、ビデオストリームは視認可能ではないだろう(例えば、壁415Aは本箱を含む)。したがって、コンパニオン100は、特に、ゲームアプリケーションの1次ビデオを示すディスプレイ310に関して、ゲーム世界内の投影におけるオブジェクトの場所の適切な検知をさらに少し伝える補足情報をエリア440内の壁415B上に投影し得る。別の実施態様では、投影はディスプレイ310上に提示されるビデオストリームの拡張である。したがって、コンパニオン100は、通過位置にあるレースカーNo.78を含む図4Bのスクリーンショット430に類似するスクリーン430’を含む補助ビデオストリームをエリア440上に投影する。スクリーンショット430’は、ディスプレイ310上に提示されるキャラクタの運転者の視点(例えば、スクリーンショット425)によって表される、運転席の右側に投影される。
一実施形態では、壁415B上への投影は、ディスプレイ310の中心から外れて、ユーザ450の視線によってもたらされ得る。図示されるように、ユーザがゲーム環境内にいるであろうとき、ユーザ450の頭部は約90度曲がらないが、むしろ、壁415Bのビューエリア440に対して45度曲がる。他の実施形態では、投影は、ゲームアプリケーションの実行中、コンパニオン100によって自律的に生成され得る。例えば、補足情報は、コンパニオン100によって自動的に投影され、ユーザ経験の向上をもたらし得る。この場合、他の補足情報は、他の機会に、環境410内の他の場所に提供され得る。
図5は、本開示の一実施形態による、ヘッドマウントディスプレイ(HMD)515及び物理的環境510を使用して、ユーザ550によってプレイされるゲームアプリケーションの3D仮想現実(VR)世界の統合を示す。図5に示されるように、ユーザ550は、ユーザ550のゲームプレイに関連して、ゲーム機241上で実行している(または、バックエンドサーバで実行する、ゲーム機によって、もしくは任意の他のデバイスによってストリームされる)ゲームアプリケーションをプレイしており、ゲームプレイは、コントローラ420等によるユーザ入力及び/またはHMD515の移動に応答する。
前述に説明したように、コンパニオン100は、ローカルAIモデル120によってユーザにサービスを提供するように構成され、AIモデル120は任意のバックエンドサーバから独立して作動でき、または、バックエンドサーバに位置するAIモデル120と分散方式で作動し、部分的に、ユーザの行動、応答、アクション、反応、要求、及び/または必要性を予測し得る。コンパニオン100は、ロボットフォームファクター105と、ユーザ550に対応するAIモデル120を実装するための人工知能とを含む。
より具体的には、コンパニオン100は、ゲームアプリケーションの仮想現実(VR)ゲーム世界の一部を物理的環境510に投影するように構成される。例えば、VRゲーム世界の投影520は、環境510内の壁(図示しない)に行われ得る。投影520は、また、コンパニオン100によって制御される物理ディスプレイによって行われ得る。このように、ユーザ550によって体験するビューは、また、傍観者555に提示され得る。一実施形態では、本開示の一実施形態による、傍観者555がユーザ550のVRゲーム世界の経験に同時参加することを可能にするように、ユーザ550の視線の方向に応答して、投影が行われる。したがって、環境510が投影に適切な場合、ユーザ550がVRゲーム世界を視認するときに配向が変化するにつれて、コンパニオン100は、また、VRゲーム世界内の適切な場所に密接に対応するように、投影520を環境510内の異なる場所に変化させ得る。すなわち、ユーザ550の頭部が反時計回りに90度曲がり、投影520は、ユーザ550の左に、また、傍観者555の左にある壁上になされ得る。そのように、傍観者は、物理的環境510内にコンパニオンアプリケーションによって投影されるVRゲーム世界の検知を獲得し得る。
図6A〜図6Eは、本開示の実施形態に従って、コンパニオンが図1〜図5に示されるコンパニオン100によって実装され得る、自律パーソナルコンパニオンの様々な例示的形態を示す。図6A〜図6Hに示されるコンパニオンは、ローカルAIモデル120によって対応するユーザにサービスを提供するように構成され、AIモデル120は任意のバックエンドサーバから独立して作動でき、または、バックエンドサーバに位置するAIモデル120と分散方式で作動し、部分的に、ユーザの行動、応答、アクション、反応、要求、及び/または必要性を予測し得る。
具体的には、図6Aは、本開示の一実施形態による、ユーザのAIモデルによって実装されるユーザのためのコンパニオン600Aの例示的形態を示す。図6Aが一般的なフォームファクターを示しているが、コンパニオン600Aは任意の適切なフォームファクター内に実装され得る。例えば、形状上部よりも小さい直径の下部を伴う円錐形を有する本体601が示される。上側筐体605は、本体601から突出し、コンパニオン600Aの追加機能を容易にし得る。
具体的には、コンパニオン600Aは、下部に1つ以上の車輪609、またはコンパニオン600Aの2次元もしくは3次元の移動を提供するための任意の適切な手段を含む。そのように、コンパニオン600Aは、必要に応じて環境内で周囲に移動し、そのサービスを提供し得る。例えば、コンパニオン600Aは、環境の周囲に独立して移動し、環境の最良の画像をキャプチャし得る、または、ビデオ及び/または画像を投影するための最良の場所を選択し得る。加えて、本体601は1つの場所で回転し、最良の配向を環境内のコンパニオン600Aに提供し得る。
図6Bは、本開示の複数の実施形態に従って、部分的に、画像の投影、近接環境の検知、及び補助音の提供を含む機能の配列が構成される自律パーソナルコンパニオン600Bの例を示す。具体的には、本体601を伴う一般的なフォームファクターと、図6Aに最初に紹介したものとを有するコンパニオン600Bが示される。加えて、車輪609は環境を通して運動するための能力を表すように示される。
コンパニオン600Bは、本体601の全体を通して配置されるスピーカ610を含む。加えて、スピーカ610は、上側筐体605等のコンパニオン600Bの他の部分に位置し得る。ディスプレイ310は本体601の表面上に位置し、対応するユーザのためのサービスを行うとき、情報及び/またはデータを提示するように構成される。例えば、ディスプレイ310は、応答に関してユーザにクエリするとき、テキストを表示し得る、またはユーザからのクエリに応答してビデオもしくはテキストを提示し得る。ディスプレイ310は、また、ゲームアプリケーションをプレイするユーザのゲームプレイに関連して生成されるもの等の他の補足情報を提示し得る。
コンパニオン600Bは環境を検知するために使用される1つ以上のセンサを含み、センサはコンパニオン表面上の様々な場所に位置し得る。例えば、深度センサ305は本体601の上部の表面上に位置してもよく、深度センサは、環境内のオブジェクトの近く及び遠方で場所を判定するように構成される。1つ以上の深度センサ305は、また、オブジェクトの組成またはオブジェクトの表面硬度を判定するために使用され得る。加えて、1つ以上の近接センサ335は上側筐体605の表面内に位置してもよく、近接センサはコンパニオン600Bの近くのオブジェクトの場所を判定するように構成され得る。前述に説明したように、深度センサ及び近接センサは、オブジェクトの場所を判定するために信号625によって示される様々な技術(例えば、電磁場、誘導、無線周波数、熱的変動、赤外周波数、エアフロー等)を採用し得る。
加えて、本体601の上部は、環境の音声記録をキャプチャするように構成される1つ以上のマイクロホン315を含む。例えば、対応するユーザの音声は、より遅い時間でリプレイされ得るユーザの生の反応をキャプチャするように記録され得る。また、記録音声は、カプセル650内に位置するビデオレコーダー370によってキャプチャされる記録済ビデオと同期し得る。また、画像カメラ325はカプセル650内に位置し得る。画像カメラ325及びビデオレコーダー370の組み合わせは、コンパニオン600Bがユーザ及び/または環境のビデオ及び/または画像をキャプチャすることを可能にする。
図示されるように、カプセル650は様々な程度の運動及び配向を有する。カプセル650はリフト機構655に取り付けられ、コンパニオン600Bの本体601に対して上下に移動することができる。例えば、カメラ325またはレコーダー370がオブジェクト(例えば、壁、カウチ、家具、本箱等)によってブロックされるとき等、カプセル650自体が上がり、環境の最良のビューを獲得し得る。加えて、カプセル650はリフト機構655のシャフトを中心に回転でき、それにより、回転は静止物体601に対して生じ得る。
コンパニオン600Bの上側筐体は1つ以上の投影システム340を含み得る。前述に説明したように、投影システム340は、補足情報を環境の表面(例えば、部屋の壁)に投影し得る。前述に説明したように、環境のマッピングによって、表面を判定し得る。コンパニオン600Bがサービスをユーザに提供するとき、補足情報はユーザと通信するために使用され得る。
図6Cは、本開示の一実施形態による、1つ以上の機能(例えば、画像キャプチャ及び画像投影)が構成されるドローンアセンブリ651を含む自律パーソナルコンパニオン600Cの例を示す。図示されるように、コンパニオン600Cは、総称的に表される本体601、移動のための手段(例えば、示される車輪609)、ディスプレイ310、近接センサ335、及び投影システム340のプロジェクタを含む、前述に紹介した1つ以上の機能を有する。前述に紹介した他の機能は、明確にする目的のために図示しない。
具体的には、コンパニオン600Cは、静止位置にあるとき、上側筐体605(または、アセンブリ651を受容することが可能である任意の他の適切な表面エリア)に結合されるドローンアセンブリ651を含む。例えば、ドローンアセンブリ651は、電池を充電する目的のために、上側筐体605とインターフェースをとり得る。別個のベースステーション等の、コンパニオン600Cからリモートにある他の静止場所が想到される。さらに、ドローンアセンブリ651は、コントローラ355等のコンパニオン600Bの1つ以上のコンポーネントに通信可能に結合される。画像カメラ325及び/またはビデオレコーダー370は、画像及びビデオをキャプチャする目的のために、ドローンアセンブリ651上に位置し得る。また、投影システム640のプロジェクタ等の他のコンポーネントはアセンブリ651上に位置し得る。
図示されるように、ドローンアセンブリ651は環境内で周囲を移動することが可能である。プロペラシステム、エアフローシステム、至軽風システム、テザリングシステム等の移動を提供するための任意の適切な手段が想到される。したがって、ドローンアセンブリ651は、環境全体を通して3次元内で移動し、それ自体が環境内で回転することが可能である。カメラ325及び/またはビデオレコーダー370を、画像及び/またはビデオをキャプチャするために良好な位置に設置するために、移動は必要であり得る。例えば、コンパニオン100の本体601及び上側筐体605に対応する点から撮影されたある方向の部屋のビューは、オブジェクトによってブロックされ得る。ドローンアセンブリ651は、ビューをキャプチャするために、(例えば、直線状に)オブジェクトによって妨害されない場所に配備され得る。
図6Dは、本開示の一実施形態による、1つ以上の機能が構成される回転上部630を含む自律パーソナルコンパニオン600Dの例を示す。対応するユーザのローカルAIモデル120を実装するのに適切な異なるフォームファクターを示すコンパニオン600Dが示される。図示されるように、コンパニオン600Dは基部620を含む。車輪609’または前述に説明した任意の他の適切な運動手段等の移動手段が基部620内に提供される。
具体的には、コンパニオン600Dは、カメラ325、ビデオレコーダー370、深度センサ305、近接センサ335等を含み得る上部630を含む。例証のために、上部630は基部620を中心に回転可能であり得る。そのように、コンパニオン600D自体がサービスをユーザに最良に提供するために正しい位置に配向し得る(例えば、ユーザと通信するために良好な位置にコンパニオン600D自体を設置する)。すなわち、コンパニオン600D及び回転上部630の移動機能を組み合わせることで、コンパニオンの様々な配向が、その環境内で可能である。例えば、上部630は、環境内のオブジェクトに向かって回転し、カメラシステムにオブジェクトの良好なビューを与え得る。さらに、コンパニオン600Dは、オブジェクトのより近くに移動し、カメラシステムにオブジェクトの良好なビューを与え得る。
いくつかの実施態様では、上部630の回転により、感情を伝えることが可能である、またはコンパニオン600Dのいくつかの行動を表示することが可能である。この場合、上部630は感情を示すためにプログラムされる多色照明が装備され得る。例えば、光のバンド631は上部630に示される。バンド631の光のそれぞれは、対応するパターンに従ってオンまたはオフし得る。加えて、バンド631の光のそれぞれは、対応するパターンに従って一連の色を示し得る。テーブル632は光パターン(例えば、オン/オフ、色順序等)のリストを示し、各パターンはコンパニオン100の対応する感情に関連付けられ得る。例えば、パターン1は第1の幸福感情に関連付けられてもよく、パターン2は第2の種類の幸福感に関連付けられ得る。無関心、怒り、悲しみ、不機嫌等を示す他の感情は、他のパターンによって表され得る。
図6Eは、本開示の一実施形態による、1つ以上の付属品640を含む自律パーソナルコンパニオン600Eの例を示す。図示されるように、コンパニオン600Eは、総称的に表される本体601と、移動のための手段(例えば、示される車輪609)とを含む、前述に紹介した1つ以上の機能を有する。前述に紹介した他の機能は、明確にする目的のために図示しない。
具体的には、付属品640はコントローラ機能を提供し得る。例えば、付属品640はコントローラ420を含み得るものであり、ゲーム機上のまたはバックエンドサーバにおけるゲームアプリケーションの実行中、制御命令を提供する目的のためにゲーム機241とインターフェースをとり得る。一実施形態では、1つ以上の付属品640は、より容易に操作し及び取扱うために取り外され得る。そのように、ユーザは、ゲームコントローラを取扱う通常様式で付属品640とインターフェースをとり得る。
一実施形態では、付属品640のそれぞれはベース充電ポートに結合することが可能である再充電ポートで構成される。内蔵電池(図示しない)は対応する付属品640内に位置する。回転軸602に関連付けられる接続部内等にあるベース充電ポートは本体601上に位置し得る。そのように、付属品640が本体601の後部で交換されるとき、内蔵電池の充電が発生し得る。すなわち、一実施形態では、電力(例えば、電荷)は、コンパニオン600Eの本体601を通って、付属品640の内蔵電池に移送される。別の実施形態では、電力は反対方向に移送され、それにより、電力は内蔵電池からコンパニオン600Eに移送される。そのように、付属品640は、電力をコンパニオン600Eに供給するための1次再充電媒体として構成でき、本体601から分離したベース充電ステーションに電気的に及び/または通信可能に結合するために取り外され得る。付属品640が離されている間(例えば、再充電中)、コンパニオン600Eは、内蔵電池電源を使用して動作することを継続でき、いったん付属品640が本体601に再び結合されると、電池電源を再充電することができる。
一実施形態では、付属品640は、コンパニオン600Eのアームの役割を果たす。例えば、付属品640は、本体601上で回転軸602を中心に移動し得る。付属品640の移動はいくつかの通信を提供し得る。例えば、付属品640の移動のパターンは、コンパニオン600Eによる挨拶の信号を送り得る。別の例では、付属品640は、コンパニオン600Eの歓迎姿勢を示すように本体601から外向きに拡張し得る。さらに別の例では、付属品640は拡張し、握手または最初のぶつかりをユーザに提供し得る。他の運動が想到される。加えて、他の実施形態では、付属品は任意の形態または構成であり得る。例えば、コンパニオン600Eの付属品として構成されるヘッドまたは上側筐体605は本体601から着脱可能であり得る。
本開示の実施形態は、本開示の実施形態に従って、自律パーソナルコンパニオンに関する様々な代替フォームファクターをサポートする。さらなる実施形態は、直接またはネットワークを通してのいずれかで、2つの自律パーソナルコンパニオン100の間で通信を提供する。例証のように、コンパニオンのそれぞれは部屋の周囲を移動することが必要である建物内の部屋のマッピングに関連する動作を行い得るものであり、その移動中、一方または両方のコンパニオンは、近接する別のコンパニオンを検知し得る。コンパニオン自体、さらに、相互に通信する目的のための位置に移動し得る。一実施態様では、コンパニオンのそれぞれは、対応するQRコード(登録商標)に関連付けられ得る。QRコード(登録商標)は識別情報を交換するために使用され得る。例えば、QRコード(登録商標)は、(例えば、バックエンドサーバを介して)対応するコンパニオンについての情報へのアクセスを提供する。したがって、コンパニオン自体が、QRコード(登録商標)が渡され得る場所に移動し得る(例えば、第2のコンパニオンのカメラシステムの視界の範囲内に第1のコンパニオンのQRコード(登録商標)を示すディスプレイを持っていく)。いったんキャプチャされると、次に、QRコード(登録商標)は、キャプチャ済QRコード(登録商標)に関連付けられるコンパニオンについての識別情報にアクセスするために、ネットワークを通してサーバに配信され得る。そのように、識別情報はコンパニオン間で交換され得る。
キャプチャ済ユーザデータを記述する識別済タグに基づくシナリオ選択とキャプチャ済データに応じた関連シナリオアルゴリズムの実行
本開示の様々な実施形態は、適宜に、AIとして実装される自律パーソナルコンパニオンに関するシステム及び方法を説明する。ここで、AIは、個別の支援をユーザに提供する目標に伴い、ユーザに関するコンテクストに基づいて識別されている情報のディープラーニングエンジンによって訓練されたモデル(例えば、ローカルAIモデル)を利用する。一実施形態では、訓練されたモデルは、パーソナルコンパニオンによって実装されるAIの行動選択方針の役割を果たす。ローカルAIモデルは、携帯型である自律パーソナルコンパニオンによって実装され、最良に、データを受信し、データを収集し、環境を検知し、データを配信するために、自律的に移動して、それ自体を位置付けるように構成され得る。自律パーソナルコンパニオンは、コンテクストに基づいて関連のある及び個別化された支援をユーザに提供するように構成可能である。パーソナルコンパニオンは、図1〜図6で前述に紹介されたものである。ローカルAIモデルの個別化は、モデルを生成するためにディープラーニングエンジン190内で使用される主観的及び/または客観的な入力データをフィルタリングすることによって達成される。フィルタリングを行わない場合、AIモデル(ローカル及びグローバル)の全ては、同じデータセットを使用して構築され、したがって、全て同じであり、したがって、同じ性質を有する(例えば、所与の入力セットに対して同じ結果を達成する)だろう。そのように、ローカルAIモデルは性質を変化させることで生成され、それにより、各AIモデルは一意であり、対応するユーザの性質を反映することができる、または対応するユーザの性質に関連付けられることができる。加えて、本開示の実施形態は、ユーザに関連するキャプチャ済情報(例えば、ユーザ及び/またはユーザが位置する環境の音声データ及び視覚データ)のコンテクスチュアリゼーションを開示する。ここで、キャプチャ済情報はタグのセットに分類され、タグはユーザ行動の事前に定義した学習パターンと、ユーザ行動のコンテクスチュアリゼーション(例えば、ユーザの行動、アクション、応答、要求、及び/または必要性の予測)を提供するシナリオに関連付けられたタグの組み合わせまたは収集物とに一致する。すなわち、一致シナリオは、一致タグの組み合わせに基づいて判定されることができ、一致シナリオは対応するアルゴリズムを有する。入力されるキャプチャ済データを考慮する一致アルゴリズムの実行により、実施時、キャプチャ済ユーザデータに応答する結果を生成する。具体的には、結果は、AIが一致シナリオに基づいてサービスを提供する応答を提供するようなAIの外面的行動であり得る。
図7Aは、本開示の一実施形態による、ユーザの監視された行動から判定されたユーザ行動の複数の学習パターンに基づいて、複数のシナリオを構築するためにAIを機能させるように構成される自律パーソナルコンパニオン100のブロック図である。ここで、シナリオは、実施時、キャプチャ済データ(例えば、現在のユーザデータ)に基づいて結果(例えば、パーソナルコンパニオンによって実装されるAIの外面的行動)を生成する一致アルゴリズムを有する。一実施形態では、図7Aに説明される機能及び特徴は、パーソナルコンパニオン100内に全体的に実装される。一実施形態では、図7Aに説明される機能及び特徴は、パーソナルコンパニオン、図1A及び図2のバックエンドサーバ140、またはその2つの組み合わせに実装され得る。具体的には、図7Aのコンポーネントは、(ユーザ環境を含む)固有ユーザまたは一般ユーザの行動の学習パターンを構築するために、1人のユーザ及び/または複数のユーザが経験するシナリオの構築のために、一致シナリオに関するキャプチャ済ユーザデータに応答する固有ユーザのローカルAIモデルの構築のために、1人のユーザのキャプチャ済/監視済データ701及び複数のユーザのキャプチャ済/監視済データ703に対するディープラーニングまたはAIの適用を開示する。
ユーザ入力データ701及び複数のユーザからの入力データ703は、部分的に、固有ユーザのローカルAIモデル120を構築するためにAIエンジンに提供され得る。図7Aは、AIエンジン110が自律パーソナルコンパニオン100に対してローカルにあることを示しているが、様々な構成は、図7Aに示されるコンポーネントのローカル機能または分散機能を提供するために採用され得ることが理解される。具体的には、入力データ701及び703は学習パターン生成部705によって受信され、学習パターン生成部705は、ユーザの行動に関連する学習パターン(例えば、生体情報、アクション、感情、予想、望み、好み、要求、必要性等)と、ユーザの環境に関連するパターンとを生成するように構成される。複数の学習パターン706は、ストレージ(バックエンドサーバ140におけるローカルメモリ304及び/またはストレージ等)内に置かれ得る。
学習パターン706のそれぞれは、1つ以上のタグに関連付けられ得る。具体的には、タグ生成部710は、ユーザ行動の学習パターンを分析し、学習パターンを記述するタグを生成するように構成される。例えば、1つ以上のタグは、対応する学習パターンを記述するために使用され得る。タグは、学習パターンを分類するために使用でき、本開示の実施形態で検索または一致を行うために使用され得る。タグ生成部710によって生成される複数の既定タグ711は、ストレージ(バックエンドサーバ140におけるローカルメモリ304及び/またはストレージ等)内に置かれ得る。
加えて、シナリオビルダー720は、ユーザのグループに関連する固有ユーザ及び/または一般ユーザのコンテクスト環境に関連するシナリオを定義するように構成される。具体的には、1つ以上の学習パターンは一緒にグループ化でき、それにより、その組み合わせは、シナリオとして定義される特定のコンテクスト環境を記述するために使用される。したがって、シナリオは、ユーザ行動のコンテクスチュアリゼーション(例えば、ユーザの行動、アクション、応答、要求、及び/または必要性の予測)を提供する。例えば、シナリオは、デジタルコンテンツ(例えば、テレビ、映画、短いカット等)を見るために1人以上の友達と一緒に金曜日の夜の着席セッションを含む、対応するユーザまたは一般ユーザに関するコンテクストを記述し得る。すなわち、学習パターン及び/またはその対応するタグは、シナリオを記述するために使用され得る。したがって、各シナリオは、ユーザ行動の学習パターンの対応するセットに基づき、それに関連し、学習パターンのセットは既定タグのセットに基づき、それに関連する。
加えて、シナリオアルゴリズムビルダー730は、各シナリオに対応するアルゴリズムを生成するように構成される。いったんユーザまたは一般ユーザのコンテクスト環境がシナリオによって定義されると、アクションが所与のコンテクスト環境を行うために対応する自律パーソナルコンパニオン100に適切であることを命令するアルゴリズムを構築することができる。具体的には、シナリオアルゴリズムビルダーは、学習パターンのセットと、様々なシナリオを定義する既定タグのセットとを分析し、シナリオ毎に対応するアルゴリズムを構築する。各アルゴリズムは、実施時、対応するパーソナルコンパニオンによって、ユーザのコンテクスト環境に関連するキャプチャ済ユーザデータに応答する結果を生成するために実行されることができる。すなわち、ある入力(例えば、キャプチャ済ユーザデータ)を考慮して実行されるときのアルゴリズムは、AIの外面的行動であり得る結果を生成し、それにより、AIは、コンテクスチュアリゼーションを提供するシナリオに基づいて、サービスを提供する応答を提供する。
図7Aに示されるように、複数のシナリオ721は、ユーザ行動の学習パターンの対応するセット722に基づいて構築され、それに関連し、また、既定タグの対応するセット723に基づき、それに関連し、複数のシナリオ721は複数のシナリオアルゴリズム724に対応する。例えば、シナリオS−1は、学習パターンの対応するセット(LPs−1)、対応するタグセット−1、及びシナリオアルゴリズムA−1を有し、シナリオS−2は、学習パターンの対応するセット(LPs−2)、対応するタグセット−2、及びシナリオアルゴリズムA−2を有し、続いて、最大n番目のシナリオS−nは、学習パターンの対応するセット(LPs−n)、対応するタグセット−n、及びシナリオアルゴリズムA−nを有する。
一実施形態では、対応するシナリオの一致アルゴリズムは粘着係数を有し、粘着係数を有し得る。例えば、シナリオ及び一致アルゴリズムは、ユーザデータの連続収集に基づいて、現在のシナリオに対する可能性のある更新を考慮するとき、シナリオの有効期限に関連する優先度が与えられ得る。いくつかのシナリオは、それらのシナリオがユーザによって繰り返して遭遇され得る点で高い優先度(例えば、高い粘着係数)を有し得るものであり、それにより、現在のシナリオ及びその対応するアルゴリズムは、ユーザの現在のコンテクスト環境を良好に表し得る新しいシナリオを上回る優先度を有し得る。他のシナリオは、そのシナリオがユーザによって遭遇する最小のもの(例えば、1回または2回)であり得る点で低い優先度を有し得るものであり、低い優先度(例えば、低い粘着係数)を有するシナリオは、新しいシナリオと容易に交換され得る。したがって、複数のシナリオの複数のアルゴリズムのそれぞれ毎の粘着係数を定義し得る。
学習パターン、タグ、シナリオ、及びシナリオアルゴリズムの組み合わせは、ユーザのローカルAIモデル120を定義し得る。具体的には、ローカルAIモデルビルダー210’は、様々なシナリオ及び関連情報(例えば、学習パターンのセット、既定タグの対応するセット、複数のシナリオアルゴリズム等)に基づいて、ローカルAIモデルを構築するように構成され得る。そのように、図7Bに関してさらに説明されるように、自律パーソナルコンパニオン100は、ユーザ及び/またはユーザの環境に関連するデータをキャプチャし、ローカルAIモデル120に基づいて、対応するシナリオ及びシナリオアルゴリズムに一致し得る識別済タグを使用して当該キャプチャ済データをコンテクスト化するように構成され得る。ここで、一致アルゴリズムは、実行時、パーソナルコンパニオンによって行われるときに、キャプチャ済ユーザデータに対する応答を提供する結果(例えば、AIの外面的行動)を生成した。
図7Bは、本開示の一実施形態による、観察されたユーザ行動の識別された学習パターンに基づいてユーザのコンテクスト環境を判定し、観察されたユーザ行動に応答するために、コンテクスト環境に関する一致シナリオ及び対応するアルゴリズムを判定するように構成される、自律パーソナルコンパニオンのブロック図である。一実施形態では、図7Bに説明される機能及び特徴は、パーソナルコンパニオン100内に全体的に実装される。一実施形態では、図7Bに説明される機能及び特徴は、パーソナルコンパニオン、図1A及び図2のバックエンドサーバ140、またはその2つの組み合わせに実装され得る。具体的には、図7Bのコンポーネントは、ユーザのローカルAIモデルを使用してキャプチャ済ユーザデータに基づくユーザまたはユーザの環境のコンテクスチュアリゼーションと、キャプチャ済データに関する学習パターン及び関連タグの識別と、シナリオと識別済タグとの一致と、実施時、キャプチャ済データに応答する結果(例えば、AIの外面的行動)を生成するためにキャプチャ済データを使用した対応するシナリオアルゴリズムの実行とを開示する。そのように、対応するユーザのローカルAIモデルは、部分的に、特に、ユーザによって経験される、または動かされる所与の環境またはシナリオ内で、所与の入力のセット(例えば、キャプチャ済データ)に関するユーザの応答、アクション、行動、要求、及び/または必要性を予測し、結果としてAIの外面的行動を生成するコンテクスチュアリゼーションまたは予測に基づいて、アルゴリズムを実行することが可能であり、それにより、AIは、ユーザ行動のコンテクスチュアリゼーションに基づいて、サービスをユーザに提供する応答を提供する。
図示されるように、ユーザ入力データ701は、自律パーソナルコンパニオン100に入力される。例えば、下記に説明されるように、ユーザが監視されるとき、キャプチャ済データは、入力データの変化に基づいて継続的に更新される1つ以上のシナリオにコンテクスト化されることができるパーソナルコンパニオンに継続的に入力される。具体的には、入力データはパターン認識モジュール750によって受信され、パターン認識モジュール750は、入力データを分析し、入力データ内の学習されたユーザ行動のパターンを判定及び/または識別するように構成される。例えば、これらのパターンは、ディープラーニングエンジン190によって構築される事前に定義した学習パターンと同様であり得る。例えば、入力データの特徴は、事前に定義した複数の学習パターン706の事前に定義した学習パターンの特徴と同様であり得る。
識別パターンはタグ識別子モジュール755に配信される。識別パターンはタグを使用して分類される。すなわち、キャプチャ済データは、データの識別パターンに関するタグを使用して記述される。したがって、キャプチャ済データの組み合わせ、より具体的には、ユーザ及び/またはユーザの環境(例えば、ユーザのコンテクスト環境)を記述するタグの収集セット756が生成される。
タグ一致/コンパニオンエンジン760は、タグの収集セット756を受信し、タグを学習パターンのセット722に対応する既定タグの既定セット723と比較するように構成される。ストレージ304は、学習パターンのセット722及び既定タグのセット723を記憶するように構成され得る。具体的には、既定タグの各セットは、既定パターンまたは学習パターンの対応するセットを有する。したがって、タグコンパニオン/一致エンジン760は、キャプチャ済ユーザデータを、既定タグの一致セット761に対応する既定パターンまたは学習パターンの識別済セットに一致するように構成される。既定タグのセット及びその対応する学習パターンは、ユーザ行動のコンテクスチュアリゼーション(例えば、ユーザの行動、アクション、応答、要求、及び/または必要性の予測)を提供し得るシナリオを定義する。具体的には、タグの収集セットを複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較する。前述に説明したように、各シナリオはユーザ行動の1つ以上の既定パターンと、既定タグの対応するセットとに対応し、シナリオはディープラーニングによって定義され得る。加えて、既定タグのセットをタグの収集セットと比較するとき、重みは既定タグのセットのそれぞれに割り当てられ得る。各重みは、タグの収集セットと既定タグの対応するセットとの対応する一致品質を定義する。例えば、既定タグの複数のセットは、降順で重みに基づいてソートされ得る。入力データ701及びタグの収集セットに対する一致シナリオは選択され得るものであり、一致シナリオは最高の一致品質がある対応する重みを有するタグの一致セットに関連付けられる。一実施形態では、最良適合アルゴリズムは、識別済タグを既定タグの一致セットと一致させるために使用される。他の実施形態では、いずれかの技術は、タグを一致させるために使用され得る。
シナリオ及びシナリオアルゴリズム選択エンジン770は、既定タグ761の一致セットを受信するように構成される。学習パターンの各セット及び既定タグの対応するセットは、シナリオに対応する。前述に説明したように、各シナリオは、実行時、対応する自律パーソナルコンパニオンによって行われるときにキャプチャ済データに応答する結果を生成する対応するアルゴリズムを有する。例えば、結果はパーソナルコンパニオンによって実装されるAIの外面的行動であり得る。すなわち、キャプチャ済データに基づいてシナリオを識別することによって、ユーザのコンテクスト環境が判定され得るものであり、それにより、パーソナルコンパニオンによる適切な応答が行われ得る。具体的には、シナリオ/アルゴリズム選択エンジン770は、学習パターンの識別済セット及び既定タグの一致セット761を一致シナリオに一致させるように構成され、一致シナリオは対応する一致アルゴリズム771を有する。前述に説明したように、学習パターンのセット722は、既定タグのセットに対応し、既定タグのセットは複数のシナリオ721に対応し、複数のシナリオ721は複数のシナリオアルゴリズムに対応する。
図7Bに示されるように、一致アルゴリズム771は、実行エンジン780によって実行され、ユーザの行動を分類し得る結果781を生成する。結果は、部分的に、(例えば、ユーザによって動かされる、または遭遇する所与のシナリオを定義する)特定の入力のセット701を考慮する固有ユーザの応答、アクション、行動、要求、及び/または必要性の予測であり、予測に応答するAIによってサービスを提供し得る。結果は、ユーザのキャプチャ済データ701に対する応答791を提供するために、自律パーソナルコンパニオンのアクション実行エンジン790によって行われる。一実施形態では、図7Cにさらに説明されるように、結果は、一致アルゴリズムの実行によって選択される1つ以上のアクションを含む。そのように、パーソナルコンパニオンは、キャプチャ済データを、ユーザ行動の事前に定義した学習パターンに関連付けられるタグ、一致シナリオに関連付けられたタグの組み合わせに分類することによって、キャプチャ済ユーザデータ(例えば、ユーザ及び/またはユーザが位置する環境の音声データ及び視覚データ)をコンテクスト化するように構成される。ここで、ある入力データ(例えば、キャプチャ済情報)を考慮する一致シナリオに関連付けられたアルゴリズムの実行により、実施時、キャプチャ済入力データに応答する結果(例えば、パーソナルコンパニオンによって実装されるAIの外面的行動)を生成する。
図7Cは、本開示の一実施形態による、ユーザ入力データ701に応答して、一致シナリオの一致アルゴリズム771の実行を示す。一致アルゴリズム771は、所与のシナリオの入力データに応じて行われる複数の可能性があるアクション(a1、a2、a3…a−n)を含み得る。例えば、ユーザデータ701は一致アルゴリズム771に入力され、ユーザデータは第1のユーザに関連して収集される。一致アルゴリズム771は、一致シナリオに関連付けられる。例えば、前述の例で使用したシナリオは、午後7時頃に職場から帰宅するユーザに集中したものであり得る。
ユーザ入力データ701との一致アルゴリズム771の実行は、経路796によって示される1つ以上のアクションを選択し、経路796のアクションは結果781を定義する。例証として、経路796はアクションa11、a9、a15、a3、a19、a14、及びa22を含む。(例えば、一致アルゴリズムの実行によって判定される)経路796のアクションはユーザ入力データに基づいてユーザのコンテクスト環境に応答して行われる予定であり、コンテクスト環境は、ユーザが火曜日の午後7時に職場から帰宅する。経路796が連続的に結び付けられる及び/または行われる動作を示すが、他の実施形態は、連続経路または非連続経路でのアクションの選択(例えば、同時にアクションを行うこと)に適切である。
例証の目的のために、経路796のアクションは、ユーザとの通信を容易にするために、ユーザのより近くに移動し、ユーザとインタラクションを行いながらリラックス音楽を再生し、及び/またはデータを収集し、ユーザによってインタラクションを行うためのゲームアプリケーションを開始することとを含み得る。パーソナルコンパニオンは、火曜日はユーザが夜にゲームを行うことを学習している場合があり、したがって、アクションの1つはゲームアプリケーション(例えば、ユーザがインタラクションしている最後にプレイしたゲームアプリケーション)を開始する予定をしている。加えて、アクションは、開始する同じゲームアプリケーションをプレイする際に、友達のボビーが高スコアにちょうど達したことのユーザへの通知(例えば、ユーザとボビーとの間で行われる)を提供することを含み得るものであり、入力の1つは、高スコアを示すボビーからからのソーシャルネットワークデータの収集物及び伝送物であり得る。アクションの別の例証では、ボビーがマルチプレイヤーゲームアプリケーションをプレイ中であることの通知が提供され得るものであり、ユーザがマルチプレイヤーゲームアプリケーションをボビーと一緒にプレイしたいかどうかを質問するクエリがユーザに提示される(答えが「Yes」である場合、マルチプレイヤーゲームアプリケーションは開始する)。アクションのさらに別の例証では、ユーザが、ユーザの母親と一緒にビデオ会議を開始することを望むかどうかを質問するクエリがユーザに提示され得る。
経路796の少なくとも1つのアクションは、サービスをユーザに提供する自律パーソナルコンパニオンを移動させることを含む。経路796では、太字のアクションa3及びa22は、それぞれ、パーソナルコンパニオンの移動を含む。例えば、移動は、データを収集するために良好な位置にいるために、またはユーザと通信するために良好な位置にいるために、パーソナルコンパニオンをユーザのより近くに位置付けることを含み得る。他の場合、移動は、ユーザを追いかけることを含み得るものであり、それにより、ユーザが部屋または住宅または建物の全体を通って移動するとき、パーソナルコンパニオンは、また、ユーザと一緒に移動する。さらに他の場合、移動は、表示可能面(例えば、部屋の壁)の上への画像の投影を容易にする場所にパーソナルコンパニオンを位置付けることを含み得る。例えば、パーソナルコンパニオン自体が、壁上に画像を投影するための(マッピングによって事前に判定した)最良の場所に位置し得る。この場合、画像の移動及び投影は、経路796で行われる別個のアクションである。
図7Cは、また、ユーザ入力データ701’の別個のデータセットに基づいて、一致アルゴリズム771によって生成される異なる経路797を示す。具体的には、ユーザ入力データ701’との一致アルゴリズム771の実行は、経路797によって示される1つ以上のアクションを選択し、経路797のアクションは結果781’を定義する。例証として、経路797はアクションa11、a13、a3、a20、a19、a5、a14,及びa18を含む。経路797のアクションはユーザ入力データに基づいてユーザのコンテクスト環境に応答して行われる予定であり、コンテクスト環境は、ユーザが水曜日の午後7時に職場から帰宅する。
経路797は経路796と同様であり得るが、異なるアクションを含む。例えば、データ701’は同じユーザからのものであるが、異なる日のものであり得る。シナリオは同じであり得(例えば、ユーザが午後7時に職場から帰宅する)、したがって、同じ一致アルゴリズム771を実行する。しかしながら、異なる日、水曜日であるため、ユーザ入力701’は部分的にわずかに異なる。ユーザが毎週水曜日の午後7時にテレビ番組Xを見ることが判定されている場合があり、したがって、水曜に、パーソナルコンパニオンは、(例えば、別個のディスプレイ上で、またはコンパニオンに対してローカルにあるディスプレイ上で)その番組をプレイするアクションを起こす。したがって、アクションの1つとしてゲームアプリケーションを開始する代わりに、水曜日であるため、テレビ番組が開始する。
加えて、経路797の少なくとも1つのアクションは、サービスをユーザに提供する自律パーソナルコンパニオンを移動させることを含む。経路797では、太字のアクションa3は、前述に説明したそれらの移動等のパーソナルコンパニオンの移動を含む。
一実施形態では、一致アルゴリズム771は、異なるユーザの異なるパーソナルコンパニオンで使用される。例えば、同じ家庭では、それぞれ、サービスを提供する独自のパーソナルコンパニオンを有する2人のユーザが存在し得る。この場合、ロボット105の同じ本体は、2つの異なるパーソナルコンパニオンをサポートし得る。別の例では、相互から完全に分離した(例えば、実世界の異なる部分に位置する)2人のユーザが存在し得る。ユーザのそれぞれは、ユーザ自身のパーソナルコンパニオンを有する。これらの場合の両方では、シナリオは同様であり得る(例えば、午後7時に職場から帰宅する、またはちょうど職場から帰宅している)。したがって、一致アルゴリズム771はこれらのユーザの全てに等しく適用可能である。これらの場合、第2の経路797は、ユーザ入力データ701’に基づいて、第2のユーザのために行われるアクションを提供する。
ネットワークを通して通信する1つ以上のAIエンジンの様々なモジュールの詳細な説明により、図8のフロー図800は、本開示の一実施形態による、自律パーソナルコンパニオンによるサービスを、キャプチャ済データのコンテクスチュアリゼーションに応答するユーザに提供するために、ユーザ及び/またはユーザの環境に関連するキャプチャ済ユーザデータ(例えば、音声データ及び視覚データ)をコンテクスト化するための方法を開示する。例えば、コンテクスチュアリゼーションは、観察されたユーザ行動の識別された学習パターンに基づいて、一致シナリオ及び対応するアルゴリズムの判定を含む。前述に説明したように、フロー図800は、前述に説明した、及び/またはバックエンドサーバ140と組み合わせて、コンパニオン100内(例えば、AIエンジン190内)で実施され得る。
810において、本方法は、ユーザの行動に関連するデータをキャプチャする。より具体的には、キャプチャ済データは、ユーザ及び/またはユーザが位置する環境に関連するデータを含む。例えば、データは、ユーザ及び/または環境に関連するキャプチャ済みの音声及び視覚データを含み得る。一実施形態では、データはサービスをユーザに提供する自律パーソナルコンパニオンによってキャプチャされる。
820において、本方法は、データを分析し、複数の既定パターンまたは学習パターンに関連付けることができるデータ内のユーザ行動の1つ以上のパターンを識別する。すなわち、識別パターンは、1人のユーザを含む複数のユーザの監視されたデータに人工知能を使用して構築された事前に定義した学習パターンと同様であり得る。さらに、複数の既定の学習パターンのそれぞれは、対応する既定タグに関連付けられる。
より具体的には、ユーザのAIモデルは、部分的に、ユーザの行動、生体情報、アクション、感情、期待、所望、好み、要求、必要性等を予測することに適応される複数の既定パターンまたは学習パターンに基づいて構築され得る。例えば、ユーザの監視された行動に関連するデータにアクセスし、複数のユーザの監視された行動に関連するデータにアクセスすることによって、ローカルAIモデルを構築する。複数の既定パターンまたは学習パターンが判定され、既定パターンまたは学習パターンは、ユーザ行動のコンテクスチュアリゼーションを提供するシナリオを判定するとき等、1人のユーザ及び複数のユーザの監視された行動にAIを機能させることによって、ユーザの行動を予測するために使用されることができる。より具体的には、既定パターンまたは学習パターンは、ユーザのコンテクスト環境を定義するために使用され得るものであり、それにより、特に、ユーザによって経験される、または動かされる所与の環境またはシナリオ内で、所与の入力のセット(例えば、キャプチャ済データ)に関するユーザの応答、アクション、行動、要求、及び/または必要性の予測に基づいて判定され得る。結果として、ユーザのAIモデルは、ユーザに適合される既定パターンまたは学習パターンに基づいて構築され得る。
830において、識別パターンをタグの収集セットとして分類することを含み、収集セットのタグは1つ以上の識別パターンに関連付けられる。すなわち、キャプチャ済データの識別パターンはタグによって定義されることができ、またはタグに関連付けられることができる。ここで、各識別パターンは、その対応するタグで分類されることができる。一実施形態では、タグは識別パターンに基づいて生成される。すなわち、識別パターンは、そのパターンを記述するために使用されるタグが一般的に生成され得る様式で区分化される。他の実施形態では、タグのプールからのタグは識別パターンを定義するために使用され、タグのプールは人工知能を使用して構築される事前に定義した学習パターンに関連付けられる。したがって、前述に説明したように、識別パターンは、さらに、人工知能を使用して構築された学習パターンに関連して事前に生成されたタグによって定義される。
840において、本方法は、前述に説明したように、タグの収集セットを複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較することを含み、各シナリオは行動の1つ以上の既定パターンと、既定タグの対応するセットとに対応する。人工知能を使用して構築された既定パターンまたは学習パターンに基づいて、複数のシナリオを構築することができ、複数のシナリオは既定タグの複数のセットに関連付けられる。具体的には、各シナリオは既定パターンまたは学習パターンのセットによって定義され、既定パターンまたは学習パターンのセットは既定タグのセットに対応する。各シナリオは識別される対応するユーザ行動のコンテクスチュアリゼーションを提供し得る。
850において、本方法は、比較に基づいて、重みを既定タグのセットのそれぞれに割り当てることを含む。各重みは、タグの収集セットと既定タグの対応するセットとの対応する一致品質を定義する。例えば、重みは、タグの収集セットと、特定のシナリオに関連付けられる既定タグの対応するセットとの品質の一致を示すソート係数であり得る。したがって、860において、既定タグの複数のセットは、降順で対応する重みによってソートされ得る。870において、本方法は、最高の一致品質を有する対応する重みを有する既定タグの一致セットに関連付けられるタグの収集セットに関する一致シナリオを選択する。すなわち、860で前述に説明したように、結果として生じるシナリオは、シナリオ順序またはソートスコアに基づいて、疑似ランダムに選択される。
一致シナリオの一致アルゴリズムは、キャプチャ済データに応答するために使用されることができる対応するパーソナルコンパニオンによって実装されるAIの外面的行動を判定するためにキャプチャ済データを考慮して実行されることができる。例えば、一致シナリオの一致アルゴリズムに入力されるキャプチャ済データが提供され、一致アルゴリズムは、実施時、キャプチャ済ユーザ入力に基づいて、(例えば、一致シナリオに基づいて)ユーザの要求及び/または必要性の予測に応答する、結果(すなわち、AIの判定された行動)を生成するために実行される。具体的には、ユーザのローカルAIモデルは、ディープラーニングエンジンによって生成される複数のアルゴリズムを含み、各アルゴリズムは、ある入力データに基づいて識別及び/または一致されることができる対応するシナリオに関する応答を提供するために実行されることができる。すなわち、ユーザの任意の所与のコンテクスト環境に関して、ユーザのローカルAIモデルは、環境に関する適切な応答を判定することができる。具体的には、キャプチャ済ユーザデータは、タグを使用してキャプチャ済ユーザデータを分類することによって、タグをディープラーニングによって生成された事前に定義した学習パターンのタグに一致させることによって、キャプチャ済ユーザデータのコンテクスチュアリゼーションを提供する一致シナリオを判定することによって、コンテクスト化されることができる。一致シナリオに関する一致アルゴリズムは、コンテクスチュアリゼーションに対する適切な応答を提供する。例えば、入力データは、午後7時の時刻に、ユーザが職場から帰宅する、ユーザがカウチに座る等の、タグを使用してユーザコンテクストを判定するために分析され得るものであり、次にユーザが部屋を通してブロードキャストされるリラックス音楽を望むことを示す結果を提供する。加えて、ユーザデータは、ユーザが常に午後7時に職場から帰宅し、所望のリラックス音楽を判定すること等、ユーザ行動のパターンを判定するために分析され得る。
さらに、本方法は、キャプチャ済データに応答して、結果(例えば、パーソナルコンパニオンによって実装されるAIの外面的行動)に基づいて、1つ以上のアクションを行うことを含む。例えば、アクションは、一致アルゴリズムの実行によって選択される。上記に提供した例を使用して、結果は、一般的にユーザが帰宅したとき1日の終わりに所望のリラックス音楽を望んだことを示す。したがって、自律パーソナルコンパニオンによって行われるために必要なアクションは、それ自体の音声スピーカによって、リラックスするいくつかのデジタルコンテンツ(例えば、音楽、音楽ビデオ、メディエーティングバックグラウンドミュージック等)をブロードキャストする。追加アクションは、また、結果をサポートして行われ得る。例えば、リラックスを促進することが知られている光のパターンは、パーソナルコンパニオンから、壁上に、またはユーザの一般環境に投影され得る。また、光のパターンはパーソナルコンパニオン上に表示され得る。
少なくとも1つのアクションは、自律パーソナルコンパニオンを移動させることを含む。例証目的だけのために事前に説明したように、移動は、データを収集するために良好な位置にいるために、またはユーザと通信するために良好な位置にいるために、パーソナルコンパニオンをユーザのより近くに位置付けることと、ユーザが部屋または住宅または建物の全体を通って移動するとき、パーソナルコンパニオンもまた、ユーザと一緒に移動するように、ユーザを追いかけることと、表示可能面(例えば、部屋の壁)の上への画像の投影を容易にする場所にパーソナルコンパニオンを位置付けること等を含み得る。
要するに、本開示の複数の実施形態は、ユーザの行動及び/またはユーザの環境に関するキャプチャ済ユーザデータ(例えば、音声データ及び視覚データ)のコンテクスチュアリゼーションを提供する。コンテクスチュアリゼーションは、タグを使用してキャプチャ済ユーザデータを分類することによって、タグをディープラーニングによって生成された事前に定義した学習パターンのタグに一致させることによって判定される。すなわち、コンテクスチュアリゼーションを提供する一致シナリオは、一致タグの組み合わせに基づいて判定されることができ、一致シナリオは対応するアルゴリズムを有する。入力されるキャプチャ済データを考慮する一致アルゴリズムの実行により、実施時、キャプチャ済ユーザデータに応答する結果(例えば、パーソナルコンパニオンによって実装されるAIの外面的行動)を生成する。
一実施形態では、現在のシナリオがアクティブである間、シナリオ変化が判定される。具体的には、図8に略述されるシナリオ選択プロセスは連続的に動作する。例えば、本方法は、継続してデータを収集する。そのように、コンテクストの変化は、更新された収集タグ(例えば、更新されたタグの収集セット)に基づいて判定されることができる。本方法は、前述に紹介した、更新されたタグの収集セットを複数のシナリオに関連付けられる既定タグの複数のセットのそれぞれと比較する。更新された重みは、比較に基づいて、既定タグのセットのそれぞれに割り当てられる。既定タグの複数のセットを降順で対応する更新された重みによってソートされる。本方法は、最高の一致品質がある対応する更新された重みを有する更新された既定タグの一致セットに関連付けられる更新されたタグの収集セットに対する更新された一致シナリオを選択する。すなわち、新しいシナリオスコアが現在のシナリオスコアよりも大きくなるとすぐに、シナリオスイッチは実行される。加えて、「粘着」要因は、粘着係数が現在のシナリオが優先度を有することを示すときに、新しいシナリオスコアがより大きくなる場合でさえ、現在のシナリオスコアがそのシナリオのままであり得るように考慮され得る。例えば、粘着係数は、現在のシナリオの重みを高くし得る、または現在のシナリオの期限が切れ得る前に一定期間を提供し得る。
具体的には、シナリオが変化すると、ユーザ入力は継続的に変化する。すなわち、ユーザのコンテクストが継続的に変化し、したがって、コンテクストを定義する関連シナリオは継続的に更新する。本開示の実施形態は、ターゲット(例えば、ユーザ)と、タグへのキャプチャ済データ(例えば、視覚データ及び音声データ)の変化するコンテクスチュアリゼーションとに基づいて、シナリオアルゴリズムを動的に切り替えることを提供する。例えば、キャプチャ済データは継続して収集される。更新される収集タグに基づいてコンテクストの変化を判定し得る。例えば、第1のタグが概して第2のタグ関連付けられるが第3のタグに関連付けられないように、タグは概して一緒にグループ化され得る。タグは、コンテクストの変化が発生していた、または発生中であることが判定され得る一般的な関連性から一緒にグループ化され得る。加えて、タグのグループ化は、コンテクストの変化に関連付けられている人工知能によって学習され得る。前述に説明した収集タグは、一致シナリオに対応するタグの第1の収集サブセットに分けられ得る。加えて、収集タグの残りは、タグの第2の収集サブセットとして定義され得る。
タグの第2の収集サブセットは、別のコンテクスト及び/または別のシナリオに関連付けられ得る。具体的には、タグの第2の収集サブセットは、既定タグの複数のセットと比較される。加えて、タグの第2の収集サブセットは、比較に基づいて、既定タグの第2の一致セットに一致され、既定タグの第2の一致セットは第2の一致シナリオに対応する。第2の一致シナリオは、第2の一致アルゴリズムに関連付けられる。
さらに、実行に関するアルゴリズムは、一致アルゴリズムから、第2の一致シナリオに対応する第2の一致アルゴリズムに切り替えられ得る。また、キャプチャ済データ、またはタグの第2の収集サブセットに対応するキャプチャ済データのサブセットは、第2の結果を生成するために第2の一致アルゴリズムに入力され得る。ユーザの自律パーソナルコンパニオンは、キャプチャ済データに応答する、またはタグの第2の収集サブセットに対応するキャプチャ済データのサブセットに応答する第2の結果に基づいて、第2のアクションを行い得る。
一実施形態では、入力データは、収集タグの少なくとも1つに基づいて分類され得る。具体的には、キャプチャ済入力データは、音声データであり得る。音声データは、コマンドスピーチ、バックグランドシナリオスピーチ、及び会話スピーチのうちの1つとして分類され得る。分類に応じて、応答は、分類に合わせて調整され得る。例えば、音声データがコマンドタイプのスピーチとして分類される場合、自律パーソナルコンパニオンからの応答は特定のコマンドを反映し得る。例えば、コマンドスピーチが、誰が昨晩のゲームに勝ったかを質問するクエリに関連する場合(例えば、前述に紹介した例)、適切な応答はクエリに対する答えになるだろう。加えて、音声データが会話スピーチとして分類される場合、適切な応答は、(例えば、認識された話題を継続するための)追加の会話スピーチであろう。また、音声データがバックグランドスピーチとして分類される場合、適切な応答ではない場合があり、そのとき、アクティブ応答を要求する適切なコンテクストが判定されるまで、パーソナルコンパニオンがユーザデータを監視することを継続する。
さらに別の実施形態では、キャプチャ済入力データは、少なくとも1つの収集タグに基づいて、ユーザの感情状態(例えば、嬉しい、悲しい、錯乱、静観等)を定義するシナリオに一致され得る。判定された感情状態に基づいて、適切な応答が提供され得る。例えば、治療応答はユーザに自律パーソナルコンパニオンによって提供され得る。例えば、ユーザが感情として悲しいことが判定される場合、パーソナルコンパニオンは、ユーザを元気づけることが分かっている音声(例えば、音楽)及び照明を提供し得る。音声は、(例えば、超音波、超低周波、可聴音等を含む様々な周波数において)任意の形式を使用して伝送され得る。別の例では、応答は、パーソナルコンパニオンが、ユーザが特に楽しむ短いビデオカットを表示することであり得るものであり、それによって、ユーザに幸福感を提供する。さらに別の実施形態では、応答は、ユーザを元気づける方法でパーソナルコンパニオンをアニメ化するためのものであり得る。例えば、パーソナルコンパニオンは、照明、移動、音等によるユーモアのある様式で、照明のパターンまたは行為を表し得る。すなわち、ユーザを元気づけることが意図される照明のパターンは、また、ユーザを元気づけることが意図される様式で、パーソナルコンパニオンをアニメ化するために、一連の移動に変換され得る。そのように、パーソナルコンパニオンは、ユーザに影響を及ぼし得るものであり、一例では、ユーザの感情状態が悲しいから嬉しいに変化することを助ける。
一実施形態では、自律パーソナルコンパニオンは、教示または指導の様々な形式を提供し得るように構成される。例えば、パーソナルコンパニオンは、数学的指導を提供するように構成され得るものであり、指導セッション(例えば、ユーザが問題を勉強する、ユーザが質問を明らかにするために尋ねる、ユーザが概念の理解を示す、ユーザが概念を理解していないことを示すこと等)に関連付けられるキャプチャ済ユーザデータに応答としてアクションを行う。1つの例証では、パーソナルコンパニオンは、ピアノレッスンまたはギターレッスン等の音楽を教えるように構成され得る。したがって、パーソナルコンパニオンは、同様に、人間のインストラクターによって提供されるアクション及び教示を行い得る。
別の実施形態では、一致シナリオは、収集タグの少なくとも1つに基づいて、ユーザの脅威レベルを分類するために使用され得る。言い換えれば、脅威レベルは、ユーザの所与のコンテクスト環境の自律パーソナルコンパニオンによる応答に対して、ユーザがどのように受け入れるかを定義する。例えば、脅威レベルが、ユーザがとても受け入れやすいことを示す場合、パーソナルコンパニオンは、判定済シナリオに関するアクションを行い得る。他方では、脅威レベルが、ユーザがあまり受け入れられないこと(例えば、仕事が忙しい、映画上映時間に間に合わせるために住居から外出するために急ぐ、怒っている等)を示す場合、パーソナルコンパニオンは、判定済シナリオに関するアクションを行わない場合がある。他の中間の脅威レベルは、自律パーソナルコンパニオンによって行われる修正されるアクションに関連付けられ得る。
したがって、様々な実施形態では、本開示は、タグを使用してキャプチャ済ユーザデータを分類することによって、タグをディープラーニングによって生成された事前に定義した学習パターンのタグに一致させることによって、ユーザ及び/またはユーザの環境に関するキャプチャ済ユーザデータのコンテクスチュアリゼーションのシステム及び方法を説明する。ここで、一致シナリオは、一致タグの組み合わせに基づいて判定されることができ、一致シナリオは対応するアルゴリズムを有し、入力されるキャプチャ済データを考慮する一致アルゴリズムの実行により、実施時、キャプチャ済ユーザデータに応答する結果を生成する。
本明細書に定義される様々な実施形態は、本明細書に開示される様々な特徴を使用して、特定の実施態様に組み合わされ得る、または組み立てられ得ることを理解されたい。したがって、提供される例は、単なるいくつかの可能である例であり、より多くの実施態様を定義する様々な要素を組み合わせることによって可能である様々な実施態様に限定されない。いくつかの例では、いくつかの実施態様は、開示されるまたは同等の実施態様の主旨から逸脱することなく、より少ない要素を含み得る。
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベース電子機器またはプログラム可能家庭用電子機器、ミニコンピュータ、メーンフレームコンピュータ等を含む様々なコンピュータシステム構成で実践され得る。本開示の実施形態は、また、タスクが有線ベースネットワークまたは無線ネットワークを経由してリンクされるリモート処理デバイスによって行われる分散コンピューティング環境で実践されることができる。
上記の実施形態を留意して、本開示の実施形態が、コンピュータシステム内に記憶されるデータを含む様々なコンピュータ実施動作を使用することができることを理解されたい。これらの動作は、物理量の物理的処置を要求するものである。本開示の実施形態の一部を形成する本明細書に説明される動作のいずれかは、有用な機械動作である。本開示の実施形態は、また、これらの動作を行うためのデバイスまたは装置に関する。本装置は要求された目的のために特別に構成されることができる、または、本装置はコンピュータ内に記憶されるコンピュータプログラムによって選択的にアクティブになる、または構成される汎用コンピュータであり得る。具体的には、様々な汎用マシンは、本明細書の教示に従って書き込まれたコンピュータプログラムで使用されることができる、または、様々な汎用マシンは、より特殊な装置を構成し、要求動作を行うにあたって更に便利である。
本開示は、また、コンピュータ可読媒体上のコンピュータ可読コードとして、具体化されることができる。コンピュータ可読媒体は、データを記憶することができる任意のデータストレージデバイスであり、当該データは、その後、コンピュータシステムによって読み取られることができる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、読取専用メモリ、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープ、ならびに他の光学データストレージデバイス及び非光学データストレージデバイスを含む。コンピュータ可読媒体は、ネットワーク連結コンピュータシステムを通して分散されるコンピュータ可読有形媒体を含み得るものであり、これにより、コンピュータ可読コードは、分散様式で記憶及び実行される。
本方法の動作が特定の順序で説明されたが、オーバーレイ動作の処理が所望の方法で行われる限り、他のハウスキーピング動作は動作間に行われ得る、または動作は、わずかに異なる時間で発生するように調節され得る、もしくは、処理に関連付けられる様々な間隔における処理動作の発生を可能にするシステム内で分散され得ることを理解されたい。
理解の明確性の目的のために、前述の開示がいくつか詳細に説明されているが、ある変更及び修正が添付の「特許請求の範囲」の範囲内で実践できることが明白である。したがって、本実施形態は、例証であり制限するものではないとして考慮され、本開示の実施形態は、本明細書に与えられた詳細に限定されないが、添付の「特許請求の範囲」の範囲内及びその均等物の範囲内で修正され得る。