JP2022550692A - ドメインインデックス制約リポジトリを用いた異常及びドリフトの検出 - Google Patents

ドメインインデックス制約リポジトリを用いた異常及びドリフトの検出 Download PDF

Info

Publication number
JP2022550692A
JP2022550692A JP2022517192A JP2022517192A JP2022550692A JP 2022550692 A JP2022550692 A JP 2022550692A JP 2022517192 A JP2022517192 A JP 2022517192A JP 2022517192 A JP2022517192 A JP 2022517192A JP 2022550692 A JP2022550692 A JP 2022550692A
Authority
JP
Japan
Prior art keywords
data
attribute
constraints
constraint
computer
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.)
Granted
Application number
JP2022517192A
Other languages
English (en)
Other versions
JP7461698B2 (ja
Inventor
ハンス、サンディープ
シャイク、サミウラ、ザキル、フサイン
アナンサナラヤナン、レマ
サハ、ディプティカリアン
アガルワル、アニヤ
シン、ガガンディープ
ロヒア、プラナイ、クマール
ビデ、マニシュ、アナンド
メタ、サミープ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2022550692A publication Critical patent/JP2022550692A/ja
Application granted granted Critical
Publication of JP7461698B2 publication Critical patent/JP7461698B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Complex Calculations (AREA)

Abstract

コンピュータ実施方法は、データのセットとデータのセットのドメインを示す情報とを得ることと、データのセットと情報とに基づいて、ドメインインデックス制約リポジトリから制約を得ることであって、ドメインインデックス制約リポジトリは、複数のノードを有するナレッジグラフを含み、各ノードは、複数のドメインの少なくとも1つに関連付けられた属性と、属性に対応する制約とを含む、得ることと、データのセットの部分が、取得された制約に違反しているかどうかに基づいて、データのセットにおける異常を検出することと、違反された制約に対応する属性を記述する、異常の各々に対応する説明を生成することと、異常の指標と、対応する説明とを出力することと、を含む。

Description

本出願は、一般に情報技術に関し、より具体的には、異常及びドリフトの検出に関する。
異常の検出は、データにおける不規則性を識別することに関連し、一般に、数値データ又は符号化データに適用される統計的手法又は機械学習ベースの手法に依拠する。典型的には、これらの手法は生データには適用できない。
異常の検出は、例えば、侵入検出、不正検出、故障検出、システムの健全性監視、センサネットワークにおけるイベント検出、生態系の乱れの検出など、様々な用途に用いられる。
本発明の1つの実施形態において、制約(constraint)リポジトリを用いた、多変量生データのための、ドメインアウェア(domain aware)の、説明可能(explainable)な、異常及びドリフト検出のための技術が提供される。例示的なコンピュータ実施方法は、(i)データのセットと(ii)データのセットのドメインを示す情報とを得るステップと;ドメインインデックス制約リポジトリに少なくとも部分的に基づいて、データのセットにおける1つ又は複数の異常を検出するステップであって、ドメインインデックス制約リポジトリは、複数のノードを有するナレッジグラフを含み、各ノードは、(i)複数のドメインの少なくとも1つに関連付けられた属性と、(ii)属性に対応する1つ又は複数の制約とを含む、検出するステップと;1つ又は複数の異常の各々に対応する説明を生成するステップと;(i)1つ又は複数の異常の指標と(ii)対応する自然言語の説明とを出力するステップと、を含む。
別の例示的なコンピュータ実施方法は、トレーニングデータを含むデータファイルのセットを得るステップであって、セット内の各データファイルが複数のドメインの1つに対応する、ステップと;セット内の所与の各データファイルについて、(i)所与のデータファイルのトレーニングデータの少なくとも一部から、少なくとも1つの制約を推論するステップと、(ii)少なくとも1つの推論された制約を、ドメインインデックス制約リポジトリのノードに格納するステップであって、ノードは、所与のデータファイルに対応するドメインを表し、ドメインインデックス制約リポジトリは、複数のドメインの階層的関係を定義するノードのセットを含む、格納するステップと;複数のドメインの階層的関係に基づいて、ドメインインデックス制約リポジトリに格納された推論された制約を集約するステップと;新たなデータファイルのドメインに基づいて、1つ又は複数の制約をドメインインデックス制約リポジトリから取得するステップと;新たなデータファイルの1つ又は複数の部分が、取得された1つ又は複数の制約に違反しているかどうかに基づいて、新たなデータファイルの1つ又は複数の異常を検出するステップと;(i)1つ又は複数の異常の指標と、(ii)新たなデータファイルの上記部分が、取得された1つ又は複数の制約にどのように違反しているかを記述する自然言語の説明とを出力するステップと、を含む。
本発明の別の実施形態又はその要素は、実施されたときに本明細書に記載される複数の方法ステップをコンピュータに行わせるコンピュータ可読命令を有形的に具体化するコンピュータ・プログラム製品の形態で実施することができる。さらに、本発明の別の実施形態又はその要素は、メモリと、メモリに動作可能に結合され、記載の方法ステップを実行するように構成された少なくとも1つのプロセッサとを含むシステムの形態で実施することができる。さらにまた、本発明の別の実施形態又はその要素は、本明細書に記載される方法ステップを実行するための手段、又はその要素の形態で実施することができ、この手段は、ハードウェアモジュール又はハードウェアモジュールとソフトウェアモジュールとの組み合わせを含むことができ、ソフトウェアモジュールは、1つ又は複数の有形コンピュータ可読ストレージ媒体に格納される。
本発明のこれらの及び他の目的、特徴、及び利点は、添付の図面と関連して読まれる、その例示的な実施形態の以下の詳細な説明から明らかになるであろう。
本発明の例示的な実施形態によるシステムアーキテクチャを示す図である。 本発明の例示的な実施形態による別のシステムアーキテクチャを示す図である。 例示的な実施形態による制約リポジトリを生成するためのプロセスフロー図である。 例示的な実施形態による制約リポジトリのサブツリーの一例を示す図である。 例示的な実施形態による制約を推論するプロセスのフロー図である。 本発明の一実施形態による技術を示すフロー図である。 本発明の少なくとも1つの実施形態を実装することができる例示的なコンピュータ・システムのシステム図である 本発明の一実施形態によるクラウド・コンピューティング環境を示す。 本発明の一実施形態による抽象化モデル層を示す。
既存の異常及びドリフト検出技術は、異常が例えば期待値の領域から離れて検出された場合の説明、及び実際の値からの距離を提供しない。期待値がどのように計算されるのかについての直感的な説明もない。また、既存の技術は、入力データを変換すること又は符号化することを必要とする、もしくはユーザのドメインを考慮しない、又はその両方の傾向がある。
異常及びドリフト検出の多くの使用事例では、検出された異常と共に直感的な自然言語の説明を提供することが有益であろう。さらに、既存の異常及びドリフト検出技術は、異常の検出について時系列データセットに焦点を合わせているため、異常な外れ値(outlier)、もしくは非時間的データセットのドリフト・データポイント、又はその両方を考慮していない。
本明細書で説明するように、本発明の一実施形態は、説明可能な、データセットの異常検出を提供することを含む。例えば、ユーザのコンテキスト(又はドメイン)に関連した異常を自動的に検出し、さらにこれらの検出された異常に関する説明を提供する、スマートデータエンジニアリング・プラットフォームを提供することができる。また、少なくとも1つの実施形態によれば、ベースデータセットを基準として新規データ又は既存データの品質が計算される。計算された品質は、その後、例えば様々なデータソースからのデータインポートを検証するために用いることができる。1つ又は複数の例示的な実施形態では、機械学習モデルのためのライブペイロードデータに対して自動ドリフト検出が適用される。
ここで図1を参照すると、この図は、本発明の例示的な実施形態によるシステムアーキテクチャの一例を示す。図1に示す例は、例えば、機械学習モデルのためのライブペイロードデータにおける自動ドリフト検出に適用可能である。図1に描かれたシステムアーキテクチャは、制約リポジトリ104とドリフト分析モジュール108とを含む。幾つかの例では、制約リポジトリ104は、複数のドメインに対応するナレッジグラフ(KG)を含み、KGの各ノードに1つ又は複数の制約を割り当てることができる。1つ又は複数の制約は、例えば、トレーニングデータ102に基づいて学習することができる。
ドリフト分析モジュール108は、異常検出モジュール110とクラスタリングモジュール112とを含む。ペイロードデータ114(例えば、デプロイされた機械学習モデルに供給されるライブ、又はリアルタイムの、ペイロードデータ)、並びにペイロードデータ114に関係する制約106が、異常検出モジュール110に提供される。異常検出モジュール110は、制約106をペイロードデータ114に適用して1つ又は複数の異常を検出し、これらの異常は次いで、クラスタリングモジュール112によってクラスタリングされる。クラスタリングに基づいて、クラスタ化モジュール112は、データのドリフト・セグメントを求める。さらに、ドリフト分析モジュール108は、ドリフト・セグメントがどのように計算されたかについての説明を生成する。ドリフト分析モジュール108は次いで、ドリフト・セグメント及び対応する説明116を、例えば、ユーザに出力する。例えば、ドリフト分析モジュール108は、検出された異常をクラスタリングして複数のクラスタとし、所定のクラスタのサイズが閾値よりも大きい場合、それをドリフトと名付けることができる。クラスタリングは、異常のタイプとそのパラメータ、例えば期待値からの距離などに基づいて行うことができる。
ここで図2を参照すると、この図は、本発明の例示的な実施形態によるシステムアーキテクチャの別の例を示す。図2に示す例は、例えば、データ品質に基づいて異常を検出することに適用可能である。図2に描かれるシステムアーキテクチャは、制約リポジトリ204と、品質分析モジュール210とを含む。制約リポジトリ204は、例えば、複数のドメインに対応するKGを含むことができ、KG内の各ノードには、例えばベースデータセット202に基づいて、1つ又は複数の制約が割り当てられる。
品質分析モジュール210は、制約リポジトリ204からの制約206を用いて、ベースデータセット202に対する新規データ214(例えば、データベースにインポートされるデータ)の品質を計算する。品質分析モジュール210は、異常216を自動的に検出し、新規データ214の計算された品質に基づいて説明218(例えば、自然言語による説明)を生成し、次にこれを、例えばユーザに出力することができる。少なくとも1つの実施形態では、異常216及び説明218を用いて、新規データ214を自動的に検証又は確認することができる。
ここで図3を参照すると、この図は、例示的な実施形態による制約リポジトリ310のKGをポピュレートするためのプロセスフロー図である。制約リポジトリ310は、ドメイン構造を有するKGを含む。より具体的には、ドメイン構造は、ドメイン階層のセマンティクスに従って基礎をなすデータを整列させる又はグループ化するドメイン階層を含む。例えば、一群のドメインが、親ドメイン下でカバーされる(例えば、「企業」という親ドメインが、IT企業、銀行などをカバーする)。
ステップ304において、1つ又は複数のデータセット302(例えば、データファイルなど)から、一連の制約が推論される。制約のセットは、データタイプ(例えば、テキスト、数値など)又は属性タイプ(例えば、誕生日、給与、PINコードなど)に基づくものとすることができる推論規則を用いて推論することができる。プロセスはステップ306に続き、ドメインベースの制約マージプロセスが実行される。ドメインベースの制約マージプロセスは、特定のドメイン下のデータセット302の異なるものから制約の統計量を求めることと、例えばデータタイプ又は属性タイプに基づくマージ規則に従って制約をマージすることとを含むことができる。幾つかの例示的な実施形態では、マージオペレーションは、要求ごとに、例えば、特定のドメインにおける特定の属性に関する特定の制約の要求を含むユーザ入力312をユーザが提供したときなどに、実行することができる。ステップ308は、制約リポジトリ310内のKGのノードに対して制約をインデックスする、ドメインベースの制約インデクシングを実行することを含む。したがって、特定のドメイン及び階層の下にあるドメインの全体論的(holistic)制約情報を含む制約を取得することができる。
1つ又は複数の例示的な実施形態によれば、KGは、以下のタイプの頂点(vertex)を用いて、コンテンツリポジトリ(例えば、コンテンツリポジトリ310)に格納される。
・ドメイン頂点(DV)。各ドメイン頂点は、特定のドメイン(例:IT企業、銀行など)を表す。
・ファイル情報頂点(FIV):各データセット(又はファイル)は、一意の識別子(例えば、FileID)によって表され、各FIVは、各ファイル(FileIDによってインデックスされる)に関するノードを表す。FIVは、行数、列数などのファイルレベルのメタデータ情報を含む。
・ファイルレベル制約頂点(FLCV)。所与のファイルの各属性は、単一属性制約又は複数属性制約に関わるものとすることができる。各制約は、KG内の個別のFLCVを表す。FLCV特性は、制約情報統計量を含む。
・ドメインレベル制約頂点(DLCV)。各DLCVは、所与のドメインにおける特定の制約の集約された統計量を含む。集約は、所与のドメインのサブドメイン階層内にあるファイルからのすべての情報を含む。DLVCは、所与のドメインにおいて要求ごとに生成される。DLCVは、制約統計量が更新されているかどうかを示す「update」フラグを維持することができる。
さらに、KGは以下のタイプのエッジ関係を含むことができる。
・subdomain:直近の階層ドメイン間の関係を定義する(例:ドメイン頂点「IT企業」は「企業」のサブドメイン)。
・attachedTo:FIVとDVとの間の関係を定義する。
・fileConstaintsOf:FIVとFLCVとの間の関係を定義する。
・domainConstrainOf:DLCVとDVとの間の関係を定義する。
入力としてデータファイル及びドメインが与えられると、制約をデータファイルから推測することによって、制約をナレッジグラフに追加することができる(例えば、データファイルの「年齢」列に対する制約は、例えば、最小値、最大値、中央値などの統計量を推測することを含むことができる)。次に、データセットに対してFIVが作成され、FIV頂点にリンクする各制約に対してFLCVが作成される。FIV頂点は、対応するDV(例えば、入力ドメインに基づく)にリンクされる。FIVの各FLCVに対して、DVにDLCV頂点があるかどうかをチェックするテストが行われる。更新されたフラグがTrueに設定されている場合、フラグの値はFalseに変更され、このプロセスが親DVごとに繰り返される。更新されたフラグがFalseに設定されている場合は、制約が追加される。
KGに格納された制約は、以下のプロセスに基づいて、制約属性及びドメインを入力として提供することによって取得することができる。DLCV処理が実行され、この処理は、入力ドメインに関するDVにおいて入力された制約属性に関してDLCVが存在するかどうかをチェックするテストを行うことを含む。DLCVが存在し、更新フラグがTrueに設定されている場合には、頂点情報統計量が返される。そうでない場合は、FLCV処理が実行され、これは、入力ドメインに対応するDIVにリンクされた各FIVについて、入力制約属性に関して各FLCVをチェックし、リスト内のすべてのFLCVの情報を照合することによって、FLCVの第1のリストを作成することを含む。次に、サブドメイン処理が実行され、この処理は、入力ドメインのサブドメインに関するDIVの第2のリストを生成し、第2のリスト内のすべてのDIVについて制約アクセスフローをコールすることを含む。情報は、第2のリストの各コールに対して照合される。
第1のリストの情報と第2のリストの情報は、マージ規則(例えば、データタイプ又は属性に固有)を用いてマージされる。マージされた情報は、入力ドメインに対応するDLCV頂点に格納され、更新フラグがTrueに設定される。次いで、プロセスはマージされた情報を返す。
ここで図4を参照すると、この図は、例示的な実施形態による制約リポジトリのサブツリー400の一例を示す。例えば、サブツリー400は、制約リポジトリのKGの一部とすることができる。サブツリー400は、402-1から402-5までの多数のレベル(まとめてレベル402と呼ぶ)を含む。レベル402-1の根ノードは、サブツリー400が「機関」を表すことを示す。連続する各レベル402は、前のノードに比べてレベルの抽象度が高まっている。例えば、レベル402-2は、「企業」ノードを含み、レベル402-3は、企業のタイプ(すなわちIT企業及び銀行)に対応するノードを含む。
1つ又は複数の例示的な実施形態によれば、データセットは、制約リポジトリ内のKGのノードにマッピングすることができる。適切なKGノードが見つからない場合は、最も具体的な抽象ノードの下に新しいノードが作成される。例えば、図4を再度参照すると、新規データセット(例えば、データファイル又はドキュメント)が「企業D」という名称のIT企業の情報を含む場合、そのような企業のための既存のノードが存在しないので、「IT企業」ノードの下にD社のための新しいノードが作成される。制約は、各々の新規データセットから(例えば、トレーニングデータセットのセットから、又は新規データセットに基づいて)学習される。次いで、制約は、制約リポジトリのそれぞれのノードに追加される。中間ノードにわたる制約は、すべてのサブツリーにわたる制約を集約することによって求めることができる。
少なくとも1つの例示的な実施形態によれば、新規データセット(又はドキュメント)は、制約リポジトリに対して検証される。例えば、新規データセットは、制約リポジトリ内の最も具体的な可能性のあるノードにマッピングされる。図4を参照し、新規データセットが「企業E」という名称のIT企業の情報を含むと仮定する。サブツリー400内に「企業E」は存在しないので、データセットは代わりに「IT企業」ノードにマッピングされる。次いで、マッピングされたノードの制約を用いて、テストデータセットのレコードに異常がないかどうかを検証する。
幾つかの例示的な実施形態では、制約リポジトリは、制約が属性に関連付けられるドメイングラフ(例えば、JanusGraph(登録商標)を使用)を格納する。これにより、例えば、所与のドメインの属性を検索し、属性の制約を取得し、ドメイン及び制約に対してCRUD(Copy:コピー、Read:読み出し、Update:更新、Delete:削除)オペレーションを行うことができる。
さらに、制約リポジトリ内の制約は、データセット間及び異なるドメイン間でマージすることができる。例えば、サブ範囲(例えば、29-30、31-34、35-39、及び40-42)に関連付けられた重みを有する28<年齢<42の年齢制約をマージして、制約リポジトリ内のそれぞれの「年齢」ノードに対して、例えば、29<年齢<34及び34<年齢<42の制約を形成することができる。
図5は、例示的な実施形態による、データセットから制約を推論するためのフロー図500である。この例では、制約502は、単一属性制約504と多属性制約506とに分けられる。単一属性制約504は、3つの異なるタイプ508、すなわち、テキストタイプ510、数値タイプ512、及びカテゴリタイプ514を含み、これらは、例えば、属性に対応するデータの一意性に基づいて識別することができる。
テキストタイプ510は、パターン化されていない(un-patterned)場合516があり(例えば、ドキュメント内のコメント、名前など)、その場合は、例えば、トライ木においてテキストのユニグラム及びバイグラムの頻度を管理することによって異常を検出することができる。パターン化されたタイプ518(例えば、電話番号、日付、社会保障番号など)については、例えば、テキストが正規表現に従っているかどうかに基づいて、異常を検出することができる。数値タイプ512の属性については、例えば、分布又は範囲(最小、最大)などの統計特性に基づいて異常を検出することができる。カテゴリタイプ514は、テキスト520(例えば、性別)又は数値522(例えば、国名、四半期番号など)の形式の場合があり、確率値に基づいて異常を検出することができる。例として、カテゴリタイプ514を有するデータセット内のレコードについてP(値)<10-4であるならば、そのレコードは異常であると検出される。
多属性506制約は、単一属性の組み合わせを含む。例えば、図5に示す例では、多属性506制約の異なるタイプは、数値-数値524(例えば、年齢-給与)、カテゴリ-数値526(例えば、婚姻状況、年齢)、カテゴリ-カテゴリ528(例えば、国、州)、及びカテゴリ-テキスト530(例えば、名前、性別)を含む。
多属性506制約を用いて異常を検出する方式の幾つかの非限定的な例は以下の通りである。
・数値-カテゴリ:発見された数値属性の各範囲について、カテゴリ属性に対するp(値)<10-4であれば、異常が検出される。
・数値-数値:発見された独立数値属性の各範囲について、ある信頼度の値(confidence value)で線形関数、多項式関数又は指数関数が学習され、従属数値属性の値が、学習された関数から、信頼度(confidence)によって決定されたマージンを超えて離れている場合、それは異常であると検出される。
・カテゴリ-カテゴリ:閾値より低い信頼度(x->y)を有するカテゴリ属性の対は、異常であるとフラグが立てられる。
・カテゴリ-数値:カテゴリ属性の値ごとに数値属性の別個の分布が学習され、分布から外れたサンプルは異常として検出される。
例として、婚姻状況属性と年齢属性とを有するベースデータセットから、以下の制約が推測されると仮定する。
・信頼度(0<年齢<=18)=100%
・信頼度(100>年齢>18)=exp(-x/50-18)
この制約をターゲットデータセットに適用することで、ターゲットデータセット内のレコードの信頼度の値を求めることができる。例えば、「独身、5」というレコードは信頼度レベル100%を与え、他方、「既婚、14」というレコードは信頼度レベル0%を与えるであろう。これらの例はどちらも異常であると検出することができ、1つ又は複数の例示的な実施形態により、これらのレコードが異常であるとマーク付けされた理由を詳細に説明する説明を生成することができる。レコードが更新/挿入された場合にも、異常を検出することができる。例えば、ベースデータセットに追加された「独身、140」というレコードも、信頼度の値が0%であるため、異常であると検出することができる。
図6は、本発明の一実施形態による技術を示すフロー図である。ステップ600は、(i)データのセットと(ii)データのセットのドメインを示す情報とを得ることを含む。ステップ602は、(i)データのセットと(ii)情報とに少なくとも部分的に基づいて、ドメインインデックス制約リポジトリから1つ又は複数の制約を得ることを含み、ドメインインデックス制約リポジトリは、複数のノードを有するナレッジグラフを含み、各ノードは、(i)複数のドメインの少なくとも1つに関連付けられた属性と、(ii)属性に対応する1つ又は複数の制約とを含む。ステップ604は、データのセットの1つ又は複数の部分が、得られた1つ又は複数の制約に違反しているかどうかに少なくとも部分的に基づいて、データのセットにおける1つ又は複数の異常を検出することを含む。ステップ606は、違反された1つ又は複数の制約に対応する属性を記述する、1つ又は複数の異常の各々に対応する説明を生成することを含む。ステップ608は、(i)1つ又は複数の異常の指標と(ii)対応する説明とを出力することを含む。
ナレッジグラフの1つ又は複数のサブツリーの各々は、複数のドメインのうちの所与の1つに対応するものとすることができ、サブツリーの所与の1つの各レベルは、所与のサブツリーの前のレベルに対して、所与のドメインの抽象化レベルを高めることができる。検出することは、データセットのドメインを示す情報に基づいて、データのセットを複数のノードの1つ又は複数にマッピングすることと、マッピングされたノードの制約をデータのセットに適用して、1つ又は複数の異常を検出することとを含むことができる。1つ又は複数の制約は、単一属性制約及び多属性制約のうちの少なくとも1つを含むことができる。単一属性制約は、(i)テキスト属性、(ii)数値属性、及び(iii)カテゴリ属性のうちの1つに対応することができ、多属性制約は(i)テキスト属性、(ii)数値属性、及び(iii)カテゴリ属性のうちの2以上に対応する。各制約は、(i)単一属性制約のタイプ及び(ii)多属性制約のタイプのうちの1つ又は複数に基づくモデルを含むことができ、検出することは、このモデルをデータのセットの少なくとも一部に適用することを含む。データのセットは、少なくとも1つの機械学習モデルのリアルタイムデータを含むことができ、図6のプロセスは、機械学習クラスタリング技術を用いてリアルタイムデータの1つ又は複数のセグメントにおけるドリフトを検出することと、ドリフトに対応するリアルタイムデータのセグメントを出力することと、を含むことができる。1つ又は複数の異常のそれぞれに対応する説明を生成することは、ドリフトに対応するリアルタイムデータのセグメントの各々に対して説明を生成して出力することを含むことができる。1つ又は複数の異常の各々に対応する説明は、上記部分が、取得された1つ又は複数の制約にどのように違反しているかを記述する自然言語の説明を含むことができる。検出することは、データのセットとベースラインのデータのセットとの比較に基づいて、データのセットの品質を示す値を求めることを含むことができる。任意に、図6に示されるプロセスは、データのセットの品質を示す値が閾値を満たすことに応答して、データのセットを検証することを含むことができる。データのセットは、符号化も変換もされていない生データを含むことができる。
別の例示的な実施形態は、トレーニングデータを含むデータファイルのセットを得ることであって、セット内の各データファイルが複数のドメインの1つに対応する、データファイルのセットを得ることと;セット内の所与の各データファイルについて、(i)所与のデータファイルのトレーニングデータの少なくとも一部から、少なくとも1つの制約を推論することと、(ii)少なくとも1つの推論された制約を、ドメインインデックス制約リポジトリのノードに格納することであって、ノードは、所与のデータファイルに対応するドメインを表し、ドメインインデックス制約リポジトリは、複数のドメインの階層的関係を定義するノードのセットを含む、格納することと;複数のドメインの階層的関係に基づいて、ドメインインデックス制約リポジトリに格納された推論された制約を集約することと;新たなデータファイルのドメインに基づいて、1つ又は複数の制約をドメインインデックス制約リポジトリから取得することと;新たなデータファイルの1つ又は複数の部分が、取得された1つ又は複数の制約に違反しているかどうかに基づいて、新たなデータファイルの1つ又は複数の異常を検出することと;(i)1つ又は複数の異常の指標と、(ii)新たなデータファイルの上記部分が、取得された1つ又は複数の制約にどのように違反しているかを記述する自然言語の説明とを出力することと、を含む、方法を含む。
図6に描かれる技術は、本明細書に記載されているように、システムを提供することを含むこともでき、システムは、別個のソフトウェアモジュールを含み、別個のソフトウェアモジュールの各々は、有形コンピュータ可読記録可能ストレージ媒体上に具体化される。モジュールのすべて(又はその任意のサブセット)は、例えば、同じ媒体上にあってもよく、又は各々が異なる媒体上にあってもよい。モジュールは、図に示されたもしくは本明細書に記載された又はその両方のコンポーネントのいずれか又はすべてを含むことができる。本発明の一実施形態では、モジュールは、例えば、ハードウェアプロセッサ上で実行することができる。そして、方法ステップは、ハードウェアプロセッサ上で実行される上述したようなシステムの別個のソフトウェアモジュールを用いて行うことができる。さらに、コンピュータ・プログラム製品は、別個のソフトウェアモジュールを有するシステムの提供を含む、本明細書に記載された少なくとも1つの方法ステップを行うために実行されるように適合されたコードを有する有形コンピュータ可読ストレージ媒体を含むことができる。
さらに、図6に描かれた技術は、データ処理システム内のコンピュータ可読ストレージ媒体に格納されるコンピュータ使用可能プログラムコードを含むことができるコンピュータ・プログラム製品を介して実施することができ、ここでコンピュータ使用可能プログラムコードは、リモートデータ処理システムからネットワーク上でダウンロードされたものである。また、本発明の一実施形態では、コンピュータ・プログラム製品は、サーバデータ処理システム内のコンピュータ可読ストレージ媒体に格納されるコンピュータ使用可能プログラムコードを含むことができ、ここでコンピュータ使用可能プログラムコードは、リモートシステムでコンピュータ可読ストレージ媒体において用いるためにネットワーク上でそのリモートデータ処理システムにダウンロードされる。
本発明の一実施形態又はその要素は、メモリと、メモリに結合され、例示的な方法ステップを実行するように構成された少なくとも1つのプロセッサとを含む装置の形態で実施することができる。
さらに、本発明の実施形態では、コンピュータ又はワークステーション上で動作するソフトウェアを利用することができる。図7を参照すると、このような実装は、例えば、プロセッサ702と、メモリ704と、例えば、ディスプレイ706及びキーボード708によって形成される入力/出力インターフェースとを使用することができる。ここで使用される「プロセッサ」という用語は、例えば、CPU(中央処理ユニット)もしくは他の形態の処理回路又はその両方を含む、あらゆる処理装置を含むことを意図している。さらに、「プロセッサ」という用語は、2以上の個別のプロセッサを指すことができる。「メモリ」という用語は、プロセッサ又はCPUに関連付けられた、例えば、RAM(ランダムアクセスメモリ)、ROM(読み出し専用メモリ)、固定メモリデバイス(例えば、ハードドライブ)、取り外し可能メモリデバイス(例えば、ディスケット)、フラッシュメモリなどのメモリを含むことを意図している。また、本明細書で用いる「入力/出力インターフェース」という表現は、例えば、処理ユニットにデータを入力するための機構(例えば、マウス)、及び処理ユニットに関連付けられた結果を提供するための機構(例えば、プリンタ)を含むことを意図している。プロセッサ702と、メモリ704と、ディスプレイ706及びキーボード708などの入力/出力インターフェースとは、データ処理ユニット712の一部として、例えばバス710を介して相互接続することができる。また、適切な相互接続を、例えばバス710を介して、コンピュータネットワークとインターフェースするために設けることができるネットワークカードなどのネットワークインターフェース714に対して、及び、媒体718とインターフェースするために設けることができるディスケット又はCD-ROMドライブなどの媒体インターフェース716に対して、提供することができる。
したがって、本明細書に記載された本発明の方法論を実行するための命令又はコードを含むコンピュータソフトウェアは、関連付けられたメモリデバイス(例えば、ROM、固定又はリムーバブルメモリ)に格納され、使用する準備ができたときに、一部又は全部が(例えば、RAMに)ロードされ、CPUによって実施されてもよい。このようなソフトウェアには、ファームウェア、常駐ソフトウェア、マイクロコードなどが含まれるが、これらに限定されるものではない。
プログラムコードを格納もしくは実行する又は格納及び実行するのに適したデータ処理システムは、システムバス710を通してメモリ要素704に直接又は間接的に結合された少なくとも1つのプロセッサ702を含む。メモリ要素は、プログラムコードの実際の実施中に使用されるローカルメモリと、バルクストレージと、実施中にバルクストレージからコードを取得しなければならない回数を減らすために少なくとも幾つかのプログラムコードの一時的なストレージを提供するキャッシュメモリとを含むことができる。
入力/出力又はI/Oデバイス(キーボード708、ディスプレイ706、ポインティングデバイスなどを含むが、これらに限定されない)は、直接(例えばバス710を介して)又は介在するI/Oコントローラ(見やすくするために省略)を介してシステムに結合することができる。
ネットワークインターフェース714などのネットワークアダプタをシステムに接続することで、介在するプライベート・ネットワーク又はパブリック・ネットワークを通してデータ処理システムを他のデータ処理システム又はリモート・プリンタ又はストレージデバイスに結合することもできる。モデム、ケーブルモデム、及びイーサネットカードは、現在利用可能なネットワークアダプタのタイプの一例に過ぎない。
特許請求の範囲を含む本明細書で用いられる「サーバ」は、サーバプログラムを実行する物理的なデータ処理システム(例えば、図7に示すようなシステム712)を含む。このような物理的なサーバは、ディスプレイ及びキーボードを含む場合もあり含まない場合もあることが理解されるであろう。
本発明は、集積のあらゆる可能な技術的詳細レベルにおける、システム、方法、もしくはコンピュータ・プログラム製品又はそれらの組み合わせとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の実施形態を実行させるためのコンピュータ可読プログラム命令をその上に有する1つ又は複数のコンピュータ可読ストレージ媒体を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁気ストレージデバイス、半導体ストレージデバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラム可能読出し専用メモリ(EPROM又はフラッシュメモリ)、スタティック・ランダムアクセスメモリ(SRAM)、ポータブル・コンパクト・ディスク読出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカードもしくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスにダウンロードすることもでき、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは無線ネットワーク又はその組み合わせなどのネットワークを介して外部コンピュータ又は外部ストレージデバイスにダウンロードすることもできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジサーバ又はその組み合わせを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体内に格納するために転送する。
本発明のオペレーションを行うためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語又は類似のプログラミング言語などの手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述されたソース・コード又はオブジェクト・コードのいずれかとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部がリモートコンピュータ上で実行される場合もあり、又は完全にリモートコンピュータもしくはサーバ上で実行される場合もある。後者のシナリオにおいて、リモートコンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、本発明の実施形態を実施するために、コンピュータ可読プログラム命令の状態情報を用いて電子回路を個別化することによってコンピュータ可読プログラム命令を実行することができる、
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図又はその両方を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイス又はそれらの組合せを特定の方式で機能させるように指示することができるコンピュータ可読ストレージ媒体内に格納し、それにより、その中に格納された命令を有するコンピュータ可読ストレージ媒体が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連のオペレーションステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ、他のプログラム可能装置、又は他のデバイス上で実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作を実施するようにすることもできる。
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及びオペレーションを示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又は命令の一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で行われることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図又はその両方の各ブロック、及びブロック図もしくはフローチャート図又はその両方内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実施できることにも留意されたい。
本明細書に記載されている方法のいずれも、コンピュータ可読ストレージ媒体上で具体化された別個のソフトウェアモジュールを含むシステムを提供する追加ステップを含むことができ、そのモジュールは、例えば、本明細書に詳述されているコンポーネントのいずれか又はすべてを含むことができることに留意すべきである。そして、方法ステップは、上述したように、ハードウェアプロセッサ702上で実行される、システムの別個のソフトウェアモジュールもしくはサブモジュール又はその両方を用いて実施することができる。さらに、コンピュータ・プログラム製品は、別個のソフトウェアモジュールを備えたシステムを提供することを含む、本明細書に記載された少なくとも1つの方法ステップを実行するために実施されるように適合されたコードを有するコンピュータ可読ストレージ媒体を含むことができる。
いずれにしても、本明細書に記載される構成要素は、様々な形態のハードウェア、ソフトウェア、又はそれらの組み合わせ、例えば、特定用途向け集積回路(ASICS)、機能回路、関連付けられたメモリを有する適切にプログラムされたデジタルコンピュータなどにおいて実装することができることを理解すべきである。本明細書に記載される本発明の教示を受ければ、関連する技術分野の当業者であれば、本発明の構成要素の他の実装を想定することができるであろう。
さらに、本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実施は、クラウド・コンピューティング環境に限定されないことが事前に理解される。むしろ、本発明の実施形態は、現在知られている又は後に開発されるあらゆる他のタイプのコンピューティング環境と関連して実施することが可能である。
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及び解放することができる構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、及び少なくとも4つのデプロイメント・モデルを含むことができる。
特徴は以下の通りである。
オンデマンド・セルフ・サービス:クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
広範なネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的な機構を通じてアクセスされる。
リソースのプール化:プロバイダのコンピューティング・リソースは、マルチテナント・モデルを用いて、複数のコンシューマにサービスを提供するためにプールされ、異なる物理及び仮想リソースが、要求に応じて動的に割り当て及び再割り当てされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないという点で位置とは独立しているといえるが、より抽象化レベルの高い位置(例えば、国、州、又はデータセンタ)を特定できる場合がある。
迅速な弾力性:機能を、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングしてすばやくスケールアウトし、迅速に解放して素早くスケールインすることができる。コンシューマにとって、プロビジョニングに利用可能な機能は、多くの場合、無制限であるように見え、いつでもどんな量でも購入できる。
計測されるサービス:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザアカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告し、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
サービス・モデルは以下の通りである
Software as a Service(SaaS):コンシューマに提供される機能は、クラウド・インフラストラクチャ上で動作するプロバイダのアプリケーションを使用することである。これらのアプリケーションには、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を想定される例外として、ネットワーク、サーバ、オペレーティングシステム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
Platform as a Service(PaaS):コンシューマに提供される機能は、プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが作成した又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、又はストレージを含む基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対する制御を有する。
Infrastructure as a Service(IaaS):コンシューマに提供される機能は、コンシューマが、オペレーティングシステム及びアプリケーションを含み得る任意のソフトウェアをデプロイして動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングすることである。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、デプロイされたアプリケーションに対する制御、及び場合によってはネットワーク・コンポーネント(例えば、ホストのファイアウォール)選択に対する限定された制御を有する。
デプロイメント・モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運営される。これは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
コミュニティ・クラウド:クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項(例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項)を有する特定のコミュニティをサポートする。これは、それらの組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションのポータビリティを可能にする標準化技術又は専用技術(例えば、クラウド間の負荷平衡のためのクラウド・バースティング)によって互いに結び付けられた、2つ以上のクラウド(プライベート、コミュニティ、又はパブリック)の組み合わせである。
クラウド・コンピューティング環境は、サービス指向であり、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置く。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで図8を参照すると、例示的なクラウド・コンピューティング環境50が示される。図示されるように、クラウド・コンピューティング環境50は、クラウド・コンシューマによって用いられる例えば携帯情報端末(PDA)又は携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、もしくは自動車コンピュータ・システム54N、又はそれらの組合せ等のローカル・コンピューティング・デバイスが通信することができる1つ又は複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信することができる。これらを物理的又は仮想的にグループ化(図示せず)して、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウドもしくはハイブリッド・クラウド又はこれらの組合せ等の1つ又は複数のネットワークにすることができる。これによりクラウド・コンピューティング環境50は、インフラストラクチャ、プラットフォームもしくはソフトウェア又はそれらの組合せを、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとして提供することができるようになる。図8に示されるコンピューティングデバイス54A-Nのタイプは単なる例示として意図されており、コンピューティング・ノード10及びクラウド・コンピューティング環境50は、あらゆるタイプのネットワークもしくはネットワーク・アドレス指定可能な接続(例えば、ウェブ・ブラウザを用いて)又はその両方を介して、あらゆるタイプのコンピュータ化された装置と通信することができることが理解される。
ここで図9を参照すると、クラウド・コンピューティング環境50(図8)によって提供される機能抽象化層のセットが示される。図9に示されるコンポーネント、層、及び機能は単に例示であることを意図したものであり、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
ハードウェア及びソフトウェア層60は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム61と、RISC(縮小命令セットコンピュータ(Reduced Instruction Set Computer))アーキテクチャ・ベースのサーバ62と、サーバ63と、ブレード・サーバ64と、ストレージデバイス65と、ネットワーク及びネットワーキング・コンポーネント66とを含む。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67と、データベース・ソフトウェア68とを含む。
仮想化層70は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーション及びオペレーティングシステム74、並びに仮想クライアント75を提供することができる。一例においては、管理層80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡と、これらのリソースの消費に対する課金又は請求とを提供する。
一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクについての識別情報の検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータル83は、コンシューマ及びシステム管理者に対してクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント(Service Level Agreement、SLA)計画及び履行85は、SLAに従って将来的な必要性が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
ワークロード層90は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例として、マッピング及びナビゲーション91、ソフトウェア開発及びライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、及び本発明の1つ又は複数の実施形態による、制約リポジトリを用いた、多変量生データのための、自動化された、ドメインアウェアの、説明可能な、異常及びドリフト検出96が挙げられる。
本明細書で用いられる用語は、特定の実施形態を説明することのみを目的としたものであり、本発明を限定することを意図したものではない。本明細書で使用される単数形「a」、「an」及び「the」は、前後関係から明らかに別の意味を示さない限り、複数形態も含むことを意図する。さらに、本明細書内で使用する場合に、「含む」もしくは「含んでいる」又はその両方の用語は、そこに述べた特徴、ステップ、オペレーション、要素もしくはコンポーネント又はそれらの組合せの存在を明示しているが、1つ又は複数のその他の特徴、ステップ、オペレーション、要素、コンポーネントもしくはそれらの群又はそれらの組合せの存在又は付加を排除するものではないことは理解されるであろう。
本発明の少なくとも1つの実施形態は、例えば、ユーザのコンテキストに関連した異常及びドリフトを自動的に検出し、対応する説明を提供する、といった有益な効果を提供することができる。この検出は、データセットを、符号化又は変換を行うことなく、その最も自然な形態で用いて行うことができる。
本発明の種々の実施形態の説明が例証のために提示されたが、網羅的であること又は開示される実施形態を制限することを意図するものではない。当業者には、説明される実施形態の範囲及び趣旨から逸脱することなく、多くの変更及び変形が明らかであろう。本明細書で用いられる用語は、実施形態の原理、実際の用途、又は市場で見出される技術に優る技術の改善を最もよく説明するために、又は、当業者が本明細書で開示される実施形態を理解することができるように、選択されたものである。

Claims (20)

  1. データのセットと前記データのセットのドメインを示す情報とを得ることと、
    前記データのセットと前記情報とに少なくとも部分的に基づいて、ドメインインデックス制約リポジトリから1つ又は複数の制約を得ることであって、前記ドメインインデックス制約リポジトリは、複数のノードを有するナレッジグラフを含み、各ノードは、複数のドメインの少なくとも1つに関連付けられた属性と、前記属性に対応する1つ又は複数の制約とを含む、得ることと、
    前記データのセットの1つ又は複数の部分が、前記得られた1つ又は複数の制約に違反しているかどうかに少なくとも部分的に基づいて、前記データのセットにおける1つ又は複数の異常を検出することと、
    前記違反された1つ又は複数の制約に対応する前記属性を記述する、前記1つ又は複数の異常の各々に対応する説明を生成することと、
    前記1つ又は複数の異常の指標と、前記対応する説明とを出力することと
    を含む、コンピュータ実施方法。
  2. 前記ナレッジグラフの1つ又は複数のサブツリーの各々が前記複数のドメインのうちの所与の1つに対応し、前記サブツリーの所与の1つの各レベルは、前記所与のサブツリーの前のレベルに対して、前記所与のドメインの抽象化レベルを高める、請求項1に記載のコンピュータ実施方法。
  3. 前記検出することが、
    前記データセットの前記ドメインを示す前記情報に基づいて、前記データのセットを前記複数のノードの1つ又は複数にマッピングすることと、
    前記マッピングされたノードの前記制約を前記データのセットに適用して、前記1つ又は複数の異常を検出することと
    を含む、請求項1に記載のコンピュータ実施方法。
  4. 前記1つ又は複数の制約が、
    単一属性制約、及び
    多属性制約
    のうちの少なくとも1つを含む、請求項1に記載のコンピュータ実施方法。
  5. 前記単一属性制約が、テキスト属性、数値属性、及びカテゴリ属性のうちの1つに対応し、前記多属性制約が、テキスト属性、数値属性、及びカテゴリ属性のうちの2以上に対応する、請求項4に記載のコンピュータ実施方法。
  6. 各制約が、前記単一属性制約のタイプ及び前記多属性制約のタイプのうちの1つ又は複数に基づくモデルを含み、前記検出することが、前記モデルを前記データのセットの少なくとも一部に適用することを含む、請求項5に記載のコンピュータ実施方法。
  7. 前記データのセットが、少なくとも1つの機械学習モデルのリアルタイムデータを含み、前記方法が、
    機械学習クラスタリング技術を用いて前記リアルタイムデータの1つ又は複数のセグメントにおけるドリフトを検出することと、
    前記ドリフトに対応する前記リアルタイムデータのセグメントを出力することと、
    を含む、請求項1に記載のコンピュータ実施方法。
  8. 前記生成することが、前記ドリフトに対応する前記リアルタイムデータの前記セグメントの各々に対して説明を生成して出力することを含む、請求項7に記載のコンピュータ実施方法。
  9. 前記1つ又は複数の異常の各々に対応する前記説明が、前記部分が取得された1つ又は複数の制約にどのように違反しているかを記述する自然言語の説明を含む、請求項1に記載のコンピュータ実施方法。
  10. 前記検出することが、前記データのセットとベースラインのデータのセットとの比較に基づいて、前記データのセットの品質を示す値を求めることを含む、請求項1に記載のコンピュータ実施方法。
  11. 前記データのセットの前記品質を示す前記値が閾値を満たすことに応答して、前記データのセットを検証することを含む、請求項10に記載のコンピュータ実施方法。
  12. 前記データのセットが、符号化も変換もされていない生データを含む、請求項1に記載のコンピュータ実施方法。
  13. プログラム命令が具体化されたコンピュータ可読ストレージ媒体を含むコンピュータ・プログラム製品であって、コンピューティングデバイスによって実行可能な前記プログラム命令が、
    データのセットと前記データのセットのドメインを示す情報とを得ることと、
    前記データのセットと前記情報とに少なくとも部分的に基づいて、ドメインインデックス制約リポジトリから1つ又は複数の制約を得ることであって、前記ドメインインデックス制約リポジトリは、複数のノードを有するナレッジグラフを含み、各ノードは、複数のドメインの少なくとも1つに関連付けられた属性と、前記属性に対応する1つ又は複数の制約とを含む、得ることと、
    前記データのセットの1つ又は複数の部分が、前記得られた1つ又は複数の制約に違反しているかどうかに少なくとも部分的に基づいて、前記データのセットにおける1つ又は複数の異常を検出することと、
    前記違反された1つ又は複数の制約に対応する前記属性を記述する、前記1つ又は複数の異常の各々に対応する説明を生成することと、
    前記1つ又は複数の異常の指標と、前記対応する説明とを出力することと
    を前記コンピューティングデバイスに行わせる、コンピュータ・プログラム製品。
  14. 前記ナレッジグラフの1つ又は複数のサブツリーの各々が前記複数のドメインのうちの所与の1つに対応し、前記サブツリーの所与の1つの各レベルは、前記所与のサブツリーの前のレベルに対して、前記所与のドメインの抽象化レベルを高める、請求項13に記載のコンピュータ・プログラム製品。
  15. 前記検出することが、
    前記データセットの前記ドメインを示す前記情報に基づいて、前記データのセットを前記複数のノードの1つ又は複数にマッピングすることと、
    前記マッピングされたノードの前記制約を前記データのセットに適用して、前記1つ又は複数の異常を検出することと
    を含む、請求項13に記載のコンピュータ・プログラム製品。
  16. 前記1つ又は複数の制約が、
    単一属性制約、及び
    多属性制約
    のうちの少なくとも1つを含む、請求項13に記載のコンピュータ・プログラム製品。
  17. 前記単一属性制約が、テキスト属性、数値属性、及びカテゴリ属性のうちの1つに対応し、前記多属性制約が、テキスト属性、数値属性、及びカテゴリ属性のうちの2以上に対応する、請求項16に記載のコンピュータ・プログラム製品。
  18. 各制約が、前記単一属性制約のタイプ及び前記多属性制約のタイプのうちの1つ又は複数に基づくモデルを含み、前記検出することが、前記モデルを前記データのセットの少なくとも一部に適用することを含む、請求項17に記載のコンピュータ・プログラム製品。
  19. システムであって、
    メモリと、
    前記メモリに動作可能に結合された少なくとも1つのプロセッサであって、
    データのセットと前記データのセットのドメインを示す情報とを得ることと、
    前記データのセットと前記情報とに少なくとも部分的に基づいて、ドメインインデックス制約リポジトリから1つ又は複数の制約を得ることであって、前記ドメインインデックス制約リポジトリは、複数のノードを有するナレッジグラフを含み、各ノードは、複数のドメインの少なくとも1つに関連付けられた属性と、前記属性に対応する1つ又は複数の制約とを含む、得ることと、
    前記データのセットの1つ又は複数の部分が、前記得られた1つ又は複数の制約に違反しているかどうかに少なくとも部分的に基づいて、前記データのセットにおける1つ又は複数の異常を検出することと、
    前記違反された1つ又は複数の制約に対応する前記属性を記述する、前記1つ又は複数の異常の各々に対応する説明を生成することと、
    前記1つ又は複数の異常の指標と、前記対応する説明とを出力することと
    を行うように構成された少なくとも1つのプロセッサと、
    を含む、システム。
  20. トレーニングデータを含むデータファイルのセットを得ることであって、セット内の各データファイルが複数のドメインの1つに対応する、データファイルのセットを得ることと、
    前記セット内の所与の各データファイルについて、前記所与のデータファイルの前記トレーニングデータの少なくとも一部から、少なくとも1つの制約を推論することと、前記少なくとも1つの推論された制約を、ドメインインデックス制約リポジトリのノードに格納することであって、前記ノードは、前記所与のデータファイルに対応する前記ドメインを表し、前記ドメインインデックス制約リポジトリは、前記複数のドメインの階層的関係を定義するノードのセットを含む、格納することと、
    前記複数のドメインの階層的関係に基づいて、前記ドメインインデックス制約リポジトリに格納された前記推論された制約を集約することと、
    新たなデータファイルのドメインに基づいて、1つ又は複数の制約を前記ドメインインデックス制約リポジトリから取得することと、
    前記新たなデータファイルの1つ又は複数の部分が、前記取得された1つ又は複数の制約に違反しているかどうかに基づいて、前記新たなデータファイルの1つ又は複数の異常を検出することと、
    前記1つ又は複数の異常の指標と、前記新たなデータファイルの前記部分が、前記取得された1つ又は複数の制約にどのように違反しているかを記述する自然言語の説明とを出力することと
    を含む、コンピュータ実施方法。
JP2022517192A 2019-09-27 2020-09-22 ドメインインデックス制約リポジトリを用いた異常及びドリフトの検出 Active JP7461698B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/585,664 2019-09-27
US16/585,664 US11321304B2 (en) 2019-09-27 2019-09-27 Domain aware explainable anomaly and drift detection for multi-variate raw data using a constraint repository
PCT/IB2020/058826 WO2021059122A1 (en) 2019-09-27 2020-09-22 Anomaly and drift detection using domain-indexed constraint repository

Publications (2)

Publication Number Publication Date
JP2022550692A true JP2022550692A (ja) 2022-12-05
JP7461698B2 JP7461698B2 (ja) 2024-04-04

Family

ID=75163674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022517192A Active JP7461698B2 (ja) 2019-09-27 2020-09-22 ドメインインデックス制約リポジトリを用いた異常及びドリフトの検出

Country Status (6)

Country Link
US (1) US11321304B2 (ja)
JP (1) JP7461698B2 (ja)
CN (1) CN114430827A (ja)
DE (1) DE112020003820T5 (ja)
GB (1) GB2603398A (ja)
WO (1) WO2021059122A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11770398B1 (en) * 2017-11-27 2023-09-26 Lacework, Inc. Guided anomaly detection framework
US10341430B1 (en) 2018-11-27 2019-07-02 Sailpoint Technologies, Inc. System and method for peer group detection, visualization and analysis in identity management artificial intelligence systems using cluster based analysis of network identity graphs
US10681056B1 (en) 2018-11-27 2020-06-09 Sailpoint Technologies, Inc. System and method for outlier and anomaly detection in identity management artificial intelligence systems using cluster based analysis of network identity graphs
US10523682B1 (en) 2019-02-26 2019-12-31 Sailpoint Technologies, Inc. System and method for intelligent agents for decision support in network identity graph based identity management artificial intelligence systems
US10554665B1 (en) 2019-02-28 2020-02-04 Sailpoint Technologies, Inc. System and method for role mining in identity management artificial intelligence systems using cluster based analysis of network identity graphs
US11461677B2 (en) 2020-03-10 2022-10-04 Sailpoint Technologies, Inc. Systems and methods for data correlation and artifact matching in identity management artificial intelligence systems
US10862928B1 (en) 2020-06-12 2020-12-08 Sailpoint Technologies, Inc. System and method for role validation in identity management artificial intelligence systems using analysis of network identity graphs
US10938828B1 (en) 2020-09-17 2021-03-02 Sailpoint Technologies, Inc. System and method for predictive platforms in identity management artificial intelligence systems using analysis of network identity graphs
US11196775B1 (en) 2020-11-23 2021-12-07 Sailpoint Technologies, Inc. System and method for predictive modeling for entitlement diffusion and role evolution in identity management artificial intelligence systems using network identity graphs
US11693632B2 (en) * 2021-01-25 2023-07-04 Cisco Technology, Inc. Collaborative visual programming environment with cumulative learning using a deep fusion reasoning engine
US11295241B1 (en) * 2021-02-19 2022-04-05 Sailpoint Technologies, Inc. System and method for incremental training of machine learning models in artificial intelligence systems, including incremental training using analysis of network identity graphs
US11769098B2 (en) 2021-05-18 2023-09-26 International Business Machines Corporation Anomaly detection of physical assets by auto-creating anomaly detection or prediction models based on data from a knowledge graph of an enterprise
US12001546B2 (en) * 2021-05-27 2024-06-04 Salesforce, Inc. Systems and methods for causality-based multivariate time series anomaly detection
US11227055B1 (en) 2021-07-30 2022-01-18 Sailpoint Technologies, Inc. System and method for automated access request recommendations
CN114297411B (zh) * 2022-03-08 2023-05-02 支付宝(杭州)信息技术有限公司 知识图谱中实体的配置方法、分析方法及装置
CN117237126B (zh) * 2023-09-18 2024-07-05 广州美保科技有限公司 一种保险平台及保险数据处理方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739211B2 (en) 2006-11-08 2010-06-15 21St Century Technologies, Inc. Dynamic SNA-based anomaly detection using unsupervised learning
CN101546312B (zh) * 2008-03-25 2012-11-21 国际商业机器公司 用于检测异常的数据记录的方法和设备
WO2012157471A1 (ja) * 2011-05-13 2012-11-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の制御システムの異常を検知する異常検知システム
US8762133B2 (en) * 2012-08-30 2014-06-24 Arria Data2Text Limited Method and apparatus for alert validation
US10114925B2 (en) 2013-07-26 2018-10-30 Nant Holdings Ip, Llc Discovery routing systems and engines
US10230747B2 (en) 2014-07-15 2019-03-12 Cisco Technology, Inc. Explaining network anomalies using decision trees
US10067812B2 (en) 2015-03-30 2018-09-04 Ca, Inc. Presenting diagnostic headlines using simple linguistic terms
US10116674B2 (en) 2015-10-30 2018-10-30 Citrix Systems, Inc. Framework for explaining anomalies in accessing web applications
WO2017201107A1 (en) * 2016-05-16 2017-11-23 Purepredictive, Inc. Predictive drift detection and correction
US20180159876A1 (en) 2016-12-05 2018-06-07 International Business Machines Corporation Consolidating structured and unstructured security and threat intelligence with knowledge graphs
JP2019016209A (ja) 2017-07-07 2019-01-31 株式会社東芝 診断装置、診断方法およびコンピュータプログラム
US10877979B2 (en) 2018-01-16 2020-12-29 Accenture Global Solutions Limited Determining explanations for predicted links in knowledge graphs
JP6965798B2 (ja) 2018-03-12 2021-11-10 オムロン株式会社 制御システムおよび制御方法
US11005678B2 (en) * 2018-05-18 2021-05-11 Alarm.Com Incorporated Machine learning for home understanding and notification
CN109656812A (zh) 2018-11-19 2019-04-19 平安科技(深圳)有限公司 数据质量检测方法、装置及存储介质
US11531908B2 (en) * 2019-03-12 2022-12-20 Ebay Inc. Enhancement of machine learning-based anomaly detection using knowledge graphs

Also Published As

Publication number Publication date
WO2021059122A1 (en) 2021-04-01
US11321304B2 (en) 2022-05-03
US20210097052A1 (en) 2021-04-01
JP7461698B2 (ja) 2024-04-04
GB202205101D0 (en) 2022-05-25
DE112020003820T5 (de) 2022-05-25
CN114430827A (zh) 2022-05-03
GB2603398A (en) 2022-08-03

Similar Documents

Publication Publication Date Title
JP7461698B2 (ja) ドメインインデックス制約リポジトリを用いた異常及びドリフトの検出
US10547507B2 (en) Automated change monitoring and improvement recommendation system for incident reduction in information technology infrastructure
US10643135B2 (en) Linkage prediction through similarity analysis
US10223329B2 (en) Policy based data collection, processing, and negotiation for analytics
US10331703B2 (en) Hierarchical association of entity records from different data systems
US11302096B2 (en) Determining model-related bias associated with training data
US11205138B2 (en) Model quality and related models using provenance data
US20210248105A1 (en) Labeling software applications running on nodes of a data center
US11841977B2 (en) Training anonymized machine learning models via generalized data generated using received trained machine learning models
US20220198362A1 (en) Generation of dashboard templates for operations management
WO2022179441A1 (en) Standardization in the context of data integration
US11212162B2 (en) Bayesian-based event grouping
US11593511B2 (en) Dynamically identifying and redacting data from diagnostic operations via runtime monitoring of data sources
US11210352B2 (en) Automatic check of search configuration changes
US20200394117A1 (en) Software application validation
US11868167B2 (en) Automatically provisioned tag schema for hybrid multicloud cost and chargeback analysis
US20220036006A1 (en) Feature vector generation for probabalistic matching
US11442724B2 (en) Pattern recognition
US11074508B2 (en) Constraint tracking and inference generation
US20200143299A1 (en) Automatically Detecting Inconsistencies Between a Business Process Model and a Corresponding Tutorial Video
US20230010147A1 (en) Automated determination of accurate data schema
US11882124B1 (en) Account integration with an event-driven application programing interface call manager
US12086135B2 (en) Problem solving in a database
US20230106490A1 (en) Automatically improving data annotations by processing annotation properties and user feedback
US20220405525A1 (en) Reliable inference of a machine learning model

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220414

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220329

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240305

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20240305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240319

R150 Certificate of patent or registration of utility model

Ref document number: 7461698

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150