JP2023522882A - データ品質問題の動的発見及び修正 - Google Patents
データ品質問題の動的発見及び修正 Download PDFInfo
- Publication number
- JP2023522882A JP2023522882A JP2022562935A JP2022562935A JP2023522882A JP 2023522882 A JP2023522882 A JP 2023522882A JP 2022562935 A JP2022562935 A JP 2022562935A JP 2022562935 A JP2022562935 A JP 2022562935A JP 2023522882 A JP2023522882 A JP 2023522882A
- Authority
- JP
- Japan
- Prior art keywords
- data
- dataset
- raw
- nodes
- dqm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
Abstract
計算リソースを浪費しないようにデータ品質を改良するための、デバイス、方法、及びシステムが提供される。コンピューティング・デバイスが未処理データセットを受け取る。受け取った未処理データセットに対応する1つ又は複数のデータ品質メトリック目標が受け取られる。データセットのスキーマが決定される。データセットのスキーマに基づいて、検証ノードの初期のセットが識別される。検証ノードの初期のセットが実行される。データセットのスキーマに基づいて、終了基準に達するまで検証ノードの次のセットが反復的に拡張及び実行される。検証ノードの初期のセット及び次のセットの反復実行に基づいて、未処理データセットの修正されたデータセットが提供される。
Description
本発明は、一般に、コンピュータ・システムに関し、より具体的には、自動的な動的データ品質アセスメント及びその修正に関する。
水及び蒸気の力による機械化をもたらした第1次産業革命から第2次産業革命までに、電気による大量生産及び組み立てラインが可能になり、現在の第4次産業革命は、コンピュータ及び自動化を導入した第3次産業革命において始まったものを変換し、それを、ビッグ・データ及び機械学習によって駆動されるスマートな自律システムによって高めている。利用可能なデータの量が増すに連れて、大量の情報の品質が、このデータを機械学習のために使用するコンピュータの重要な考慮事項となる。
近年、インダストリ4.0の採用が増加しているために、多くの工業生産プロセスが多くのセンサにより実時間で詳しく監視されている。コンピュータ・デバイスによって使用されているデータの品質は、その効率、計算の精度、及び使用される計算リソースの量に、重要な影響を及ぼす。そのような具体的に構成されたコンピューティング・デバイスは、例えば、機械故障、異常検出、生存分析などに対する、インダストリ4.0における人工知能(AI)に基づく解決策を導くデータを構築するために使用することができる。しかし、現在のアーキテクチャは、実際の物のインターネット(IoT)センサの莫大な量のデータを処理する際に、種々の問題に直面する。例えば、データは非常に大きく(例えば、ビッグ・データ)、コンピューティング・デバイスの、処理能力、メモリ、ネットワーク帯域幅、及び時間を含む大量の計算リソースを必要とする可能性がある。データはノイズが多い場合があり、データは欠損値を有する場合があり、データ・サンプルは不規則な場合がある、などである。さらに、コンピューティング・デバイスによって処理されるデータは、ヘテロジニアスで構造化されていない場合があり、まとめて本明細書においては異種である(例えば、時系列、テキスト、画像、音声、異なるサンプル・レートなどを含み得る)という。
少なくとも1つの推定により、AI開発ステージの間、このデータの前処理ステージは、AIモデルの開発のサイクルにおいて80%の時間を費やす。言い換えれば、データを分析することに関わる時間の大部分は、データを、それからAIモデルを準備することができる適切な形式にするように準備することに関わる。データ前処理ステージにおいて自動化を用いることの幾つかの課題は、各々のデータセットの潜在的なユニークさ及びその特徴を分析するために必要なリソースを含む。既存の手法は、現在のところ、徹底的なデータ・クリーニング及び前処理のためのツールを提供するものではない。従って、コンピューティング・デバイスによって使用されるリソースの効率、精度、及び量に悪影響を及ぼす。
AIモデルの開発ステージは、sklearn、tensorflow、Tpot、H2Oなどの機械学習プラットフォームを含む、多くのフレームワーク及び定義されるエンド・ツー・エンドのソリューションを有することができる。しかし、現在のところ、効率的にデータをクリーニングすることができるエンド・ツー・エンド・フレームワークもしくはライブラリ又はその両方が知られていない。
従って、本明細書において提供されるのは、データ品質問題の動的発見及び修正の方法及びコンピュータ化された方法のシステムである。一態様において、本明細書における教示は、データ前処理段階における自動化をもたらす。一実施形態において、反復プロセスは、ヘテロジニアスなIoTデータの品質チェックを行うことを可能にするAI実務者からの相互作用及び協力が存在するという点で、管理される。インストール可能な関数ライブラリを用いることによって、種々様々なチェックが提供される。本明細書で論じられるデータ品質アセスメント及び検証は、高度にカスタマイズすることができる。一態様において、本明細書で説明されるシステムは、データ品質アセスメントのためのフレキシブルなプロセスを可能にするモジュラである。例えば、様々なチェックを含み、さらに、それらを処理されるデータに適した方法で互いに連鎖させるフレキシビリティが存在する。
種々の実施形態により、コンピューティング・デバイス、非一時的コンピュータ可読ストレージ媒体、及びコンピュータ実施の方法、並びに、計算リソースを浪費しないようにデータ品質を向上させるシステムが提供される。未処理データが受け取られる。受け取った未処理データセットに対応する1つ又は複数のデータ品質メトリック目標が受け取られる。データセットのスキーマが決定される。データセットのスキーマに基づいて、検証ノードの初期のセットが決定される。検証ノードの初期のセットが実行される。データセットのスキーマに基づいて、終了基準に達するまで検証ノードの次のセットが反復的に拡張され、実行される。検証ノードの初期の及び次のセットの反復実行に基づいて、未処理データセットの修正されたデータセットが提供される。
一実施形態において、各々の検証ノードは、データ品質チェック及び1つ又は複数の改善アクションを含む。
一実施形態において、検証ノードの初期のセットの検証ノードの実行は、あらゆるデータ品質チェックについて全ての可能な改善アクションを識別することと、各々の可能な改善アクションによってデータを変換することと、変換を評価するために複数のデータ品質メトリック(DQMs)を計算することとを含む。
一実施形態において、検証ノードの実行は、未処理データセット内の1つ又は複数の異常を検出するために、バリデータ・オブジェクトによる未処理データセットの論理的チェックを行うことと、1つ又は複数の検出された異常を修正ために、未処理データセットに対して対応するオペレータにより異なるデータ変換を行い、各々のデータ変換についてデータの新しいバージョンを作成することとを含む、第1のステージを含む。
一実施形態において、検証ノードは、作成されたデータの各々の新しいバージョンについて、内部品質エバリュエータ(IQE)モジュールによってデータ品質メトリック(DQM)を生成することと、未処理データセットについてのDQMを生成することとを含む、第2のステージを含む。
一実施形態において、第2のステージの各々のDQMは、(i)未処理データセットから作成されたデータの対応する新しいバージョンの複数の次元での特徴の要約、又は(ii)未処理データセットから作成されたデータの対応する新しいバージョンの利得情報又は変更情報、のうちの少なくとも1つを含む。
一実施形態において、検証ノードの実行は、作成されたデータの各々の新しいバージョンの各々のDQMと未処理データのDQMとについて、未処理データセットに対する比較を行い、未処理データセットからの改良のアセスメントを行うことを含む、第3のステージを含む。
一実施形態において、検証ノードの実行は、データ品質メトリック目標に最も良く適合する、作成されたデータの新しいバージョンのオペレータを選択することを含む、第4のステージを含む。
一実施形態において、選択されるオペレータは、その対応するDQMと未処理データのDQMとの間で、元のデータに対する類似性を維持するための所定の閾値より小さい最大のギャップを有する。
一実施形態において、検証ノードの次のセットを拡張することは、受け取った1つ又は複数の品質メトリック目標を最も良く達成する検証ノードを決定することと、通常は一緒に発生する全ての検証ノードを見つけるために実行情報レポジトリをマイニングすることに基づいて、検証ノードを決定すること、のうちの少なくとも1つを含む。
一実施形態により、システムは、未処理データセットを受け取り、未処理データセットのスキーマを決定するように構成されたスキーマ推定モジュールを含む。データ・シンセサイザ・モジュールが、スキーマ推定モジュールに結合され、受け取った未処理データセットに対応する1つ又は複数のデータ品質メトリック目標を知識ベースから受け取るように構成される。データ・シンセサイザ・モジュールは、データセットのスキーマに基づいて、検証ノードの初期のセットを識別するように構成されたイニシアライザ・モジュールを含む。データ・シンセサイザ・モジュールはさらに、イニシアライザ・モジュールに結合され、検証ノードの初期のセットを実行するように構成されたエクスキュータ・モジュールを含む。データ・シンセサイザ・モジュールは、エクスキュータ・モジュールに結合され、データセットのスキーマに基づいて、終了基準に達するまで検証ノードの次のセットを反復的に拡張及び実行するように構成されたエクスパンダ・モジュールを、さらに含む。データ・シンセサイザ・モジュールは、エクスパンダ・モジュールに結合され、エクスパンダ・モジュールによって考慮する検証ノードの次のセットを反復的に決定し、反復的な決定をいつ終了するかを判断するように構成されたターミネータ・モジュールを含む。エクスキュータ及びターミネータ・モジュールに結合され、検証ノードの初期のセット及び次のセットの反復実行に基づいて、未処理データセットの修正されたデータセットを提供するように構成された情報レポジトリが存在する。
一実施形態において、各々の検証ノードは、データ品質チェック及び1つ又は複数の改善アクションを含む。
一実施形態において、検証ノードの初期のセットは、あらゆるデータ品質チェックについて全ての可能な改善アクションを識別し、各々の可能な改善アクションによりデータを変換し、変換を評価するための複数のデータ品質メトリック(DQM)を計算するように構成される。
一実施形態において、各々の検証ノードは、未処理データセット内の1つ又は複数の異常を検出するために、バリデータ・オブジェクトによって未処理データセットの論理的チェックを行い、1つ又は複数の異常を修正するために、未処理データセットに対して対応するオペレータによる異なるデータ変換を行い、各々のデータ変換についてデータの新しいバージョンを作成するように構成された第1のステージを含む。
一実施形態において、作成されたデータの各々の新しいバージョンについて、内部品質エバリュエータ(IQE)モジュールによってデータ品質メトリック(DQM)を生成し、未処理データセットについてDQMを生成するように構成された第2のステージが存在する。
一実施形態において、作成されたデータの各々の新しいバージョンの各々のDQMについて、未処理データセットからの改良のアセスメントを行うために未処理データセットに対する比較を行うように構成された第3のステージが存在する。
一実施形態において、データ品質メトリック目標に最もよく適合する、作成されたデータの新しいバージョンのオペレータを選択するように構成された第4のステージが存在する。
本明細書において論じられた構想により、大量のデータを処理するコンピューティング・デバイスの計算効率及び精度を向上させる技術的改良が提供される。これら及び他の特徴は、添付の図面に関連して読まれるべき、例示的な実施形態の以下の詳細な説明から明白となるであろう。
図面は例示的な実施形態である。それらは全ての実施形態を示すものではない。他の実施形態を付加的に又は代わりに用いることができる。明白な又は不必要な詳細は、スペースの節約のため又はより効果的な例示のために省略されている場合がある。幾つかの実施形態は、付加的なコンポーネントもしくはステップにより、及び/又は、示されている全てのコンポーネントもしくはステップなしに、実施することができる。異なる図面内に同じ数字が現れるとき、それは同じ又は類似のコンポーネント又はステップを指す。
概説
以下の詳細な説明において、多くの特定の細部が、関連する教示の完全な理解を提供するために明らかにされる。しかし、本教示はそれらの細部なしに実施することができることが明白となるはずである。他の場合には、周知の方法、手続き、コンポーネント及び/又は回路は、本教示の態様を不必要に不明瞭にすることを避けるために、細部なしに比較的高レベルで説明されている。
以下の詳細な説明において、多くの特定の細部が、関連する教示の完全な理解を提供するために明らかにされる。しかし、本教示はそれらの細部なしに実施することができることが明白となるはずである。他の場合には、周知の方法、手続き、コンポーネント及び/又は回路は、本教示の態様を不必要に不明瞭にすることを避けるために、細部なしに比較的高レベルで説明されている。
本開示は一般に、計算効率及び精度を改良するためのデータ品質問題の動的発見及び修正のためのシステム及びコンピュータ化方法に関する。本明細書で論じられる構想により、大量のデータを処理するコンピューティング・デバイスのより良い計算効率及び精度が得られる。ここで、添付の図面に示され以下で論じられる例に対して詳細な言及がなされる。
図1は、例示的な一実施形態に一致する、グラフ・ベースのデータ品質シンセサイザ・システムの例示的なアーキテクチャ100のブロック図である。ビッグ・データを表すデータ・レポジトリに格納された、未処理データを表すことができる入力データセット102が存在する。種々の実施形態において、入力データセットは、均質(例えば、類似のタイプの)であるか、又は、種々のソースに由来し種々の形式を含む点で異種であり得る。入力データセットは、スキーマを推定するように構成されたスキーマ推定モジュールによって受け取られる。非限定的な例として、スキーマは、各々のフィールドのデータ・タイプを分類することを含むことができる。例えば、テーブルの列1は数値列であり、テーブルの列2はブール値である、などである。スキーマを理解することは、その列に適用可能なチェックを識別する助けとなるであろう。
一実施形態において、スキーマ推定モジュール104は、入力データセット内の各々の行もしくは列又はその両方が何を意味するかを判断することができる。種々の実施形態において、異なる方法を使用することができる。一例において、スキーマ推定モジュール104の機械学習モデルが、スキーマを学習し、入力データセットとともにスキーマを自動的にデータ品質シンセサイザ110に提供する。別の実施形態において、アーキテクチャ100のコンピューティング・デバイスが、入力データベース102の管理者からスキーマを受け取る点で、「ループ内のヒト」が存在する。
データ品質シンセサイザ・モジュール110は、グラフ・イニシアライザ112、エクスキュータ114、ターミネータ116、エクスパンダ118、及び実行情報レポジトリ120を含む。グラフ・イニシアライザ112は、データ(例えば、入力データベース102)についての検証を行うために、グラフ内のノードの第1のセットを初期化するように構成される。本明細書において用いられる場合、ノードは、データについて行われるチェックのセットである。グラフ内の各々のノードは、データ品質チェックと、後でより詳しく論じられる、入力データセットを変換するための対応する改善アクション(単数又は複数)とを表す。
グラフ・イニシアライザ112に対する入力は、スキーマ推定モジュール104からの注釈付きスキーマを伴う入力データセット102である。グラフ・イニシアライザ112の出力は、データ品質グラフ内で第1の層として動作する検証ノードのリストである。チェック(例えば、ドメイン非依存のチェック、例えば、ヌル値チェック、無限大値チェック、列方向定数値チェック、列内のゼロの数、列方向一意値チェック、重複行チェック、重複列名称、重複列値チェック、低分散列チェックなど)のセットが行われ、これはスキーマ情報に基づくものとすることができる。例えば、異なるタイプのチェックが、入力データセット102の注釈付きスキーマ104に基づいて行われる。
エクスキュータ・モジュール114は、グラフ・イニシアライザ112からの出力を受け取り、グラフ内のノードによって定義されるオペレーションを実行する。換言すれば、それらのノードによって定義される異なるチェックが、データに対して行われる。一実施形態において、シングル・ノード対マルチ・ノードの実行は、データセットのサイズに基づく。一実施形態において、図2に示されるように、ステージ1は、2つのタイプのノード:バリデータ(チェック)及びオペレーション(改善機能)が存在するグラフとして可視化することができる。各々のバリデータ・ノードは、1つ又は複数のオペレータ・ノードに接続することができる。グラフの作成は、グラフ・イニシアライザで行われるが、グラフの実行は、エクスキュータ・モジュールによって行われる(グラフによって定義されるように開始ノードから各々のバリデータ及びオペレータまでトラバースすることによって、深さ優先探索などの任意のグラフ・トラバース戦略を用いることができる)。
一実施形態において、問題が識別される(例えば、エクスキュータ・モジュールからの出力情報が所定の基準に入る結果をもたらさない)場合、通知が、ターミネータ・モジュール116を介してエクスパンダ・モジュール118へ送られる。エクスパンダ・モジュール118は、エクスキュータ・モジュール114からのターミネータの現在の出力に基づいて、グラフに加えられるべきノードの次のセットを選択するように構成される。ターミネータ・モジュール116の出力は、考慮されるべきノードの次のセットを決定する。従って、エクスパンダ・モジュール118は、ターミネータの出力を受け取る。例えば、エクスキュータ・モジュール114によって生成されたデータが不十分である(即ち、生成されたデータが、ターミネータ・モジュールの終了基準を満たさない)場合、グラフ・ターミネータ116は、エクスパンダ・モジュール118に、グラフに対して追加のノードを提供するように求める。最後に、エクスパンダ・モジュール118は、検証チェック・プロビジョナ・モジュール142によって種々の検証チェックを提供する検証ライブラリ140を求めることもできる。検証チェックは、一般的チェック144、AIチェック146、時系列チェック148、及び言語(例えば、ドメイン)チェック150を含むことができる。
例えば、一般的チェックは、一般に、データの構造的特徴及び数値一貫性を見るものであり、そのコンテンツを見るものではない。例えば、行の数、列の数、行もしくは列又はその両方の間の類似性、欠損データ、ゼロ値、負値などである。一般的チェックは、特定のデータ・タイプには適用されず、多くのドメイン及びデータ・モダリティについて用いることができる。言語チェックに関しては、所与のデータについて、ある特定のドメイン又はAI問題に適用可能なチェックに関する。
AIチェック146は、データのコンテンツを見て、そのコンテンツがオペレーションのフィールドに適合するかどうかを判断する点で、微妙に異なる。従って、あらゆる異常値が識別される。例えば、AIチェックのためのオペレータを用いて、異常な値を除去又は処理することができる。
時系列チェック148に関しては、特定のドメインについての季節性又は移動傾向などといったデータのモダリティが判断される。例えば、本明細書で論じられる時系列は、行中の各々のデータ値が有効なタイムスタンプと関連付けられる時間順データに関係するものとすることができる。
言語チェック150は、本明細書においては時々ドメイン・チェックと呼ばれ、特定のドメインに関連しないチェックをフィルタ除去する。それにより、行われるチェックの数を著しく減らすことができる。言語チェック150は、オペレーションの特定のフィールドに合わせたチェックの段階的な選択を提供する。これらのチェック144~150の1つ又は複数を、入力データセットのスキーマに基づいて選択することができる。
一実施形態において、エクスキュータ・モジュール114による実行の各々の反復は、実行情報レポジトリ120に格納される。実行情報レポジトリ120は、グラフ内のノード毎に行われた全てのデータ品質チェック及びアクションのストレージを表す。例えば、このレポジトリは、グラフ・エクスパンダ及びグラフ・ターミネータの機能を自動的に学習するために使用することができる。
このように、実行情報レポジトリは、ノードのセットの各々の実行後に動的に更新される。ターミネータ・モジュール116は、新しいノードをグラフに付け加えるこの反復プロセスをいつ終了するかを判断するように構成される。反復プロセスは、ターミネータ116が、エクスキュータ・モジュール114によって提供される情報が所定の基準に適合するとみなすまで、継続される。例えば、成功するテストの数が所定の閾値に達する。
次に図2を参照すると、例示的な一実施形態に一致する、検証ノード200の高レベルのブロック図が提供される。図2の例において、検証ノード200は、4つのステージ、すなわち、ステージ1(210)、ステージ2(230)、ステージ3(240)、及びステージ4(250)を含む。ノード200は、入力データセット202(D)を検出し、それに対してオペレーションを行う、自己完結型のモジュールを表す。検証ノード200に対する入力は、品質問題を有する入力データセット202(D)からの未処理データである。出力は、修正されたデータセットであり、ブロック260(D’)によって表される。図2のシステムのアーキテクチャは、以下でより詳しく論じられる。
ステージ1(210)において、未処理データセットが入力データセット202からバリデータ・オブジェクト212によって受け取られ、そこで論理的チェックが行われる。本明細書で用いられる場合、論理的チェックは、システムが所与の条件についてチェックし、その条件が満たされる場合、論理に従って結果を返すことになることを含む。異なるタイプのデータ変換が行われて、D1、D2、及びD3によって表されるデータの新しいバージョンを作成することができる複数のオペレータO1、O2、O3が存在する。例として3つのオペレータが図示されているが、所望の解像度に基づいて任意の数のオペレータを使用することができることを理解されたい。
次に、例示的な一実施形態に一致する、図2のステージ1のブロック図を提供する図3を参照する。未処理データの主要な論理的チェックは、バリデータ・ブロック310によって行われる。バリデータ・ブロック310への入力は、潜在的なエラーを含む可能性のある未処理データ302である。バリデータ・ブロック310は、未処理データ内の異常を検出するように構成される。データ内に異常が検出される場合、バリデータ310は、受け取った未処理データ302について修正オペレーションを行うことができる。
バリデータは、本明細書ではオペレータ(例えば、320(1)~320(3))と呼ぶ異なる修正アクションを選ぶことができる。例えば、バリデータ310は、欠損値検出器、重複値検出器などのような検出器とすることができる。対応するオペレータ320(1)~320(3)は、適切な修正アクション、例えば、行を除去すること、列を除去すること、もしくはデータ補完を行うこと、又はそれら全部を提供するように構成される。
これらの修正オペレーション320(1)~320(3)の各々の出力は、潜在的な問題が除去されたデータセットの新しいバージョンであり、D1~D3(330(1)~330(3))によって表される。再び図2を参照すると、データ品質アドバイザ(DQA)の1つの顕著な態様は、バリデータと可能性のあるオペレータとがリンクされることである。DQAは、本明細書で説明される全体システムを意味する。各々のバリデータは、バリデーションが失敗した場合に呼び出すことができる呼び出し可能オペレータO1~O3のセットに対するポインタを有する。これは、異常が検出されると、修正の自動処理を可能にする。
ステージ2(230)において、生成されたデータの新しいバージョンの各々について、これらの各々についてのデータ品質メトリック(DQM)(234(1)~234(4))が、対応する内部品質エバリュエータ(IQE)(232(1)~232(4))を用いて生成される。種々の実施形態において、IQEは、1つの共通ブロック又は複数のブロックとして理解することができる。パラメータは、各々の経路について異なる場合がある。メトリクッスは、ユーザが推奨することもできる。各々のIQEは、例えば、IQE232(1)はデータセットD1とDとの比較であるのに対して、232(2)はデータセットD2とDとの比較であるなどのように、行われる比較を示すように呼び方を変えている。各々のDQMのコンテンツは、データの種々の特性の要約を複数の次元で提供する。コンテンツは、複数の「品質スコア」、例えば、自動モデル化フィット、安定性検出器、コーホート分析器、類似性検出器などを有することができる。各々のDQMのコンテンツは、さらに、以前のバージョンからのデータの利得情報又は変更情報を含むことができる。入力データセット202(D)からの未処理データは、また、後の比較のために、その対応するIQE232(4)及びIQE234(4)を通過することに留意されたい。一実施形態において、データの量は、オペレータが欠損値を改善するために欠損値が存在する全ての行を削除する場合には、減少することがある。その場合、Vが欠損値チェックであり、Oが全ての行の削除であり、IQEは、どれほど多くのデータ減少が起きたかの比較を提供する。
次に図4を参照すると、例示的な一実施形態に一致する、図2のステージ2の経路のブロック図が提供される。入ってくるデータ402及び新しいデータの品質メトリックが、内部品質エバリュエータ(IQE)410によって生成される。IQE410は、所与のデータセット402についての固有品質メトリック(単数又は複数)を見つけるために使用される。図4に示されるように、いずれのデータセットD402も、データ品質メトリック(DQM)420を出力するためのIQE410まで進むことができる。種々の実施形態において、IQE410は、異なる品質メトリックのアセスメントを行うために、異なる技術を独立に又は一緒に使用することができる。例えば、IQE410は、自動モデル化フィットを使用して、回帰モデルもしくは分類モデル又はその両方にフィットするデータの能力のアセスメントを行うことができる。IQE410は、データ402がどれほど統計的に安定であるかを検出するために、安定性検出器を使用することができる。さらに、データ402内にどれほど多くのクラスタが存在するかを判断するために、コーホート分析器を使用することができる。平均の周りのデータの分布が対称的であるかどうかを判断するために、対称性検出を使用することができる。さらに、類似性検出及び他の技術を使用することができる。
IQE410の出力は、データ品質メトリック(DQM)420であり、これは一実施形態において、2つの主要なタイプの情報を提供する。第1に、DQM420は、データの種々の特性の要約を複数の次元(例えば、複数の統計値又は本明細書で論じられる複数のタイプの品質メトリック)で提供する。IQE410は、複数の品質スコアラ、例えば、限定なしに、図4に示される、自動モデル化フィット、安定性検出器、コーホート分析器、類似性検出などを有する。第2に、DQM420は、以前のバージョンからのデータの利得情報又は変更情報を提供することができる。
再び図2を参照すると、ステージ3(240)において、その対応するDQMからの変換されたデータの各々は、それぞれその対応するメトリック・アグリゲータ・ブロック242(1)及び242(2)によって、IQE232(4)及びDQM234(4)により処理された入力データセット202(D)からの元の未処理データと集約される(例えば、比較される)。例えば、種々のデータ品質メトリック(DQM)は、元のデータに対して、オペレータから新しく生成されたデータにどれほどの変化が観測されるかを調べるために、比較される。これを行うことの目的は、チェック及びオペレータの有効性を評価することである。DQMは配列であるので、値は、比較される前に集約される。
ステージ4において、集約されたスコアは、使用する適切なオペレータを選択するために、判断モジュール252へ送られる。この判断は、限定なしに、管理者の選択、推奨ベース及び/又は自動化を含むことができる、種々の基準に基づいて行うことができる。一実施形態において、各々のメトリック・アグリゲータ・ブロック242は、ステージ2からの経路から提供されたデータと、DQM234(4)の出力によって提供されたデータとの間のギャップの尺度を提供する。このようにして、各々のメトリック・アグリゲータは、どのデータセットを使用するか(例えば、D1、D2、又はD3)を決定することができる。その経路とDQM234(4)からの出力とのギャップが大きいほど、元の未処理データDがより大きく変更されたこと、すなわち、改良されたことになる。これに関して、ステージ4の判断モジュール252は、スコア及び判断基準に基づいて、データセット(例えば、D1、D2、又はD3)を選択する。一実施形態において、データの各々の経路においてメトリック・アグリゲータによって計測された、変更されたデータと元のデータセットとの間のギャップが大きいほど、データセットはより望ましい。しかし、一実施形態において、ギャップが所定の閾値を超える場合、変更されたデータセットは、誤りに基づく可能性があるので、不適格とされる。従って、判断モジュール252は、最大のギャップであるが所定の閾値より小さいギャップに基づいて、データセット(D1、D2、又はD3)を選択することができる。換言すれば、最も適切なギャップが選択される。ギャップは、正の方向に十分であるべきである。第2に、ギャップは、データが所定の基準に基づいて元のデータに類似しないほどに大き過ぎてはならない。従って、複数のDQM(統計値の配列)が、配列比較及び隔たり計算方法を用いて比較される。これらから、次に、新しいデータと未処理データとの間のギャップに関する知見を得ることができるが、なぜなら、DQMは、それらが計算されたデータを代表するものであるためである。上述のように、2つのデータセットの間のギャップは適切であるべきである。
次に図5を参照すると、例示的な一実施形態に一致する、図2のステージ3の経路のブロック図が提供される。新しいデータセット520(1)及び古いデータセット520(2)についてのメトリックが、メトリック・アグリゲータ・ブロック530によって比べられ、データセットを改良するためにどのオペレーションがより効果的であるかが決定される。新しいデータセット520(1)と古いデータセット520(2)との間のギャップが大きいほど、スコアが高くなる。そのような、2つのデータセットの間のデータ・メトリックの比較は、集約によって実行することができる。集約において使用される技術は、限定なしに、平均化、最大化、加重平均化、閾値和、カスタム集約、最大の平均、平均の最大、特徴量バギングなどを含むことができる。種々の実施形態において、結果は、データの改良を特徴付けるための、集約されたメトリック540もしくは単一の類似性/隔たりスコア550又はその両方とすることができる。
図6は、例示的な一実施形態に一致する、図2のステージ4のブロック図である。判断モジュール630は、図5の文脈において論じられたスコア及び所定の判断基準に基づいて、データセット620(1)と620(2)との間で選択するように構成される。種々の実施形態において、定義された基準は、(i)自動化(例えば、各々のオペレーションについての集約されたメトリックがステージ3において計算されると、これらを用いて、オペレータが最終的に利用するノードにおいて判断される)、(ii)管理者の選択(例えば、管理者に、どのオペレータを選択するかについて判断させる)、もしくは(iii)推奨ベース(例えば、どのオペレーションが所与のデータに関して最も良く機能するかについて時間と共に学習する)、又はそれらの全てとすることができる。
例示的なプロセス
例示的なアーキテクチャ100及び検証ノード200の前述の概説を用いて、ここで、例示的なプロセスの高レベルの考察を考えることが有用であろう。そのために、図7は、計算リソースを浪費しないようにデータ品質を改良することに関する例示的なプロセスを示す。プロセス700は、ハードウェア、ソフトウェア、又はそれらの組み合わせにおいて実施することができる一連のオペレーションを表す、論理的フローチャートにおけるブロックの集まりとして示される。ソフトウェアの文脈において、ブロックは、1つ又は複数のプロセッサによって実行されるとき、列挙されたオペレーションを実行するコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、抽象データ・タイプの機能又は手段を実行する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むことができる。各々のプロセスにおいて、オペレーションが説明される順序は、限定として解釈されることを意図したものではなく、説明されるブロックの任意の数を任意の順序で組み合わせるかもしくはプロセスを並列に実施するか又はその両方とすることができる。説明の目的で、プロセス700は、図2のアーキテクチャ200に関連して説明される。
例示的なアーキテクチャ100及び検証ノード200の前述の概説を用いて、ここで、例示的なプロセスの高レベルの考察を考えることが有用であろう。そのために、図7は、計算リソースを浪費しないようにデータ品質を改良することに関する例示的なプロセスを示す。プロセス700は、ハードウェア、ソフトウェア、又はそれらの組み合わせにおいて実施することができる一連のオペレーションを表す、論理的フローチャートにおけるブロックの集まりとして示される。ソフトウェアの文脈において、ブロックは、1つ又は複数のプロセッサによって実行されるとき、列挙されたオペレーションを実行するコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、抽象データ・タイプの機能又は手段を実行する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むことができる。各々のプロセスにおいて、オペレーションが説明される順序は、限定として解釈されることを意図したものではなく、説明されるブロックの任意の数を任意の順序で組み合わせるかもしくはプロセスを並列に実施するか又はその両方とすることができる。説明の目的で、プロセス700は、図2のアーキテクチャ200に関連して説明される。
ブロック702において、コンピューティング・デバイスが未処理データセット202を受け取る。
ブロック704において、受け取った未処理データセットに対応する1つ又は複数のデータ品質メトリック目標が受け取られる。本明細書で用いられる場合、用語「データ品質メトリック目標」は、メトリックと設定との組み合わせを意味し、システムの実行前にユーザによって提供することができる。これは、データ品質メトリックだけでなく、終了基準も含む。
ブロック708において、データセットのスキーマが決定される。
ブロック710において、データセットのスキーマに基づいて、検証ノードの初期のセットが識別される。
ブロック712において、検証ノードの初期のセットが実行される。
ブロック714において、データベースのスキーマに基づいて、検証ノードの次のセットが、終了基準に達するまで反復的に拡張及び実行される。終了基準に達していない(即ち、判断ブロック716における「いいえ」)と判断すると、反復プロセスが継続する。しかし、終了基準に達した(即ち、判断ブロック716における「はい」)と判断すると、プロセスはブロック718へ進み、そこで、検証ノードの初期のセット及び次のセットの反復実行に基づいて、未処理データセットの修正されたデータセットが提供される。
例示的なコンピュータ・プラットホーム。
上述のように、タスクを関係物に対して自動的に適合させることに関係する機能は、図1に示されるように、また図4のプロセス400に従って、無線又は有線通信を介してデータ通信用に接続された1つ又は複数のコンピューティング・デバイスを使用して実行することができる。図8は、動的発見及び修正エンジン840をホストすることができる特別に構成されたコンピューティング・デバイスを実装するために使用することが可能なコンピュータ・ハードウェア・プラットホーム800の機能ブロック図の実例を提供する。従って、コンピュータ・ハードウェア・プラットホーム800は、本明細書で論じられるように、種々のデータベース、知識ベース、検証ライブラリなどと通信することができる。具体的には、図8は、適切に構成されたサーバを実装するために使用することができる、ネットワーク又はホスト・コンピュータ・プラットホーム800を示す。
上述のように、タスクを関係物に対して自動的に適合させることに関係する機能は、図1に示されるように、また図4のプロセス400に従って、無線又は有線通信を介してデータ通信用に接続された1つ又は複数のコンピューティング・デバイスを使用して実行することができる。図8は、動的発見及び修正エンジン840をホストすることができる特別に構成されたコンピューティング・デバイスを実装するために使用することが可能なコンピュータ・ハードウェア・プラットホーム800の機能ブロック図の実例を提供する。従って、コンピュータ・ハードウェア・プラットホーム800は、本明細書で論じられるように、種々のデータベース、知識ベース、検証ライブラリなどと通信することができる。具体的には、図8は、適切に構成されたサーバを実装するために使用することができる、ネットワーク又はホスト・コンピュータ・プラットホーム800を示す。
コンピュータ・プラットホーム800は、中央処理ユニット(CPU)804、ハード・ディスク・ドライブ(HDD)806、ランダム・アクセス・メモリ(RAM)もしくは読み出し専用メモリ(ROM)又はその両方808、キーボード810、マウス812、ディスプレイ814、及び、通信インターフェース816を含むことができ、これらはシステム・バス802に接続される。
一実施形態において、HDD806は、動的発見及び修正エンジン840などの種々のプロセスを本明細書で説明される方法で実行することができるプログラムを格納することを含む能力を有する。動的発見及び修正エンジン840は、異なる機能を実行するように構成された種々のモジュールを有することができる。
例えば、未処理データセットを受け取り、そのスキーマを推定するように動作するスキーマ推定モジュール842が存在することができる。未処理データについて検証を行うためにグラフ内のノードの第1のセットを初期化するように動作するイニシアライザ・モジュール844が存在することができる。イニシアライザ844からの出力を受け取り、イニシアライザ844によって提供されるグラフ内のノードによって定められるオペレーションを実行するように動作するエクスキュータ・モジュールが存在することができる。実行のために考えられるべきノードの次のセットを決定し、本明細書で論じられるように、基準が満たされるときに終了信号を提供するように動作するターミネータ・モジュール850が存在することができる。ターミネータ850の現在の出力に基づいて、グラフに加えられるべきノードの次のセットを、エクスキュータ・モジュール848から選択するように動作するエクスパンダ・モジュールが存在することができる。本明細書で論じられるように、限定なしに、一般的チェック、AIチェック、時系列チェック、及び言語チェックを含む種々の検証チェックを提供するように動作する検証モジュール856が存在することができる。
例示的なクラウド・プラットホーム
上述のように、タスクを関係物に適合させることに関係する機能は、クラウドを含むことができる。本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本開示の実施形態は、現在既知の又は後で開発されるいずれかの他のタイプのコンピューティング環境と共に実装することができる。
上述のように、タスクを関係物に適合させることに関係する機能は、クラウドを含むことができる。本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本開示の実施形態は、現在既知の又は後で開発されるいずれかの他のタイプのコンピューティング環境と共に実装することができる。
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニングされ、かつ解放されることが可能である構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、及び少なくとも4つのデプロイメント・モデルを含むことができる。
特徴は、以下の通りである。
オンデマンド・セルフサービス:クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
広範なネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的な機構を通じてアクセスされる。
リソース・プール化:プロバイダのコンピューティング・リソースは、マルチテナント・モデルを用いて複数のコンシューマにサービスを提供するためにプールされ、異なる物理及び仮想リソースが要求に応じて動的に割り当て及び再割り当てされる。コンシューマは、一般に、提供されたリソースの正確な位置についての制御又は知識を持たないという点で、位置とは独立しているといえるが、より高い抽象化レベル(例えば、国、州、又はデータセンタ)では位置を特定できる場合がある。
迅速な弾力性:機能は、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングしてすばやくスケールアウトし、迅速に解放してすばやくスケールインすることができる。コンシューマにとって、プロビジョニングに利用可能な能力は、多くの場合、無制限であるように見え、いつでもどんな量でも購入できる。
サービスの測定:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告して、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
サービス・モデルは、以下の通りである。
Software as a Service(SaaS):コンシューマに提供される機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。これらのアプリケーションは、ウェブ・ブラウザ(例えば、ウェブベースの電子メール)などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を想定される例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション能力をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
Platform as a Service(PaaS):コンシューマに提供される機能は、プロバイダによってサポートされるプログラミング言語及びツールを用いて作成された、コンシューマが作成又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーションをホストする環境構成を制御する。
Infrastructure as a Service(IaaS):コンシューマに提供される機能は、コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアをデプロイして実行させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションに対する制御、及び場合によってはネットワークコンポーネント(例えば、ホストのファイアウォール)選択に対する限定された制御を有する。
デプロイメント・モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運営される。それは、組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
コミュニティクラウド:クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項(例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項)を有する特定のコミュニティをサポートする。これは、それらの組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループによって利用可能であり、クラウド・サービスを販売する組織によって所有される。
ハイブリッドクラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションのポータビリティを可能にする標準化技術又は専用技術(例えば、クラウド間の負荷平衡のためのクラウドバースティング)によって互いに結び付けられた、2つ以上のクラウド(プライベート、コミュニティ、又はパブリック)の混成物である。
クラウド・コンピューティング環境は、サービス指向であり、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置く。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで図9を参照すると、例示的なクラウド・コンピューティング環境950が示される。図示のように、クラウド・コンピューティング環境950は、例えば、携帯情報端末(PDA)もしくはセルラ電話954A、デスクトップ・コンピュータ954B、ラップトップ・コンピュータ954Cもしくは自動車コンピュータ・システム954N又はそれらの組み合わせなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信することができる、1つ又は複数のクラウド・コンピューティング・ノード910を含む。ノード910は、互いに通信することができる。ノード910は、上述されるプライベート・クラウド、コミュニティクラウド、パブリック・クラウド、又はハイブリッドクラウド、又はそれらの組み合わせなどの、1つ又は複数のネットワークにおいて物理的に又は仮想的にグループ化することができる(図示せず)。このことは、クラウド・コンピューティング環境950が、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないInfrastructure as a Service、Platform as a ServiceもしくはSoftware as a Service又はその組み合わせを提供することを可能にする。図9に示されるコンピューティング・デバイス954A~Nのタイプは、単に例示的であることが意図され、コンピューティング・ノード910及びクラウド・コンピューティング環境950は、任意のタイプのネットワークもしくはネットワークアドレス指定可能な接続又はその両方を介して任意のタイプのコンピュータ化されたデバイスと通信することが可能である(例えば、ウェブ・ブラウザを用いて)ことが理解される。
ここで図10を参照すると、クラウド・コンピューティング環境950(図9)により提供される機能抽象化層の例示的セットが示される。図10に示されるコンポーネント、層及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
ハードウェア及びソフトウェア層1060は、ハードウェア・コンポーネント及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム1061、RISC(Reduced Instruction Set Computer(縮小命令セットコンピュータ))アーキテクチャ・ベースのサーバ1062、サーバ1063、ブレード・サーバ1064、ストレージ・デバイス1065、並びにネットワーク及びネットワーキングコンポーネント1066が含まれる。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア1067と、データベース・ソフトウェア1068とを含む。
仮想化層1070は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ1071、仮想ストレージ1072、仮想プライベート・ネットワークを含む仮想ネットワーク1073、仮想アプリケーション及びオペレーティング・システム1074、並びに仮想クライアント1075を提供することができる。
一例において、管理層1080は、以下で説明される機能を提供することができる。リソース・プロビジョニング1081は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定1082は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクについての識別検証、並びにデータ及び他のリソースに対する保護を提供する。ユーザ・ポータル1083は、コンシューマ及びシステム管理者に対して、クラウド・コンピューティング環境へのアクセスを提供する。マイクロサービス・レベル管理1084は、必要なマイクロサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割当て及び管理を提供する。マイクロサービス・レベル・アグリーメント(microservice Level Agreement、SLA)の計画及び履行1085は、SLAに従って将来的な必要性が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
作業負荷層1090は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができる作業負荷及び機能の例として、マッピング及びナビゲーション1091、ソフトウェア開発及びライフサイクル管理1092、仮想教室教育配信1093、データ分析処理1094、トランザクション処理1095、及び本明細書に説明されるような動的発見及び修正エンジン1096が挙げられる。
結論
結論
本教示の種々の実施形態の説明は、説明を目的として提示されているが、網羅的であること、又は開示された実施形態に限定することを意図したものではない。当業者には、説明される実施形態の範囲及び趣旨から逸脱することなく、多くの修正及び変形が明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の用途、もしくは市場で見出される技術に優る技術的改善を最も良く説明するために、又は当業者が本明細書に開示される実施形態を理解するのを可能にするために、選択された。
上記は、最良の状態もしくはその他の例、又はその両方であると考えられるものを説明しているが、種々の変更をそこになし得ること、本明細書で開示される主題を種々の形態及び例において実装できること、及び本明細書にその一部のみが説明される多数の用途に教示を適用できることが理解される。以下の特許請求の範囲により、本教示の真の範囲内に入るありとあらゆる用途、修正及び変形を特許請求することが意図される。
本明細書で述べられているコンポーネント、ステップ、特徴、オブジェクト、利益及び利点は、単に例証的なものに過ぎない。そのいずれも、又はそれに関連するいずれの説明も、保護の範囲を制限することを意図しない。種々の利点が本明細書で説明されるが、必ずしも全ての実施形態が全ての利点を含むものではないことが理解されるであろう。特に断りのない限り、以下の特許請求の範囲内に含む、全ての測定値、値、格付け、位置、大きさ、サイズ及び本明細書で述べられる他の仕様は、近似値であり、正確なものではないことが理解されるであろう。それらは、それが関連する及びそれらが関係する当技術分野において通例である機能と一貫した妥当な範囲を有するように意図される。
他の多数の実施形態も考えられる。これらは、より少ない、付加的な、及び/又は異なるコンポーネント、ステップ、特徴、オブジェクト、利益及び利点を有する実施形態を含む。これらはまた、コンポーネント及び/又はステップが、異なるように配置及び/又は順序付けられる実施形態も含む。
本開示の態様は、本開示の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図、又はその両方を参照して説明される。フローチャート図もしくはブロック図、又はその両方の各ブロック、並びにフローチャート図もしくはブロック図、又はその両方内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図、又はその両方の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置もしくは他のデバイス、又はそれらの組み合わせを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そこに命令が格納されたコンピュータ可読ストレージ媒体が、フローチャートもしくはブロック図、又はその両方の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ、他のプログラム可能装置、又は他のデバイス上で実行される命令が、フローチャートもしくはブロック図、又はその両方の1つ又は複数のブロックにおいて指定された機能/動作を実施するようにすることもできる。
図面内のコール・フロー、フローチャート及びブロック図は、本開示の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又は命令の一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図、又はその両方の各ブロック、及びブロック図もしくはフローチャート図、又はその両方内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
上記は、例示的な実施形態と併せて説明されているが、「例示的な」という用語は、最良であること又は最適であることではなく、単に1つの例として意味することが理解される。直前に述べられたものを除き、述べられたもの又は示されたものは、それが特許請求の範囲内に記載されるか又は記載されないかに関係なく、任意のコンポーネント、ステップ、特徴、オブジェクト、利益、利点、又は同等物の、公衆への専用化を引き起こすように意図するものではなく又は解釈すべきではない。
本明細書で使用される用語及び表現は、本明細書で他に特定の意味が述べられる場合を除いて、その対応するそれぞれの調査及び研究領域に関して、こうした用語及び表現に従うような通常の意味を有することが理解されるであろう。第1及び第2などのような関係用語は、必ずしも、いずれかの実際のこうした関係又はこうしたエンティティもしくはアクション間の順序を必要とする又は意味することなく、単に、1つのエンティティもしくはアクションを互いに区別するために使用することができる。「含む(comprise)」、「含んでいる(comprising)」という用語又はそのいずれかの他の変形は、非網羅的な含有をカバーすることを意図しており、要素のリストを含むプロセス、方法、物品又は装置は、それらの要素のみを含むのではなく、こうしたプロセス、方法、物品又は装置に明白に列挙されていない又はこれらに固有の他の要素を含むことができる。「1つ(a)」又は「1つ(an)」で始まる要素は、さらなる制約なしに、要素を含むプロセス、方法、物品又は装置内の付加的な同一の要素の存在を排除する。
開示の要約は、読み手が技術的開示の性質を迅速に確認するのを可能にするために与えられる。要約は、請求項の範囲又は意味を解釈又は制限するために用いられるのではないことを理解して提出される。さらに、上記の詳細な説明において、開示を合理化するために、種々の実施形態において、種々の特徴が互いにグループ化されることが分かる。この開示の方法は、特許請求される実施形態が、各請求項中で明白に述べられるよりも多くの特徴を有する意図を示すように解釈されるものではない。むしろ、以下の請求項が示すように、本主題は、決して単一の開示される実施形態の全ての特徴内にあるのではない。従って、以下の特許請求の範囲は、これにより詳細な説明の中に組み入れられ、各請求項は、それ自体で別個に請求される主題を表す。
Claims (25)
- プロセッサと、
前記プロセッサに結合されたストレージ・デバイスと、
前記ストレージ・デバイスに格納されたエンジンと
を備えるコンピューティング・デバイスであって、
前記プロセッサによる前記エンジンの実行が、
未処理データセットを受け取ることと、
受け取った前記未処理データセットに対応する1つ又は複数のデータ品質メトリック目標を受け取ることと、
前記データセットのスキーマを決定することと、
前記データセットの前記スキーマに基づいて、検証ノードの初期のセットを識別することと、
検証ノードの前記初期のセットを実行することと、
前記データセットの前記スキーマに基づいて、終了基準に達するまで検証ノードの次のセットを反復的に拡張及び実行することと、
検証ノードの前記初期のセット及び前記次のセットの反復実行に基づいて、前記未処理データセットの修正されたデータセットを提供することと
を含む動作を行うように前記コンピューティング・デバイスを構成する
デバイス。 - 各々の検証ノードは、データ品質チェックと1つ又は複数の改善アクションとを含む、請求項1に記載のデバイス。
- 検証ノードの前記初期のセットの検証ノードの実行は、
あらゆるデータ品質チェックについて全ての可能な改善アクションを識別することと、
各々の可能な改善アクションによって前記データを変換することと、
前記変換を評価するために複数のデータ品質メトリック(DQM)を計算することと
を含む、請求項1に記載のデバイス。 - 検証ノードの実行は、
前記未処理データセット内の1つ又は複数の異常を検出するために、バリデータ・オブジェクトによって前記未処理データセットの論理的チェックを行うことと、
前記1つ又は複数の検出された異常を修正するために、前記未処理データセットに対して対応するオペレータにより異なるデータ変換を行い、各々のデータ変換についてデータの新しいバージョンを作成することと
を含む第1のステージを含む、請求項1に記載のデバイス。 - 前記検証ノードの実行は、
作成されたデータの各々の新しいバージョンについて、内部品質エバリュエータ(IQE)モジュールによってデータ品質メトリック(DQM)を生成することと、
前記未処理データセットについてのDQMを生成することと
を含む第2のステージを含む、請求項4に記載のデバイス。 - 前記第2のステージの各々のDQMは、(i)前記未処理データセットから作成されたデータの対応する前記新しいバージョンの複数の次元での特徴の要約、又は(ii)前記未処理データセットから作成されたデータの対応する前記新しいバージョンの利得情報又は変更情報、のうちの少なくとも1つを含む、請求項5に記載のデバイス。
- 前記検証ノードの実行は、
作成されたデータの各々の前記新しいバージョンの各々のDQMと前記未処理データセットのDQMとについて、前記未処理データセットに対する比較を行い、前記未処理データセットからの改良のアセスメントを行うこと
を含む第3のステージを含む、請求項5に記載のデバイス。 - 前記検証ノードの実行は、
前記データ品質メトリック目標に最も良く適合する、作成されたデータの前記新しいバージョンの前記オペレータを選択すること
を含む第4のステージを含む、請求項7に記載のデバイス。 - 選択される前記オペレータは、その対応するDQMと前記未処理データセットのDQMとの間で、所定の閾値より小さい最大のギャップを有する、請求項8に記載のデバイス。
- 検証ノードの前記次のセットを拡張することは、
受け取った前記1つ又は複数の品質メトリック目標を最も良く達成する検証ノードを決定することと、
通常は一緒に発生する全ての検証ノードを見つけるために実行情報レポジトリをマイニングすることに基づいて、検証ノードを決定することと
のうちの少なくとも1つを含む、請求項1に記載のデバイス。 - コンピュータ可読命令を有するコンピュータ可読プログラム・コードを有形に具体化するコンピュータ可読ストレージ媒体であって、前記コンピュータ可読命令は、実行されるとき、コンピュータ・デバイスに、
未処理データセットを受け取ることと、
受け取った前記未処理データセットに対応する1つ又は複数のデータ品質メトリック目標を受け取ることと、
前記データセットのスキーマを決定することと、
前記データセットの前記スキーマに基づいて、検証ノードの初期のセットを識別することと、
検証ノードの前記初期のセットを実行することと、
前記データセットの前記スキーマに基づいて、終了基準に達するまで検証ノードの次のセットを反復的に拡張及び実行することと、
検証ノードの前記初期のセット及び前記次のセットの反復実行に基づいて、前記未処理データセットの修正されたデータセットを提供することと
を含む、計算リソースを浪費しないようにデータ品質を改良する方法を実行させる、
コンピュータ可読ストレージ媒体。 - 各々の検証ノードは、データ品質チェックと1つ又は複数の改善アクションとを含む、請求項11に記載のコンピュータ可読ストレージ媒体。
- 検証ノードの前記初期のセットの検証ノードの実行は、
各々のデータ品質チェックについて全ての可能な改善アクションを識別することと、
各々の可能な改善アクションによって前記データを変換することと、
前記変換を評価するために複数のデータ品質メトリック(DQM)を計算することと
を含む、請求項11に記載のコンピュータ可読ストレージ媒体。 - 検証ノードの実行は、
前記未処理データセット内の1つ又は複数の異常を検出するために、バリデータ・オブジェクトによって前記未処理データセットの論理的チェックを行うことと、
前記1つ又は複数の検出された異常を修正するために、前記未処理データセットに対して対応するオペレータにより異なるデータ変換を行い、各々のデータ変換についてデータの新しいバージョンを作成することと
を含む第1のステージと、
作成されたデータの各々の新しいバージョンについて、内部品質エバリュエータ(IQE)モジュールによってデータ品質メトリック(DQM)を生成することと、
前記未処理データセットについてのDQMを生成することと
を含む第2のステージと、
作成されたデータの各々の前記新しいバージョンの各々のDQMについて、前記未処理データセットに対する比較を行い、前記未処理データセットからの改良のアセスメントを行うこと
を含む第3のステージと、
前記データ品質メトリック目標に最も良く適合する、作成されたデータの前記新しいバージョンの前記オペレータを選択すること
を含む第4のステージと、
を含む、請求項11に記載のコンピュータ可読ストレージ媒体。 - 選択される前記オペレータは、その対応するDQMと前記未処理データセットのDQMとの間で、所定の閾値より小さい最大のギャップを有する、請求項14に記載のコンピュータ可読ストレージ媒体。
- 検証ノードの前記次のセットを拡張することは、
前記データ品質メトリック目標の1つ又は複数を最も良く達成する検証ノードを決定することと、
通常は一緒に発生する全ての検証ノードを見つけるために実行情報レポジトリをマイニングすることに基づいて、検証ノードを決定することと
の内の少なくとも1つを含む、請求項11に記載のコンピュータ可読ストレージ媒体。 - 未処理データセットを受け取り、前記未処理データセットのスキーマを決定するように構成されたスキーマ推定モジュールと、
前記スキーマ推定モジュールに結合され、受け取った前記未処理データセットに対応する1つ又は複数のデータ品質メトリック目標を知識ベースから受け取るように構成されたデータ・シンセサイザ・モジュールと
を備えるシステムであって、
前記データ・シンセサイザ・モジュールは、
前記データセットの前記スキーマに基づいて、検証ノードの初期のセットを識別するように構成されたイニシアライザ・モジュールと、
前記イニシアライザ・モジュールに結合され、検証ノードの前記初期のセットを実行するように構成されたエクスキュータ・モジュールと、
前記エクスキュータ・モジュールに結合され、前記データセットの前記スキーマに基づいて、終了基準に達するまで検証ノードの次のセットを反復的に拡張及び実行するように構成されたエクスパンダ・モジュールと、
前記エクスパンダ・モジュールに結合され、前記エクスパンダ・モジュールによって考慮する検証ノードの前記次のセットを反復的に決定し、反復的な決定をいつ終了するかを判断するように構成されたターミネータ・モジュールと、
前記エクスキュータ及びターミネータ・モジュールに結合され、検証ノードの前記初期のセット及び前記次のセットの反復実行に基づいて、前記未処理データセットの修正されたデータセットを提供するように構成された情報レポジトリと
を備える、
システム。 - 各々の検証ノードは、データ品質チェックと1つ又は複数の改善アクションとを含む、請求項17に記載のシステム。
- 検証ノードの前記初期のセットは、
あらゆるデータ品質チェックについて全ての可能な改善アクションを識別し、
各々の可能な改善アクションによって前記データを変換し、
前記変換を評価するために複数のデータ品質メトリックを計算する
ように構成される、請求項17に記載のシステム。 - 各々の検証ノードは、
前記未処理データセット内の1つ又は複数の異常を検出するために、バリデータ・オブジェクトによって前記未処理データセットの論理的チェックを行い、
前記1つ又は複数の検出された異常を修正するために、前記未処理データセットに対して対応するオペレータにより異なるデータ変換を行い、各々のデータ変換についてデータの新しいバージョンを作成する
ように構成された第1のステージと、
作成されたデータの各々の新しいバージョンについて、内部品質エバリュエータ(IQE)モジュールによってデータ品質メトリック(DQM)を生成し、
前記未処理データセットについてのDQMを生成する
ように構成された第2のステージと、
作成されたデータの各々の前記新しいバージョンの各々のDQMについて、前記未処理データセットに対する比較を行う
ように構成された第3のステージと、
前記データ品質メトリック目標に最も良く適合する、作成されたデータの前記新しいバージョンの前記オペレータを選択する
ように構成された第4のステージと、
を含む、請求項17に記載のシステム。 - 計算リソースを浪費しないようにデータ品質を改良するコンピュータ実施の方法であって、
未処理データセットを受け取ることと、
受け取った前記未処理データセットに対応する1つ又は複数のデータ品質メトリック目標を受け取ることと、
前記データセットのスキーマを決定することと、
前記データセットの前記スキーマに基づいて、検証ノードの初期のセットを識別することと、
検証ノードの前記初期のセットを実行することと、
前記データセットの前記スキーマに基づいて、終了基準に達するまで検証ノードの次のセットを反復的に拡張及び実行することと、
検証ノードの前記初期のセット及び前記次のセットの反復実行に基づいて、前記未処理データセットの修正されたデータセットを提供することと
を含む、コンピュータ実施の方法。 - 各々の検証ノードは、データ品質チェックと1つ又は複数の改善アクションとを含む、請求項21に記載のコンピュータ実施の方法。
- 検証ノードの前記初期のセットの検証ノードの実行は、
各々のデータ品質チェックについて全ての可能な改善アクションを識別することと、
各々の可能な改善アクションによって前記データを変換することと、
前記変換を評価するために複数のデータ品質メトリック(DQM)を計算することと
を含む、請求項21に記載のコンピュータ実施の方法。 - 検証ノードの実行は、
前記未処理データセット内の1つ又は複数の異常を検出するために、バリデータ・オブジェクトによって前記未処理データセットの論理的チェックを行うことと、
前記1つ又は複数の検出された異常を修正するために、前記未処理データセットに対して対応するオペレータにより異なるデータ変換を行い、各々のデータ変換についてデータの新しいバージョンを作成することと
を含む第1のステージと、
作成されたデータの各々の新しいバージョンについて、内部品質エバリュエータ(IQE)モジュールによってデータ品質メトリック(DQM)を生成することと、
前記未処理データセットについてのDQMを生成することと
を含む第2のステージと、
作成されたデータの各々の前記新しいバージョンの各々のDQMについて、前記未処理データセットに対する比較を行うこと
を含む第3のステージと、
前記データ品質メトリック目標に最も良く適合する、作成されたデータの前記新しいバージョンの前記オペレータを選択すること
を含む第4のステージと、
を含む、請求項21に記載のコンピュータ実施の方法。 - 検証ノードの前記次のセットを拡張することは、
受け取った前記1つ又は複数の品質メトリック目標を最も良く達成する検証ノードを決定することと、
通常は一緒に発生する全ての検証ノードを見つけるために実行情報レポジトリをマイニングすることに基づいて、検証ノードを決定することと
のうちの少なくとも1つを含む、請求項21に記載のコンピュータ実施の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063011990P | 2020-04-17 | 2020-04-17 | |
US63/011,990 | 2020-04-17 | ||
US17/075,617 | 2020-10-20 | ||
US17/075,617 US20210326334A1 (en) | 2020-04-17 | 2020-10-20 | Dynamic Discovery and Correction of Data Quality Issues |
PCT/IB2021/052878 WO2021209862A1 (en) | 2020-04-17 | 2021-04-07 | Dynamic discovery and correction of data quality issues |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023522882A true JP2023522882A (ja) | 2023-06-01 |
Family
ID=78081150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022562935A Pending JP2023522882A (ja) | 2020-04-17 | 2021-04-07 | データ品質問題の動的発見及び修正 |
Country Status (10)
Country | Link |
---|---|
US (1) | US20210326334A1 (ja) |
JP (1) | JP2023522882A (ja) |
KR (1) | KR20220143766A (ja) |
CN (1) | CN115427947A (ja) |
AU (1) | AU2021254863B2 (ja) |
CA (1) | CA3165983A1 (ja) |
DE (1) | DE112021000627T5 (ja) |
GB (1) | GB2612200A (ja) |
IL (1) | IL296376A (ja) |
WO (1) | WO2021209862A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220215034A1 (en) * | 2021-01-05 | 2022-07-07 | Samsung Electronics Co., Ltd. | Electronic apparatus and controlling method thereof |
US20240086379A1 (en) * | 2022-09-09 | 2024-03-14 | Genworth Holdings, Inc. | System and method for implementing a data quality framework and engine |
CN116559561B (zh) * | 2023-05-08 | 2024-04-26 | 苏州英瑞传感技术有限公司 | 实验生产验证设备的状态评估方法、控制器及监控系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9769354B2 (en) * | 2005-03-24 | 2017-09-19 | Kofax, Inc. | Systems and methods of processing scanned data |
US10572456B2 (en) * | 2013-09-24 | 2020-02-25 | Here Global B.V. | Method, apparatus, and computer program product for data quality analysis |
US9275425B2 (en) * | 2013-12-19 | 2016-03-01 | International Business Machines Corporation | Balancing provenance and accuracy tradeoffs in data modeling |
US10210461B2 (en) * | 2014-03-21 | 2019-02-19 | International Business Machines Corporation | Ranking data analytics results using composite validation |
US10963810B2 (en) * | 2014-06-30 | 2021-03-30 | Amazon Technologies, Inc. | Efficient duplicate detection for machine learning data sets |
US9600504B2 (en) * | 2014-09-08 | 2017-03-21 | International Business Machines Corporation | Data quality analysis and cleansing of source data with respect to a target system |
US11379537B2 (en) * | 2016-11-18 | 2022-07-05 | Accenture Global Solutions Limited | Closed-loop unified metadata architecture with universal metadata repository |
US10074038B2 (en) * | 2016-11-23 | 2018-09-11 | General Electric Company | Deep learning medical systems and methods for image reconstruction and quality evaluation |
US11263185B2 (en) * | 2018-03-19 | 2022-03-01 | Perkinelmer Informatics, Inc. | Methods and systems for automating clinical data mapping and transformation |
US20200210389A1 (en) * | 2018-12-28 | 2020-07-02 | Microsoft Technology Licensing, Llc | Profile-driven data validation |
-
2020
- 2020-10-20 US US17/075,617 patent/US20210326334A1/en active Pending
-
2021
- 2021-04-07 CA CA3165983A patent/CA3165983A1/en active Pending
- 2021-04-07 CN CN202180028481.5A patent/CN115427947A/zh active Pending
- 2021-04-07 IL IL296376A patent/IL296376A/en unknown
- 2021-04-07 GB GB2217086.4A patent/GB2612200A/en active Pending
- 2021-04-07 JP JP2022562935A patent/JP2023522882A/ja active Pending
- 2021-04-07 KR KR1020227033918A patent/KR20220143766A/ko unknown
- 2021-04-07 WO PCT/IB2021/052878 patent/WO2021209862A1/en active Application Filing
- 2021-04-07 DE DE112021000627.4T patent/DE112021000627T5/de active Pending
- 2021-04-07 AU AU2021254863A patent/AU2021254863B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
IL296376A (en) | 2022-11-01 |
US20210326334A1 (en) | 2021-10-21 |
CN115427947A (zh) | 2022-12-02 |
AU2021254863A1 (en) | 2022-09-22 |
GB202217086D0 (en) | 2022-12-28 |
GB2612200A (en) | 2023-04-26 |
KR20220143766A (ko) | 2022-10-25 |
DE112021000627T5 (de) | 2022-11-10 |
AU2021254863B2 (en) | 2023-12-21 |
WO2021209862A1 (en) | 2021-10-21 |
CA3165983A1 (en) | 2021-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10200393B2 (en) | Selecting representative metrics datasets for efficient detection of anomalous data | |
JP7461698B2 (ja) | ドメインインデックス制約リポジトリを用いた異常及びドリフトの検出 | |
JP2023522882A (ja) | データ品質問題の動的発見及び修正 | |
US10776740B2 (en) | Detecting potential root causes of data quality issues using data lineage graphs | |
US20170177737A9 (en) | Method, Controller, Program, and Data Storage System for Performing Reconciliation Processing | |
Jeong et al. | Anomaly teletraffic intrusion detection systems on hadoop-based platforms: A survey of some problems and solutions | |
US10656934B2 (en) | Efficient software testing | |
US11196633B2 (en) | Generalized correlation of network resources and associated data records in dynamic network environments | |
US11972382B2 (en) | Root cause identification and analysis | |
WO2022018626A1 (en) | Cross-environment event correlation using domain-space exploration and machine learning techniques | |
US11212162B2 (en) | Bayesian-based event grouping | |
Sindhu et al. | Workload characterization and synthesis for cloud using generative stochastic processes | |
US10970341B2 (en) | Predictive modeling in event processing systems for big data processing in cloud | |
US11409769B2 (en) | Computer-implemented method and system for attribute discovery for operation objects from operation data | |
US20210326332A1 (en) | Temporal directed cycle detection and pruning in transaction graphs | |
US20170344558A1 (en) | Graph method for system sensitivity analyses | |
US10901979B2 (en) | Generating responses to queries based on selected value assignments | |
US11074508B2 (en) | Constraint tracking and inference generation | |
US20220405631A1 (en) | Data quality assessment for unsupervised machine learning | |
US11947416B2 (en) | Fault diagnosis in complex systems | |
US20230136564A1 (en) | Agent assisted model development | |
US20220318666A1 (en) | Training and scoring for large number of performance models | |
US20230185791A1 (en) | Prioritized data cleaning | |
US20210286819A1 (en) | Method and System for Operation Objects Discovery from Operation Data | |
Singh | Empirical Evaluation and Architecture Design for Big Monitoring Data Analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221220 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20221017 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230925 |