(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-27
(45)【発行日】2024-10-07
(54)【発明の名称】オントロジーベースのデータセットにおける矛盾に関する説明を計算するための方法
(51)【国際特許分類】
G06N 5/04 20230101AFI20240930BHJP
【FI】
G06N5/04
【外国語出願】
(21)【出願番号】P 2020140054
(22)【出願日】2020-08-21
【審査請求日】2023-06-16
(32)【優先日】2019-08-23
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ダリア ステパノヴァ
(72)【発明者】
【氏名】エフゲニー ハルラモフ
(72)【発明者】
【氏名】ヤニク シュトレートゲン
(72)【発明者】
【氏名】モハメド ガド-エルラブ
(72)【発明者】
【氏名】チュン キエン チャン
【審査官】宮司 卓佳
(56)【参考文献】
【文献】米国特許出願公開第2007/0198448(US,A1)
【文献】特開2010-224833(JP,A)
【文献】特開2001-092827(JP,A)
【文献】米国特許出願公開第2015/0019207(US,A1)
【文献】米国特許出願公開第2015/0154178(US,A1)
【文献】Birte Glimm et al.,Scalable Reasoning by Abstraction Beyond DL-Lite,International Conference on Web Reasoning and Rule Systems,2016年08月26日,https://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.090/Publikationen/2016/GlKT16b.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06N 5/04
(57)【特許請求の範囲】
【請求項1】
オントロジー(O)によって強化された第1のデータセット(KG)における矛盾説明(E)を計算するためのコンピュータ実装方法(100)であって、
前記第1のデータセット(KG)は、個体(a,b,d,e,f,g,h)と称されるデータ要素と、前記個体に関するファクトとを含み、
前記ファクトは、オントロジー言語に従って、クラス表明(C(a),C(d),B(f),B(g))及び/又はプロパティ表明(R(a,b),S(d,f),T(f,h))の観点から表現され、
クラス表明は、1つの個体(a,b,d,e,f,g,h)をクラス(A,B,C,D)に関連付けるものであり、
プロパティ(R,S,T)は、2つの個体(a,b,d,e,f,g,h)の間の関係を指すものであり、プロパティ表明は、1つの個体(a,b,d,e,f,g,h)を第2の個体(a,b,d,e,f,g,h)に関連付けるものであり、
前記オントロジー(O)は、前記クラス(A,B,C,D)及び/又は前記プロパティ(R,S,T)の形式的かつ明示的な記述を含み、さらに、前記クラス(A,B,C,D)及び/又は前記プロパティ(R,S,T)に関する公理(ax1,ax2,ax3)を含み、
当該方法は、
前記第1のデータセット(KG)の抽象的記述である第2のデータセット(KG’)を構築するステップ(120)と、
前記オントロジー(O)の前記公理に関して前記第2のデータセット(KG’)における矛盾説明(E’)を計算するステップ(130)と、
前記第2のデータセット(KG’)における前記計算された矛盾説明(E’)に基づいて、前記オントロジー(O)に関して前記第1のデータセット(KG)に関する矛盾説明(E)を計算するステップ(140)と、
を含
み、
当該方法(100)は、
前記第1のデータセット(KG)の前記データ要素を複数のモジュール(M)に分割するステップ(110)をさらに含み、
それぞれのモジュール(M)は、それぞれ1つの個体(a,b,d,e,f,g,h)に関連付けられていて、前記個体(a,b,d,e,f,g,h)のクラス表明(C(a),C(d),B(f),B(g))及び/又はプロパティ表明(R(a,b),S(d,f),T(f,h))の全体を含み、
前記第1のデータセット(KG)の抽象的記述である前記第2のデータセット(KG’)を構築する前記ステップ(120)は、前記モジュール(M)に基づいている、方法(100)。
【請求項2】
前記第2のデータセット(KG’)を構築するステップ(120)は、
前記第1のデータセット(KG)の前記個体(a,b,d,e,f,g,h)に関する抽象的なクラス表明(A(u),B(w),C(v),D(x))及び/又は抽象的なプロパティ表明(R(u,v),S(v,w),T(x,w))を構築すること
をさらに含み、
前記個体(a,b,d,e,f,g,h)の代表変数(u,v,w,x)に基づいて、
前記抽象的なクラス表明(A(u),B(w),C(v),D(x))は、前記クラス表明(C(a),C(d),B(f),B(g))の抽象的記述を含み、
及び/又は、
前記抽象的なプロパティ表明(R(u,v),S(v,w),T(x,w))は、前記プロパティ表明(R(a,b),S(d,f),T(f,h))の抽象的記述を含み、
同様のクラス表明(C(a),C(d),B(f),B(g))及び/又は同様のプロパティ表明(R(a,b),S(d,f),T(f,h))の中に存在する個体(a,b,d,e,f,g,h)は、同等の代表変数(u,v,w,x)によって表現される、
請求項1に記載の方法(100)。
【請求項3】
当該方法(100)は、
前記個体(a,b,d,e,f,g,h)のうちの少なくとも1つに関する少なくとも1つのローカルタイプ(τ)、及び
、前記少なくとも1つのローカルタイプに関する抽象(abs(τ))を識別するステップ(112,122)
をさらに含み、
ローカルタイプ(τ)は、
前記個体(a,b,d,e,f,g,h)のクラス表明(C(a),C(d),B(f),B(g))の中に存在するクラスの集合、
及び/又は、
前記個体(a,b,d,e,f,g,h)のプロパティ表明(R(a,b),S(d,f),T(f,h))の中に存在するプロパティの集合
から成り、
前記少なくとも1つのローカルタイプ(τ)に関する前記抽象(abs(τ))は、代表変数(u,v,w,x)に基づいている、
請求項1又は2に記載の方法(100)。
【請求項4】
当該方法(100)は、
前記少なくとも1つのローカルタイプ(τ)、及び、前記少なくとも1つのローカルタイプ(τ)に関する前記抽象(abs(τ))を識別するステップ(112,122)の後に、
前記個体(a,b,d,e,f,g,h)のうちの少なくとも1つに関する少なくとも1つの優勢なローカルタイプ(τ’)、例えば最大のローカルタイプ(τ
max)、
及び
、
前記優勢なローカルタイプ(τ’)に関する少なくとも1つの抽象(abs(τ’))、例えば前記最大のローカルタイプ(τ
max)に関する抽象(abs(τ
max))
を識別するステップ(114,124)をさらに含み、
優勢なローカルタイプ(τ’)は、当該優勢なローカルタイプ(τ’)におけるそれぞれのクラスの集合及び/又はそれぞれのプロパティの集合が、前記個体(a,b,d,e,f,g,h)のローカルタイプ(τ)における対応するクラスの集合及び/又は対応するプロパティの集合を含む場合に、前記個体(a,b,d,e,f,g,h)の前記ローカルタイプ(τ)よりも優勢であり、
前記優勢なローカルタイプ(τ’)に関する前記抽象(abs(τ’))は、代表変数(u,v,w,x)に基づいている、
請求項
3に記載の方法(100)。
【請求項5】
前記第2のデータセット(KG’)を構築するステップ(120)は、
前記少なくとも1つの優勢なローカルタイプ(τ’)、及び、前記優勢なローカルタイプ(τ’)に関する前記抽象(abs(τ’))を識別するステップ(114,124)の後に、
前記個体(a,b,d,e,f,g,h)のうちの少なくとも1つの優勢なローカルタイプに関する少なくとも1つの抽象(abs(τ’))、例えば最大のローカルタイプに関する抽象(abs(τ
max))を構築すること(126)
をさらに含み、
優勢なローカルタイプ(τ’)に関する前記抽象(abs(τ’))及び/又は最大のローカルタイプ(τ
max)に関する前記抽象(abs(τ
max))は、前記個体(a,b,d,e,f,g,h)の代表変数(u,v,w,x)に基づいており、
同様のクラス表明(C(a),C(d),B(f),B(g))及び/又は同様のプロパティ表明(R(a,b),S(d,f),T(f,h))の中に存在する個体(a,b,d,e,f,g,h)は、同等の代表変数(u,v,w,x)によって表現される、
請求項
4に記載の方法(100)。
【請求項6】
前記第2のデータセット(KG’)における矛盾説明(E’)を計算する前記ステップ(130)は、
優勢なローカルタイプ(τ’)に関する前記抽象(abs(τ’)
)における矛盾説明(E’)、例えば、最大のローカルタイプ(τ
max)に関する前記抽象(abs(τ
max))及び/又はローカルタイプ(τ)に関する前記抽象(abs(τ))における矛盾説明(E’)を計算すること(132)
をさらに含む、
請求項
4又は5に記載の方法(100)。
【請求項7】
当該方法(100)は、
前記第1のデータセット(KG)に関する矛盾説明(E)及び/又は前記第2のデータセット(KG’)に関する矛盾説明(E’)を、理解可能な形式で出力するステップをさらに含む、
請求項1乃至
6のいずれか一項に記載の方法(100)。
【請求項8】
前記第1のデータセット(KG)に関する矛盾説明(E)は、前記第2のデータセット(KG’)に関する対応する矛盾説明(E’)から取得される、
請求項1乃至
7のいずれか一項に記載の方法(100)。
【請求項9】
前記第1のデータセット(KG)及び/又は前記オントロジー(O)は、ウェブ・オントロジー言語、即ち、OWL2のようなW3Cウェブ・オントロジー言語OWLに基づいて定義される、
請求項1乃至
8のいずれか一項に記載の方法(100)。
【請求項10】
前記第1のデータセット(KG)を強化する前記オントロジー(O)は、OWL2の公理の以下の公理:
クラスCがクラスDのサブクラスであることを指定するサブクラス公理SubClassOf(C,D)、
PがSのサブプロパティであることを指定するサブプロパティ公理SubObjectPropertyOf(P,S)、又は、
推移的プロパティ公理TransitiveObjectProperty(P)、
のうちの少なくとも1つを含み、
i∈{1,2}であるC
(i)及びP
(i)は、以下の文法定義:
【数1】
を満たしており、ここで、Rは、プロパティ名、Aは、クラス名である、
請求項
9に記載の方法(100)。
【請求項11】
コンピュータプログラムコードを含むコンピュータプログラムであって、
当該コンピュータプログラムコードは、コンピュータ上で実行されるときに、前記コンピュータが請求項1乃至
10のいずれか一項に記載の方法(100)を実施し得るようにする、
コンピュータプログラム。
【請求項12】
オントロジー(O)によって強化された第1のデータセット(KG)における矛盾説明(E)を計算するための装置(200)であって、
前記第1のデータセット(KG)は、個体(a,b,d,e,f,g,h)と称されるデータ要素と、前記個体に関するファクトとを含み、
前記ファクトは、オントロジー言語に従って、クラス表明(C(a),C(d),B(f),B(g))及び/又はプロパティ表明(R(a,b),S(d,f),T(f,h))の観点から表現され、
クラス表明は、1つの個体(a,b,d,e,f,g,h)をクラス(A,B,C,D)に関連付けるものであり、
プロパティ(R,S,T)は、2つの個体(a,b,d,e,f,g,h)の間の関係を指すものであり、プロパティ表明は、1つの個体(a,b,d,e,f,g,h)を第2の個体(a,b,d,e,f,g,h)に関連付けるものであり、
前記オントロジー(O)は、前記クラス(A,B,C,D)及び/又は前記プロパティ(R,S,T)の形式的かつ明示的な記述を含み、さらに、前記クラス(A,B,C,D)及び/又は前記プロパティ(R,S,T)に関する公理(ax1,ax2,ax3)を含み、
当該装置(200)は、
前記第1のデータセット(KG)の前記データ要素を保存するための手段(10)と、
前記第1のデータセット(KG)の前記データ要素を複数のモジュール(M)に分割する(110)ための手段(20)と、
前記第1のデータセット(KG)の抽象的記述である第2のデータセット(KG’)を構築する(120)ための手段(30)と、
前記オントロジー(O)の前記公理に関して前記第2のデータセット(KG’)における矛盾説明(E’)を計算する(130)ための手段(50)と、
前記第2のデータセット(KG’)における前記計算された矛盾説明(E’)に基づいて、前記オントロジー(O)に関して前記第1のデータセット(KG)に関する矛盾説明(E)を計算する(140)ための手段(70)と、
を含
み、
それぞれのモジュール(M)は、それぞれ1つの個体(a,b,d,e,f,g,h)に関連付けられていて、前記個体(a,b,d,e,f,g,h)のクラス表明(C(a),C(d),B(f),B(g))及び/又はプロパティ表明(R(a,b),S(d,f),T(f,h))の全体を含み、
前記第2のデータセット(KG’)を構築する(120)ための前記手段(30)は、前記モジュール(M)に基づいて、前記第2のデータセット(KG’)を構築する(120)ように構成されている、装置(200)。
【請求項13】
請求項2乃至
10のいずれか一項に記載の方法を実行するための手段をさらに含む、請求項
12に記載の装置(200)。
【請求項14】
オントロジー(O)によって強化された第1のデータセット(KG)のデータクリーニングのための、請求項1乃至
10のいずれか一項に記載の方法(100)
の使用、及び/又は、請求項
11に記載のコンピュータプログラム
の使用、及び/又は、請求項
12又は
13に記載の装置(200)の使用。
【発明の詳細な説明】
【技術分野】
【0001】
背景
知識グラフは、主に(実世界の)エンティティと、これらのエンティティ同士の関係とを記述することにより、知識をグラフベースで表現するために使用される。
【0002】
本発明は、そのような知識グラフにおける矛盾説明(inconsistency explanation)を計算するためのコンピュータ実装方法に関する。
【背景技術】
【0003】
知識グラフは、知識グラフにおけるデータを記述するクラス及び関係を定義するスキーマ公理から成るオントロジーによって強化されることが多い。
【0004】
知識グラフは、例えば、テキストから自動的に構築されることが多く、従って、付随するオントロジーに関して矛盾することが多い。矛盾説明を計算するためには、論理的推論が必要とされるが、これは、計算量が多いので、数百万及び数十億のファクトを含み得る大規模な実世界の知識グラフの場合には問題となる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
発明の開示
従って、本発明の課題は、本明細書においては第1のデータセットと称される大規模な知識グラフにおける矛盾説明を計算するための方法を提供することである。
【課題を解決するための手段】
【0006】
本発明の1つの実施形態によれば、オントロジーによって強化された第1のデータセットにおける矛盾説明を計算するためのコンピュータ実装方法であって、第1のデータセットは、個体と称されるデータ要素と、上記個体に関するファクトとを含み、上記ファクトは、オントロジー言語に従って、クラス表明及び/又はプロパティ表明の観点から表現され、クラス表明は、1つの個体をクラスに関連付けるものであり、プロパティ表明は、1つの個体を第2の個体に関連付けるものであり、オントロジーは、上記クラス及び/又は上記プロパティの形式的かつ明示的な記述を含み、さらに、上記クラス及び/又は上記プロパティに関する公理を含み、当該方法は、上記第1のデータセットの抽象的記述である第2のデータセットを構築するステップと、上記オントロジーの上記公理に関して上記第2のデータセットにおける矛盾説明を計算するステップと、上記第2のデータセットにおける上記計算された矛盾説明に基づいて、上記オントロジーに関して上記第1のデータセットに関する矛盾説明を計算するステップとを含む、方法が提供される。
【0007】
第1のデータセットは、エンティティに関する複数のファクトを含み、以下においては、上記エンティティに関する単項ファクト及び/又は二項ファクトとも称され、単項ファクトは、個体をクラスに割り当てるものであり、二項ファクトは、1つの個体を他の個体に関連付けるものである。
【0008】
オントロジーは、それぞれの議論領域を実体化する個体、クラス及びプロパティの表現、形式的な名前及び定義を包含する。オントロジーは、クラス及び/又はプロパティの形式的かつ明示的な記述と、上記クラス及び/又はプロパティに関する公理とを含む。
【0009】
矛盾とは、第1のデータセットにおける1つ又は複数のファクトと、オントロジーにおける1つ又は複数の公理との間に相反が存在することを意味する。
【0010】
好ましくは、第1のデータセットKGの抽象、即ち、第2のデータセットは、元の第1のデータセットよりも小さい。
【0011】
好ましくは、上記オントロジーの上記公理に関して上記第2のデータセットにおける矛盾説明を計算するステップは、推論エンジン、ルールエンジンとして、又は、単に推論機構としても知られるセマンティック推論機構により、上記ファクトと、公理とから論理結果を推論することによって実行される。
【0012】
上記第2のデータセットにおける上記計算された矛盾説明に基づいて、上記第1のデータセットに関する矛盾説明を計算するステップは、上記第2のデータセットにおける計算された矛盾説明から、上記第1のデータセットに関する矛盾説明を再構築することである。
【0013】
本方法は、矛盾が存在するかどうかを判別するために、第1のデータセットの抽象を使用して矛盾説明を効率的に計算する。さらに、本方法は、第1のデータセットに関する矛盾説明を計算するために抽象を使用する。
【0014】
1つの実施形態によれば、第2のデータセットを構築するステップは、上記第1のデータセットの上記個体に関する抽象的なクラス表明及び/又は抽象的なプロパティ表明を構築することをさらに含み、上記個体の代表変数に基づいて、上記抽象的なクラス表明は、上記クラス表明の抽象的記述を含み、及び/又は、上記抽象的なプロパティ表明は、上記プロパティ表明の抽象的記述を含み、同様のクラス表明及び/又は同様のプロパティ表明の中に存在する個体は、同等の代表変数によって表現される。
【0015】
好ましくは、当該方法は、個体のうちの少なくとも1つに関する少なくとも1つのローカルタイプ、及び/又は、少なくとも1つのローカルタイプに関する抽象を識別するステップをさらに含み、ローカルタイプは、上記個体のクラス表明の中に存在するクラスの集合、及び/又は、上記個体のプロパティ表明の中に存在するプロパティの集合から成り、少なくとも1つのローカルタイプに関する抽象は、代表変数に基づいている。好ましくは、少なくとも1つのローカルタイプに関する抽象は、スター形状の抽象である。
【0016】
好ましくは、当該方法は、個体のうちの少なくとも1つに関する少なくとも1つの優勢なローカルタイプ、例えば最大のローカルタイプ及び/又は優勢なローカルタイプに関する少なくとも1つの抽象、例えば最大のローカルタイプに関する抽象を識別するステップをさらに含み、優勢なローカルタイプは、当該優勢なローカルタイプにおけるそれぞれのクラスの集合及び/又はそれぞれのプロパティの集合が、上記個体のローカルタイプにおける対応するクラスの集合及び/又は対応するプロパティの集合を含む場合に、上記個体のローカルタイプよりも優勢であり、優勢なローカルタイプに関する抽象は、代表変数に基づいている。上記第1のデータセットにおける或る1つの個体の最大のローカルタイプは、上記第1のデータセットにおける他の個体の他のローカルタイプが存在しないために、当該ローカルタイプにおけるそれぞれの集合が、当該最大のローカルタイプにおける対応する集合の適当な上位集合となるような場合に、最大となる。
【0017】
好ましくは、第2のデータセットを構築するステップは、個体のうちの少なくとも1つの優勢なローカルタイプに関する少なくとも1つの抽象、例えば最大のローカルタイプに関する抽象を構築することをさらに含み、優勢なローカルタイプに関する抽象及び/又は最大のローカルタイプに関する抽象は、上記個体の代表変数に基づいており、同様のクラス表明及び/又は同様のプロパティ表明の中に存在する個体は、同等の代表変数によって表現される。
【0018】
好ましくは、上記第2のデータセットにおける矛盾説明を計算するステップは、優勢なローカルタイプに関する上記抽象における矛盾説明、例えば、最大のローカルタイプに関する上記抽象及び/又はローカルタイプに関する上記抽象における矛盾説明を計算することをさらに含む。
【0019】
好ましくは、当該方法は、上記第1のデータセットの上記データ要素を複数のモジュールに分割するステップをさらに含み、それぞれのモジュールは、それぞれ1つの個体に関連付けられていて、上記個体のクラス表明及び/又はプロパティ表明の全体を含み、上記第1のデータセットの抽象的記述である上記第2のデータセットを構築するステップは、上記モジュールに基づいている。
【0020】
好ましくは、当該方法は、上記第1のデータセットに関する矛盾説明及び/又は上記第2のデータセットに関する矛盾説明を、理解可能な形式で出力するステップをさらに含む。
【0021】
好ましくは、上記第1のデータセットに関する矛盾説明は、上記第2のデータセットに関する対応する矛盾説明から取得される。第1のデータセットの対応する説明は、第2のデータセットの説明から、第2のデータセットの説明における代表変数と同等のローカルタイプを有する、第1のデータセットにおける個体を識別することによって取得される。
【0022】
好ましくは、第1のデータセット及び/又はオントロジーは、ウェブ・オントロジー言語、即ち、OWL2のようなW3Cウェブ・オントロジー言語OWLに基づいて定義される。
【0023】
好ましくは、第1のデータセットを強化するオントロジーは、OWL2の公理の以下の公理:クラスCがクラスDのサブクラスであることを指定するサブクラス公理SubClassOf(C,D)、PがSのサブプロパティであることを指定するサブプロパティ公理SubObjectPropertyOf(P,S)、又は、推移的プロパティ公理TransitiveObjectProperty(P)、のうちの少なくとも1つを含み、i∈{1,2}であるC
(i)及びP
(i)は、以下の文法定義:
【数1】
を満たしており、ここで、Rは、プロパティ名、Aは、クラス名である。
【0024】
本発明は、コンピュータプログラムコードを含むコンピュータプログラムであって、当該コンピュータプログラムコードは、コンピュータ上で実行されるときに、上記コンピュータが前述した実施形態のいずれかによる方法を実施し得るようにする、コンピュータプログラムにも関する。
【0025】
本発明は、オントロジーによって強化された第1のデータセットにおける矛盾説明を計算するための装置であって、第1のデータセットは、個体と称されるデータ要素と、上記個体に関するファクトとを含み、上記ファクトは、オントロジー言語に従って、クラス表明及び/又はプロパティ表明の観点から表現され、クラス表明は、1つの個体をクラスに関連付けるものであり、プロパティ表明は、1つの個体を第2の個体に関連付けるものであり、オントロジーは、上記クラス及び/又は上記プロパティの形式的かつ明示的な記述を含み、さらに、上記クラス及び/又は上記プロパティに関する公理を含み、当該装置は、上記第1のデータセットの抽象的記述である第2のデータセットを構築するための手段と、上記オントロジーの上記公理に関して上記第2のデータセットにおける矛盾説明を計算するための手段と、上記第2のデータセットにおける上記計算された矛盾説明に基づいて、上記オントロジーに関して上記第1のデータセットに関する矛盾説明を計算するための手段とを含む、装置にも関する。
【0026】
好ましくは、本装置は、前述した実施形態のいずれかによる方法を実行するための手段をさらに含む。
【0027】
本発明は、オントロジーによって強化された第1のデータセットのデータクリーニングのための、前述した実施形態のいずれかによる方法、及び/又は、前述した実施形態のいずれかによる装置、及び/又は、前述した実施形態のいずれかによるコンピュータプログラムの使用にも関する。
【0028】
本発明のさらなる発展形態は、図面を参照しながら以下に記載されている。
【図面の簡単な説明】
【0029】
【
図1】1つの実施形態による、第1のデータセットにおける矛盾説明を計算するための方法の概略的なフロー図である。
【
図2】他の実施形態による、第1のデータセットにおける矛盾説明を計算するための方法の概略的なフロー図である。
【
図3】他の実施形態による、第1のデータセットにおける矛盾説明を計算するための方法の概略的なフロー図である。
【
図4】第1のデータセットにおける矛盾説明を計算するためのデータ及び処理の概略的なフロー図である。
【
図5a】第1のデータセットの抜粋を概略的に示す図である。
【
図5b】オントロジーの抜粋を概略的に示す図である。
【
図6】第2のデータセットの抜粋と、第2のデータセットの矛盾に関する説明における表明と、オントロジーに関する第1のデータセットに関する種々の矛盾説明における表明とを概略的に示す図である。
【
図7】第1のデータセットにおける矛盾説明を計算するための種々のアプローチを比較した結果を示す表である。
【発明を実施するための形態】
【0030】
図1乃至
図3は、オントロジーOによって強化された知識グラフKGとも称される第1のデータセットにおける矛盾説明Eを計算するための方法100の種々の実施形態を示している。
【0031】
図5aは、例示的な第1のデータセットKGの抜粋を示している。第1のデータセットKGは、複数のデータエンティティを含み、これらのデータエンティティには、個体a,b,d,e,f,g,hと、クラスA,B,C,Dと称されるタイプと、上記個体a,b,d,e,f,g,hに関するプロパティR,S,Tと称される関係とが含まれる。
【0032】
ファクトは、オントロジー言語に従って、クラス表明、例えばC(a),C(d),B(f),B(g)、及び/又は、プロパティ表明、例えばR(b,a),S(d,f)の観点から表現され、単項ファクトとも称されるクラス表明、例えばC(a)は、1つの個体aをクラスCに関連付けるものであり、二項ファクトとも称されるプロパティ表明、例えばR(b,a)は、個体bを第2の個体aに関連付けるものであり、ここで、A,B,C,D∈NCであり、なお、NCは、クラス名の集合であり、R,S,T∈NPであり、なお、NPは、プロパティ名の集合であり、a,b,d,e,f,g,h∈NIであり、なお、NIは、名前付き個体の集合、又は、簡単に言えば個体の集合である。
【0033】
エンティティは、個体、クラス又はプロパティを指す。個体は、インスタンス又はオブジェクトのような具体的なものを指し、例えば、McAfee,Nokia,Finland,Asiaである。クラスは、同等のプロパティを有する個体の集団を指し、例えば、Company,Popular Name,City,Countryである。プロパティは、2つの個体の間の関係を指し、例えば、hasCustomer,isCityOf,locatedInである。
【0034】
好ましくは、集合NC,NP,NIは、互いに素な可算集合である。従って、第1のデータセットKGは、C(a)の形式の単項ファクト及びR(a,c)の形式の二項ファクトの有限集合である。
【0035】
オントロジーOは、それぞれの議論領域を実体化する個体、クラス及びプロパティの表現、形式的な名前及び定義を包含する。オントロジーOは、クラス及び/又はプロパティの形式的かつ明示的な記述と、上記クラス及び/又はプロパティに関する公理とを含む。
【0036】
1つの実施形態によれば、第1のデータセットKG及び/又はオントロジーOは、ウェブ・オントロジー言語、即ち、OWL2のようなW3Cウェブ・オントロジー言語OWLに基づいて定義される。W3Cウェブ・オントロジー言語OWLは、モノと、モノのグループと、モノ同士の間の関係とに関する豊富で複雑な知識を表現するように設計されている。OWLは、計算論理ベースの言語であるので、OWLで表現された知識をコンピュータプログラムが活用することができる。ウェブ・オントロジー言語OWL2に関するさらなる仕様については、https://www.w3.org/TR/owl2-overview/を参照されたい。
【0037】
好ましくは、第1のデータセットKG及び/又はオントロジーOのセマンティクスは、OWL2ダイレクトモデル理論セマンティクスを使用して解釈によって定義され、ここで、ダイレクトモデルセマンティクスについては、https://www.w3.org/TR/owl2-direct-semantics/を参照されたい。
【0038】
1つの実施形態によれば、第1のデータセットKG及び第2のデータセットKG’に付随するオントロジーは、以下のOWL2公理、即ち、クラスCがクラスDのサブクラスであることを指定するサブクラス公理SubClassOf(C,D)、PがSのサブプロパティであることを指定するサブプロパティ公理SubObjectPropertyOf(P,S)、又は、推移的プロパティ公理TransitiveObjectProperty(P)、のうちの少なくとも1つを含み、i∈{1,2}であるC
(i)及びP
(i)は、以下の文法定義、即ち、
【数2】
を満たしており、ここで、Rは、プロパティ名、Aは、クラス名である。
【0039】
有利には、使用されるオントロジー言語OWL2により、以下の公理DisjointClasses,InverseObjectProperties,ObjectPropertyDomain,ObjectPropertyRangeのうちの少なくとも1つを表現可能である。さらに、使用される言語により、DisjointClasses,InverseObjectProperties,ObjectPropertyDomain,ObjectPropertyRangeのような、他の種類の重要なOWL2公理を表現可能である。例えば、
図5bの公理ObjectPropertyRange(hasCustomer, Company)は、SubClassOf(ObjectSomeValuesFrom(ObjectInverseOf(hasCustomer),owl:Thing), Company)によって同等に表現可能である。
【0040】
図5bは、例示的に3つの公理ax1,ax2,ax3を含む、OWL2に基づいて定義された検討対象のオントロジーOの抜粋を示している。
図5bによれば、公理ax1は、プロパティhasCustomerの値域がクラスCompanyであることを定義する。公理ax2は、isCityOfの定義域がクラスCityであることを定義し、公理ax3は、クラスCityと、クラスCompanyと、クラスCountryとが互いに素であることを定義する。
【0041】
第1のデータセットKGは、KG∪Oのモデルが存在しない場合、オントロジーOに関して矛盾している。好ましくは、オントロジーO自体は、無矛盾である。第1のデータセットKGは、KGの少なくとも1つのファクトがOの少なくとも1つの公理に相反する場合、オントロジーOに関して矛盾している。
【0042】
ここで、
図5aが参照され、特に、“McAfee hasCustomer Toyota”及び“Toyota isCityOf Japan”を言明する第1のデータセットKGの一部が参照される。Oの公理ax1は、プロパティhasCustomerの値域がCompanyであることを定義する。従って、Toyotaは、Companyであるとみなされる。ax2は、isCityOfの定義域がCityであることを定義する。従って、Toyotaは、Cityであるみなされる。ax3によれば、CityとCompanyとは、素のクラスである。このように、“McAfee hasCustomer Toyota”及び“Toyota isCityOf Japan”を言明する第1のデータセットKGの特定の部分は、オントロジーOに関して、特に、公理ax1,ax2,ax3に関して矛盾している。
【0043】
EKG⊆KG及びEO⊆OであるE=EKG∪EOによって示される、KG∪Oの矛盾に関する説明Eは、KG∪Oの矛盾した部分集合を包含する最小の部分集合である。
【0044】
図5bの3つのオントロジー公理ax1,ax2,ax3と組み合わせた、“McAfee hasCustomer Toyota”及び“Toyota isCityOf Japan”を言明する第1のデータセットKGの特定の部分は、
図6に示されるような矛盾説明である。
【0045】
このような矛盾説明Eの計算は、数百万及び数十億のファクトを含み得る大規模な実世界の知識グラフの場合には、計算量が多い。大規模な第1のデータセットKGにおける矛盾説明Eを計算するための方法100は、
図1を参照しながら記載されており、
図1は、オントロジーOに関して第1のデータセットKGにおける矛盾説明Eを計算するための方法100の概略的なフロー図である。
【0046】
方法100のステップ120において、上記第1のデータセットKGの抽象とも称される、抽象的記述である第2のデータセットKG’が構築される。
【0047】
第2のデータセットKG’は、第1のデータセットKGの圧縮された表現であり、オントロジーOに関して、以下の要件が満たされている。
【0048】
要件R1:KG’は、KGの無矛盾性を保持する。即ち、第1のデータセットKGは、第1のデータセットKGの抽象がオントロジーOに関して無矛盾である場合に限り、オントロジーOに関して無矛盾である。
【0049】
要件R2:KG’は、KGの説明を保持する。即ち、抽象に関する矛盾説明、即ち、第2のデータセットKG’を使用して、第1のデータセットKGに関する総ての矛盾説明を取得することができる。
【0050】
オントロジーOに関して、第1のデータセットKGに対して直接的に、無矛盾性をチェックし、説明を計算するのではなく、これらの演算は、第1のデータセットKGの抽象に対して、即ち、第2のデータセットKG’に対して実行される。要件R1,R2は、提示される本方法の正確性を保証している。
【0051】
好ましくは、第1のデータセットKGの抽象、即ち、第2のデータセットKG’は、元の第1のデータセットKGよりも小さい。
【0052】
好ましくは、第2のデータセットKG’を構築するステップ120は、上記第1のデータセットKGの上記個体a,b,d,e,f,g,hに関する抽象的なクラス表明、例えばA(u),B(w),C(v),D(x)、及び/又は、抽象的なプロパティ表明R(u,v),S(v,w),T(x,w)を構築することをさらに含み、上記個体a,b,d,e,f,g,hの代表変数u,v,w,xに基づいて、上記抽象的なクラス表明A(u),B(w),C(v),D(x)は、上記クラス表明C(a),C(d),B(f),B(g)の抽象的記述を含み、及び/又は、上記抽象的なプロパティ表明R(u,v),S(v,w),T(x,w)は、上記プロパティ表明R(a,b),S(d,f),T(f,h)の抽象的記述を含み、同様のクラス表明C(a),C(d),B(f),B(g)及び/又は同様のプロパティ表明R(a,b),S(d,f),T(f,h)の中に存在する個体a,b,d,e,f,g,hは、同等の代表変数u,v,w,xによって表現され、ここで、A,B,C,D∈NCであり、なお、NCは、クラス名の集合であり、R,S,T∈NPであり、なお、NPは、プロパティ名の集合であり、u,v,w,x∈NVであり、なお、NVは、変数である個体の可算集合である。好ましくは、NVは、NC,NP,NIとは素である。
【0053】
第2のデータセットKG’は、第1のデータセットKGの抽象的記述である。従って、第2のデータセットKG’は、例えばA(u),B(w),C(v),D(x)の形式の単項ファクト及びR(u,v),S(v,w),T(x,w)の形式の二項ファクトのような、代表変数の概念表明及び/又はプロパティ表明の有限集合である。
【0054】
図5aの第1のデータセットKGの抽象である第2のデータセットKG’においては、例えば、個体dであるToyotaと、個体aであるNokiaとが、代表変数vによって表現されており、この場合、この代表変数vは、クラスCであるPopular Nameの総ての個体のための変数であり、入ってくる関係hasCustomerと、出ていく関係isCityOfとを有する。
【0055】
ステップ130において、上記オントロジーOに関する上記第2のデータセットKG’における矛盾説明E’が計算される。
【0056】
好ましくは、上記オントロジーの上記公理に関して上記第2のデータセットにおける矛盾を計算するステップ130は、推論エンジン、ルールエンジンとして、又は、単に推論機構としても知られるセマンティック推論機構により、第2のデータセットKG’のデータ要素と、オントロジーOの公理、例えばax1,ax2,ax3とから論理結果を推論することによって実行される。
【0057】
ステップ140において、上記第2のデータセットKG’における上記計算された矛盾説明E’に基づいて、上記第1のデータセットKGに関する矛盾説明Eが計算される。
【0058】
1つの実施形態によれば、本方法は、上記第1のデータセットKGの上記データ要素を複数のモジュールMに分割する任意選択的なステップ110を含み、それぞれのモジュールMは、それぞれ1つの個体a,b,d,e,f,g,hに関連付けられていて、上記個体a,b,d,e,f,g,hのクラス表明及び/又はプロパティ表明の全体αを含み、上記第1のデータセットKGの抽象的記述である上記第2のデータセットKG’を構築するステップは、上記モジュールMに基づいている。
【0059】
KGに関する個体aのモジュールMは、aが関与するファクトの集合αであり、即ち、M(a,KG)={α|α∈KGであり、aは、αの中に存在する}。
図5aを参照すると、Nokiaのモジュールは、M(Nokia,KG)={PopularName(Nokia),hasCustomer (McAfee,Nokia),isCityOf(Nokia,Finland)}={C(a),R(b,a),S(a,g)}である。
【0060】
図2は、さらなる実施形態による方法100のフロー図を概略的に示している。
【0061】
ステップ112において、第1のデータセットKGにおける個体a,b,d,e,f,g,hのうちの少なくとも1つに関する少なくとも1つのローカルタイプτが識別され、ローカルタイプτは、上記個体a,b,d,e,f,g,hのクラス表明C(a),C(d),B(f),B(g)の中に存在するクラスの集合、及び/又は、上記個体a,b,d,e,f,g,hのプロパティ表明R(a,b),S(d,f),T(f,h)の中に存在するプロパティの集合から成る。
【0062】
第1のデータセットKGの個体aのローカルタイプτであるτ(a,KG)、又は、文脈からKGが明白である場合には、単にτ(a)は、τ(a)=<τi(a),τc(a),τo(a)>によって定義され、ここで、τi(a)={R|R(c,a)∈KG}であり、τc(a)={A|A(a)∈KG}であり、τo(a)={S|S(a,b)∈KG}である。
【0063】
ステップ114において、個体a,b,d,e,f,g,hのうちの少なくとも1つに関する少なくとも1つの優勢なローカルタイプτ’、例えば最大のローカルタイプτmaxが識別され、優勢なローカルタイプτ’は、当該優勢なローカルタイプτ’におけるそれぞれのクラスの集合及び/又はそれぞれのプロパティの集合が、上記個体a,b,d,e,f,g,hのローカルタイプτにおける対応するクラスの集合及び/又は対応するプロパティの集合を含む場合に、上記個体a,b,d,e,f,g,hのローカルタイプτよりも優勢となる。上記第1のデータセットKGにおける或る1つの個体の最大のローカルタイプτmaxは、上記第1のデータセットKGにおける他の個体の他のローカルタイプτが存在しないために、当該ローカルタイプτにおけるそれぞれの集合が、当該最大のローカルタイプτmaxにおける対応する集合の適当な上位集合となるような場合に、最大となる。
【0064】
ステップ126において、個体a,b,d,e,f,g,hのうちの少なくとも1つの少なくとも1つの優勢なローカルタイプに関する少なくとも1つの抽象abs(τ’)、例えば最大のローカルタイプに関する抽象abs(τmax)が構築され、優勢なローカルタイプτ’に関する抽象abs(τ’)及び/又は最大のローカルタイプτmaxに関する抽象abs(τmax)は、上記個体a,b,d,e,f,g,hの代表変数u,v,w,xに基づいており、同様のクラス表明C(a),C(d),B(f),B(g)及び/又は同様のプロパティ表明R(a,b),S(d,f),T(f,h)の中に存在する個体a,b,d,e,f,g,hは、同等の代表変数u,v,w,xによって表現される。
【0065】
好ましくは、抽象abs(τ’)及び/又は抽象abs(τmax)は、スター形状を含む。
【0066】
ローカルタイプτに関する抽象は、
【数3】
によって定義され、ここで、
【数4】
は、それぞれのτ,R,S及びv
τに対するN
vからの一意の変数である。
【0067】
ステップ132において、補強されたオントロジーOに関して、上記ローカルタイプτの上記抽象abs(τ)及び/又は抽象abs(τ’)及び/又は抽象abs(τmax)に関する矛盾説明E’が計算される。
【0068】
好ましくは、オントロジーOの公理に関して抽象abs(τ)及び/又は抽象abs(τ’)及び/又は抽象abs(τmax)における矛盾を計算するステップ132は、推論エンジン、ルールエンジンとして、又は、単に推論機構としても知られるセマンティック推論機構により、上記抽象と、オントロジーOの公理、例えばax1,ax2,ax3とから論理結果を推論することによって実行される。
【0069】
好ましくは、第2のデータセットKG’は、それぞれの代表変数ごとに1つずつ、小さい非連結の分割から成る。グラフとして考えると、それぞれの分割は、スターのような構造を有しており、このスターのような構造は、中心にある代表変数と、互いに相異なるプロパティによってラベル付けされた入辺及び出辺とを備える。前述したサイズ縮小に加えて、このような非連結の単純な構造は、推論が伝播する可能性を制限するので、推論コンポーネントのタスクの複雑さを軽減する。
【0070】
1つの実施形態によれば、矛盾説明を計算するために、既製の推論機構、例えばPelletが使用される。
【0071】
ステップ140において、上記第2のデータセットKG’における上記計算された矛盾説明E’に基づいて、上記第1のデータセットKGに関する矛盾説明Eが計算される。
【0072】
さらなる実施形態によれば、
図2に示される実施形態による方法100は、上記第1のデータセットKGの上記データ要素を複数のモジュールMに分割する任意選択的なステップ110(図示せず)を含み、それぞれのモジュールMは、それぞれ1つの個体、例えばa,b,d,e,f,g,hに関連付けられていて、上記個体a,b,d,e,f,g,hのクラス表明及び/又はプロパティ表明の全体αを含み、上記第1のデータセットKGの抽象的記述である上記第2のデータセットKG’を構築するステップは、上記モジュールMに基づいている。さらに、それぞれの個体、例えばa,b,d,e,f,g,hに関する少なくとも1つのローカルタイプτを識別するステップ112を、モジュールMに適用するものとしてもよく、なお、ローカルタイプτは、上記個体a,b,d,e,f,g,hが表明するクラス表明及び/又はプロパティ表明の中にあるクラスの集合及びプロパティの集合から成る。
【0073】
図3は、さらなる実施形態による方法100のフロー図を概略的に示している。
【0074】
上記第1のデータセットKGの抽象的記述である第2のデータセットKG’を構築するステップ120は、
図1に関して既述されたステップ120に対応する。
【0075】
ステップ122において、少なくとも1つのローカルタイプτに関する少なくとも1つの抽象abs(τ)が識別され、ローカルタイプτは、上記個体a,b,d,e,f,g,hのクラス表明C(a),C(d),B(f),B(g)の中に存在するクラスの集合、及び/又は、上記個体a,b,d,e,f,g,hのプロパティ表明R(a,b),S(d,f),T(f,h)の中に存在するプロパティの集合から成り、少なくとも1つのローカルタイプτに関する抽象abs(τ)は、代表変数u,v,w,xに基づいている。
【0076】
ステップ124において、優勢なローカルタイプτ’に関する少なくとも1つの抽象abs(τ’)、例えば、最大のローカルタイプτmaxに関する抽象abs(τmax)が識別され、優勢なローカルタイプτ’は、当該優勢なローカルタイプτ’におけるそれぞれのクラスの集合及び/又はそれぞれのプロパティの集合が、上記個体a,b,d,e,f,g,hのローカルタイプτにおける対応するクラスの集合及び/又は対応するプロパティの集合を含む場合に、上記個体a,b,d,e,f,g,hのローカルタイプτよりも優勢であり、優勢なローカルタイプτ’に関する抽象abs(τ’)は、代表変数u,v,w,xに基づいている。上記第1のデータセットKGにおける或る1つの個体の最大のローカルタイプτmaxは、上記第1のデータセットKGにおける他の個体の他のローカルタイプτが存在しないために、当該ローカルタイプτにおけるそれぞれの集合が、当該最大のローカルタイプτmaxにおける対応する集合の適当な上位集合となるような場合に、最大となり、最大のローカルタイプτmaxに関する抽象abs(τmax)は、代表変数u,v,w,xに基づいている。
【0077】
ステップ132において、上記抽象的な優勢なローカルタイプabs(τ’)及び/又は上記抽象的なローカルタイプabs(τ)における矛盾説明E’が計算される。
【0078】
好ましくは、オントロジーOの公理に関して、抽象的な優勢なローカルタイプabs(τ’)及び/又は抽象的なローカルタイプabs(τ)における矛盾を計算するステップ132は、推論エンジン、ルールエンジンとして、又は、単に推論機構としても知られるセマンティック推論機構により、第2のデータセットKG’、特に優勢なローカルタイプに関する抽象abs(τ’)及び/又はローカルタイプに関する抽象abs(τ)のデータ要素と、オントロジーOの公理、例えばax1,ax2,ax3とから論理結果を推論することによって実行される。
【0079】
1つの実施形態によれば、矛盾説明を計算するために、既製の推論機構、例えばPelletが使用される。
【0080】
ステップ140において、上記第2のデータセットKG’における上記計算された矛盾説明E’に基づいて、上記第1のデータセットKGに関する矛盾説明Eが計算される。
【0081】
さらなる実施形態によれば、
図3に示される実施形態による方法100は、上記第1のデータセットKGの上記データ要素を複数のモジュールMに分割する任意選択的なステップ110(図示せず)を含み、それぞれのモジュールMは、それぞれ1つの個体a,b,d,e,f,g,hに関連付けられていて、上記個体a,b,d,e,f,g,hのクラス表明及び/又はプロパティ表明の全体αを含み、上記第1のデータセットKGの抽象的記述である上記第2のデータセットKG’を構築するステップは、上記モジュールMに基づいている。さらに、
図1に関して既述したように、上記第1のデータセットKGの抽象的記述である第2のデータセットKG’を構築するステップ120を、モジュールMに適用するものとしてもよい。
【0082】
図4は、第1のデータセットにおける矛盾説明を計算するための方法100の概略的なフロー図を示し、方法100は、1つの実施形態による第1のデータセットKGにおける矛盾説明を計算するためのコンポーネントと、データフロー及び処理フローとを有する装置200によって実施され、ここで、破線は、データフローを指し、実線は、処理フローを指す。
【0083】
コンポーネント10は、第1のデータセットKGのデータ要素を保存するための記憶装置を含む。
【0084】
コンポーネント20は、記憶装置及び処理装置を含み、処理装置は、第1のデータセットKGのデータ要素を複数のモジュールMに分割するステップ110を処理するために使用され、それぞれのモジュールMは、それぞれ1つの個体a,b,d,e,f,g,hに関連付けられていて、上記個体a,b,d,e,f,g,hのクラス表明及び/又はプロパティ表明の全体αを含み、上記第1のデータセットKGの抽象的記述である上記第2のデータセットKG’を構築するステップは、モジュールMに基づいている。さらに、記憶装置は、モジュールMを保存するために使用される。
【0085】
コンポーネント30は、記憶装置及び処理装置を含み、処理装置は、第1のデータセットKG又はモジュールMの抽象的記述である第2のデータセットKG’を構築するステップ120を処理するために使用される。好ましくは、第2のデータセットKG’を構築するステップ120は、上述したように、上記第1のデータセットKGの上記個体a,b,d,e,f,g,hに関する抽象的なクラス表明、例えばA(u),B(w),C(v),D(x)、及び/又は、抽象的なプロパティ表明R(u,v),S(v,w),T(x,w)を構築することをさらに含む。好ましくは、コンポーネント30の処理装置は、上述したようなステップ122,124及び126を処理するために適している。さらに、コンポーネント30の記憶装置は、構築された抽象を、第2のデータセットKG’の形態で保存するために使用される。
【0086】
コンポーネント40は、オントロジーO、特にクラスA,B,C,D及び/又はプロパティR,S,Tの形式的かつ明示的な記述と、クラスA,B,C,D及び/又はプロパティR,S,Tに関する公理、例えばax1,ax2,ax3とを保存するための記憶装置を含む。
【0087】
コンポーネント50は、推論コンポーネント、例えば、推論エンジン、ルールエンジンとして、又は、単に推論機構としても知られるセマンティック推論機構を含み、この推論コンポーネントは、第2のデータセットKG’と、オントロジーOの公理とから論理結果を推論することによって、オントロジーOに関して、特に上記オントロジーOの公理ax1,ax2,ax3に関して、第2のデータセットKG’における矛盾を計算するステップ130を処理するために使用される。
【0088】
コンポーネント60は、第2のデータセットKG’に関する矛盾説明E’を出力するための出力装置を含む。このような矛盾説明E’の例は、
図6によって示されている。
【0089】
好ましくは、本方法は、上記第1のデータセットに関する矛盾説明、及び/又は、上記第2のデータセットに関する矛盾説明を、理解可能な形式で出力するステップをさらに含む。例として、
図6は、第2のデータセットに関する1つの矛盾説明E’と、第1のデータセットに関する3つの対応する矛盾説明E1,E2,E3とを示し、ただし、オントロジーの公理ax1,ax2,ax3は、示されていない。
【0090】
コンポーネント70は、上記第2のデータセットKG’における上記計算された矛盾説明E’に基づいて、上記第1のデータセットKGに関する矛盾説明Eを計算するステップ140を処理するために適した処理コンポーネントを含む。
【0091】
コンポーネント80は、第1のデータセットKGに関する矛盾説明Eを出力するための出力装置を含む。このような矛盾説明E1,E2,E3の例は、
図6によって示されている。
【0092】
好ましくは、上記第1のデータセットKGに関する矛盾説明E1,E2,E3は、上記第2のデータセットKG’に関する対応する矛盾説明E’から取得される。可能な説明は、例えば、
図5bのオントロジーOの公理ax1,ax2,ax3によって与えられる。
【0093】
好ましくは、コンポーネント10,20,30,40,50,60,70,80は、実施形態による方法100を実施するための装置200の手段である。
【0094】
第1のデータセットKGの圧縮された抽象的記述である第2のデータセットに関する「圧縮」という用語は、第2のデータセットKG’が構築120される際に達成されるサイズ縮小を強調するために使用されている。
【0095】
本発明の重要な特性は、上述した要件R1乃至R2が満たされることである。この特性の証明を以下に示す。
【0096】
準備
知識グラフKGは、C(a)の形式の単項ファクト及びR(a,b)の形式の二項ファクトの有限集合であり、C∈NC,R∈NP及びa,b∈NIであり、例えば、PopularName(Nokia)又はhasCustomer(McAfee,Nokia)であり、NC,NP及びNIは、例えばCompanyのようなクラス名、例えばhasCustomerのようなプロパティ名、及び、例えばToyotaのような個体の、互いに素な可算集合である。Ind(KG)は、第1のデータセットKGの中に存在する個体の集合を示す。
【0097】
オントロジーOは、それぞれの議論領域を実体化する個体、クラス及びプロパティの表現、形式的な名前及び定義を包含する。オントロジーOは、クラス及び/又はプロパティの形式的かつ明示的な記述と、上記クラス及び/又はプロパティに関する公理とを含む。
【0098】
本発明によれば、第1のデータセットKG及び/又はオントロジーOは、ウェブ・オントロジー言語、即ち、OWL2のようなW3Cウェブ・オントロジー言語OWLに基づいて定義される。W3Cウェブ・オントロジー言語OWLは、モノと、モノのグループと、モノ同士の間の関係とに関する豊富で複雑な知識を表現するように設計された言語である。OWLは、計算論理ベースの言語であるので、OWLで表現された知識をコンピュータプログラムが活用することができる。ウェブ・オントロジー言語OWL2に関するさらなる仕様については、https://www.w3.org/TR/owl2-overview/を参照されたい。
【0099】
本発明によれば、第1のデータセットKG及び/又はオントロジーOのセマンティクスは、OWL2ダイレクトモデル理論セマンティクスを使用して解釈によって定義され、ここで、ダイレクトモデルセマンティクスについては、https://www.w3.org/TR/owl2-direct-semantics/を参照されたい。
【0100】
クラス名及びプロパティ名から、複雑なクラスC及びプロパティPを、OWL2仕様に従って(再帰的に)定義することができる。この作業においては、以下の種類のクラス及びプロパティが考慮される:
【数5】
ここで、A∈N
C,R∈N
P,C1,C2は、クラスであり、Pは、プロパティである。
【0101】
クラス名及びプロパティ名は、関心のある定義域を形式的に記述する公理を定義するために使用される。本発明においては、3つの種類のOWL2公理が考慮される:SubClassOf(C,D)及びSubObjectPropertyOf(P,S)の形式のサブクラス公理及びサブプロパティ公理は、階層、即ち、部分的な関係を指定し、推移的プロパティは、TransitiveObjectProperty(P)の形式の公理によって定義される。
【0102】
このオントロジー言語が、非常に表現力豊かであることに留意すべきである。実際に、DisjointClasses,InverseObjectProperties,ObjectPropertyDomain,ObjectPropertyRangeのような、他の種類の重要なOWL2公理を表現可能である。例えば、
図5aの公理ObjectPropertyRange(hasCustomer, Company)は、SubClassOf(ObjectSomeValuesFrom(ObjectInverseOf(hasCustomer),owl:Thing), Company)によって同等に表現可能である。
【0103】
知識グラフ及びオントロジーのセマンティクスは、OWL2ダイレクトモデル理論セマンティクスを使用して解釈によって定義される。第1のデータセットKGは、KG∪Oのモデルが存在しない場合、オントロジーOに関して矛盾している。第1のデータセットKGは、KGの少なくとも1つのファクトがOの少なくとも1つの公理に相反する場合、オントロジーO,KG∪Oに関して矛盾している。
【0104】
E
KG⊆KG及びE
O⊆OであるE=E
KG∪E
Oによって示される、KG∪Oの矛盾に関する説明Eは、KG∪Oの矛盾した部分集合を包含する最小の部分集合である。
図5aの3つのオントロジー公理ax1,ax2,ax3の例と組み合わせた、“McAfee hasCustomer Toyota”及び“Toyota isCityOf Japan”を言明する第1のデータセットKGの特定の部分は、
図6に示されるような矛盾説明である。一般に、KG∪Oの矛盾は、複数の説明を有し得る。
【0105】
第1のデータセットKGの矛盾に関する説明を計算する
理解を深めるために、個体a∈ind(KG)を特徴付けるためのモジュールが導入される。第1のデータセットKG及び個体a∈ind(KG)が与えられると、KGに関するaのモジュールは、aが関与するファクトの集合αであり、即ち、M(a,KG)={α|α∈KGであり、aは、αの中に存在する}。
図5aを参照すると、Nokiaのモジュールは、M(Nokia,KG)={PopularName(Nokia),hasCustomer (McAfee,Nokia),isCityOf(Nokia,Finland)}である。
【0106】
図4は、本発明に係る方法の大枠の概要を示している。ステップ110において、第1のデータセットKGのいずれの個体に関しても、モジュールMが構築される。ステップ120において、複数のモジュールMにわたる共通性がローカルタイプを使用して検出され、最大のローカルタイプの、第2のデータセットKG’とも称される抽象が計算される。以下で証明されるように、総てのモジュールの抽象の和集合が、第1のデータセットKG全体に関する抽象を提供し、第1のデータセットKGの抽象、即ち、第2のデータセットは、好ましくは、元の第1のデータセットKGよりも格段に小さい。ステップ130は、入力としてオントロジーOと、計算された抽象とを取得し、既製の推論機構、例えばPelletを呼び出して、元の第1のデータセットKGに関する矛盾説明のためのパターンである、抽象的なモジュールに関する矛盾説明を生成する。最後に、ステップ140において、ステップ130で計算された説明から、元の第1のデータセットKGに関する説明が再構築される。以下に、記載されたアプローチの技術的な詳細を提供する。
【0107】
NVは、NC,NP,NIとは素である代表変数の可算集合を表す。第2のデータセットKG’は、第1のデータセットKGの抽象的記述であり、この抽象的記述の中には、変数、クラス及びプロパティのみが存在し、個体は存在しない。従って、第2のデータセットKG’は、例えばA(u),B(w),C(v),D(x)のような単項ファクト及びR(u,v),S(v,w),T(x,w)のような二項ファクトの有限集合である。
【0108】
第2のデータセットKG’は、KGがオントロジーOに関して無矛盾である場合に限り、オントロジーOに関して無矛盾であるとき、第1のデータセットKGに関する無矛盾性を保持する。抽象的な第2のデータセットKG’は、KGのいずれの矛盾説明Eに対しても、E’をEに準同型に写像することができるようなKGの矛盾説明E’が存在する場合に、KGに関する説明を保持する。矛盾及び説明を保持している、KGに関する抽象的な第2のデータセットKG’は、KGの抽象と称される。明らかに、あらゆる第1のデータセットKGの抽象は、要件R1及びR2を満たしている。検討対象のオントロジー言語の場合、第1のデータセットKGに関する矛盾をチェックする問題は、検討対象の第1のデータセットKGのいずれのモジュールに関しても単独で矛盾をチェックすることまで軽減可能である。
【0109】
補題1:KGを第1のデータセットとし、Oをオントロジーとする。その場合、KG∪Oは、M(a,KG)∪Oがいずれのa∈ind(KG)に関しても無矛盾である場合に限り、無矛盾である。
【0110】
補題1は、第1のデータセットKGの矛盾に関する総ての説明が、第1のデータセットKGのモジュールに関する説明を計算することによって取得可能であることを保証する。
【0111】
定理2:KGを第1のデータセットとし、Oを、KG∪Oが矛盾するようなオントロジーとする。その場合、M(a,KG)∪Oが矛盾していて、かつ、EがM(a,KG)∪Oの矛盾に関する説明であるようなa∈ind(KG)が存在する場合に限り、Eは、KG∪Oの矛盾に関する説明である。
【0112】
定理2によれば、抽象がなくても、第1のデータセットKGに関する矛盾説明を、第1のデータセットKGのモジュールに基づいて計算することが可能となり、これにより、ベースラインにわたる顕著な高速化がもたらされる。さらに重要なことに、定理2は、説明を保持する抽象を、まず始めに個体のモジュールに基づいてローカルに計算し、次に、その結果として生じる抽象を結合してKG全体に関する1つのグローバルな抽象にすることを提案している。
【0113】
第1のデータセットKGの個体aのローカルタイプは、この個体aについて言及する概念及びプロパティの集合である。形式的には、第1のデータセットKGの個体aのローカルタイプτであるτ(a,KG)は、タプルτ(a)=<τi(a),τc(a),τo(a)>によって定義され、ここで、τi(a)={R│R(c,a)∈KG},τc(a)={A│A(a)∈KG}、及び、τo(a)={S│S(a,b)∈KG}である。ローカルタイプの個体が重要でない場合には、常にτと称される。
【0114】
それぞれのローカルタイプは、クラス及びプロパティの集合であり、第1のデータセットKGの抽象的記述は、クラス及びプロパティの抽象的な集合が好ましくはスター形状を有するように、変数によってこれらをインスタンス化する。τをローカルタイプとすると、τに関するスター型の抽象は、変数に基づいて以下の知識グラフとして定義される:
【数6】
ここで、
【数7】
は、それぞれのτ,R,Sに対するN
vからの一意の変数である。
【0115】
表記を簡略化するために、スター型の抽象における個体の下付き文字及び上付き文字は、省略可能である。
図5aの例を参照すると、Toyota及びNokiaは、同等のローカルタイプτ=<{PopularName},{hasCustomer},{isCityOf}>を有する。τに関するスター型の抽象は、abs(τ)={PopularName(v),hasCustomer (u,v),isCityOf (v,w)}である。本発明に係る方法の場合、好ましくは、第1のデータセットにおける総ての個体の総てのローカルタイプの集合の中で最大であるローカルタイプのみが考慮される。
【0116】
ローカルタイプτ’=<τ’i,τ’c,τ’o>は、τi⊆τ’i,τc⊆τ’c,τo⊆τ’oである場合に限り、ローカルタイプτ=<τi,τc,τo>よりも優勢である。ローカルタイプτは、τi⊂τ’’i,τc⊂τ’’c,τo⊂τ’’oである場合に限り、ローカルタイプτ’’=<τ’’i,τ’’c,τ’’o>よりも小さい。ローカルタイプτmaxは、ローカルタイプの集合の中で、τmaxが、当該集合の中の他のあらゆるローカルタイプよりも小さくない場合に限り、最大である。ローカルタイプτがいずれのオントロジーOに関してもローカルタイプτ’より小さいような、ローカルタイプτ及びローカルタイプτ’に関して、abs(τ)∪Oが矛盾している場合には、abs(τ’)∪Oも矛盾していて、abs(τ’)∪Oの矛盾説明が、abs(τ)∪Oの総ての矛盾説明を含むということが見て取れる。従って、比較的小さいタイプは、説明を計算するためには重要でない。
【0117】
最後に、抽象に関する矛盾説明から元のKGに関する矛盾説明への移行を可能にする実現が定義される。形式的に、KGを第1のデータセットとし、τをローカルタイプとする。個体a∈ind(G)に関するτの実現は、τ(a,real
a,τ)=τであるような、KGの包含の最小の部分集合real
a,τである。KGにおけるτの実現は、KGの中に存在するそれぞれの個体に関するτの総ての実現の集合である。ここで、
図6を参照すると、個体であるToyota及びNokiaに関する抽象と、この抽象に関して計算された矛盾説明と、この説明におけるvのローカルタイプの3つの実現とが示されている。
【0118】
アルゴリズム1は、以下に示すように、第1のデータセットKGの総ての説明を、オントロジーOに関して第1のデータセットKGの抽象を使用して計算する。アルゴリズムは、|ind(KG)|によって数が制限されているローカルタイプにわたって反復され、抽象に関する説明の数と、タイプに関する実現の数とは、第1のデータセットKGの署名及びオントロジーOによって制限されているので、アルゴリズム1は終了する。以下の定理は、その正しさを示している。
【0119】
定理3.アルゴリズム1のための入力として第1のデータセットKG及びオントロジーOが与えられると、∪a∈ind(KG)abs(τ(a))は、KGの抽象であり、返送される集合allExplsは、オントロジーOに関する、第1のデータセットKGに関する総ての矛盾説明から成る。
【0120】
アルゴリズム1:オントロジーOに関して第1のデータセットKGの矛盾に関する説明を計算する
【数8】
【0121】
矛盾説明を計算するための方法は、システムプロトタイプで実装されていて、DBpedia知識グラフに基づいて評価されており、このDBpedia知識グラフは、当時22955173個のファクトから成り、当時4287個の公理から成る最新のオントロジーを有し、https://wiki.dbpedia.org/downloads-2016-10においてさらに仕様が定められている。アルゴリズム1で提示された抽象ベースの方法100は、知識グラフが全体として処理される、モジュールベースの実装M及び既製の推論機構PelletPと比較された。総ての実験は、48コア及び500GBのメモリを搭載したサーバ上で実行され、矛盾説明を計算するためにPellet推論機構が呼び出された。計算全体のために72時間のタイムアウトと、それぞれのモジュールの処理のために5分のタイムアウトとが設定された。
【0122】
図7は、それぞれの方法によって計算されたモジュールの総数と、72時間以内に処理が試行されたモジュールの数と、これらのうち、5分以内に分析が失敗したモジュールの数とを提示する表を示している。さらに、計算された説明パターンの数が、それらが生成する実際の説明と共に提示されている。
【0123】
72時間以内に、方法100なしでPelletPを使用した場合、DBpediaに関する説明は取得されなかった。知識グラフをより小さいモジュールに分割すると、実装Mは、既に有益であり、結果的に73Kを超える説明が得られる。しかしながら、計算されるモジュールの数は、依然として非常に多く、それらの多くは、タイムアウト内に処理され得ない。他方で、抽象ベースの方法100によって計算された抽象モジュールの数は、格段に少なく、これらの抽象モジュールは、取り扱いがより簡単であり、このことは、タイムアウトしたモジュールが少数であることによって見て取れる。抽象的な知識グラフは、元のKGのたった10%に相当する2497521個のファクトのみを含み、このことは、顕著なデータ圧縮を示している。結果として、計算される説明の数の劇的な増加が観察され、これは、ベースラインと比較しての方法100の有効性を示している。
【0124】
図8は、最も頻度の高い優勢100個の説明パターンをX軸に示し、それらが生成する説明の数をY軸に示している。いくつかのパターンが、結果的に、情報抽出プロセスにおける体系的な問題を明らかにする何百万もの説明をもたらす。例えば、DBpediaにおいては、説明パターン:{bandMember(u,v),playInstrument(w,v)}を有する約10Kの矛盾説明が存在し、ここでは、オントロジーに基づくbandMember及びplayingInstrumentの値域は、それぞれ、互いに素のクラスであるPerson及びInstrumentである。計算リソースが限られているので、総てのモジュールが本方法のいずれかによって処理されたわけではないが、本発明による抽象ベースのアプローチが、計算された矛盾説明の数に関してベースラインを大幅に上回っており、取得された説明パターンが、知識グラフの矛盾を効果的に要約しているという結果が示された。
【0125】
さらに、方法100は、知識グラフ構築プロセスにおける体系的な問題を明らかにすることができるエラーパターンを提供する。
【0126】
さらなる実施形態によれば、本発明は、第1のデータセットKGのデータクリーニングのための、前述した実施形態による方法100、及び/又は、前述した実施形態によるコンピュータプログラムの使用に関する。種々の実施形態に関して上述したように、データセットにおける異常及び/又はエラーを効率的に検出することによって、第1のデータセットの品質を改善することが可能である。