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

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

▶ コリブラ ベルジャン ビーブイの特許一覧

特表2024-515692正しいデータ又は欠落データ並びにデータ異常を予測するシステム及び方法
<>
  • 特表-正しいデータ又は欠落データ並びにデータ異常を予測するシステム及び方法 図1
  • 特表-正しいデータ又は欠落データ並びにデータ異常を予測するシステム及び方法 図2
  • 特表-正しいデータ又は欠落データ並びにデータ異常を予測するシステム及び方法 図3A
  • 特表-正しいデータ又は欠落データ並びにデータ異常を予測するシステム及び方法 図3B
  • 特表-正しいデータ又は欠落データ並びにデータ異常を予測するシステム及び方法 図4A
  • 特表-正しいデータ又は欠落データ並びにデータ異常を予測するシステム及び方法 図4B
  • 特表-正しいデータ又は欠落データ並びにデータ異常を予測するシステム及び方法 図4C
  • 特表-正しいデータ又は欠落データ並びにデータ異常を予測するシステム及び方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-10
(54)【発明の名称】正しいデータ又は欠落データ並びにデータ異常を予測するシステム及び方法
(51)【国際特許分類】
   G06F 16/215 20190101AFI20240403BHJP
【FI】
G06F16/215
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023564404
(86)(22)【出願日】2022-04-05
(85)【翻訳文提出日】2023-12-19
(86)【国際出願番号】 EP2022058921
(87)【国際公開番号】W WO2022223279
(87)【国際公開日】2022-10-27
(31)【優先権主張番号】17/236,823
(32)【優先日】2021-04-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】523127268
【氏名又は名称】コリブラ ベルジャン ビーブイ
【氏名又は名称原語表記】COLLIBRA BELGIUM BV
(74)【代理人】
【識別番号】100107364
【弁理士】
【氏名又は名称】斉藤 達也
(72)【発明者】
【氏名】ハスルベック,カーク ジェイ.
(72)【発明者】
【氏名】マーンズ,ブライアン エヌ.
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175CA01
(57)【要約】
本開示は、データ異常を予測して修正するシステム及び方法を対象とする。一例示的態様では、本システムによってデータが受信される。本システムはそのデータを分析してよく、分析は、特定のプロファイリング統計値(例えば、最小値、最大値、平均値、濃度等)に関してデータをプロファイリングすることによって行われる。データ内の特定のデータカラム間の潜在的関係性を識別するために、プロファイリングされたデータに少なくとも1つの機械学習アルゴリズム(例えば、ランダムフォレストアルゴリズム)が適用されてよい。特定の関係性が識別されたら、関連するデータを抽出することによってアイテムセットが形成されてよい。アイテムセット内の関連する値の特定の頻度を識別するために、アイテムセットに第2の機械学習アルゴリズム(例えば、頻出パターン成長アルゴリズム)が適用されてよい。低頻度値がデータセット内の異常を示しうる。本システムは、異常が検出されたら、(特定の値を置き換えること及び/又は欠落値を埋めること等の)インテリジェント修正アクションを提供するように構成されてよい。
【選択図】図1
【特許請求の範囲】
【請求項1】
データセット内のデータ品質を予測する方法であって、
第1のデータセットを受信するステップと、
前記第1のデータセットをプロファイリングするステップと、
前記第1のデータセットに第1の機械学習アルゴリズムを適用するステップであって、前記第1の機械学習アルゴリズムは、前記第1のデータセット内の第1のデータカラムと第2のデータカラムとの間の少なくとも1つの関係性を識別する、前記第1の機械学習アルゴリズムを適用する前記ステップと、
前記第1のデータセット内の前記第1のデータカラムと前記第2のデータカラムとの間の前記少なくとも1つの関係性の前記識別に基づいて、第2のデータセットを生成するステップであって、前記第2のデータセットは前記第1のデータセットのサブセットである、前記第2のデータセットを生成する前記ステップと、
前記第2のデータセット内の複数のカラムヘッダを連結するステップと、
前記第2のデータセット内の前記複数のカラムヘッダの前記連結に基づいて、アイテムセットを生成するステップと、
前記アイテムセットに第2の機械学習アルゴリズムを適用するステップであって、前記第2の機械学習アルゴリズムは、前記第1のデータセット内の前記第1のデータカラムと前記第2のデータカラムとの間の前記少なくとも1つの関係性に関連付けられた少なくとも1つの頻度値を識別する、前記第2の機械学習アルゴリズムを適用する前記ステップと、
前記アイテムセット内の少なくとも1つの異常を識別するステップと、
前記少なくとも1つの異常を修正するための少なくとも1つの提案を生成するステップと、
を含む方法。
【請求項2】
前記アイテムセット内の少なくとも1つの異常を識別する前記ステップは、前記アイテムセット内の少なくとも1つの欠落値を識別するステップを含む、請求項1に記載の方法。
【請求項3】
前記少なくとも1つの異常を修正するための前記少なくとも1つの提案は、前記アイテムセット内の前記少なくとも1つの欠落値を埋める少なくとも1つの提案値を含む、請求項2に記載の方法。
【請求項4】
前記少なくとも1つの提案値は、ゼロ、平均値、最小値、及び最大値のうちの少なくとも1つである、請求項3に記載の方法。
【請求項5】
前記第1の機械学習アルゴリズムはランダムフォレストアルゴリズムである、請求項1に記載の方法。
【請求項6】
前記第2の機械学習アルゴリズムは頻出パターン成長アルゴリズムである、請求項1に記載の方法。
【請求項7】
前記アイテムセット内の前記少なくとも1つの異常は、少なくとも1つのデータレコード内の関係性異常である、請求項1に記載の方法。
【請求項8】
前記少なくとも1つの提案は、前記少なくとも1つのデータレコード内の前記関係性異常を修正するための提案である、請求項7に記載の方法。
【請求項9】
前記関係性異常を修正するための前記提案は、少なくとも1つの代用値を含む、請求項8に記載の方法。
【請求項10】
前記少なくとも1つの提案を受け入れる、少なくとも1つのユーザ入力を受信するステップと、
前記少なくとも1つのユーザ入力に基づいて、前記少なくとも1つの提案を前記アイテムセットに適用するステップと、
を更に含む、請求項1に記載の方法。
【請求項11】
前記第1のデータセット及び前記第2のデータセットは、データファイル、データレイク、フラットファイル、及びデータストリームのうちの少なくとも1つである、請求項1に記載の方法。
【請求項12】
データセット内のデータ異常を修正するシステムであって、
非一時的コンピュータ可読命令を格納するように構成されたメモリと、
前記メモリと通信結合されたプロセッサであって、前記プロセッサは、前記非一時的コンピュータ可読命令を実行したときに、
データセットを受信するステップと、
前記データセットをプロファイリングするステップと、
前記データセットに第1の機械学習アルゴリズムを適用するステップであって、前記第1の機械学習アルゴリズムは、前記データセット内の第1のデータカラムと第2のデータカラムとの間の少なくとも1つの関係性を識別する、前記第1の機械学習アルゴリズムを適用する前記ステップと、
前記データセット内の前記第1のデータカラムと前記第2のデータカラムとの間の前記少なくとも1つの関係性の前記識別に基づいて、アイテムセットを生成するステップと、
前記アイテムセットに第2の機械学習アルゴリズムを適用するステップであって、前記第2の機械学習アルゴリズムは、前記第1のデータセット内の前記第1のデータカラムと前記第2のデータカラムとの間の前記少なくとも1つの関係性に関連付けられた少なくとも1つの頻度値を識別する、前記第2の機械学習アルゴリズムを適用する前記ステップと、
前記アイテムセット内の少なくとも1つのデータレコード内の少なくとも1つの異常を識別するステップと、
前記アイテムセット内の前記少なくとも1つのデータレコード内の前記少なくとも1つの異常を自動的に修正するステップと、
を実施するように構成されている、前記プロセッサと、
を含むシステム。
【請求項13】
前記少なくとも1つのデータレコード内の前記少なくとも1つの異常は、前記第1のデータカラム内の少なくとも1つのデータ値と、前記第2のデータカラム内の少なくとも1つのデータ値と、の間の関係性異常である、請求項12に記載のシステム。
【請求項14】
前記関係性異常は、地理的な位置に関連付けられている、請求項13に記載のシステム。
【請求項15】
前記関係性異常は資産シンボルに関連付けられており、前記資産シンボルは、ストックティッカー及び暗号通貨ティッカーの少なくとも一方である、請求項13に記載のシステム。
【請求項16】
前記第1の機械学習アルゴリズムはランダムフォレストアルゴリズムである、請求項12に記載のシステム。
【請求項17】
前記第2の機械学習アルゴリズムは頻出パターン成長アルゴリズムである、請求項12に記載の方法。
【請求項18】
前記少なくとも1つの異常は、欠落値、正しくない値、及びフォーマットエラーのうちの少なくとも1つである、請求項12に記載のシステム。
【請求項19】
前記アイテムセット内の前記少なくとも1つのデータレコード内の前記少なくとも1つの異常と、前記少なくとも1つの異常がない、前記少なくとも1つのデータレコードの修正済みバージョンと、を表示する、少なくとも1つの出力テーブルを生成するように更に構成されている、請求項12に記載のシステム。
【請求項20】
実行されたときに、データ異常を予測して修正する方法をコンピューティングシステムに実施させる非一時的コンピュータ実行可能命令を格納するコンピュータ可読媒体であって、前記方法は、
第1のデータセットを受信するステップと、
前記第1のデータセットをプロファイリングするステップと、
前記第1のデータセット内の第1のデータカラムを、前記第1のデータセット内の他の複数のデータカラムと比較するステップと、
前記第1のデータカラムと前記他の複数のデータカラムとの前記比較結果に基づいて、前記第1のデータカラムと前記第1のデータセット内の第2のデータカラムとの間の第1の関係性を識別するステップと、
前記第1のデータカラム及び前記第2のデータカラムに第1の機械学習アルゴリズムを適用するステップであって、前記第1の機械学習アルゴリズムは、前記第1のデータセット内の前記第1のデータカラムと前記第2のデータカラムとの間の第2の関係性を識別する、前記第1の機械学習アルゴリズムを適用する前記ステップと、
前記第1のデータセット内の前記第1のデータカラムと前記第2のデータカラムとの間の前記第2の関係性の前記識別に基づいて、第2のデータセットを生成するステップであって、前記第2のデータセットは前記第1のデータセットのサブセットである、前記第2のデータセットを生成する前記ステップと、
前記第2のデータセット内の複数のカラムヘッダを連結するステップと、
前記第2のデータセット内の前記複数のカラムヘッダの前記連結に基づいて、アイテムセットを生成するステップと、
前記アイテムセットに第2の機械学習アルゴリズムを適用するステップであって、前記第2の機械学習アルゴリズムは、前記第1のデータセット内の前記第1のデータカラムと前記第2のデータカラムとの間の前記第2の関係性に関連付けられた少なくとも1つの頻度値を識別する、前記第2の機械学習アルゴリズムを適用する前記ステップと、
前記少なくとも1つの頻度値に基づいて、前記アイテムセット内の少なくとも1つの異常値を識別するステップであって、前記少なくとも1つの異常値は低頻度値に関連付けられている、前記少なくとも1つの異常値を識別する前記ステップと、
前記少なくとも1つの異常値を、高頻度値に関連付けられた代用値に置き換えることによって、前記少なくとも1つの異常値を修正するステップと、
を含む、
コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ランダムフォレスト(Random Forest)及び頻出パターン成長(Frequent Pattern Growth)等の結合機械学習アルゴリズムを使用して、正しいデータ又は欠落データ、データ異常、及び全体的なデータ品質を予測するシステム及び方法に関する。
【背景技術】
【0002】
エンティティは、特定のデータ分類と関係性(又は関連性)がある可能性のある大量のデータを保持する。そのようなエンティティは、データセット内の属性関係を理解することに悪戦苦闘する可能性があり、又、カラムレベルの妥当性検査に比べると、レコードレベルの情報を妥当性検査することに悪戦苦闘する可能性がある。例えば、郵便番号は、通常、住所及び州に関連付けられている。1つのエンティティは、妥当な郵便番号及び妥当な州コードを有しうるが、郵便番号と州コードとを一緒にすると、これらは妥当なレコードを形成しない(例えば、その郵便番号がその州内に位置しないためである)。これらのデータセット内では、今まさに述べたようなデータ異常が存在する可能性がある。現時点では、エンティティは、こうしたデータ異常を手動で識別しなければならず、これは、特定のデータ点が実際に異常なのかどうかを判定することによって行われる。この判定を行うためには、エンティティは、典型的には、データ点同士の特定の関係性を識別しなければならない(例えば、郵便番号は住所に関連付けられており、9桁からなる特定の数値書式を有する)。データセット内のこうした関係性を識別することは、煩雑であり、時間がかかる。関係性の識別を試行する現行のプロセスではエラーも発生する。これは、データ関係性を手動で識別する際に、特定のデータ点同士の関係性をしばしば見過ごしたり、単純に見落としたりするためである。このように、データ異常を識別する現行の方法は、一貫性がなく、非効率的である。これは、一つには、データ異常を識別することが、通常、データ点同士の関係性(又はその欠落)の評価を必要とするためである。受信された特定のデータが、以前に受信されたデータに対して普通でないように見える場合、これは異常を示している可能性があるが、偽陽性の可能性もある。同様に、受信されたデータが、特定のエンティティからあまり受信されないデータである場合も異常を示している可能性があるが、そうではなく、異常ではないが単純にあまり受信されないデータ点である可能性もある。大規模データセットのもつれをほぐしてデータ異常を識別することは、データセットのデータ品質を予測する上で必須であり、現時点では、データ異常を識別する現行の方法がエラーを発生させやすく非効率的であるため、所与のレコードに関して正しいデータ又は欠落データを、並びにデータセットの全体的なデータ品質を正確に予測することが難しく、その予測は当てにならない。
【0003】
そのため、データ異常を識別すること、データ関係性を識別すること、並びに正しいデータセットを正確且つ効率的に予測すること、という課題に対処しうるシステム及び方法に対するニーズが高まっている。
【0004】
本明細書に開示の態様は、これら及び他の全般的な考察に関して構成されたものである。又、比較的具体的な問題について説明する場合があるが、当然のことながら、それらの例は、本開示における背景技術又はその他の場所で明らかにされた具体的な問題を解決することに限定されるべきではない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、上記従来の技術における課題を解決するためになされたものである。
【図面の簡単な説明】
【0006】
図1】本明細書に記載のように、正しいデータ又は欠落データ、並びにデータ品質を予測するための分散システムの一実施例を示す。
図2】本明細書に記載のように、正しいデータ又は欠落データ、並びにデータ品質を予測するための入力処理装置の一実施例を示す。
図3A】乃至
図3B】本明細書に記載のように、データセットの正しいデータ又は欠落データ、並びにデータ品質を予測する方法の一例を示す。
図4A】乃至
図4C】正しいデータ又は欠落データ、並びにデータ品質を予測するシステム及び方法を実施するためのアーキテクチャの一例を示す。
図5】本実施形態のうちの1つ以上の実施形態を実施できる適切な動作環境の一例を示す。
【発明を実施するための形態】
【0007】
以下では、添付図面を参照しながら、本開示の様々な態様を詳細に説明する。添付図面は本開示の一部を成しており、特定の例示的態様を示す。しかしながら、本開示の様々な態様は、多様な形態で実施されてよく、本明細書で説明される態様に限定されるものとして解釈されるべきではなく、むしろ、本開示が十分にして完全であるように、且つ、各態様の範囲が当業者に完全に伝わるように、これらの態様は提供される。各態様は、方法、システム、又は装置として実施されてよい。従って、各態様は、ハードウェア実施態様、又は完全にソフトウェアによる実施態様、又はソフトウェア態様とハードウェア態様とを組み合わせた実施態様の形態であってよい。従って、以下の詳細説明は、限定的に解釈されるべきではない。
【0008】
図1は、本明細書に記載のように、正しいデータ又は欠落データ、並びにデータ品質を予測するための分散システムの一実施例を示す。図示のシステム例100は、データ市場においてデータを統合及び強化する統一された全体を形成するために相互作用する相互依存コンポーネントの組み合わせである。このシステムのコンポーネントは、ハードウェアコンポーネントであってよく、或いは、このシステムのハードウェアコンポーネントに実装される、且つ/又はこのハードウェアコンポーネントによって実行されるソフトウェアであってよい。例えば、システム100は、クライアント装置102、104、及び106、ローカルデータベース110、112、及び114、ネットワーク108、及びサーバ装置116、118、及び/又は120を含む。
【0009】
クライアント装置102、104、及び106は、データの受信及び送信を行うように構成されてよい。例えば、クライアント装置102、104、及び106は、クライアント固有のデータを収容してよい。クライアント装置は又、ネットワーク108を介して、様々なデータソース(例えば、データレイク、データベース、フラットファイル、データストリーム等)からデータを受信するように構成されてよく、それらのデータは、クライアント装置102、104、及び/又は106において収集及び分析されてよい。受信されたデータは、ローカルデータベース110、112、及び114に格納されてよい。受信されたデータは、少なくとも1つの機械学習(ML)アルゴリズムをそのデータに適用することによって分析されてよい。受信されたデータは、ネットワーク108及び/又は衛星122を介してサーバ116、118、及び/又は120に送信されてよい。サーバ116、118、及び/又は120は、サードパーティサーバ及び/又はクライアント保有サーバであってよい。データは、(例えば、データのサイズ、データに対して実施されるべき分析の複雑さ等に応じた)更なる処理、分析、及び/又は格納のためにサーバ116、118、及び/又は120に送信されてよい。別の実施例では、受信されたデータは、(ローカルクライアント装置及びローカルデータベースに加えて、又はそれらの代わりに)サーバに格納されてもよく、データセットの正しいデータ又は欠落データ、並びにデータ品質を決定するために分析されてよい。受信されたデータは、データ品質予測子(例えば、スコア、テーブル等)とともに、クライアントサーバからネットワーク108及び/又は衛星122を介してサードパーティサーバに送信されてよい。
【0010】
ある態様では、クライアント装置102、104、及び106等のクライアント装置は、カスタマ固有データを含む1つ以上のデータセット又はデータソース及び/又はデータベースへのアクセスが可能である。別の態様では、クライアント装置102、104、及び106は、カスタマデータを搬送するブロードバンド信号及び/又は衛星信号を受信するように装備されてよい。このデータは、ローデータセット、既に分析されたデータセット(例えば、少なくとも1つのMLアルゴリズムの適用を受けたデータセット)、及び/又は両者の混合物で構成されてよい。クライアント装置102、104、及び106が受信しうる信号及び情報は、衛星122から送信されてよい。衛星122は又、クライアント装置102、104、及び106と直接通信することが可能であることに加えて、ネットワーク108と通信するように構成されてよい。幾つかの実施例では、クライアント装置は、幾つかある装置の中で特に、携帯電話、ラップトップコンピュータ、タブレット、スマートホーム装置、固定電話、及びウェアラブル(例えば、スマートウオッチ)であってよい。
【0011】
このネットワークトポロジについて更に詳述すると、クライアント装置102、104、及び/又は106は(それぞれに対応するローカルデータベース110、112、及び114とともに)カスタマからデータを受信してよい。クライアント装置102、104、及び/又は106上では、プロファイラ及び/又はルールエンジンがインストールされて、受信データに適用されてよい。クライアント装置102、104、及び/又は106上で、受信データの比較及び分析がローカルで行われてよい。代替実施形態では、受信データの比較及び分析がサーバ116、118、及び/又は120において行われてよい。比較及び分析が行われた受信データは、どのデータカラム同士がそれらの間で最強の関係性を有するかを識別するためにマニピュレートされてよい。幾つかの実施例では、関係性/関連性予測インジケータが生成されてよい。この予測インジケータは、クライアント装置102、104、及び/又は106、サーバ116、118、及び/又は120、又は両者の組み合わせにおいて生成されてよい。予測インジケータ出力は、ローカル又は外部で生成されてよく、ネットワーク108を介して共有されてよい。
【0012】
データセットの関連性が識別されたら、トランザクションアイテムセットが生成されてよい。このアイテムセットは、クライアント装置102、104、及び/又は106において、又は外部でサーバ116、118、及び/又は120において生成されてよい。そしてトランザクションアイテムセットは、識別されたデータ関連性の頻度を明らかにするために、別のMLアルゴリズム(例えば、頻出パターン成長(FPG)アルゴリズム)を使用して分析されてよい。どのデータ関連性が低頻度である可能性があってデータセット内に存在しているかを示すデータ品質インジケータが生成されてよい。低頻度のデータ関連性は、データ異常を示唆している可能性がある。この出力は、クライアント装置102、104、及び/又は106、及び/又は、サーバ116、118、及び/又は120においてローカルで生成されてよい。DQ出力がどこで生成されるかにかかわらず、DQ出力は、ネットワーク108を介して様々な装置で共有されてよい。
【0013】
図2は、本明細書に記載のように、正しいデータ又は欠落データ、並びにデータ品質を予測するための入力処理装置の一実施例を示す。入力処理装置200は、クライアント装置(例えば、クライアント装置102、104、及び/又は106)、リモートウェブサーバ装置(例えば、装置116、118、及び/又は120)、及び他の、正しいデータ又は欠落データ、並びにデータ品質を予測するシステム及び方法を実施することが可能な装置に埋め込まれてよい。入力処理システムは、1つ以上のデータ処理装置を含み、少なくとも1つのデータソース(例えば、データレイク、データベース、フラットファイル、データストリーム等)から提供されるデータを処理することに基づいてアルゴリズム、ソフトウェアルーチン、及び/又は命令を実行することが可能である。入力処理システムは、工場装着システムであってよく、又は特定の装置に対する増設ユニットであってよい。更に、入力システムは、汎用コンピュータ、又は専用の特殊用途コンピュータであってよい。クライアント装置又はリモートウェブサーバ装置等に対する入力処理システムの場所については、何の制限も課せられない。
【0014】
図2に示した実施形態によれば、本開示のシステムは、メモリ205、1つ以上のプロセッサ210、通信モジュール215、データ収集モジュール220、MLアルゴリズムモジュール225、及びデータ又はDQ提案モジュール230を含んでよい。本技術の別の実施形態は、それらのモジュール及びコンポーネントを幾つか含んでよく、又は全て含んでよく、又は全く含まなくてよく、それとともに他のモジュール、アプリケーション、データ、及び/又はコンポーネントも含んでよい。更に又、幾つかの実施例では、これらのモジュール及びコンポーネントのうちの2つ以上が単一モジュールに組み込まれてよく、且つ/又は、これらのモジュールのうちの1つ以上のモジュールの機能性の一部が別のモジュールに関連付けられてよい。
【0015】
メモリ205は、プロセッサ210上で1つ以上のアプリケーション又はモジュールを実行するための命令を格納してよい。例えば、メモリ205は、データ収集モジュール220、MLアルゴリズムモジュール225、及び/又はデータ/DQ提案モジュール230、並びに通信モジュール215の機能性を実行するために必要とされる命令の全て又は幾つかを収容するために、1つ以上の実施形態において使用されてよい。一般に、メモリ205は、情報を格納するために使用される全てのデバイス、機構、又は埋められるデータ構造を含んでよい。本開示の幾つかの実施形態によれば、メモリ205は、あらゆるタイプの揮発性メモリ、不揮発性メモリ、及び動的メモリを包含してよく、これらに限定されない。例えば、メモリ205は、ランダムアクセスメモリ、メモリ記憶装置、光学式メモリ装置、磁気媒体、フロッピーディスク、磁気テープ、ハードドライブ、SIMM、SDRAM、RDRAM、DDR、RAM、SODIMM、EPROM、EEPROM、コンパクトディスク、DVD、その他であってよい。幾つかの実施形態によれば、メモリ205は、1つ以上のディスクドライブ、フラッシュドライブ、1つ以上のデータベース、1つ以上のテーブル、1つ以上のファイル、ローカルキャッシュメモリ、プロセッサキャッシュメモリ、リレーショナルデータベース、フラットデータベース、その他を含んでよい。更に、当業者であれば理解されるように、更に多くの、情報を格納する装置及び技術がメモリ205として使用されてよい。
【0016】
通信モジュール215は、情報(例えば、データ収集モジュール220で収集されたデータ、MLアルゴリズムモジュール225に従って分析/処理されたデータ、及び/又はDQ提案モジュール230からの予測される正しいデータ又は欠落データ、並びにデータ品質情報)、並びにクライアント装置又はサーバ装置、他のクライアント装置、リモートウェブサーバ等を介して受信されたコマンドを送信/受信することに関連付けられている。これらの通信は、任意の適切なタイプの技術を用いてよく、そのような技術として、Bluetooth、WiFi、WiMax、セルラ(例えば、5G)、シングルホップ通信、マルチホップ通信、専用狭域通信(DSRC)、又は独自の通信プロトコルがある。幾つかの実施形態では、通信モジュール215から送信される情報(例えば、データ)は、データ収集モジュール220によって収集され(例えば、バッチ、バルク、及び/又は連続的フィードのデータ)、MLアルゴリズムモジュール225によって処理され(例えば、データセットは、ランダムフォレストアルゴリズムを使用して、関連の予測のためのプロファイリング及び分析が行われてよく、更に、頻出パターン成長アルゴリズムを使用して、関連の頻度に関する分析が行われてよい)、DQ提案モジュール230によって生成されて出力され、それらは、クライアント装置102、104、及び/又は106へ送信され、又、今後の利用に備えてメモリ205にも送信されて格納される。幾つかの実施例では、通信モジュールは、RESTfulサービスを使用するセキュアなRESTサーバを通してHTTPプロトコル上に構築されてよい。
【0017】
データ収集モジュール220は、データを受信してプロファイリングするように構成されている。例えば、データ収集モジュール220は、データセットに関連付けられたデータを受信してよい。そしてデータ収集モジュール220は、統計値を取り込むことを含めてデータをプロファイリングしてよく、取り込まれる統計値としては、幾つかある統計値の中で特に、最小値、最大値、濃度、信頼頻度、及びカテゴリ値符号化が挙げられ、これらに限定されない。幾つかの実施例では、濃度は、データセットに取り込まれた重複しない値の数を意味してよい。
【0018】
データ収集モジュール220は又、本質的に低信頼度であり、裏付けに乏しく、且つ/又は高頻度である特定のデータ値を識別するように構成されてよい。そのようなデータ値は、MLアルゴリズムモジュール225に送信される前にデータ収集モジュール220によって排除されてよい。
【0019】
MLアルゴリズムモジュール225は、データセットを受信し、そのデータセットに少なくとも1つの機械学習(ML)アルゴリズムを適用するように構成されている。例えば、データ収集モジュール220がデータセットを受信してプロファイリングした後に、そのデータセットがMLアルゴリズムモジュール225に送信されてよい。MLアルゴリズムモジュール225は、そのデータセット、及び特にそのデータセットのカラムを分析するように構成されてよい。各カラムラベルを他のカラムと比較することにより、データセット内のカラム間の関係性が識別されてよい。
【0020】
カラム間の関係性を識別するために、MLアルゴリズムモジュール225は、ランダムフォレスト(RF)アルゴリズムをデータセットに適用してよい。MLアルゴリズムを起動/ビルドするために必要な特徴及び属性は、プロファイリングステップ又は他の分析ステップ中に取得可能である。まずデータセットがプロファイリングされてよく、プロファイリングステップで取得される記述統計がRFアルゴリズムの入力として使用されてよい。ランダムフォレストアルゴリズムは、複数の決定木をビルドし、それらを1つにマージすることにより、データセット内での関係性に関する、より正確且つ安定的な予測を得ることが可能である。データセットに適用されてよい他のアルゴリズムとして、分類子モデル、XGBoost(及び他の、勾配ブースティングを利用する木ベースのアンサンブル機械学習アルゴリズム)、及びMLlib(Apache Sparkの機械学習ライブラリ)等のライブラリにある他のMLモデルが挙げられ、これらに限定されない。
【0021】
RFアルゴリズム(又は他のMLアルゴリズム)の適用後に、データカラム間の最強の関係性を示しうる出力が生成されてよい。例えば、カラムラベル「郵便番号」とカラムラベル「住所」との間の関係性を示しうるのは、郵便番号が通常、住所と関連付けられているためである。ラベル「SSN」がカラムラベル「ファーストネーム」及び「ラストネーム」に関連付けられうるのは、社会保障番号(SSN)が通常、個人の識別と関連付けられているためである。これらのデータカラムは、特徴量の重要度、説明係数、及び他のモデル精度/関係性判定に基づいて一緒にバスケットに入れられてよい。
【0022】
関連するデータカラムが識別されると、そのデータのヘッダがローごとに連結されてよい。MLアルゴリズムモジュール225は、データローごとに連結されたカラムヘッダに基づいて、「アイテムセット」と呼ばれる新しいトランザクションデータセットを作成するように構成されてよい。そしてMLアルゴリズムモジュール225は、関係性の頻度を更に予測するために別のMLアルゴリズム(例えば、頻出パターン成長アルゴリズム)を適用してよい。言い換えると、RFアルゴリズムを適用することにより、特定のデータアイテムが関連しているかどうかを示すことが可能であり、更に頻出パターン成長アルゴリズムを適用することにより、それらの関係性がデータセットに出現する頻度の程度を示すことが可能である。
【0023】
MLアルゴリズムモジュール225は、データ関係性の頻度に基づいて確率行列を計算するように構成されてよい。関係性のバスケットの頻度は、特定のデータ異常がデータセットに存在するかどうかを示すことが可能である。低頻度の関係性は、データ異常の可能性が高いことを示している可能性があり、高頻度の関係性は、データ異常の可能性が低いことを示している可能性がある。
【0024】
DQ提案モジュール230は、データセットがMLアルゴリズムモジュール225によって処理された後に、特定のデータ関係性の頻度(即ち、特定のデータカラムがどこで他のデータカラムに関連付けられているか)を示す処理情報をMLアルゴリズムモジュール225から受信するように構成されてよい。DQ提案モジュール230は、幾つかのインスタンスにおいて、識別された全てのデータ異常を修正するために、データに対して特定のアクションをとることを提案するインテリジェント提案を出力してよい。別の実施例では、特定のデータレコードとそれらのデータ関係性の頻度との間の関連性を示すテーブルが表示されてよい(例えば、本システムは、SSN、名前、及び性別が同じであって電子メールアドレスが異なる2つのレコードを表示している出力テーブルにおいて潜在的な関係性をハイライトしてよい)。エラーの可能性がある、大きく外れたデータ点又は疑わしいデータを示すために、低頻度のデータ関係性がハイライトされてよい。
【0025】
図3A及び3Bは、本明細書に記載のように、データセットのデータ品質を予測する方法の一例を示す。方法300は、別個の2つの副方法、即ち、副方法300Aと副方法300Bとに分かれている。副方法300Aは、データセット内に関係性があれば識別する関係性発見器副方法である。副方法300Aではまず、ステップ302でデータを受信する。データの受信は、データレイク、データベース、フラットファイル、データストリームの形式、又は他の、収集可能なデータ形式で行われてよい。そして、そのデータが本明細書に記載のシステム及び方法で可読なフォーマットであることを確認するために、ステップ304で、そのデータが分析されてよい(例えば、ステップ304は、プロファイリングを起動するために押すことが可能なユーザインタフェースボタンを含んでよい)。データは、ステップ306でプロファイリングされてよい。ここでは、特定のデータ統計値が取り込まれてよく、例えば、最小値、最大値、平均値、濃度インジケータ、カテゴリカラム等が取り込まれてよい。データ値がプロファイリングされた後、ステップ308で、データセットに総当たり比較が適用されてよい。例えば、例示的属性Aがデータセット内の他の全ての属性と比較されてよく、例示的属性Bがデータセット内の他の全ての属性と比較されてよい。総当たり比較の結果として、どのカラムヘッダとデータ値とが関連している可能性があるかを示すテーブルが表示されてよい。例えば、データセットのカラム1(「col1」)と他のカラムとの比較の例として、次のテーブルが表示されてよい。
【表1】
【0026】
ステップ310で、データセットに第1の機械学習アルゴリズムが適用されてよい。この第1のMLアルゴリズムはランダムフォレストアルゴリズムであってよく、このアルゴリズムは、どのデータカラム同士が互いの間で潜在的な関係性を有するかを理解するために適用されてよい。ステップ312で、RFアルゴリズムの結果に基づいて、それらのカラム関係性が識別されてよい。例えば、郵便番号データカラムが住所に関連付けられてよい。銀行口座番号データカラムが銀行名データカラムに関連付けられてよい。SSNデータカラムがファーストネームデータカラム及びラストネームデータカラムに関連付けられてよい。IPアドレスデータカラムがマシン識別番号データカラムに関連付けられてよい。
【0027】
データカラム間の関係性が識別されたら、ステップ314で、これらの関係性の結果出力がバスケットに追加され、これは、データカラム関係性の自動選択及び/又はユーザ選択のデータカラム関係性に基づいて行われる。次に、ステップ316で、このデータカラム関係性のバスケットが分析され、データカラムヘッダが連結されて、ステップ318で、トランザクションアイテムセットが作成される。ステップ318で作成されたトランザクションアイテムセットは、ステップ320で、第2のMLアルゴリズム(例えば、頻出パターン成長モデル)に入力として渡される。FPGモデルは、ステップ322で、アイテムセット組み合わせの確率行列を計算して、アイテムセット内の特定のパターンを識別してよい。ステップ322で識別されたパターンは、特定のデータカラム間の関係性の頻度(又はその欠落)を示しうる。
【0028】
ステップ324で、FPGモデルによって識別されたデータ関係性の頻度、並びにRFモデルから導出された情報に基づいて、データセットの正しいデータ又は欠落データ並びにデータ品質を予測しうるデータ予測が生成されてよい。例えば、データ内の低頻度の関係性は、特定のデータ値が異常又はエラーであることを示しうる。データ内の高頻度の関係性は、データ値に含まれる異常及びエラーが少ないことを示しうる。
【0029】
一具体例では、銀行がローンデータを分析している場合がある。このデータは、特定の地理的地域に限定されうる。ステップ310でRFアルゴリズムによって、データ内の特定の関係性が識別される場合があり、例えば、特定の銀行顧客口座番号とSSN番号との間の関係性が識別される場合がある。更に、ステップ320でFPGモデルの適用によって、これらの関係性の頻度が識別される場合がある。しかしながら、本明細書に記載のDQ予測システムによって特定の関係性が識別されうるが、その関係性は疑わしい場合がある。これは、例えば、申し立てられた口座番号が口座番号の標準的な書式ガイドラインに準拠していない場合があることによる(例えば、口座番号が8桁ではなく6桁)。そこで、本システムは、このデータ値の信頼スコアが低いことから、このデータ値に異常のフラグを立ててよい。異常検出の別の例は、特定の地理的地域内での取引額に基づいてよい。データカラム間の関係性が存在しうるものの、特定タイプの銀行取引(例えば、預金、引き出し、ローン等)に関連している特定の取引額の頻度が低い場合がある。本システムは又、データセット内に存在する特定の関係性の頻度が低いことを理由として、この取引に潜在的異常のフラグを立ててよい。
【0030】
更に別の例では、データセットが、郵便番号及び州識別コードを有するカラムを含んでよい。あるデータエントリには郵便番号「21087」が州識別コード「MD」(メリーランド州)とともに含まれる場合があり、別のデータエントリには同じ郵便番号「21087」が州識別コード「NY」(ニューヨーク州)とともに含まれる場合がある。本明細書に記載のシステムは、このデータ異常を識別し、そのデータセットに少なくとも1つの機械学習アルゴリズムを適用し、少なくとも1つの修正アクションを提案することが可能である(即ち、どのデータエントリが正しくて、どのデータエントリが間違っているかを識別する修正アクションを提案することが可能である)。郵便番号自体は郵便番号カラム内にあって書式も正しいとしても、これらのデータレコードの一方は正しくない(21087は、メリーランド州に関連付けられた郵便番号である)。
【0031】
別の例では、データセットが資産シンボルを含む場合があり、例えば、公開株又は暗号通貨を含む場合がある。資産取引は、同じシンボルの下で複数の取引所で行われてよい。しかしながら、特定の資産が、それまでその資産が取引されていない取引所に現れた場合、本システムは、この異常を識別して修正アクションを提案することが可能である。データ品質の観点からは、資産シンボルは正しく、書式も正しいとしても、取引所がその資産の取引を実際にはサポートしていないために、データレコード(資産シンボル+取引所)の基本品質が正しくない場合がある。
【0032】
図4A~4Cは、正しいデータ又は欠落データ並びにデータ品質を予測するシステム及び方法を実施するためのアーキテクチャの一例を示す。環境400はデータソースを含み、データソースは、データレイク402、データベース404、フラットファイル406、及びデータストリーム408を含んでよく、これらに限定されない。本システムがデータを受信したら、そのロー入力データにデータ抽出サービス410が適用されてよい。データ抽出サービス410は、データを、処理に適するフォーマットに再フォーマットしてよい。データは、プロファイラ412に入る連続/バッチ/バルクフィードであってよい。プロファイラ412は、ルールエンジン414を実施するように構成されてよく、この実施は、データの統計値を分析することを含んでよい。そのような統計値は、データ値の最大値、最小値、平均値、及び濃度を含んでよい。特定のデータカラムがカテゴライズされてよく、最初に特定のデータに信頼値が割り当てられてよい。又、特定のデータ型の頻度がプロファイラ412によってプロファイリングされてよい。
【0033】
プロファイリングされたデータは、416で比較及び分析されてよい。幾つかの実施例では、プロファイリングされたデータは更に分析されてよく、これは、MLアルゴリズムの適用に備えて特定のルールを適用してデータセットを調製することによって行われる。例えば、データセット内の特定の欠落値がダミー値で埋められてよい(例えば、カテゴリ値ならN/A、数値なら0、又は平均値で代用)。別の実施例では、MLアルゴリズムにより適切な情報を提供するために、プロファイリングされたデータが分解されてよい。例えば、売上データが特定の曜日に応じて変動する場合は、その曜日(例えば、金曜日)を実際の日付(2021年4月15日)から分離してよい。特定の最小最大正規化がデータセットに適用されてもよく、例えば、最大極値及び/又は最小極値に基づく信頼区間又はウィンドウイングが適用されてよい。例えば、特定のMLアルゴリズムを適用する前に、上位2.5%及び下位2.5%の数値が場合によっては廃棄されてよい。
【0034】
様々な人工知能/機械学習ツール418が分類モジュール420に適用されてよい。分類モジュール420は、プロファイリングされたデータを特定のカテゴリのデータに分類してよく、例えば、文字列、整数、及び他の離散的なオブジェクトに分類してよい。
【0035】
422でデータセットの特徴が比較されてよく、それによって、どのMLアルゴリズムをデータセットに適用するかが指示されてよい。データセットにMLアルゴリズムが適用されたら、結果として、426で、データセット内での関係性及び/又は関連性の予測が示されてよい。
【0036】
データセットの関係性が識別されたら、問題識別プロセスが開始されてよい。まず、428で、データセットが選択されてよい。選択されたデータセットは、本システムに入力された初期データセットのサブセットであってよい。選択されたデータセットは、識別された、関連付けられたデータカラム及び/又は可能性のある異常のデータセットであってよい。選択されたデータセットは、トランザクションアイテムセット430に変換されてよく、ここでは、データ値を有するカラムヘッダが連結されてよい。アイテムセットが作成されたら、更なるAI/MLツールセット(例えば、頻出パターン成長のようなMLアルゴリズム)がアイテムセットに適用されてよく、それによって、データセット内の関係性の頻度(即ち、特定のデータカラムが他のデータカラムとの関係性において現れる頻度)が識別されることが可能である。434で、FPGモデルの結果に基づいて、データ異常が識別可能な予測パターンが確定されてよい。更に、データをクリーニングするための修正アクションの提案が、本システムのユーザに対して示されてよい。例えば、データ異常及び/又は潜在的エラーの両方がユーザに対して示されてよい。特定のデータセットの最も確度の高い結果及び/又は予測も、ユーザに対して示されてよい。特に、ユーザは、データセットをクリーニングするために、特定の予測値を受け入れてよい(例えば、本システムは、エラーの可能性が高い特定のデータエントリの適正値を予測してよく、ユーザは、提案される変更を受け入れてよい)。
【0037】
図5は、本実施形態のうちの1つ以上の実施形態を実施できる適切な動作環境の一例を示す。これは、適切な動作環境の一例に過ぎず、使用又は機能性の範囲に関して何らかの制限を示唆するものではない。使用に適切であると考えられる他のよく知られたコンピューティングシステム、環境、及び/又は構成として、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な民生用電子機器(スマートフォン等)、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、前述のシステム又は装置を任意に含む分散コンピューティング環境等があり、これらに限定されない。
【0038】
その最も基本的な構成では、動作環境500は、典型的には、少なくとも1つの処理ユニット502及びメモリ504を含む。コンピューティング装置の厳密な構成及びタイプに応じて、(いろいろある中でも特に、検出された装置に関連する情報、関連付け情報、パーソナルゲートウェイ設定、及び本明細書に開示の方法を実施する命令を記憶する)メモリ504は、揮発性メモリ(例えば、RAM)、不揮発性メモリ(例えば、ROM、フラッシュメモリ等)、又はこれら2つの何らかの組み合わせであってよい。この最も基本的な構成を、図5では破線506で示している。更に、環境500は又、記憶装置(リムーバブル508、及び/又は非リムーバブル510)を含んでよく、そのような記憶装置として磁気式又は光学式のディスク又はテープがあり、これらに限定されない。同様に、環境500は又、入力装置514(例えば、キーボード、マウス、ペン、音声入力等)及び/又は出力装置516(例えば、ディスプレイ、スピーカ、プリンタ等)を有してよい。環境は又、1つ以上の通信接続512(例えば、LAN、WAN、ポイントツーポイント等)を含んでよい。
【0039】
動作環境500は、典型的には、少なくとも何らかの形態のコンピュータ可読媒体を含む。コンピュータ可読媒体は、動作環境を構成する処理ユニット502又は他の装置からアクセス可能な、任意の利用可能な媒体であってよい。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含んでよい。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、又は他のデータ等の情報を記憶するための任意の方法又は技術で実施される、揮発性及び不揮発性、リムーバブル及び非リムーバブルの媒体を含む。コンピュータ記憶媒体としては、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)又は他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、又は他の磁気記憶装置、又は他の任意の、所望の情報を記憶することに使用可能な有形媒体がある。コンピュータ記憶媒体は、通信媒体を含まない。
【0040】
通信媒体は、非一時的コンピュータ可読命令、データ構造体、プログラムモジュール、又は他のデータを具体化する。コンピュータ可読命令は、変調されたデータ信号の形で搬送されてよく、例えば、搬送波又は他の搬送メカニズム、及び任意の情報配信媒体で搬送されてよい。「変調されたデータ信号」という用語は、信号の特性のうちの1つ以上の特性が信号内の情報をエンコードするように設定又は変更される信号を意味する。限定ではなく例として、通信媒体は、有線媒体(例えば、有線ネットワーク又は直接有線接続)及び無線媒体(例えば、音響、RF、赤外線、及び他の無線媒体)を含む。上述の媒体の任意の組み合わせも、当然ながらコンピュータ可読媒体の範囲に含まれる。
【0041】
動作環境500は、1つ以上のリモートコンピュータとの論理接続を使用するネットワーク環境で動作する単一コンピュータであってよい。リモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、又は他のコモンネットワークノードであってよく、典型的には、上述の要素の多数又は全て、並びにそのようには言及されていない他の要素を含む。論理接続は、利用可能な通信媒体によってサポートされている任意の方法を含んでよい。そのようなネットワーク環境は、オフィス、企業規模コンピュータネットワーク、イントラネット、及びインターネットに普通にある。
【0042】
本開示の態様は、例えば、本開示の態様による方法、システム、及びコンピュータプログラム製品のブロック図及び/又は動作図を参照して上述されている。各ブロックに記載した機能/動作は、どのフローチャートにおいても図示の順序と異なる順序で実施されてよい。例えば、連続するように示されている2つのブロックが、実際には、ほぼ同時に実行されてもよく、必要とされる機能性/動作によっては、逆の順序で実行されることがあってもよい。
【0043】
本出願において示されている1つ以上の態様の説明及び図解は、いかなる形でも、特許請求されている本開示の範囲を限定又は制限するものではない。本出願において示されている態様、実施例、及び詳細は、所有物を伝達して、特許請求されている開示の最良の形態を他者が作成及び使用することを可能にするように、十分に検討されている。特許請求されている開示は、本出願において示されているいずれかの態様、実施例、又は詳細に限定されるように解釈されるべきではない。様々な特徴(構造的特徴及び方法論的特徴の両方)は、組み合わされて図示及び説明されているか、個別に図示及び説明されているかに関係なく、特徴の特定のセットを有する実施形態を生成する為に、選択的に含まれたり省かれたりするものとする。本出願の説明及び図解を提供された当業者は、特許請求された開示の広い範囲から逸脱しない、本出願において具体化された一般的発明概念の広い態様の趣旨の範囲に含まれる変形形態、修正形態、及び代替態様をイメージされるであろう。
【0044】
前述の内容から理解されるように、本発明の具体的な実施形態は、例示を目的として本明細書に示されており、本発明の範囲から逸脱しない限り、様々な修正形態が作られてもよい。従って、本発明は、添付の特許請求項によって限定される場合を除き、限定されない。
図1
図2
図3A
図3B
図4A
図4B
図4C
図5
【国際調査報告】