(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-04
(45)【発行日】2024-12-12
(54)【発明の名称】ナレッジ・グラフにおける過剰指定および過少指定の自動的解決
(51)【国際特許分類】
G06F 16/26 20190101AFI20241205BHJP
G06F 16/90 20190101ALI20241205BHJP
G06F 16/906 20190101ALI20241205BHJP
【FI】
G06F16/26
G06F16/90 100
G06F16/906
(21)【出願番号】P 2021559859
(86)(22)【出願日】2020-05-15
(86)【国際出願番号】 IB2020054626
(87)【国際公開番号】W WO2020240327
(87)【国際公開日】2020-12-03
【審査請求日】2023-01-10
(32)【優先日】2019-05-29
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】521555742
【氏名又は名称】キンドリル・インク
【氏名又は名称原語表記】Kyndryl Inc.
【住所又は居所原語表記】One Vanderbilt Avenue,15th Floor,New York,New York 10017,USA
(74)【代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】トリム、クレイグ
(72)【発明者】
【氏名】ラデン、メアリー
(72)【発明者】
【氏名】マルツォラティ、マウロ
(72)【発明者】
【氏名】フォックス、ジェレミー
【審査官】松尾 真人
(56)【参考文献】
【文献】米国特許出願公開第2016/0103932(US,A1)
【文献】特開2003-044486(JP,A)
【文献】米国特許出願公開第2014/0320497(US,A1)
【文献】江上 周作,Mapping Science - ナレッジグラフに基づく科学技術マップの高度検索と対話的操作の実現,一般社団法人人工知能学会 研究会 SWO:セマンティックウェブとオントロジー研究会 SIG-SWO-047 [online] ,日本,一般社団法人人工知能学会,2019年03月10日,pp.13-01~13-10,Internet<URL:https://jsai.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=9831&file_id=1&file_no=1>
【文献】長野 希美,人工知能による科学技術研究の加速,人工知能,日本,(一社)人工知能学会,2019年11月01日,第34巻, 第6号,pp.783~789
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06N 5/00-5/04
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータ・デバイスによって、ナレッジ・グラフのオブジェクト・クラスタのサイズが、前記ナレッジ・グラフのナレッジ・ベースの過少指定を示す閾値を満たすと判定することと、
前記コンピュータ・デバイスによって、前記ナレッジ・グラフのオブジェクトに対するサブクラスを定めることと、
前記コンピュータ・デバイスによって、前記サブクラスに基づいて前記ナレッジ・グラフを再初期化して改善されたナレッジ・グラフを生成することであって、前記改善されたナレッジ・グラフにおける前記オブジェクト・クラスタの前記サイズは低減する、前記再初期化することと、
前記コンピュータ・デバイスによって、前記改善されたナレッジ・グラフから定められた情報に基づいて出力を生成することと
を含む、コンピュータに実装される方法。
【請求項2】
前記ナレッジ・ベースの前記過少指定を前記判定することは、
前記コンピュータ・デバイスによって、前記オブジェクト・クラスタ内の仮想的分割から前記オブジェクト・クラスタ内の実際の分割を差し引くことによって値を定めることと、
前記コンピュータ・デバイスによって、前記値が0以上かつ予め定められた閾値以上であることに基づいて前記ナレッジ・ベースの前記過少指定を判定することとを含む、請求項1に記載のコンピュータに実装される方法。
【請求項3】
前記ナレッジ・グラフに対する前記サブクラスを前記定めることは、前記ナレッジ・ベースの潜在的な階層構造内の親子関係を定めることを含む、請求項1に記載のコンピュータに実装される方法。
【請求項4】
前記親子関係を前記定めることは、パターン抽出に対する自然言語処理を用いて前記ナレッジ・ベース内の前記親子関係を識別することを含む、請求項3に記載のコンピュータに実装される方法。
【請求項5】
前記ナレッジ・グラフに対する前記サブクラスを前記定めることは、NLPパターン・マッチング分析を使用するピア・ノードの高頻度の前記親子関係に基づいて前記ナレッジ・グラフに対する前記サブクラスを定めることを含む、請求項3に記載のコンピュータに実装される方法。
【請求項6】
前記サブクラスを前記定めることは、自然言語処理を用いてパターン・マッチングを行って、閾値を満たす計算されたノード類似性を有するオブジェクトを識別することを含む、請求項5に記載のコンピュータに実装される方法。
【請求項7】
前記コンピュータ・デバイスによって、ボロノイ・セル・クラスタ初期化式を使用したクラスタリング分析を行うことによって、閾値量未満のデータ・ポイントを有する前記ナレッジ・グラフの1つ以上のオブジェクト・クラスタについて前記ナレッジ・ベースの過剰指定を判定し、前記過剰指定が判定された場合、過剰指定された1つまたは複数のクラスタのオブジェクトをまとめて別のクラスタとすることをさらに含む、請求項1に記載のコンピュータに実装される方法。
【請求項8】
前記コンピュータ・デバイスによって、更新されたナレッジ・グラフを生成するために前記過剰指定の前記判定に基づいて前記改善されたナレッジ・グラフを再初期化することをさらに含み、前記改善されたナレッジ・グラフの過剰指定されたオブジェクト・クラスタのエンティティは、前記更新されたナレッジ・グラフの単一のクラスタに包含される、請求項7に記載のコンピュータに実装される方法。
【請求項9】
自身によって具現化されるプログラム命令を有す
るコンピュータ・プログラムであって、コンピュータ・デバイスによって実行可能な前記プログラム命令は前記コンピュータ・デバイスに、
ナレッジ・ベースからナレッジ・グラフを生成することと、
前記ナレッジ・グラフのオブジェクト・クラスタのサイズが前記ナレッジ・ベースの過少指定を示す閾値を満たすと判定することと、
前記ナレッジ・グラフのオブジェクトに対するサブクラスを定めることと、
前記サブクラスに基づいて前記ナレッジ・グラフを再初期化して改善されたナレッジ・グラフを生成することとを実行させ、前記改善されたナレッジ・グラフにおける前記オブジェクト・クラスタの前記サイズは低減する、コンピュータ・プログラム。
【請求項10】
前記ナレッジ・ベースの前記過少指定を前記判定することは、
前記オブジェクト・クラスタ内の仮想的分割から前記オブジェクト・クラスタ内の実際の分割を差し引くことによって値を定めることと、
前記値が0以上かつ予め定められた閾値以上であることに基づいて前記ナレッジ・ベースの前記過少指定を判定することとを含む、請求項9に記載のコンピュータ・プログラム。
【請求項11】
前記ナレッジ・グラフに対する前記サブクラスを前記定めることは、前記ナレッジ・ベースの潜在的な階層構造内の親子関係を定めることを含む、請求項9に記載のコンピュータ・プログラム。
【請求項12】
前記親子関係を前記定めることは、パターン抽出に対する自然言語処理を用いて前記ナレッジ・ベース内の前記親子関係を識別することを含む、請求項11に記載のコンピュータ・プログラム。
【請求項13】
前記ナレッジ・グラフに対する前記サブクラスを前記定めることは、NLPパターン・マッチング分析を使用するピア・ノードの高頻度の前記親子関係に基づいて前記ナレッジ・グラフに対する前記サブクラスを定めることを含む、請求項11に記載のコンピュータ・プログラム。
【請求項14】
前記サブクラスを前記定めることは、自然言語処理を用いてパターン・マッチングを行って、閾値を満たす計算されたノード類似性を有するオブジェクトを識別することを含む、請求項9に記載のコンピュータ・プログラム。
【請求項15】
前記プログラム命令は、ボロノイ・セル・クラスタ初期化式を使用したクラスタリング分析を行うことによって、閾値量未満のデータ・ポイントを有する前記ナレッジ・グラフの1つ以上のオブジェクト・クラスタについて前記ナレッジ・ベースの過剰指定を判定し、前記過剰指定が判定された場合、過剰指定された1つまたは複数のクラスタのオブジェクトをまとめて別のクラスタとすることを前記コンピュータ・デバイスにさらに行わせる、請求項9に記載のコンピュータ・プログラム。
【請求項16】
前記プログラム命令は、更新されたナレッジ・グラフを生成するために前記過剰指定の前記判定に基づいて前記改善されたナレッジ・グラフを再初期化することを前記コンピュータ・デバイスにさらに行わせ、前記改善されたナレッジ・グラフの過剰指定されたオブジェクト・クラスタのエンティティは、前記更新されたナレッジ・グラフの単一のクラスタに包含される、請求項15に記載のコンピュータ・プログラム。
【請求項17】
コンピュータ・デバイスに関連するプロセッサ、コンピュータ可読メモリ、およびコンピュータ可読記憶媒体と、
ナレッジ・ベースからナレッジ・グラフを生成するためのプログラム命令と、
前記ナレッジ・グラフのオブジェクト・クラスタのサイズが前記ナレッジ・ベースの過少指定を示す閾値を満たすかどうかを判定するためのプログラム命令と、
前記ナレッジ・グラフの前記オブジェクト・クラスタの前記サイズが前記閾値を満たすという判定に基づいて、前記ナレッジ・グラフのオブジェクトに対するサブクラスを定めるためのプログラム命令と、
前記サブクラスに基づいて前記ナレッジ・グラフを再初期化して改善されたナレッジ・グラフを生成するためのプログラム命令であって、前記改善されたナレッジ・グラフにおける前記オブジェクト・クラスタの前記サイズは低減する、前記再初期化するためのプログラム命令と、
ボロノイ・セル・クラスタ初期化式を使用したクラスタリング分析を行うことによって、前記ナレッジ・ベースの過剰指定が存在するかどうかを判定するためのプログラム命令と、
前記過剰指定の前記判定に基づいて前記ナレッジ・グラフを再初期化して更新されたナレッジ・グラフを生成するためのプログラム命令であって、前記改善されたナレッジ・グラフの過剰指定されたオブジェクト・クラスタのエンティティは、前記更新されたナレッジ・グラフの単一のクラスタに包含される、前記再初期化するためのプログラム命令と
を含み、前記プログラム命令(複数)は、前記コンピュータ可読メモリを介した前記プロセッサによる実行のために前記コンピュータ可読記憶媒体に記憶される、システム。
【請求項18】
前記ナレッジ・ベースの前記過少指定を前記判定することは、
前記オブジェクト・クラスタ内の仮想的分割から前記オブジェクト・クラスタ内の実際の分割を差し引くことによって値を定めることと、
前記値が0以上かつ予め定められた閾値以上であることに基づいて前記ナレッジ・ベースの前記過少指定を判定することとを含む、請求項17に記載のシステム。
【請求項19】
前記ナレッジ・グラフに対する前記サブクラスを前記定めることは、前記ナレッジ・ベースの潜在的な階層構造内の親子関係を定めることを含む、請求項17に記載のシステム。
【請求項20】
前記ナレッジ・グラフに対する前記サブクラスを前記定めることは、NLPパターン・マッチング分析を使用するピア・ノードの高頻度の前記親子関係に基づいて前記ナレッジ・グラフに対する前記サブクラスを定めることを含む、請求項19に記載のシステム。
【請求項21】
コンピュータ・デバイスによって、ナレッジ・ベースに対して生成されたナレッジ・グラフにアクセスすることと、
前記コンピュータ・デバイスによって、閾値量未満のデータ・ポイントを有する前記ナレッジ・グラフの1つ以上のオブジェクト・クラスタに基づいて前記ナレッジ・ベースの過剰指定を判定することと、
前記コンピュータ・デバイスによって、前記過剰指定の前記判定に基づいて前記ナレッジ・グラフを再初期化して更新されたナレッジ・グラフを生成することとを含み、前記ナレッジ・グラフの過剰指定されたオブジェクト・クラスタのエンティティは、前記更新されたナレッジ・グラフの単一のオブジェクト・クラスタに包含される、コンピュータに実装される方法。
【請求項22】
前記過剰指定を判定することは、ボロノイ・セル・クラスタ初期化式を使用したクラスタリング分析を行うことを含む、請求項21に記載のコンピュータに実装される方法。
【請求項23】
前記コンピュータ・デバイスによって、前記ナレッジ・ベースから前記ナレッジ・グラフを生成することをさらに含む、請求項21に記載のコンピュータに実装される方法。
【請求項24】
自身によって具現化されるプログラム命令を有す
るコンピュータ・プログラムであって、コンピュータ・デバイスによって実行可能である前記プログラム命令は前記コンピュータ・デバイスに、
ナレッジ・ベースに対して生成されたナレッジ・グラフにアクセスすることと、
閾値量未満のデータ・ポイントを有する前記ナレッジ・グラフの1つ以上のオブジェクト・クラスタに基づいて前記ナレッジ・ベースの過剰指定を判定することと、
前記過剰指定の前記判定に基づいて前記ナレッジ・グラフを再初期化して更新されたナレッジ・グラフを生成することとを実行させ、前記ナレッジ・グラフの過剰指定されたオブジェクト・クラスタのエンティティは、前記更新されたナレッジ・グラフの単一のオブジェクト・クラスタに包含される、コンピュータ・プログラム。
【請求項25】
前記過剰指定を判定することは、ボロノイ・セル・クラスタ初期化式を使用したクラスタリング分析を行うことを含む、請求項24に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般的にデータ分析に関し、より具体的にはナレッジ・グラフにおける過剰指定および過少指定の自動的解決に関する。
【背景技術】
【0002】
ビッグ・データは、従来のデータ処理アプリケーション・ソフトウェアには複雑すぎる大きなデータ・セットを分析するか、そこから情報を抽出するか、または別様に対処することに関連する分野である。データ・セットを分析してそこから情報を抽出するために、さまざまなコンピューティング・モデリング・ツールおよび技術が利用可能である。特定のドメイン(すなわち、アクティビティまたは知識の範囲)に対してデータ・セットから情報を抽出するために、グラフ・モデルおよびリレーショナル・データベースがしばしば使用される。分析者が使用するツールの1つがナレッジ・グラフである。本明細書において用いられるナレッジ・グラフという用語は、情報を統合してオントロジとし、推論を適用して新たな知識を導き出すグラフを示す。ナレッジ・グラフは、特定のドメインまたは組織に関連するエンティティのネットワークを含む。
【発明の概要】
【0003】
本発明の態様において、コンピュータに実装される方法は、コンピュータ・デバイスによって、ナレッジ・グラフのオブジェクト・クラスタのサイズがナレッジ・グラフのナレッジ・ベースの過少指定を示す閾値を満たすと判定することと、コンピュータ・デバイスによって、ナレッジ・グラフのオブジェクトに対するサブクラスを定めることと、コンピュータ・デバイスによって、サブクラスに基づいてナレッジ・グラフを再初期化して改善された(refined)ナレッジ・グラフを生成することであって、改善されたナレッジ・グラフにおける上記オブジェクト・クラスタのサイズは低減する、再初期化することと、コンピュータ・デバイスによって、改善されたナレッジ・グラフから定められた情報に基づいて出力を生成することとを含む。有利なことに、この方法はナレッジ・グラフ・ドメインの専門知識を有する分析者を必要としない過少指定の自動的識別を可能にする。
【0004】
実施形態において、ナレッジ・グラフに対するサブクラスを定めることは、ナレッジ・ベースの潜在的な階層構造内の親子関係を定めることを含む。こうした方法は、ナレッジ・グラフ・ドメインの過少指定に自動的に対処するために、ナレッジ・ベース内の潜在的な階層構造の識別を有利に使用する。
【0005】
他の実施形態において、ナレッジ・グラフに対するサブクラスを定めることは、ピア・ノードに基づいてナレッジ・グラフに対するサブクラスを定めることを含む。こうした方法は、ナレッジ・グラフ・ドメインの過少指定に自動的に対処するために、ナレッジ・ベース内の潜在的なピアツーピア関係の識別を有利に使用する。
【0006】
本発明の別の態様においては、自身によって具現化されるプログラム命令を有するコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品が存在する。このプログラム命令はコンピュータ・デバイスによって実行可能であることで、ナレッジ・ベースからナレッジ・グラフを生成することと、ナレッジ・グラフのオブジェクト・クラスタのサイズがナレッジ・ベースの過少指定を示す閾値を満たすと判定することと、ナレッジ・グラフのオブジェクトに対するサブクラスを定めることと、サブクラスに基づいてナレッジ・グラフを再初期化して改善されたナレッジ・グラフを生成することとをコンピュータ・デバイスに行わせ、改善されたナレッジ・グラフにおけるオブジェクト・クラスタのサイズは低減する。有利なことに、このコンピュータ・プログラム製品はナレッジ・グラフ・ドメインの専門知識を有する分析者を必要としない過少指定の自動的識別を可能にする。
【0007】
実施形態において、ナレッジ・グラフに対するサブクラスを定めることは、ナレッジ・ベースの潜在的な階層構造内の親子関係を定めることを含む。こうしたコンピュータ・プログラム製品は、ナレッジ・グラフ・ドメインの過少指定に自動的に対処するために、ナレッジ・ベース内の潜在的な階層構造の識別を有利に使用する。
【0008】
他の実施形態において、ナレッジ・グラフに対するサブクラスを定めることは、ピア・ノードに基づいてナレッジ・グラフに対するサブクラスを定めることを含む。こうしたコンピュータ・プログラム製品は、ナレッジ・グラフ・ドメインの過少指定に自動的に対処するために、ナレッジ・ベース内の潜在的なピアツーピア関係の識別を有利に使用する。
【0009】
本発明の別の態様においては、コンピュータ・デバイスに関連するプロセッサ、コンピュータ可読メモリ、およびコンピュータ可読記憶媒体を含むシステムが存在する。加えてこのシステムは、ナレッジ・ベースからナレッジ・グラフを生成するためのプログラム命令と、ナレッジ・グラフのオブジェクト・クラスタのサイズがナレッジ・ベースの過少指定を示す閾値を満たすかどうかを判定するためのプログラム命令と、ナレッジ・グラフのオブジェクト・クラスタのサイズが閾値を満たすという判定に基づいてナレッジ・グラフのオブジェクトに対するサブクラスを定めるためのプログラム命令と、サブクラスに基づいてナレッジ・グラフを再初期化して改善されたナレッジ・グラフを生成するためのプログラム命令であって、改善されたナレッジ・グラフにおけるオブジェクト・クラスタのサイズは低減する、再初期化するためのプログラム命令と、ボロノイ・セル・クラスタ初期化式を使用したクラスタリング分析を行うことによってナレッジ・ベースの過剰指定が存在するかどうかを判定するためのプログラム命令と、更新されたナレッジ・グラフを生成するために過剰指定の判定に基づいてナレッジ・グラフを再初期化するためのプログラム命令とを含み、改善されたナレッジ・グラフの過剰指定されたオブジェクト・クラスタのエンティティは、更新されたナレッジ・グラフの単一のクラスタに包含される。プログラム命令は、コンピュータ可読メモリを介したプロセッサによる実行のためにコンピュータ可読記憶媒体に記憶される。有利なことに、このシステムはナレッジ・グラフ・ドメインの専門知識を有する分析者を必要としない過剰指定および過少指定の自動的識別を可能にする。
【0010】
実施形態において、ナレッジ・グラフに対するサブクラスを定めることは、ナレッジ・ベースの潜在的な階層構造内の親子関係を定めることを含む。こうしたシステムは、ナレッジ・グラフ・ドメインの過少指定に自動的に対処するために、ナレッジ・ベース内の潜在的な階層構造の識別を有利に使用する。
【0011】
実施形態において、ナレッジ・グラフに対するサブクラスを定めることは、ピア・ノードに基づいてナレッジ・グラフに対するサブクラスを定めることを含む。こうしたシステムは、ナレッジ・グラフ・ドメインの過少指定に自動的に対処するために、ナレッジ・ベース内の潜在的なピアツーピア関係の識別を有利に使用する。
【0012】
本発明の態様において、コンピュータに実装される方法は、コンピュータ・デバイスによって、ナレッジ・ベースに対して生成されたナレッジ・グラフにアクセスすることと、コンピュータ・デバイスによって、閾値量未満のデータ・ポイントを有するナレッジ・グラフの1つ以上のオブジェクト・クラスタに基づいてナレッジ・ベースの過剰指定を判定することと、コンピュータ・デバイスによって、更新されたナレッジ・グラフを生成するために過剰指定の判定に基づいてナレッジ・グラフを再初期化することとを含み、ナレッジ・グラフの過剰指定されたオブジェクト・クラスタのエンティティは、更新されたナレッジ・グラフの単一のオブジェクト・クラスタに包含される。こうした方法は、分析者がナレッジ・ベースの主題の任意の専門知識を有することを必要としないナレッジ・グラフの過剰指定の判定を可能にする。
【0013】
実施において、過剰指定を判定することは、ボロノイ・セル・クラスタ初期化式を使用したクラスタリング分析を行うことを含む。
【0014】
本発明の別の態様においては、自身によって具現化されるプログラム命令を有するコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品が存在する。このプログラム命令はコンピュータ・デバイスによって実行可能であることで、ナレッジ・ベースに対して生成されたナレッジ・グラフにアクセスすることと、閾値量未満のデータ・ポイントを有するナレッジ・グラフの1つ以上のオブジェクト・クラスタに基づいてナレッジ・ベースの過剰指定を判定することと、更新されたナレッジ・グラフを生成するために過剰指定の判定に基づいてナレッジ・グラフを再初期化することとをコンピュータ・デバイスに行わせ、ナレッジ・グラフの過剰指定されたオブジェクト・クラスタのエンティティは、更新されたナレッジ・グラフの単一のオブジェクト・クラスタに包含される。
【0015】
実施において、過剰指定を判定することは、ボロノイ・セル・クラスタ初期化式を使用したクラスタリング分析を行うことを含む。
【0016】
本発明の例示的実施形態の非限定的な例として示される複数の図面を参照して、以下の詳細な記載において本発明を説明する。
【図面の簡単な説明】
【0017】
【
図1】本発明の実施形態によるコンピューティング・インフラストラクチャを示す図である。
【
図2】本発明の態様による例示的環境を示す図である。
【
図3】本発明の態様による例示的方法のステップを示す流れ図である。
【
図4A】本発明の態様によるナレッジ・ベースの過少指定を示すドメインに対する注釈付きのグラフを示す図である。
【
図4B】本発明の態様によるナレッジ・ベースの十分な指定を示す、
図4Aのナレッジ・ベースに対する改善されたグラフを示す図である。
【
図5A】本発明の態様によるナレッジ・ベースの過剰指定を示すドメインに対する注釈付きのグラフを示す図である。
【
図5B】本発明の態様によるナレッジ・ベースの十分な指定を示す、
図5Aのナレッジ・ベースに対する改善されたグラフを示す図である。
【発明を実施するための形態】
【0018】
本発明は一般的にデータ分析に関し、より具体的にはナレッジ・グラフにおける過剰指定および過少指定の自動的解決に関する。本発明の実施形態は、ナレッジ・グラフにおけるオブジェクト・ノード・クラスタリングに基づいてナレッジ・ベースの過剰指定および過少指定を自動的に検出するためのシステムを提供する。
【0019】
一般的に、グラフ・モデル(グラフ・パラダイム)の使用はユーザ(例、データ分析者)に対して、目的のドメインが完全に理解するには大きすぎ、かつリレーショナル・データベース(リレーショナル・パラダイム)においてモデル化するには動的すぎることを示すことがあり、ここでスキーマの変化(ドメインを確立する条件およびエンティティのセットに対する変化)はグラフ・モデルに依存するソフトウェア・アプリケーションに対して重要な影響を有し得る。グラフ・パラダイムが利用される場合、グラフ(graph)スキーマすなわちg-スキーマを構築するための技術はしばしば、自動化されたコンポーネントを特徴とする。多くの場合、ナレッジ・グラフは手動で構築されて、自動化された技術によって補完される。より稀な場合、またはノイズがより容易に許容される状況においては、g-スキーマ全体が自動化アプローチによって展開されてもよい。いずれの方法においても、エンティティ(モデル化されたデータ内のオブジェクトのタイプまたはカテゴリ)が過剰指定(過剰一般化)または過少指定された可能性があるところを示すことが有利である。本明細書において用いられる過少指定された(underspecified)および過少指定(under-specification)という用語は、不十分もしくは正確さが不十分な情報、または不完全に指定された情報を示す。反対に、他の状況においてはエンティティが過剰に指定または分解(エンティティのコンポーネント・エレメントに細分)されており、より一般化されるべきであることがある。本明細書において用いられる過剰に指定された(overly specified)、過剰指定(over-specification)、および過剰指定された(over-specified)という用語は、過度に指定されたデータを示す。手動または自動化された手段のいずれによってモデルを展開しても、どちらのエラー(過少指定または過剰指定)も起こる可能性があり、より効率的なモデルのため、およびドメインの状態を正確に反映するために修正されるべきである。
【0020】
多くの情報システムは、発見指向のデータ・サーチと、ワークフロー(ダイアログ・ツリー)トラバーサルと、単一正答クエリとを行うためにリレーショナル・データベースおよびグラフを使用するハイブリッド・アプローチを有する。すべての場合に対して必要な入力を提供できる単一のナレッジ・グラフは極度に複雑であり、通常は利用できない。今日の最先端の情報システムは、複雑なバックエンド統合を伴うさまざまなデータ記憶および検索技術を必要とする。本発明の実施形態は、単一のグラフ・スキーマが真の情報のソースの役割をして、ナレッジ・ソース(すなわち、データの1つ以上のソース)からのグラフの継続的な改善および増強のために不十分なリソースの割り当てを助けることを可能にする。したがって、本発明の実施形態は、グラフィカル・モデリングの実施におけるデータ・セットの過剰指定または過少指定の技術的問題点に対する技術的解決策を提供する。
【0021】
有利なことに、本発明の実施形態は、データ・モデリング・コンピュータ・デバイスおよびコンピュータ・データ・モデリングの技術分野に、付加的な機能の形の改善を提供する。より具体的には、本発明の態様は、改善されたグラフィカル・モデルを生成するために、グラフ化したオブジェクトのクラスタ分析を使用した過剰指定もしくは過少指定またはその両方の自動的判定を含む従来にないステップを使用する。
【0022】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、もしくはコンピュータ・プログラム製品、またはその組み合わせであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を行わせるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含んでもよい。
【0023】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および記憶できる有形デバイスであり得る。コンピュータ可読記憶媒体は、たとえば電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の好適な組み合わせなどであってもよいが、それに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは以下を含む。ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、リード・オンリ・メモリ(ROM:read-only memory)、消去可能プログラマブル・リード・オンリ・メモリ(erasable programmable read-only memory)(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フレキシブル・ディスク、機械的にコード化されたデバイス、たとえばパンチ・カードまたは記録された命令を有する溝の中の隆起構造など、および前述の任意の好適な組み合わせ。本明細書において用いられるコンピュータ可読記憶媒体は、たとえば電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を通じて伝播する電磁波(例、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号など、それ自体が一時的信号のものであると解釈されるべきではない。
【0024】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされ得るか、またはたとえばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは無線ネットワーク、またはその組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはその組み合わせを含んでもよい。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0025】
本発明の動作を実行するためのコンピュータ可読プログラム命令はアセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路に対する構成データ、または1つ以上のプログラミング言語の任意の組み合わせで書かれたソース・コードもしくはオブジェクト・コードであってもよく、このプログラミング言語はオブジェクト指向プログラミング言語、たとえばSmalltalk、またはC++など、および手続き型プログラミング言語、たとえば「C」プログラミング言語または類似のプログラミング言語などを含む。コンピュータ可読プログラム命令は、すべてがユーザのコンピュータで実行されてもよいし、スタンド・アロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータで実行されてもよいし、一部がユーザのコンピュータで、一部がリモート・コンピュータで実行されてもよいし、すべてがリモート・コンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、(たとえば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、たとえばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)などを含む電子回路は、本発明の態様を行うために電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を使用することによって、コンピュータ可読プログラム命令を実行してもよい。
【0026】
本明細書においては、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方を参照して、本発明の態様を説明している。流れ図もしくはブロック図またはその両方の各ブロック、および流れ図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実現され得ることが理解されるだろう。
【0027】
これらのコンピュータ可読プログラム命令は、汎用目的コンピュータ、特定目的コンピュータ、またはマシンを生成するためのその他のプログラマブル・データ処理装置のプロセッサに提供されることによって、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実現するための手段を生じてもよい。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブル・データ処理装置、もしくはその他のデバイス、またはその組み合わせに特定の方式で機能するように指示できるコンピュータ可読記憶媒体にも記憶されることによって、命令が記憶されたコンピュータ可読記憶媒体が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作の態様を実現する命令を含む製造物を含んでもよい。
【0028】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにもロードされて、コンピュータに実現されるプロセスを生成するためにコンピュータ、他のプログラマブル装置、または他のデバイスにおいて一連の動作ステップを行わせることによって、そのコンピュータ、他のプログラマブル装置、または他のデバイスにおいて実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実現してもよい。
【0029】
図面における流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を示すものである。これに関して、流れ図またはブロック図の各ブロックは、指定される論理機能(単数または複数)を実現するための1つ以上の実行可能命令を含むモジュール、セグメント、または命令の一部を表してもよい。いくつかの代替的実施において、ブロック内に示される機能は、図面に示されるものとは異なる順序で起こってもよい。たとえば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよいし、関与する機能によってはこれらのブロックがときに逆の順序で実行されてもよい。加えて、ブロック図もしくは流れ図またはその両方の各ブロック、およびブロック図もしくは流れ図またはその両方のブロックの組み合わせは、指定された機能または動作を行うか、特定目的のハードウェアおよびコンピュータ命令の組み合わせを実施または実行する特定目的のハードウェア・ベースのシステムによって実現され得ることが注目されるだろう。
【0030】
ここで
図1を参照すると、コンピューティング・インフラストラクチャの例の概略が示されている。コンピューティング・インフラストラクチャ10は好適なコンピューティング・インフラストラクチャの単なる一例であり、本明細書に記載される本発明の実施形態の使用または機能の範囲に関するいかなる制限を示唆することも意図されていない。それに関わらず、コンピューティング・インフラストラクチャ10は実施されるか、もしくは上記に示される任意の機能を行うか、またはその両方が可能である。
【0031】
コンピューティング・インフラストラクチャ10には、多数の他の汎用目的または特定目的のコンピュータ・システム環境または構成とともに動作可能なコンピュータ・システム(またはサーバ)12が存在する。コンピュータ・システム12とともに用いるために好適であり得る周知のコンピュータ・システム、環境、もしくは構成、またはその組み合わせの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル家電機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境などを含むが、それに限定されない。
【0032】
コンピュータ・システム12は、コンピュータ・システムによって実行されるたとえばプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な状況において説明されてもよい。一般的にプログラム・モジュールは、特定のタスクを行うか、または特定の抽象データ・タイプを実施するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、およびデータ構造などを含んでもよい。コンピュータ・システム12は、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクが行われる分散型クラウド・コンピューティング環境において実施されてもよい。分散型クラウド・コンピューティング環境において、プログラム・モジュールはローカルおよびリモートの両方のメモリ・ストレージ・デバイスを含むコンピュータ・システム記憶媒体に位置してもよい。
【0033】
図1に示されるとおり、コンピューティング・インフラストラクチャ10のコンピュータ・システム12は、汎用目的コンピュータ・デバイスの形で示されている。コンピュータ・システム12のコンポーネントは、1つ以上のプロセッサまたは処理ユニット(例、CPU)16と、システム・メモリ28と、システム・メモリ28を含むさまざまなシステム・コンポーネントをプロセッサ16に結合するバス18とを含んでもよいが、それに限定されない。
【0034】
バス18は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィクス・ポート、およびさまざまなバス・アーキテクチャのいずれかを用いたプロセッサまたはローカル・バスを含むいくつかのタイプのバス構造のいずれか1つ以上を表す。限定ではなく例として、こうしたアーキテクチャはインダストリ・スタンダード・アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロ・チャネル・アーキテクチャ(MCA:Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA:Video Electronics Standards Association)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI:Peripheral Component Interconnects)バスを含む。
【0035】
コンピュータ・システム12は通常、さまざまなコンピュータ・システム可読媒体を含む。こうした媒体はコンピュータ・システム12によってアクセス可能な任意の利用可能な媒体であってもよく、それは揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体の両方を含む。
【0036】
システム・メモリ28は、たとえばランダム・アクセス・メモリ(RAM:random access memory)30もしくはキャッシュ・メモリ32またはその両方などの、揮発性メモリの形のコンピュータ・システム可読媒体を含み得る。コンピュータ・システム12はさらに、その他の取り外し可能/取り外し不可能な揮発性/不揮発性コンピュータ・システム記憶媒体を含んでもよい。単なる例として、取り外し不可能な不揮発性磁気媒体(図示せず、通常は「ハード・ドライブ」と呼ばれる)からの読取りおよびそこへの書込みのために、ストレージ・システム34が提供され得る。図示されていないが、取り外し可能な不揮発性磁気ディスク(例、「フレキシブル・ディスク」)からの読取りおよびそこへの書込みのための磁気ディスク・ドライブ、およびたとえばCD-ROM、DVD-ROM、またはその他の光媒体などの取り外し可能な不揮発性光ディスクからの読取りまたはそこへの書込みのための光ディスク・ドライブが提供され得る。こうした場合には、各々が1つ以上のデータ媒体インターフェースによってバス18に接続され得る。さらに示されて後述されることとなるとおり、メモリ28は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット(例、少なくとも1つ)を有する少なくとも1つのプログラム製品を含んでもよい。
【0037】
プログラム・モジュール42のセット(少なくとも1つ)を有するプログラム/ユーティリティ40は、限定ではなく例としてメモリ28に記憶されてもよく、加えてオペレーティング・システム、1つ以上のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データに記憶されてもよい。オペレーティング・システム、1つ以上のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データの各々、またはその何らかの組み合わせは、ネットワーク化環境の実現を含んでもよい。プログラム・モジュール42は一般的に、本明細書に記載される本発明の実施形態の機能もしくは方法またはその両方を実行する。
【0038】
加えて、コンピュータ・システム12は、たとえばキーボード、ポインティング・デバイス、ディスプレイ24などの1つ以上の外部デバイス14か、ユーザがコンピュータ・システム12と対話することを可能にする1つ以上のデバイスか、もしくはコンピュータ・システム12が1つ以上の他のコンピュータ・デバイスと通信することを可能にする任意のデバイス(例、ネットワーク・カード、モデムなど)か、またはその組み合わせと通信してもよい。こうした通信は、入力/出力(I/O:Input/Output)インターフェース22を介して起こり得る。さらに、コンピュータ・システム12はネットワーク・アダプタ20を介して、たとえばローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、もしくは公共ネットワーク(例、インターネット)、またはその組み合わせなどの1つ以上のネットワークと通信できる。示されるとおり、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム12のその他のコンポーネントと通信する。図示されていないが、コンピュータ・システム12とともに他のハードウェアもしくはソフトウェア・コンポーネントまたはその両方が用いられ得ることが理解されるべきである。その例はマイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイバル・ストレージ・システムなどを含むが、それに限定されない。
【0039】
図2は、本発明の態様による例示的環境を示している。この環境は、サーバ60を1つ以上のデータ・ソース62もしくは1つ以上のクライアント・コンピュータ・デバイス64またはその両方と接続するネットワーク50を含む。サーバ60は、
図1のコンピュータ・システム12を含んでもよく、かつ
図1のネットワーク・アダプタ20を介してネットワーク50に接続されてもよい。サーバ60は、データ管理および分析システムの一部である特定目的コンピュータ・デバイスとして構成されてもよい。たとえば、サーバ60は、管理もしくは分析および報告またはその両方のために、クライアントのデータ・ソース62の1つ以上からデータ(例、ビッグ・データ)を収集するように構成されてもよい。
【0040】
ネットワーク50は、たとえばローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、もしくは公共ネットワーク(例、インターネット)、またはその組み合わせなどの任意の好適な通信ネットワークまたはネットワークの組み合わせであってもよい。データ・ソース62は、たとえばクライアント・データベースまたはサード・パーティ・データ・ソース(例、ソーシャル・メディア・サーバなど)など、データの任意のソースであってもよい。サーバ60は、64に表されている1つ以上のクライアント・コンピュータ・デバイスに、データ管理および分析サービスまたは出力を提供するように構成されてもよい。クライアント・コンピュータ・デバイスは、
図1のコンピュータ・システム12のコンポーネントを含んでもよく、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット、スマートフォン、またはその他のタイプのコンピュータ・デバイスであってもよい。
【0041】
なおも
図2を参照すると、サーバ60は、サーバ60によって実行され、かつ本明細書に記載される機能の1つ以上を行うように構成された1つ以上のプログラム・モジュール(例、
図1のプログラム・モジュール42)を含んでもよい。実施形態において、サーバ60は、ナレッジ・ベースの分析のためのモデリング・ツールおよび機能を提供するように構成されたモデリング・モジュール70と、ナレッジ・グラフにおける過少指定または過剰指定(過剰一般化)の場合を定めるように構成されたクラスタ・モジュール72と、類似の関係を有するナレッジ・ベース内のオブジェクトを識別するように構成された自然言語処理(NLP:natural language processing)モジュール74とを含む。本明細書において用いられるナレッジ・ベースという用語は、複数のソース(例、データ・ソース62)から集められたデータを含むこともあるデータのセットを示す。本明細書において用いられるナレッジ・グラフという用語は、情報を統合してオントロジとし、推論を適用して新たな知識を導き出すグラフを示す。ナレッジ・グラフは、特定のドメインまたは組織に関連するエンティティのネットワークを含む。態様において、本発明のナレッジ・グラフはエンティティの大きなネットワークと、それらのセマンティック・タイプと、特性と、エンティティ間の関係とを含む。セマンティックという用語は、オントロジの形の、グラフ内のデータとともにコード化されたデータの意味を示す。
【0042】
実施形態において、サーバ60は、ユーザが情報(例、命令、データなど)を入力するときに用い得るグラフィカル・ユーザ・インターフェース(GUI:graphical user interface)76と、サーバ60によって使用されるデータ・セットもしくはサーバ60のデータ出力またはその両方を記憶するためのデータベース78とを含む。実施形態において、サーバ60は、ビッグ・データ(すなわち、従来のデータ処理アプリケーション・ソフトウェアで対処するには大きすぎるか、または複雑すぎるデータ・セットを分析するか、そこから系統的に情報を抽出するか、または別様に対処するためのやり方)の分野における使用のために構成される。
【0043】
実施形態において、サーバ60は、付加的なコンポーネントまたは
図2に示されるものよりも少ないコンポーネントを含んでもよい。実施形態において、別個のコンポーネントが統合されて、単一のコンピューティング・コンポーネントまたはモジュールにされてもよい。付加的または代替的に、単一のコンポーネントが複数のコンピューティング・コンポーネントまたはモジュールとして実現されてもよい。
【0044】
図3は、本発明の態様による例示的方法の流れ図を示している。
図3の方法のステップは、
図2に示され、かつ
図2に示されるエレメントを参照して説明された環境において行われてもよい。
【0045】
ステップ300において、サーバ60はナレッジ・グラフを生成または取得し、このナレッジ・グラフはナレッジ・ベース(データの1つ以上のセット)に基づくものである。上述のとおり、本明細書において用いられるナレッジ・グラフという用語は、情報を統合してオントロジとし、推論を適用して新たな知識を導き出すグラフを示す。より具体的には、ナレッジ・グラフは、特定のドメインまたは組織に関連するエンティティのネットワークを含む。たとえば、ナレッジ・グラフは医学分野、石油およびガスの分野、またはその他の分野もしくは産業における適用のために生成されてもよい。態様において、本発明のナレッジ・グラフはエンティティの大きなネットワークと、それらのセマンティック・タイプと、特性と、エンティティ間の関係とを含む。ステップ300によって、ナレッジ・グラフを作成するためのさまざまな方法が使用されてもよい。たとえば、既存の技術もしくはソフトウェアまたはその両方を使用してデータからナレッジ・グラフを生成するために、データ分析者などによってアプリケーション・プログラミング・インターフェース(API:application programing interface)ツールキットまたは人工知能(AI:artificial intelligence)データ・キットが使用されてもよい。実施において、サーバ60のモデリング・モジュール70は、ステップ300によるナレッジ・グラフを生成する。代替的に、ユーザはたとえばクライアント・コンピュータ・デバイス64などから、すでに生成されたナレッジ・グラフを取得してもよい。ナレッジ・グラフは、複数のソース(例、データ・ソース62)から集められたデータに基づいて生成されてもよい。態様において、ナレッジ・グラフは、ドメインを確立するスキーマを用いてナレッジ・ベース(データの1つ以上のセット)から生成され、このグラフは1つ以上のオブジェクト・クラスタ(すなわち、グラフ内でともに近くに位置または発生している類似のオブジェクトのグループ)を示す。
【0046】
ステップ301において、サーバ60は、ステップ300のナレッジ・グラフのオブジェクト・クラスタのサイズが、ナレッジ・ベースの過少指定を示す閾値を満たすと判定する。上記のとおり、本明細書において用いられる過少指定された(underspecified)または過少指定(under-specification)という用語は、不十分もしくは正確さが不十分な情報、または不完全に指定された情報を示す。実施において、サーバ60のクラスタ・モジュール72は、ステップ301による過少指定を判定する。データのグラフ化においてクラスタリング・ステップが行われる場合、所与のエンティティがグラフ上の周囲のクラスタに対して不均衡な圧倒的に密集したクラスタを有することが示されるとき、こうした不均衡に密集したクラスタは過少指定であり得る場合を示す。よって、本発明の実施形態はクラスタを用いてナレッジ・ベースの過少指定に対する推定原因を見出すものであり、ここで過少指定は絶対的またはヒューリスティックに測定されるのではなく、所与のコーパス(データの本体または集合体)またはそのドメイン内のすべてのコーパスに位置するグループに対して相対的に測定される。
【0047】
なおも
図3のステップ301を参照して、実施形態においては、argmax(最大点集合(arguments of the maxima))関数を使用して、周囲のクラスタ・グループよりも大きいサイズを有するクラスタ内のドメインの臨界点を定める。数学では、argmaxは何らかの関数のドメインの関数値が極大化する点である。仮想的な過少指定を示すクラスタ・サイズの検出は、各クラスタに対する合計パーセンテージを閾値化し得る式を用いて、もしいずれか1つのグループまたはクラスタの集合データが他のクラスタの組み合わせよりもn%大きければ、サーバ60が過少指定の指示を検出することによって解決され得る。この判定のための式はδ=χ-ηと表すことができ、ここでχは仮想的分割(すなわち、クラスタ内のエレメントの所望の仮想的平均数)であり、ηは実際の分割(すなわち、クラスタ内のエレメントの実際の数)であり、0≦δ≧閾値は過少指定の程度を示す。態様において、サーバ60は予め定められた規則を使用して、(規則および閾値によって定められた)高度の過少指定に対して、ステップ302による措置を取る必要があるかどうかを判定する。
【0048】
過少指定されたエンティティを分解する能力は、ナレッジ・グラフにおいて潜在的である。本明細書において用いられる分解という用語は、オブジェクトまたはエンティティをそのオブジェクトまたはエンティティのコンポーネント・エレメントに分けるか、またはそのオブジェクトもしくはエンティティをさらに指定することを示す。有利なことに、本発明の実施形態は、分析者がナレッジ・グラフのドメインに関するいかなる特定の知識またはトレーニングも有する必要なく、サーバ60のクラスタ・モジュール72が過少指定であり得る場合を判定することを可能にする。たとえば、医学分野に関するオブジェクトのクラスタを含むナレッジ・グラフを、その特定の医学分野の知識を有するユーザを伴わずにクラスタ・モジュール72によって過少指定であり得る場合について分析してもよい。つまり、オブジェクトのクラスタをさらに分解するべきかどうかを判定するために、ユーザがナレッジ・グラフの任意の手動分析または知能的分析を適用する必要がない。このことは、分析者がナレッジ・ベースのドメインにおける特定の知識またはスキルを有さないときに特に有益である。ナレッジ・グラフはしばしば、クラスタ化されたオブジェクトに関する付加的な情報を提供するためのサブグラフを生成するために使用される。したがって、本発明の実施形態は、ステップ301における過少指定の判定がなければ作成できないクラスタからのサブグラフの作成を可能にする。
【0049】
ステップ302において、サーバ60はステップ301の判定に応答して、(階層構造が存在するときは)ナレッジ・ベースの潜在的な階層構造内の高頻度の親子関係を定める。態様において、サーバ60のNLPモジュール74はNLPパターン・マッチング分析(例、Is-aパターン抽出)を行って、予め定められた規則もしくは閾値またはその両方に基づいてナレッジ・ベース内の高頻度の親子関係を定める。たとえば、NLPモジュール74は、ナレッジ・ベース内のデータのカテゴリ間の親子関係を示すキーワードを識別してもよい。
【0050】
ステップ303において、サーバ60はステップ302において定められた高頻度の親/子関係に基づいて、ナレッジ・グラフに対するサブクラスを作成する。実施形態においては、サーバ60のNLPモジュール74がステップ303を実施する。態様において、サーバ60は用語頻度-逆文書頻度(TF-IDF:term frequency-inverse document frequency)マッチングを使用して、ステップ302において定められた親/子関係に基づいて複数のサブクラスを作成する。一般的に、TF-IDFマッチングは、稀でも頻出でもなく中間のどこかにある言葉または用語を見出すものである。よって態様において、ステップ301にて過少指定と識別されたクラスタは、ステップ302において定められた適用可能な高頻度の親/子関係に基づいてサブクラスに分解される。
【0051】
ステップ304において、ステップ302の判定に応答して、かつナレッジ・ベース内に階層構造が存在しないとき、サーバ60は、類似の関係(例、予め定められた閾値を満たすコンピュータ・ノードの類似性)を有するオブジェクトを識別するために、NLP技術を用いてナレッジ・ベース内のピア・ノード(兄弟)を識別する。実施においては、サーバ60のNLPモジュール74がステップ304を実施する。態様において、(例、予め定められた規則に基づいて)類似の関係を有するオブジェクトを探し、それを用いてノード類似性を計算するNLP技術によって、パターン・マッチングの複雑さを解決できる。
【0052】
ステップ305において、サーバ60はステップ304において識別されたピア・ノードに基づいて、ナレッジ・グラフに対するサブクラスを作成する。実施においては、NLPモジュール74がステップ305を行う。態様において、ステップ301にて過少指定と識別されたクラスタは、ステップ304で識別されたピア・ノードに基づいてサブクラスに分解される。態様において、ステップ305の出力は、過少指定を解決するための提案である。
【0053】
ステップ306において、サーバ60は、改善されたナレッジ・グラフを生成するためにステップ303または305において生成されたサブクラスに基づいてナレッジ・グラフを再初期化または更新する。改善されたナレッジ・グラフは元のナレッジ・グラフに存在するものよりも多くのクラスタを含み、より多く指定されたナレッジ・グラフを提供する。態様において、サーバ60はボロノイ・セル・クラスタ初期化式σ∝(ω+1)を使用し、ステップ301にて過少指定と判定されたクラスタは、クラスタ初期化式σ∝(ω+1)と同等のクラスタ重心によって再初期化される。
【0054】
ステップ307において、サーバ60は、閾値量未満のデータ・ポイントを有するナレッジ・グラフのオブジェクト・クラスタの1つ以上に基づいて、ナレッジ・ベースの過剰指定を判定する。ステップ307は元のナレッジ・グラフに対して行われてもよいし、ステップ306において生成された改善されたナレッジ・グラフに対して行われてもよいことが理解されるべきである。実施においては、サーバのクラスタ・モジュール72がステップ307を実施する。実施において、サーバ60は、ナレッジ・ベースの過剰指定された部分を含むナレッジ・グラフのクラスタ(複数)と、それらのクラスタのオブジェクトとを識別する。
【0055】
ステップ308において、サーバ60はナレッジ・グラフを再初期化して、ステップ307において識別された過剰指定されたクラスタ(複数)のオブジェクトをまとめて別のクラスタにして、更新されたナレッジ・グラフを生成する。言い換えると、オブジェクトを指定除外して更新されたナレッジ・グラフを生成するために、以前は複数のクラスタのグループだったオブジェクトを単一のクラスタに統合する。ステップ308は、サーバ60または手動の監視によって自動的に実施されてもよい。
【0056】
ステップ309において、サーバ60は、ステップ308の更新されたナレッジ・グラフまたはステップ306の改善されたナレッジ・グラフに基づいて出力を生成する。サーバ60によって、本発明のナレッジ・グラフから抽出された情報を含むクライアント報告、または本発明のナレッジ・グラフから抽出された情報に基づくコンピュータ機能を実現するための命令を含むさまざまな出力が生成されてもよい。態様において、サーバは、改善されたナレッジ・グラフもしくは更新されたナレッジ・グラフまたはその両方からの知識に基づいて報告を生成し、その報告をネットワーク50を介してクライアント・コンピュータ・デバイス64に送信する。ステップ309の実行においては、さまざまな報告実施が分析者によって使用されるか、またはサーバ60によって自動的に使用されてもよく、本発明は特定の出力実施に限定されることは意図されていないことが理解されるべきである。
【0057】
図4Aは、本発明の態様によるナレッジ・ベースの過少指定を示すドメインに対する注釈付きのナレッジ・グラフ400Aを示している。より具体的には、
図4Aは、あるモデルに基づいてクラスタ(クラスタ1~3)に組織化されたオブジェクトまたはオブジェクト・ノードを示すナレッジ・グラフ400Aを示している。ナレッジ・グラフ400Aの生成に使用された特定のモデルについては、この開示の目的のために説明される必要はなく、データ分析者が定めるとおりのナレッジ・グラフ400Aを生成するための任意の適切なモデルであり得る。
図4は実世界の例を表しており、ここではテキスト・マイニングによって、所与のエンティティが存在している(ナレッジ・グラフがクラスタ化されたエンティティのグループを表している)が、抽出されたオブジェクトは過少指定されており、潜在的な分解能力を有することが明らかにされている。
図4に示されるとおり、オブジェクトの第1のクラスタであるクラスタ1と、オブジェクトの第2のクラスタであるクラスタ2と、オブジェクトの第3のクラスタであるクラスタ3との比較によって、クラスタ3は同じドメイン内の他のクラスタ(クラスタ1および2)と比べて密度が高く、不均衡なクラスタ・サイズを有することが示される。この例において、クラスタ3は3つの総エンティティ・タイプ(クラスタ1、2、および3によって表される)全体のデータの81.5%を与えている。
【0058】
図4Bは、本発明の態様によるナレッジ・ベースの十分な指定を示す、
図4Aのドメインに対する改善されたナレッジ・グラフ400Bを示している。クラスタ3Aおよび3Bは、
図4Aの過少指定されたクラスタ3から正しく分解された指定の子エンティティを表す。クラスタ3Cは、
図4Aの元のクラスタ3に属するエンティティのうち、
図4Aの元のクラスタ3からさらに適切に分解され得なかったものを表す。
【0059】
場合によっては、ナレッジ・グラフはモデルに基づいて付加的な空のクラスタを伴って生じることとなり、これはナレッジ・グラフを生成するために使用されたモデルが十分に改善されていて失われたエンティティが存在しないことを示してもよい。しかし、ほとんどの非自明データ・セットにおいて、すべてのエンティティ(オブジェクト)を完全に改善することは不可能であろう。
【0060】
場合によっては、エンティティが過剰指定されることとなるようなモデルに基づいてナレッジ・グラフが生成されるだろう。こうしたグラフのクラスタに共通するエンティティ・レベルの各々はドメイン内の共通の指定かもしれないが、分析者の目標は妥当な指定レベルを維持することである。ナレッジ・グラフ上の推論境界を越えてエンティティを分解する理由はない。本明細書において用いられる推論境界という用語は、推論がどこまで行われるかに対して定められた規則を示す。ナレッジ・グラフ内のクラスタは、推論を制限するための境界として用いられ得る。本発明の実施形態は、ナレッジ・グラフに対して行われる推理および推論のタイプに基づく過剰指定のレベルに対する調整を可能にする。一例において、ナレッジ・グラフの小さなクラスタは、ナレッジ・グラフの推論能力にとって必須ではないレベルへの分解を表している。この状況において、必須ではないとは、エンティティにインスタンス・データが投入されないだろうと考えられ、かつエンティティがグラフ内の他のノードに対する有意な数の関係を有さない(凝集性が低い)と考えられることを意味する。
【0061】
図5Aは、ナレッジ・ベースの過剰指定を示す注釈付きのナレッジ・グラフ500Aを示している。
図5Aは、上記において議論したボロノイ・セル・クラスタ初期化式σ∝(ω+1)におけるクラスタリング分析を用いたときに、ナレッジ・グラフにおいて過剰指定がどのように見えるかという例を表している。
図5Aの例において、クラスタ4のノードはソース・データ(ナレッジ・ベース)における汎用(指定されていない)エンティティを示す。クラスタ3のノードは、クラスタ4のノードと類似であるが別の分解タイプを有するエンティティを表す。クラスタ2のノードは、別の類似のエンティティ・タイプを表す。クラスタ5のノードは、やはり類似のタイプを有する過剰指定されたエンティティ・タイプを表す。
図3のステップ307による過剰指定の検出は、エンティティ・タイプに対する任意のデータ・ポイントが不在であることのみに基づくものではない。たとえば、もしあるクラスタが空であれば、これはそのクラスタに対するデータの任意のインスタンスが不在であることを示すだろう。本発明の実施形態によると、過剰指定を示すための閾値が確立される。閾値は予め定められた一般的な閾値であってもよいし、ドメイン・タイプに対して特定的な予め定められた閾値であってもよい。任意のクラスタがn%のデータ・ポイントを有する場合(ここでnはアルゴリズムに対してパラメータ化される)、アルゴリズムはボロノイ・セル・クラスタ初期化式を伴って再開することとなる。
【0062】
図5Bは、クラスタ初期化後の
図5Aの注釈付きナレッジ・グラフの改善されたバージョンを示している。
図5Bの例において、
図5Aのクラスタ4および5のエンティティは、
図5Bの汎用エンティティ・クラスタ5に包含されている。空のクラスタ4は、セル初期化において確立されたn+1クラスタであり、これはソース・データ(ナレッジ・ベース)内に失われたエンティティ・タイプがないことを証明するものである。最終ステップとして、過剰指定されたエンティティはナレッジ・グラフから除去され、メタデータの任意の既存のインスタンスは包含エンティティに再割り当てされる。公式のワールド・ワイド・ウェブ・コンソーシアム(W3C:World Wide Web Consortium)ウェブ・オントロジ言語(OWL:Web Ontology Language)グラフが用いられる場合は、推論の目的のために2つのエンティティが同等であると示すために、グラフのowl:equivalentToプロパティが用いられ得る。W3C OWLは、物事、物事のグループ、および物事間の関係に関する豊かで複雑な知識を表すように設計されたセマンティック・ウェブ言語である。
【0063】
実施形態において、サービス・プロバイダは、本明細書に記載されるプロセスを行うことを提案し得る。この場合、サービス・プロバイダは、1つ以上の顧客に対して本発明のプロセス・ステップを行うコンピュータ・インフラストラクチャの作成、維持、配置、サポートなどを行い得る。これらの顧客は、たとえば技術を用いる任意の事業所などであってもよい。その見返りとして、サービス・プロバイダは定額制もしくは料金契約またはその両方によって顧客(単数または複数)から支払いを受けてもよいし、またはサービス・プロバイダは1つ以上のサード・パーティに対する広告コンテンツの販売によって支払いを受けてもよいし、あるいはその両方であってもよい。
【0064】
さらに別の実施形態において、本発明は、ナレッジ・グラフの過剰指定または過少指定の自動的解決のためのコンピュータに実装される方法を提供する。この場合、たとえばコンピュータ・システム12(
図1)などのコンピュータ・インフラストラクチャが提供されてもよく、かつ本発明のプロセスを行うための1つ以上のシステムが取得(例、作成、購入、使用、変更など)されて、そのコンピュータ・インフラストラクチャに配置され得る。この範囲において、システムの配置は以下の1つ以上を含み得る。(1)コンピュータ可読媒体から、たとえば(
図1に示される)コンピュータ・システム12などのコンピュータ・デバイスにプログラム・コードをインストールすること、(2)コンピュータ・インフラストラクチャに1つ以上のコンピュータ・デバイスを追加すること、および(3)コンピュータ・インフラストラクチャの1つ以上の既存のシステムの組み込みもしくは変更またはその両方を行って、コンピュータ・インフラストラクチャが本発明のプロセスを行い得るようにすること。
【0065】
実施形態において、本発明のコンピュータに実装される方法は、機械知能を用いてナレッジ・ベース内の過剰一般化および過少指定を検出することを含む。態様において、この方法は、ナレッジ・グラフのクラスタを受信したことに応答して、仮想的分割からクラスタ内の実際の分割を差し引くことによって値を定めることと、その値が0以上かつ閾値以上であることに応答して過少指定を判定することとをさらに含む。実施において、この方法は、過少指定を判定したことに応答して、IS-Aパターン抽出に対する自然言語パターンを用いてナレッジ・ベースにおける潜在的な親/子関係を識別することと、識別された親子関係に対して複数のサブクラスを作成することとをさらに含む。態様において、加えてこの方法は、ナレッジ・ベース内の潜在的な階層構造を識別できないことに応答して、ナレッジ・ベースを分解してナレッジ・ベースのピア・ノードにすることと、自然言語技術を用いてパターン・マッチングを行って、コンピュータ・ノードの類似性に対する類似の関係を有するオブジェクトを識別することとを含む。態様において、この方法は、ボロノイ・セル・クラスタ初期化式におけるクラスタリング分析を用いることを含む。
【0066】
本発明のさまざまな実施形態の説明は例示の目的のために提供されたものであり、開示される実施形態に対して網羅的または限定的になることは意図されていない。記載される実施形態の範囲および思想から逸脱することなく、当業者には多くの修正および変更が明らかになるだろう。本明細書において用いられる用語は、実施形態の原理、市場に見出される技術に対する実際の適用または技術的改善点を最もよく説明するか、または他の当業者が本明細書に開示される実施形態を理解できるようにするために選択されたものである。