コンピュータ拡張環境は、物理的空間および/または仮想空間を強化するための情報をセンサが収集する環境を含み得る。物理的空間、仮想空間、または複合空間における人間のインタラクションが、ユーザの体験を拡張するように設計された、機械により生成される情報を介して強化され得る。例として、コンピュータ拡張環境は、物理的空間から獲得されるセンサデータに基づき現実と仮想との複合環境およびヒューマンマシンインタラクションがコンピュータ技術により生成される、拡大現実(XR:extended reality)を含み得る。拡大現実は、例として、拡張現実(AR:augmented reality)、拡張仮想(AV:augmented virtuality)、仮想現実(VR:virtual reality)、複合現実(MR:mixed reality)を含み得る。コンピュータ拡張環境は、物理的空間、仮想空間、または両方における変化に基づく情報を生成するために、リアルタイムデータの獲得および処理に依拠することもある。他の例では、コミュータ拡張環境は、ドローン、自動運転車、コンベアベルトなどの他のシステムにアクセスすることも、またはそれを含むこともある。
コンピュータ拡張環境は、環境についての豊富な情報ソースを提供するセンサから情報を導出してもよい。コンピュータ拡張環境は、環境の現在または過去の状態に基づきユーザに情報を提供し得るが、考えられる将来の状態に基づくフィードバックの提供は不十分である。さらに、既存のシステムは、ユーザの誤りにつながる反復挙動を効率的且つ正確に特定できない。コンピュータ拡張センサデータの大量のデータおよび高い処理要求は、コンピュータ拡張環境のユーザに対してインタラクティブなコンテンツを流動的に生成および表示する妨げとなるかもしれない。
本願明細書に記載されるシステムおよび方法は、コンピュータ拡張環境および関係するシステムに対する技術的進歩をもたらす。前置きの例として、学習プラットフォームは、履歴センサデータから導出されたイベントを受信してもよい。イベントは、コンピュータ拡張環境のユーザのユーザトークンに関連してもよい。一部の例において、履歴センサデータは、コンピュータ拡張環境により生成されてもよい。学習プラットフォームは、イベントに基づき反復イベント記録を生成してもよい。反復イベント記録のそれぞれは、ユーザトークンのうちの少なくとも1つに関連してもよい。反復イベント記録は、発生頻度メトリクスを含んでもよい。発生頻度メトリクスのそれぞれは、コンピュータ拡張環境内のセンサにより捕捉された反復されるアクションの発生の数を示してもよい。学習プラットフォームは、クラスタリングフレームワークに基づき、反復イベント記録を反復イベントクラスタへとクラスタリングしてもよい。反復イベントクラスタは、反復イベント記録の個々のグループを含んでもよい。学習プラットフォームは、反復イベントクラスタに対するフィルタ範囲を決定してもよい。フィルタ範囲は、反復イベントクラスタのそれぞれに対する別々の数値範囲を含んでもよい。学習プラットフォームは、フィルタ範囲のうちの少なくとも1つを示す2値シーケンスを生成する命令を含む2値化フィルタを生成してもよい。学習プラットフォームは、反復イベント記録にそれぞれ対応する2値シーケンスを生成するために2値化フィルタを実行してもよい。学習プラットフォームは、2値シーケンスに基づき予測モデルを訓練してもよい。予測モデルは、2値シーケンスのうちの少なくとも1つに基づき後のイベントを特定するように構成されてもよい。学習プラットフォームは、2値化フィルタおよび予測モデルを、コンピュータ拡張環境と通信しているリアルタイムプラットフォームに展開してもよい。
本願明細書に記載されるシステムおよび方法の別の例において、リアルタイムプラットフォームは、2値化フィルタおよび予測モデルを含む展開パラメータを受信してもよい。2値化フィルタは、フィルタ範囲を含んでもよく、予測モデルは、2値シーケンスと後のイベントとの間の関連付けに基づき訓練されてもよい。リアルタイムプラットフォームは、コンピュータ拡張環境により生成されるリアルタイムセンサデータを受信してもよい。リアルタイムプラットフォームは、リアルタイムセンサデータに基づき反復イベント記録を判断してもよい。反復イベント記録は、発生頻度メトリクスを含んでもよい。発生頻度メトリクスは、リアルタイムセンサデータから導出されたイベントの反復回数を表し得る。リアルタイムプラットフォームは、2値化フィルタおよび発生頻度メトリクスに基づき、発生頻度メトリクスがフィルタ範囲のうちの少なくとも1つに含まれることを示す2値シーケンスを生成してもよい。リアルタイムプラットフォームは、後のイベントのうちの少なくとも1つが2値シーケンスに関連すると、予測モデルおよび2値シーケンスに基づき判断してもよい。リアルタイムプラットフォームは、後のイベントのうちの少なくとも1つに関連するアクションメッセージを特定してもよい。リアルタイムプラットフォームは、後のイベントのうちの少なくとも1つが発生する前に、コンピュータ拡張環境にアクションメッセージを表示させてもよい。
本願明細書に記載されるシステムおよび方法により提供される技術的進歩の例は、システムが、反復イベント頻度を、複数のユーザからデータを収集することから生じる多峰分布に集約し得るということであろう。2値化フィルタは、多モデル分布のうちの少なくとも1つを表す2値シーケンス特徴を生成してもよい。したがって、2値シーケンス特徴は、イベントが発生したかどうか、およびそれが発生した(すなわち範囲内にある)回数を示すことにより、高粒度である。システムは、2値シーケンス特徴に基づき、将来のイベント(例えば有害または危険なユーザ挙動)を訓練および/または推論してもよい。システムは、将来のイベントが発生する前に、コンピュータ拡張環境にフィードバックをユーザに対して表示または提供させてもよい。
本願明細書に記載されるシステムおよび方法によって提供されるもう1つの技術的進歩は、学習プラットフォームが、改良された2値化フィルタおよび予測モデルを展開および更新し得るということであろう。例として、学習プラットフォームは、複数のコンピュータ拡張環境により生成されたセンサデータおよび/またはイベントデータに基づき、2値化モデルおよび予測モデルを強化してもよい。学習プラットフォームは、2値化フィルタを改良して、予測モデルを再訓練してもよい。学習プラットフォームは、コンピュータ拡張環境またはリアルタイムプラットフォームに関連性のあるユーザおよび/またはイベントタイプに基づき、2値化フィルタおよび予測モデルの特定のセットを適応させてもよい。したがって、学習プラットフォームは、特定のリアルタイムプラットフォームに対して選択的に選ばれ得る2値化フィルタおよび予測モデルのライブラリを提供してもよい。本願明細書に記載のシステムおよび方法における、追加の、または代わりの技術的進歩が明らかにされる。
図1は、リアルタイムフィードバックシステム100の例を示す。システム100は、拡大現実データから洞察およびアクションを生成してもよい。システム100は、獲得されたデータに基づき特徴を導出してもよい。特徴は、複数の解析モデルに入力されてもよい。例として、解析モデルは、特徴に基づき訓練されてもよい。システム100は、訓練されたモデルにアクセスしてライブストリームから予測を生成し、フィードバックをユーザにリアルタイムで伝達してもよい。システム100は、現在および将来のユーザのパフォーマンスを改善するために過去のユーザから学習してもよい。
システム100は、リアルタイムプラットフォーム102、学習プラットフォーム104、および/またはコンピュータ拡張環境106を含んでもよい。リアルタイムプラットフォーム102は、コンピュータ拡張環境106が発するリアルタイムセンサデータおよび/または生のイベントを受信してもよい。リアルタイムプラットフォーム102は、コンピュータ拡張環境106に対するアクションフィードバックを生成してもよい。アクションフィードバックは、予測されるユーザアクションを示してもよい。例として、アクションフィードバックは、表示デバイス、スピーカ、物理的なフィードバックを提供するアクチュエータ、または視覚的、物理的もしくは可聴のフィードバックにより情報を伝える他の何らかのデバイスなど、1つ以上のデバイスを介してユーザに伝達される情報を含んでもよい。一例において、アクションフィードバックは、1つ以上のイベントを予測するのに応答して生成されるメッセージを含んでもよい。別の例において、アクションフィードバックは、ハプティックアクチュエータなど、ユーザに物理的感覚を感じさせるアクチュエータをアクティブ化するための命令を含んでもよい。
リアルタイムプラットフォーム102は、1つ以上のタイムスパンにわたってコンピュータ拡張環境106からイベントを導出してもよい。イベントは、特徴選択によりフィルタリングされ、訓練された予測モデルに入力として適用されてもよい。イベント削減は、最も予測に重要な特徴を維持するため、および/または計算時間を削減するために、相関調査を利用してもよい。訓練された予測モデルは、選択されたイベントを、将来のイベント(つまりユーザの将来のアクション)を推論するための入力として利用してもよい。これらの予測されるイベント、またはイベントにマッピングされたメッセージは、コンピュータ拡張環境106に返されてもよく、そこで推奨、警告、または指針がユーザにリアルタイムで提供されてもよい。
学習プラットフォーム104は、リアルタイムプラットフォーム102のためのモデル、論理、セッティング、およびその他パラメータを訓練および/または生成してもよい。例として、学習プラットフォーム104は、リアルタイムプラットフォーム102(またはリアルタイムプラットフォームの複数のインスタンス)を展開および/または設定してもよい。学習プラットフォーム104は、設定パラメータをリアルタイムプラットフォーム102に伝達する。設定パラメータは、センサデータの分析、イベントの予測、アクションフィードバックの生成、イベントの削減、処理時間の改善、および/または本願明細書において意図される他の動作の実行をするためにリアルタイムプラットフォーム102がアクセス可能な、モデル、論理、セッティング、およびその他情報を含んでもよい。設定パラメータは、特定のコンピュータ拡張環境、XRシナリオ、および/またはコンピュータ拡張環境106のユーザに適応させられてもよい。あるいは、またはさらに、設定パラメータは、処理速度、メモリ使用量、スループット、レイテンシ、およびその他パフォーマンス測定値の点でリアルタイムプラットフォーム102のパフォーマンスを向上させるように適応させられてもよい。
一部の例において、設定パラメータは、特徴モデル(単数または複数)、予測モデル(単数または複数)、フィルタ基準(単数または複数)、アクションマッピング(単数または複数)のうちの1つ以上を含んでもよい。概して、特徴モデルは、センサデータ、および/または生のイベント情報に基づきイベントを導出するように訓練されてもよい。予測モデルは、導出されたイベント、生のイベントおよび/またはセンサデータに基づきイベントを予測してもよい。アクションマッピングは、予測されるイベントを、アクションフィードバックに含めるメッセージにマッピングしてもよい。フィルタ基準は、情報がどのようにリアルタイムプラットフォーム102内へ、その中を、およびその外へ流れるかを制御するための、リアルタイムプラットフォーム102が応じる情報を含んでもよい。あるいは、またはさらに、フィルタ基準は、リアルタイムプラットフォームにより導出または予測されるいくつかのイベントを削減してもよい。例として、リアルタイムプラットフォーム102は、評価されるべき情報および無視されるべき情報を、リアルタイムプラットフォーム102の様々な段階を通してフィルタ基準に基づき選択してもよい。特徴モデル、予測モデル、アクションマッピング、およびフィルタ基準については、図2~図5を参照して後述される。
学習プラットフォーム104は、コンピュータ拡張環境106および/またはリアルタイムプラットフォーム102により生成されるセンサデータおよび/または生のイベントを受信してもよい。一部の例において、リアルタイムプラットフォーム102は、学習プラットフォーム104に準拠した所定のフォーマットにセンサデータをフォーマットし直してもよい。例として、所定のフォーマットは、データ構造の定義、または(例としてAPIコールを介して)学習プラットフォーム104によって構文解析可能な他の何らかの構造を含んでもよい。動作中、複数のリアルタイムプラットフォームが、情報を学習プラットフォーム104に転送してもよい。学習プラットフォーム104は、データを集約して、リアルタイムプラットフォーム102によりアクセスされるモデル、論理、およびその他パラメータを改良してもよい。したがって、リアルタイムプラットフォーム102の改良および改善は、オフラインで、且つ一部の例においてはリアルタイムプラットフォーム102の動作と同時に発生してもよい。
コンピュータ拡張環境106は、拡大現実を提供してもよい。拡大現実は、例として、拡張現実(AR)、拡張仮想(AV)、および/または仮想現実(VR)を含んでもよい。コンピュータ拡張環境106は、1つ以上の表示デバイス108、オーディオデバイス110、センサ112、および/またはアクチュエータ114を含んでもよい。表示デバイス108は、例として、視覚情報をその着用者に表示するヘッドセットを含んでもよい。あるいは、またはさらに、表示デバイスは、視覚コンテンツを受信および表示するように構成されたハードウェアまたはインターフェースを含んでもよい。オーディオデバイスは、オーディオ情報に基づく可聴音を放つように構成された再生ハードウェアを含んでもよい。アクチュエータデバイスは、ハプティックフィードバックなどの物理的フィードバックをユーザに提供してもよい。センサは、物理的特性を検出および/または測定するデバイスを含んでもよい。センサは、例として、ハプティックセンサ、バイオメトリックセンサ、マイクロフォン、カメラ、モーションセンサ、ジャイロスコープ、またはその他物理的空間もしくはユーザの特性を検出する任意のデバイスを含んでもよい。ハプティックセンサは、例として、ユーザにより表面に加えられる力の量を測定する触覚センサを含んでもよい。バイオメトリックセンサは、例として、ユーザに固有であるユーザの物理的特質または状態を検出するセンサを含んでもよい。
一部の例において、コンピュータ拡張環境106は、センサ情報(またはその他情報)に基づき生のイベントを判断し、コンピュータ拡張環境のデバイスとインタラクションするためのアプリケーションプログラミングインターフェースを提供し、且つ/またはセンサデータもしくは生のイベントを伝達するデバイスを含んでもよい。コンピュータ拡張環境106は、APACHE Kafkaまたはその他何らかの適切なメッセージングサービスなどの通信プロトコルを用いて確立された1つ以上のセッションに基づき情報をストリーミングするデバイスを含んでもよい。リアルタイムプラットフォームおよび/または学習プラットフォーム104は、コンピュータ拡張環境106、またはコンピュータ拡張環境106に含まれるデバイスから情報を受信してもよい。
本願明細書に記載されるように、センサデータは、センサにより受信される情報および/またはセンサにより提供される信号から導出される情報を指し得る。例として、センサデータは、物理的特性または物理的変化の測定値を含んでもよい。一部の例において、センサデータは、動きデータを含んでもよい。あるいは、またはさらに、センサデータは、人間の身体部分または物理的空間内のオブジェクトなど、物理的オブジェクトの位置を含んでもよい。あるいは、またはさらに、センサデータは、オーディオおよびビデオ情報を含んでもよい。一部の例において、センサデータは、例えば心拍数、瞳孔散大など、ユーザの生体反応を含んでもよい。
本願明細書に記載されるとき、イベントとは、センサデータまたは他のイベントから導出された特徴を指す。イベントは、センサデータまたはイベントの分類またはグループ化を表し得る。あるいは、またはさらに、イベントは、センサデータまたはイベントのシーケンス、パターン、タイミングまたは変化を表し得る。他の例において、イベントは、基準、ルール、または論理に基づく、或るプロセスの中の条件またはステップの充足を含み得る。
本願明細書の説明の全体にわたって、イベントは、生のイベント、導出されたイベント、および/または予測されるイベントと限定され得る。生のイベントは、リアルタイムプラットフォーム102および/または学習プラットフォーム104の外で、センサデータから導出されたイベントを含んでもよい。例として、コンピュータ拡張環境106またはその他何らかのシステムが、生のイベントを生成し得る。導出されたイベントは、センサデータ、生のイベント、導出された他のイベント、および/または他の情報に基づき導出されたイベントを含んでもよい。例として、導出されたイベントは、様々なモデル、統計的分析、機械学習、またはその他分析を使用してリアルタイムプラットフォーム102および/または学習プラットフォーム104により導出されたイベントを含んでもよい。予測されるイベントは、1つ以上の導出されたイベント、生のイベント、および/またはセンサデータに基づき予想されるイベントを含んでもよい。
図2は、学習プラットフォーム104の例を示す。学習プラットフォーム104は、リアルタイムプラットフォーム102のためのモデル、論理、セッティング、およびその他パラメータを生成してもよい。例として、学習プラットフォーム104は、リアルタイムプラットフォーム102にセンサデータからのイベントの導出、イベントの予測、および/またはコンピュータ拡張環境106に対するアクションフィードバックの生成をさせる設定パラメータを、リアルタイムプラットフォーム102に提供してもよい。学習プラットフォーム104は、リアルタイムプラットフォーム102またはそのコンポーネントの生成、展開、および/または設定を促進してもよい。
学習プラットフォーム104は、1つ以上のコンピュータ拡張環境106からセンサデータおよび/または生のイベントを受信してもよい。あるいは、またはさらに、1つ以上のリアルタイムプラットフォームが、コンピュータ拡張環境106からの情報を学習プラットフォーム104に転送するように構成されてもよい。例として、コンピュータ拡張環境106および/またはリアルタイムプラットフォーム102において構成された専用クライアントが、データを消費して、データを学習プラットフォーム104にプッシュしてもよい。
学習プラットフォーム104は、履歴データベース202を含んでもよい。履歴データベース202は、電子的に格納およびアクセスされるデータの編成されたセットを含んでもよい。履歴データベース202は、センサデータ、生のイベント情報、またはその他コンピュータ拡張環境106および/もしくはリアルタイムプラットフォーム102が発する情報を格納してもよい。履歴データベース202に格納された情報は、リアルタイムプラットフォーム102がリアルタイムでセンサデータを処理する間、一括して学習プラットフォーム104によりアクセスされてもよい。
学習プラットフォーム104は、設定データベース204を含んでもよい。設定データベース204は、電子的に格納およびアクセスされるデータの編成されたセットを含んでもよい。設定データベース204は、リアルタイムプラットフォーム102(またはリアルタイムプラットフォームの複数の展開)のために生成または更新されたモデル、論理、および/またはパラメータを含んでもよい。設定データベース204は、様々なタイプのコンピュータ拡張環境、リアルタイムプラットフォームのタイプ、ユーザ識別子、アカウント識別子などに関連する情報のリポジトリを含んでもよい。学習プラットフォーム104は、リアルタイムプラットフォーム102またはそのコンポーネントを生成、展開、および/または設定するとき、設定データベース204の情報にアクセスしてもよい。
学習プラットフォーム104は、特徴コントローラ206を含んでもよい。特徴コントローラ206は、履歴データベース202の履歴データにアクセスしてもよい。特徴コントローラ206は、情報を特徴訓練セットに編成してもよい。特徴訓練セットは、入力される特徴と出力される特徴との間のマッピングを含んでもよい。例として、特徴訓練モデルは、センサデータとイベントデータとを関連付けてもよい。マッピングは、人間または機械により生成されてもよい。時間が経つにつれて、マッピングが更新されて、特徴訓練セットにより生成される特徴モデルの精度および信頼度が改善されてもよい。
特徴モデルは、特徴抽出を実行するために構成された条件、統計モデル、および/または論理を含んでもよい。例として、特徴モデルは、教師あり学習に基づく学習または推論された関数を含んでもよい。特徴モデルの例には、ルールベース方式、幾何学的方法、または単純計数法が含まれ得る。動作中、特徴モデルは、入力されたセンサデータおよび/または生のイベントに基づきイベントを導出するためにアクセスされてもよい。イベントは、ユーザの挙動を簡潔に記述するために生成される。
例として、イベントは、ユーザの焦点を捕捉または定量化してもよい。例として、イベントは、関心対象のオブジェクトを見ていること(または見ていないこと)の発生(またはそのいくつかの一致)を含んでもよい含んでもよい。そのようなイベントを導出するために、関心対象のオブジェクトのリストが、それらの座標とともに入力(生のイベント)として特徴モデルに与えられ、ユーザの視界がセンサデータからフレームごとに抽出される(つまりVR/ARヘッドセット)。これら2つのソースを組み合わせることで、フレームごとに、関心対象のオブジェクトがユーザの視界の中にあるか否かを示すことができる。
イベントの別の例は、適用できない制御を使用しようと試行すること、つまり、なにも把持していない間にトリガボタンを押下すること、または近くにないものをつかもうとすることである。導出されたこのイベントについては、センサデータのみが分析される。
一部の例において、特徴モデルおよび/または特徴訓練セットは、特定のコンピュータ拡張環境、センサデータのタイプおよび/またはイベントのクラス向けに適応させられてもよい。例として、学習プラットフォーム104により受信されるセンサデータは、センサデータタイプに関連してもよい。センサデータタイプは、センサのタイプ、センサの位置、またはセンサにより受信される情報のタイプ(例えば手に取り付けられたセンサから獲得される動きデータ)を示してもよい。あるいは、またはさらに、センサデータは、コンピュータ拡張環境106のタイプに関連してもよい。コンピュータ拡張環境106のタイプは、コンピュータ拡張環境106が拡張するシナリオ(例えば化学研究室、製造工程、運転体験など)を示してもよい。一部の例において、特徴訓練セットは、特定のタイプのセンサデータ、XRシナリオ、および/またはイベントのクラスのみからのデータを含むように構成されてもよい。
特徴コントローラ206は、特徴モデルを適用して、履歴データベース202からの履歴データに基づき導出されるイベント1つ以上を判断してもよい。前述のように、導出されるイベントとは、センサデータ、生のイベント、またはその他情報の分析から導出されるイベントを指す。導出されるイベントは、物理的空間の中での動きデータを示してもよい。例として、導出されるイベントは、オブジェクト間の衝突、手の震え、アイテムを落とすこと、間違ったアイテムに触れる/それを手に取ること、関心対象のアイテムから顔をそらすこと、またはその他、センサデータの任意の分類を含んでもよい。
学習プラットフォーム104は、予測モデルコントローラ208を含んでもよい。予測モデルコントローラ208は、統計的調査解析、機械学習、および/または条件付き論理に基づき予測モデルを生成してもよい。例として、予測モデルコントローラ208は、イベント間の因果関係または相関関係を特定してもよい。予測モデルは、イベント間の因果関係または相関関係に基づき予測モデルを生成してもよい。
予測モデルは、任意のモデルまたはデータ集約を含んでもよく、これは、先行の1つまたは複数のイベントが発生したことを所与として、イベント(単数または複数)が将来発生する条件付きの可能性である。予測モデルは、過去のデータおよび/または格納されている専門的情報に基づいて構築される統計的概要を含んでもよい。一部の例において、予測モデルは、或るイベントがユーザの動きまたは軌跡に応じて発生する可能性が高いと予測してもよい。モデルは、履歴データの平均化および/または平均的なユーザの軌跡のモデル化に基づいてもよい。あるいは、またはさらに、モデルは、特定のユーザに関する個々のセンサデータおよび/または動きデータを考慮して個人に合わせてもよい。他の例において、予測モデルは、1つ以上の2値シーケンスと1つ以上のイベントとの間の訓練された関連付けを含んでもよい。2値シーケンスは、繰り返しの多いユーザ挙動を表してもよい。2値シーケンスの生成、および2値シーケンスに基づく予測モデルの訓練に関するさらなる説明は、図8~図13を参照した記載の中にある。
一部の例において、予測モデルは、イベントが発生する個々の時間に基づき、互いに関連するイベントを特定してもよい。例として、予測モデルコントローラ208は、統計的分析および/または機械学習フレームワークに基づき、イベントAが時間tに生じると時間t+1にイベントBが生じる可能性が高いと判断してもよい。あるいは、またはさらに、予測モデルコントローラ208は、第1のイベントまたは第1のイベントのシーケンスが第2のイベントまたは第2のイベントのシーケンスの後に発生する信頼度を判断してもよい。
予測モデルを生成するために、学習プラットフォーム104は、分離時間を判断し、分離の前および分離の後にイベントが発生した信頼度を測定してもよい。調査解析は、複数のイベントおよびそれらの連続発生の信頼度測定値を含んでもよい。あるいは、またはさらに、システム100は、イベントが連続的に出現する信頼度測定値を生成してもよい。信頼度は、相関または確率などの統計的メトリクスを含んでもよい。学習プラットフォーム104は、信頼度、および対応するイベントの識別子を予測的モデルへとコンパイルしてもよい。
一部の例において、予測モデルコントローラ208は、相関マトリクスを生成してもよい。相関マトリクスは、第1のイベントの後に第2のイベントが発生する信頼度を示すメトリクスを含んでもよい。表1は、相関マトリクスの例を示す。表1に示されている例では、イベントCは、イベントDの後に発生する可能性が非常に高い(90%)。相関マトリクスは、システム100がリアルタイムでイベントの発生を予測できるようにする。例として、システム100は、「前」のイベントを導出するかまたはそれに対するアクセスを得た場合、「後」のイベント、すなわちまさに発生しようとしているイベントの確率を予測してもよい。
相関マトリクスは、予測モデルの例とされ得る。より一般的に、予測モデルは、イベントマッピングを含んでもよい。イベントマッピングは、1つ以上のイベントの間のマッピングを含んでもよい。例として、イベントマッピングは、第1のイベント(イベントAなど)と第2のイベント(イベントBなど)との間のマッピングを含んでもよい。イベントマッピングは、第2のイベント(単数または複数)が第1のイベント(単数または複数)の後に発生する見込みを測定する信頼度メトリクス(20%など)を含んでもよい。
フィルタ基準は、学習プラットフォームおよび/またはリアルタイムプラットフォーム102が、特定のコンピュータ拡張環境に関連性のある情報のみを受信、評価、および/または予測できるようにしてもよい。フィルタ基準は、リアルタイムプラットフォーム102に、リアルタイムプラットフォーム102、特徴モデル、予測的モデルに入力される特定のデータを選択させる情報を含んでもよい。あるいは、またはさらに、フィルタ基準は、リアルタイムプラットフォーム102に、特定のイベントの予測または特定のメッセージの出力のみをさせる論理を含んでもよい。一部の例において、フィルタ基準は、許可された(または許可されていない)センサデバイス、センサデータ、通信チャネル、またはセンサデータの他のソースの識別子を結論づけてもよい。あるいは、またはさらに、フィルタ基準は、許可された(または許可されていない)イベント、予測マッピング、および/またはアクションマッピングの識別子を含んでもよい。図3を参照して記載されるように、リアルタイムプラットフォーム102は、フィルタ基準に基づき、リアルタイムプラットフォーム内への、その中の、およびその外への情報の場合、フォローを制御してもよい。
一部の例において、イベントフィルタは、信頼度閾値に基づき生成または設定されてもよい。信頼度閾値は、イベント予測のための最低量の信頼度を規定する閾値の値を含んでもよい。例として、信頼度閾値は70%にセットされてもよい。それに応じて、表1に示されている予測マッピング(イベントD,イベントC,90%)が、相関マトリクスから選択されることになるであろう。
信頼度閾値は、特定の実装のために調整されてもよい。より低い閾値(例えば40%以下)は、予測の精度の低下という代償を払って、より多数の予測をもたらし得る。予測の精度は劣るであろうが、低い信頼度閾値は、予測されるイベントに応じて、差し迫った危険についてユーザに警告したり、または他の何らかのアクションフィードバックをユーザに送信したりする可能性を増大させ得る。あるいは、またはさらに、高い信頼度閾値(例えば80%以上)は、不正確な予測の数を削減して、予測されるイベントの信頼度を向上させ得る。最適な信頼度閾値は、特定のコンピュータ拡張環境および/またはユーザに依存すると考えられ、信頼度閾値は時間が経つにつれて調節されてもよい。
信頼度閾値は、コンピュータ拡張環境のタイプ、ユーザ、イベントのタイプ、および/またはアクションフィードバックに基づき規定されてもよい。一例において、XRセッションのタイプは、研究室における薬品の調製を支援するためにユーザに情報が表示される、化学研究所のオーバーレイを含んでもよい。薬品を調合することに伴う内在する危険が理由で、潜在的な誤り(揮発性薬品を不適切に調合する、狂った順序でステップを実行するなど)を回避するようユーザに警告するために、信頼度閾値(単数または複数)は、40%またはその他何らかの適切な値に設定されてもよい。あるいは、またはさらに、予測されるイベントおよび/またはアクションフィードバックに基づき、複数の信頼度閾値が調整されてもよい。例として、予測的イベントの識別子またはアクションフィードバックの識別子が信頼度閾値に関連してもよい。例として、重大でないイベントに関連する一部のアクションフィードバックは、高い予測信頼度に関連してもよく、危険なイベントの安全警告などの他のアクションフィードバックは、より低い信頼度閾値に関連してもよい。
システム100は、設定コントローラ210をさらに含んでもよい。設定コントローラ210は、アクションマッピングを生成してもよい。アクションマッピングは、予測されるイベント(または予測される複数のイベント)と、アクションメッセージとの間のマッピングを含んでもよい。例として、アクションマッピングは、予測されるイベントの識別子1つ以上を1つ以上のアクションメッセージ識別子にマッピングする、テーブルまたはその他何らかの適切なデータ構造を含んでもよい。表2は、アクションマッピングの例を示す。
アクションメッセージは、コンピュータ拡張環境106(またはコンピュータ拡張環境106のコンポーネント)に、ユーザとのインタラクションを行わせてもよい。アクションメッセージは、コンピュータ拡張環境106を介してユーザに伝達される情報を含んでもよい。アクションメッセージは、コンピュータ拡張環境106にネイティブなデータフォーマットに従ってもよい。アクションメッセージは、コンピュータ拡張環境106に、ビデオデバイス上での情報の表示、再生デバイスを介したオーディオの再生、ハプティックアクチュエータなどのアクチュエータの作動、またはユーザに感覚情報を受け取らせる他の任意のアクションの実行をさせてもよい。一部の例において、アクションメッセージは、コンピュータ拡張環境106により決定されるフォーマット標準に従ってフォーマット設定された命令、APIコール、および/またはメッセージを含んでもよい。したがって、学習プラットフォーム104は、同じタイプの予測されるイベントについて様々なアクションマッピングを格納してもよく、マッピングのそれぞれが、特定のコンピュータ拡張環境向けに適応させられたリアルタイムプラットフォームの個々の展開向けに適応させられる。
図3は、リアルタイムプラットフォーム102の例を示す。リアルタイムプラットフォーム102は、特徴生成器302を含んでもよい。特徴生成器302は、コンピュータ拡張環境106により提供されるセンサデータおよび/またはイベントに基づきイベントを判断してもよい。例として、特徴生成器302は、特徴モデル110に基づきイベントを導出してもよい。図2を参照して説明されたように、特徴モデルは、センサデータなどの入力データに基づき導出されるイベントを特定する論理を含んでもよい。特徴生成器302は、特徴モデルにアクセスして、リアルタイムプラットフォーム102に伝達されるセンサデータおよび/または生のイベントに基づきイベントを生成してもよい。
特徴モデルは、学習プラットフォーム104によりリアルタイムプラットフォーム102上で設定されてもよい。例として、リアルタイムプラットフォーム102は、展開中に特徴モデルを受信してもよい。あるいは、またはさらに、リアルタイムプラットフォーム102は、特徴モデルが改善されるのに伴い学習プラットフォーム104から新たな、または更新された特徴モデルを受信してもよい。
リアルタイムプラットフォーム102は、イベント予測器304をさらに含んでもよい。イベント予測器304は、導出されたイベント、生のイベント、および/またはセンサデータに基づき1つ以上のイベントを予測してもよい。イベント予測器304は、予測モデルにアクセスしてイベントを予測してもよい。図2を参照して説明されたように、予測モデルは、イベント予測器304に1つ以上の入力イベントまたはセンサデータに基づき出力イベントを特定させる、予測的マッピング、論理、ルール、またはその他情報を含んでもよい。出力イベントは、入力イベントおよび/またはセンサデータに応じて発生するイベントの予測であってもよい。出力イベントは、信頼度メトリクスに関連してもよい。
リアルタイムプラットフォーム102は、アクション変換器306をさらに含んでもよい。アクション変換器306は、予測される1つ以上のイベントに応じてアクションフィードバックを生成してもよい。例として、アクション変換器306は、アクションマッピングにアクセスしてもよい。図2を参照して説明されたように、アクションマッピングは、1つ以上のイベント予測を1つ以上のアクションメッセージにマッピングしてもよい。したがって、アクション変換器306は、予測されるイベントまたは予測される複数イベントの組み合わせに関連するアクションメッセージを特定してもよい。アクション変換器306は、アクションメッセージをアクションフィードバックへと組み合わせてもよい。一部の例において、アクションメッセージは、コンピュータ拡張環境106にネイティブな他の1つ以上の命令と組み合わされて、コンピュータ拡張環境106に、コンピュータ拡張環境106のユーザに対して情報を伝達させてもよい。例として、アクションフィードバックは、コンピュータ拡張環境106(またはその任意のコンポーネント)に、ビデオデバイス上での情報の表示、再生デバイスを介したオーディオの再生、ハプティックアクチュエータなどのアクチュエータの作動、またはユーザに感覚情報を受け取らせる他の任意のアクションの実行をさせる命令を含んでもよい。
実装に応じて、特定のセンサデータ、導出されたイベント、イベント予測、および/またはアクションフィードバックのみ、リアルタイムプラットフォーム102のインスタンスに関連性があるかもしれない。特定のコンピュータ拡張環境に関連性のないイベントを導出または予測することは、パフォーマンスを低下させ、さらに/またはその他コンピューティングリソースを非効率的に配分するかもしれない。したがって、リアルタイムプラットフォーム102は、特定のコンピュータ拡張環境向けにリアルタイムの応答性を最適化するべく適応させられてもよい。例として、リアルタイムプラットフォーム102は、特徴モデル、予測モデル、フィルタ基準、および/またはアクションマッピングを用いて展開または動的に設定されてもよい。
リアルタイムプラットフォーム102は、フィルタコントローラ308を含んでもよい。フィルタコントローラ308は、リアルタイムプラットフォーム102の様々な段階を通して情報のフローを制御してもよい。フィルタコントローラ308は、フィルタ基準により提供される情報に応じるものであってもよい。例として、フィルタ基準は、特定のセンサデータのみをリアルタイム特徴生成器302に到達させてもよい。例として、フィルタ基準は、センサ情報の1つ以上のタイプ、1つ以上の通信チャネル、および/またはコンピュータ拡張環境106の1つ以上のセンサデバイスを特定してもよい。フィルタコントローラ308は、フィルタ基準に基づき、特徴生成器302に、特定された通信チャネルまたはセンサデバイスからのみデータを受信させてもよい。あるいは、またはさらに、フィルタコントローラ308は、特徴生成器302に、特定されたタイプのセンサデータを受信させてもよい。
一部の例において、フィルタコントローラ308は、特徴生成器302に特定のイベントのみを導出させてもよい。例として、フィルタ基準は、特徴モデルを用いて導出するイベントを特定してもよい。特徴生成器302は、フィルタ基準により特定されたイベントのみを導出し、他のイベントは導出しなくてもよい。あるいは、またはさらに、特徴コントローラ206は、特徴生成器302に、高い信頼度レベルで特徴を導出するために使用可能なセンサデータのみを受信させてもよい。
一部の例において、フィルタコントローラ308は、イベント予測器304に特定のイベントのみを予測させてもよい。例として、フィルタ基準は、予測モデルを用いて予測するイベントを特定してもよい。イベント予測器304は、フィルタ基準において特定されたイベントのみを予測してもよい。あるいは、またはさらに、フィルタ基準は予測的マッピングの識別子を含んでもよい。イベント予測器304は、識別子に関連する予測マッピングを選択してもよい。イベント予測器304は、選択された予測マッピングのみを用いてイベント予測を実行してもよい。
他の例において、フィルタコントローラ308は、1つ以上の信頼度閾値に基づき、信頼度の値と予測モデルの出力とを比較してもよい。例として、フィルタ基準は1つ以上の信頼度閾値を含んでもよい。フィルタコントローラ308は、イベント予測器304に、信頼度閾値未満の信頼度スコアに関連する予測的マッピングを無視させてもよい。
図4は、リアルタイムプラットフォーム102の論理のフロー図の例を示す。リアルタイムプラットフォーム102は、設定パラメータを受信してもよい(402)。設定パラメータは、リアルタイムプラットフォーム102の構成セッティングおよび/または論理を含んでもよい。例として、設定パラメータは、特徴モデル、予測モデル、フィルタ基準、アクションマッピング、および/またはリアルタイムプラットフォーム102のその他任意のコンポーネントを含んでもよい。フィルタ基準は、許可対象イベント識別子を含んでもよい。許可対象イベント識別子は、リアルタイムプラットフォームにより処理されることを許容可能なイベントに対応する。
リアルタイムプラットフォーム102は、コンピュータ拡張環境106からセンサデータを受信してもよい(404)。リアルタイムプラットフォーム102は、センサデータを学習プラットフォームに送信してもよい(405)。
センサデータは、コンピュータ拡張環境106に含まれるセンサから発するか、または導出され得る。リアルタイム学習プラットフォーム102は、特徴モデル、予測モデル、および/またはフィルタ基準を改善するために、学習プラットフォーム104にセンサデータを転送してもよい。リアルタイムプラットフォームは、学習プラットフォーム104がモデルを更新する間、センサデータの処理を継続してもよい。リアルタイムプラットフォーム102は、更新された設定パラメータを受信してもよい。更新された設定パラメータは、更新されたフィルタ基準、更新された予測モデル、および/または更新された特徴モデルを含んでもよい。リアルタイムプラットフォーム102は、以前に設定されたモデルのうちの1つ以上を更新された1つ以上のモデルにより置き換えてもよい。あるいは、またはさらに、リアルタイムプラットフォーム102は、以前に設定されたフィルタ基準を更新されたフィルタ基準により置き換えてもよい。
リアルタイムプラットフォーム102は、センサデータに基づき複数のイベントを生成してもよい(406)。リアルタイムプラットフォーム102は、センサデータを特徴モデルへの入力として提供してもよい。特徴モデルは、センサデータに基づき1つ以上のイベントを特定してもよい。一部の例において、イベント(単数または複数)は、物理的空間における動きを示してもよい。特徴モデルは、センサデータと所定のイベントとの間のマッピングに基づき以前に訓練されていてもよい。
一部の例において、センサデータは、複数のセンサが発する、または複数のセンサから導出される、測定値を含んでもよい。センサ測定値は、例として、個々の物理的オブジェクトの空間座標を含んでもよい。物理的オブジェクトは、コンピュータ拡張環境106のユーザの視界において可視であってもよい。あるいは、またはさらに、物理的オブジェクトは、コンピュータ拡張環境106のセンサ(ビデオカメラなど)により検出されてもよい。リアルタイムプラットフォーム102は、個々の物理的オブジェクトの空間座標を比較して、物理的オブジェクトが動いていると判断してもよい。例として、リアルタイムプラットフォーム102は、第1のオブジェクト(手など)が第2のオブジェクトの近くへと動いていると判断してもよい。
一部の例において、リアルタイムプラットフォームは、特徴モデルおよびセンサデータに基づき、物理的オブジェクトに対応する位置情報のパターンを判断してもよい。パターンは、イベントに関連してもよい。したがって、1つ以上のパターンの特定は、リアルタイムプラットフォームに、パターンに関連するイベントを生成させてもよい。
リアルタイムプラットフォーム102は、許可対象イベントに対応するイベントを選択してもよい。例として、フィルタ基準は、許可対象イベント識別子を含んでもよい。許可対象イベント識別子は、予測モデルによる処理について許可されるイベントに対応してもよい。リアルタイムプラットフォームは、許可対象イベント識別子により特定されるイベントが、イベント予測器304および/またはアクション変換器306に入力として提供されることを可能にしてもよい。あるいは、またはさらに、リアルタイムプラットフォームは、許可対象イベント識別子により特定されないイベントが、イベント予測器304および/またはアクション変換器306に提供されるのを制限してもよい。
リアルタイムプラットフォーム102は、予測モデルと、選択されたイベントのうちの少なくとも1つとに基づき、イベントを予想してもよい(410)。例として、リアルタイムプラットフォームは、機械学習フレームワークへの入力として、予測モデルおよび/または選択されたイベント(単数または複数)をアクセス提供してもよい。あるいは、またはさらに、リアルタイムプラットフォームは、予測モデルおよび選択されたイベント(単数または複数)に基づき信頼度メトリクスおよび/またはイベント予測を実行してもよく導出してもよい。
リアルタイムプラットフォーム102は、予想されるイベントを示すメッセージを生成してもよい(412)。例として、リアルタイムプラットフォーム102は、リアルタイムプラットフォーム102に提供されたアクションマッピングに基づき、予想されるイベントが或るメッセージにマッピングされていると判断してもよい。アクションマッピングは、イベントと、図2を参照して前述されたアクションメッセージなどのアクションメッセージとの間の1つ以上の関連付けを含んでもよい。リアルタイムプラットフォーム102は、予想されるイベントがメッセージにマッピングされているとの判断に応答して、1つ以上のアクションマッピングを選択してもよい。リアルタイムプラットフォーム102は、アクションマッピングから1つ以上のメッセージを抽出してもよい。
リアルタイムプラットフォーム102は、予想されるイベントが発生する前に表示デバイスにメッセージを表示させてもよい(414)。例として、リアルタイムプラットフォーム102は、アクションフィードバックを生成してもよい(図2参照)。アクションフィードバックは、表示デバイスを介して表示可能な表示可能コンテンツを含んでもよい。
図5は、学習プラットフォーム104の論理のフロー図の例を示す。学習プラットフォーム104は、履歴データベース202からセンサデータを受信してもよい(502)。一部の例において、学習プラットフォームは、1つ以上のリアルタイムプラットフォームからセンサデータを受信してもよい。あるいは、またはさらに、学習プラットフォームは、コンピュータ拡張環境106からセンサデータを直接受信してもよい。
学習プラットフォーム104は、センサデータから第1のイベントを生成してもよい(504)。例として、学習プラットフォーム104は、訓練セットにアクセスして、訓練セットに基づき特徴モデルをコンパイルしてもよい。学習プラットフォーム104は、センサデータを特徴モデルに適用して第1のイベントを導出してもよい。一部の例において、学習プラットフォーム104は、センサデータに基づき特徴モデルを訓練してもよい。例として、学習プラットフォーム104は、センサデータと1つ以上のイベント識別子(単数または複数)との間のマッピングを生成してもよい。学習プラットフォーム104は、訓練データを特徴モデルにコンパイルするために、人工知能または機械学習フレームワークに訓練データを送ってもよい。
学習プラットフォーム104は、特徴モデルをリアルタイムプラットフォーム102に送信してもよい。特徴モデル、または関連する確認パラメータは、リアルタイムプラットフォーム102に、センサデータおよび特徴モデルに基づき第1のイベントをリアルタイムで検出させてもよい。
学習プラットフォーム104は、第1のイベントの後に第2のイベントが発生する信頼度測定値を予測モデルに基づき判断してもよい(506)。例として、学習プラットフォーム104は、第1のイベント(単数または複数)の分析を、予測モデルを用いて実行してもよい。一部の例において、学習プラットフォーム104は、予測モデルおよびイベントデータを機械学習フレームワークに送ってもよい。あるいは、またはさらに、予測モデルは、前述のように、個々の信頼度測定値に関連する予測的マッピングを含んでもよい。学習プラットフォーム104は、第1のイベントに関連する1つ以上の予測的マッピングを特定してもよい。予測的マッピングから第2のイベント(単数または複数)を抽出する。
一部の例において、学習プラットフォーム104は、予測モデルを生成してもよい。学習プラットフォーム104は、予測モデルを設定データベース204に格納し、且つ/またはリアルタイムプラットフォーム102上で予測モデルを設定してもよい。例として、学習プラットフォーム104は、分離時間を判断し、分離の前および分離の後にイベントが発生した信頼度を測定してもよい。調査解析は、複数のイベントおよびそれらの連続発生の見込みまで展開されてもよい。あるいは、またはさらに、システム100は、複数のユーザに基づいて、任意のタイプのイベントが連続して出現する信頼度測定値をもたらしてもよい。イベントの見込みは、相関などの統計的メトリクスを含んでもよい。
学習プラットフォーム104は、信頼度測定値が信頼度閾値よりも大きいかどうかを判断してもよい(508)。一部の例において、学習プラットフォーム104は、信頼度閾値をユーザインターフェースから受信してもよい。例として学習プラットフォーム104は、管理者がリアルタイムプラットフォームのインスタンスを設定できるようにするユーザインターフェースを生成してもよい。ユーザインターフェースは、1つ以上の信頼度閾値を受信してもよい。リアルタイムプラットフォーム102により提供される予測の精度、速度、量を増減するために、信頼度閾値が変更されてもよい。学習プラットフォーム104は、更新された信頼度閾値を受信するのに応答して、更新されたフィルタ基準を生成し、フィルタ基準をリアルタイムプラットフォーム102に送信してもよい。
信頼度測定値が信頼度閾値よりも大きいことに応答して、学習プラットフォーム104は、リアルタイムプラットフォーム102が第1のイベントに基づき第2のイベントを予想することを可能にしてもよい(510)。信頼度測定値が信頼度閾値よりも大きくないことに応答して、学習プラットフォーム104は、リアルタイムプラットフォーム102が第1のイベントに基づき第2のイベントを予想することを制限してもよい(512)。
例として、学習プラットフォーム104は、リアルタイムプラットフォーム102が予測モデルを用いて第2のイベントを予想して、第2のイベントに基づきコンピュータ拡張環境106にメッセージを伝達することを許可または制限する、フィルタ基準を生成してもよい。例として、回転基準は、リアルタイムプラットフォーム102が予測モデルを用いて第2のイベントを予想して、第2のイベントに基づきコンピュータ拡張環境106にメッセージを伝達することを許可または制限する、ルールまたは命令を含んでもよい。あるいは、またはさらに、フィルタ基準は、予測モデルに関連する、許可または制限されたマッピング識別子を複数、含んでもよい。リアルタイムプラットフォーム102は、制限されたマッピングではなく、許可されたマッピングに基づくイベント予測のみ生成してもよい
図6は、リアルタイムプラットフォーム102の論理の第2の例を示す。リアルタイムプラットフォーム102は、設定パラメータを受信してもよい(602)。設定パラメータは、リアルタイムプラットフォーム102の構成セッティングおよび/または論理を含んでもよい。例として、設定パラメータは、特徴モデル、予測モデル、フィルタ基準、アクションマッピング、および/またはリアルタイムプラットフォーム102のその他任意のコンポーネントを含んでもよい。
リアルタイムプラットフォーム102は、コンピュータ拡張環境106からセンサデータを受信してもよい(604)。リアルタイムプラットフォーム102は、センサデータから導出された第1のイベントを生成してもよい(606)。センサデータは、コンピュータ拡張環境106に含まれるセンサから発するか、または導出され得る。リアルタイムプラットフォーム102は、センサデータを特徴モデルへの入力として提供してもよい。特徴モデルは、センサデータに基づき1つ以上のイベントを特定してもよい。一部の例において、イベント(単数または複数)は、物理的空間における動きを示してもよい。特徴モデルは、センサデータと所定のイベントとの間のマッピングに基づき以前に訓練されていてもよい。
一部の例において、センサデータは、複数のセンサが発する、または複数のセンサから導出される、測定値を含んでもよい。センサ測定値は、例として、個々の物理的オブジェクトの空間座標を含んでもよい。物理的オブジェクトは、コンピュータ拡張環境106のユーザの視界において可視であってもよい。あるいは、またはさらに、物理的オブジェクトは、コンピュータ拡張環境106のセンサ(ビデオカメラなど)により検出されてもよい。リアルタイムプラットフォーム102は、個々の物理的オブジェクトの空間座標を比較して、物理的オブジェクトが動いていると判断してもよい。例として、リアルタイムプラットフォーム102は、第1のオブジェクト(手など)が第2のオブジェクトの近くへと動いていると判断してもよい。
リアルタイムプラットフォーム102は、第1のイベントの後に第2のイベントが発生する信頼度測定値を判断してもよい(608)。例として、リアルタイムプラットフォーム102は、導出された1つ以上のイベントを、予測モデルを用いて分析してもよい。一部の例において、予測モデルは、イベントマッピングを含んでもよい。例として、イベントマッピングは、第1のイベント識別子と第2のイベント識別子との間の関連付けを含んでもよい。イベントマッピングは、第2のイベントが第1のイベントの後に発生する信頼度を含んでもよい。リアルタイムプラットフォーム102は、導出されたイベント(単数または複数)に関連するマッピングを選択してもよい。
リアルタイムプラットフォーム102は、信頼度測定値が信頼度閾値よりも大きいかどうかを判断してもよい。信頼度測定値が信頼度閾値よりも大きくないこと(610、いいえ)に応答して、リアルタイムプラットフォーム102はイベントを無視してもよい。信頼度測定値が信頼度閾値よりも大きいこと(610、はい)に応答して、リアルタイムプラットフォーム102はイベントの処理を継続してもよい。
予測されるイベントの信頼度測定値と、信頼度閾値とを比較することにより、リアルタイムプラットフォーム102は、どのイベント予測についてアクションを講じ、どのイベント予測を無視するか、選択的に選んでもよい。一部の例において、予測モデルは、予測的マッピング(上記の表1に示された相関マトリクスなど)を含んでもよい。各予測マッピングは、対応する測定値を含んでもよい。したがって、リアルタイムプラットフォーム102は、信頼度閾値未満の対応する信頼度測定値に関連する予測マッピングを無視してもよい。あるいは、またはさらに、リアルタイムプラットフォーム102は、予測閾値よりも高い対応する信頼度を有する予測マッピングについてのみセンサデータおよび/または導出されたイベントを獲得してもよい。したがって、リアルタイムプラットフォーム102は、どのセンサデータを獲得するか、およびどのイベントを導出するかを選択的に選んで、関連性のないセンサデータを受信しないこと、関連性のないイベントを導出しないこと、または関連性のないイベントを予測しないことにより、処理能力およびメモリを節約してもよい。
リアルタイムプラットフォーム102は、第2のイベントを示すメッセージを生成してもよい(612)。例として、リアルタイムプラットフォーム102は、リアルタイムプラットフォーム102に提供されたアクションマッピングに基づき、第2のイベントが或るメッセージにマッピングされていると判断してもよい。アクションマッピングは、イベントと、図2を参照して前述されたアクションメッセージなどのアクションメッセージとの間の1つ以上の関連付けを含んでもよい。リアルタイムプラットフォーム102は、第2のイベントがメッセージにマッピングされているとの判断に応答して、1つ以上のアクションマッピングを選択してもよい。リアルタイムプラットフォーム102は、アクションマッピングから1つ以上のメッセージを抽出してもよい。
リアルタイムプラットフォーム102は、第2のイベントが発生する前に表示デバイスにメッセージを表示させてもよい(614)。例として、リアルタイムプラットフォーム102は、アクションフィードバックを生成してもよい(図2参照)。アクションフィードバックは、表示デバイスを介して表示可能な表示可能コンテンツを含んでもよい。
フロー図に示された論理は、示されたのに比べて追加の、異なる、またはより少数の動作を含んでもよい。示された動作は、示されたのとは異なる順序で実行されてもよい。
システム100は、示されたのに比べて追加の、異なる、またはより少数のコンポーネントを用いて実装されてもよい。例として、システムは、コンピュータ拡張環境を備えた、または備えない学習プラットフォーム104および/またはリアルタイムプラットフォーム204を含んでもよい。あるいは、またはさらに、コンピュータ拡張環境は、学習プラットフォーム104および/またはリアルタイムプラットフォームを含んでもよい。各コンポーネントは、追加の、異なる、またはより少数のコンポーネントを含んでもよい。
図7は、システム100の第2の例を示す。リアルタイムプラットフォーム102は、ネットワーク702を経由して学習プラットフォーム104と通信してもよい。ネットワークは、データリンク間で情報が交換される任意の物理的システムまたは仮想システムを含んでもよい。例として、ネットワークは、相互接続された複数のノードがネットワークプロトコルに従って情報を中継する、IPベースのネットワークなどのコンピュータネットワークを含んでもよい。ネットワークは、物理的デバイスが相互に近接して位置するローカルネットワークであってもよく、またはインターネットなどのワイドエリアネットワークであってもよい。
一部の例において、リアルタイムプラットフォーム102は、学習プラットフォーム104から物理的に遠隔にあり、ネットワーク702により隔てられていてもよい。例として、リアルタイムプラットフォーム102がコンピュータ拡張環境106の近くに位置する一方で、学習プラットフォーム104はサーバまたはクラウドベースのシステム上で構成されてもよい。あるいは、またはさらに、リアルタイムプラットフォーム102は、コンピュータ拡張環境またはその一部と同じハードウェアリソースを共有してもよい。他の例において、リアルタイムプラットフォーム102は、ローカルネットワーク、または学習プラットフォーム104と接続されていない他の何らかのネットワークを経由して、コンピュータ拡張環境と通信してもよい。リアルタイムプラットフォーム102をコンピュータ拡張環境106の近くに維持することは、レイテンシ、帯域幅、およびパフォーマンスに関するその他考慮事項の点で、より高速なパフォーマンスを促進し得る。他の例において、リアルタイムプラットフォーム102は、通信してもよく、自己学習プラットフォーム104および/またはコンピュータ拡張環境は、それぞれネットワーク702を介して通信してもよい。
図8は、学習プラットフォーム104の第2の例を示す。図9は、学習プラットフォーム104の論理の第2の例を示す。図8に関する以下の説明を通じて、図面図9を参照する。
学習プラットフォーム104は、イベント集約コントローラ802を含んでもよい。イベント集約コントローラ802は、ユーザトークン情報を受信してもよい(902)。ユーザトークン情報は、例として、1つ以上のユーザトークンを含んでもよい。ユーザトークンは、ユーザおよび/またはユーザプロファイルアカウントの固有の識別子などの識別子値を含んでもよい。一部の例において、ユーザトークンは、コンピュータ拡張環境106により付与されてもよい。あるいは、学習プラットフォーム104、リアルタイムプラットフォーム102、または認証サービスが、ユーザに対してユーザトークンを割り振ってもよい。
学習プラットフォーム104は、センサデータを受信してもよい(904)。センサデータは、ユーザトークン情報に関連付けられてもよい。例として、コンピュータ拡張環境106は、ユーザトークンに対応するユーザのインタラクションに基づき、センサデータが生成されると、センサデータとユーザトークンとを関連付けてもよい。あるいは、またはさらに、リアルタイムプラットフォーム102および/または学習プラットフォーム104は、コンピュータ拡張環境106とのセッションを確立してもよい。セッションとは、コンピュータ拡張環境106との或る期間の通信を指し得る。一部の例において、セッションは、ユーザトークンまたはユーザトークンに関連する認証情報に基づき認証されてもよい。リアルタイムプラットフォーム102および/または学習プラットフォーム104は、センサデータ、生のイベント、および/または導出されたイベントと、ユーザトークンとを関連付けてもよい。一例において、リアルタイムプラットフォーム102は、コンピュータ拡張環境106とインタラクションするユーザのユーザトークンに基づき認証されたセッション中にコンピュータ拡張環境106からセンサデータを受信してもよい。リアルタイムプラットフォーム102は、ユーザトークンとセンサデータとを関連付けてもよく、次に、ユーザトークンおよびセンサデータを学習プラットフォーム104に送信する。
学習プラットフォーム104は、1つ以上のイベントを判断してもよい(906)。例として、特徴コントローラ206は、図2、図4、および図5を参照して説明されたように、コンピュータ拡張環境106、リアルタイムプラットフォーム102、および/または履歴データベース202から受信される生のイベントおよび/またはセンサ情報に基づき導出される1つ以上のイベントを判断してもよい。
学習プラットフォーム104は、イベント集約コントローラ802を含んでもよい。イベント集約コントローラ802は、イベント情報を受信してもよい。イベント情報は、生のイベント、センサデータ、および/または導出されたイベントを含んでもよい。あるいは、またはさらに、イベント集約コントローラ802は、イベント情報に関連するユーザトークン情報を受信してもよい。一部の例において、履歴データベース202は、イベント情報を格納してもよい。イベント集約コントローラ802は、履歴データベースからイベント情報および/またはユーザトークン情報を受信してもよい。
イベント集約コントローラ802は、イベントの反復発生を検出してもよい(908)。例として、イベント集約コントローラ802は、予め定義された時間ウィンドウ内に発生するイベントを求めて履歴データベースを検索してもよい。あるいは、またはさらに、イベント集約コントローラ802は、第1の時間における当初のイベントを判断し、続いて、第1のイベントの後、予め定義された期間内に発生するイベントを選択してもよい。
一部の例において、イベントは、イベントタイプに関連してもよい。イベントタイプは、イベントのカテゴリまたは分類を含んでもよい。例として、イベントは、特定の瞬間における、または時間間隔にわたる、或るイベントタイプのインスタンスまたは発生を含む。イベントは、イベントタイプに関連し、特定のユーザ識別子(または複数のユーザ識別子)に割り当てられてもよい。例として、イベントタイプは、<drop_screw>として特定されて、ねじを落とす行為を表してもよい。「USER 123」として特定されるユーザが、リアルタイムプラットフォーム102に送信されるセンサデータを生成するアクションを実行してもよい。学習プラットフォーム104および/またはリアルタイムプラットフォーム104は、センサデータを解釈し、次に、特定のタイプで、ユーザがねじを落とすのを表すイベントを生成してもよい。例として、イベントは、<Event Type=drop_screw,User Identifier=USER 123,Time=1558711382>として表されてもよい。
イベントの反復発生を検出するのに応答して、イベント集約コントローラ802は、反復イベント記録を生成してもよい(910)。反復イベント記録は、イベントタイプ、ユーザ識別子、および発生頻度の間の関連付けを含んでもよい。発生頻度は、イベントが発生した回数を含んでもよい。例として、111111として特定されるユーザがねじを3回落とした場合、反復イベント記録の発生頻度は3となるであろう。
イベント集約コントローラ802は、履歴データベース202または他の何らかのデータストレージに反復イベント記録を格納してもよい。例として、反復イベント記録は、表3に示されるフォーマットなど、テーブルフォーマットで格納されてもよい。他の例において、反復イベント記録は、少なくともイベントタイプといくつかの発生との間の関連付けを確立する、リレーショナル、非リレーショナル、ドキュメント方式、またはその他データ構造を含んでもよく、またはそれに格納されてもよい。
イベント集約コントローラ802は、イベント頻度記録をクラスタリングしてもよい(912)。例として、イベント集約コントローラ802は、1つ以上の反復イベントクラスタを生成してもよい。反復イベントクラスタは、発生頻度および/またはユーザ頻度の間測定された類似度に基づき選択された反復イベント記録のグループ化であってもよい。イベント集約コントローラ802は、センサデータ、イベント、反復イベント記録、またはその他導出されたデータに対してクラスタリングを実行して、反復イベントクラスタ(単数または複数)を生成してもよい。
例として、イベント集約コントローラ802は、イベント頻度マッピングを生成してもよい。イベント頻度マッピングは、発生頻度とユーザ頻度との間のマッピングを含んでもよい。ユーザ頻度は、イベントを同じ回数、反復して実行したいくつかのユーザを表してもよい。例として、ユーザ頻度は、一致する発生頻度にユーザトークンが関連するのに応答して反復イベント記録から選択されるユーザトークンの数を表してもよい。発生頻度は、イベントが発生する回数を表してもよい。表4の行は、イベント頻度マッピングの追加または代わりの例を示す。
一部の例において、イベント頻度マッピングは、図12および図13に示されていうように、グラフで表示されてもよい。
様々な実装において、イベント頻度マッピングを生成するために、イベント集約コントローラ802は、同じイベントタイプおよび/または発生頻度に関連する反復イベント記録を選択してもよい。選択された反復イベント記録のそれぞれは、対応する異なるユーザトークンに関連してもよい。イベント集約コントローラ802は、発生頻度が、選択された反復イベント記録の間で共有される発生頻度であり、ユーザ頻度が、選択された反復イベントマッピングの数である、選択された反復イベント記録のイベント頻度マッピングを生成してもよい。
イベント集約コントローラ802は、クラスタリングフレームワークに基づきイベント頻度マッピング(または反復イベント記録)のグループを特定してもよい。クラスタリングフレームワークは、解析的演算、統計的演算、および/または機械学習演算を適用してデータを別々のグループへとグループ化する機械学習フレームワークを含んでもよい。例として、クラスタリングフレームワークは、1つ以上の発生頻度およびユーザ頻度の組み合わせがクラスタリング分析およびデータマイニングに基づき特定される、イベント頻度マッピングを選択してもよい。一部の例において、クラスタリングフレームワークは、教師なし機械学習を適用してもよい。あるいは、またはさらに、クラスタリングフレームワークは、K平均、DBSCAN、期待値最大化、階層的クラスタリング、および/またはその他次元データに適用可能なクラスタリングを適用してもよい。
学習プラットフォーム104は、2値化コントローラ804を含んでもよい。2値化コントローラ804。集約されたイベント情報を受信してもよい。集約されたイベント情報は、或るイベントに関する、1つ以上のイベント頻度マッピングおよび/またはイベント頻度クラスタを含んでもよい。一部の例において、集約されたイベント情報は、履歴データベースに格納されて、関連性のあるイベントタイプに関連付けられてもよい。
2値化コントローラ804は、フィルタ範囲を決定してもよい(914)。フィルタ範囲は、イベント頻度クラスタのうちの少なくとも1つに関する発生の数を含む数値範囲を含んでもよい。例として、フィルタ範囲は、下方境界および/または上方境界を含んでもよい。一部の例において、下方境界は、イベント頻度クラスタにおける最低のイベントカウント以下であってもよく、上方境界は、イベント頻度クラスタにおける最大のイベントカウント以上であってもよい。あるいは、またはさらに、イベントフィルタは、下方境界なしで上方境界を有してもよく、または上方境界なしで下方境界を有してもよい。一部の例において、下方境界および/または上方境界は、無限またはゼロを表す値であってもよい。
フィルタ範囲の1つ以上の境界は、複数のフィルタ範囲の数値範囲が発生頻度の連続的な数値範囲をカバーするように調節されてもよい。例として、第1のフィルタ範囲は、第1のフィルタ範囲の上方境界が第2のフィルタ範囲の下方境界に対応するように調節されてもよい。あるいは、またはさらに、上方境界または下方境界は、イベントカウントの定義域における極値にて0または無限大を割り当てられてもよい。表5は、調節の前後のフィルタ範囲の例を含む。
2値化コントローラ804は、2値化フィルタを生成してもよい(916)。2値化フィルタは、入力されたイベントカウントが1つ以上のフィルタ範囲内にあるかどうかを判断する論理を含んでもよい。2値化フィルタは、入力されたイベントカウントとフィルタ範囲(単数または複数)とを比較する論理であってもよい。例として2値化フィルタは、入力されたイベントカウントがフィルタ範囲内にあるかどうかを示す2進値を生成してもよい。
一部の例では、2値化フィルタは、2値シーケンスを生成する論理を含んでもよい。2値シーケンスは、複数の2進値を含んでもよい。2進値のそれぞれは、対応するフィルタ範囲に関連し(またはそれを表し)てもよい。2値化フィルタは、入力されたイベントカウントとフィルタ範囲のうちの少なくとも1つとの比較に基づき2値シーケンスの2進値を判断する論理を含んでもよい。例として、2値化フィルタは、表6の調節されたフィルタ範囲に対して表Xの論理を含んでもよい。
表6に示されているように、2値シーケンスは100、010、001として例示されている。概して、2値シーケンスは、1つ以上の2進値が対応するフィルタ範囲を表す任意のデータセットを含んでもよい。一部の例では、2値化シーケンスは、ワンホットエンコーディングされてもよい。例として、2値化フィルタは、1つの2進値が入力されたイベントカウントがフィルタ範囲に含まれることを示し、残りの2進値が入力されたイベントが他のフィルタ範囲に含まれないことを示す、2値シーケンスを生成してもよい。
2値化コントローラ804は、複数のユーザに関する2値シーケンスを生成してもよい(918)。例として、2値化コントローラ804は、ユーザについて検出された反復されたイベントに基づき、2値シーケンスを生成してもよい。2値化コントローラ804は、ユーザが反復アクションを実行するのに応答して、1つ以上の反復イベント記録を判断してもよい。2値化コントローラ804は、反復イベント記録のイベントカウントを2値化フィルタに適用してもよい。例として、2値化コントローラ804は、2値化フィルタの論理を実行してもよい。あるいは、またはさらに、2値化コントローラ804は、2値化フィルタにアクセスする論理を実行してもよい。複数のユーザが反復イベントカウントを生成するのに伴い、2値化コントローラ804は、1つ以上の2値化フィルタを改良および更新してもよい。
一部の例において、学習プラットフォーム104は、設定データベース204に1つ以上の2値化フィルタを格納してもよい。設定データベース204は、2値化フィルタ、および/または2値化フィルタとイベントタイプなどの他の情報との間の関連付けを含んでもよい。訓練中、2値化コントローラ804は、設定データベース204からイベントのための2値化フィルタを選択してもよい。例として、2値化コントローラ804は、反復イベント記録のイベントタイプが2値化フィルタに関連すると判断してもよい。2値化コントローラ804は、設定データベース204にアクセスしてもよい。2値化コントローラ804は、2値化フィルタのうちの少なくとも1つがイベントタイプに関連することに応答して、2値化フィルタのうちのその少なくとも1つを選択してもよい。
予測モデルコントローラは、2値シーケンスに基づき予測モデルを訓練してもよい(920)。2値シーケンスは、機械学習モデルのための2値特徴を提供してもよい。例として、予測的モデルコントローラ208は、2値化シーケンスに含まれる2進値に基づき予測モデルを生成してもよい。予測モデルは、2値シーケンスと、後のイベントとの間の訓練された関連付けを含んでもよい。言い換えれば、予測モデルは、反復イベントカウントの範囲と、後のイベントとの間の訓練された関連付けを含んでもよい。例として、予測モデルは、関連付けルールモデルを含んでもよい。関連付けルールは、透明性のあるモデルを提供し、且つ/または説明可能、つまり人間が読むことができ、モデルがその結論に「どのように」到達したかの洞察を得ることができてもよい。他の例において、予測モデルは、ランダムフォレスト、ロジスティック回帰、ニューラルネットワーク、および/またはその他のものを含んでもよい。
設定コントローラは、2値化フィルタおよび/または予測モデルを展開してもよい(922)。例として、予測モデルは、展開パラメータを生成してもよい。展開パラメータは、2値化フィルタおよび/または予測モデルを含んでもよい。リアルタイムプラットフォーム102の展開または設定中、設定コントローラは、展開をリアルタイムプラットフォーム102に伝達してもよい。一部の例において、学習プラットフォーム104は、予測モデルおよび2値化フィルタが、リアルタイムプラットフォーム102により格納およびアクセスされることを生じさせてもよい。リアルタイムプラットフォーム102は、ユーザ固有センサデータに応答してユーザ固有2値シーケンスを生成するために2値化フィルタを適用してもよい。ユーザ固有センサデータとは、コンピュータ拡張環境とインタラクションする特定のユーザのアクションに基づき生成されるリアルタイムセンサデータを指し得る。ユーザ固有2値シーケンスは、特定のユーザの反復されたアクションに基づき生成された2値シーケンスを含んでもよい。
学習プラットフォーム104は、リアルタイムプラットフォーム102が展開されている間、センサデータおよび/または生のイベントのデータを受信し続けてもよい。センサデータおよび/または生のイベントのデータを受信するのに応答して、学習プラットフォーム104は、より正確であるか、またはユーザ入力に基づき修正された、更新された2値化フィルタ(単数または複数)および/または更新された予測モデルを生成してもよい。学習プラットフォーム104は、更新された2値化フィルタ(単数または複数)および/または更新された予測モデル(単数または複数)をリアルタイムプラットフォーム102に再展開してもよい。
一部の例において、2値化コントローラ804および/または予測モデルコントローラ806は、プラットフォーム識別子を受信してもよい。プラットフォーム識別子は、リアルタイムプラットフォーム102の展開されたインスタンスを表してもよい。設定データベース204は、プラットフォーム識別子とイベントタイプとの間の1つ以上のマッピングを含んでもよい。プラットフォーム識別子にマッピングされるイベントタイプは、リアルタイムプラットフォーム102の特定のインスタンスに関連性があるか、またはそれによりサポートされるイベントタイプを表してもよい。2値化コントローラは、そのイベントタイプの反復イベントに関連する2値フィルタ(単数または複数)を生成し、1つ以上の予測モデルが、2値フィルタ(単数または複数)により提供される2値シーケンスに基づき訓練されてもよい。結果として生じる2値フィルタ(単数または複数)および予測モデル(単数または複数)は、プラットフォーム識別子に関連付けられてもよい。したがって、学習プラットフォーム104は、リアルタイムプラットフォームの複数の展開済みインスタンスによりそれぞれサポートされるイベントタイプの特定のセットに基づき、2値フィルタ(単数または複数)および予測モデル(単数または複数)を生成し、格納してもよい。
図10は、リアルタイムプラットフォーム102の第2の例を示す。図11は、リアルタイムプラットフォーム102の論理の第3の例を示す。以下の図10の説明全体にわたって、図11を参照する。
リアルタイムプラットフォーム102は、展開パラメータを受信してもよい(1102)。展開パラメータは、学習プラットフォーム104により生成および/または伝達されてもよい。展開パラメータは、1つ以上の2値化フィルタおよび/または1つ以上の予測モデルを含んでもよい。学習プラットフォーム104は、リアルタイムプラットフォーム102によりアクセス可能なメモリまたはデータベースなどのストレージに2値化フィルタ(単数または複数)および予測モデル(単数または複数)を格納してもよい。
一部の例において、リアルタイムプラットフォーム102は、フィルタリポジトリ1002を含んでもよい。フィルタリポジトリ1002は、データベースおよび/またはメモリ位置のセットなどのストレージを含んでもよい。フィルタリポジトリ1002は、リアルタイムプラットフォーム102および/またはリアルタイムプラットフォーム102上に展開された予測モデルに適合する2値化フィルタのキャッシュを含んでもよい。言い換えれば、フィルタリポジトリ1002は、リアルタイムプラットフォーム102の予測モデル(単数または複数)を訓練する2値シーケンスを生成した2値化モデル(単数または複数)を格納してもよい。フィルタリポジトリ1002は、2値化フィルタとイベントタイプとの間の関連付けを格納してもよい。したがって、2値化コントローラ804は、イベントのイベントタイプを検出し、次に、フィルタリポジトリ1002においてそのイベントタイプに関連する2値化フィルタを特定してもよい。
リアルタイムプラットフォーム102は、更新された2値化フィルタを受信してもよい。例として、学習プラットフォーム104は、リアルタイムプラットフォーム102から受信されるイベントまたはセンサデータに基づき2値化フィルタ(単数または複数)を更新または改善してもよい。リアルタイムプラットフォーム102は、以前の1つ以上の2値化フィルタを、更新された1つ以上の2値化フィルタにより置き換えてもよい。一部の例において、リアルタイムタイムプラットフォームは、フィルタリポジトリ1002において置き換えを置き換え実行してもよい。あるいは、またはさらに、リアルタイプラットフォーム102は、更新されたフィルタリポジトリを受信して、フィルタリポジトリ1002を更新されたフィルタリポジトリに置き換えてもよい。
リアルタイムプラットフォーム102は、リアルタイムセンサデータを受信してもよい(1104)。センサデータは、コンピュータ拡張環境により生成されてもよい。一部の例において、センサデータは、コンピュータ拡張環境106とインタラクションするユーザのユーザトークンに関連してもよい。あるいは、またはさらに、リアルタイムプラットフォーム102は、ユーザトークンまたはユーザトークンに関連する認証情報に基づき認証される通信セッションを確立してもよい。リアルタイムプラットフォーム102は、通信セッション中にセンサデータを受信するのに応答して、センサデータとユーザトークンとを関連付けてもよい。
リアルタイムプラットフォーム102は、イベント集約コントローラ802を含んでもよい。イベント集約コントローラ802は、学習プラットフォーム104に含まれる或るバージョンのイベント集約コントローラ802を含んでもよい。一部の例において、イベント集約コントローラ802は、リアルタイムプラットフォーム102上で設定されたイベントタイプ、ユーザトークン、またはその他のパラメータであるセンサデータまたは生のイベントのみ処理するように適応させられてもよい。イベント集約コントローラ802は、リアルタイムプラットフォーム102の反復イベント記録を判断してもよい。
一部の例において、イベント集約コントローラ802は、リアルタイムで反復イベント記録を判断してもよい(1106)。例として、イベント集約コントローラ802は、イベント(すなわち生のイベントまたは導出されたイベント)を受信してもよい。イベント集約コントローラ802は、リアルタイムセンサデータに基づき第1のイベントを判断してもよい。イベント集約コントローラ802は、第1のイベントが或るイベントタイプに関連すると判断してもよい。イベント集約コントローラ802は、そのイベントタイプの反復イベント記録を生成してもよい。反復イベント記録は、反復イベントカウントを含んでもよい。イベント集約コントローラ802は、センサデータに基づき後のイベントを1つ以上判断してもよい。イベント集約コントローラ802は、後のイベントがそのイベントタイプに関連すると判断してもよい。イベント集約コントローラ802は、後のイベントタイプを受信することおよび後のイベントがそのイベントタイプに関連することに応答して、反復イベント記録の反復イベントカウントを増加させてもよい。
一部の例において、イベント集約コントローラ802は、第1のイベントを検出してから所定の時間ウィンドウの後、後のイベントの検出を停止し、且つ/または反復イベント記録を生成してもよい。所定の時間ウィンドウは、イベントタイプに関連してもよい。したがって、様々なイベントタイプが、後のイベントを監視するための、対応する所定の時間ウィンドウを有してもよい。一部の例において、イベント集約コントローラ802は、イベントをキャッシュし、その後、所定の時間ウィンドウが経過した後に反復イベントカウントを生成してもよい。
リアルタイムプラットフォーム102は、2値化コントローラ804を含んでもよい。2値化コントローラ804は、2値シーケンスを生成してもよい(1108)。例として、2値化コントローラ804は、2値化フィルタと、一連の反復イベントについて判断された反復イベントカウントとに基づき、2値シーケンスを生成してもよい。2値シーケンスは、反復イベントカウントが2値化モデルのフィルタ範囲のうちの少なくとも1つに含まれることを示してもよい。例として、2値シーケンスは、フィルタ範囲のうちの少なくとも1つを示す2進値を含んでもよい。
一部の例において、2値化コントローラ804は、イベントカウントが2値フィルタの第1のフィルタ範囲に含まれることを示す第1の2進値を生成してもよい。2値化コントローラ804は、イベントカウントが第2のフィルタ範囲に含まれることを示す第2の2進値を生成してもよい。2値化コントローラ804は、イベントフィルタに含まれるさらなる2値範囲に対応するさらなる2進値を生成してもよい。リアルタイムプラットフォーム102は、第1、第2、および/またはさらなる2進値を2値シーケンスに結合してもよい。
イベント予測器304は、予想されるイベントを判断してもよい(1110)。例として、リアルタイムプラットフォーム102は、予測モデルおよび2値シーケンス(単数または複数)に基づき、予想されるイベントを判断してもよい。一部の例において、イベント予測器304は、2値シーケンスおよび予測モデルを機械学習フレームワークに送ってもよい。機械学習フレームワークは、予想されるイベント(または予想されるイベントの識別子)を判断してもよい。あるいは、またはさらに、機械学習フレームワークは、2値シーケンスが予想されるイベントに関連することを示す信頼値を判断してもよい。イベント予測器304は、信頼度メトリクスが信頼度閾値よりも大きいことに応答して、予想されるイベントを認容してもよい。信頼度閾値は、リアルタイムプラットフォーム102に提供される入力および/または展開パラメータに基づき較正されてもよい。
アクション変換器306は、アクションメッセージを特定してもよい(1112)。例として、アクション変換器306は、予想されるイベントに関連するイベントタイプ識別子を特定してもよい。リアルタイムプラットフォーム102は、イベントタイプ識別子にマッピングされた複数のアクションメッセージを含むアクションリポジトリにアクセスしてもよい。リアルタイムプラットフォーム102は、予想されるイベントのイベントタイプ識別子がアクションリポジトリ内のアクションメッセージにマッピングされていることに応答して、アクションメッセージを選択してもよい。
リアルタイムプラットフォーム102は、アクションメッセージを送信してもよい(1114)。例として、リアルタイムプラットフォーム102は、アクションメッセージをコンピュータ拡張環境に送信してもよい。リアルタイムプラットフォーム102は、コンピュータ拡張環境106に、アクションメッセージに含まれる情報を表示させてもよい。例として、アクションメッセージは、リアルタイムプラットフォーム102に、情報を、視覚的媒体、可聴媒体、ハプティック媒体、およびその他媒体を通してユーザに伝達させる命令を含んでもよい。
図12は、グラフィカルユーザインターフェースの第1の例を示す。学習プラットフォーム104は、イベント頻度マッピンググラフ1202を表示するヒストグラムを生成してもよい。イベント頻度マッピンググラフ1202は、イベント頻度マッピングのグラフィカル表現を含んでもよい。例として、イベント頻度マッピンググラフ1202は、ユーザ頻度とイベント頻度とを関連付けるグラフを含んでもよい。ヒストグラムは、複数のイベント頻度マッピンググラフを含んでもよい。
ユーザインターフェースは、頻度範囲グラフ1204を表示してもよい。イベント頻度マッピンググラフ1202は、イベント頻度クラスタおよび/またはフィルタ範囲を表してもよい。一部の例において、第1のグラフィカルユーザインターフェースは、頻度範囲グラフ1204とのインタラクションを可能にしてもよい。例として、頻度範囲グラフ1204は、インタラクティブな制御部を含んでもよい。ユーザは、イベント頻度軸の一部を含めるか、または除くようにグラフのサイズを変更することにより、頻度範囲グラフ1204とインタラクションしてもよい。例として、1つ以上の頻度範囲グラフは、イベント頻度軸を連続的にカバーするようにサイズ変更されてもよい(図13参照)。
ユーザインターフェースは、クラスタ基準制御部を表示してもよい。クラスタ基準制御部は、クラスタリングパラメータ(またはクラスタリングパラメータに対する調節)を受信または生成する制御部を含んでもよい。クラスタリングパラメータは、クラスタリングを実行するためにクラスタリングフレームワークに提供されるパラメータを含んでもよい。例として、クラスタリングパラメータは、いくつかのクラスタ(すなわちK平均クラスタリングのK)を含んでもよい。あるいは、またはさらに、クラスタリングパラメータは、シルエットメトリクスを含んでもよい。更新されたクラスタリングパラメータを受信するのに応答して、学習プラットフォーム104は、イベント頻度記録を再クラスタリングして、再クラスタリングに基づき新たなフィルタ範囲を決定してもよい。
図13は、グラフィカルユーザインターフェースの第2の例を示す。ユーザインターフェースは、2値化フィルタを生成または保存するための第1の制御部1302を含んでもよい。例として、第1の制御部1302とのインタラクションに応答して。学習プラットフォーム104は、フィルタ範囲グラフに対応する1つ以上のフィルタ範囲に基づき、2値化フィルタを生成してもよい。
一部の例において、ユーザインターフェースは、第2の制御部1304を含んでもよい。第2の制御部1304は、2値化フィルタがロードされて、2値化フィルタのフィルタ範囲が表示されることを可能にしてもよい。例として、ユーザインターフェースは、第2の制御部1304とのインタラクションに応答して2値化フィルタのフィルタ範囲に対応するフィルタ範囲グラフを表示してもよい。
図14は、システム100のコンピュータ環境1400の例を示す。コンピュータ環境1400は、リアルタイムプラットフォーム102、学習プラットフォーム104、コンピュータ拡張環境106、および/またはその中の任意のサブコンポーネントのためのハードウェアプラットフォームを含んでもよい。コンピュータ環境1400は、通信インターフェース1412、入力インターフェース1428、および/またはシステム回路構成1414を含んでもよい。システム回路構成1414は、プロセッサ1416または複数のプロセッサを含んでもよい。あるいは、またはさらに、システム回路構成1414はメモリ1420を含んでもよい。
プロセッサ1416は、メモリ1420と通信していてもよい。一部の例において、プロセッサ1416は、通信インターフェース1412、入力インターフェース1428、および/またはユーザインターフェースなどのさらなる構成要素とも通信していてもよい。プロセッサ1416の例には、汎用プロセッサ、中央処理ユニット、論理CPU(central processing unit:中央処理ユニット)/アレイ、マイクロコントローラ、サーバ、特定用途向け集積回路(ASIC:application specific integrated circuit)、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、および/またはデジタル回路、アナログ回路、もしくはそれらの何らかの組み合わせが含まれ得る。
プロセッサ1416は、論理を実行するよう動作可能な1つ以上のデバイスであってもよい。論理は、プロセッサ1416により実行されるとプロセッサ1416に、リアルタイムプラットフォーム102、特徴生成器302、イベント予測器304、アクション変換器306、フィルタコントローラ308、学習プラットフォーム104、特徴コントローラ206、予測的モデルコントローラ208、設定コントローラ210、コンピュータ拡張環境106、イベント集約コントローラ802、2値化コントローラ804、フィルタリポジトリ1002、またはシステム100の任意のコンポーネントもしくはサブコンポーネントの論理により実装される機能を実行させる、メモリ1420または他のメモリに格納されたコンピュータ実行可能命令またはコンピュータコードを含んでもよい。コンピュータコードは、プロセッサ1416を用いて実行可能な命令を含んでもよい。
メモリ1420は、データの格納および読み出し、またはその任意の組み合わせをするための任意のデバイスであってもよい。メモリ1420は、ランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラム可能読み取り専用メモリ(EPROM:erasable programmable read-only memory)、またはフラッシュメモリなどの不揮発性および/または揮発性メモリを含んでもよい。あるいは、またはさらに、メモリ1420は、光学、磁気(ハードドライブ)、ソリッドステートドライブ、またはその他任意の形態のデータストレージデバイスを含んでもよい。メモリ1420は、リアルタイムプラットフォーム102、特徴生成器302、イベント予測器304、アクション変換器306、フィルタコントローラ308、学習プラットフォーム104、履歴データベース202、設定データベース204、特徴コントローラ206、予測的モデルコントローラ208、設定コントローラ210、コンピュータ拡張環境106、イベント集約コントローラ802、2値化コントローラ804、フィルタリポジトリ1002システム100、またはシステム100の任意のコンポーネントもしくはサブコンポーネントのうちの少なくとも1つを含んでもよい。あるいは、またはさらに、メモリは、本願明細書に記載されたシステム100の他の任意のコンポーネントまたはサブコンポーネントを含んでもよい。
ユーザインターフェース1418は、グラフィカル情報を表示する任意のインターフェースを含んでもよい。システム回路構成1414および/または通信インターフェース(単数または複数)1412は、ユーザインターフェースにグラフィカル情報を表示させる信号またはコマンドをユーザインターフェース1418に伝達してもよい。あるいは、またはさらに、ユーザインターフェース1418は、システム100に対し遠隔にあってもよく、システム回路構成1414および/または通信インターフェース(単数または複数)は、HTMLなどの命令をユーザインターフェースに伝達して、ユーザインターフェースに情報コンテンツを表示、コンパイル、および/またはレンダリングさせてもよい。一部の例において、ユーザインターフェース1418により表示されるコンテンツは、インタラクティブであっても、またはユーザ入力に応答してもよい。例として、ユーザインターフェース1418は、信号、メッセージ、および/または情報を通信インターフェース1412またはシステム回路構成1414に伝達し返してもよい。
システム100は、多数の異なる形で実装され得る。一部の例において、システム100は、1つ以上の論理コンポーネントを用いて実装されてもよい。例として、システム100の論理コンポーネントは、ハードウェアであっても、またはハードウェアとソフトウェアとの組み合わせであってもよい。論理コンポーネントは、リアルタイムプラットフォーム102、特徴生成器302、イベント予測器304、アクション変換器306、フィルタコントローラ308、学習プラットフォーム104、履歴データベース202、設定データベース204、特徴コントローラ206、予測的モデルコントローラ208、設定コントローラ210、コンピュータ拡張環境106、イベント集約コントローラ802、2値化コントローラ804、フィルタリポジトリ1002システム100、またはシステム100の任意のコンポーネントもしくはサブコンポーネントを含んでもよい。一部の例では、各論理コンポーネントは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル論理回路、アナログ回路、別々の回路もしくはゲートもしくはその他任意のタイプのハードウェアの組み合わせ、またはそれらの組み合わせを含んでもよい。あるいは、またはさらに、各コンポーネントは、例として論理コンポーネントの特徴のうち1つ以上を実装するためにプロセッサ1416または他のプロセッサを用いて実行可能な命令を含むメモリ1420の部分などのメモリハードウェアを含んでもよい。論理コンポーネントのいずれか1つが、プロセッサ1416を用いて実行可能な命令を含んだメモリの部分を含む場合、コンポーネントは、プロセッサ1416を含んでもよく、または含まなくてもよい。一部の例では、各論理コンポーネントは、メモリ1420または他の物理メモリのうち、プロセッサ1416または他のプロセッサ(単数または複数)を用いて実行可能な命令を含む部分に過ぎず、他のハードウェアをコンポーネントが一切含まなくても対応するコンポーネントの特徴が実装されるものであってもよい。各コンポーネントは、含まれるハードウェアがソフトウェアを含む場合であっても少なくともいくらかのハードウェアを含むので、各コンポーネントは区別なくハードウェアコンポーネントと呼ばれ得る。
一部の特徴は、コンピュータ可読ストレージ媒体に格納されるように示されている(例として、コンピュータ実行可能命令として実装される論理として、またはメモリ内のデータ構造として)。システム100ならびにその論理およびデータ構造の全部または一部が、1つ以上のタイプのコンピュータ可読ストレージ媒体上に格納され、分散され、またはそこから読み取られてもよい。コンピュータ可読ストレージ媒体の例には、ハードディスク、フロッピーディスク、CD-ROM、フラッシュドライブ、キャッシュ、揮発性メモリ、不揮発性メモリ、RAM、フラッシュメモリ、またはその他任意のタイプの1つもしくは複数のコンピュータ可読ストレージ媒体が含まれ得る。コンピュータ可読ストレージ媒体は、CD-ROM、揮発性メモリ、不揮発性メモリ、ROM、RAM、またはその他任意の適切なストレージデバイスなど、任意のタイプの非一時的コンピュータ可読媒体を含んでもよい。
システム100の処理能力は、複数のプロセッサおよびメモリ間など複数のエンティティ間に分散されてもよく、任意選択で複数の分散型処理システムが含まれる。パラメータ、データベース、および他のデータ構造は、別々に格納および管理されてもよく、単一のメモリまたはデータベースに組み込まれてもよく、多数の異なる形で論理的および物理的に編成されてもよく、連結リスト、ハッシュテーブル、または暗黙的ストレージメカニズムなどの様々なタイプのデータ構造を用いて実装されてもよい。プログラムまたは回路構成などの論理は、組み合わされても、または複数のプログラム間に分割されても、いくつかのメモリおよびプロセッサに分散されてもよく、共有ライブラリ(例としてダイナミックリンクライブラリ(DLL:dynamic link library))などのライブラリに実装されてもよい。
記載された特定の実装にかかわらず、すべての説明は限定ではなく、本質的に例示である。例として、各実装の選択された側面、特徴、またはコンポーネントがメモリ(単数または複数)に格納されるものとして表されているが、1つまたは複数のシステムの全部または一部が、例としてハードディスク、フラッシュメモリドライブ、フロッピーディスク、およびCD-ROMなどの二次ストレージデバイスなど、他のコンピュータ可読ストレージ媒体に格納され、分散され、またはそこから読み取られてもよい。さらに、様々なモジュール、回路構成、および画面表示機能性は、かかる機能性の一例でしかなく、同様の機能性を含む他の任意の構成が可能である。
上述したプロセス、方法、および/または手法を実装するための個々の論理、ソフトウェア、または命令は、コンピュータ可読ストレージ媒体上で提供されてもよい。図面に示されまたは本願明細書に記載された機能、動作、またはタスクは、コンピュータ可読媒体内またはコンピュータ可読媒体上に格納された論理または命令の1つ以上のセットに応答して実行されてもよい。機能、動作、またはタスクは、特定のタイプの命令セット、ストレージ媒体、プロセッサ、または処理戦略とは独立しており、単体または組み合わせで動作する、ソフトウェア、ハードウェア、集積回路、ファームウェア、マイクロコード、および同様のものにより実行され得る。同じく、処理戦略は、マルチプロセッシング、マルチタスキング、並列処理、および同様のものを含んでもよい。一例では、命令はローカルまたは遠隔のシステムによる読み取りのために取り外し可能な媒体デバイス上に格納される。他の例では、論理または命令は、コンピュータネットワークを介した、または電話線での転送のために遠隔位置に格納される。さらに別の例では、論理または命令は、所定のコンピュータ、中央処理ユニット(「CPU」)、グラフィック処理ユニット(「GPU:graphics processing unit」)、またはシステム内に格納される。
さらに、特定のコンポーネントが上述されているが、本願明細書に記載された方法、システム、および製品は、追加の、より少数の、または異なるコンポーネントを含んでもよい。例としてプロセッサは、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、個別論理、または他のタイプの回路もしくは論理の組み合わせとして実装されてもよい。同じく、メモリはDRAM、SRAM、フラッシュ、またはその他任意のタイプのメモリとされ得る。フラグ、データ、データベース、テーブル、エンティティ、およびその他データ構造は、別個に格納および管理されてもよく、単一のメモリもしくはデータベースに組み入れられてもよく、分散されてもよく、または多数の異なる形で論理的および物理的に編成されてもよい。コンポーネントは、独立して動作してもよく、または同じプログラムもしくは異なるプログラムを実行する同じ装置の一部であってもよい。コンポーネントは、別々の取り外し可能な回路基板などの別々のハードウェア上に存在してもよく、またはメモリからの命令を実装するために同じメモリおよびプロセッサなど共通のハードウェアを共有してもよい。プログラムは、単一のプログラムの一部であっても、別々のプログラムであっても、またはいくつかのメモリおよびプロセッサにわたって分散していてもよい。
第2のアクションは、第2のアクションが第1のアクションから直接的に生じるかまたは間接的に生じるかとは関係なく、第1のアクション「に応答して」と言われることがある。第2のアクションは、第1のアクションよりも大幅に遅い時間に発生してもよく、それでも第1のアクションに応答してのものとされ得る。同じく、第2のアクションは、第1のアクションと第2のアクションとの間に介在するアクションが起こるとしても、さらに介在するアクションのうちの1つ以上が直接的に第2のアクションを実行させるとしても、第1のアクションに応答してのものと言われることがある。例として、第1のアクションがフラグをセットし、フラグがセットされるたびに後で第3のアクションが第2のアクションを開始する場合、第2のアクションは第1のアクションに応答してのものとされ得る。
用途を明確化し、且つこれにより公に知らせると、語句「<A>、<B>、…および<N>のうちの少なくとも1つ」または「<A>、<B>、…<N>、またはそれらの組み合わせのうちの少なくとも1つ」、または「<A>、<B>、…、および/または<N>」は、出願人によって最も広い意味に定義され、この定義は、反対の明示的な主張が出願人によりなされない限り、上文または下文で示唆される他のいずれの定義にも優先し、A、B、…、およびNを含むグループから選択された1つ以上の構成要素を意味する。言い換えれば、この語句は、構成要素A、B、…、またはNのうちの1つ以上の任意の組み合わせを意味し、これには任意の1つの構成要素のみ、または他の構成要素1つ以上と組み合わせた1つの構成要素が含まれ、他の構成要素には、列挙されていない追加の構成要素が組み合わせでさらに含まれることもある。
様々な実施形態が記載されたが、当業者には当然のことながら、はるかに多くの実施形態および実装が可能である。したがって、本願明細書に記載された実施形態は例であり、唯一の可能な実施形態および実装ではない。
本願明細書に記載されたシステムおよび方法は、以下の側面のうちの1つ以上に関係し得る。
第1の側面は、履歴センサデータから導出されたイベントを受信するように構成された学習プラットフォームを含むシステムを含んでもよく、イベントはそれぞれユーザトークンに関連する。一部の例において、履歴センサデータは、コンピュータ拡張環境により生成されてもよい。学習プラットフォームは、イベントに基づき反復イベント記録を生成してもよく、反復イベント記録のそれぞれは、ユーザトークンのうちの少なくとも1つに関連し、反復イベント記録は、発生頻度メトリクスを含み、発生頻度メトリクスのそれぞれは、コンピュータ拡張環境内のセンサにより捕捉された物理的なアクションなどの反復されるアクションの発生の数を示す。学習プラットフォームは、クラスタリングフレームワークに基づき、反復イベント記録を反復イベントクラスタへとクラスタリングしてもよく、反復イベントクラスタは、反復イベント記録の個々のグループを含む。学習プラットフォームは、反復イベントクラスタのフィルタ範囲を決定してもよく、フィルタ範囲は、反復イベントクラスタのそれぞれに対して別々の数値範囲を含む。学習プラットフォームは、入力された発生頻度メトリクスがフィルタ範囲のうちの少なくとも1つに含まれると判断してフィルタ範囲のうちの少なくとも1つを示す2値シーケンスを生成する命令を含む2値化フィルタを生成してもよい。学習プラットフォームは、反復イベント記録の発生頻度メトリクスに基づき複数の2値シーケンスを生成するために、2値化フィルタを実行してもよい。学習プラットフォームは、2値シーケンスに基づき予測モデルを訓練してもよく、予測モデルは、2値シーケンスのうちの少なくとも1つに基づき後のイベントを特定するように構成される。学習プラットフォームは、2値化フィルタおよび予測モデルを、コンピュータ拡張環境と通信しているリアルタイムプラットフォームに展開してもよい。
第2の側面は、第1の側面の学習プラットフォームを含んでもよく、2値化フィルタおよび予測モデルを展開するために、学習プラットフォームは、2値化フィルタおよび予測モデルを含む展開パラメータを生成し、展開パラメータをリアルタイムプラットフォームに送信してもよい。
第3の側面は、前述のいずれかの側面の学習プラットフォームを含んでもよく、クラスタリングフレームワークは、教師なし機械学習に基づきクラスタリングを実行してもよい。予測モデルは、教師あり機械学習モデルを含んでもよい。
第4の側面は、前述のいずれかの側面の学習プラットフォームを含んでもよく、学習プラットフォームは、後のイベントとアクションメッセージとの間の関連付けを含むアクション定義を生成することであって、アクションメッセージは、コンピュータ拡張環境のための表示コンテンツを含む、アクション定義を生成することと、リアルタイムプラットフォームにアクション定義を展開することであって、リアルタイムプラットフォームは、2値フィルタに基づき2値特徴を生成し、2値特徴および予測モデルに基づき後のイベントを予想し、後のイベントを予想するのに応答してアクションメッセージを決定し、コンピュータ拡張環境にアクションメッセージの表示コンテンツを表示させるように構成される、アクション定義を展開することとをするようにさらに構成される。
第5の側面は、前述のいずれかの側面の学習プラットフォームを含んでもよく、イベントに基づき反復イベント記録を生成するために、学習プラットフォームは、履歴データベースから、イベントタイプおよびイベント時間に関連する第1のイベントを特定することと、複数の後のイベントを、後のイベントの個々のイベント時間が第1のイベントのイベント時間よりも大きく、後のイベントがイベントタイプに関連することに応答して選択することと、イベント記録を生成することであって、イベント記録の発生頻度メトリクスは、第1のイベントおよび後のイベントの数を含む、イベント記録を生成することとをさらにしてもよい。
第6の側面は、前述のいずれかの側面の学習プラットフォームを含んでもよく、2値化フィルタおよび予測モデルをリアルタイムプラットフォームに展開した後、学習プラットフォームは、新たなセンサデータを受信するのに応答して2値化フィルタを再生成することと、2値化フィルタを再生成するのに応答して予測モデルを再訓練することと、2値化フィルタおよび予測モデルをリアルタイムプラットフォームに再展開することとをするようにさらに構成される。
第7の側面は、前述のいずれかの側面の学習プラットフォームを含んでもよく、2値化フィルタを実行するために、学習プラットフォームは、反復イベント記録の発生頻度メトリクスがフィルタ範囲のうちの第1のフィルタ範囲に含まれ、フィルタ範囲のうちの第2のフィルタ範囲に含まれないと判断することと、第1の2進値および第2の2進値を含む2値化シーケンスを生成することであって、第1の2進値は、発生頻度メトリクスが第1のフィルタ範囲に含まれることを示し、第2の2進値は、発生頻度メトリクスが第2のフィルタ範囲に含まれないことを示す、2値化シーケンスを生成することとをするようにさらに構成される。
第8の側面は、前述のいずれかの側面の学習プラットフォームを含んでもよく、2値化フィルタは、入力された発生頻度メトリクスがフィルタ範囲のうちの第1のフィルタ範囲に含まれ、フィルタ範囲のうちの第2のフィルタ範囲に含まれないと判断することと、第1の2進値および第2の2進値を含む2値化シーケンスを生成することであって、第1の2進値は、入力された発生頻度メトリクスが第1のフィルタ範囲に含まれることを示し、第2の2進値は、発生頻度メトリクスが第2のフィルタ範囲に含まれないことを示す、2値化シーケンスを生成することとをする命令をさらに含む。
システムの第9の側面は、リアルタイムプラットフォームを含んでもよい。第9の側面は、前述の側面のいずれかを含んでもよい。リアルタイムプラットフォームは、2値化フィルタおよび予測モデルを含む展開パラメータを受信してもよく、2値化フィルタは、複数のフィルタ範囲を含み、予測モデルは、2値シーケンスと後のイベントとの間の関連付けに基づき訓練されたものである。リアルタイムプラットフォームは、コンピュータ拡張環境により生成されるリアルタイムセンサデータを受信してもよい。リアルタイムプラットフォームは、リアルタイムセンサデータに基づき反復イベント記録を判断し、反復イベント記録は、発生頻度メトリクスを含み、発生頻度メトリクスは、リアルタイムセンサデータから導出されたイベントの反復回数を表す。リアルタイムプラットフォームは、2値化フィルタおよび発生頻度メトリクスに基づき、発生頻度メトリクスがフィルタ範囲のうちの少なくとも1つに含まれることを示す2値シーケンスを生成する。リアルタイムプラットフォームは、後のイベントのうちの少なくとも1つが2値シーケンスに関連すると、予測モデルおよび2値シーケンスに基づき判断する。リアルタイムプラットフォームは、後のイベントのうちの少なくとも1つに関連するアクションメッセージを特定する。リアルタイムプラットフォームは、後のイベントのうちの少なくとも1つが発生する前に、コンピュータ拡張環境にアクションメッセージを表示させる。
第10の側面は、前述の側面のいずれかを含んでもよく、リアルタイムセンサデータに基づき反復イベント記録を判断するために、リアルタイムプラットフォームは、リアルタイムセンサデータに基づき第1のイベントを特定することと、リアルタイムセンサデータに基づきさらなる少なくとも1つのイベントを特定することであって、さらなる少なくとも1つのイベントは、第1のイベントの後に発生する、さらなる少なくとも1つのイベントを特定することと、第1のイベントおよび後の少なくとも1つのイベントが同じイベントタイプに関連すると判断することと、第1のイベントおよびさらなる少なくとも1つのイベントが同じイベントタイプに関連することに応答して、反復イベント記録を生成することとをするようにさらに構成される。
第11の側面は、前述の側面のいずれかを含んでもよく、リアルタイムプラットフォームは、リアルタイムセンサデータに基づきイベントを判断することであって、イベントは、イベントタイプに関連する、イベントを判断することと、イベントタイプに関連する2値化フィルタをリポジトリから選択することであって、リポジトリは、イベントタイプにそれぞれ関連する複数の2値化フィルタを含む、選択することとをするようにさらに構成される。
第12の側面は、前述の側面のいずれかを含んでもよく、リアルタイムプラットフォームは、発生頻度メトリクスが第1のフィルタ範囲に含まれることを示す第1の2進値を生成することと、発生頻度メトリクスが第2のフィルタ範囲に含まれないことを示す第2の2進値を生成することと、2値シーケンスを生成するために第1および第2の2進値を結合することとをするようにさらに構成される。
第13の側面は、前述の側面のいずれかを含んでもよく、後のイベントのうちの少なくとも1つに関連するアクションメッセージを特定するために、リアルタイムプラットフォームは、後のイベントのうちの少なくとも1つに関連するイベントタイプを特定することと、イベントタイプにそれぞれマッピングされた複数のアクションメッセージを含むアクションリポジトリにアクセスすることと、後のイベントのイベントタイプがアクションリポジトリ内のアクションメッセージにマッピングされていることに応答して、アクションメッセージを選択することとをするようにさらに構成される。
第14の側面は、前述の側面のいずれかを含んでもよく、リアルタイムプラットフォームは、リアルタイムセンサデータをユーザトークンにマッピングすることと、リアルタイムセンサデータおよびユーザトークンを学習プラットフォームに送信することであって、学習プラットフォームは、更新された2値化フィルタおよび更新された予測モデルを、リアルタイムセンサデータを受信するのに応答して生成するように構成される、送信することと、更新された2値化フィルタおよび更新された予測モデルを学習プラットフォームから受信することと、2値化フィルタを更新された2値化フィルタにより置き換えることと、予測モデルを更新された予測モデルにより置き換えることとをするようにさらに構成される。