(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-21
(54)【発明の名称】データ統合の文脈における標準化
(51)【国際特許分類】
G06F 16/215 20190101AFI20240214BHJP
G06F 16/27 20190101ALI20240214BHJP
【FI】
G06F16/215
G06F16/27
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023549046
(86)(22)【出願日】2022-02-18
(85)【翻訳文提出日】2023-08-15
(86)【国際出願番号】 CN2022076772
(87)【国際公開番号】W WO2022179441
(87)【国際公開日】2022-09-01
(32)【優先日】2021-02-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】100104880
【氏名又は名称】古部 次郎
(74)【復代理人】
【識別番号】100118108
【氏名又は名称】久保 洋之
(72)【発明者】
【氏名】カブラ、ナミット
(72)【発明者】
【氏名】ボナギリ、クリシュナ、キショア
(72)【発明者】
【氏名】グラッセルト、マイク、ダブリュー
(72)【発明者】
【氏名】セイレット、ヤニック
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175AA01
5B175CA11
(57)【要約】
クラウドコンピューティング環境のマネージドサービスドメインにおける自動データ標準化に関する技術が説明される。関連するコンピュータ実装方法は、データオンボード手順中にデータセットを受信することと、データセット内のデータポイントを分類することとを含む。本方法はさらに、データセット内の各分類されたデータポイントに機械学習データ標準化モデルを適用することと、モデルの適用により決定された任意の標準化修正に基づいて、データセットの提案されたデータ標準化ルールのセットを導出することとを含む。任意選択で、本方法は、クライアントのレビューに対して、提案されたデータ標準化ルールのセットを提示することと、提案されたデータ標準化ルールのセットの受諾に応答して、提案されたデータ標準化ルールのセットをデータセットに適用することと、を含む。本方法はさらに、提案されたデータ標準化ルールのセットの受諾に応答して、機械学習データ標準化モデルを更新することを含む。
【特許請求の範囲】
【請求項1】
データオンボード手順中にデータセットを受信することと、
前記データセット内のデータポイントを分類することと、
前記データセット内の各分類されたデータポイントに機械学習データ標準化モデルを適用することと、
前記機械学習データ標準化モデルの適用により決定された任意の標準化修正に基づいて、前記データセットの提案されたデータ標準化ルールのセットを導出することと、
を含む、コンピュータ実装方法。
【請求項2】
クライアントのレビューに対して、前記提案されたデータ標準化ルールのセットを提示することと、
前記提案されたデータ標準化ルールのセットの受諾に応答して、前記提案されたデータ標準化ルールのセットを前記データセットに適用することと、
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記提案されたデータ標準化ルールのセットの受諾に応答して、前記提案されたデータ標準化ルールのセットに基づいて、前記機械学習データ標準化モデルを更新すること
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記機械学習データ標準化モデルを構成することは、
複数のそれぞれのデータオンボードシナリオの間に、複数のデータセットをサンプリングすることと、
前記複数のサンプリングされたデータセットに基づいて、それぞれのデータ異常シナリオを特定することと、
前記それぞれのデータ異常シナリオに対処するための既存のデータ異常修正技術を特定することと、
前記それぞれのデータ異常シナリオに対する前記既存のデータ異常修正技術の適用可能性に基づいて、前記機械学習データ標準化モデルを訓練することと、
を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記データセット内の各分類されたデータポイントに前記機械学習データ標準化モデルを適用することは、
前記データポイントが、前記機械学習データ標準化モデルに組み込まれた既存の標準化ルールによって対処された外れ値であると決定することに応答して、前記既存の標準化ルールを適用することによって前記外れ値を動的に修正すること
を含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記データセット内の各分類されたデータポイントに前記機械学習データ標準化モデルを適用することは、
前記データポイントが、いかなる既存の標準化ルールによっても対処されていない外れ値であると決定することに応答して、前記データポイントを改善するための少なくとも1つの標準化修正を決定すること
を含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記データポイントを改善するための少なくとも1つの標準化修正を決定することは、
前記データポイントがヌル値であると決定することに応答して、前記ヌル値を含む第1のデータ列および少なくとも1つの相関データ列の間の関係に基づいて、または前記第1のデータ列内の相互に関連する値間の関係に基づいて、前記ヌル値の代替を決定すること
を含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記データポイントを改善するための少なくとも1つの標準化修正を決定することは、
前記データポイントが、予め定められたデータセット頻度閾値以上の出現率を有する頻出外れ値文字列値であると決定することに応答して、前記頻出外れ値文字列値を有効な値として分類すること
を含む、請求項6に記載のコンピュータ実装方法。
【請求項9】
前記データポイントを改善するための少なくとも1つの標準化修正を決定することは、
前記データポイントが、予め定められたデータセット頻度閾値未満の出現率を有する非頻出外れ値文字列値であると決定することに応答して、自動アプリケーションを介して前記非頻出外れ値文字列値を評価するためにデータクローリングアルゴリズムを適用することであって、前記データクローリングアルゴリズムへの入力は前記非頻出外れ値文字列値および関連データクラス名を含む、適用すること
を含む、請求項6に記載のコンピュータ実装方法。
【請求項10】
前記非頻出外れ値文字列値を評価するために前記データクローリングアルゴリズムを適用することは、
前記非頻出外れ値文字列値および前記関連データクラス名の両方に関連付けられたデータポイントの閾値量を特定することに応答して、前記非頻出外れ値文字列値を有効な値として分類すること
を含む、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記非頻出外れ値文字列値を評価するために前記データクローリングアルゴリズムを適用することは、
前記非頻出外れ値文字列値および前記関連データクラス名の両方に関連付けられたデータポイントの閾値量を特定することに失敗することに応答して、前記データセット内に、前記非頻出外れ値文字列値に対する事前に定義された文字列類似度を有する少なくとも1つの有効な文字列値が存在するかどうかを決定することと、
前記事前に定義された文字列類似度を有する前記データセット内の少なくとも1つの有効な文字列値を特定することに応答して、前記少なくとも1つの有効な文字列値の中から有効な文字列値を選択することと、前記非頻出外れ値文字列値および前記選択された有効な文字列値の間の任意の特定された文字の差に基づいて、前記非頻出外れ値文字列値に対する少なくとも1つの修正を決定することとによって、前記非頻出外れ値文字列値の改善策を決定することと、
を含む、請求項9に記載のコンピュータ実装方法。
【請求項12】
前記少なくとも1つの有効な文字列値の中から有効な文字列値を選択することは、前記非頻出外れ値文字列値および少なくとも1つの有効な文字列値の各々の間の定量的類似度を評価することを含む、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記少なくとも1つの有効な文字列値の中から有効な文字列値を選択することは、文字列値選択履歴に少なくとも部分的に基づいて、1または複数のヒューリスティックを適用することを含む、請求項11に記載のコンピュータ実装方法。
【請求項14】
前記非頻出外れ値文字列値を評価するために前記データクローリングアルゴリズムを適用することは、
前記事前に定義された文字列類似度を有する前記データセット内の少なくとも1つの有効な文字列値を特定することに失敗することに応答して、前記非頻出外れ値文字列値の改善策を決定するために少なくとも1つのクラウドソーシング技術を適用すること
をさらに含む、請求項11に記載のコンピュータ実装方法。
【請求項15】
前記データポイントを改善するための少なくとも1つの標準化修正を決定することは、
前記データポイントが外れ値非文字列値であると決定することに応答して、前記外れ値非文字列値に対する改善策を決定すること
を含む、請求項6に記載のコンピュータ実装方法。
【請求項16】
前記外れ値非文字列値に対する改善策を決定することは、
前記外れ値非文字列値に関連する正規表現形式を特定することと、
前記正規表現形式に適合するために、前記外れ値非文字列値に対する少なくとも1つの修正を決定することと、
を含む、請求項15に記載のコンピュータ実装方法。
【請求項17】
前記外れ値非文字列値に対する改善策を決定することは、
前記外れ値非文字列値を少なくとも1つの文字列部分に構文解析することと、
前記少なくとも1つの文字列部分のうち、各外れ値文字列部分に対して、
前記外れ値文字列部分および少なくとも1つの有効な文字列値の各々の間の定量的類似度を評価することによって、前記少なくとも1つの有効な文字列値の中から有効な文字列値を選択し、
前記外れ値文字列部分および前記選択された有効な文字列値との間の任意の特定された文字の差に基づいて、前記外れ値文字列部分に対する少なくとも1つの修正を決定することと、
を含む、請求項15に記載のコンピュータ実装方法。
【請求項18】
前記外れ値非文字列値に対する改善策を決定することは、
前記外れ値非文字列値が重複値であると決定することに応答して、前記重複値を含む第1のデータ列および少なくとも1つの相関データ列の間の関係に基づいて、前記重複値の代替を決定すること
を含む、請求項15に記載のコンピュータ実装方法。
【請求項19】
プログラム命令をその中に実装したコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、前記プログラム命令は、コンピューティングデバイスによって実行可能であり、前記コンピューティングデバイスに請求項1~18のいずれか1項に記載の方法ステップを実行させる、コンピュータプログラム製品。
【請求項20】
少なくとも1つのプロセッサと、
アプリケーションプログラムを記憶するメモリと、を含み、前記アプリケーションプログラムは、前記少なくとも1つのプロセッサ上で実行されると、動作を実行し、前記動作は、
データオンボード手順中にデータセットを受信することと、
前記データセット内のデータポイントを分類することと、
前記データセット内の各分類されたデータポイントに機械学習データ標準化モデルを適用することと、
前記機械学習データ標準化モデルの適用により決定された任意の標準化修正に基づいて、前記データセットの提案されたデータ標準化ルールのセットを導出することと、
を含む、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で説明する様々な実施形態は、一般に、データ統合の文脈における標準化に関する。より具体的には、様々な実施形態は、クラウドコンピューティング環境のマネージドサービスドメインにおけるデータ統合を促進するために、データ標準化ルールのセットを作成する技術を説明する。
【発明の概要】
【0002】
本明細書で説明する様々な実施形態は、データ統合文脈における自動データ標準化の技術を提供する。関連するコンピュータ実装方法は、データオンボード手順中にデータセットを受信することを含む。本方法は、データセット内のデータポイントを分類することをさらに含む。本方法は、データセット内の各分類されたデータポイントに機械学習データ標準化モデルを適用することをさらに含む。本方法は、機械学習データ標準化モデルの適用により決定された任意の標準化修正に基づいて、データセットの提案されたデータ標準化ルールのセットを導出することをさらに含む。一実施形態において、任意選択で、本方法は、クライアントのレビューに対して、提案されたデータ標準化ルールのセットを提示することと、提案されたデータ標準化ルールのセットの受諾に応答して、提案されたデータ標準化ルールのセットをデータセットに適用することと、を含む。さらなる実施形態において、本方法は、提案されたデータ標準化ルールのセットの受諾に応答して、提案されたデータ標準化ルールのセットに基づいて、機械学習データ標準化モデルを更新することを含む。
【0003】
1または複数の追加の実施形態は、プログラム命令をその中に実装したコンピュータ可読記憶媒体を含むコンピュータプログラム製品に関係する。そのような実施形態によれば、プログラム命令は、コンピューティングデバイスによって実行可能であり、コンピューティングデバイスに上記で述べたコンピュータ実装方法の1または複数のステップを実行させる、もしくはそれに関連する1または複数の実施形態を実装する、またはその両方である場合がある。1または複数のさらなる実施形態は、少なくとも1つのプロセッサと、アプリケーションプログラムを記憶するメモリであって、メモリは、少なくとも1つのプロセッサ上で実行されると、上記で述べたコンピュータ実装方法の1または複数のステップを実行する、もしくはそれに関連する1または複数の実施形態を実装する、またはその両方であるメモリと、を有するシステムに関係する。
【0004】
そこで、上記で述べた態様が達成され、詳細に理解できるように、添付図面を参照することによって、上記で簡単に要約した実施形態のより詳細な説明を有することができる。
【0005】
しかしながら、添付の図面は本発明の典型的な実施形態のみを示しており、したがって本発明の範囲を限定するものとみなされるべきではないことに留意されたい。なぜなら、本発明は他の同様に効果的な実施形態を許容し得るからである。
【図面の簡単な説明】
【0006】
【
図1】1または複数の実施形態による、クラウドコンピューティング環境を示す。
【
図2】1または複数の実施形態による、クラウドコンピューティング環境によって提供される抽象化モデルレイヤを示す。
【
図3】1または複数の実施形態による、クラウドコンピューティング環境におけるマネージドサービスドメインを示す。
【
図4】1または複数の実施形態による、マネージドサービスドメインにおけるデータ統合を促進するためのデータ標準化ルールを作成する方法を示す。
【
図5】1または複数の実施形態による、機械学習データ標準化モデルを構成する方法を示す。
【
図6】1または複数の実施形態による、データセット内の各データポイントに機械学習データ標準化モデルを適用する方法を示す。
【
図7】1または複数の実施形態による、データセット内のデータポイントに対処するための少なくとも1つの標準化修正を決定する方法を示す。
【
図8】1または複数の実施形態による、データセット内の非頻出外れ値文字列値を評価するためにデータクローリングアルゴリズムを適用する方法を示す。
【
図9】1または複数の実施形態による、データセット内の外れ値非文字列値に対する改善策を決定する方法を示す。
【
図10】1または複数のさらなる実施形態による、データセット内の外れ値非文字列値に対する改善策を決定する方法を示す。
【
図11】1または複数のさらなる実施形態による、データセット内の外れ値非文字列値に対する改善策を決定する方法を示す。
【発明を実施するための形態】
【0007】
本明細書で説明する様々な実施形態は、クラウドコンピューティング環境のマネージドサービスドメインにおけるデータ統合を目的とした自動データ標準化の技術を対象とする。様々な実施形態の文脈では、データ統合は、データガバナンスを包含し、さらに、データガバナンスおよび統合を包含する。例示的なデータ統合ソリューションは、IBM(登録商標) Unified Governance and Integration Platformである。クラウドコンピューティング環境は、1または複数のコンピューティング能力がサービスとして利用可能な仮想化環境である。本明細書に記載の様々な実施形態に関連する自動データ標準化技術を実装するように構成されたクラウドサーバシステムは、機械学習知識モデル、具体的には機械学習データ標準化モデルの人工知能機能、およびかかるモデルに関連する知識ベースの情報を利用してもよい。
【0008】
様々な実施形態は、従来技術に対する利点を有し得る。従来のデータ統合は、手動による標準化、例えば、主題専門家またはデータスチュワードによるデータセット内の異常またはその他の不適合なデータポイントの手動による改善策を必要とするデータオンボードを含む。手動による改善策は、データ品質を向上させるのに有用であるが、時間および労力の面で重要なリソースを消費する可能性がある。本明細書で説明する様々な実施形態は、データ統合の文脈で自動標準化を提供し、手動による改善策の必要性を低減することに焦点を当てる。具体的には、様々な実施形態は、主題専門家もしくはデータスチュワードまたはその両方による手動データ標準化の必要性を低減することによって、データセットの自動データ標準化を促進し、一方で、所望の場合にレビューおよび承認を依然として許可する。さらに、様々な実施形態は、データ標準化モデルの連続した適用に基づいてデータ統合をますます改善する機械学習を容易にすることによって、コンピュータ技術を改善する。さらに、様々な実施形態は、データセットの異常値に対処、もしくは調査、またはその両方を行うためのデータクローリングもしくはクラウドソーシングまたはその両方の技術の適用を通じて、コンピュータ技術を向上させる。様々な実施形態のいくつかは、そのような利点をすべて含まない可能性があり、そのような利点は、必ずしもすべての実施形態に必要ではない。
【0009】
以下では、本発明の様々な実施形態について言及する。しかしながら、本発明は、特定の記載された実施形態に限定されないことを理解されたい。代わりに、異なる実施形態に関連するか否かにかかわらず、以下の特徴および要素の任意の組み合わせが、本発明を実装および実践するために企図される。さらに、実施形態は、他の可能な解決策に対する、もしくは先行技術に対する、またはその両方である利点を達成することができるが、特定の利点が所定の実施形態によって達成されるかどうかは、限定的なものでない。したがって、以下の態様、特徴、実施形態、および利点は、単に例示であり、請求項に明示的に記載されている場合を除き、添付の請求項の要素または制限とはみなされない。同様に、「本発明」への言及は、本明細書に開示された任意の発明的主題の一般化として解釈されず、1または複数の請求項に明示的に記載されている場合を除き、添付の請求項の要素または制限とみなされないものとする。
【0010】
本発明は、任意の可能な技術詳細レベルで統合されたシステム、方法もしくはコンピュータプログラム製品またはそれらの組み合せとすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を含んでよい。
【0011】
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持し、記憶することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、一例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置またはこれらの適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な一例としては、ポータブルコンピュータディスケット、ハードディスク、RAM、ROM、EPROM(またはフラッシュメモリ)、SRAM、CD-ROM、DVD、メモリスティック、フロッピーディスク、パンチカードまたは溝内の隆起構造などに命令を記録した機械的に符号化された装置、およびこれらの適切な組み合せが挙げられる。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号のような、一過性の信号それ自体として解釈されるべきではない。
【0012】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理装置に、または、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、もしくはワイヤレスネットワークまたはその組み合わせ)を介して外部コンピュータまたは外部記憶装置にダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバー、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ、もしくはエッジサーバまたはその組み合わせで構成される。各コンピューティング/処理装置のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理装置内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0013】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、C++などのオブジェクト指向プログラミング言語と「C」プログラミング言語や類似のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかであってよい。コンピュータ可読プログラム命令は、スタンドアロンソフトウェアパッケージとして、完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または完全にリモートコンピュータまたはサーバ上で実行可能である。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され、または(例えば、インターネットサービスプロバイダーを使用したインターネット経由で)外部コンピュータに接続されてよい。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用してパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0014】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書に記載されている。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0015】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令がフローチャートもしくはブロック図またはその両方の1または複数のブロックで指定された機能/動作を実装するための手段を生成するように、機械を生成するために汎用コンピュータ、専用コンピュータのプロセッサまたは他のプログラム可能なデータ処理装置に提供されることができる。これらのコンピュータ可読プログラム命令はまた、フローチャートもしくはブロック図またはその両方の1または複数のブロックで指定された機能/行為の態様を実装する命令を含む生成品の1つを命令が記憶されたコンピュータ可読記憶媒体が構成するように、コンピュータ、プログラム可能なデータ処理装置、もしくは特定の方法で機能する他のデバイスまたはその組み合わせに接続可能なコンピュータ可読記憶媒体の中に記憶されることができる。
【0016】
コンピュータ、他のプログラム可能な装置、または他のデバイス上でフローチャートもしくはブロック図またはその両方の1または複数のブロックで指定された機能/行為を実行する命令のように、コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の操作ステップを実行し、コンピュータ実装された過程を生成することができる。
【0017】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品が実行可能な実装の構成、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、モジュール、セグメント、または命令の一部を表してよく、これは、指定された論理機能を実装するための1または複数の実行可能命令を構成する。いくつかの代替の実施形態では、ブロックに示されている機能は、図に示されている順序とは異なる場合がある。例えば、連続して示される2つのブロックは、実際には、1つのステップとして達成される場合があり、同時に、実質的に同時に、部分的または全体的に時間的に重複する方法で実行されるか、またはブロックは、関係する機能に応じて逆の順序で実行される場合がある。ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方のブロックの組み合わせは、指定された機能または動作を実行する、または特別な目的のハードウェアとコンピュータ命令の組み合わせを実行する特別な目的のハードウェアベースのシステムによって実装できることにも留意されたい。
【0018】
特定の実施形態では、マネージドサービスドメインにおけるデータ統合を目的とした自動データ標準化に関する技術について説明する。しかしながら、本明細書で説明される技術は、本明細書で具体的に説明されるものに加えて、様々な目的に適合され得ることを理解されたい。したがって、特定の実施形態への言及は、例示であって限定的なものではないことが含まれる。
【0019】
本明細書で説明する様々な実施形態は、クラウドコンピューティングインフラストラクチャを通してエンドユーザに提供され得る。本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載した教示の実装形態はクラウドコンピューティング環境に限定されない。むしろ、本明細書に記載した様々な実施形態は、現在公知のまたは将来開発される他の任意の種類のコンピュータ環境と共に実施することができる。
【0020】
クラウドコンピューティングは、設定可能なコンピューティングリソースの共有プール(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシンおよびサービス)へ、簡便かつオンデマンドのネットワークアクセスを可能にするためのサービス提供のモデルであり、リソースは、最小限の管理労力または最小限のサービスプロバイダとのやり取りによって速やかに準備(provision)およびリリースできるものである。したがって、クラウドコンピューティングにより、ユーザは、コンピューティングリソースを提供するために使用される基礎となる物理システム(またはそれらのシステムの場所)に関係なく、クラウド内の仮想コンピューティングリソース(ストレージ、データ、アプリケーション、さらには完全な仮想化コンピューティングシステム)にアクセスできるようになる。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの実装モデルを含むことがある。
【0021】
特性は以下の通りである。
【0022】
オンデマンド・セルフサービス:クラウドの消費者は、サービスプロバイダとの人的な対話を必要することなく、必要に応じて自動的に、サーバ時間やネットワークストレージなどのコンピューティング能力を一方的に準備することができる。
【0023】
ブロード・ネットワークアクセス:コンピューティング能力はネットワーク経由で利用可能であり、また、標準的なメカニズムを介してアクセスできる。それにより、異種のシンまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、パーソナルデジタルアシスタント(PDA))による利用が促進される。
【0024】
リソースプーリング:プロバイダのコンピューティングリソースはプールされ、マルチテナントモデルを利用して複数の消費者に提供される。様々な物理リソースおよび仮想リソースが、需要に応じて動的に割り当ておよび再割り当てされる。一般に消費者は、提供されたリソースの正確な位置を管理または把握していないため、位置非依存(location independence)の感覚がある。ただし消費者は、より高い抽象レベル(例えば、国、州、データセンタ)では場所を特定可能な場合がある。
【0025】
迅速な柔軟性(elasticity):コンピューティング能力は、迅速かつ柔軟に準備することができるため、場合によっては自動的に、直ちにスケールアウトし、また、速やかにリリースされて直ちにスケールインすることができる。消費者にとって、準備に利用可能なコンピューティング能力は無制限に見える場合が多く、任意の時間に任意の数量で購入することができる。
【0026】
測定されるサービス:クラウドシステムは、サービスの種類(例えば、ストレージ、処理、帯域幅、アクティブユーザカウント)に適したある程度の抽象化レベルでの測定機能を活用して、リソースの使用を自動的に制御し最適化する。リソース使用量を監視、制御、および報告して、利用されるサービスのプロバイダおよび消費者の両方に透明性を提供することができる。
【0027】
サービスモデルは以下の通りである。
【0028】
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを利用できることである。当該そのアプリケーションは、ウェブブラウザ(例えばウェブメール)などのシンクライアントインタフェースを介して、各種のクライアント装置からアクセスできる。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージや、個別のアプリケーション機能さえも含めて、基礎となるクラウドインフラストラクチャの管理や制御は行わない。ただし、ユーザ固有の限られたアプリケーション構成の設定はその限りではない。
【0029】
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラム言語およびツールを用いて、消費者が作成または取得したアプリケーションを、クラウドインフラストラクチャに展開(deploy)することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージを含む、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、展開されたアプリケーションを制御でき、かつ場合によってはそのホスティング環境の構成も制御できる。
【0030】
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、オペレーティングシステムやアプリケーションを含み得る任意のソフトウェアを消費者が展開および実行可能な、プロセッサ、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースを準備することである。消費者は、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、オペレーティングシステム、ストレージ、および展開されたアプリケーションを制御でき、かつ場合によっては一部のネットワークコンポーネント(例えばホストファイアウォール)を部分的に制御できる。
【0031】
展開モデルは以下の通りである。
【0032】
プライベートクラウド:このクラウドインフラストラクチャは、特定の組織専用で運用される。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
【0033】
コミュニティクラウド:このクラウドインフラストラクチャは、複数の組織によって共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス)を持つ特定のコミュニティをサポートする。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
【0034】
パブリッククラウド:このクラウドインフラストラクチャは、不特定多数の人々や大規模な業界団体に提供され、クラウドサービスを販売する組織によって所有される。
【0035】
ハイブリッドクラウド:このクラウドインフラストラクチャは、2つ以上のクラウドモデル(プライベート、コミュニティまたはパブリック)を組み合わせたものとなる。それぞれのモデル固有の実体は保持するが、標準または個別の技術によってバインドされ、データとアプリケーションの可搬性(例えば、クラウド間の負荷分散のためのクラウドバースティング)を実現する。
【0036】
クラウドコンピューティング環境は、ステートレス性(statelessness)、低結合性(low coupling)、モジュール性(modularity)および意味論的相互運用性(semantic interoperability)に重点を置いたサービス指向型環境である。クラウドコンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0037】
図1は、1または複数の実施形態によるクラウドコンピューティング環境50を示す。クラウドコンピューティング環境50は1または複数のクラウドコンピューティングノード10を含む。これらに対して、クラウド消費者が使用するローカルコンピュータ装置(例えば、パーソナルデジタルアシスタントもしくは携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、もしくは自動車コンピュータシステム54Nまたはこれらの組み合わせなど)は通信を行うことができる。ノード10は互いに通信することができる。ノード10は、例えば、上述のプライベート、コミュニティ、パブリックもしくはハイブリッドクラウドまたはこれらの組み合わせなど、1または複数のネットワークにおいて、物理的または仮想的にグループ化(不図示)することができる。これにより、クラウドコンピューティング環境50は、サービスとしてのインフラストラクチャ、プラットフォームもしくはソフトウェアまたはこれらの組み合わせを提供することができ、クラウド消費者はこれらについて、ローカルコンピュータ装置上にリソースを維持する必要がない。なお、
図1に示すコンピュータ装置54A~Nの種類は例示に過ぎず、コンピューティングノード10およびクラウドコンピューティング環境50は、任意の種類のネットワークもしくはネットワークアドレス指定可能接続(例えば、ウェブブラウザの使用)またはその両方を介して、任意の種類の電子装置と通信可能であることを理解されたい。
【0038】
図2は、1または複数の実施形態による、クラウドコンピューティング環境50によって提供される機能的抽象化モデルレイヤのセットを示す。なお、
図2に示すコンポーネント、レイヤおよび機能は例示に過ぎず、本明細書に記載される様々な実施形態はこれらに限定されないことをあらかじめ理解されたい。図示するように、様々なレイヤおよび対応する機能が提供される。具体的には、ハードウェアおよびソフトウェアレイヤ60は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例には、メインフレーム61、縮小命令セットコンピュータ(RISC)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、記憶装置65、ならびにネットワークおよびネットワークコンポーネント66が含まれる。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67およびデータベースソフトウェア68を含む。仮想化レイヤ70は、抽象化レイヤを提供する。当該レイヤから、例えば以下の仮想エンティティを提供することができる:仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティングシステム74、ならびに仮想クライアント75。
【0039】
一例として、管理レイヤ80は以下の機能を提供することができる。リソース準備81は、クラウドコンピューティング環境50内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を可能にする。計量および価格設定82は、クラウドコンピューティング環境50内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費に対する請求またはインボイス送付を可能にする。一例として、これらのリソースはアプリケーションソフトウェアのライセンスを含んでよい。セキュリティは、データおよび他のリソースに対する保護のみならず、クラウドコンシューマおよびタスクの識別確認を可能にする。ユーザポータル83は、コンシューマおよびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されたサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を可能にする。サービス品質保証(SLA)の計画および履行85は、SLAに従って将来必要になると予想されるクラウドコンピューティングリソースの事前手配および調達を可能にする。
【0040】
ワークロードレイヤ90は、クラウドコンピューティング環境50が利用可能な機能の例を提供する。このレイヤから提供可能なワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育の配信93、データ分析処理94、取引処理95、ならびに、データ標準化96が含まれる。データ標準化96は、本明細書で説明されるさまざまな実施形態に従って、機械学習知識モデルを介してデータ統合を目的とした自動データ標準化を可能にすることができる。
【0041】
図3は、クラウドコンピューティング環境50内のマネージドサービスドメイン300を示す。データ標準化96および他のワークロード/機能に関する機能は、マネージドサービスドメイン300において実施され得る。マネージドサービスドメイン300は、クラウドサーバシステム310を含む。一実施形態では、クラウドサーバシステム310は、オンボードデータリポジトリ320と、データベース管理システム(DBMS)330と、少なくとも機械学習データ標準化モデルの機能を組み込んだ機械学習知識モデル350を含むクラウドサーバアプリケーション340を含む。クラウドサーバアプリケーション340は、単一のアプリケーションまたは複数のアプリケーションの代表である。機械学習知識モデル350は、本明細書に記載される様々な実施形態によって、自動データ標準化を可能にする、もしくは促進する、またはその両方を行うように構成される。さらに、マネージドサービスドメイン300は、データオンボードインタフェース360、1または複数の外部データベースシステム370、および複数のアプリケーションサーバクラスタ380
1から380
nを含む。データオンボードインタフェース360は、データ統合の文脈におけるデータオンボードを促進するために、クラウドサーバシステム310、およびマネージドサービスドメイン300と対話するデータクライアント/システムの間の通信を可能にする。一実施形態では、クラウドサーバシステム310は、1または複数の外部データベースシステム370および複数のアプリケーションサーバクラスタ380
1から380
nと通信するように構成される。さらに、アプリケーションサーバクラスタ380
1から380
n内のそれぞれのサーバは、互いに、もしくは他のドメインのサーバクラスタと、またはその両方で通信するように構成され得る。
【0042】
一実施形態では、単一のデータリポジトリまたはデータリポジトリのコレクションのいずれかを代表するオンボードデータリポジトリ320は、データオンボード手順中にデータオンボードインタフェース360から受信した未標準化データセットもしくは事前標準化データセットまたはその両方と、本明細書に記載する様々な実施形態によって処理した分類済みデータセットおよび標準化データを含む。代替的に、1または複数のデータリポジトリは、データオンボード手順中に受信された事前標準化データセットもしくは非標準化データセットまたはその両方を含み、1または複数の追加のデータリポジトリは、分類および標準化されたデータセットを含む。さらなる代替案によれば、1または複数のデータリポジトリは、データオンボード手順中に受信された事前標準化データセットもしくは非標準化データセットまたはその両方を含み、1または複数の追加のデータリポジトリは分類されたデータセットを含み、1または複数のさらなる追加のデータリポジトリは標準化データセットを含んでいる。一実施形態において、DBMS330は、機械学習知識モデル350の知識ベースを調整および管理する。DBMS330は、1または複数のデータベースサーバを含んでよく、これらは、知識ベースの様々な態様を調整もしくは管理またはその両方を行うことができる。追加の実施形態では、DBMS330は、1または複数の外部データベースシステム370を管理するか、または相互作用する。1または複数の外部データベースシステム370は、DBMS330とインタフェースするように構成された1または複数のリレーショナルデータベース、もしくは1または複数のデータベースマネジメントシステム、またはその両方を含む。さらなる実施形態では、DBMS330は、複数のアプリケーションサーバクラスタ3801から380nおよび知識ベースの間の関係を記憶する。さらなる実施形態では、DBMS330は、1または複数のデータベースを含み、またはこれらに動作可能に結合され、その一部または全部はリレーショナルデータベースであってよい。さらなる実施形態では、DBMS330は、1または複数のオントロジーツリーまたは他のオントロジー構造体を含む。アプリケーションサーバクラスタ3801から380nは、様々なアプリケーションの態様をホストもしくは保存またはその両方を行い、また、1または複数のクライアントシステムもしくはデータシステムまたはその両方にマネージドサーバサービスを提供する。
【0043】
図4は、データ統合を促進するためのデータ標準化ルールを作成する方法400を示す。方法400に従ったデータ標準化ルールの作成は、本明細書で説明する様々な実施形態の文脈における自動データ標準化を促進する。一実施形態では、方法400に関連する1または複数のステップは、コンピューティング能力がサービスとして提供される環境(例えば、クラウドコンピューティング環境50)において実行される。かかる実施形態によれば、方法400に関連する1または複数のステップは、環境内のマネージドサービスドメイン(例えば、マネージドサービスドメイン300)において実施される。環境は、ハイブリッドクラウド環境であってもよい。さらなる実施形態では、方法400に関連する1または複数のステップは、クライアントサーバネットワーク環境またはピアツーピアネットワーク環境などの1または複数の他の環境において実施される。マネージドサービスドメイン内の集中型クラウドサーバシステム(例えば、マネージドサービスドメイン300内のクラウドサーバシステム310)は、方法400および本明細書でさらに説明する他の方法に従って処理を促進することができる。より具体的には、クラウドサーバシステム内のクラウドサーバアプリケーション(例えば、クラウドサーバアプリケーション340)は、方法400および本明細書に記載される他の方法の1または複数のステップを実行するか、促進することができる。マネージドサービスドメイン内のクラウドサーバシステムを介して促進または実行される自動データ標準化技術は、環境によって提供される機能抽象化レイヤのうちのワークロードレイヤ内のデータ標準化(例えば、クラウドコンピューティングインフラストラクチャ50のワークロードレイヤ90内のデータ標準化96)と関連していてもよい。
【0044】
方法400は、クラウドサーバアプリケーションがデータオンボード手順中にデータセットを受信するステップ405で始まる。クラウドサーバアプリケーションは、マネージドサービスドメイン内のデータオンボードインタフェースを介して(例えば、データオンボードインタフェース360を介して)ステップ405に従ってデータセットを受信する。オンボードされたデータは、少なくとも1つのオンボードされたデータリポジトリ(例えば、オンボードされたデータリポジトリ320)に完全または部分的に記憶され、これはデータレイクであってよく、またはそれに関連付けられてもよい。本明細書で説明する様々な実施形態の文脈では、データレイクは、多くのソースからのデータを自然または生の形式で保持するストレージリポジトリである。データレイク内のデータは、構造化、半構造化、または非構造化であってもよい。一実施形態において、データオンボード手順は、データセットをデータレイクにオンボードすることを含む。かかる実施形態によれば、データセットは、任意に、Hadoop分散ファイルシステム(HDFS)形式でオンボードされる。あるいは、そのような実施形態によれば、データセットは、例えば、データの冗長性の手動または自動除去を介して、正規化されたデータとしてオンボードされる。さらなる実施形態では、データレイクに位置するデータに関連するメタデータのみが、データ自体ではなく、データオンボード手順中にオンボードされる。かかるさらなる実施形態によれば、方法400のステップの実行に基づき、クラウドサーバアプリケーションは、任意選択で、オンボードされたメタデータに基づいて、データレイクに位置するデータの標準化バージョンを作成する。あるいは、そのようなさらなる実施形態によれば、方法400のステップの実行に基づいて、クラウドサーバアプリケーションは、オンボードされたメタデータに基づいてデータレイクに位置するデータにデータ標準化を直接適用する。まとめると、方法400の文脈において、クラウドサーバアプリケーションは、任意選択で、データセットをデータレイクにオンボードするか、代替的に、データレイク内にすでにあるデータセットに関連するメタデータをオンボードする。さらなる実施形態では、データオンボード手順は、データセットをオンライントランザクション処理(OLTP)システムからオンライン分析処理(OLAP)システムへオンボードすることを含む。
【0045】
ステップ410で、クラウドサーバアプリケーションは、ステップ405で受信したデータセット内のデータポイントを分類する。一実施形態では、クラウドサーバアプリケーションは、少なくとも1つのデータ分類器アルゴリズムの適用に基づいてデータクラスを検出し、データクラスの検出に応答して、関連するデータフィールドを用語または分類(例えば、ビジネスに関連する用語または分類)でラベリング(例えば、タグ付け)することによってデータポイントを分類する。それぞれのデータクラスの例としては、自治体や郵便番号などがある。かかる実施形態によれば、少なくとも1つのデータ分類器アルゴリズムは、データフィールド内のデータを特定するために、またはデータフィールド名に基づいて、正規表現を組み込む。加えてまたは代替的に、少なくとも1つのデータ分類器アルゴリズムは、構成データクラス値を含むテーブルを参照するためのルックアップ操作を組み込んでいる。加えてまたは代替的に、少なくとも1つのデータ分類器アルゴリズムは、プログラミング言語、例えば、Javaで書かれたカスタムロジックを含む。さらなる実施形態では、クラウドサーバアプリケーションは、それぞれの個々の値の評価に基づいてデータポイントを分類する。加えてまたは代替的に、クラウドサーバアプリケーションは、例えば構造化データまたは半構造化データの文脈で、データ列内の複数の値の評価に基づいてデータポイントを分類する。加えてまたは代替的に、クラウドサーバアプリケーションは、複数の関連するデータ列内の複数の値の評価に基づいてデータポイントを分類する。さらなる実施形態において、クラウドサーバアプリケーションは、少なくとも1つのデータ分類器アルゴリズムを介して行われたデータポイントの分類に信頼度値を関連付ける。そのようなさらなる実施形態によれば、クラウドサーバアプリケーションは、少なくとも1つのデータ分類器を介して行われた信頼度のデータポイント分類に基づいて優先順位付けもしくはラベル付けまたはその両方を行う。任意選択で、主題専門家またはデータスチュワード(すなわち、データ編集者またはデータエンジニア)などのクライアントは、少なくとも1つのデータ分類器アルゴリズムを介して行われた1または複数のデータポイント分類を上書きし、データポイント分類を手動で割り当てる。
【0046】
一実施形態では、ステップ410の文脈において、クラウドサーバアプリケーションは、データセット内の分類されたデータポイントのサブセットをランダムにサンプリングする。かかる実施形態によれば、クラウドサーバアプリケーションは、ランダムにサンプリングされたデータポイントの値を決定し、次に、ランダムにサンプリングされたデータポイントに関連する特定のデータクラスもしくはデータ列またはその両方を決定する。かかる実施形態によれば、クラウドサーバアプリケーションは、ランダムにサンプリングされたデータポイントとの関連付けに基づいて、サブセット内の他のデータポイントに関連するデータクラスもしくはデータ列またはその両方を決定する。したがって、かかる実施形態によるランダムなサンプリングは、クラウドサーバアプリケーションがデータポイントを分類するためにデータセット全体を反復することを回避することを可能にすることができる。加えてまたは代替的に、クラウドサーバアプリケーションは、データクラスを割り当てることによって、データセットの1または複数のデータポイントを直接分類する。したがって、クラウドサーバアプリケーションは、ランダムサンプリングに基づいて、もしくは直接の手動分類に基づいて、またはその両方でデータセット内の各データポイントを分類することができる。
【0047】
ステップ415において、クラウドサーバアプリケーションは、機械学習データ標準化モデル(例えば、機械学習知識モデル350)を、データセット内の各分類されたデータポイントに適用する。一実施形態では、クラウドサーバアプリケーションは、データクラスに基づいてデータ標準化モデルを適用する。かかる実施形態によれば、検出された異常のタイプおよびかかる異常のタイプに関して対応する標準化は、少なくとも部分的にデータクラスのタイプに基づいて決定される。例えば、電話番号データクラスを持つデータポイントは、形式に関してのみ検証を必要とする(すなわち、形式異常のみが関連する)。一方、自治体データクラスを持つデータポイントは、少なくともスペル、場合によっては構文に関して検証を必要とする(すなわち、スペルと構文の異常が潜在的に関連している)。本明細書でさらに説明するように、データクラスは、データセット内の文字列値と非文字列値を区別することに関しても関連性がある。
【0048】
一実施形態において、クラウドサーバアプリケーションは、データセット内のデータポイントが有効な値であるか外れ値であるかを決定し、さらに、外れ値であると決定された任意の値に対処する方法を決定するために、データ標準化モデルの文脈で複数のデータ品質ルールを適用する。複数のデータ品質ルールは、データポイントが有効な値であるか外れ値であるかを決定するための標準化ベースラインである、複数のベースラインデータ統合ルールを含む。本明細書に記載の様々な実施形態の文脈において、複数のベースラインデータ統合ルールは、データクラスまたはデータクラスのグループに適用されるハードコードまたは固定ルールであり、モデル初期化時にデータ標準化モデルに統合される。任意選択として、複数のベースラインデータ統合ルールは、データセットサイズもしくはデータセットソースまたはその両方に基づいてカスタマイズされる。複数のベースラインデータ統合ルールは、データセット内のデータポイントに関連する異常を特定するための予め確立されたルールを含む。さらなる実施形態において、複数のベースラインデータ統合ルールは、特定のデータクラスまたはデータクラスの特定のグループに固有である。かかるさらなる実施形態によれば、クラウドサーバアプリケーションは、データクラスに基づいて複数のベースラインデータ統合ルールを適用する。例えば、生年月日データクラスの値に関するベースライン統合ルールによれば、かかる値は将来の日付であることはできない。かかるさらなる実施形態によれば、クラウドサーバアプリケーションは、任意選択で、かかるヌル値または重複値に関連するデータクラスに基づいて、ヌル値または重複値を分析する。様々な実施形態の文脈では、有効な値は、複数のベースラインデータ統合ルールに適合する値であり、一方、外れ値は、複数のベースラインデータ統合ルールに適合していない値である。クラウドサーバアプリケーションは、値が、関連するデータクラスもしくは関連するデータ列またはその両方に対して確立された1または複数の条件を満たさない場合(すなわち、値が少なくとも1つの異常を含む場合)、値が複数のベースラインデータ統合ルールに適合せず、したがって外れ値であると任意に決定する。加えてまたは代替的に、クラウドサーバアプリケーションは、かかる値がデータセット内の定義されたグループ(例えば、データ列または関連するデータ列のグループ)内の他の値と矛盾する場合、値が複数のベースラインデータ統合ルールに適合しておらず、したがって外れ値であると決定する。特定の例では、かかる矛盾は、第1のデータ列内の外れ値が、第1のデータ列に相関する他の(another)データ列または他の(other)データ列内の対応する値と矛盾するように、第1のデータ列が他の(another)データ列または他の(other)データ列と相関するシナリオにおいて明らかである。様々な実施形態の文脈では、1つの列内の値が他の列内の値に基づいて予測可能である場合、それぞれの列は相関する。他の例では、そのような矛盾は、データ列内の外れ値がそのデータ列の位置と矛盾するように、データ列内のデータ値がデータ列の位置に基づいて相互に関連するシナリオにおいて明らかである。他の例では、かかる矛盾は、相関するデータ列の対応する値に関しても、そのデータ列の位置に関しても矛盾を有する外れ値によって明らかになる。
【0049】
複数のベースラインデータ統合ルールに加えて、複数のデータ品質ルールは、複数のベースラインデータ統合ルールの適用により外れ値であると決定された値に対処する目的で、以前に導出され受諾された任意のデータ標準化ルールのセットを含む。複数のデータ品質ルールは、不定な範囲を持たないように完全に結合される。さらに、複数のデータ品質ルールは、データセット内のデータ列に結合される変数を含む。一実施形態において、クラウドサーバアプリケーションは、データ標準化モデルの適用によりデータセット内で特定された外れ値の量を計算する。かかる実施形態によれば、クラウドサーバアプリケーションは、複数のベースラインデータ統合ルールへの適合性に基づいて、データセットの定量的データ品質スコアを計算する。クラウドサーバアプリケーションは、任意選択で、データセット内の分類されたデータポイントのうち、不適合/外れ値の割合に基づいて、データ品質スコアを計算する。ステップ415に従ってデータ標準化モデルを適用することによって、クラウドサーバアプリケーションは、外れ値に対処するために、以前に導出され受諾された標準化ルールを適用することができ、さらに、以下に説明するように、クラウドサーバアプリケーションは、提案された標準化ルールの新しいセットが導出されることがあることに基づいて追加の標準化修正を決定することができる。ステップ415に従ってデータセット内の各データポイントにデータ標準化モデルを適用することに関する方法は、
図6に関して説明される。
【0050】
ステップ420において、クラウドサーバアプリケーションは、機械学習データ標準化モデルの適用により決定された標準化修正に基づき、データセットの提案されたデータ標準化ルールのセットを導出する。提案されたデータ標準化ルールのセットは、後続のモデル適用時に自動的に動的なデータセット標準化を促進するための1または複数のルールを含む。一実施形態において、提案されたデータ標準化ルールのセットは、複数のマッピングを含み、これらは任意に標準化ルックアップテーブルに記憶される。かかる実施形態によれば、複数のマッピングは、外れ値から有効な値へのそれぞれのマッピングまたは他の関係的な態様を含む。具体的には、複数のマッピングは、1または複数の文字のスペルミスを含む外れ値文字列値、および適切なスペルを有する有効な文字列値の間のマッピングを含んでよく、例えば、外れ値文字列値「Dehli」は、有効な文字列値「Delhi」にマッピングされてよい。標準化修正の決定に関する実施形態は、本明細書でさらに説明される。
【0051】
任意選択で、ステップ425で、クラウドサーバアプリケーションは、クライアントのレビューに対して、ステップ420で導出された提案されたデータ標準化ルールのセットを提示する。一実施形態では、クラウドサーバアプリケーションは、クライアントがアクセス可能なフォーラムでセットを公開することによって、提案されたデータ標準化ルールのセットを提示する。さらなる実施形態では、クラウドサーバアプリケーションは、クライアントインタフェースにセットを送信することによって、提案されたデータ標準化ルールのセットを提示する。かかるさらなる実施形態によれば、クライアントインタフェースは、クライアントシステムまたはデバイスにインストールされた、またはアクセス可能な少なくとも1つのクライアントアプリケーションを介して提示されるグラフィカルユーザインタフェース(GUI)もしくはコマンドラインインタフェース(CLI)またはその両方の形態のユーザインタフェースである。任意選択で、クラウドサーバアプリケーションは、クライアントに表示するためのフォーム応答インタフェース要素を、例えば、クライアントがアクセス可能なフォーラムまたはクライアントインタフェースにおいて生成することにより、提案されたデータ標準化ルールのセットのクライアント受諾を促進する。クライアントは、特定のドメインの主題専門家、データスチュワード、もしくはデータセットまたはクラウドサーバシステムに関連する他の任意のエンティティ、またはその組み合わせを含む。
【0052】
一実施形態では、クラウドサーバアプリケーションは、提案されたデータ標準化ルールセットもしくはその中のそれぞれの標準化ルールまたはその両方に起因する定量的信頼度値に基づいて、クライアントレビューなしに提案されたデータ標準化ルールのセットを自動的に受諾する。そのような実施形態によれば、クラウドサーバアプリケーションは、提案されたデータ標準化ルールのセットが予め定められた信頼度閾値を超える信頼度でデータの不正確さを改善することを決定することに応答して、提案されたデータ標準化ルールのセットを自動的に受諾し、したがってクライアントレビューを見送る。予め定められた信頼度閾値は、自動データ改善能力(すなわち、主題専門家/データスチュワードのいない改善能力)に対する信頼性を定量的に測定する。かかる実施形態によれば、提案されたデータ標準化ルールのセット、もしくはその中のそれぞれの標準化ルール、またはその両方に起因する定量的信頼度値は、任意選択で、関連するユースケースに基づいてクライアントにより設定される。加えてまたは代替的に、信頼度値は、以前のモデル適用もしくは以前のモデル反復(すなわち、現在のモデル適用内の以前の反復)またはその両方の文脈において機械学習分析を通じて特定されたデータ関係に基づいて決定される。例えば、州都データクラス値が「メンフィス」であると仮定すると、対応する州データクラス値は常に「テネシー」であり、したがって、1または複数の適用されるデータ標準化ルールに関する信頼度値は比較的高いであろう。別の例では、州都データクラス値が「ハイデラバード」であると仮定すると、対応する州データクラス値は、文脈に応じて「テランガナ」または「アンドラプラデシュ」のいずれかとなり(ハイデラバードは両方の州の州都なので)、したがって1または複数の適用されるデータ標準化ルールに関する信頼度値は比較的低くなる。したがって、これらの例の文脈における予め定められた信頼度閾値が同じであると仮定すると、提案されたセット内の1または複数のルールが、「ハイデラバード」ではなく「メンフィス」に対応するデータセット内の状態データクラス値を扱う場合、標準化州データクラス値を決定する文脈においてクライアントレビューなしに提案されたデータ標準化ルールのセットをクラウドサーバアプリケーションが受諾する可能性は比較的高い。
【0053】
ステップ430で、クラウドサーバアプリケーションは、提案されたデータ標準化ルールのセットが受諾されたかどうかを決定する。提案されたデータ標準化ルールのセットの受諾は、任意選択で、クライアントのレビューに基づいて決定され、あるいは代替的に、提案されたデータ標準化ルールのセットが予め定められた信頼度閾値を超える信頼度でデータの不正確さを改善すると決定することに応答して、受諾が自動的に行われる。提案されたデータ標準化ルールのセットが受諾されていないと決定することに応答して、クラウドサーバアプリケーションは、任意選択で、提案されたデータ標準化ルールのセットの1または複数を調整し、その後、ステップ430を反復する。任意選択で、かかるルール調整は、提案されたデータ標準化ルールのセットに関するクライアントフィードバックの収集を含み、この場合、クラウドサーバアプリケーションは、クライアントフィードバックに基づく1または複数の修正を適用することができる。一実施形態では、かかるクライアントフィードバックは、1または複数のクライアントが課すルール修正を有する1または複数のルールオーバーライドリクエストを含む。クラウドサーバアプリケーションは、任意選択で、クライアントフィードバックに基づいて、提案されたデータ標準化ルールのセットを調整する。
【0054】
提案されたデータ標準化ルールのセットが受諾されたと決定することに応答して、ステップ435で、クラウドサーバアプリケーションは、提案されたデータ標準化ルールのセットをデータセットに適用する。一実施形態では、クラウドサーバアプリケーションは、提案されたデータ標準化ルールのセットを、データセットの各データポイントに適用する。さらなる実施形態において、クラウドサーバアプリケーションは、提案されたデータ標準化ルールのセットの適用により、データセットのデータ品質が改善されたことを確認する。かかるさらなる実施形態によれば、クラウドサーバアプリケーションは、提案されたデータ標準化ルールのセットの適用前および適用後のデータセットのデータ品質に関するクライアントのレビューを通じて、データセットのデータ品質が改善されたことを確認する。加えてまたは代替的に、クラウドサーバアプリケーションは、提案されたデータ標準化ルールのセットの適用前と適用後のデータセットのデータ品質の比較を通じて、データセットのデータ品質が改善されたことを確認する。
【0055】
さらに、提案されたデータ標準化ルールのセットの受諾に応答して、ステップ440において、クラウドサーバアプリケーションは、提案されたデータ標準化ルールのセットに基づいて、機械学習データ標準化モデルを更新する。一実施形態において、クラウドサーバアプリケーションは、クラウドサーバアプリケーションが、後続のモデル適用中に、複数のベースラインデータ統合ルールおよびデータ標準化ルールの任意の以前に受諾されたセットとともに、データ標準化ルールの提案されたセットを考慮するように、提案されたデータ標準化ルールのセットを、データ標準化モデルに関連付けられた複数のデータ品質ルールに統合する(例えば、追加するまたは関連付ける)。かかる実施形態によれば、クラウドサーバアプリケーションは、提案されたデータ標準化ルールのセットを、データ標準化モデルに関連する知識ベースに追加する。モデルに関連する知識ベースは、任意選択で、複数のデータ品質ルールと、任意の提案されたデータ標準化ルールのセットとに関連するすべてのリポジトリ、オントロジー、ファイル、もしくはドキュメント、またはその組み合わせを含む。クラウドサーバアプリケーションは、任意選択で、クラウドサーバシステムに関連するDBMS(例えば、DBMS330)を介して、知識ベースにアクセスする。
【0056】
提案されたデータ標準化ルールのセットを複数のデータ品質ルールに統合することに基づいて、クラウドサーバアプリケーションは、後続のモデル適用時に自動標準化を可能にするデータポイントのパターンを特定するために、任意選択でデータ標準化モデルを訓練する。クラウドサーバアプリケーションは、機械学習データ標準化モデルに関連する複数のデータ品質ルールの後続の適用時に、以前は予期しなかったが提案されたセットによって自動的に対処される外れ値が標準化されるように、受諾時に提案されたデータ標準化ルールのセットの適合を促進する。したがって、提案されたデータ標準化ルールのセットの統合に基づいて、後続のモデル適用中に、クラウドサーバアプリケーションは、外れ値であると決定されたデータセットデータポイントの標準化が、提案されたデータ標準化ルールのセットの1または複数によって対処される場合に、自動的に標準化する。ステップ440に従ってデータ標準化モデルを更新すると、クラウドサーバアプリケーションは、任意選択でステップ415に戻り、データセット標準化を改良するためにデータ標準化モデルをデータセットに再適用する。そのようなさらなる実施形態は、様々な実施形態の文脈で企図されるようなマルチパスアルゴリズムの適用と一致する。あるいは、ステップ440に従ってデータ標準化モデルを更新すると、クラウドサーバアプリケーションは、方法400の終了に進むことができる。
【0057】
図5は、機械学習データ標準化モデルを構成する方法500を例示する。方法500は、ステップ505で始まり、クラウドサーバアプリケーションは、複数のそれぞれのデータオンボードシナリオの間に複数のデータセットをサンプリングする。一実施形態では、クラウドサーバアプリケーションは、1または複数の関連するデータクラスに基づいてデータセットをサンプリングする。1つの代替案によれば、1または複数の特定のデータクラスに焦点を当てるために、クラウドサーバアプリケーションは、1または複数の関連するデータクラスに従って分類された値の閾値より大きい量を有するデータセットをサンプリングする。別の代替案によれば、サンプリングされたデータの多様性を確保するために、クラウドサーバアプリケーションは、閾値を超える量のデータクラスに関連付けられた値を有するデータセットをサンプリングする。ステップ510において、クラウドサーバアプリケーションは、サンプリングされた複数のデータセットに基づいて、それぞれのデータ異常シナリオを特定する。一実施形態において、クラウドサーバアプリケーションは、データ標準化モデルに関連する複数のデータ品質ルールを適用することによって、複数のサンプリングされたデータセットの中から外れ値を特定する。任意選択で、複数のデータ品質ルール内の複数のベースラインデータ統合ルールは、相関するデータ列におけるそれぞれの値の間(between)または間(among)の期待される関係を特定する少なくとも1つの相関ルールを含む。例えば、相関ルールは、第1のデータ列における特定の行の数値が、第2のデータ列における特定の行の数値の2倍であることを要求することができる。加えてまたは代替的に、複数のベースラインデータ統合ルールは、データ列内の相互関連する値の間(between)または間(among)の期待される関係を特定する少なくとも1つのデータ列相互関係ルールを含む。任意選択で、複数のデータ品質ルールは、オントロジーまたはリポジトリなどの外部ソースから導出される任意の適応可能なルールをさらに含む。例えば、クラウドサーバアプリケーションは、1または複数のデータクラスに関してデータリポジトリから有効な値のリストを取得し、リストに含まれる有効な値を考慮するルールを導出することができる。データ標準化モデルの初期構築の後、クラウドサーバアプリケーションは、例えば、方法400の文脈において提案されたデータ標準化ルールのそれぞれのセットの受諾に基づいて、もしくは外部ソースからの追加ルールの採用に基づいて、またはその両方で、複数のベースラインデータ統合ルールを超えて複数のデータ品質ルールを任意選択で更新する。
【0058】
ステップ515において、クラウドサーバアプリケーションは、それぞれのデータ異常シナリオに対処するための既存のデータ異常修正技術を特定する。一実施形態では、クラウドサーバアプリケーションは、以前に受諾されたデータ標準化ルールセット、もしくは以前に提案されたデータ標準化ルールセット、またはその両方を参照することによって、既存のデータ異常修正技術を特定する。かかるルールセットは、データ標準化モデルに関連する知識ベースに記憶されてもよく、または、例えば、外部ソースから取得可能であるように、モデルに関連して文書化されてもよい。かかる実施形態によれば、クラウドサーバアプリケーションは、複数のサンプリングされたデータセットのうち、データセットに対して以前に受諾された、もしくは以前に提案されたデータ標準化ルールの任意のセットを特定する。ステップ520において、クラウドサーバアプリケーションは、それぞれのデータ異常シナリオに対する既存のデータ異常修正技術の適用可能性に基づいて、機械学習データ標準化モデルを訓練する。ステップ520によれば、クラウドサーバアプリケーションは、それぞれのデータ異常シナリオおよび既存のデータ異常修正技術の間の関連性に対処する関連データを作成および分析することによって、モデルを訓練する。関連データは、それぞれのデータ異常シナリオの1または複数に対処するという点で、既存の異常修正技術の1または複数の有効性に関する信頼度データを含むことができる。加えてまたは代替的に、関連データは、特定のそれぞれのデータ異常シナリオに対処するという点から、複数の既存の異常修正技術の比較を含むことができる。関連データを分析することにより、クラウドサーバアプリケーションは、既存の異常修正技術のうち、将来のモデル適用中にそれぞれのデータ異常シナリオまたはそれに類似するシナリオに対処するという点で相対的により効果的である可能性があるものを決定することができる。したがって、クラウドサーバアプリケーションは、かかる分析に基づいてモデルを較正することができる。一実施形態では、クラウドサーバアプリケーションは、モデルに関する関連データを、例えば、モデルに関連する知識ベース内に記録する。
【0059】
一実施形態において、クラウドサーバアプリケーションは、複数のベースラインデータ統合ルールを超えて複数のデータ品質ルールを強化または適合させるために、任意の参照され以前に受諾されたデータ標準化ルールセット、もしくは任意の参照され以前に提案されたデータ標準化ルールセット、またはその両方の分析に基づいてデータ標準化モデルを訓練する。任意選択で、クラウドサーバアプリケーションは、ステップ520での訓練の結果、以前に受諾されたデータ標準化ルールセットからのルールを複数のデータ品質ルールに統合する。かかる訓練は、方法400の文脈におけるステップ440に従って提案されたデータ標準化ルールセットの受諾に起因するデータ標準化モデルの更新に加えて、またはその代替として、データ標準化モデルを強化することができる。追加の実施形態では、クラウドサーバアプリケーションは、データ標準化モデルを構築するために、モデル構成ステップの1つまたは複数、特に外部ソースコンサルテーションを最初に実行する。さらなる実施形態では、クラウドサーバアプリケーションは、定期的な時間間隔で、もしくはクラウドサーバアプリケーションがデータセットの閾値量を処理するたびに、またはその両方で、モデル構成ステップの1または複数、特に訓練を実行する。クラウドサーバアプリケーションは、機械学習データ標準化モデルの訓練に続いて、方法500の終了に進むことができる。
【0060】
要約すると、方法500に従って機械学習データ標準化モデルを構成することは、複数のそれぞれのデータオンボードシナリオの間に、複数のデータセットをサンプリングすることと、複数のサンプリングされたデータセットに基づいて、それぞれのデータ異常シナリオを特定することと、それぞれのデータ異常シナリオに対処するための既存のデータ異常修正技術を特定することと、それぞれのデータ異常シナリオに対する既存のデータ異常修正技術の適用可能性に基づいて、機械学習データ標準化モデルを訓練することと、を含む。
【0061】
図6は、方法400のステップ415の文脈で、機械学習データ標準化モデルをデータセット内の各分類されたデータポイントに適用する方法600を例示する。方法600は、ステップ605で始まり、クラウドサーバアプリケーションは、評価のためにデータセット内のデータポイントを選択する。ステップ610で、クラウドサーバアプリケーションは、ステップ605で選択されたデータポイントが有効な値であるかどうかを決定する。一実施形態では、クラウドサーバアプリケーションは、データポイントが複数のベースラインデータ統合ルールに適合するかどうかを決定することによって、データポイントが有効な値であるかどうかを決定する。ステップ605で選択されたデータポイントが有効な値であると決定することに応答して、データポイントに対してさらなる標準化処理は必要なく、したがって、クラウドサーバアプリケーションはステップ630に進む。データポイントが有効な値ではないと決定することに応答して、すなわち、データポイントが複数のベースラインデータ統合ルールに適合しないと決定することに応答して、ステップ615において、クラウドサーバアプリケーションは、データポイントが、データ標準化モデルに組み込まれた既存の標準化ルール、例えば、複数のデータ品質ルールに組み込まれたデータ標準化ルールの以前に受諾されたセットからのルール、もしくはモデル訓練の結果として外部ソースから適合されたルール、またはその両方によって対処される外れ値であるかどうかを決定する。データポイントが、データ標準化モデルに組み込まれた既存の標準化ルールによって対処される外れ値であると決定することに応答して、ステップ620において、クラウドサーバアプリケーションは、既存の標準化ルールを適用することによって外れ値を動的に修正する。既存の標準化ルールの適用に基づいて外れ値を動的に修正することによって、クラウドサーバアプリケーションは、さらなる分析および処理なしに標準化の問題を自動的に解決するためにモデルを利用し得る。ステップ620に続いて、クラウドサーバアプリケーションは、ステップ630に進む。
【0062】
データポイントが、データ標準化モデルに組み込まれた既存の標準化ルールによって対処されない外れ値であると決定することに応答して、ステップ625において、クラウドサーバアプリケーションは、データポイントを改善するための少なくとも1つの標準化修正を決定する。ステップ625に従ってデータポイントを改善するための少なくとも1つの標準化修正を決定することに関する方法は、
図7に関して説明される。クラウドサーバアプリケーションは、ステップ625に続いて、ステップ630に進む。ステップ630で、クラウドサーバアプリケーションは、評価するデータセットに別のデータポイントがあるかどうかを決定する。評価するデータセットに別のデータポイントがあると決定することに応答して、クラウドサーバアプリケーションは、ステップ605に戻る。評価するデータセットに別のデータポイントがないと決定することに応答して、クラウドサーバアプリケーションは、方法600の終了に進むことができる。
【0063】
要約すると、方法600に従ってデータセット内の各分類されたデータポイントに機械学習データ標準化モデルを適用することは、データポイントが、機械学習データ標準化モデルに組み込まれた既存の標準化ルールによって対処される外れ値であると決定することに応答して、既存の標準化ルールを適用することによって外れ値を動的に修正することを含む。さらに、方法600に従ってデータセット内の各分類されたデータポイントに機械学習データ標準化モデルを適用することは、データポイントが、任意の既存の標準化ルールによって対処されていない外れ値であると決定することに応答して、データポイントを改善するための少なくとも1つの標準化修正を決定することを含む。
【0064】
図7は、方法600のステップ625の文脈で、データセット内のデータポイントを改善するための少なくとも1つの標準化修正を決定する方法700を例示する。方法700は、ステップ705で始まり、クラウドサーバアプリケーションは、データポイントがヌル値であるかどうかを決定する。データポイントがヌル値でないと決定することに応答して、クラウドサーバアプリケーションはステップ715に進む。データポイントがヌル値であると決定することに応答して、ステップ710で、クラウドサーバアプリケーションは、ヌル値を含む第1のデータ列および少なくとも1つの相関データ列(すなわち、第1のデータ列に相関する少なくとも1つのデータ列)の間の関係に基づいて、または第1のデータ列内の相互に関連する値間の関係に基づいて、ヌル値の代替を決定する。一実施形態では、ヌル値が、1または複数の他のデータ列と相関する第1のデータ列にある場合、クラウドサーバアプリケーションは、任意選択で、ヌル値をデータ列相関と一致する値に置き換える。かかる実施形態によれば、クラウドサーバアプリケーションは、任意選択で、ヌル値を含む第1のデータ列と他のデータ列との間の相関関係を決定し、ヌル値を相関関係に基づいて特定される有効な値に置き換えるために、1または複数の他のデータ列内のそれぞれの値(例えば、ヌル値を含む第1のデータ列に隣接する、または関連するデータ列のそれぞれの値)を分析する。加えてまたは代替的に、クラウドサーバアプリケーションは、ヌル値を含む第1のデータ列と他のデータ列との間の相関関係を決定し、ヌル値を相関関係に基づいて特定される有効な値に置き換えるために、1または複数の他のデータ列行内のそれぞれの値(例えば、ヌル値の行に隣接する、または関連する行内のそれぞれの値)を任意選択で分析する。クラウドサーバアプリケーションは、任意選択で、かかる相関関係を決定するために、少なくとも1つのパターンマッチングアルゴリズムもしくは少なくとも1つのクラスタリングアルゴリズムまたはその両方を適用する。さらなる実施形態では、ヌル値が、データ列位置(例えば、データ列行)に基づいて相互に関連する値を有するデータ列にある場合、クラウドサーバアプリケーションは、任意選択で、ヌル値を、ヌル値のデータ列位置と一致する値に置き換える。
【0065】
一実施形態では、クラウドサーバアプリケーションは、複数のベースラインデータ統合ルールから導出された相関値情報もしくは相互に関連する値の情報またはその両方に基づいて、適応可能なルールおよびリポジトリまたはオントロジから取得した関係データから導出された相関値情報もしくは相互に関連する値の情報またはその両方に基づいて、もしくは、データ標準化モデルの適用を通じて機械学習によって取得された相関値情報もしくは相互に関連する値の情報またはその両方に基づいて、またはその組み合わせで、ステップ710によるヌル値の代替を決定する。さらなる実施形態において、クラウドサーバアプリケーションは、モデルを適用する文脈における標準化修正として、ヌル値の代替をログ、マーク、または記録する。かかるさらなる実施形態によれば、クラウドサーバアプリケーションは、標準化修正に基づいて、提案されたデータ標準化ルールのセットの少なくとも1つのルールを導出する。任意のかかる提案されたデータ標準化ルールは、任意選択で、データ標準化モデルの文脈において、複数のベースラインデータ統合ルール内またはより一般的には複数のデータ品質ルール内のデータ列相関ルールもしくは相互関連ルールまたはその両方を補足または修正する。ステップ710の実行時に、クラウドサーバアプリケーションは、方法700の終了に進むことができる。
【0066】
ステップ715において、クラウドサーバアプリケーションは、データポイントが頻出外れ値文字列値であるかどうかを決定する。クラウドサーバアプリケーションは、頻出外れ値文字列値を、予め定められたデータセット頻度閾値以上の出現率を有する外れ値文字列値として決定する。様々な実施形態の文脈において、クラウドサーバアプリケーションは、任意選択で、本明細書に記載の方法に従って処理されているデータセット内のかかる外れ値文字列値の発生に基づいて外れ値文字列値の発生率を測定し、あるいは代替的に、クラウドサーバアプリケーションは、処理中のデータセットを含んでいてもいなくてもよい指定複数のデータセット内もしくはサンプリングした複数のデータセット内またはその両方のかかる外れ値文字列値の発生に基づいて発生率を測定する。様々な実施形態の文脈では、文字列値は、テキストを表現するために使用されるデータ型である。かかる文字列値は、文字、数字、もしくは記号、またはその組み合わせのシーケンスを含むことができる。一実施形態では、かかる文字列値は、様々な実施形態の文脈では不定長の文字セットである可変文字フィールド(varchar)であってもよいし、さもなければそれを含んでもよい。特定のデータクラスは、文字列値を含むように定義されてもよいし、そうでなければ、例えば、非文字列値とは対照的に、文字列値と関連付けられてもよい。例えば、郵便番号データクラス値は、特定の量の文字(数字もしくは文字またはその両方)の文字列値を含むように定義されることがある。したがって、特定の実施形態では、文字列値は、データクラスタイプもしくはデータ列タイプまたはその両方に基づいて、非文字列値と区別される。データポイントが頻出外れ値文字列値ではないと決定することに応答して、クラウドサーバアプリケーションは、ステップ725に進む。データポイントが頻出外れ値文字列値であると決定することに応答して、ステップ720で、クラウドサーバアプリケーションは、頻出外れ値文字列値を有効な値として分類する。一実施形態では、クラウドサーバアプリケーションは、データ標準化モデルの文脈で、頻出外れ値文字列値を有効な値として保存、タグ付け、またはマークする。かかる実施形態によれば、クラウドサーバアプリケーションは、任意選択で、頻出外れ値文字列値を、モデルに関連する知識ベースに記憶する。さらなる実施形態において、クラウドサーバアプリケーションは、モデルを適用する文脈における標準化修正として頻出外れ値文字列値の検証をログ、マーク、または記録する。かかるさらなる実施形態によれば、クラウドサーバアプリケーションは、標準化修正に基づいて、提案されたデータ標準化ルールのセットの少なくとも1つのルールを導出する。頻出外れ値文字列値を検証することにより、クラウドサーバアプリケーションは、後続のモデル適用時に頻出外れ値文字列値に関する自動標準化を促進する。ステップ720の実行時に、クラウドサーバアプリケーションは、方法700の終了に進むことができる。
【0067】
ステップ725において、クラウドサーバアプリケーションは、データポイントが非頻出外れ値文字列値であるかどうかを決定する。クラウドサーバアプリケーションは、非頻出外れ値文字列値を、予め定められたデータセット頻度閾値未満の出現率を有する外れ値文字列値として特定する。データポイントが外れ値文字列値でないと決定することに応答して、クラウドサーバアプリケーションは、ステップ735に進む。データポイントが非頻出外れ値文字列値であると決定することに応答して、ステップ730において、クラウドサーバアプリケーションは、自動アプリケーションを介して非頻出外れ値文字列値を評価するためにデータクローリングアルゴリズムを適用する。関連する実施形態では、データクローリングアルゴリズムへの入力は、非頻出外れ値文字列値および関連データクラス名を含む。さらなる関連する実施形態では、データクローリングアルゴリズムは、ウェブページに体系的にアクセスするように設計されたウェブクローリングアルゴリズムである。様々な実施形態の文脈では、自動化アプリケーションは、ボットであってもよいし、そうでなければ、ボットを組み込んでもよい。加えてまたは代替的に、クラウドサーバアプリケーションは、ウェブページを超える他のソースにおけるデータを取得するために、ステップ730の文脈でデータスクレイピングアルゴリズムを適用する。ステップ730の実行時に、クラウドサーバアプリケーションは、方法700の終了に進むことができる。ステップ730に従って、非頻出外れ値文字列値を評価するために、データクローリングアルゴリズムを適用することに関する方法が、
図8を参照して説明される。
【0068】
ステップ735で、クラウドサーバアプリケーションは、データポイントが外れ値非文字列値であるかどうかを決定する。様々な実施形態の文脈では、非文字列値は、正規表現など、テキストを超える1または複数の態様を組み込んだデータ型を表す。正規表現は、検索パターンを定義する文字のシーケンスを含む。文字列値が一般に値の有限のリストを通じて定義されるのに対し、非文字列値は、パターン分析、例えば正規表現分析に基づいて評価される。特定の実施形態では、非文字列値は、データクラスタイプもしくはデータ列タイプまたはその両方に基づいて、文字列値と区別される。特定のデータクラスは、非文字列値を含むように定義されるか、または、例えば、文字列値とは対照的に、非文字列値と関連付けられる可能性がある。
【0069】
一実施形態において、クラウドサーバアプリケーションは、正規表現分析、すなわち検索パターン分析の結果、非文字列値が外れ値であると決定し、より具体的には、非文字列値が外れ値であることに基づいて1または複数の異常を決定する。クラウドサーバアプリケーションは、正規表現分析中に、1または複数の異常を形式違反として特定する。例えば、クラウドサーバアプリケーションは、社会保障番号データクラスの非文字列値の正規表現検証にはハイフンの定義されたパターンが必要であるため、ハイフンの欠落に基づいて、非文字列の社会保障番号データクラス値が外れ値であると決定することができる。別の例では、クラウドサーバアプリケーションは、ドメイン名内のピリオドが電子メールアドレスデータクラス内の非文字列値の正規表現検証に必要であるため、ピリオドの欠落に基づいて非文字列電子メールアドレスデータクラス値が外れ値であると決定することができる。かかる実施形態によれば、クラウドサーバアプリケーションは、複数のデータ品質ルール内に含まれる複数のベースラインデータ統合ルールの適用に少なくとも部分的に基づいて、外れ値非文字列値に関連する形式違反を特定する。複数のベースラインデータ統合ルールの適用に応答して、非文字列値の形式違反に関連するアラートが任意に自動的にトリガされる。さらなる実施形態では、クラウドサーバアプリケーションは、かかるデータポイント内の1または複数の文字列部分における1または複数の異常に基づいて、データポイントが外れ値非文字列値であると決定する。さらなる実施形態では、クラウドサーバアプリケーションは、データポイントが一意の値に関連するデータ列内の重複値であることに基づいて、データポイントが外れ値非文字列値であると決定する。例えば、クラウドサーバアプリケーションは、社会保障番号データ列内の少なくとも1つの他のデータポイントの重複値である非文字列の社会保障番号データクラス値を有するデータポイントを非文字列外れ値として特定することができる。
【0070】
データポイントが外れ値非文字列値であると決定することに応答して、ステップ740で、クラウドサーバアプリケーションは、外れ値非文字列値に対する改善策を決定する。ステップ740の実行時に、クラウドサーバアプリケーションは、方法700の終了に進むことができる。ステップ740に従って外れ値非文字列値のための改善を決定することに関する複数の方法が、
図9~
図11に関して説明される。データポイントが外れ値非文字列値ではないと決定することに応答して、任意選択でステップ745において、クラウドサーバアプリケーションは、クラウドソーシングもしくは外部リポジトリコンサルテーションまたはその両方を介してデータポイントのアイデンティティを調査し、その後、方法700の終了に進むことができる。一実施形態では、クラウドサーバアプリケーションは、データ専門家または主題専門家のパブリックフォーラムを参照することによって、クラウドソーシングを促進する。ステップ745の前にデータポイントを特定できないことは、データ品質の例外、例えば、定義が不十分な値によって引き起こされることを示す可能性がある。1または複数の代替実施形態によれば、クラウドサーバアプリケーションは、代替構成で方法700のステップを実行する。例えば、クラウドサーバアプリケーションは、ステップ705~710、ステップ715~720、ステップ725~730、およびステップ735~740を1または複数の代替シーケンスで実行することができる。
【0071】
要約すると、方法700に従ってデータポイントを改善するための少なくとも1つの標準化修正を決定することは、データポイントがヌル値であると決定することに応答して、ヌル値を含む第1のデータ列および少なくとも1つの相関データ列の間の関係に基づいて、または第1のデータ列内の相互に関連する値間の関係に基づいて、ヌル値の代替を決定することを含む。さらに、方法700に従ってデータポイントを改善するための少なくとも1つの標準化修正を決定することは、データポイントが予め定められたデータセット頻度閾値以上の出現率を有する頻出外れ値文字列値であると決定することに応答して、頻出外れ値文字列値を有効な値として分類することを含む。さらに、方法700に従ってデータポイントを改善するための少なくとも1つの標準化修正を決定することは、データポイントが予め定められたデータセット頻度閾値未満の出現率を有する非頻出外れ値文字列値であると決定することに応答して、自動アプリケーションを介して非頻出外れ値文字列値を評価するためにデータクローリングアルゴリズムを適用し、データクローリングアルゴリズムへの入力は非頻出外れ値文字列値および関連データクラス名を含む。さらに、方法700に従ってデータポイントを改善するための少なくとも1つの標準化修正を決定することは、データポイントが外れ値非文字列値であると決定することに応答して、外れ値非文字列値に対する改善策を決定することを含む。
【0072】
図8は、方法700のステップ730の文脈で、非頻出外れ値文字列値を評価するためにデータクローリングアルゴリズムを適用する方法800を示す。方法800はステップ805で始まり、クラウドサーバアプリケーションは、非頻出外れ値文字列値および関連データクラス名の両方に関連するデータポイントの閾値量が、データクローリングを通じて特定されたかどうかを決定する。非頻出外れ値文字列値および関連データクラス名の両方に関連するデータポイントの閾値量を特定することに失敗することに応答して、クラウドサーバアプリケーションは、ステップ815に進む。非頻出外れ値文字列値および関連データクラス名の両方に関連するデータポイントの閾値量を特定することに応答して、ステップ810において、クラウドサーバアプリケーションは、非頻出外れ値文字列値を有効な値として分類する。一実施形態では、クラウドサーバアプリケーションは、データ標準化モデルの文脈において、非頻出外れ値文字列値を有効な値として保存、タグ付け、またはマークする。かかる実施形態によれば、クラウドサーバアプリケーションは、任意選択で、モデルに関連する知識ベースに、有効な値として、非頻出外れ値文字列値を記憶する。さらなる実施形態において、クラウドサーバアプリケーションは、モデルを適用する文脈における標準化修正として、非頻出外れ値文字列値の検証をログ、マーク、または記録する。かかるさらなる実施形態によれば、クラウドサーバアプリケーションは、標準化修正に基づいて、提案されたデータ標準化ルールのセットの少なくとも1つのルールを導出する。非頻出外れ値文字列値を検証することによって、クラウドサーバアプリケーションは、後続のモデル適用時に、非頻出外れ値文字列値に関する自動標準化を促進する。ステップ810の実行時に、クラウドサーバアプリケーションは、方法800の終了に進むことができる。
【0073】
ステップ815において、クラウドサーバアプリケーションは、非頻出外れ値文字列値に対する事前に定義された文字列類似度を有する少なくとも1つの有効な文字列値がデータセット内に存在するかどうかを決定する。一実施形態では、クラウドサーバアプリケーションは、非頻出外れ値文字列値および有効な文字列値の間の文字列類似度の予め定められた程度を、非頻出外れ値文字列値および有効な文字列値が最大量の文字差異を有することに基づいて定義する。加えてまたは代替的に、クラウドサーバアプリケーションは、非頻出外れ値文字列値および有効な文字列値の間の予め定められた文字列類似度を、非頻出外れ値文字列値および最小量の共通文字を有する有効な文字列値に基づいて定義する。加えてまたは代替的に、クラウドサーバアプリケーションは、非頻出外れ値文字列値および有効な文字列値の間の予め定められた文字列類似度を、非頻出外れ値文字列値、およびそれぞれの文字列長の差が予め定められた閾値未満である有効な文字列値に基づいて定義する。非頻出外れ値文字列値に対して事前に定義された文字列類似度を有するデータセット内の少なくとも1つの有効な文字列値を特定することに失敗することに応答して、クラウドサーバアプリケーションはステップ825に進む。非頻出外れ値文字列値に対する事前定義された文字列類似度を有するデータセット内の少なくとも1つの有効な文字列値を特定することに応答して、ステップ820において、クラウドサーバアプリケーションは、有効な文字列値の選択に基づいて、非頻出外れ値文字列値に対する改善策を決定する。一実施形態において、有効な文字列値選択は、少なくとも1つの有効な文字列値の中から有効な文字列値を選択することと、非頻出外れ値文字列値および選択された有効な文字列値の間の任意の特定された文字の差に基づいて、非頻出外れ値文字列値に対する少なくとも1つの修正を決定することと、を含む。さらなる実施形態において、クラウドサーバアプリケーションは、モデルを適用する文脈において、標準化修正として、非頻出外れ値文字列値の少なくとも1つの修正をログ、マーク、または記録する。かかる実施形態によれば、クラウドサーバアプリケーションは、標準化修正に基づいて、提案されたデータ標準化ルールのセットの少なくとも1つのルールを導出する。
【0074】
ステップ820に従って少なくとも1つの有効な文字列値の中から有効な文字列値を選択することは、任意選択で、非頻出外れ値文字列値および少なくとも1つの有効な文字列値の各々の間の定量的類似度を評価することを含む。一実施形態では、クラウドサーバアプリケーションは、有効な文字列値および非頻出外れ値文字列値の間の評価された類似度に基づいて、少なくとも1つの有効な文字列値の各々について定量的類似度スコアを計算することによって定量的類似度を評価する。かかる実施形態によれば、クラウドサーバアプリケーションは、最も高い計算された定量的類似度スコアに基づいて、少なくとも1つの有効な文字列値の中から有効な文字列値を選択する。クラウドサーバアプリケーションは、任意選択で、1または複数の類似度評価因子に基づいて定量的類似度スコアを計算する。類似度評価因子は、任意選択で、非頻出外れ値文字列値および少なくとも1つの有効な文字列値の各々の間の編集距離を含む。様々な実施形態の文脈では、編集距離は、特定の有効な値に適合するように外れ値を修正するために必要な修正の量である。加えてまたは代替的に、類似度評価因子は、少なくとも1つの有効な文字列値の各々と比較された、非頻出外れ値文字列値のデータソースを含む。かかる文脈におけるデータソースは、任意選択で、発信元の場所もしくは著者の身元またはその両方を含む。加えてまたは代替的に、類似度評価因子は、少なくとも1つの有効な文字列値の各々と比較した、非頻出外れ値文字列値のデータ分類を含む。かかる文脈におけるデータ分類には、任意選択で、データクラス、データ型、主題、対象となる層、データ年齢、データ修正履歴、もしくは関連データフィールドの値、またはその組み合わせが含まれる。
【0075】
関連する実施形態では、相対的に高い重みを有する類似度評価因子が相対的に低い重みを有する類似度評価因子よりも計算された定量的類似度スコアに大きな影響を与えるように、1または複数の類似度評価因子が重み付けされる。同じ定量的類似度スコアを有する2つの有効な値(例えば、共通のソースからの、1文字の違いを有する同じデータクラス内の2つの自治体の値)を区別するために、クラウドサーバアプリケーションは、任意選択で、2つの有効な値の各々に対する関連データクラスのそれぞれの関連フィールド値(例えば、2つの自治体データクラス値の各々に対する郵便番号データクラス値)の評価に基づいて、2つの有効な値のうちの1つを選択する。クラウドサーバアプリケーションは、データ標準化モデルに関連するデータ標準化ルールセット、例えば、以前に受諾されたデータ標準化ルールセットによって決定されるように、関連するデータクラスもしくは関連するデータ列またはその両方に対して確立された1または複数の条件を満たす、またはより完全に遵守する関連フィールド値を有する2つの有効な値のうちのいずれかに基づいて、2つの有効な値のうちの1つを選択し得る。例えば、非頻出外れ値文字列自治体データクラス値「Middletonw」と有効な自治体データクラス値「Middleton」および「Middletown」が与えられた場合、クラウドサーバアプリケーションは、どの有効な値が、モデルに関連するデータ標準化ルールセットによって決定された、関連する郵便番号データクラスもしくは関連する郵便番号データ列またはその両方に対して確立した1または複数の条件を満たす、またはより完全に遵守する郵便コードを有するかに基づいて、2つの有効自治体データクラス値のうちの1つを選択すると良い。
【0076】
さらに関連する実施形態において、クラウドサーバアプリケーションは、重み付き決定木に基づくアルゴリズムを適用することによって、非頻出外れ値文字列値および少なくとも1つの有効な文字列値の各々の間の定量的類似度を評価する。クラウドサーバアプリケーションは、任意選択で、非頻出外れ値文字列値および少なくとも1つの有効な文字列値の各々の間のそれぞれの編集距離に基づいて、重み付け決定木のそれぞれの重み値を決定する。加えてまたは代替的に、クラウドサーバアプリケーションは、任意選択で、非頻出外れ値文字列値のデータ列に関連する(例えば、相関する、または関連する)データ列のそれぞれの値に基づいて、重み付け決定木のそれぞれの重み値を決定する。
【0077】
加えてまたは代替的に、ステップ820に従って少なくとも1つの有効な文字列値の中から有効な文字列値を選択することは、任意選択で、文字列値選択履歴に少なくとも部分的に基づく1または複数のヒューリスティックを適用することを含む。本実施形態および本明細書に記載される他の実施形態の文脈では、ヒューリスティックは、1または複数の予め定められたタイプの入力に基づく決定を提供する機械論理ベースのルールである。少なくとも1つの有効な文字列値の中から有効な文字列値を選択するという文脈における1または複数のヒューリスティックへの予め定められたタイプの入力は、非頻出外れ値文字列値に関連するデータクラスもしくはデータ列またはその両方の文脈における有効な文字列選択履歴、例えば、最も最近選択された有効な文字列または最も頻繁に選択された有効な文字列を含み得る。ステップ820の実行時に、クラウドサーバアプリケーションは、方法800の終了に進むことができる。
【0078】
ステップ825において、クラウドサーバアプリケーションは、非頻出外れ値文字列値をデータ品質例外としてマークし、非頻出外れ値文字列値に対する改善を決定するために、少なくとも1つのクラウドソーシング技術を適用する。一実施形態では、クラウドサーバアプリケーションは、データ専門家または主題専門家のパブリックフォーラムに1または複数の改善技術を照会することによって、改善を実施するための有効な文字列値を特定するために、クラウドソーシングを促進する。さらなる実施形態では、クラウドサーバアプリケーションは、モデルを適用する文脈における標準化修正として、非頻出外れ値文字列値の改善をログ、マーク、または記録する。かかる実施形態によれば、クラウドサーバアプリケーションは、標準化修正に基づいて、提案されたデータ標準化ルールのセットの少なくとも1つのルールを導出する。クラウドソーシングが有効な文字列値を特定できない場合、クラウドサーバアプリケーションは、任意選択で、非頻出外れ値文字列値をヌル値に置き換える。ステップ825の実行時に、クラウドサーバアプリケーションは、方法800の終了に進むことができる。
【0079】
要約すると、方法800に従って非頻出外れ値文字列値を評価するためにデータクローリングアルゴリズムを適用することは、非頻出外れ値文字列値および関連するデータクラス名の両方に関連するデータポイントの閾値量を特定することに応答して、非頻出外れ値文字列値を有効な値として分類することを含む。さらに、方法800に従って外れ値文字列値を評価するためにデータクローリングアルゴリズムを適用することは、外れ値文字列値および関連データクラス名の両方に関連するデータポイントの閾値量を特定することに失敗することに応答して、データセット内に、非頻出外れ値文字列値に対する事前に定義された文字列類似度を有する少なくとも1つの有効な文字列値が存在するかどうかを決定することを含む。かかる場合、方法800に従って非頻出外れ値文字列値を評価するためにデータクローリングアルゴリズムを適用することは、事前に定義された文字列類似度を有するデータセット内の少なくとも1つの有効な文字列値を特定することに応答して、少なくとも1つの有効な文字列値の中から有効な文字列値を選択することと、非頻出外れ値文字列値および選択された有効な文字列値の間の任意の特定された文字の差に基づいて、非頻出外れ値文字列値に対する少なくとも1つの修正を決定することとによって、非頻出外れ値文字列値の改善策を決定することをさらに含む。関連する実施形態では、少なくとも1つの有効な文字列値の中から有効な文字列値を選択することは、非頻出外れ値文字列値および少なくとも1つの有効な文字列値の各々の間の定量的類似性を評価することを含む。さらに関連する実施形態では、少なくとも1つの有効な文字列値の中から有効な文字列値を選択することは、文字列値選択履歴に少なくとも部分的に基づいて、1または複数のヒューリスティックを適用することを含む。さらに、方法800に従って非頻出外れ値文字列値を評価するためにデータクローリングアルゴリズムを適用することは、事前に定義された文字列類似度を有するデータセット内の少なくとも1つの有効な文字列値を特定することに失敗することに応答して、非頻出外れ値文字列値の改善策を決定するために少なくとも1つのクラウドソーシング技術を適用することをさらに含む。
【0080】
図9は、方法700のステップ740の文脈で、外れ値非文字列値に対する改善策を決定する方法900を示す。方法900は、クラウドサーバアプリケーションが外れ値非文字列値に関連する正規表現形式を特定するステップ905で始まる。一実施形態において、クラウドサーバアプリケーションは、外れ値非文字列値に割り当てられたデータクラスに基づいて、正規表現形式もしくは任意の事前定義された正規表現ルールまたはその両方を特定する。加えてまたは代替的に、クラウドサーバアプリケーションは、外れ値非文字列値内で特定された1または複数の文字、構文、もしくは記号パターン、またはその組み合わせに基づいて、正規表現形式もしくは任意の事前定義された正規表現ルールまたはその両方を特定する。ステップ910において、クラウドサーバアプリケーションは、正規表現形式に適合するように外れ値非文字列値に対する少なくとも1つの修正を決定する。一実施形態において、少なくとも1つの修正は、正規表現形式によって指示される任意の文字、構文、もしくは記号の不一致、またはその組み合わせを修正することを含む。様々な実施形態の文脈では、正規表現形式に関する外れ値非文字列値における構文の不一致は、記号に対する文字(文字もしくは数字またはその両方)の不適合な配置、不適合な文字順序、不適合な句読点、もしくは不適合なパターン、またはその組み合わせを含み得る。例えば、日付データクラスの外れ値非文字列値は、月、日付、もしくは年またはその組み合わせの表現に関して不適合なパターンを有する場合がある。正規表現形式に関する外れ値非文字列値における記号の不一致は、記号の省略もしくは不適合な記号の使用またはその両方(例えば、有効な非文字列値における対応する記号と類似しているが同一ではない、外れ値非文字列値における記号の使用)を含む場合がある。例えば、外れ値の非文字列値は、日付の態様の間にスラッシュを使用することがあるが、日付データクラス値の関連する正規表現形式は、スラッシュではなくハイフンの使用を要求することがある。このような例では、外れ値の非文字列値は日付を表すかもしれないが、それにもかかわらず、その値は、データ標準化モデルごとに要求される関連する正規表現形式に違反するかもしれないので、クラウドサーバアプリケーションは、かかる形式に適合させるために、ステップ910に従って値を修正することができる。さらなる実施形態において、クラウドサーバアプリケーションは、外れ値非文字列値の少なくとも1つの修正を、モデルを適用する文脈における標準化修正としてログ、マーク、または記録する。かかるさらなる実施形態によれば、クラウドサーバアプリケーションは、標準化修正に基づいて、提案されたデータ標準化ルールのセットの少なくとも1つのルールを導出する。
【0081】
まとめると、方法900に従って外れ値非文字列値の改善策を決定することは、外れ値非文字列値に関連する正規表現形式を特定することと、正規表現形式に適合するために、外れ値非文字列値に対する少なくとも1つの修正を決定することと、を含む。
【0082】
図10は、方法700のステップ740の文脈で、外れ値非文字列値に対する改善策を決定する方法1000を示す。クラウドサーバアプリケーションは、任意選択で、方法900のステップに加えて、または方法900のステップの代替として、方法1000のステップを実行する。方法1000は、ステップ1005で始まり、クラウドサーバアプリケーションは、外れ値非文字列値を少なくとも1つの文字列部分に構文解析する。クラウドサーバアプリケーションは、外れ値非文字列値を解析して、非文字列値内の任意の文字列部分を特定し、次に、特定された各文字列部分を解析して、その中の任意の形式違反を決定する。かかる文字列部分内の任意の形式違反を決定すると、クラウドサーバアプリケーションは、文字列部分を外れ値文字列部分としてマークする。ステップ1010において、少なくとも1つの文字列部分のうちの各外れ値文字列部分について、すなわち、少なくとも1つの異常を含む各文字列部分について、クラウドサーバアプリケーションは、2つのサブステップを実行する。サブステップ1010aにおいて、クラウドサーバアプリケーションは、外れ値文字列部分および少なくとも1つの有効な文字列値の各々の間の定量的類似度を評価することによって、少なくとも1つの有効な文字列値の中から有効な文字列値を選択する。一実施形態では、定量的類似度を評価するために、クラウドサーバアプリケーションは、ステップ820に関して以前に説明した技術に類似する少なくとも1つの技術、例えば、定量的類似度スコアの計算または加重決定木に基づくアルゴリズムの適用を行う。サブステップ1010bにおいて、クラウドサーバアプリケーションは、外れ値文字列部分およびサブステップ1010aで選択された有効な文字列値の間の任意の特定された文字の差に基づいて、外れ値文字列部分に対する少なくとも1つの修正を決定する。一実施形態において、クラウドサーバアプリケーションは、外れ値文字列部分の少なくとも1つの修正を、モデルを適用する文脈における標準化修正としてログ、マーク、または記録する。かかるさらなる実施形態によれば、クラウドサーバアプリケーションは、標準化修正に基づいて、提案されたデータ標準化ルールのセットの少なくとも1つのルールを導出する。
【0083】
まとめると、方法1000に従って外れ値非文字列値に対する改善策を決定することは、外れ値非文字列値を少なくとも1つの文字列部分に構文解析することと、少なくとも1つの文字列部分のうち、各外れ値文字列部分に対して、外れ値文字列部分および少なくとも1つの有効な文字列値の各々の間の定量的類似性を評価することによって、およびさらに外れ値文字列部分および選択された有効な文字列値との間の任意の特定された文字の差に基づいて、外れ値文字列部分に対する少なくとも1つの修正を決定することとによって、少なくとも1つの有効な文字列値の中から有効な文字列値を選択することと、を含む。
【0084】
図11は、方法700のステップ740の文脈で、外れ値非文字列値の改善策を決定する方法1100を示す図である。クラウドサーバアプリケーションは、任意選択で、方法900もしくは1000またはその両方のステップに加えて、またはその代替として、方法1100のステップを実行する。方法1100は、ステップ1105で開始し、クラウドサーバアプリケーションは、外れ値非文字列値が重複値であるかどうかを決定する。外れ値非文字列値が重複値でないと決定することに応答して、クラウドサーバアプリケーションは、方法1100の終了に進むことができる。外れ値非文字列値が重複値であると決定することに応答して、ステップ1110で、クラウドサーバアプリケーションは、重複値を含む第1のデータ列および少なくとも1つの相関データ列(すなわち、第1のデータ列に相関する少なくとも1つのデータ列)の間の関係に基づいて、重複値の代替を決定する。一実施形態では、重複値が、1または複数の他のデータ列と相関する第1のデータ列にある場合、クラウドサーバアプリケーションは、任意選択で、重複値を、データ列相関と一致する値に置き換える。かかる実施形態によれば、クラウドサーバアプリケーションは、任意選択で、重複値を含む第1のデータ列および他のデータ列の間の相関関係を決定し、相関関係に基づいて特定される有効な値で重複値を置き換えるために、1または複数の他のデータ列内のそれぞれの値(例えば、重複値を含む第1のデータ列に隣接する、または関連するデータ列のそれぞれの値)を分析する。例えば、社会保障番号データ列内の社会保障番号データクラス値の重複を決定すると、クラウドサーバアプリケーションは、1または複数の名前データクラス値に基づいて適切な社会保障番号データクラス値の代替を決定するために、相関するデータ列内の1または複数の名前データクラス値を分析することができる。加えてまたは代替的に、クラウドサーバアプリケーションは、重複値を含む第1のデータ列および他のデータ列の間の相関関係を決定し、相関関係に基づいて特定される有効な値で重複値を置換するために、1または複数の他のデータ列行内のそれぞれの値(例えば、重複値の行に隣接するかまたは関連する行内のそれぞれの値)を任意に分析する。クラウドサーバアプリケーションは、任意選択で、かかる相関関係を決定するために、少なくとも1つのパターンマッチングアルゴリズムもしくは少なくとも1つのクラスタリングアルゴリズムまたはその両方を適用する。さらなる実施形態において、クラウドサーバアプリケーションは、モデルを適用する文脈における標準化修正として、重複する値の代替をログ、マーク、または記録する。かかるさらなる実施形態によれば、クラウドサーバアプリケーションは、標準化修正に基づいて、提案されたデータ標準化ルールのセットの少なくとも1つのルールを導出する。かかる提案されたデータ標準化ルールは、任意選択で、データ標準化モデルの文脈において、複数のベースラインデータ統合ルール内またはより一般的には複数のデータ品質ルール内のデータ列相関ルールを補足または変更する。
【0085】
まとめると、方法1100に従って外れ値非文字列値の改善策を決定することは、外れ値非文字列値が重複値であると決定することに応答して、重複値を含む第1のデータ列および少なくとも1つの相関データ列の間の関係に基づいて、重複値の代替を決定することを含む。
【0086】
本発明の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であることを意図するものではなく、開示される実施形態に限定されることを意図するものでもない。説明した実施形態および同等の構成に対して行われたあらゆる種類の変更は、本発明の保護範囲内に含まれるものとする。それゆえ、本発明の範囲は、詳細な説明に関連して続く特許請求の範囲に従って最も広く説明されるべきであり、すべての可能性のある等価な変形および等価な配置をカバーするはずである。説明される実施形態の範囲から逸脱することなく、多くの修正および変更が可能であることは当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実際の適用または技術的改善を最もよく説明するため、または当業者が本明細書に記載の実施形態を理解できるようにするために選択された。
【国際調査報告】