(57)【要約】【課題】本発明は、とりわけ、事象の進行中にモデル結果を検索するための、コンピュータ実施方法に関する。【解決手段】方法は、同様の事象の観察の第１のセットの変数を提供するステップと、複数のモデルを提供するステップと、複数のモデルに観察の第１のセットの変数でインデックスを付けるステップと、１つまたは複数の変数に従ってモデルを問合せるステップと、問合せの結果としてモデルを返すステップとを含む。【選択図】図１
2017120646.tif 000002
【特許請求の範囲】
【請求項１】
事象の進行中にモデル結果を検索するための、コンピュータ実施方法であって、
−  同様の事象の観察の第１のセットの変数を提供するステップ（Ｓ１０２、Ｓ１０４）と、
−  複数のモデルを提供するステップと、
−  前記複数のモデルに観察の前記第１のセットの前記変数でインデックスを付けるステップ（Ｓ３０）と、
−  １つまたは複数の変数に従ってモデルを問合せるステップ（Ｓ５０）と、
−  前記問合せの結果としてモデルを返すステップ（Ｓ６０、７０）と
を含むことを特徴とするコンピュータ実施方法。
【請求項２】
−  観察の前記第１のセットの前記変数に基づいて前記複数のモデルをトレーニングするステップ（Ｓ２０）と、
−  前記複数のモデルに、各モデルをトレーニングするために使用される前記変数でインデックスを付けるステップ（Ｓ３０）と
をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項３】
前記複数のモデルをトレーニングするステップは、
−  観察の前記第１のセットの前記変数にフィルタリングを適用することによって前記第１のセットの前記観察のサブセットを計算するステップと、
−  前記第１のセットの前記観察の前記サブセットのうちの１つのサブセットに関し前記複数のモデルの各モデルをトレーニングするステップと、
−  前記複数のモデルの各モデルに、前記各モデルをトレーニングするために使用される前記観察の前記変数の値でインデックスを付けるステップと
をさらに含むことを特徴とする請求項２に記載のコンピュータ実施方法。
【請求項４】
−  ２つ以上のモデルが返されることを決定するステップ（Ｓ６０）と、
−  前記返された２つ以上のモデルをランク付けするステップ（Ｓ７０）であって、前記ランク付けするステップが前記返された２つ以上のモデルの前記変数に基づくステップ（Ｓ７０）と
をさらに含むことを特徴とする請求項１乃至３のいずれか一項に記載のコンピュータ実施方法。
【請求項５】
前記返された２つ以上のモデルは、
−  返されたモデル毎に、前記モデルの前記変数の値と、前記問合せにおける対応する１つまたは複数の変数の値との間の近接測度に基づいて距離を計算するステップ
によってランク付けされることを特徴とする請求項１乃至４のいずれか一項に記載のコンピュータ実施方法。
【請求項６】
観察の前記第１のセットを構築するステップは、
−  シミュレーションから少なくとも１つの観察の結果を生成するステップ（Ｓ１０２）
をさらに含むことを特徴とする請求項１乃至５のいずれか一項に記載のコンピュータ実施方法。
【請求項７】
前記第１のセットの少なくとも１つの観察はランダムに生成されることを特徴とする請求項６に記載のコンピュータ実施方法。
【請求項８】
−  前記第１のセットの前記事象に類似している事象を表す観察の第２のセットを収集するステップであって、前記第２のセットの前記観察は、少なくとも前記第１のセットの前記変数と同じ変数を含むステップ
をさらに含み、
モデルの前記問合せは、観察の第２のセットの１つまたは複数の変数に従って実行されることを特徴とする請求項１乃至７のいずれか一項に記載のコンピュータ実施方法。
【請求項９】
−  １つまたは複数の観察を提供するステップ（Ｓ８０）であって、前記提供される１つまたは複数の観察の各変数は値を有するセットであるステップと、
−  前記１つまたは複数の観察の各々に対する結果を計算するステップ（Ｓ９０）であって、前記計算は、前記返されたモデルを、前記提供された１つまたは複数の観察の値を有する変数セットに適用することによって実行されるステップと
をさらに含むことを特徴とする請求項８に記載のコンピュータ実施方法。
【請求項１０】
少なくとも２つの観察が提供され（Ｓ８０）、
−  前記提供された１つまたは複数の観察に対して計算された前記結果をランク付けするステップと、
−  前記提供された少なくとも２つの観察のうち、最も高いランキングを有する結果と関連付けられる１つを選択するステップと
をさらに含むことを特徴とする請求項９に記載のコンピュータ実施方法。
【請求項１１】
前記モデルはシミュレーションモデルであるか、または機械学習モデルであることを特徴とする請求項１乃至１０のいずれか一項に記載のコンピュータ実施方法。
【請求項１２】
請求項１乃至１１のいずれか一項に記載の方法を実行するための命令を含むことを特徴とするコンピュータプログラム。
【請求項１３】
請求項１２に記載のコンピュータプログラムがその上に記録されたことを特徴とするコンピュータ可読記憶媒体。
【請求項１４】
請求項１２に記載のコンピュータプログラムがその上に記録されたメモリに結合された処理回路を備えることを特徴とするサーバ。
【請求項１５】
クライアントコンピュータに接続され、前記クライアントコンピュータに対して前記インデックスに関する前記問合せが生成されることを特徴とする請求項１４に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より詳細には、事象の進行中にモデル結果を検索するための方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
推薦（ｒｅｃｏｍｍｅｎｄａｔｉｏｎｓ）は、エンジニアリングにおける意思決定のために使用される。例えば衛星打上の進行中に、事件（例えば燃料タンクの温度、燃料消費、発射装置の速度、等々を制御すること）の危険の作用を最小化するためには、緊急アクションを推薦することが要求される。推薦は、デバイスの制御に限定されないが、それらはデバイスの構想中および製造中にも同じく使用されることが可能であり、例えばＣＡＤシステムは、設計されたデバイスがうまく作動しない危険が最小化されるよう、デバイスの設計のための推薦を提供することができる。
【０００３】
いくつかの知られているカテゴリの推薦システムが存在している。第１のカテゴリは、訪問者が、既に訪問された内容に基づいて内容提案を受け取るシステムである、いわゆるリコメンダシステムを含む。例えば探索エンジンは、訪問されたページの個人履歴に基づいて探索結果をランク付けする。このようなシステムの例は、非特許文献１の中で考察されており、または同じく非特許文献２の中で考察されている。
【０００４】
しかしながらこれらのリコメンダシステムは、極めて多数のユーザの履歴を集中化するアプリケーションで動作する。例えばＧｏｏｇｌｅ（Ｃ）探索は、１０億を超えるユーザを有している。会社のサーバ上でホストされるシステムは、学習すべき意思決定者のこのようなプールを有していない。意思決定者は、典型的には、同様の状況におけるそれらの同僚の蓄積された経験に基づくアドバイスのために、最良のビジネス実践または管理顧問会社を使用する。しかしながらビジネスの相対的な隔離、異なる会社からの操作上のデータおよび設備データは、コンピュータプログラムによるこの学習プロセスの自動化を困難にしている。したがってそれらの同僚からの決定の履歴を調べるよりもむしろ、意思決定者は、決定のためのニーズをトリガする状況を記述しているデータ（例えばそれらの独自の操作および設備を記述している変数）に基づいて状況を評価する。したがってこれらのリコメンダシステムは、これらの状況には適していない。
【０００５】
第２のカテゴリは、専門家によって作成され、かつ、自動的に適用される規則に基づいて、特定の問題に関連する意思決定を自動化するエキスパートシステムを含む。オプションの数が少なく、また、入力変数が人による管理が可能であるか、または処理されて識別的変数の管理可能なセットに要約される場合、専門家にとっては、ほとんどの場合に最適アクションをもたらすことになる規則を規定することが可能である。第１の手法は、「専門家規則のみ」と呼ばれ、規則は、システムが適用されることになる技術分野の専門家によって手で作成される。第２の手法は、「経験的なモデルと結合された専門家規則」と呼ばれ、経験的なモデルは、利用可能な入力を処理し、かつ、管理可能な数の入力を返すために機械学習に基づいて構築される。このようなモデルは、典型的には、予測された確率を返すことになる。人間によって作成された規則に提供される入力の複雑性が低減されるため、ヒューマンエラーに対する余地が低減される。
【０００６】
しかしながらこの第２のカテゴリは多くの欠点を抱えており、とりわけ第１の手法は、独立した要素の数およびオプションの数が人間の専門家によっては管理することができない問題をもたらす場合は動作しない。第２の手法には、経験的なモデルをトレーニングするためのかなりのハードウェア資源が必要である。実際には、決定のニーズは、典型的には新しいデータによってトリガされる。また、決定は、典型的には速やかになされなければならない。したがって利用可能な資源の量およびこれらのシステムが使用され得る事例の数をさらに制限している。
【０００７】
経験的なモデルの例として、Ｄｅｌｍｉａ  ＯＩ（Ｃ）などの経験的な規則生成システムがある。これらのシステムは、このような現象を取り扱うために要求される複雑性を例証している。経験的な規則生成システムは、極めて多数の変数によって記述される現象をモデル化する。それらは、個々に再現度が低く、かつ、精度が低い、したがって潜在的に互いに矛盾する多くの規則を作成し、それらの異なる結果を投票で議決し、かつ、状況を記述するための新しい合成変数として使用される投票の結果を出力することによって動作する。これらのシステムは、典型的には、高い再現度および高い精度（それぞれ８０％を超える）を同時に達成するが、そうするために、専門家によっては作成され得なかったであろう管理不可能な数の規則（数十の変数に対して数万から数百万程度に及ぶ）を作成する。
【０００８】
このようなシステムは、多くの入力パラメータおよび２つの決定代替を使用した事例では、手法「経験的なモデルと結合された専門家規則」に首尾よく使用され得る。
【０００９】
しかしながらこのような経験的なモデルは、システムをトレーニングし、また、専門家規則を作成する際に存在しなかったデータ、または考慮されなかったデータを意思決定者に考慮させない。さらに、経験的なモデルは、トレーニングするためのかなりのハードウェア資源を必要とし得る。実際には、決定のニーズは、典型的には新しいデータによってトリガされる。また、決定は、典型的には速やかになされなければならない。したがって利用可能な資源の量およびこれらのシステムが使用され得る事例の数をさらに制限している。
【００１０】
第３のカテゴリは、関連する情報を、意思決定者またはそれらの補助者による管理を可能にする形態で提供することによって意思決定を補助する、理解可能なモデル、表現および相互作用型インターフェイスを含む。例えばビジネスインテリジェンスツールは、変数を選択し、かつ、例えば散布図によってそれらの相互作用を視覚化するための手段を提供する。分析者は、関連する視覚化をひろい上げ、静的報告書を作成し、かつ、それらを意思決定者に送る。
【００１１】
いわゆる「ホワイトボックスモデル」は、変数間の関係の視覚化または説明を与える経験的な（トレーニングされた）モデルに頼っている。例えば決定ツリー（例えば非特許文献３の中で考察されている）、規則構築エンジン、またはベイジアンネットワーク（例えば非特許文献４の中で考察されている）をトレーニングした後、何らかの確率で、現象を記述している変数のうちのいくつかの前提命題に目標変数をリンクする規則を理解することが可能である。
【００１２】
入力データがグラフで表現され得ない場合、２Ｄマップ上の２つのエンティティ間の距離がグラフ内におけるそれらの接続性を表す方法でグラフを２次元図面にマップする技法が存在している。これらの技法により、状況を記述している要素間の相互作用の程度を定性的に表すことができる。これらの技法は、例えば非特許文献５の中で考察されているように、同様の観察（Ｎ個の寸法が近く、寸法は観察を記述している変数である）が最終的には２Ｄマップ上で互いに接近するよう、複雑な観察を２Ｄマップ上にマップするために同じく適用され得る。
【００１３】
クラスタ化技術は、非特許文献６の中で考察されており、これらのクラスタ化技術により、Ｎ個の寸法が類似している観察を管理可能な数のグループでまとめてグループ化することができる。
【００１４】
寸法低減技法は、非特許文献７の中で考察されており、それらにより、寸法または寸法の組合せであって、それらに沿ってデータが最も変化する寸法または寸法の組合せを見出すことができる。
【００１５】
所与の目標変数の値に対してどの寸法が最も強い影響力を有するか（記述変数）を見出すための他の技法が存在している。
【００１６】
しかしながら「ホワイトボックスモデル」は、いくつかの欠点を抱えている。とりわけこれらのシステムは、完全に自動化された決定を依然として提供しておらず、したがって重要な要因の遺漏、または考慮される要因の実際の影響力の不正確な予測などのヒューマンエラーによる次善の決定を許容している。
【００１７】
別の問題は、この第３のカテゴリには、トレーニングするためのかなりのハードウェア資源が必要であることである。実際には、決定のニーズは、典型的には新しいデータによってトリガされる。また、決定は、典型的には速やかになされなければならない。したがって利用可能な資源の量およびこれらのシステムが使用され得る事例の数をさらに制限している。
【００１８】
より詳細には、経験的なモデルの直接使用は、複雑なシステムを必要とする現実に即した事象をモデル化するために直接的に使用される場合、以下の性能問題を抱えている。
【００１９】
第１の性能問題は、メモリフットプリント問題に関連付けられる。関連するパラメータの数は、複雑なシステムを必要とする状況を記述するために典型的には多い。したがって状況をモデルの入力変数を使用してその全体を記述することは、入力変数が急増することになり、それは、事象が進行している間のモデルのトレーニングを非現実的にすることになる。
【００２０】
変数が急増すると、トレーニングデータに必要な観察の数が同じく急増する。手短に言えば、トレーニングデータの観察は、適切に実施するようにトレーニングされたモデルに対して実際に起こり得る変数のすべての可能な組合せを表していなければならない。
【００２１】
利用可能な機械学習方法のほとんどは、トレーニングデータがランダムアクセスメモリに適合することを仮定することによって設計されている。ランダムアクセスメモリの利用可能なサイズは、典型的には、状況を記述するために考慮され得るパラメータに制限を設けている。
【００２２】
第２の性能問題は、販売可能性の問題である。いくつかの精密な機械学習アルゴリズムはつり合いが取れない。例えばブースティング技法の場合がそうである。ブースティング技法は、再現度および精度に対して、現在、最も強力な機械学習技法のうちの１つであるが、それらは本質において逐次的である。これは、それらが複数のサーバにわたって分散され得ないことを意味している。１つのサーバは、計算を実行するとビジーになり、一方、他のサーバはアイドルを維持することになる。逐次アルゴリズムを走らせるための時間は、サーバの数が増えても短くならない。
【００２３】
事象が進行している間にモデルを再トレーニングする場合、同じメモリフットプリントおよび拡張可能性問題が当てはまる。
【００２４】
さらに、時間が限られているため、待ち時間が同じく問題になる。モデル、トレーニングデータのサイズおよび利用可能なハードウェア資源に応じて、モデルのトレーニングには数秒から数週間を要する。複雑なシステムを伴う現実に即した状況がモデル化されると、ほとんどの場合、モデルのトレーニングは、少なくとも数十秒を要するに違いない。したがって事象が進行している間にモデルをトレーニングする機会が少なくなることになる。
【００２５】
この文脈内では、事象の進行中にモデル結果を検索するための改善された方法に対するニーズが依然として存在している。
【先行技術文献】
【非特許文献】
【００２６】
【非特許文献１】Ｂａｌａｂａｎｏｖｉｃ，  Ｍａｒｋｏ，  ａｎｄ  Ｙｏａｖ  Ｓｈｏｈａｍ．  “Ｆａｂ：  ｃｏｎｔｅｎｔ−ｂａｓｅｄ，  ｃｏｌｌａｂｏｒａｔｉｖｅ  ｒｅｃｏｍｍｅｎｄａｔｉｏｎ．”  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｏｆ  ｔｈｅ  ＡＣＭ  ４０．３  （１９９７）：  ６６−７２
【非特許文献２】Ｓａｒｗａｒ，  Ｂａｄｒｕｌ，  ｅｔ  ａｌ．  “Ｉｔｅｍ−ｂａｓｅｄ  ｃｏｌｌａｂｏｒａｔｉｖｅ  ｆｉｌｔｅｒｉｎｇ  ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ａｌｇｏｒｉｔｈｍｓ．”  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １０ｔｈ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ．  ＡＣＭ，  ２００１
【非特許文献３】Ｑｕｉｎｌａｎ，  Ｊ．  Ｒｏｓｓ．  “Ｉｎｄｕｃｔｉｏｎ  ｏｆ  ｄｅｃｉｓｉｏｎ  ｔｒｅｅｓ．”  Ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ  １．１  （１９８６）：  ８１−１０６．  ［１］
【非特許文献４】Ｈｅｃｋｅｒｍａｎ，  Ｄａｖｉｄ，  Ｄａｎ  Ｇｅｉｇｅｒ，  ａｎｄ  Ｄａｖｉｄ  Ｍ．  Ｃｈｉｃｋｅｒｉｎｇ．  “Ｌｅａｒｎｉｎｇ  Ｂａｙｅｓｉａｎ  ｎｅｔｗｏｒｋｓ：  Ｔｈｅ  ｃｏｍｂｉｎａｔｉｏｎ  ｏｆ  ｋｎｏｗｌｅｄｇｅ  ａｎｄ  ｓｔａｔｉｓｔｉｃａｌ  Ｄａｔａ．”  Ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ  ２０．３  （１９９５）：  １９７−２４３
【非特許文献５】Ｂａｌａｓｕｂｒａｍａｎｉａｎ，  Ｍｕｋｕｎｄ，  ａｎｄ  Ｅｒｉｃ  Ｌ．  Ｓｃｈｗａｒｔｚ．  “Ｔｈｅ  ｉｓｏｍａｐ  ａｌｇｏｒｉｔｈｍ  ａｎｄ  ｔｏｐｏｌｏｇｉｃａｌ  ｓｔａｂｉｌｉｔｙ．”  Ｓｃｉｅｎｃｅ  ２９５．５５５２  （２００２）：  ７−７
【非特許文献６】Ｊａｉｎ，  Ａｎｉｌ  Ｋ．，  Ｍ．  Ｎａｒａｓｉｍｈａ  Ｍｕｒｔｙ，  ａｎｄ  Ｐａｔｒｉｃｋ  Ｊ．  Ｆｌｙｎｎ．  “Ｄａｔａ  ｃｌｕｓｔｅｒｉｎｇ：  ａ  ｒｅｖｉｅｗ．”  ＡＣＭ  ｃｏｍｐｕｔｉｎｇ  ｓｕｒｖｅｙｓ  （ＣＳＵＲ）  ３１．３  （１９９９）：  ２６４−３２３
【非特許文献７】Ｗａｌｌ，  Ｍｉｃｈａｅｌ  Ｅ．，  Ａｎｄｒｅａｓ  Ｒｅｃｈｔｓｔｅｉｎｅｒ，  ａｎｄ  Ｌｕｉｓ  Ｍ．  Ｒｏｃｈａ．  “Ｓｉｎｇｕｌａｒ  ｖａｌｕｅ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ  ａｎｄ  ｐｒｉｎｃｉｐａｌ  ｃｏｍｐｏｎｅｎｔ  ａｎａｌｙｓｉｓ．”  Ａ  ｐｒａｃｔｉｃａｌ  ａｐｐｒｏａｃｈ  ｔｏ  ｍｉｃｒｏａｒｒａｙ  Ｄａｔａ  ａｎａｌｙｓｉｓ．  Ｓｐｒｉｎｇｅｒ  ＵＳ，  ２００３．  ９１−１０９
【発明の概要】
【００２７】
したがって、事象の進行中にモデル結果を検索するための、コンピュータ実施方法が提供される。方法は、
−  同様の事象の観察の第１のセットの変数を提供するステップと、
−  複数のモデルを提供するステップと、
−  複数のモデルに観察の第１のセットの変数でインデックスを付けるステップと、
−  １つまたは複数の変数に従ってモデルを問合せるステップと、
−  問合せの結果としてモデルを返すステップと
を含む。
【００２８】
方法は、以下のうちの１つまたは複数を含むことができる。
−  観察の第１のセットの変数に基づいて複数のモデルをトレーニングするステップと、複数のモデルに、各モデルをトレーニングするために使用される変数でインデックスを付けるステップ。
−  複数のモデルをトレーニングするステップは、観察の第１のセットの変数にフィルタリングを適用することによって第１のセットの観察のサブセットを計算するステップと、第１のセットの観察のサブセットのうちの１つのサブセットに関し複数のモデルの各モデルをトレーニングするステップと、複数のモデルの各モデルに、前記各モデルをトレーニングするために使用される観察の変数の値でインデックスを付けるステップとをさらに含む。
−  ２つ以上のモデルが返されることを決定するステップと、返された２つ以上のモデルをランク付けするステップであって、ランク付けが返された２つ以上のモデルの変数に基づくステップ。
−  返された２つ以上のモデルは、返されたモデル毎に、モデルの変数の値と、問合せにおける対応する１つまたは複数の変数の値との間の近接測度に基づいて距離を計算するステップによってランク付けされる。
−  観察の第１のセットを構築するステップは、シミュレーションから少なくとも１つの観察の結果を生成するステップをさらに含む。
−  第１のセットの少なくとも１つの観察はランダムに生成される。
−  第１のセットの事象に類似している事象を表す観察の第２のセットを収集するステップであって、第２のセットの観察は、第１のセットの変数と少なくとも同じ変数を含み、また、モデルの問合せは、観察の第２のセットの１つまたは複数の変数に従って実行される。
−  １つまたは複数の観察を提供するステップであって、提供される１つまたは複数の観察の各変数が値によって設定されるステップと、１つまたは複数の観察の各々に対する結果を計算するステップであって、計算は、返されたモデルを、提供された１つまたは複数の観察の値を有する変数セットに適用することによって実行されるステップ。
−  少なくとも２つの観察が提供され、また、方法は、提供された１つまたは複数の観察に対して計算された結果をランク付けするステップと、提供された少なくとも２つの観察のうち、最も高いランキングを有する結果と関連付けられ１つを選択するステップとをさらに含む。
−  モデルは、シミュレーションモデルであるか、または機械学習モデルである。
−  モデルを問合せるための１つまたは複数の変数は、ゆっくり移動する変数である。
−  観察の第１のセットの１つまたは複数の変数は、確率変数発生器を使用して生成される。
−  観察の第１のセットの１つまたは複数の変数は、変数の定義の範囲上の離散値を選択することによって生成される。
−  返されたモデルの応答が数値である場合、提供された１つまたは複数の観察に対して計算される結果は、返されたモデルの各応答を平均することによって計算される。
−  提供された１つまたは複数の観察に対して計算される結果は、返されたモデルの応答に最も頻繁に見出される値を取ることによって計算される。
−  観察の第１のセットの変数にフィルタリングを適用することによって観察のサブセットを計算する際に、サブセットの観察は、観察の共通クラスタに属する。
−  返されたモデルは、モデルのメタデータと、問合せにおいて規定された値との間の厳密な一致を有する。
−  問合せに入力される変数の値は、第２のセットの観察の離散変数と一致する離散変数によって近似される。
−  問合せは、モデルのメタデータと、問合せにおいて規定された変数の値との間の近似一致に基づいてモデルの検索を許容する。
−  複数のモデルにインデックスを付けるステップは、複数のモデル毎に、前記各モデルをトレーニングするために使用されるすべての観察の値を前記複数の各モデルのメタデータに追加するステップをさらに含む。
−  モデルにインデックスを付けるステップは、インデックスが付けられるべきモデルのメタデータに、それらの中心の座標などの、モデルをトレーニングするために使用される観察の作用を追加するステップをさらに含む。
【００２９】
上記方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
【００３０】
コンピュータプログラムがその上に記録されたコンピュータ可読記憶媒体がさらに提供される。
【００３１】
コンピュータプログラムがその上に記録されたメモリに結合されたプロセッサを備えるシステムがさらに提供される。
【００３２】
サーバは、クライアントコンピュータと接続されることが可能であり、クライアントコンピュータに対してインデックスに関する問合せが生成される。
【図面の簡単な説明】
【００３３】
以下、本発明の実施形態が、非制限例として、添付の図面を参照して説明される。
【図１】モデルをトレーニングする例のフローチャートである。
【図２】観察のセットの例を示す図である。
【図３】コンピュータの例を示す図である。
【発明を実施するための形態】
【００３４】
図１のフローチャートを参照すると、事象の進行中にモデル結果を検索するための、コンピュータ実施方法が提案される。方法は、同様の事象の観察の第１のセットの変数を提供するステップを含む。方法は、複数のモデルを提供するステップをさらに含む。方法は、複数のモデルに観察の第１のセットの変数でインデックスを付けるステップを同じく含む。方法は、１つまたは複数の変数に従ってモデルを問合せるステップをさらに含む。問い合わされるモデルは、提供されるモデルのうちの１つである。さらに、方法は、問合せの結果としてモデルを返すステップを含む。
【００３５】
このような方法は、モデル結果が事象の進行中に検索される方法を改善する。実際、事前処理タスクは、残りの計算を事象中に扱いやすくするために実行される。これは、事象の時点における処理時間およびメモリフットプリントを、事象の前のより長い（しかしより安価で、かつ、より重大ではない）処理時間、追加（しかし安価な）記憶要求事項、およびメモリ上のより低いフットプリントにシフトすることによって実施される。このシフトは、予め計算された分析の結果を記憶し、かつ、後で事象中にそれらを問合せることによって可能にされる。分析は、データを使用してモデルを事前にトレーニングすることにあり、また、結果は事前にトレーニングされたモデルである。事前にトレーニングされたモデルは、それらが関連している条件と関連付けられる（関連する条件は、事前にトレーニングされたモデルのメタデータである）。これらの条件に基づく問合せは、直ちに使用して予測するための、事象が進行している間の適切なモデルの検索を許容する。
【００３６】
単一のモデルをトレーニングする場合、モデルは、それが使用されるべき事象のあらゆる可能な展開に適用しなければならない。本発明の場合のように複数のモデルを準備する場合、各々のモデルは、事象の展開上の特定の仮説に対応し得る。これらの仮説は、典型的には、事象を記述している変数の特定の値に変換することができる。これは、各々のモデルをトレーニングするために必要な観察の数の低減を可能にする。単一のモデルが使用される場合、事象の可能な展開に関するすべての仮説を表現するすべての観察がトレーニングデータの中に維持されなければならない。本発明の場合のように複数のモデルが準備される場合、各々のモデルに対応する特定の仮説と整合性のある事象に対応する観察のみがモデルをトレーニングするために維持されなければならない。これらの観察は、対応する仮説を記述している変数以外の変数に関し同じ値または同様の値を共有する。トレーニングデータは、モデルをトレーニングしている間、本質的にランダムアクセスメモリ上のフットプリントに責任を負うため、特定の仮説に対応する複数のモデルを準備することにより、各々のモデルをトレーニングするためのメモリ上のフットプリントを劇的に低減することができる。したがって本発明は、メモリフットプリント問題を解決する。
【００３７】
上記を実施することにより、１つの大きいモデルの代わりに、トレーニングするための多くのより小さいモデルが生成される。選択のモデルが逐次（非並列化可能）アルゴリズムを使用してトレーニングされる場合、それをこの方法で分解することにより、１つのプロセッサのみを取り上げ、他のプロセッサをアイドルにする１つの大きい計算の代わりに、多くのプロセッサを利用する複数のより小さい計算を実行することができる。したがって本発明は、拡張可能性問題を解決する。大型並列サーバまたはクラスタは、今日の最も一般的なスーパコンピューティングインフラストラクチャである。
【００３８】
最もあり得る（または最も革新的な）仮説に基づいて複数のモデルを事前トレーニングすることにより、その仮説が結局は真実であることが分かる１つのモデルとのゲーム中にモデルを更新することができる。これは、事象が進行している間における、使用されているモデルの挙動の、ゲーム中に浮かび出る新しいデータに基づく変更を可能にし、また、これは、モデルを再トレーニングする必要がなく、使用されているモデルの切換えによるのみである。したがって本発明は、事象が進行している間のモデルのトレーニングに関連付けられた待ち時間問題を解決する。事象の新しい変化に対応する値を入力することによるモデルの挙動の変更と比較すると、モデルの切換えは、事象の新しい変化を処理するように特別に設計されるモデルを、事象のこの新しい変化のために特別に準備され（かつ、トレーニングされた）ものとしての使用を可能にする。
【００３９】
この方法は、インクリメンタル学習アルゴリズムおよびオンライン学習アルゴリズムにも適用する。インクリメンタル学習アルゴリズムまたはオンライン学習アルゴリズムが選択されると、本発明は、事象の特定の展開のための複数のこのようなインクリメンタルアルゴリズムまたはオンラインアルゴリズムの準備を可能にする。インクリメンタルアルゴリズムまたはオンラインアルゴリズムが選択されると、事象展開としてそれを連続的にトレーニングすることが可能である。事象が進行している間に、選択されたオンラインアルゴリズムまたはインクリメンタルアルゴリズム、または将来の選択のために利用可能なすべてのオンラインアルゴリズムまたはインクリメンタルアルゴリズムを、たとえそれらが予測するために現在選択されていない場合であっても、連続的にトレーニングすることさえ可能である。選択されたこれらは、後にこの連続的なトレーニングから利益を得ることになる。
【００４０】
方法は、コンピュータによって実施される。これは、方法のステップ（または実質的にすべてのステップ）が少なくとも１つのコンピュータまたは同様の任意のシステムによって実行されることを意味している。したがって方法のステップは、コンピュータによって、恐らくは完全に自動的に、または半自動的に実行される。例では、方法のステップのうちの少なくともいくつかのトリガリングは、ユーザ−コンピュータ対話を介して実行され得る。要求されるユーザ−コンピュータ対話のレベルは、ユーザの希望を実現するための、予知され、かつ、平衡に置かれた必要性の自動性のレベルに依存し得る。例では、このレベルは、ユーザによって定義され、および／または予め定義され得る。
【００４１】
方法のコンピュータ実施の典型的な例は、この目的のために適合されたシステムを使用して方法を実施することである。システムは、方法を実行するための命令を含むコンピュータプログラムがその上に記録されたメモリに結合されたプロセッサを備えることができる。メモリは、データベースを同じく記憶することができる。メモリは、このような記憶のために適合された任意のハードウェアであり、恐らくはいくつかの全く異なる物理部分（例えばプログラムのための部分、および恐らくはデータベースのための部分）を備える。システムは、グラフィカルユーザインターフェイスを備えることができる。
【００４２】
「データベース」により、探索および検索のために編成されたデータ（すなわち情報）の任意の収集が意味される（例えば予め定められた、構造化された言語、例えばＳＱＬに基づく、例えば関係データベース）。メモリ上に記憶される場合、データベースは、コンピュータによる速やかな探索および検索を可能にする。データベースは、実際、様々なデータ処理操作と関連してデータの記憶、検索、修正および削除を容易にするように構造化される。データベースは、記録に分解され得るファイルまたはファイルのセットからなることができ、記録の各々は、１つまたは複数の欄からなる。欄は、データ記憶の基本単位である。ユーザは、主として問合せを介してデータを検索することができる。キーワードおよびソーティングコマンドを使用して、ユーザは、多くの記録中の欄を速やかに探索し、並べ換え、グループ化し、かつ、選択することができ、それにより使用されているデータベース管理システムの規則に従って、データの特定の集合体上で報告書を検索し、または作成することができる。
【００４３】
方法は、一般に、観察のセットを操作する。観察は変数のセットであり、各々の変数は値と関連付けられる。変数は、システムの状態またはその一部の状態、もしくはシステムまたはその一部と関係があるか、もしくはシステムまたはその一部に対する影響力を有する要素の状態を表す。例えば自動車の観察の変数は、自動車の温度、オイル圧、瞬時燃料消費、競争中の平均燃料消費、タイヤの種類、空気の温度、天気（雨、晴れ、雪）、等々であってもよい。変数は、変数の状態を定量化する値と関連付けられる。観察は、所与の時点におけるシステムの状態を表す。観察のセットは、したがって異なる時点における変数の値である。実際には、システムは、航空宇宙、建築、建設、消費財、ハイテクデバイス、産業設備、輸送、海運および／または沖合オイル／ガス製造または輸送を始めとする様々な無制限の産業分野に属し得る。方法によって使用される観察のセットは、したがって、地球上の車両またはその一部のシステム（例えば自動車および軽トラック設備、競走用自動車、モータサイクル、トラックおよび電動機設備、トラックおよびバス、列車を含む）、航空機またはその一部のシステム（例えば機体設備、航空宇宙設備、推進設備、防衛製品、航空路設備、宇宙設備を含む）、船舶またはその一部のシステム（例えば海軍設備、商船、沖合設備、ヨットおよび作業船、海上設備を含む）、機械的システム全体または機械的システムの一部（例えば産業製造機械類、大型移動機械類または設備、設置された設備、産業設備製品、製造された金属製品、タイヤ製造製品を含む）、電気機械的システムもしくは電子システムまたはその一部（例えば消費者電子装置、安全保護および／または制御および／または計装製品、計算および通信設備、半導体、医療デバイスおよび設備を含む）、消費財（例えば家具、家庭および庭製品、余暇財、ファッション製品、耐久消費財小売業者用製品、非耐久消費財小売業者用製品を含む）、梱包（例えば食料および飲料ならびにタバコ、美容および個人医療、家庭用製品梱包を含む）などの任意の機械的システムであってもよい産業システムに関連する変数を含むことができる。
【００４４】
図２は、観察の例を示したものである。各々の線１２は観察を表しており、各々の列１４（分かり易くするために、図２には１つだけ点線で示されている）は変数に対応し、各々の長方形１８は、観察に対する変数の値を表している。この例では、観察のセットは、行列１０上に記憶される。各々の観察は、その値を使用して、《入力変数》として同じく知られているいわゆる《記述変数》上で記述されている（それらは、観察を記述するために、トレーニングされたモデルの入力として提供されるため）。興味深いことには、セットの各々の観察は、セットの他の観察の変数と同じ変数を含む。各々の観察に対して、１つまたは複数の変数は空であってもよく、すなわち値と関連付けられていなくてもよいことを理解されたい。各々の観察は、《出力変数》として同じく知られているいわゆる《目標変数》上で対応する値と関連付けられる。目標変数は、トレーニングされたモデルが新しい観察に対して評価しなければならない変数である。目標変数は、それらが、システムの挙動を理解し、および／または予測し、および／または反応するモデルのユーザを補助する情報を提供する、という意味でモデルのユーザにとっては有意義である。この例では、目標変数は、行列１６の中に同じく記憶される。各々の観察の値および目標変数は、行列１０および１６を含む単一の行列の中に記憶され得ることを理解されたい。観察および目標変数は、タグが付けられたデータのセットを形成する（また、タグが付けられたデータのセットと呼ばれる）。各々の目標変数には、いわゆる目標値である値が付随することを理解されたい。
【００４５】
図３は、システムの例を示したもので、システムは、クライアントコンピュータシステム、例えばユーザのワークステーションである。
【００４６】
例のクライアントコンピュータは、内部通信バス１０００に接続された中央処理装置（ＣＰＵ）１０１０、同じくバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０を備えている。クライアントコンピュータは、バスに接続されたビデオランダムアクセスメモリ１１００と関連付けられるグラフィカルプロセッシングユニット（ＧＰＵ）１１１０をさらに備えている。ビデオＲＡＭ１１００は、当分野ではフレームバッファとして同じく知られている。大容量記憶デバイスコントローラ１０２０は、ハードドライブ１０３０などの大容量メモリデバイスへのアクセスを管理している。コンピュータプログラム命令およびデータを有形的に具体化するのに適した大容量メモリデバイスは、一例として、ＥＰＲＯＭ、ＥＥＰＲＯＭおよびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよび取外し可能ディスクなどの磁気ディスク、磁気光学的ディスクおよびＣＤ−ＲＯＭディスク１０４０を含むあらゆる形態の不揮発性メモリを含む。上記はいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補足され、または特別に設計されたＡＳＩＣ（特定用途向け集積回路）に組み込まれ得る。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理している。クライアントコンピュータは、カーソル制御デバイス、キーボード、等々のハプティックデバイス１０９０を同じく含むことができる。カーソル制御デバイスは、クライアントコンピュータに使用され、ディスプレイ１０８０上の任意の所望の位置へのユーザによるカーソルの選択的位置決めを許容する。さらに、カーソル制御デバイスは、ユーザによる様々なコマンドおよび入力制御信号の選択を可能にする。カーソル制御デバイスは、システムへの入力制御信号のためのいくつかの信号発生デバイスを含む。典型的には、カーソル制御デバイスはマウスであってもよく、マウスのボタンを使用して信号が生成される。別法または追加として、クライアントコンピュータシステムは、感知可能なパッド、および／または感知可能なスクリーンを備えることも可能である。
【００４７】
コンピュータプログラムは、コンピュータによる実行が可能な命令を含むことができ、命令は、上記システムに方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体上に記録することができる。プログラムは、例えばデジタル電子回路の中、もしくはコンピュータハードウェア、ファームウェア、ソフトウェアの中、またはそれらの組合せの中で実施され得る。プログラムは、装置、例えばプログラマブルプロセッサによる実行のために機械可読記憶デバイスの中で有形的に具体化された製品として実施され得る。方法ステップは、命令のプログラムを実行して、入力データに関し動作し、かつ、出力を生成することによって方法の機能を実行するプログラマブルプロセッサによって実行され得る。プロセッサは、したがってプログラマブルであってもよく、また、データ記憶システム、少なくとも１つの入力デバイスおよび少なくとも１つの出力デバイスからデータおよび命令を受け取り、また、データ記憶システム、少なくとも１つの入力デバイスおよび少なくとも１つの出力デバイスにデータおよび命令を伝送するために結合され得る。アプリケーションプログラムは、必要に応じて、高水準手続き型プログラミング言語またはオブジェクト指向プログラミング言語で、もしくはアセンブリ言語または機械言語で実施され得る。いずれの場合においても、言語は、コンパイルされた、すなわち翻訳された言語であってもよい。プログラムは、フルインストレーションプログラムまたは更新プログラムであってもよい。システム上のプログラムのアプリケーションは、いずれの場合においても、命令が方法を実行することになる。
【００４８】
次に図１を参照すると、本発明の例が考察されている。
【００４９】
ステップＳ１０で、同様の事象の観察のセットの変数を識別する。同様の事象とは、事象が共通の特性を有していることを意味している。実際には、各々の観察は、１つまたは複数の変数と関連付けられる。事象間の共通の特性は変数であってもよい。したがって、また、図２を参照すると、観察のセットの各々の観察は、２つの観察の間の変数は異なる値を有し得ることを除き、同じ変数と同じである事象を記述している。
【００５０】
観察のセットは、観察の自然セットであってもよい（Ｓ１０４）。自然とは、変数の値が現実の事象に関し測定されていること、すなわち現実の世界で生じた事象、例えばスペースシャトルのエンジンの温度であることを意味している。観察および各々のこのような観察の変数がしたがって収集される。
【００５１】
観察のセットは、観察の合成セットであってもよい（Ｓ１０２）。合成とは、変数の値が計算されていることを意味している。例えばそれらは生成されている。合成変数を生成するための複数の手法が存在している。以下、２つの手法を説明する。
【００５２】
いずれの手法も、観察のセットの変数によって取られ得る値の範囲を識別することで始まる。いくつかの変数は離散値のみを取ることができる。これらは離散変数である。他の変数は連続する値を取ることができる。これらは連続する変数である。
【００５３】
いずれの手法も、観察の各々の変数に関する値を生成すること、およびこれらの値を組み合わせて合成観察を形成することを含む。例えば変数Ａが値［１、２、３］を取り、また、変数Ｂが値［１、２］を取る場合、組合せは、（１、１）、（１、２）、（２、１）、（２、２）、（３、１）、（３、２）である。すなわち｜Ａ｜*｜Ｂ｜個の組合せである。この例では、６個の新しい観察が生成されることが可能であり、それぞれ変数ＡおよびＢに関するその値によって定義され、また、ＡおよびＢの可能な値の６個の組合せに対応する。
【００５４】
いずれの手法も、各々の観察に対する目標値を生成することを含むことができる。目標値は、観察に関連付けられた目標変数の値である。それは、典型的には、観察の変数が入力に与えられると、シミュレーションモデルによって生成される。目標変数は、それらのそれぞれの目標値と関連付けられた観察を使用してトレーニングされると、機械学習アルゴリズムが学習して生成する変数である。機械学習の技術水準で知られている学習のこのプロセスにより、機械学習アルゴリズムは、学習して、それがトレーニングされたこれらと同様の新しい観察に応答して、それがトレーニングされた観察のこれらと無矛盾の目標値を生成することになる。
【００５５】
２つの手法は、各々の変数に関する値を生成するために使用される方法によって異なっている。
【００５６】
第１の手法は、確率変数発生器を使用して、恐らくは分布の範囲上の一様な分布に従って、またはニーズに従った異なる確率分布に従って、変数の定義の範囲上で値を生成することにあり得る（例えばモデルを特定の変数に対して値Ｖと同様の値を取る観察のためにとりわけよくトレーニングされたものにしたい場合、Ｖの近辺を中心とする公称分布などの、その変数に対するＶに近い有利な値であろう確率分布を使用することを決定することができる）。
【００５７】
第２の手法は、恐らくは、離散変数、すなわち離散値を取る変数を使用して変数を近似した後に、可能な値のその範囲上の変数に対する可能な値を列挙することにあり得る。この近似は、離散変数の最も近い離散値を使用して各々の値を近似することによって実施され得る。離散値は、例えば精度の規定されたレベルに丸められた値として定義され得る。実際には、物理的事象を表す変数は、定義の有界範囲上の値のみを取り、下限および上限が存在している。これらの限界は、典型的には、過去のデータを調べることによって見出され得る。離散変数は、定義の有界範囲上の有限数の値を取ることになる。これが達成を希望されているものである場合、これは、離散近似のすべての可能な値の列挙を可能にする。
【００５８】
観察のセットは、自然観察と合成観察の混合であってもよい。例えば自然観察の数が少なすぎて、したがって事象を十分に表していない場合、観察のセットは、モデルが使用されるべき可能な観察のセットを観察のセットが統計的に表すよう、合成観察を使用して完成され得る。
【００５９】
次に、ステップＳ２０で、複数のモデルが、ステップＳ１０４で収集された観察、またはステップＳ１０２で生成された観察に基づいてトレーニングされる。
【００６０】
各々のモデルは、観察のサブセットに関しトレーニングされ得る。サブセットは、フィルタリングによって獲得され得る。フィルタリングは、観察の変数の値に基づかれる。フィルタリングを決定する値は、異なる手法を使用して選択され得る。
【００６１】
１つの手法は、観察の区分を獲得することであってもよく、各々の観察は、１つの、そしてただ１つのモデルをトレーニングするために使用される。この手法は、モデルが検索される本発明の後のステップで単一のモデルが検索される事例に関連していてもよい。その手法の特定の事例は、クラスタ内の観察をグループ化することであってもよく、観察がクラスタ内で可能な限り互いに接近し、また、可能な限り他のクラスタからの観察から遠ざかる（任意に定義される距離に関しては、ユーザのニーズによる）。例えば現況技術で知られているクラスタ化技法は、この手法の文脈においては、フィルタリングのための値を規定するために使用され得る。この手法は、結果の品質に関して、システムの資源消費の最小化を促進することができる。
【００６２】
異なる手法は、各々の新しい観察に対して冗長であるモデルをトレーニングするために観察のセットが重複することであり得る。この手法は、モデルが検索される本発明の後のステップで複数のモデルが検索され、かつ、新しい観察の結果が、複数のモデルによって生成される結果を平均することによって（または結果間で投票することによって）計算される事例に関連していてもよい。例えば各々のフィルタリングは、規定された変数上のその値が変数の中間の値より小さいか、または大きい観察を受け入れることによって観察の半分を受け入れることができる。この手法は、システムの資源消費の最小化に関して、結果の品質を促進することができる。
【００６３】
ステップＳ２０の結果として、行列として記憶され、かつ、表される、ステップＳ１０２および／またはＳ１０４の観察のセットは、より小さいいくつかの行列を生成した。すべての観察が含まれていれば、また、すべての観察がモデルをトレーニングするように前もって定められたセットに使用されていれば、元の行列からの情報の損失はなかったであろう（これは、説明された両方のフィルタリング手法における事例である）。興味深いことには、機械学習モデルをトレーニングするために使用される場合、このセットの各々の行列は、メモリ上のより小さいフットプリントを有する（それがより小さいため）。さらに、行列のこのセット上での後続する独立した計算操作（モデルをトレーニングするための各々の行列の使用など）が並列化され得る。
【００６４】
次に、ステップＳ３０で複数のモデルにインデックスが付けられる。各々のモデルをトレーニングするために使用される観察の変数には、モデルのメタデータの形態でインデックスが付けられる。これは、モデルが、それらをトレーニングするために使用される観察の変数の値に基づいて探索可能であることを意味している。インデックスが付けられたモデルのメタデータ中にリストされた値の選択には複数の手法が存在している。
【００６５】
１つの手法は、各々の変数がインデックスにおけるモデルの属性として参照され、また、モデルをトレーニングするために使用される観察に対応するその変数上の各々の値がその属性の値の中にリストされるよう、モデルをトレーニングするために使用されるすべての観察のすべての変数の値をモデルのメタデータに含めることにある。このようなインデックス構造は、典型的には、問合せにおいて規定された値に対して全く同じまたは同様の値を有する最大数の観察を使用してトレーニングされるモデルの検索を可能にする。インデックスに使用される逆リストの構造のため、このようなインデックスによって要求される記憶空間は、観察の行列のサイズに応じて直線的に増加するのみである。
【００６６】
モデルが、それらが同じクラスタに属することに基づいてフィルタされた観察に関しトレーニングされる事例にとりわけ関連するであろう別の手法は、各々のモデルのメタデータの中に観察の変数を追加することであってもよく、各々の変数はその変数上のクラスタの中心の座標と関連付けられる。いくつかの変数を規定する問合せは、その中心が規定された変数上の同じまたは同様の値を有する観察のクラスタに関しトレーニングされたモデルの検索をもたらすことになる。
【００６７】
変数の厳密な値に基づく探索を支援するために、モデルのインデックスは、変数に対する対（モデルＩＤ、モデル）のリストおよび逆リストを含む。
【００６８】
変数に対応する逆リストは、対（ｖａｌｕｅ、［モデルＩＤ1、…、モデルＩＤN］）のリストであり、［モデルＩＤ1、…、モデルＩＤN］は、そのトレーニングセットが変数上の値ｖａｌｕｅによって特性化されるモデルに対応するトレーニングされたモデルｉｄのリストである（これは、例えばその中心が変数上の座標値を有すること、またはその観察のうちの１つが変数上の値ｖａｌｕｅ、さもなければ手法に応じた値を有することを意味し得る）。この構造は、変数の値を規定する問合せに対して、より速いモデルの検索を可能にする。実際、逆リストは、分類された逆リスト中の規定された値の発見が、すべてのモデルを調べ、かつ、それらの対応する関連付けられた値をチェックするより速くなるように分類される。
【００６９】
インデックスにおける同様の値の探索を逆リストを使用して支援するために、１つの手法は、それらを逆リストに加える前に値を離散化し、かつ、問合せにおいて規定された値の距離内のすべての離散値を探索することである。この文脈においては、値を離散化することは、距離よりも低い精度レベルで丸められた値でそれらを近似することを意味している。
【００７０】
ステップＳ１０からＳ３０は、本発明の構築時間を形成する。構築時間は、事前処理タスクとも呼ばれている。事前処理タスクは上で説明されている。
【００７１】
次にステップＳ４０からＳ８０が説明され、それらは本発明の実行時間を形成する。
【００７２】
ステップＳ４０で、観察の１つまたは複数の第２のセットに関連するデータが収集される。観察の第２のセットは、ステップＳ１０の観察で記憶される事象と同様の事象を表す。第２のセットの観察は、ステップＳ１０の観察のセットの変数と少なくとも同じ変数を含む。説明のために、同様の事象とは、事象が共通の特性を有していることを意味している。実際には、収集されるデータは同様の事象の観察であり、各々の観察は、１つまたは複数の変数と関連付けられる。事象間の共通の特性は変数であってもよい。したがって観察の第２のセットの各々の観察は、２つの観察の間の変数は異なる値を有し得ることを除き、同じ変数と同様である事象を記述している。
【００７３】
データの収集は、ステップＳ１０の観察のセットに対する方法と同じ方法で実行されるが、値が測定されるだけであり、すなわち観察の第２のセットは、現実の事象に関し測定された変数の値のみを含む。測定された変数の測定された値は、方法を実行するシステムに実時間で伝送されることが好ましい。これは、データプロバイダまたはセンサからの任意の通信チャネルを介した通知を実時間プッシュするためのサブスクリプション、およびサブスクリプションまたはメッセージングプロトコルによって実施され得る。チャネルは、典型的には、データプロバイダまたはセンサによって提供されるインターフェイスに依存することを理解されたい。ここでは、実時間という用語は、収集されたデータを転送するための時間が時間の予め定められた期間であることを意味しており、転送のために要求される時間は、予め定められた期間を超えてはならない。
【００７４】
観察のセットは、過去の同様の事象上の観察を含むことができ、一方、観察の第２のセットは、現在の同様の事象上の観察を含む。
【００７５】
次に、ステップＳ５０で、インデックスが付けられる少なくとも１つのトレーニングされたモデルが問い合わされる。問合せは、ステップＳ４０で収集された１つまたは複数の変数に従って実行される。
【００７６】
問合せに含まれる変数は、典型的には、ゆっくり移動する変数、すなわちその値が連続する観察においてゆっくり変化する変数である。モデルは、それらが結果を予測するために適用されるすべての観察に対して関連していなければならない。それらは、それらが同様の観察に関しトレーニングされている場合は適切である。最近の観察がいくつかの変数上の同様の値を共有している場合、同じ変数上の同様の値を同じく共有する観察に関しトレーニングされたモデルを選択することが良好な着想である。例えば使用されているモデルが１０分毎に変更され（問い合わされ）、かつ事象が毎秒収集される場合、６００個の過去に収集された事象にわたって比較的安定した値を示した変数は、次のモデルに対する問合せに含まれるべき良好な候補である。
【００７７】
問合せの結果として、少なくとも１つのトレーニングされたモデルが返される。しかしながら複数のモデルが要求と一致し、したがって２つ以上のトレーニングされたモデルが返され得ることが可能である。したがってステップＳ６０で、複数のトレーニングされたモデルが問合せと一致するかどうかが決定される。
【００７８】
トレーニングされたモデルが１つだけ返される場合、ステップＳ９０で、トレーニングされたモデルを使用して結果が生成され、それは以下で説明される。２つ以上のトレーニングされたモデルが返される場合、結果が複数のモデルからどのように生成されるかが決定される。
【００７９】
維持されるべきトレーニングされたモデルの選択は、以下のように実行され得る。問合せに応答してモデルを選択する少なくとも２つの手法が存在している。第１の手法では、１つのモデルのみが選択される。ひろい上げられるモデルは、そのメタデータ内の変数の値と、問合せにおける対応する変数の値との間の近接測度に基づいて最も高いランキングである（Ｓ７０）（典型的には問合せは現在の事象を表す）。
【００８０】
第２の手法では、複数のモデルが選択される。この手法においても、モデルは、それらのメタデータ内の変数の値と、問合せにおける対応する変数の値との間の近接測度に基づいて選択され得る（典型的には問合せは現在の事象を表す）。例えば上で説明した近接測度に基づくＮ個の最も高いランキングモデルが選択される。あるいは例えば、問合せに対する近接のその測度が特定の閾値未満であるか、または閾値を超えるモデルが選択される。
【００８１】
次に、ステップＳ８０で、１つまたは複数の観察が選択されたモデルに入力される。各々の観察は、値を有する少なくとも１つの入力変数を含む。実際には、観察の入力変数は、収集された観察の第２のセットの選択された変数の観察された値である。
【００８２】
次に、ステップＳ９０で、モデルに入力された観察に対する結果が計算される。各々の選択されたモデルは、同じく目標値と呼ばれる出力を返す。目標値は、典型的には、観察を評価するために使用される。例えば目標値は、観察が与えられる将来の事象上の予測であっても、または他の観察からの入力された観察を区別するための観察の分類であってもよい。それは、観察を記述するメトリックであってもよい。
【００８３】
ステップＳ６０〜Ｓ７０で１つのモデルのみが選択される場合、観察の結果は、入力における観察の受取りに応答したその出力の関数である。典型的には、観察の結果は、入力における観察の受取りに応答したモデルの出力である。
【００８４】
ステップＳ６０で複数のモデルが選択される場合、観察の結果は、入力における観察の受取りに応答したモデルの出力の関数である。例えば各々のモデルの出力が種別である場合（モデルが観察の分類を提供する場合）、結果は、選択されたモデルの出力に最も表現されている種別であってもよく、すなわち結果は、モデルからの投票の結果である。各々の投票は、より関連するモデルが投票により寄与するよう、ステップＳ６０で計算された、モデルと問合せの間の類似性測度の関数によって重み付けされ得る。各々のモデルの出力が数値である場合、結果は、モデルの出力されたメトリックの平均であり得る。同様に、平均は、ステップＳ６０で計算されたモデルのそれぞれの関連性によって重み付けされ得る。
【００８５】
次に、衛星の打上げのための軌道船の操作の間に決断するミッション制御員および乗組員を補助する本発明の例が説明される。
【００８６】
これらの操作においては、ほとんどのアクションが自動化されたプログラムおよび計画された手順に従って実行されることは事実であり、指針および計画された事象のセットは、フライトデータファイル（Flight Data File）の中に存在している。フライトデータファイルは、クルーアクティビティプラン、ペイロードハンドブック、および精巧な飛行計画プロセスの間、一緒に置かれる他の文書を含む。問題のタイプは区分化され、また、アクションは、あらゆるタイプの問題を予想する目的で、前もって計画される。
【００８７】
しかしながらミッション制御員および乗組員には、常に決断することが依然として必要である。例えばＮＡＳＡは、あらゆる中止モードの中でもとりわけａｂｏｒｔ−ｔｏ−ｏｒｂｉｔは、可能である場合、好ましいモードであると明言しており、また、１つの理由は、それが、管制員および飛行乗組員に、状況を評価し、かつ、着水するか、または計画された通りに継続することを決定し、また、問題をどうやって解決するかを決定するための時間を与えることである。しかしながらこの時間は、ミッションが保留されるため貴重であり、資源は消費されっぱなしであり、また、問題がより一層悪化し得る。ａｂｏｒｔ−ｔｏ−ｏｒｂｉｔが可能ではない場合、決定の速さおよび質がより一層重要である。
【００８８】
いくつかの変数がスペースシャトルのために測定され、各々のエンジンのためのエンジンスロットル、各々のエンジンのための燃料レバー、キャビン圧力（減圧化の場合、問題）、軌道船冷却システムの状態（失われると問題）、高度、飛行経路角度、方向、重量、速度／範囲、宇宙船の表面の圧力、電気システム状態、現在の手順（カウントダウン／第１の段階／第２の段階／Ｒｅｔｕｒｎ  ｔｏ  Ｌａｕｎｃｈ  Ｓｉｔｅ／Ｔｒａｎｓ−Ａｔｌａｎｔｉｃ  Ａｂｏｒｔ  Ｌａｎｄｉｎｇ／Ａｂｏｒｔ  Ｏｎｃｅ  Ａｒｏｕｎｄ／Ａｂｏｒｔ  ｔｏ  Ｏｒｂｉｔ／Ｃｏｎｔｉｎｇｅｎｃｙ  Ａｂｏｒｔ  ／Ｅｘｔｒａ−ｖｅｈｉｃｕｌａｒ  ａｃｔｉｖｉｔｙ）、等々が測定され得る。さらにこの例では、アクション可能変数は、各々のエンジンシステムのためのエンジンスロットル、燃料レベル（燃料は投棄され得る）、重量（材料は投棄され得る）、操縦の選択（高度、姿勢、飛行角度、方向、等々を変更するため）、手順の選択および軌道の選択を含む。
【００８９】
この文脈においては、本発明は、衛星を正しい軌道に乗せる予測された機会、地球に戻る際の危険のない着水、例えば材料の損傷の最小化および乗組員メンバーの傷害または死亡の原因になりやすいキャビンの内部における事件の最小化によるミッションの総合コストの最小化などの事象の予測された結果の検索に適用され得る。いくつかの観察が生成または収集され、また、いくつかの機械学習アルゴリズムがこれらの観察のサブセットを使用してトレーニングされ、かつ、インデックスが付けられる。上で列挙したすべての変数は、機械学習アルゴリズムの入力変数を形成し、また、機械学習アルゴリズムの出力は、観察の結果を予測する。
【００９０】
インデックスにおける各々のモデルは、上で定義した変数およびそれらの値によって完全に記述される状況に対応する。インデックスからモデルを問合せるために、これらの変数およびそれらの値が対応するモデルに関連付けられたメタデータに追加される。例えば冷却システムの構成要素が、高度が６０マイル（９６．５６キロメートル）で、かつ、シャトル速度が１６，６９７ｍｐｈ（２６，８７０ｋｐｈ）である飛行の８分後に故障する状況に適用するモデルには、これらの特性を使用してそのメタデータの中にインデックスが付けられることになる。これは、状況に応じて正しいモデルが問い合わされることを可能にする。この場合も、インデックスが付けられたモデルは、シミュレーションモデルまたは機械学習モデルであってもよい。機械学習モデルをシミュレーションによって評価されるオプションに関しトレーニングし、かつ、シミュレーションモデルにインデックスを付ける代わりに機械学習モデルにインデックスを付ける利点は、全シミュレーションと比較すると、機械学習モデルが一般により速く実行することである（可能オプションを評価するために）。機械学習モデルを事前に計算し、かつ、インデックスを付ける利点は、アクションの進行中にモデルをトレーニングする必要がない（したがって時間を節約する）ことである。
【００９１】
例えばこれは、複数の中止モードが可能である場合に、「どちらがＡｂｏｒｔ−ｔｏ−Ｏｒｂｉｔモードのための好ましい軌道であるか？」、または「どちらが好ましい中止モードであるか？」などの質問に答えるために使用され得る。
【００９２】
例えば中止モードを評価するようにトレーニングされたモデルは、中止モードを特定する（１つの変数の中で）入力観察、およびそれが選択される（他の変数の中で）文脈を取り入れることになる。それは、中止モードを関連するもの、または関連しないものにする文脈であり、また、それらのそれぞれの文脈における各々の中止モードの関連性は、対応する観察を入力の中で受け取る際のモデルの結果によって評価される。この結果をもたらすための最も関連するモデルが、現在の状況（飛行段階、高度、速度、等々であり、すべてのこれらの変数は、問合せを可能にするためにインデックスのメタデータの中に存在する）を特定するインデックスに対する自動化された問合せに応答して選択されることになり、また、それらの結果を予測するために、それらの共通の文脈の中で中止モードの複数の選択を表す観察に関し実行されることになる。
【図１】
2017120646.tif 000003
【図２】
2017120646.tif 000004
【図３】
2017120646.tif 000005
【外国語明細書】
2017120646000001.pdf