IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7571429データ分析システム診断方法、デバイス及び媒体
<>
  • 特許-データ分析システム診断方法、デバイス及び媒体 図1
  • 特許-データ分析システム診断方法、デバイス及び媒体 図2
  • 特許-データ分析システム診断方法、デバイス及び媒体 図3
  • 特許-データ分析システム診断方法、デバイス及び媒体 図4
  • 特許-データ分析システム診断方法、デバイス及び媒体 図5
  • 特許-データ分析システム診断方法、デバイス及び媒体 図6
  • 特許-データ分析システム診断方法、デバイス及び媒体 図7A
  • 特許-データ分析システム診断方法、デバイス及び媒体 図7B
  • 特許-データ分析システム診断方法、デバイス及び媒体 図7C
  • 特許-データ分析システム診断方法、デバイス及び媒体 図7D
  • 特許-データ分析システム診断方法、デバイス及び媒体 図7E
  • 特許-データ分析システム診断方法、デバイス及び媒体 図7F
  • 特許-データ分析システム診断方法、デバイス及び媒体 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】データ分析システム診断方法、デバイス及び媒体
(51)【国際特許分類】
   G06N 99/00 20190101AFI20241016BHJP
   G06N 3/08 20230101ALI20241016BHJP
   G06N 20/00 20190101ALI20241016BHJP
【FI】
G06N99/00 180
G06N3/08
G06N20/00
【請求項の数】 11
【外国語出願】
(21)【出願番号】P 2020152861
(22)【出願日】2020-09-11
(65)【公開番号】P2021060982
(43)【公開日】2021-04-15
【審査請求日】2023-09-08
(31)【優先権主張番号】201910865445.9
(32)【優先日】2019-09-12
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】ジャン ニー
(72)【発明者】
【氏名】チェン シャオイー
(72)【発明者】
【氏名】ジャオ ヤン
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特表2018-529134(JP,A)
【文献】特開2003-032253(JP,A)
【文献】Yarin GAL et al.,Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning,arXiv[online],v6,2016年10月04日,[検索日2024.08.29],インターネット:<URL:https://arxiv.org/pdf/1506.02142v6>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 99/00
G06N 3/08
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
コンピュータがデータ分析システムを診断する方法であって、
取得手段が、診断しようとするデータ分析システムにおける分析エンジンに関する情報、及び前記分析エンジンに関連し、かつ前記分析エンジンの訓練データ及び予測データの少なくとも一方を含む診断しようとするデータを取得するステップと、
特定手段が、受信した前記情報に基づいて、前記分析エンジンに対応する診断エンジンを特定するステップと、
提供手段が、前記診断エンジンを利用して前記診断しようとするデータを処理することで、前記分析エンジン及び前記診断しようとするデータの少なくとも一方に関連する不確実性メトリックを提供するステップと、を含み、
前記不確実性メトリックは、前記分析エンジンが前記診断しようとするデータを処理して得られた予測結果についての確実度を示す、データ分析システム診断方法。
【請求項2】
前記情報に基づいて前記分析エンジンに対応する診断エンジンを特定することは、
前記情報により前記分析エンジンがニューラルネットワークモジュールを含むことが示されることに応じて、前記情報に基づいて前記ニューラルネットワークモジュールを構築することと、
確率推定で前記ニューラルネットワークモジュールを更新することで、確率ニューラルネットワークモジュールを得ることと、
得られた前記確率ニューラルネットワークモジュールを含ませるように前記診断エンジンを構築することと、を含む、請求項1に記載の方法。
【請求項3】
前記情報に基づいて前記分析エンジンに対応する診断エンジンを特定することは、
前記情報により前記分析エンジンがニューラルネットワークモジュールを含まないことが示されることに応じて、予め配置された確率ニューラルネットワークモジュールを含ませるように前記診断エンジンを構築することを含む、請求項2に記載の方法。
【請求項4】
前記診断しようとするデータは、前記訓練データ及び前記予測データの両方を含み、
前記不確実性メトリックを提供することは、
前記診断エンジンを利用して前記診断しようとするデータを処理することで、前記診断エンジンについてのトータル不確実性メトリックを特定することと、
前記トータル不確実性メトリックに基づいて、モデルの不確実性メトリック、データの不確実性メトリック及び分布の不確実性メトリックの少なくとも一つを提供することと、を含み、
前記モデルの不確実性メトリックは、少なくとも、前記分析エンジンの複雑度と前記診断しようとするデータの規模との適合度による前記分析エンジンのパフォーマンスへの影響を示し、
前記データの不確実性メトリックは、少なくとも、前記診断しようとするデータの品質による前記分析エンジンのパフォーマンスへの影響を示し、
前記分布の不確実性メトリックは、少なくとも、前記予測データと前記訓練データの分布とのマッチング度による前記分析エンジンのパフォーマンスへの影響を示す、請求項1に記載の方法。
【請求項5】
前記診断エンジンの入力は、それぞれ、異なる特徴に関連する複数のデータ項目を含み、
前記不確実性メトリックを提供することは、
前記不確実性メトリックに基づいて、前記複数のデータ項目の少なくとも1つのデータ項目の前記不確実性メトリックへの貢献を特定することを含む、請求項1に記載の方法。
【請求項6】
さらに、前記提供手段が、
前記貢献に基づいて、前記複数のデータ項目の少なくとも1つのデータ項目を調整する指示を提供するステップを含む、請求項5に記載の方法。
【請求項7】
さらに、前記提供手段が、
前記分析エンジン及び前記診断しようとするデータの前記少なくとも一方を調整する指示を提供するステップを含む、請求項1に記載の方法。
【請求項8】
前記分析エンジン及び前記診断しようとするデータの前記少なくとも一方を調整する指示を提供することは、
前記不確実性メトリックが所定の閾値より大きいことに応じて、前記指示を提供することを含む、請求項7に記載の方法。
【請求項9】
前記診断しようとするデータは、前記訓練データ及び前記予測データの両方を含み、
前記分析エンジン及び前記診断しようとするデータの前記少なくとも一方を調整する指示を提供することは、
前記診断エンジンを利用して前記訓練データを処理することで、第1の不確実性メトリックを取得することと、
前記診断エンジンを利用して前記予測データを処理することで、第2の不確実性メトリックを取得することと、
前記第1の不確実性メトリックと前記第2の不確実性メトリックとを比較することで、前記分析エンジン及び前記診断しようとするデータの前記少なくとも一方を調整する指示を提供することと、を含む、請求項7に記載の方法。
【請求項10】
データ分析システムを診断するデバイスであって、
少なくとも1つの処理ユニットと、
前記少なくとも1つの処理ユニットに接続され、前記少なくとも1つの処理ユニットが実行する指令を記憶する少なくとも1つのメモリと、を備え、
前記指令が前記少なくとも1つの処理ユニットによって実行されると、請求項1-9のいずれか1項に記載の方法を実行する、デバイス。
【請求項11】
請求項1-9のいずれか1項に記載の方法を実行するためのコンピュータ読み取り可能なプログラム指令を記憶している、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施例は、人工知能分野に関し、より具体的には、データ分析システム診断方法、データ分析システム最適化方法、デバイス及びコンピュータ記憶媒体に関する。
【背景技術】
【0002】
コンピュータ技術の発展に伴い、データ分析システムは、既に人々の生活の様々な方面において幅広く適用されており、例えば、ディープニューラルネットワーク等の分析エンジンは、ますます、画像識別、音声識別や目標検出等の様々なタスクに使用されている。通常、訓練データを利用して分析エンジンを訓練する必要があるが、分析エンジンは、予測中、訓練段階のパフォーマンスに達しないことが多い。分析エンジンの予測段階におけるパフォーマンスの低下につながる様々な原因が存在し得るため、開発者は、分析エンジンの持つ欠陥を見出して、対応して改善しにくいので、これは望ましくない。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示の実施例は、データ分析システムを診断・最適化する技術案を提供する。
【課題を解決するための手段】
【0004】
本開示の第1局面によれば、データ分析システムを診断する方法を提供し、当該方法は、診断しようとするデータ分析システムにおける分析エンジンに関する情報、及び分析エンジンに関連し、かつ分析エンジンの訓練データ及び予測データの少なくとも一方を含む診断しようとするデータを取得することと、受信した情報に基づいて、分析エンジンに対応する診断エンジンを特定することと、診断エンジンを利用して診断しようとするデータを処理することで、分析エンジン及び診断しようとするデータの少なくとも一方に関連する不確実性メトリックを提供することと、を含み、不確実性メトリックは、分析エンジンが診断しようとするデータを処理して得られた予測結果についての確実度を示す。
【0005】
本開示の第2局面によれば、データ分析システムを最適化する方法を提供し、当該方法は、診断システムへデータ分析システムにおける分析エンジンに関する情報、及び分析エンジンに関連し、かつ分析エンジンの訓練データ及び予測データの少なくとも一方を含む診断しようとするデータを提供することと、診断システムから分析エンジン及び診断しようとするデータの少なくとも一方に関連する不確実性メトリックを受信することと、不確実性メトリックに基づいて、分析エンジンを更新することと、を含み、不確実性メトリックは、分析エンジンが診断しようとするデータを処理して得られた予測結果についての確実度を示す。
【0006】
本開示の第3局面によれば、データ分析システムを診断するデバイスを提供する。当該デバイスは、少なくとも1つの処理ユニットと、少なくとも1つの処理ユニットに接続され、少なくとも1つの処理ユニットが実行する指令を記憶する少なくとも1つのメモリと、を備え、当該指令は、少なくとも1つの処理ユニットによって実行されると、当該デバイスに動作を実行させる。当該動作は、診断しようとするデータ分析システムにおける分析エンジンに関する情報、及び分析エンジンに関連し、かつ分析エンジンの訓練データ及び予測データの少なくとも一方を含む診断しようとするデータを取得することと、受信した情報に基づいて、分析エンジンに対応する診断エンジンを特定することと、診断エンジンを利用して診断しようとするデータを処理することで、分析エンジン及び診断しようとするデータの少なくとも一方に関連する不確実性メトリックを提供することと、を含み、不確実性メトリックは、分析エンジンが診断しようとするデータを処理して得られた予測結果についての確実度を示す。
【0007】
本開示の第4局面によれば、データ分析システムを最適化するデバイスを提供する。当該デバイスは、少なくとも1つの処理ユニットと、少なくとも1つの処理ユニットに接続され、少なくとも1つの処理ユニットが実行する指令を記憶する少なくとも1つのメモリと、を備え、当該指令は、少なくとも1つの処理ユニットによって実行されると、当該デバイスに動作を実行させる。当該動作は、診断システムへデータ分析システムにおける分析エンジンに関する情報、及び分析エンジンに関連し、かつ分析エンジンの訓練データ及び予測データの少なくとも一方を含む診断しようとするデータを提供することと、診断システムから分析エンジン及び診断しようとするデータの少なくとも一方に関連する不確実性メトリックを受信することと、不確実性メトリックに基づいて、分析エンジンを更新することと、を含み、不確実性メトリックは、分析エンジンが診断しようとするデータを処理して得られた予測結果についての確実度を示す。
【0008】
本開示の第5局面によれば、コンピュータ読み取り可能な記憶媒体を提供する。当該コンピュータ読み取り可能な記憶媒体は、第1局面に記述された方法を実行するためのコンピュータ読み取り可能なプログラム指令を記憶している。
【0009】
本開示の第6局面によれば、コンピュータ読み取り可能な記憶媒体を提供する。当該コンピュータ読み取り可能な記憶媒体は、第2局面に記述された方法を実行するためのコンピュータ読み取り可能なプログラム指令を記憶している。
【0010】
発明の概要を提供することは、簡略した形態で概念についての選択を紹介するためであり、これらは、以下の具体的な実施的形態においてさらに詳細に説明される。発明の概要は、本開示の肝心となる特徴又は必須な特徴を示す意図も、本開示の範囲を限定する意図もない。
【図面の簡単な説明】
【0011】
図面を参照しながら本開示の例示的な実施例をより詳細に説明して、本開示の上記及びその他の目的や特徴や利点はより明確になる。なお、本開示の例示的な実施例において、同一の符号は、通常同一の部品を示す。
【0012】
図1】本開示の実施例が実施可能な環境を示す模式図である。
図2】本開示の実施例に係るデータ分析システムを診断する過程を示すフローチャートである。
図3】本開示の実施例に係る診断エンジンを特定する過程を示すフローチャートである。
図4】本開示の実施例に係る調整指示を提供する過程を示すフローチャートである。
図5】本開示の実施例に係る不確実性メトリックの異なる特徴における分布を示す模式図である。
図6】本開示の実施例に係るデータ分析システムを最適化する過程を示すフローチャートである。
図7A】本開示の実施例に係る例示的な不確実性メトリックを示す模式図である。
図7B】本開示の実施例に係る例示的な不確実性メトリックを示す模式図である。
図7C】本開示の実施例に係る例示的な不確実性メトリックを示す模式図である。
図7D】本開示の実施例に係る例示的な不確実性メトリックを示す模式図である。
図7E】本開示の実施例に係る例示的な不確実性メトリックを示す模式図である。
図7F】本開示の実施例に係る例示的な不確実性メトリックを示す模式図である。
図8】本開示の実施例を実行可能である例示的なデバイスを模式的に示すブロック図である。
【発明を実施するための形態】
【0013】
以下、図面を参照しながら、本開示のより好ましい実施例を詳細に説明する。図面は、本開示の好ましい実施例を示しているが、本開示は、様々な形態で実現されることができ、ここで説明された実施例に制限されるものではないと理解すべきである。一方、これらの実施例は、本開示がより明確かつ完全となり、本開示の範囲を当業者に完全に伝えるために提供される。
【0014】
本明細書で使用される「含む」という用語及びその変形は、オープン式であり、すなわち「含むがこれに限定されない」を意味する。特に明記されない限り、「や」という用語は「及び/又は」を意味する。「基づく」という用語は、「少なくとも一部に基づく」ことを意味する。「1つの例示的な実施例」及び「1つの実施例」という用語は、「少なくとも1つの例示的な実施例」を意味する。「もう1つの実施例」という用語は、「少なくとも1つの別の実施例」を意味する。「第1」、「第2」などの用語は、異なるオブジェクト又は同じオブジェクトを指す場合がある。以下、他の明示的及び非明示的な定義も含まれる場合がある。
【0015】
上述のように、コンピュータ技術の発展に伴い、データ分析システムは、既に人々の生活の様々な方面において幅広く適用されており、例えば、ディープニューラルネットワーク等の分析エンジンは、ますます、画像識別、音声識別や目標検出等の様々なタスクに使用されている。人々は、データ分析システムがデータに対して予測した結果に依存しつつあり、特に、医療診断、金融投資、ビジネス・公共政策決定等の肝心分野において、予測結果の信頼性及び安定性はより重要となる。しかしながら、分析エンジンは、予測中、訓練段階のパフォーマンスに達しないことが多い。従って、データ分析システムにおける分析エンジンや訓練データ/予測データに存在する欠陥を如何に特定して、対応して改善するかが注目されてきていた。
【0016】
本開示のいくつかの実施例によって、データ分析システムを診断する技術案を提供する。当該技術案において、まず、診断しようとするデータ分析システムにおける分析エンジンに関する情報及び分析エンジンに関連し、かつ分析エンジンのための訓練データ及び予測データの少なくとも一方を含む診断しようとするデータを取得することができる。次に、受信した情報に基づいて、分析エンジンに対応する診断エンジンを特定するとともに、診断エンジンを利用して診断しようとするデータを処理することにで、分析エンジン及び診断しようとするデータの少なくとも一方に関連する不確実性メトリックを提供することができ、ここでの不確実性メトリックは、分析エンジンが診断しようとするデータを処理して得た予測結果についての確実度を示す。このようにして、分析エンジンに対応する診断エンジンを利用して、モデル又は訓練データ及び予測データを含む診断しようとするデータが、データ分析システムにおける分析エンジンによる予測の正確性へ与える影響を判断することができ、さらに、ユーザに対して、モデル又は診断しようとするデータに存在し得る欠陥を特定するための支援を提供する。さらに、個別の診断エンジンを利用してデータ分析システムを診断することで、データ分析システムの正常な稼働が影響され得る場合に、開発者に対してデータ分析システムの診断アドバイスを提供することができる。
【0017】
本開示の他のいくつかの実施例によって、さらに、データ分析システムを最適化する技術案を提供する。当該技術案において、まず、診断システムへ、データ分析システムにおける分析エンジンに関する情報及び分析エンジンに関連する診断しようとするデータを提供し、ここでの診断しようとするデータは、分析エンジンのための訓練データ及び予測データの少なくとも一方を含む。次に、診断システムから分析エンジン及び診断しようとするデータの少なくとも一方に関連する不確実性メトリックを受信し、ここでの不確実性メトリックは、分析エンジンが診断しようとするデータを処理して得た予測結果についての確実度を示す。その後、不確実性メトリックに基づいて、分析エンジンを更新することができる。このようにして、分析エンジンにより特定された不確実性メトリックに基づいて分析エンジンを更新することができ、さらに、データ分析システムのパフォーマンスを改善することができる。
【0018】
例示的な環境
以下、図面を参照しながら本開示の実施例を具体的に説明する。図1は、本開示のいくつかの実施例を実施可能な例示的な環境100を示す模式図である。図1に示されるように、当該例示的な環境100は、データ分析システム110及び診断システム140を含む。データ分析システム110は、既存データから一定の知識及び能力を学習して、新たなデータを処理することができる分析エンジン125を含む。分析エンジン125は、例えば、画像の分類、目標検出、音声識別、機械翻訳、コンテンツフィルタリングなどの様々なタスクを実行するように設計されることができる。分析エンジン125は、例としては、様々なディープニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN)、サポートベクターマシン(SVM)、ディシジョンツリー、ランダムフォレストモデルなどを含むが、これらに限定されない。
【0019】
図1に示されるように、データ分析システム110は、さらに、分析エンジン125を訓練するための訓練データ115及び分析エンジン125によって予測される予測データ120を含む。いくつかの実施例において、分析エンジン125に適用された訓練データ115及び予測データ120は、例えば、画像、医療データ、ビジネスデータ等のデータであり、分析エンジン125は、データ分析によって得た結果(予測結果とも称される)を提供することができる。具体的には、分析エンジン125は、訓練データ115及び予測データ120を含む、入力されたデータに対して、予測、識別、分類、モード分析、特徴検出及び抽出操作のうち、少なくとも1種類を実行することができる。いくつかの実施例において、分析エンジン125は、入力データに対する識別予測を提供することができ、例えば、入力データが画像であると、その予測は、画像に対する識別結果(例えば、画像に含まれる対象が猫や犬であるという結果)であってもよい。いくつかの実施例において、分析エンジン125は、入力データに対する予測を提供することができ、例えば、入力データがビジネスデータであると、その予測は、売上、カスタマーチャーンレート、広告のクリック率等についての分析エンジン125による予測分析であってもよい。
【0020】
データ分析システム110は、診断システム140との間のインターフェースを介して診断システム140へ分析エンジン125に関する情報130及び診断しようとするデータ135を提供することができ、ここでの診断しようとするデータは、訓練データ115及び予測データ120の少なくとも一方を含む。いくつかの実施例において、データ分析システム110と診断システム140との間のインターフェースは、物理的通信インターフェースであってもよい。オプションとして、データ分析システム110と診断システム140との間のインターフェースは、ソフトウェアによって実施されるデータ通信インターフェースであってもよい。いくつかの実施例において、情報130は、分析エンジン125のタイプ及びネットワーク構成を示す情報を含んでもよい。例えば、分析エンジン125がディープニューラルネットワークを含む場合に、情報130は、ディープニューラルネットワークの具体的な構成を示す情報を含んでもよく、例えば、当該情報は、ニューラルネットワークが3層の多層パーセプトロン(MLP)を含み、かつ、各層における隠れユニットの数がそれぞれ45個、135個及び405個であることを示してもよい。情報130は、分析エンジン125における具体的な重みの情報を含まなくてもよいことを理解すべきである。
【0021】
図1に示されるように、診断システム140は、診断エンジン145を含む。分析エンジン125に類似して、診断エンジン145も既存データから一定の知識及び能力を学習して、新たなデータを処理することができる。いくつかの実施例において、診断エンジン145は、定量的な方法で予測結果についての不確実度(以下、「不確実性メトリック」と称される)を提供する。いくつかの実施例において、分析エンジン125がニューラルネットワークモジュールを含むことに応じて、診断システム140は、受信した分析エンジン125に関する情報130に基づいて、ニューラルネットワークモジュールを構築するとともに、確率推定でニューラルネットワークモジュールを更新することで、診断エンジン145の一部とする。診断エンジン145において、重みは、固定値ではなく特定の分布で示される。いくつかの実施例において、例えば、診断エンジン145は、ベイズニューラルネットワーク(BNN)を含んでもよい。診断システム140は、診断エンジン145を利用して受信した診断しようとするデータ135を処理することで、不確実性メトリック150を提供することができる。データ分析システム110は、不確実性メトリック150を受信した後、それに応じて分析エンジンを更新することができる。以下、診断システム140が不確実性メトリック150を生成する過程、及びデータ分析システム110が診断システム140によって特定された不確実性メトリック150に基づいて分析エンジン125を最適化する過程を詳細に説明する。
【0022】
データ分析システムの診断
以下、図2乃至図4を参照しながら、データ分析システムを診断する過程をより詳細に説明する。図2は、本開示のいくつかの実施例に係るデータ分析システムを診断する過程200を示すフローチャートである。過程200は、図1の診断システム140によって実現されることができる。説明の便宜上、図1も参照して過程200を説明する。
【0023】
図2に示されるように、ブロック202において、診断システム140は、診断しようとするデータ分析システム110における分析エンジン125に関する情報130及び分析エンジン125に関連する診断しようとするデータ135を取得し、ここでの診断しようとするデータ135は、分析エンジン125ための訓練データ115及び予測データ120の少なくとも一方を含む。
【0024】
いくつかの実施例において、データ分析システム110は、例えば、クラウドプラットフォーム上にデプロイされ、それに対応して、分析エンジン125に関する情報130、訓練データ115及び予測データ120もクラウドプラットフォームに記憶されている。ユーザは、例えば、データ分析システム110で該当するデータ分析タスクを実行するようにクラウドプラットフォームにアクセスすることができる。
【0025】
いくつかの実施例において、診断システム140は、データ分析システム110と同じクラウドプラットフォーム上にデプロイされ、これにより、診断システム140は、分析エンジン125に関する情報及び診断しようとするデータ135を取得するようにクラウドプラットフォームのストレージにアクセスすることができる。
【0026】
いくつかの実施例において、診断システム140は、有線ネットワーク又は無線ネットワークを経由してデータ分析システム110から分析エンジン125に関する情報及び診断しようとするデータ135を受信するために、データ分析システム110と通信して結合されるようにデプロイされてもよい。
【0027】
ブロック204において、診断システム140は、受信した情報に基づいて、分析エンジン125に対応する診断エンジン145を特定する。いくつかの実施例において、診断エンジン145は、例えば、予め配置されたベイズニューラルネットワークモジュールを含むように構築されてもよい。
【0028】
以下、図3を参照しながら、ブロック204の過程を説明する。図3は、本開示の実施例に係る診断エンジン145を特定する過程300を示すフローチャートである。図3に示されるように、ブロック302において、診断システム140は、受信した情報130に基づいて、分析エンジン125がニューラルネットワークモジュールを含むか否かを判定することができる。ブロック302において、分析エンジン125がニューラルネットワークモジュールを含むと特定したことに応じて、過程300は、ブロック304に進み、ここで、診断システム140が受信した情報に基づいてニューラルネットワークモジュールを構築することができる。例えば、情報130は、ニューラルネットワークモジュールにおける層数、ノード数等を示してもよく、診断システム140は、情報130に基づいて訓練されていないニューラルネットワークモジュールを構築することができる。
【0029】
ブロック306において、診断システム140は、確率推定でニューラルネットワークモジュールを更新することで確率ニューラルネットワークモジュールを得ることができる。従来の、パラメータが特定の数値で表される決定的(deterministic)ニューラルネットワークと異なり、確率ニューラルネットワークは、ネットワークにおけるパラメータを分布で表すことで、予測結果についての不確実性メトリックをより良好に特定することができる。いくつかの実施例において、診断システム140は、すべての確率データネットワークモジュールがベイズニューラルネットワークを含むように、ベイズ推定でニューラルネットワークモジュールを更新することができる。オプションとして、診断システム140は、周波数推定でニューラルネットワークモジュールを更新することもできる。ブロック308において、診断システム140は、得られた確率ニューラルネットワークモジュールを含ませるように診断エンジン145を構築する。
【0030】
オプションとして、ブロック302において、分析エンジン125がニューラルネットワークモジュールを含まないと特定すると、過程300はブロック310に進み、ここで、診断システム140は、予め配置された確率ニューラルネットワークモジュールを含ませるように診断エンジン145を構築する。
【0031】
引き続き図2を参照し、ブロック206において、診断システム140は、診断エンジン145を利用して診断しようとするデータ135を処理することで、分析エンジン125及び診断しようとするデータ135の少なくとも一方に関連する不確実性メトリック150を提供する。ここでの不確実性メトリック150は、分析エンジン125が診断しようとするデータ135を処理して得た予測結果についての確実度を示す。
【0032】
いくつかの実施例において、診断しようとするデータ135は、訓練データ115及び予測データ120の両方を含む。診断システム140によって特定された不確実性メトリック150は、モデルの不確実性メトリック、データの不確実性メトリック及び分布の不確実性メトリックの少なくとも一つを含んでもよい。
【0033】
モデルの不確実性メトリックは、少なくとも、分析エンジン125の複雑度と診断しようとするデータ135の規模との適合度による分析エンジン125のパフォーマンスへの影響を示す。例えば、モデルの不確実性メトリックは、訓練データ115の規模と分析エンジンの125の複雑度とが適合するか否かを示す。例えば、訓練データ115の規模が比較的大きいが、分析エンジン125に含まれるモデルが比較的簡単な場合に、適合度が悪いと見なす。
【0034】
データの不確実性メトリックは、少なくとも、診断しようとするデータ135の品質による分析エンジンのパフォーマンスへの影響を示す。例えば、診断しようとするデータ135の品質は、診断しようとするデータ135が予測しやすいか、多めなノイズを含むか、又は、多くのデータが紛失しているかなどの少なくとも一つを示してもよい。
【0035】
分布の不確実性メトリックは、少なくとも、予測データ120と訓練データ115との分布のマッチング度による分析エンジンのパフォーマンスへの影響を示す。例えば、分析エンジン125が訓練データ115で訓練されるため、予測データ120と訓練データ115との分布の差が大きい可能性がある。
【0036】
以下、ベイズニューラルネットワークを例として、モデルの不確実性メトリック、データの不確実性メトリック及び分布の不確実性メトリックを特定する過程を説明する。診断エンジン145に含まれるベイズニューラルネットワークモジュールについて、例えば、


で当該ベイズニューラルネットワークを表す。ただし、θは、当該ネットワークのパラメータを示し、xは、ネットワークに対する入力を示し、y^は、当該ネットワークの出力を示す。
【0037】
なお、3種類の不確実性メトリックを分離するために、出力yの尤度関数は、以下の式で分解される。

(1)
ただし、xは、予測データ120におけるデータ項目を示し、Dは、訓練データ115を示し、式(1)における第3項目のp(θ|D)は、モデルパラメータの事後分布を示す。また、φは、xがDの分布に合うか否かを示し、公式(1)における第2項目のp(φ|x,θ)がベルヌーイ分布を満たすと仮定し、φ=1は、xがDの分布に合うことを示し、φ=0は、xがDの分布に合わないことを示す。εは、データの不確実性を示し、式(1)における第4項目のp(ε|D)は、εの事後分布を示す。式(1)における第1項目のp(y|φ,ε)は、出力yの分布を示す。
【0038】
いくつかの実施例において、診断エンジン145に含まれるベイズニューラルネットワークモジュールについて、ベイズニューラルネットワークは、データが特定の分布内にあるか否かを区別することができるために、
(1)ベイズニューラルネットワークは、分析エンジン125と同様に、データ予測を良好に実行することができるように訓練される。いくつかの実施例において、当該訓練の目標は、通常のベイズニューラルネットワークの目標関数を導入することで実現されることができる。
(2)ベイズニューラルネットワークは、さらに、入力データが訓練データDの分布を満たすか否かを区別できるように訓練される。いくつかの実施例において、当該訓練の目標は、分布を満たした訓練データにランダムノイズを加えることでネガティブサンプルを構築し、そして、ポジティブサンプル及びネガティブサンプルの組み合わせで当該ベイズニューラルネットワークを訓練することにより実現されることができる。このようにして、ベイズニューラルネットワークは、ある入力データが特定の分布を満たすか否かを区別することができる。
【0039】
いくつかの実施例において、不確実性メトリックは、相互情報量(MI)、エントロピー、及び分散のうちの何れかで示されてもよい。絶対値で単独の不確実性を示すことに比較して、相互情報量は、モデルの不確実性メトリック、データの不確実性メトリック、及び分布の不確実性メトリックがお互いに存在し得る関連性をより良好に反映することができる。
【0040】
いくつかの実施例において、診断システム140は、診断エンジン145を利用して診断しようとするデータ135を処理することで、診断エンジン145についてのトータル不確実性メトリックを特定し、そして、トータル不確実性メトリックに基づいて、モデルの不確実性メトリック、データの不確実性メトリック及び分布の不確実性メトリックの少なくとも一つを提供することができる。具体的には、モデルの不確実性メトリックは、以下の式で特定されることができる。

(2)
【0041】
データの不確実性メトリックは、以下の式で特定される。

(3)
【0042】
分布の不確実性メトリックは、以下の式で特定される。

(4)
【0043】
式(2)乃至式(4)において、


は、ベイズニューラルネットワークのトータル不確実性メトリックを示し、式(2)における

は、ネットワークパラメータθが既知になった後の残りの不確実性メトリックを示し、式(3)における


は、データの不確実性情報が既知になった後の残りの不確実性メトリックを示し、式(4)における


は、データの分布情報が既知になった後の残りの不確実性メトリックを示す。
【0044】
式(2)乃至式(4)における各項目について、訓練データ115を利用してベイズニューラルネットワークの訓練が完成したら、p(y|φ,ε)、p(φ|x,θ)、q(θ|D)及びp(ε|D)は、特定されることができる。そして、式(1)における尤度関数の分解に基づいて、さらにp(y|D,θ)、p(y|D,φ)及びp(y|D,ε)を特定することができ、これにより、式(2)乃至式(4)でモデルの不確実性メトリック、データの不確実性メトリック及び分布の不確実性メトリックの値をそれぞれ特定することができる。
【0045】
いくつかの実施例において、診断システム140は、特定された不確実性メトリック150をデータ分析システム110へ送信し、これにより、データ分析システム110は、不確実性メトリック150に基づいて分析エンジン125及び診断しようとするデータ135の少なくとも一方を調整することができる。
【0046】
いくつかの実施例において、診断システム140は、さらに、分析エンジン125及び診断しようとするデータ135の少なくとも一方を調整する指示を提供することができる。上述したように、異なる不確実性メトリックは、それぞれ異なる要素によるモデル予測のパフォーマンスへの影響を示す。例えば、モデルの不確実性メトリックが比較的高いときに、診断システム140は、訓練データを増やす指示を提供することができる。データの不確実性メトリックが比較的高いときに、診断システム140は、例えば、診断しようとするデータを破棄する指示を提供することができる。分布の不確実性メトリックが比較的高いときに、診断システム140は、予測データ120を利用して分析エンジン125を再訓練する指示を提供することができる。いくつかの実施例において、診断システム140は、特定された不確実性メトリックと所定の閾値とを比較して、不確実性メトリックが所定閾値より大きい場合に上記指示を提供してもよい。
【0047】
いくつかの実施例において、診断システム140は、モデルの不確実性メトリック、データの不確実性メトリック及び分布の不確実性メトリックを比較することで最大値となる不確実性メトリックを選択し、当該タイプの不確実性メトリックに対応する指示を提供してもよい。例えば、データの不確実性メトリックが最も大きいときに、診断システム140は、訓練データを増やす指示を提供することができる。
【0048】
いくつかの実施例において、診断システム140は、さらに、訓練データ115に基づいて特定された不確実さと予測データ120に基づいて特定された不確実さとを比較することで、分析エンジン125及び診断しようとするデータ135の少なくとも一方を調整する指示を提供してもよい。具体的には、図4は、本開示の実施例に係る調整指示を提供する過程400を示すフローチャートである。
【0049】
図4に示されるように、ブロック402において、診断システム140は、診断エンジン145を利用して訓練データ115を処理することで第1の不確実性メトリックを取得することができる。例えば、訓練データ115は、例えば、第1シーズンのデータであってもよく、診断システム140は、訓練データ115に基づいて、第1シーズンの訓練データに関するモデルの不確実性メトリックが0.6であり、データの不確実性メトリックが1.2であり、分布の不確実性メトリックが0.3であると特定することができる。
【0050】
ブロック404において、診断システム140は、診断エンジン145を利用して予測データ120を処理することで第2の不確実性メトリックを取得することができる。例えば、予測データ120は、予測すべき第2シーズンのデータであってもよく、診断システム140は、予測データ120に基づいて、第2シーズンの予測データに関するモデルの不確実性メトリックが0.5であり、データの不確実性メトリックが1.0であり、分布の不確実性メトリックが0.6であると特定することができる。
【0051】
ブロック406において、診断システム140は、第1の不確実性メトリックと第2の不確実性メトリックを比較することで、分析エンジン125及び診断しようとするデータ135の少なくとも一方を調整する指示を提供することができる。例えば、第1シーズンの訓練データに関する第1の不確実性メトリックと第2シーズンの予測データに関する第2の不確実性メトリックを比較することで、分布の不確実性メトリックの変化が最も大きい(0.3)ことがわかり、この時、診断システム140は、例えば、予測データ120を利用して分析エンジン125を再訓練する指示を提供することができる。
【0052】
いくつかの実施例において、診断エンジン145の入力は、異なる特徴にそれぞれに関連する複数のデータ項目を含む。例えば、家庭の消費電力を予測するシーンでは、訓練するためのデータ項目及び/又は予測するためのデータ項目は、例えば、異なる部屋(例えば、寝室、リビングルーム、キッチン等)の温度、異なる部屋(例えば、寝室、リビングルーム、キッチン等)の湿度、室外温度及び室外湿度等の、異なる特徴に関連する複数のデータ項目を含んでもよい。これらの異なるデータ項目は、例えば、異なる位置に置かれているセンサで収集される。
【0053】
いくつかの実施例において、診断システム140は、さらに、不確実性メトリックに基づいて、複数のデータ項目の少なくとも1つのデータ項目の不確実性メトリックへの貢献を特定してもよい。例えば、特定した不確実性メトリックuについて、データ項目の不確実性メトリックへの貢献(以下、特徴の不確実性メトリックとも称される)は、微分することで以下のように特定されることができる。

(5)
ただし、uは、不確実性メトリックを示し、


は、i個目の入力のうち、j個目の特徴に関連するデータ項目を示す。各入力に基づいて特定された特定データ項目の不確実性メトリックへの貢献は、異なる可能性があるため、複数のデータ項目の少なくとも1つのデータ項目の不確実性メトリックへの貢献は、平均値を求めることで特定される。

(6)
ただし、Nは、入力の数を示す。例えば、データの不確実性メトリックの場合に、Nは、訓練サンプルの数を示してもよい。
【0054】
例えば、図5は、本開示の実施例に係る異なる特徴に関連するデータ項目の分布の不確実性メトリックへの貢献を示す模式図500である。図5に示されるように、当該例において、診断エンジン145の入力は、23個の特徴に関連するデータ項目を含み、各データ項目の分布の不確実性メトリックへの貢献502は、異なる可能性がある。例えば、当該例において、5個目の特徴に対応するデータ項目は貢献が最も大きい。
【0055】
いくつかの実施例において、診断システム140は、さらに、特定された少なくとも1つのデータ項目の不確実性メトリックへの貢献に基づいて、複数のデータ項目の少なくとも1つのデータ項目を調整する指示を提供することができる。例えば、図5の例において、診断システム140は、5個目の特徴に対応するデータ項目の貢献が最も大きいことに基づいて、5個目の特徴に対応するデータ項目を調整する、例えば、データ分析システム110に当該データ項目を削除、置換、又は調整させる指示を提供することができる。
【0056】
上述したデータ分析システムを診断する方法によれば、本開示の実施例は、分析エンジンに対応する診断エンジンを利用することで、モデル又は診断しようとするデータ(訓練データ及び予測データを含む)がデータ分析システムにおける分析エンジンによる予測の正確性へ与える影響を特定することができ、さらに、ユーザがデータ分析システムにおける適切なデータ分析モデルを選択すること、又は診断しようとするデータに存在し得る欠陥を特定することを支援することができる。なお、個別の診断エンジンを利用してデータ分析システムを診断することで、データ分析システムの正常な稼働が影響され得る場合に、開発者に対してデータ分析システムの診断アドバイスを提供することができる。
【0057】
データ分析システムの最適化
本開示の他の局面によれば、本開示の実施例は、さらに、データ分析システムを最適化する方法を提供する。図6は、本開示のいくつかの実施例に係るデータ分析システムを最適化する過程600を示すフローチャートである。過程600は、図1のデータ分析システム110によって実現されることができる。説明の便宜上、図1を参照して過程600を説明する。
【0058】
ブロック602において、データ分析システム110は、データ分析システム110における分析エンジン125に関する情報130及び分析エンジン125に関連する診断しようとするデータ135を診断システム140へ提供し、診断しようとするデータ135は、分析エンジン125のための訓練データ115及び予測データ120の少なくとも一方を含む。上記した過程200におけるブロック202を参照して説明したように、いくつかの例において、データ分析システム110は、有線ネットワーク又は無線ネットワークを経由して診断システム140に情報130及び診断しようとするデータ135を提供することができる。オプションとして、データ分析システム110及び診断システム140は、例えば、同じクラウドプラットフォーム上にデプロイされ、診断システム140がクラウドプラットフォームから情報130及び診断しようとするデータ135を取得してもよい。
【0059】
ブロック604において、データ分析システム110は、診断システム140から分析エンジン125及び診断しようとするデータ135の少なくとも一方に関連する不確実性メトリック150を受信し、不確実性メトリック150は、分析エンジン125が診断しようとするデータ135を処理して得た予測結果の確実度を示す。上述したように、図2乃至図5を参照して不確実性メトリック150を特定する過程を既に説明したが、データ分析システム110は、診断システム140から不確実性メトリック150を受信することができる。
【0060】
ブロック606において、データ分析システム110は、不確実性メトリック150に基づいて、分析エンジン125及び診断しようとするデータ135の少なくとも一方を更新する。
【0061】
いくつかの実施例において、方法600は、さらに、ブロック608を含み、該ブロックにおいて、データ分析システム110は、更新された分析エンジン125を利用してデータ分析を行うことができる。具体的には、データ分析システム110は、新たな分析すべきデータを受信し、そして、更新された分析エンジン125を利用して新たな分析すべきデータを処理し、これにより、新たな分析すべきデータに対する予測を提供する。
【0062】
いくつかの実施例において、受信した不確実性メトリック150は、モデルの不確実性メトリックを含み、モデルの不確実性メトリックは、少なくとも、分析エンジンの複雑度と診断しようとするデータの規模との適合度による分析エンジンのパフォーマンスへの影響を示す。いくつかの実施例において、データ分析システム110は、モデルの不確実性メトリックと所定の閾値とを比較してもよい。モデルの不確実性メトリックが所定の閾値より大きいと特定すると、データ分析システム110は、追加した訓練データを利用して分析エンジン125を訓練することで、分析エンジン125を更新する。このようにして、モデルの不確実性による分析エンジン125のパフォーマンスへの影響を低減することができる。
【0063】
いくつかの実施例において、受信した不確実性メトリックは、データの不確実性メトリックを含み、データの不確実性メトリックは、少なくとも、診断しようとするデータ135の品質による分析エンジン125のパフォーマンスへの影響を示す。いくつかの実施例において、データ分析システム110は、データの不確実性メトリックと所定の閾値とを比較してもよい。データの不確実性メトリックが所定の閾値より大きいと特定すると、データ分析システム110は、訓練データの品質を確保するために、例えば、診断しようとするデータ135に対して、データを破棄するように対処してもよい。
【0064】
いくつかの実施例において、受信した不確実性メトリックは、分布の不確実性メトリックを含み、分布の不確実性メトリックは、少なくとも、予測データと訓練データの分布とのマッチング度による分析エンジンのパフォーマンスへの影響を示す。いくつかの実施例において、データ分析システム110は、分布の不確実性メトリックと所定の閾値とを比較してもよい。分布の不確実性メトリックが所定の閾値より大きいと特定すると、データ分析システム110は、予測データ120を利用して分析エンジン125を再訓練することで、分析エンジン125に予測データ120を正確に分析する能力を持たせることができる。
【0065】
いくつかの実施例において、上記したように、データ分析システム110、さらに、受信した不確実性メトリックから特徴の不確実性メトリックを特定することができ、当該不確実性メトリックは、複数のデータ項目の少なくとも1つの不確実性メトリックへの貢献を示し、分析エンジンの入力は、異なる特徴にそれぞれに関連する複数のデータ項目を含む。特徴の不確実性メトリックを特定することは、式(5)及び式(6)について説明した過程を参照することができ、ここで、詳しく説明しない。いくつかの実施例において、データ分析システム110は、受信した特徴の不確実性メトリックと所定の閾値とを比較してもよい。そして、特徴の不確実性メトリックが所定の閾値より大きいと、データ分析システム110は、分析エンジンの入力に対してより多くのデータ項目を追加すること、特徴に対応するデータ項目の属性(例えば、粒度)を変更すること、少なくとも1つのデータ項目を使用しないことのうち、少なくとも一つを実行する。例えば、図5の例において、データ分析システム110は、診断システム140から5個目の特徴に対応する特徴の不確実性メトリックを受信し、それが閾値より大きいと特定すると、例えば、予測データ120のうち、5個目の特徴に対応するデータ項目を破棄、又は置換し、これにより、当該特徴の分析エンジン125パフォーマンスへの影響を低減することができる。
【0066】
上述したデータ分析システムを最適化する方法によれば、本開示の実施例は、分析エンジンによって特定された不確実性メトリックに基づいて、分析エンジンを更新し、データ分析システムのパフォーマンスを改善する。
【0067】
例示的な応用
応用1:クレジットカード詐欺分析システム
上記したデータ分析システムを診断・最適化する方法は、クレジットカード詐欺を予測するためのデータ分析システムに適用されることができる。例えば、クレジットカード詐欺分析システムは、25個の特徴に関連するデータ項目の<特徴例>の入力を受信するための分析エンジンを含み、そして、詐欺であるか否かについての予測を提供することができる。1つの具体例において、当該分析エンジンは、3層のMLPから構成されるニューラルネットワークを含み、各層の隠れユニットの数は、それぞれ、45個、135個及び405個である。
【0068】
ベイズ推定で当該ニューラルネットワークをベイズニューラルネットワークに変換することで、分析エンジンは、異なる訓練データの規模に対応するモデルの不確実性を特定することができる。例えば、図7Aは、モデルの不確実性メトリックが訓練データの規模に従って変化するトレンド図700Aを示し、図面からわかるように、訓練データが増大するにつれて、全体的にモデルの不確実性メトリックが減少するトレンドがある。従って、当該トレンドは、開発者が訓練データの規模を増やす要否、又はニューラルネットワークの複雑度を低減する要否を判定することを補助することができる。
【0069】
また、図7Bは、さらに、異なる特徴の分布の不確実性メトリックへの貢献(特徴の不確実性メトリック)の模式図700Bを示し、図700Bからわかるように、3個目の特徴に関連する特徴の不確実性メトリックが最も大きいため、当該データは、開発者に3個目の特徴に対応するデータ項目の収集が故障しているか、及び3個目の特徴に対応するデータ項目を置換又は補正する必要があるか等をチェックさせることを指示することができる。
【0070】
本開示におけるデータ分析システムを診断・最適化する方法によれば、クレジットカード詐欺分析システムの現在のパフォーマンスのボトルネックを特定するとともに、それに応じて当該データ分析システムのパフォーマンスを向上させることができる。
【0071】
応用2:チャネルサブスクリプション分析システム
上記したデータ分析システムを診断・最適化する方法は、チャネルサブスクリプションを予測するためのデータ分析システムに適用されることができる。例えば、チャネルサブスクリプション分析システムは、23個の特徴に関連するデータ項目の入力を受信するための分析エンジンを含み、そして、ユーザが当該チャネルを購読するか否かについての予測を提供することができる。1つの具体例において、当該分析エンジンは、2層のMLPから構成されるニューラルネットワークを含み、各層の隠れユニットの数は、それぞれ、12個及び12個である。
【0072】
ベイズ推定で当該ニューラルネットワークをベイズニューラルネットワークに変換することで、分析エンジンは、異なる訓練データの規模に対応するモデルの不確実性を特定することができる。例えば、図7Cは、モデルの不確実性メトリックが訓練データの規模に従って変化するトレンド図700Cを示し、図面からわかるように、訓練データが増大するにつれて、全体的にモデルの不確実性メトリックが減少するトレンドがある。従って、当該トレンドは、開発者が訓練データの規模を増やす要否、又はニューラルネットワークの複雑度を低減する要否を判定することを補助することができる。
【0073】
また、図7Dは、さらに、異なる特徴の分布の不確実性メトリックへの貢献(特徴の不確実性メトリック)の模式図700Dを示し、図700Dからわかるように、5個目の特徴に関連する特徴の不確実性メトリックが最も大きいため、当該データは、開発者に5個目の特徴に対応するデータ項目の収集が故障しているか、及び5個目の特徴に対応するデータ項目を置換又は補正する必要があるか等をチェックさせることを指示することができる。
【0074】
本開示におけるデータ分析システムを診断・最適化する方法によれば、チャネルサブスクリプション分析システムの現在のパフォーマンスのボトルネックを特定するとともに、それに応じて当該データ分析システムのパフォーマンスを向上させることができる。
【0075】
応用3:ショッピング費用分析システム
上記したデータ分析システムを診断・最適化する方法は、ショッピング費用を予測するためのデータ分析システムに適用されることができる。例えば、ショッピング費用分析システムは、9個の特徴に関連するデータ項目の入力を受信するための分析エンジンを含み、そして、ユーザが例えばショッピングプロモーションでどれぐらいの出費をするかについての予測を提供することができる。1つの具体例において、当該分析エンジンは、2層のMLPから構成されるニューラルネットワークを含み、各層の隠れユニットの数は、それぞれ、128個及び256個である。
【0076】
ベイズ推定で当該ニューラルネットワークをベイズニューラルネットワークに変換することで、分析エンジンは、異なる訓練データの規模に対応するモデルの不確実性を特定することができる。例えば、図7Eは、モデルの不確実性メトリックが訓練データの規模に従って変化するトレンド図700Eを示し、図面からわかるように、訓練データが増大するにつれて、全体的にモデルの不確実性メトリックが減少するトレンドがある。従って、当該トレンドは、開発者が訓練データの規模を増やす要否、又はニューラルネットワークの複雑度を低減する要否を判定することを補助することができる。
【0077】
また、図7Fは、さらに、異なる特徴の分布の不確実性メトリックの貢献(特徴の不確実性メトリック)の模式図700Fを示し、図700Fからわかるように、1個目の特徴に関連する特徴の不確実性メトリックが最も大きいため、当該データは、開発者に1個目の特徴に対応するデータ項目の収集が故障しているか、及び1個目の特徴に対応するデータ項目を置換又は補正する必要があるか等をチェックさせることを指示することができる。
【0078】
本開示におけるデータ分析システムを診断・最適化する方法によれば、ショッピング費用分析システムの現在のパフォーマンスボトルネックを特定するとともに、それに応じて当該データ分析システムのパフォーマンスを向上させることができる。
【0079】
上記のように、例として挙げられた具体的なデータ分析システムは例示的なものにすぎず、本開示を限定するものではないと理解すべきである。本開示に係るデータ分析システムを診断・最適化する技術案は、任意の適切なデータ分析システムに適用されることができる。
【0080】
例示的なデバイス
図8は、本開示内容の実施例を実施する例示的なデバイス800を模式的に示すブロック図である。例えば、図1に示したデータ分析システム110、診断分析システム140、分析エンジン125及び/又は診断エンジン145は、デバイス800によって実施されることができる。図面に示されるように、デバイス800は、ROM(Read Only Memory)802に記憶されたコンピュータプログラム命令或いは記憶ユニット808からRAM(Random Access Memory)803にロードされたコンピュータプログラム命令に基づいて、各種の適切な動作及び処理を実行できるCPU(Central Processing Unit)801を含む。RAM803には、さらに、デバイス800が操作するために必要な各種のプログラム及びデータが記憶されてもよい。CPU801、ROM802及びRAM803は、バス804を介してお互いに接続されている。入出力(I/O)インターフェース805もバス804に接続されている。
【0081】
デバイス800の複数の部件、例えば、キーボードや、マウスなどの入力ユニット806と、例えば各種のタイプのディスプレイや、スピーカーなどの出力ユニット807と、例えば磁気ディスクや、光ディスクなどの記憶ユニット808と、例えばネットワークアダプタ、モデム、無線通信トランシーバーなどの通信ユニット809とは、I/Oインターフェース805に接続される。デバイス800は、通信ユニット809により、例えばインターネットのコンピュータネットワーク及び/又は各種の通信ネットワークを介して、他のデバイスと情報/データを交換することができる。
【0082】
例えば、過程200及び/又は過程600などの、上記した各々の過程及び処理は、処理ユニット801によって実行されることができる。例えば、いくつかの実施例において、過程200及び/又は過程600は、コンピュータのソフトウェアのプログラムとして実現でき、例えば記憶ユニット808の機械読み取り可能な媒体に有形に含まれている。いくつかの実施例において、コンピュータプログラムの一部或いは全部はROM802及び/又は通信ユニット809を介してデバイス800にロード、及び/又はインストールされる。コンピュータプログラムがRAM803にロードされてCPU801によって実行されると、上述した過程200及び/又は過程600の1つ或いは複数の動作を実行することができる。
【0083】
本開示は、方法、装置、システム及び/又はコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、本開示の各々の形態を実行するためのコンピュータ読み取り可能なプログラム命令が格納されたコンピュータ読み取り可能な記憶媒体を含んでもよい。
【0084】
コンピュータ読み取り可能な記憶媒体は、命令実行装置に用いられる命令を保持して記憶する物理装置であってもよい。コンピュータ読み取り可能な記憶媒体は、例えば電気記憶装置、磁気記憶装置、光記憶装置、電磁気記憶装置、半導体記憶装置、或いは上記装置の任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ読み取り可能な記憶媒体のより具体的な例(完全に網羅していないリスト)は、ポータブルコンピュータディスク、ハードディスク、RAM(Random Access Memory)、ROM(Read Only Memory)、EPROM(Erasable Programmable Read Only Memory又はフラッシュメモリ)、SRAM(Static Random-Access Memory)、CD-ROM、DVD(Digital Video Disc)、メモリースティック、フロッピーディスク、機械式エンコーダ、例えば命令が記憶されたパンチカード又は凹溝内の凸構造、及び上記の任意の適切な組み合わせを含む。ここで使用されるコンピュータ読み取り可能な記憶媒体は、例えば無線電波或いは他の伝送自在の電磁波、導波管又は他の伝送媒体を介して伝送される電磁波(例えば、光ファイバーケーブルによる光パルス)、或いはワイヤーを介して伝送される電気信号の、一時的な信号自身として解釈されるべきではない。
【0085】
ここで説明したコンピュータ読み取り可能なプログラム命令は、コンピュータ読み取り可能な記憶媒体から各々の計算/処理デバイスにダウンロードされ、或いは例えばインターネット、LAN、WAN及び/又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部記憶装置にダウンロードされる。ネットワークは、銅線伝送ケーブル、光ファイバー伝送、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバーを含んでもよい。各計算/処理デバイスにおけるネットワークアダプターカード或いはネットワークインターフェースは、ネットワークからコンピュータ読み取り可能なプログラム命令を受信し、転送する。これにより、当該コンピュータ読み取り可能なプログラム命令は、各々の計算/処理デバイスにおけるコンピュータ読み取り可能な記憶媒体に記憶される。
【0086】
本開示の操作を実行するためのコンピュータプログラム命令は、アセンブリ命令、命令集アーキテクチャ(ISA)命令、機械命令、機械関連命令、マイクロコード、ファームウェア命令、状態設定データ、或いは1種類又は数種類のプログラミング言語の任意組み合わせによってプログラミングされたソースコードまたはオブジェクトコードであってもよく、前記プログラミング言語は、例えばSmalltalk、C++等などの対象向けのプログラミング言語、及び例えば「C」言語又は類似のプログラミング言語などの通常の手続き型プログラミング言語を含む。コンピュータ読み取り可能なプログラム命令は、その全部がユーザのコンピュータで実行されてもよく、その一部がユーザのコンピュータで実行されてもよく、1つの独立なソフトウェアパッケージとして実行されてもよく、その一部がユーザのコンピュータで実行され、かつ一部がリモートコンピュータで実行されてもよく、或いはその全部がリモートコンピュータ又はサーバーで実行されてもよい。リモートコンピュータの場合、リモートコンピュータは、LAN又はWANを含む任意の種類のネットワークを介してユーザのコンピュータに接続され、或いは、外部コンピュータに(例えばインターネットサービスプロバイダーによってインターネットを介して)接続されることができる。いくつの実施例において、コンピュータ読み取り可能なプログラム命令の状態情報を利用して、コンピュータ読み取り可能なプログラム命令を実行可能であるように、例えばプログラマブルロジック回路、FPGA(Field-programmable Gate Array)又はPLA(Programmable Logic Array)などの電子回路をカスタマイズすることで、本開示の様々な態様を実現する。
【0087】
ここで、本開示の実施例に係る方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照しながら本開示の各々の態様を説明した。フローチャート及び/又はブロック図の各グロック、及びそれぞれの組み合わせは、いずれもコンピュータ読み取り可能なプログラム命令によって実現されることができると理解すべきである。
【0088】
これらのコンピュータ読み取り可能なプログラム命令は、汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置の処理ユニットに提供されることができるため、これらの命令がコンピュータ又は他のプログラマブルデータ処理装置の処理ユニットによって実行されることで、フローチャート及び/又はブロック図における1つ又は複数のグロックにおける所定の機能/動作を実現する装置を構成する機械を生産する。これらのコンピュータ読み取り可能なプログラム命令はコンピュータ読み取り可能な記憶媒体に記憶されて、コンピュータ、プログラマブルデータ処理装置及び/又は他のデバイスに特定な形態で稼働させることができるため、命令が記憶されているコンピュータ読み取り可能な媒体は、フローチャート及び/又はブロック図における1つ又は複数のグロックにおける所定の機能/動作の各々の態様を実現する命令を含む製造品に構成される。
【0089】
コンピュータ読み取り可能なプログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにロードすることで、コンピュータ、他のプログラマブルデータ処理装置又は他のデバイスにおいて一連の操作ステップが実行されて、コンピュータによるプロセスが生じることにより、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにおいて実行される命令が、フローチャート及び/又はブロック図における1つ又は複数のグロックにおける所定の機能/動作を実現してもよい。
【0090】
図面におけるフローチャート及びブロック図は、本開示に係る複数の実施例のシステム、方法、及びコンピュータプログラム製品の実現可能なシステムアーキテクチャ、機能及び操作を示した。この点について、フローチャート又はブロック図における各ブロックは、所定のロジック機能を実現するための1つ又は複数の実行可能命令を含む1つのモジュール、プログラムセグメント又は命令の一部を代表する。いくつかの代替的なものとして、ブロックにマークされた機能は、図面に示された順番と異なる順番で作用してもよい。例えば、2つの連続するブロックは、実際にほぼ並行に実行し、かかる機能によっては逆な順番で実行することもある。ブロック図及び/又はフローチャートにおける各ブロック、及びそれぞれの組み合わせは、所定の機能又は動作を実行する専用のハードウェアによるシステムによって実現され、或いは専用ハードウェア及びコンピュータ命令の組み合わせよって実現されてもよい。
【0091】
以上、既に本開示の各実施的形態を説明したが、上記説明は例示的なものであり、挙げられた事項が全てではなく、かつ開示した各実施的形態を限定するためのものではない。説明した各実施的形態の範囲及び主旨を逸脱しないかぎり、様々な補正及び変更は当業者にとって自明である。本明細書に使用された用語は、各実施的形態の原理を最適に解釈し、実際の応用又は市場における技術上の改善、或いは当業者が本開示の各実施的形態を理解できるように選択された。
図1
図2
図3
図4
図5
図6
図7A
図7B
図7C
図7D
図7E
図7F
図8