JP2016192202A - 照合処理システム、方法、及びプログラム - Google Patents

照合処理システム、方法、及びプログラム Download PDF

Info

Publication number
JP2016192202A
JP2016192202A JP2016034429A JP2016034429A JP2016192202A JP 2016192202 A JP2016192202 A JP 2016192202A JP 2016034429 A JP2016034429 A JP 2016034429A JP 2016034429 A JP2016034429 A JP 2016034429A JP 2016192202 A JP2016192202 A JP 2016192202A
Authority
JP
Japan
Prior art keywords
value
name
data source
result list
structured data
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.)
Pending
Application number
JP2016034429A
Other languages
English (en)
Inventor
リー・ヴィヴィアン
Vivian Lee
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2016192202A publication Critical patent/JP2016192202A/ja
Pending legal-status Critical Current

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数のデータソースに渡る異種命名規則を照合し、その結果を結合する。
【解決手段】異なる名前値を照合する照合処理システムは、複数のキー値の各々について名前値を識別するデータソース分類器であり、構造化データソースの各々を2つのカテゴリのうちの1つに割り当てるよう構成される。まず類似基準を満たす名前値を見付け、名前値及びインデックス構造化データソースからの名前値を互いの別名として第1の結果リストに格納し、同じ構造化データソースの中のラベル付きデータ値から異なる名前値が識別された場合、それらを互いの別名として第2の結果リストに格納する。そして、第1の結果リストからの名前値の別名と第2の結果リストからの同一の名前値の別名を互いの別名として結合結果リストに格納することにより、結合結果リストを生成する。
【選択図】図1

Description

本発明は、ビッグデータ及びオープンデータ分析の分野に関し、特に、複数のデータソースに渡る異種命名規則を照合する処理技術に関する。
エンティティ識別子は、データ間の接続を形成するために重要である。これは、特に、米国、英国、及び日本を含む国々の多くの政府により促進されている近年のオープンデータ主導で益々重要になってきている。しかしながら、エンティティ識別は、局所的な変化の影響を受ける。
ビッグデータの3V特性(highvolume, high velocity, high variety(大容量、高速、多様性))に由来して、オープンデータは、特に多様性において同様の課題が存在する。例えば、エンティティ識別子は、構造化された、半構造化された、又は非構造化データソースの中に現れ得る。これは、同じエンティティの異なる識別子を認識する際に問題となる。
異種データソースからのエンティティ識別子を照合(reconcile、リコンサイル、リコンシリエーション)するために、非常に一般的な方法は、エンティティ名を橋渡し役として用いることである。しかしながら、名前の曖昧さは、照合結果の精度に深刻に影響し得る。これは、名前は、文字列で構成され、社会的要因により影響されるとき、正式の又は法的に登録されたエンティティ名は複数の変形を有し得るからである。この問題は、データが多言語であるとき、悪化する。
自然言語処理は、テキストに基づく分析及び処理を解決するために適用できる良く確立された技術である。しかしながら、NLPにより提供される多様なタスク及び技術は全て独立しており、特定の問題を解決するために焦点を狭く絞られている。
実施形態は、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理システムであって、前記複数のデータソースはラベル付きデータ値を有し、各々のラベル付きデータ値は複数のエンティティのうちの1つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記システムは、前記複数のキー値の各々について、1又は複数の名前値を識別するよう構成されるデータソース分類器であって、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、前記データソース分類器は、構造化データソースの各々を2つのカテゴリのうちの1つに割り当てるよう構成され、前記2つのカテゴリは、前記構造化データソースの中の各々のキー値について1つの名前値のみが存在する、第1のカテゴリと、前記構造化データソースが、それぞれ1より多くの異なる名前値を有する1又は複数のキー値を有する、第2のカテゴリと、を有する、データソース分類器と、第1の照合プロセッサであって、前記第1のカテゴリの中に1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、前記第1のカテゴリの残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第1の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第1の結果リストに格納するよう構成される、第1の照合プロセッサと、第2の照合プロセッサであって、前記第2のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値である、同じ構造化データソースの中のラベル付きデータ値を識別し、1より多い異なる名前値が識別された場合、該1より多い異なる名前値を互いの別名として第2の結果リストに格納するよう構成される、第2の照合プロセッサと、結果リスト結合器であって、前記第2の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる名前値の各々について、同一の名前値が前記第2の結果リストの中に現れる場合に、前記第1の結果リストからの名前値の別名と前記第2の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、結果リスト結合器と、を有する照合処理システムを含む。
有利なことに、実施形態は、異なる構成を有するデータソースの中の同じエンティティのために用いられる異なる名前を効率的に照合できる包括的な照合処理システムを提供する。同じエンティティは、複数のデータソースに渡り1より多くの異なる名前値を属性とし得る。あるいは、同じエンティティは、同じデータソースの中で異なる名前値を属性とし得る。したがって、特定のエンティティに関して格納されたデータの完全なビューを得るために、該エンティティに属し得る異なる名前値のリストを得ることが望ましい。理由の中でも特に、異なる母国語を有するデータソースにより、及び使用される言語の形式における変化により、差が存在し得る。
実施形態は、データソースの中のデータの構造の特性に依存して、複数のデータソースをグループに分け、異なる照合プロセッサにより、各グループに対して照合処理を実行し、各照合処理は、異なる照合処理を実行して、個々のグループの中のデータソースの中に記述されるエンティティを示しするために用いられる名前値の別名を識別する、よう構成される照合処理システムを提供する。システムは、1つの照合プロセッサにより識別された別名が別の照合プロセッサにより識別された名前値の別名であるときを識別し、相応して結果(各照合プロセッサにより出力された別名のリスト)を結合する、よう更に構成される。
データソースは、(csvファイル、exelファイルのような)ファイル又は(複数のcsvファイルのような)ファイルレポジトリ、データベース、(RDBMSテーブルのような)テーブル、データグラフ、ウェブサイト、又は文書記憶設備である。データソースは、現実のエンティティを記述し又はそれに関する知識を提示するデータを格納する。データソースの中のデータにより記述されるものは、エンティティとして参照される。データソースは、住所により定められるそれ自体のユニークな場所により識別される。キー値は、データソースの中のエンティティを識別し又はユニークに識別する。名前値は、データソースの中の特性の値(テーブルの観点からは列エントリである)である。
データソースの中のデータは、異なる方法で配置される。実施形態は、データソースの中のデータの構成の特性に依存して、異なる名前値が別名(同じエンティティを表す)であるときを認識するために、異なる照合プロセッサを利用する。次に、結果リスト結合器は、照合プロセッサのうちの1つからの相互の別名が、照合プロセッサのうちの別のものからの相互の別名のうちの別名であるときを認識する処理を実行し、相応して別名を結合する。このように、データソース間の異種性は、特定のエンティティのより多くの別名を明らかにする手段として用いられる。
実施形態の状況における構造化データソースは、データ値がラベル付けされ、タグ付けされ、又は意味的に豊富であるものを意味すると考えられる。したがって、データ値の意味又は意味的重要性が識別できる。例えば、このような識別は、名前値のようなデータ値により記述される特性を識別する言葉又はサブストリング又はデータラベルの所定のリストを有するデータソース分類器であっても良い。
キー値は、データソースの中に記述されるエンティティの間で1つのエンティティを識別する、列、特性、アドレス、又は他の形式のデータの値であると考えられる。キー値は、特定のデータソースにおいては主要キーであっても良いキーの値である。
データソース分類器は、キー値が各データソースの中で名前値にどのようにマッピングされるかを評価し、該評価を用いて各構造化データソースを第1のカテゴリ又は第2のカテゴリに割り当てる。名前は、例えば、エンティティを表すために用いられる法的所有権及び/又は言語的識別子であっても良い。
異なる照合プロセッサは、第1のカテゴリ及び第2のカテゴリの各々に対して照合処理を実行する。これは、個々のデータソースの中のデータ構造の特性に照合処理を合わせることを可能にし、何らかの並列化も可能にする。
第1の照合プロセッサは、インデックス構造化データソースと第1のカテゴリの中の他の構造化データソースの各々との間を横断照合(cross reconcile)するよう構成される。横断照合は、インデックス構造化データソースの中の各名前値と他の構造化データソースの中の各名前値との間の文字列比較である。所定の閾を超える結果を生じる(及びインデックス構造化データソースからの名前値と同一でない)文字列比較は、インデックス構造化データソースからの名前値の別名として、第1の結果リストに記録される。
第2の照合プロセッサは、第2のカテゴリの中のデータソースの各々について、同じキー値により表されるエンティティに属する異なる名前値を抽出し、1より多くの異なる名前値が抽出された場合、異なる名前値を互いの別名として第2の結果リストに追加するよう構成される。
結果リスト結合器は、第1及び第2の結果リストを互いに付加する。このリストは、中間結果リストである。さらに、中間結果リストの処理は、第1の結果リストの中に現れる名前値の別名が第2の結果リストの中にも現れるときを認識する。結果リスト結合器は、第1の結果リスト及び第2の結果リストの両方に現れる名前値を識別し、該名前値について、第1の結果リストの中に現れる名前値の別名及び第2の結果リストの中に現れる名前値の別名を結合結果リストに記録する。
結果リスト結合器の出力は、別名のリストである。ここで、別名は、第1のカテゴリの中のインデックス構造化データソースの中で命名されたエンティティについて及び第2のカテゴリの中で1回より多く命名されたエンティティについて、複数のデータソースの中に存在する。
実施形態の利用は、非構造化データソースから名前値を抽出するルーチンを含むよう拡張できる。例えば、次の通りである。前記複数のデータソースは1又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、前記データソース分類器は、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第3のカテゴリに割り当てるよう構成され、前記システムは、第3の照合プロセッサであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、1より多くの異なる名前値が単一のテキスト節から抽出されるとき、該1より多くの異なる名前値を互いの別名として第3の結果リストに格納するよう構成され、前記結果リスト結合器は、前記第2の結果リスト及び前記第3の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる各々の名前値について、同一の名前値が前記第2の結果リスト及び/又は前記第3の結果リストの中に現れる場合、前記第1の結果リストからの名前値の別名及び前記第2の結果リスト及び/又は前記第3の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される。
実施形態は、自然言語処理技術を用いるが、システムにおいて、データソース又はデータ構造固有ではなく、複数のデータソースからの名前値の包括的な分析及び抽出を実現する。
データソースは、第1及び第2のカテゴリ及び第3のカテゴリのいずれかに割り当てられても良い。例えば、構造化データソースは、非構造化データを有しても良い。したがって、単一の照合プロセッサにより識別できるより多くの別名を識別するために、データソースを複数の照合プロセッサにより処理することが望ましい場合がある、
第3の照合プロセッサは、データフィールド又はテキスト節の主語であるエンティティの候補名前値を抽出するために、非構造化データソースからの非構造化データフィールド又はテキスト節を分析するよう構成される。テキスト節又は非構造化データフィールドは、それに含まれるテキスト文字の数により、データソース分類器により識別できる。例えば、100文字以上は、非構造化として特徴付けられても良い。
結果リスト結合器は、第1の結果リスト及び第3の結果リストの両方に現れる名前値を識別し、該名前値について、第1の結果リストの中に現れる名前値の別名及び第2の結果リストの中に現れる名前値の別名を結合結果リストに記録する。
第3の照合プロセッサの特定の例として、第3の照合プロセッサは、非決定性有限オートマンに処理された所定規定表現セットの各々を用いることによりパターンマッチングを用いて、テキスト節の中の規定表現と一致するサブストリングを識別するよう構成される。ここで、テキスト節の中の規定表現の存在は、名前値が規定表現に関連するテキスト節の中の特定の位置に存在することを示す。
所定の規定表現セットは、第3の照合プロセッサの利用を拡張するために、複数の言語について入力されても良い。規定表現識別は、Java(登録商標)、Python、C++のようなプログラミング言語でサポートされる。したがって、第3の照合プロセッサは、これらの言語のうちの1つを用いて符号化されても良い。規定表現は、「規定の」言葉、フレーズ、又はサブストリングと連結した1又は複数の名前値を含む表現である。したがって、「規定の」言葉、フレーズ、又はサブストリングの存在は、名前値が例えば規定の」言葉、フレーズ又はサブストリングに先行する又は続く言葉又はテキストの他の部分、或いは、ある言葉、フレーズ又はサブストリングと別の言葉、フレーズ又はサブストリングとの間のサブストリングから抽出できることを示す。
第1の照合プロセッサの機能の特定の例として、前記第1の照合プロセッサは、前記第1のカテゴリに1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用いて、前記インデックス構造化データソースの中の各々の名前値について、前記名前値を対象構造化データソースとしての前記第1のカテゴリの中の残りの構造化データソースの各々からの名前値の各々と比較し、第1の類似性基準を満たす比較について、前記対象構造化データソースからの名前値を前記インデックス構造化データソースからの名前値の別名のリストに追加するよう構成される。
インデックス構造化データソースからの名前値の別名のリストは、第1の結果リストの中のエントリであり、及び第1の照合プロセッサの出力である。
第1の照合プロセッサは、名前値を比較のための適切な形式にフォーマット化するために前処理を実行するよう構成されても良い。この特定の形式は、使用される比較処理に依存する。例示的な比較処理は、2つの文字列の間の距離を比較するアルゴリズムである。このようなアルゴリズムの一例は、Jaro−Winkler距離である。したがって、前処理は、全ての名前値が第1の照合プロセッサによりアクセス可能な場所にある文字列として格納されることを保証し得る。或いは、(必要な場合)文字列への変換は、名前値が比較のためにデータソースから読み取られるとき、オンザフライで実行されても良い。
第1の照合プロセッサによる2つの名前値の間の比較の出力は、2つの文字列の間の距離を表す数値であっても良い(文字列は比較のために必要な名前値の形式である)。特定の例では、第1の類似性基準は、2つの名前値の文字列類似性比較が所定閾値を超える結果を生じる場合に、満たされる。
更なる例として、類似性基準は、一致しない2つの名前値によってのみ満たされても良く、文字列類似性比較は、所定閾値を超える結果を生成する。所定閾値は、システムの実装のときに又は各全体照合処理の実行時間のときに設定可能であっても良い。より複雑な例では、2つの名前値の比較は、2つの名前値を比較するために、1より多くの異なる文字列比較アルゴリズムを用いるステップを有しても良い。ここで、類似性基準は、所定閾総合値である。
第2の照合プロセッサの機能の拡張は次の通りである。
前記第2の照合プロセッサは、前記キー値により識別されるエンティティに属するデータ値のラベルをエンティティ間が等価性を示すラベルの所定のリストと比較し、前記第2の結果リストの中のエンティティの名前値の別名として、前記所定のリストに含まれるラベルを有するラベル付きデータ値を抽出するよう更に構成される。
有利なことに、この機能は、第2の照合プロセッサの能力を拡張し、異なるキー値が等価性を示すために使用されるときを認識するために名前以外の特性を用いることにより、特定の名前値の別名を識別するようにする。これは、各々の場合に記述されるエンティティが等価であることを明らかにし得るエンティティの特性を記述する他のラベル付きデータ値を利用する。データソース及びそれらのシンタックスの何らかの知識は、所定のラベルリストを形成するために必要である。この機能は、コンテンツ特有の結果を生成するために、データソースシンタックスの知識のためのメカニズムを提供する。このようなラベルの一例は、「dbpedia−owl:wikiPageRedirects」特性である。
有利なことに、システムは、データを種々の形式で格納するデータソースからのデータを照合できる。特に、複数のデータソースは、関係型データを格納するデータソース及びグラフデータを格納するデータソースを有する。
両者は、構造化データソースの例である。関係型データでは、ラベル付きデータ値は、テーブルに構成され、行はキー値により識別され、ラベルは列ヘッダである。トリプルとして符号化され得るグラフデータの場合には、キー値は、URLとして与えられても良い、トリプルの主語であり、ラベル付きデータ値は、トリプルの目的語であり、ラベルはトリプルの述語により提供される。
特定の実装では、前記システムは、照合処理のために、前記複数のデータソースから前記照合プロセッサにデータを供給するよう構成されるデータ抽出器を更に有する。
有利なことに、専用データ抽出器は、システムランタイムにおいてデータソースへのアクセスに関連するボトルネックを低減し得る。データ抽出器は、複数のデータソースから抽出されたデータを、システムのローカルにある、特に照合プロセッサによりアクセス可能な記憶場所に書き込んでも良い。データ抽出器は、特定のデータ値のみがデータソースから抽出されるように、データをフィルタリングするよう構成されても良い。
前記システムは、前記複数のデータソースのうちの少なくとも1つについて、前記結合結果リストの中の名前値に一致する前記データソースの中の各々の名前値について、前記結合結果リストに格納された名前値の別名の各々を、該別名が前記名前値の代替であることの指示と共に前記データソースに追加するよう構成される結合結果伝達器、を更に有しても良い。
有利なことに、このような結果伝達器は、別名が追加されるデータソースの内容を拡張する。追加又は代替機能として、結果リストに現れる各々の別名が該別名が現れたデータソースを識別する(アドレスのような)情報と一緒に格納される実施形態では、結合結果伝達器は、結合結果リストの中に現れる名前値を有するデータソースの中のエンティティの記述に、別名である名前値を有する他のデータソースの中の1又は複数のエントリへのリンク又は何からの他の形式のコンテンツアクセス手段を追加するよう構成されても良い。
第1の照合プロセッサのためのインデックス構造化データソースの選択は、例えば最も多くの名前値を有する構造化データソースを選択することにより自動化されても良い。代替で、前記第1のカテゴリの中に前記第1の照合プロセッサは、さらに、1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の該1より多くの構造化データソースの中からのインデックス構造化データソースの選択をユーザに促し、前記選択を前記インデックス構造化データソースとして用いても良い。
この場合のユーザは、人間のユーザであっても良く、又はシステムにアクセスするアプリケーションであっても良い。
別の態様の実施形態は、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理方法であって、前記複数のデータソースはラベル付きデータ値を有し、各々のラベル付きデータ値は複数のエンティティのうちの1つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記方法は、分類ステップであって、前記複数のキー値の各々について、1又は複数の名前値を識別し、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、構造化データソースの各々を2つのカテゴリのうちの1つに割り当て、前記2つのカテゴリは、前記構造化データソースの中の各々のキー値について1つの名前値のみが存在する、第1のカテゴリと、前記構造化データソースが、それぞれ1より多くの異なる名前値を有する1又は複数のキー値を有する、第2のカテゴリと、を有する、分類ステップと、第1の照合処理ステップであって、前記第1のカテゴリの中に1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第1の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第1の結果リストに格納する、第1の照合処理ステップと、第2の照合処理ステップであって、前記第2のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値であるラベル付きデータ値を識別し、1より多い異なる名前値が識別された場合、該1より多い異なる名前値を互いの別名として第2の結果リストに格納する、第2の照合処理ステップと、結合ステップであって、前記第2の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる名前値の各々について、同一の名前値が前記第2の結果リストの中に現れる場合に、前記第1の結果リストからの名前値の別名と前記第2の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、結合ステップと、を有する照合処理方法を含む。
任意で、前記複数のデータソースは1又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、前記分類ステップは、さらに、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第3のカテゴリに割り当て、前記方法は、第3の照合処理ステップであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、1より多くの異なる名前値が単一のテキスト節から抽出されるとき、該1より多くの異なる名前値を互いの別名として第3の結果リストに格納する、第3の照合処理ステップと、を更に有し、前記結合ステップは、前記第2の結果リスト及び前記第3の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる各々の名前値について、同一の名前値が前記第2の結果リスト及び/又は前記第3の結果リストの中に現れる場合、前記第1の結果リストからの名前値の別名及び前記第2の結果リスト及び/又は前記第3の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する。
別の態様の実施形態は、コンピューティング装置により実行されると、該コンピューティング装置に本発明の実施形態として上述したコンピューティング装置として機能させるコンピュータプログラムを有する。
別の態様の実施形態は、コンピューティング装置により実行されると、該コンピューティング装置に本発明の実施形態として本願明細書に上述した又は他の箇所に定めた方法を実行させるコンピュータプログラムを有する。
さらに、本発明の実施形態は、複数の相互接続されたコンピューティング装置により実行されると、前記複数の相互接続されたコンピューティング装置に、本発明を具現化する方法を実行させるコンピュータプログラム又はコンピュータプログラムスーツを有する。
本発明の実施形態は、複数の相互接続されたコンピューティング装置により実行されると、前記複数の相互接続されたコンピューティング装置に、本発明の実施形態として本願明細書に上述した又は他の箇所に定めたコンピューティング装置として機能させるコンピュータプログラム又はコンピュータプログラムスーツを有する。
態様(ソフトウェア/方法/装置)が別個に議論されたが、1つの態様に関連して議論されたその特徴及び影響は、他の態様にも等しく適用できる。したがって、方法の特徴が議論される場合、装置の実施形態はその特徴を実行する又は適切な機能を提供するよう構成されるユニット又は装置を有すること、及びプログラムは該プログラムが実行されるコンピューティング装置に前記方法の特徴を実行させるものと解釈される。
上述の態様のいずれにおいても、種々の特徴は、ハードウェアで、又は1又は複数のプロセッサで動作するソフトウェアモジュールとして実装されても良い。一態様の特徴は、他の態様のいずれにも適用できる。
本発明は、上述の任意の方法を実行するコンピュータプログラム又はコンピュータプログラムプロダクト、及び上述の任意の方法を実行するプログラムを格納しているコンピュータ可読媒体も提供する。本発明を実施するコンピュータプログラムは、コンピュータ可読媒体に格納されてもよい。或いは、例えば、インターネットウェブサイトから提供されるダウンロード可能なデータ信号のような信号形式又は任意の他の形式であってもよい。
本発明の好適な特徴は、単なる例として添付の図面を参照して以下に説明される。
一実施形態の照合処理システムを示す。 別の実施形態の照合処理システムを示す。 方法のステップで注釈を付けられた別の実施形態の照合処理システムを示す。 一実施形態のデータソースカテゴリが従う論理処理を示す。 構造化データソースからのデータを示す。 非構造化データソースからのデータを示す。 更なる例示的なデータを示す。 一実施形態の分類器レジストリにより維持されるデータの例示的な形式を示す。 一実施形態の第1の照合プロセッサにより実行される照合手順の概略を示す。 一実施形態の第2の照合プロセッサによる処理のためのRDF記述を示す。 一実施形態の第2の照合プロセッサによる処理のためのRDF記述を示す。 一実施形態の第2の照合プロセッサによる処理のためのRDF記述を示す。 非構造化データソースからのテキストの一節、一実施形態の第3の照合プロセッサによりテキストを処理するために使用される正規表現、及び該処理の結果を示す。 非構造化データソースからのテキストの一節、一実施形態の第3の照合プロセッサによりテキストを処理するために使用される正規表現、及び該処理の結果を示す。 非構造化データソースからのテキストの一節、一実施形態の第3の照合プロセッサによりテキストを処理するために使用される正規表現、及び該処理の結果を示す。 一実施形態の結果リスト結合器により実行される結合処理を示す。
図1は、照合処理システム10を示す。照合処理システム10は、データソース分類器14と、第1の照合プロセッサ11と、第2の照合プロセッサ12と、第3の照合プロセッサ13と、結果リスト結合器16と、を有する。複数のデータソース20は、システムの外部にあるとして示される。しかしながら、複数のデータソース20からのデータは、データ抽出器18により抽出されローカルに(つまり、システムの内部に)格納されても良い。複数のデータソース20は、システム10にアクセス可能である。第3の照合プロセッサ13が図1に示される。しかしながら、実施形態は、第3の照合プロセッサを有しないで、第1の及び第2の照合プロセッサを有しても良い。
図1に示したシステム10のコンポーネントは、基本コンポーネントであり、それぞれシステム10により実行される異なる機能を表す。ハードウェアコンポーネントの観点で、システム10は、データ記憶装置、プロセッサ、及びメモリを有するコンピューティング装置であると考えられる。しかしながら、システム10は、互いに協働して動作するこのような複数の装置により実現されても良い。各々の基本コンポーネントは、異なるコンピューティング装置により実現されても良い。代替で、システム10は、仮想サーバとして実行するプログラムであっても良く、基本コンポーネントの機能を実行するときに必要なので及びそのときに物理ハードウェアリソ―スを利用するよう構成されても良い。例えば、照合処理がユーザ又は照合されるべきであると識別された複数のデータソース20により開始されるとき、システム10は、管理サーバからハードウェアリソ―スを要求しても良い。
図1の中のコンポーネントを接続する線は、データ/情報の流れを表すが、コンポーネント間の情報の交換のみを意味しない。例えば、照合プロセッサは、それぞれ、比較のためにデータ値を抽出するために、又はデータ抽出器18により投入されたローカルデータ記憶装置17にアクセスするために、データソース20自体にアクセスするよう構成される。データソース分類器から各々の照合プロセッサへのリンクは、データソースの個々のカテゴリのメンバーシップを分類器14によりプロセッサに通知することを示す。
複数のデータソース20は、ラベル付きデータ値で構成される構造化データソース20を有する。ラベル付きデータ値の各々は複数のエンティティのうちの1つの特性を表し、エンティティはキー値により識別可能であり、特性はデ―タ値のラベルにより識別可能である。複数のデータソース20は、1又は複数の非構造化データソースを更に有しても良い。各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節はテキスト節の一部又はそれに関連して格納されたキー値により識別可能なエンティティを表す。データソース20は、オープンデータソースであっても良く、又はシステム10がアクセスする資格を与えられたクローズド/プライベートデータソースであっても良い。データソース20は、Wikipedia又はDBediaのようなインターネットサイトであっても良く、(Land Registryサービスにより又はRoyal Mailにより英国で整備されているような)オープンデータベースを含むデータベースであっても良く、文書レポジトリであっても良い。ファイルフォーマットの観点で、データソース20は、テキスト、csvファイル、Microsoft Excelファイル、RDFストア、データベーステーブルの形式で、及びエンティティがキー値により識別される任意の他の形式であっても良い。
データソース分類器14は、特定のキー値により識別されるエンティティの特性を表すデータ値の中で、名前値を識別するよう構成される。このような識別は、データ値に属するラベル(又は他の形式のタグ又は意味的に豊富なメカニズム)に基づく。データソース20は、データソースが各々のキー値について1より多くの異なる名前値を有するか否かに依存して、第1又は第2のカテゴリに分類される。任意のキー値について1より多くの異なる名前値が存在する場合、データソースは第2のカテゴリに割り当てられる。その他の場合、データソースは第1のカテゴリに含まれる。さらに、データソース分類器14は、非構造化データを有するデータソースを第3のカテゴリに追加するよう構成される。これは、任意の潜在的な名前値が含まれるか否かを決定するために、非構造化データが分析されるようにするためである。特定の長さ、例えば100文字を超えるテキスト節は、実装に依存して非構造化データと見なされても良い。その他の場合、非構造化データは、特定の長さを超え及びラベル付けされていない又は文字列若しくはテキストフィールド全体で1回だけラベル付けされている、文字列又はテキストフィールドであっても良い。
第1の照合プロセッサ11は、データソース境界に跨り名前値を横断照合する(cross−reconcile)。インデックスデータソースは、リネームデータソースの中で別名を検索される名前値を定める。第1の照合プロセッサ11は、名前値の文字列比較を実行することにより、第1のカテゴリの中の残りのデータソースの各々とインデックスデータソースを照合する。類似性を識別するために文字列値を比較するための異なるアルゴリズムが存在する。システム設計者は、名前値を比較する際に第1の照合プロセッサ11により実行されるべき1又は複数のアルゴリズムを選択しても良い。文字列比較の結果が比較された文字列を別名と見なすのに十分に類似していると考えられるか否かを決定するために、所定の閾値が用いられても良い。閾値は、例えばシステム設計者により又は実行時にシステム10に指示するときに引数として設定可能である。
第2の照合プロセッサ12は、データソース境界の中の照合を実行する。したがって、第2のカテゴリに割り当てられた各々のデータソースは、データソースの中の同じエンティティのために用いられる異なる名前値を抽出するために内部で照合される。基本的な例では、これは、データ値が名前値であることを示す特定のキー値により参照されるエンティティの特性を表すデータ値の(ヘッダ、述語値、又はデータ値の意味的重要性の他の指示子のような)ラベルを単に識別し、及び名前値を抽出することによっても良い。しかしながら、意味的参照及び他の技術は、異なるキー値により参照されるエンティティについて類似の若しくは同じデータ値又は類似の若しくは同じラベルを有する名前値以外の多数のラベル付きデータ値に基づき、識別するために用いられても良い。(一致/類似ラベル/データ値ペアの最小数/率、又はラベル/データ値の意味的重要性に基づく加重メトリック(つまり、データソースの中で少ない頻度で現れるデータ値ほど意味的に重要である)のような)閾より大きい類似度は、異なるキー値が同じエンティティを実際に参照することの指示として見なされても良い。
第3の照合プロセッサ13は、非決定性有限オートマンに処理された所定規定表現セットの各々を用いることによりパターンマッチングを用いて、テキスト節の中の規定表現と一致するサブストリングを識別するよう構成される。ここで、テキスト節の中の規定表現の存在は、名前値が規定表現に関連するテキスト節の中の特定の位置に存在することを示す。第3の照合プロセッサ13は、言語処理技術を用いて、テキスト表現又はパターンの中のサブストリングの位置に基づき名前値の候補である該サブストリングを抽出するよう構成される。2以上のこのようなサブストリングが同じテキスト節(つまり、単一のキー値により参照されるテキスト節)から抽出されるとき、抽出されたサブストリングは、第3の結果リストの中に互いに別名として格納される。第3の照合プロセッサ13は、構造化クエリを用いて、既知の/指定された文字/文字列の間に位置する又は既知の/指定された文字/文字列の片側に位置する(クエリ設計のときに)未知のサブストリングを抽出する。
第1の結果リスト、第2の結果リスト、又は第3の結果リストのうちの任意のものは、結果リスト結合器16による結合の前に結果リストから誤検出を除去させるために、インタフェースを介して人間のユーザに提示されても良い。代替で、別名のリストから誤検出を除去させるために、結合された結果リストのみが人間のユーザに提示されても良い。
第1の処理ユニット、第2の処理ユニット、及び第3の処理ユニットは、分類されたデータソースにより個々のカテゴリに属するデータソースの通知を入力される。それらは、それぞれ、次に、データソースから直接に、データ抽出器18を介して、又はデータソースのローカルに格納されたバージョンから、それら個々のカテゴリな中のデータソースからデータを得るよう構成される。得られたデータは、次に、個々の照合プロセッサの照合処理を用いて照合される。各々からの出力は、問題の照合プロセッサにより互いに別名であると考えられた名前値のテーブル又はリスト、例えばカンマ区切りリストである。リストの中の名前値は、該名前値が生じたデータソースの識別子、及び/又は名前値の名前が属するエンティティを識別するキー値を伴っても良い。
結果リスト結合器16は、照合プロセッサの各々により生成された結果リストを受信し、それらを結合するよう構成される。結合は、個別の結果リストを単に互いに付け足すことであっても良い。結合は、第1の結果リストに含まれ、第2及び/又は第3の結果リストにも現れる任意の名前値について、該名前値の別名を各リストに格納するステップであって、該名前値の別名は、結合結果リストの中で互いに別名として現れる、ステップを更に有しても良い。
図2は、照合処理システム10のアーキテクチャを示す。図1のコンポーネントと同じ参照符号を有するコンポーネントは、上述の図1の説明の中の対応するものの特徴及び機能を有すると想定される。
図3は、図2のアーキテクチャに関連して説明される、幾つかの方法のステップで注釈を付けられた図2のアーキテクチャを示す。
図2のシステム10は、第1の照合プロセッサ11と、第2の照合プロセッサ12と、第3の照合プロセッサ13とを有する。これらの3個のプロセッサは、集合的に照合器として言及されても良い。システム10は、結果リスト結合器16と、データソース分類器14と、レジストリ141と、データ記憶ユニット17と、データ抽出器18と、を更に有する。複数のデータソース20は、システム10の外部にあるとして示される。
第1の照合プロセッサ11は、1:1プロセッサとしても表されても良い。第2の照合プロセッサ12は、1:m−sプロセッサとしても表されても良い。第3の照合プロセッサ13は、1:m−uプロセッサとしても表されても良い。結果リスト結合器16は、最終結合器又は単に結合器としても表されても良い。データソース分類器14は、分類器14として又は照合ディスパッチャ14としても表されても良い。
データソース20は、任意のオープンデータソース、例えばLinking Open Data(http://lod−cloud.net/)、DBPedia(dbpedia.org)等、又はインターネットで公衆に利用可能なデータであり得る。データソースは、システム10がアクセスを認可されたプライベート(つまり、アクセス制限)データベースであり得る。データソースは、システム動作中に、例えばシステムに供給される命令の引数として、ユーザにより選択されても良い。
データ抽出器18は、オープンデータソースから関連情報を読み出すよう構成される。この抽出は、図3のステップS301により表される。つまり、照合器による分析/処理のための情報である。データソースの様々な特性により、データ抽出器18により提供される機能は、ファイルダウンロード、ウェブクローリング、及び構造化/半構造化/非構造化データパーシング及び抽出を含んでも良い。
構造化/半構造化データダウンロードを提供するデータソースでは、ダウンロードされたデータは、システム10の中のデータ記憶ユニット17に、任意的にその元のフォーマットで、保存される。データ抽出器18により抽出されたデータ又はファイルシステムをデータ記憶ユニット17に保存するステップは、図3のステップS302により表される。このようなデータを提供するデータソースは、分類器14により第1又は第2のカテゴリに分類される。そして、このようなデータは、第1又は第2の照合プロセッサ12による処理のためのものである。システム10の中のデータ記憶ユニット17は、照合器により直ちにアクセス可能であり、並列リードアクセス可能なように構成されても良い。非構造化データ、例えばDBPedia又はWikiPediaからクローリングされた「Abstract」又は「Description」のようなテキスト節では、テキストの(各ウェブリソースに固有である)ウェブURLをそのキー値として及びテキストブロックをエンティティの説明として用い、CSVファイルを生成するために幾つかの前処理が実行される必要がある。他のエンティティを記述するが同じ種類の情報の全部は、同じファイルに付加できる。
データ抽出器18の例示的な使用例を以下に記載する。ブロックテキストの一例は、DBPediaにより提供される要約である。DBPediaにおいてBBCに関する続くurl存在情報は、RDFフォーマットで、http://dbpedia.org/page/BBCである。dbpedia−owl:abstractと呼ばれる特性が存在する。(s−p−oの形式のトリプルの意味において)目的語は、会社名情報British Broadcasting Corporationを含むテキストブロックである。しかしながら、DBPediaは、上述のリンクをCSVファイルにダウンロードするためのダウンロードリンクを提供しない。したがって、SPARQLクエリは、それらのオープンエンドポイントhttp://dbpedia.org/sparqlに対して発行される必要がある。私達が「select ?s ?abstract where {?s a Company . ?s dbpedia−owl:abstract ?abstract}」のようなあるクエリを提出する場合、クエリ結果は、全ての会社url及びクエリを満たすそれらの要約を有するCSVファイルであるだろう。「appended」は、同じクエリにより複数のクエリ結果が返される場合を表す。例えば、dbpediaは一度に10000個のレコードを返すだけのこともある。したがって、SPARQLクエリの中で、私達は、制限10000オフセット10000と言う必要がある。
データ抽出器18は、照合器にデータソース自体に直接アクセスさせるための代替として提供される。データ抽出器18は、照合器がデータ記憶ユニット17の中でアクセスする必要があるデータの全部を配置することにより、照合器の潜在的性能ボトルネックを除去する。
データ記憶ユニット17は、単一のデータ記憶ユニット17であっても良く、又はそれぞれデータ抽出器18により読み出される情報/データの一部又は部分集合を格納する複数のユニットを有するデータ記憶装置であっても良い。
データ記憶ユニット17は、データソースからダウンロードされ又は抽出されたデータ/情報を格納するよう構成される。照合器は実行時間にデータを抽出できるが、幾つかの実装では、性能の理由から、データの少なくとも一部をローカルネットワークに格納し、ネットワークアクセスオーバヘッドを回避することが望ましい場合がある。
データソース分類器14は、照合ディスパッチャとしても参照されても良い。なぜなら、データソースが分類されると、関連する照合プロセッサは、データソースの照合処理を開始するためにディスパッチできるからである。この説明の例外は、インデックスデータソースが選択され及び少なくとも1つの他のデータソースが第1のカテゴリに割り当てられるまで照合処理を実行できない第1の照合プロセッサ11の場合である。しかしながら、これらの前提条件が満たされると、新しいデータソースの第1のカテゴリへの追加は、第1の照合プロセッサ11のディスパッチであると考えられる。
データソース分類器14により実行される処理、つまり、複数のデータソースの各々へのアクセス、及びそれらのカテゴリへの割り当ては、マッピング値を各データソースに割り当てることにより実行されても良い。ここで、マッピング値は、データソースを処理する照合プロセッサを決定する。マッピング値は、データソース内の名前値へのキー値のマッピングを表す。
データが抽出されデータ記憶ユニット17に格納されると、分類器14は初期化される。これは、図3のステップS303により表される。分類器14は、各データソースを調べて、各データソースについてキーと名前との間のマッピング又は関係を表すマッピング値を生成するよう構成される。分類器14によりデータ記憶ユニット17に格納されたデータソースからのデータの検査及び調査は、図3のステップS304により表される。この状況では、キー及び名前は、ラベル、ヘッダ、又はクラス定義である。ここで、キー値又は名前値はいずれかの特定のインスタンスである。マッピング値は、データソースのスキーマ又はオントロジ定義を検査するし、及びラベル(ここで、ラベルは列ヘッダ、述語、及び特性を命名する他のメカニズムを包含すると考えられる)をキー値又は名前値を参照するために既知の所定ラベルリストと比較することにより導出可能である。代替又は追加で、スキーマ又はオントロジ定義をインスタンス化するデータは、マッピング値を決定するために検査されても良い。
データソースを分類する際に分類器14により実行される例示的な処理は、図4を参照して以下に記載される。
S401:データ記憶ユニット17の中のデータソースを識別し、データをスキャンする。
S402:同じキー値を有するデータの中に複数のエントリが存在するかどうかを知るために、キー値を調べる。
S406:ステップS102で重複するエントリが存在しない場合、マッピング値は1:1である。これは第1のカテゴリに対応し、データソースは第1の照合プロセッサ11により処理される。1:1マッピング値を有するデータソースの一例は、図7に示される。
S403:重複エントリ(同じキー値を有する2つのエントリ)が存在する場合、それらが一致するか否かを知るために名前値を調べる。
S407:S403で各々の重複エントリの名前値が同じである場合、マッピングは依然として1:1であり、データソースは第1のカテゴリに割り当てられ、第1の照合プロセッサ11により処理される。
S404:その他の場合、同じキー値について異なる名前値が存在する場合、マッピング値は1:mである。この1:mの重複の一例は、図5に示される。図5は、上述のSPARQLクエリの結果としてCSVファイルのセグメントを示す。CSVファイルは、カンマ区切りファイルであり、スプレッドシートと同様であるが、より簡易なフォーマットを有する。第1の列はDBPediaにおけるURLであり(例えば、各々のリソースは、ユニークなDBPediaによりURLを割り当てられている)、第2の列は例えばDBPediaの意味の名前dbpprop:nameである。dbpprop:name述部は2つの目的語値を有する。1つは英語、1つは日本語である。このRDFフォーマットは、同じURL(キー値)を有する、CSVファイルの中の2つのエントリで終わる。
S404:データソースが1:mマッピング値を与える場合には、名前値種類を更に調べ、長さが所定の閾、例えば100(実装に依存して変化するが、本例では会社名を考えているので、100文字で十分思われる)より短い1つの単純な文字列目的語である場合、S405に進み、マッピング値は1:m−sである(ここで、mはキー値当たりの複数の名前値を示し、sは構造化又は半構造化を示す)。これは第2のカテゴリに対応し、したがってデータソースは第2の照合プロセッサ12により処理される。しかしながら、長さが100より長い場合、これは、パースされなければならないテキスト節が存在することを示す、名前値が抽出される。したがって、フローはS408に進み、マッピング値は1:m−uである(uは非構造化を示す)。これは第3のカテゴリに対応し、データソースは第3の照合プロセッサ13により処理される。
非構造化データの一例は、図6に示される。図5及び6は、1:m:sと1:m:uマッピングの間を区別する例を提供する。ここで、1:m:sは1に対して多くの構造化ケース(例えば、表の中の列)を表し、第1のカテゴリに対応する。そして、1:m:uは、1に対して多くの非構造化ケース(例えば、テキストブロック)を表し、第3のカテゴリに対応する。データソースは、両方のケースにおいてdbpediaであり、urlは依然としてキーである。しかし、私達が分析しようとしている列が、文字列の中の単純な名前、例えばIBMではなく、非構造化テキストである場合、第3の照合プロセッサ13のパターンに基づく分析が適用される。例えば、私達は、「(」又は「same as(と同じ)」、又は「well known(良く知られた)」のような文字を捜し、これらの文字の両側にある文字列は同じエントリを表していると決定する。
図7は、1:1マッピング値(第1のカテゴリ)、1:m−sマッピング値(第2のカテゴリ)、及び1:m−uマッピング値(第3のカテゴリ)を有するデータソースの更なる例を示す。
各々のデータソースのマッピング値、又は各々のデータソースが割り当てられるカテゴリは、データソース分類器14のレジストリ141に格納される。複数のデータソースが分類されると、照合プロセッサは初期化される。これは、図3のステップS305により表される。レジストリ141の物理位置は、実装の詳細に依存して、メモリの中又は分散設定であっても良い。図8は、レジストリ141に格納された値の一例を示す。
実装の詳細に依存して、3個より多くのマッピング値したがって、3個より多くのデータソースカテゴリが存在しても良い。
照合プロセッサの各々は、どのデータソースを処理すべきかを知らせるために、データソース分類器レジストリ141を参照する。第1の照合プロセッサ11は、第1のカテゴリに割り当てられた、つまり1:1マッピング値を有するデータソースを処理する。第2の照合プロセッサ12は、第2のカテゴリに割り当てられた、つまり1:m−sマッピング値を有するデータソースを処理する。第3の照合プロセッサ13は、第3のカテゴリに割り当てられた、つまり1:m−uマッピング値を有するデータソースを処理する。
照合器は、3個の照合プロセッサを有する。3個の照合プロセッサの各々は、分類器14により特定のカテゴリに割り当てられた又は特定のマッピング値を有するデータソースに対して、照合処理を実行する役割を担う。照合処理は、並列動作しても良い。
第1の照合プロセッサ11は、第1のカテゴリに割り当てられた、1:1マッピング値を有するデータソースに対して照合処理を実行する。データソースは、インデックス(インデックス構造化データソースとしても表される)として機能するよう選択される。インデックスデータソースは、ユーザの選好に依存して手動で定められても良い。あるいは、選択は自動化されて、例えば最も多くの名前値を有するデータソースを選択しても良い。インデックスデータソースは、次に、第1の照合プロセッサ11により照合処理を行われ、第1のカテゴリの中の他のデータソースの各々が順々に処理される。この処理を図9に示す。データソースを次々に照合することは、あるデータソースの中の各々の名前値を別のデータソースの中の各々の名前値と比較し、比較が基準を満たすとき、リストに結果を出力する処理である。
例えば、照合方法は、2つの名前値を比較するメカニズムとして文字列類似性比較を用いても良い。例えば、Jaro−Winkler距離(Winkler、1990)は、2つの名前文字列の間の類似性を測定するアルゴリズムである。比較の結果は、0と1の間の値であるスコアである。ここで、0は類似性を有しないこと、1は正確に一致することと見なされる。システム10は、2つの名前値が別名と考えるのに、したがって第1の結果リストに入れられるのに、十分に類似している基準として任意の値を採用できる。一例として、0.98は、名前の2つの変形が同じエンティティを指していることを確認するための最小スコアとして定めることができる。例えば、
Figure 2016192202
しかしながら、この最小スコアの選択は柔軟である。より正確な結果を生成するために、標準を引き上げることができる。標準を引き下げることは、誤検出の数を増大させる。しかし、これは、全ての可能な別名を含むという観点から望ましい場合がある。結果フィルタリング段階において、増大する負荷とのトレードオフである。基準に追加する要素として、正確な一致が結果リストへの入力から除外されても良い。
第1の結果リストは、他の第1のカテゴリのデータソースの各々とインデックスデータソースを比較して付加された結果である。結果は統合されて、インデックスデータソースの中の各々の名前値が1回現れ、第1の照合プロセッサ11により見付けられた別名と関連付けられる(つまり、同じ行にある)ようにする。別名が見付かったデータソースの指示も含まれても良い。
第2の照合プロセッサ12は、第2のカテゴリに割り当てられた、1:m−sマッピング値を有するデータソースに対して照合処理を実行する。第2の照合プロセッサ12は、1:m−sのマッピング値を有するデータソースについて名前を照合するよう構成される。第2の照合プロセッサ12は、同じキー値の複数の名前値の間の関係を構築するために意味参照技術を用いるよう構成されても良い。第2の照合プロセッサ12により実行される手順は、異なる種類のデータファイル、例えば、CSV、JSON又はTurtleに適用可能である。しかし、説明目的で、ここで私達は、理論を説明するために、またRDFは良く知られた意味的に豊かな言語であるので、RDF Turtleを選択する。
RDFデータは、ステートメントを有する。ここで、各ステートメントは、主語−述語−目的語の表現形式で生成される。主語、述語、目的語のデータ種類は、通常、URLである。例えば、図10aは、主語(キー値)、述語(ラベル)、目的語(名前値)の各々の値を有する例示的なRDFステートメントを示す。
図10Aでは、目的語はURL種類である。しかしながら、目的語データ値は、直定数型、例えばストリング値であり得る。
URL型及び複数の値を有する目的語では、異なる値の間の推測結果は、それらが同じ種類のクラスに属することだけであり得る。例えば、図10Bは、目的語(dbpedia:Thomas_J._Watson及びdbpedia:Charles_Renlett_Flint)が人の種類及びURL型の両方である2つのRDFステートメントを示す。これら2つのURLは更に逆参照(de−reference)できないので、これは、それらのキー値が一致し及び名前値が存在することを示唆するようにデータ値がラベル付けされていても、それらが異なる情報を含むに違いないこと、及びそれらが同じエンティティを命名していないこと、を意味する。
しかしながら、目的語が直定数型及び複数の値を有するRDFステートメントでは、推測結果は類似するとして変換できる。名前であり「similar to(類似する)」基準を満たすと考えられる任意の目的語値は、互いに別名として第2の結果リストに追加される。少なくとも意味的レベルでは、異なる値を有するが同じ方法でラベル付けされ同じ主語リソースの特性である(つまり同じキー値を有する)2つの文字列目的語の間には、それらが更に逆参照可能ではないので、明らかな差はない。したがって、図10Cの例では、目的語値は文字列型であり異なるので、文字列が明らかに類似していなくても(つまり、異なる長さ、等)、第2の照合プロセッサ12は、それらが互いに別名であると決定し、それらを第2の結果リストに追加する。これは、特に、私達が検討している目的語値が述語により名前として明示的にラベル付けされているときに当てはまる。ここで、名前は、エンティティの純粋な識別情報であり、必ずしもユニークである必要はない。1:m−sプロセッサが図10Cのデータを処理するとき、例えば、述語値を探すとき、「名前」又は名前の変形を含む場合に、その目的語の種類を探し、種類が直定数である及び1つの主語及び述語が複数の目的語直定数値を有する場合、私達は次のように推論できる。
“International Business Machines Corporation”は“IBM Corp”に類似する。
そして、2つの名前値が、互いの別名として、第2の結果リストに追加される。
この方法により、照合結果は、第1の照合プロセッサ11を用いるだけで、更に拡大された比較になり得る。なぜなら、それは、類似性スコアが0.98より小さいが名前が実際に同じエンティティを表す状況をカバーするからである。
第2の照合プロセッサ12の機能は、名前値の別名を提供するエンティティの特性を表す、名前値以外のラベル付けされたデータ値を比較することを含むよう拡張されても良い。例えば、第2の照合プロセッサは、キー値により識別されるエンティティに属するデータ値のラベルをエンティティ間の等価性を示すラベルの所定のリストと比較し、第2の結果リストの中のエンティティの名前値の別名として所定のリストに含まれるラベルを有するラベル付けされたデータ値を抽出するよう更に構成されても良い。この機能は、コンテンツ特有の結果を生成するために、データソースシンタックスの知識のためのメカニズムを提供する。このようなラベルの一例は、「dbpedia−owl:wikiPageRedirects」特性である。例えば、「dbpedia−owl:wikiPageRedirects」がユーザ又は管理者により又はシステム設計時に所定のラベルリストに含まれる場合、この特定の述語によりリンク付けされる目的語は、僅かに異なる名前ラベルを有する生成される他の記事/ページへのリンクを含むことが知られている。
第3の照合プロセッサ13は、名前情報の1又は複数の値を含む非構造化データ、例えばテキストブロック/節を処理するよう構成される。これは、名前値が異なる言語で記述され/異なる言語に変換される多言語テキストシナリオで特に有効である。このプロセッサが処理できる主要言語コンテンツは、システム設計者、管理者により、又はユーザにより、システム10に指示するときに引数として実行時間にユーザにより、設定可能である。以下の例では、英語がコア言語、つまり、正規表現の存在、したがって名前値の位置を識別するために用いられる言語として用いられる。第3の照合プロセッサ13により実行される技術は、他の言語にも適用可能である。
一致する2以上の名前を見付けるためのコア技術は、パターンマッチングである。つまり、第3の照合プロセッサ13は、対象テキスト(処理されているテキストブロック又は節)の中を検索するために検索パターンを形成する文字シーケンスである、シーケンスパターン(テキスト文字列)を記述する正規表現を用いるよう構成される。正規表現プロセッサ(第3の照合プロセッサ13のサブコンポーネント)は、正規表現と一致するサブストリングを認識するためにテキスト節と比較するために、NFA(nondeterministic finite automaton)で、その又は各々の正規表現を処理するよう構成される。多くのプログラミング言語は、正規表現機能、例えばテキストブロックから検索サブストリングを抽出するプロセッサを提供する。したがって、第3の照合プロセッサ13は、Java、Python、又はC++のようなプログラミング言語を用いて記述されたプログラムとして実装されても良い。なぜなら、これらの言語では、正規表現ステートメントをパーシングするための固有の機能が存在するからである。
図11Aは、非構造化データソースから抽出された例示的なテキスト節を示す。図11Bは、第3の照合プロセッサ13により格納され、正規表現、従って名前値の位置と一致するサブストリングを認識するために用いられる、正規表現の例示的な形式を示す。図11A〜Cの例では、名前値が探されるえんは会社である。したがって、会社及び企業は、正規表現の一部として用いられる。
図11Cは、図11Aのテキストブロックを処理するときに第3の照合プロセッサ13が図11Bの正規表現を使用するとき返される結果を示す。
第3の照合プロセッサ13は、サブストリング操作により達成されたパターンマッチング結果を精緻化するために、個々の名前値(つまり、Fujitsu Ltd.及び富士通株式会社)を再び抽出するために更なる分析を行うよう構成される。抽出された名前値は、第3の結果リストに互いの別名として格納される。
結果リスト結合器16は、個々の照合プロセッサにより生成された結果リストを統合方法で処理するよう構成される。特定の例では、全ての動作の単純なマージではなく、個々の照合プロセッサにより生成された結果リストに跨る横断参照(cross−reference)型の照合が実行される。例示的な処理ロジックは次の通りである。
結果セット1(第1の結果リスト、第1の照合プロセッサ11により生成される)、結果セット2(第2の結果リスト、第2の照合プロセッサ12により生成される)、及び結果セット3(第3の結果リスト、第3の照合プロセッサ13により生成される)が与えられると、結果セット1のセットの中の名前値のいずれかが結果セット2のセットの中で少なくとも1つの一致する名前を見付けられると、結果リスト結合器16は、一致する名前値及び結果セット1からのその別名が一致する名前値及び結果セット2からのその別名と調整できると結論付ける。同じロジックは、結果セット1と結果セット3とを結合して最終結合結果リストを生成するときに、結果リスト結合器16により適用される。図12は、結果セット1の中でa、b、cが全て互いの別名として格納された名前値であり、結果セット2の中でd、a、eが全て互いの別名として格納された名前値であり、結果セット3の中でf、g、bが全て互いの別名として格納された名前値である、処理フローを示す。図12の矢印は、一致する名前値を示す。名前値a〜gは、結合結果リストに、互いの別名として格納される。
結果リスト結合器16により、結合結果リストに更なる情報を組み込むことができる。結合結果リストを生成する前又は後に、結果リスト結合器16は、データソース(又はデータ抽出器18により抽出されたデータ)に問い合わせて、結合結果リストの中の各々の名前値について、又は第1、第2及び/又は第3の結果リストの中の各々の名前値について、各々の名前値が抽出されたデータソースを識別する情報(例えば、場所、タイトル、又はアドレス)を、該名前値により命名されたエンティティを識別するキー値と一緒に、得ても良い。
正確な結合結果により、エンティティ識別子は、異なるデータソースから正確に抽出できる。例えば、金融分野では、異なる財政規則により発行される識別子が抽出でき、これらの識別子に基づき、関連する財務報告がダウンロードできるので、意志決定者が特定のエンティティの包括的なポートフォリオを構築できる。
以上の実施形態に加えて、更に以下の付記を開示する。
(付記1) 複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理システムであって、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの1つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記システムは、
前記複数のキー値の各々について、1又は複数の名前値を識別するよう構成されるデータソース分類器であって、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、前記データソース分類器は、構造化データソースの各々を2つのカテゴリのうちの1つに割り当てるよう構成され、前記2つのカテゴリは、
前記構造化データソースの中の各々のキー値について1つの名前値のみが存在する、第1のカテゴリと、
前記構造化データソースが、それぞれ1より多くの異なる名前値を有する1又は複数のキー値を有する、第2のカテゴリと、を有する、データソース分類器と、
第1の照合プロセッサであって、前記第1のカテゴリの中に1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、前記第1のカテゴリの残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第1の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第1の結果リストに格納するよう構成される、第1の照合プロセッサと、
第2の照合プロセッサであって、前記第2のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値である、同じ構造化データソースの中のラベル付きデータ値を識別し、1より多い異なる名前値が識別された場合、該1より多い異なる名前値を互いの別名として第2の結果リストに格納するよう構成される、第2の照合プロセッサと、
結果リスト結合器であって、前記第2の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる名前値の各々について、同一の名前値が前記第2の結果リストの中に現れる場合に、前記第1の結果リストからの名前値の別名と前記第2の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、結果リスト結合器と、
を有する照合処理システム。
(付記2) 前記複数のデータソースは1又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、
前記データソース分類器は、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第3のカテゴリに割り当てるよう構成され、
前記システムは、
第3の照合プロセッサであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、1より多くの異なる名前値が単一のテキスト節から抽出されるとき、該1より多くの異なる名前値を互いの別名として第3の結果リストに格納するよう構成され、
前記結果リスト結合器は、前記第2の結果リスト及び前記第3の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる各々の名前値について、同一の名前値が前記第2の結果リスト及び/又は前記第3の結果リストの中に現れる場合、前記第1の結果リストからの名前値の別名及び前記第2の結果リスト及び/又は前記第3の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、
付記1に記載の照合処理システム。
(付記3) 前記第3の照合プロセッサは、非決定性有限オートマンに処理された所定規定表現セットの各々を用いることによりパターンマッチングを用いて、前記テキスト節の中の規定表現と一致するサブストリングを識別するよう構成され、前記テキスト節の中の前記規定表現の存在は、名前値が前記規定表現に関連する前記テキスト節の中の特定の位置に存在することを示す、付記2に記載の照合処理システム。
(付記4) 前記第1の照合プロセッサは、前記第1のカテゴリに1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用いて、前記インデックス構造化データソースの中の各々の名前値について、前記名前値を対象構造化データソースとしての前記第1のカテゴリの中の残りの構造化データソースの各々からの名前値の各々と比較し、第1の類似性基準を満たす比較について、前記対象構造化データソースからの名前値を前記インデックス構造化データソースからの名前値の別名のリストに追加するよう構成される、
付記1に記載の照合処理システム。
(付記5) 前記第1の類似性基準は、2つの名前値の文字列類似性比較が所定の閾値を超える場合に、満たされる、
付記1に記載の照合処理システム。
(付記6) 前記第2の照合プロセッサは、前記キー値により識別されるエンティティに属するデータ値のラベルをエンティティ間が等価性を示すラベルの所定のリストと比較し、前記第2の結果リストの中のエンティティの名前値の別名として、前記所定のリストに含まれるラベルを有するラベル付きデータ値を抽出するよう更に構成される、
付記1に記載の照合処理システム。
(付記7) 前記複数のデータソースは、関係型データを格納するデータソース及びグラフデータを格納するデータソースを有する、付記1に記載の照合処理システム。
(付記8) 前記システムは、
照合処理のために、前記複数のデータソースから前記照合プロセッサにデータを供給するよう構成されるデータ抽出器、
を更に有する付記1に記載の照合処理システム。
(付記9) 前記システムは、
前記複数のデータソースのうちの少なくとも1つについて、前記結合結果リストの中の名前値に一致する前記データソースの中の各々の名前値について、前記結合結果リストに格納された名前値の別名の各々を、該別名が前記名前値の代替であることの指示と共に前記データソースに追加するよう構成される結合結果伝達器、
を更に有する付記1に記載の照合処理システム。
(付記10) 前記第1のカテゴリの中に前記第1の照合プロセッサは、1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の該1より多くの構造化データソースの中からのインデックス構造化データソースの選択をユーザに促し、前記選択を前記インデックス構造化データソースとして用いる、よう更に構成される、付記1に記載の照合処理システム。
(付記11) 複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理方法であって、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの1つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記方法は、
分類ステップであって、
前記複数のキー値の各々について、1又は複数の名前値を識別し、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、
前記構造化データソースの各々を2つのカテゴリのうちの1つに割り当て、前記2つのカテゴリは、前記構造化データソースの中の各々のキー値について1つの名前値のみが存在する、第1のカテゴリと、前記構造化データソースが、それぞれ1より多くの異なる名前値を有する1又は複数のキー値を有する、第2のカテゴリと、を有する、
分類ステップと、
第1の照合処理ステップであって、
前記第1のカテゴリの中に1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第1の類似基準を満たす名前値を見付け、
前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第1の結果リストに格納する、
第1の照合処理ステップと、
第2の照合処理ステップであって、
前記第2のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値であるラベル付きデータ値を識別し、
1より多い異なる名前値が識別された場合、該1より多い異なる名前値を互いの別名として第2の結果リストに格納する、
第2の照合処理ステップと、
結合ステップであって、前記第2の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる名前値の各々について、同一の名前値が前記第2の結果リストの中に現れる場合に、前記第1の結果リストからの名前値の別名と前記第2の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、結合ステップと、
を有する照合処理方法。
(付記12) 前記複数のデータソースは1又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、
前記分類ステップは、さらに、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第3のカテゴリに割り当て、
前記方法は、
第3の照合処理ステップであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、1より多くの異なる名前値が単一のテキスト節から抽出されるとき、該1より多くの異なる名前値を互いの別名として第3の結果リストに格納する、第3の照合処理ステップと、
を更に有し、
前記結合ステップは、前記第2の結果リスト及び前記第3の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる各々の名前値について、同一の名前値が前記第2の結果リスト及び/又は前記第3の結果リストの中に現れる場合、前記第1の結果リストからの名前値の別名及び前記第2の結果リスト及び/又は前記第3の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、
付記11に記載の照合処理方法。
(付記13) コンピュータプログラムであって、コンピューティング装置により実行されると、前記コンピューティング装置に、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理方法を実行させ、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの1つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記方法は、
分類ステップであって、
前記複数のキー値の各々について、1又は複数の名前値を識別し、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、
構造化データソースの各々を2つのカテゴリのうちの1つに割り当て、前記2つのカテゴリは、前記構造化データソースの中の各々のキー値について1つの名前値のみが存在する、第1のカテゴリと、前記構造化データソースが、それぞれ1より多くの異なる名前値を有する1又は複数のキー値を有する、第2のカテゴリと、を有する、
分類ステップと、
第1の照合処理ステップであって、
前記第1のカテゴリの中に1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第1の類似基準を満たす名前値を見付け、
前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第1の結果リストに格納する、
第1の照合処理ステップと、
第2の照合処理ステップであって、
前記第2のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値であるラベル付きデータ値を識別し、
1より多い異なる名前値が識別された場合、該1より多い異なる名前値を互いの別名として第2の結果リストに格納する、
第2の照合処理ステップと、
結合ステップであって、前記第2の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる名前値の各々について、同一の名前値が前記第2の結果リストの中に現れる場合に、前記第1の結果リストからの名前値の別名と前記第2の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、結合ステップと、
を有する、コンピュータプログラム。
(付記14) コンピュータプログラムスーツであって、1又は複数のコンピューティング装置により実行されると、前記1又は複数のコンピューティング装置に、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理システムとして機能させ、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの1つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記システムは、
前記複数のキー値の各々について、1又は複数の名前値を識別するよう構成されるデータソース分類器であって、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、前記データソース分類器は、構造化データソースの各々を2つのカテゴリのうちの1つに割り当てるよう構成され、前記2つのカテゴリは、
前記構造化データソースの中の各々のキー値について1つの名前値のみが存在する、第1のカテゴリと、
前記構造化データソースが、それぞれ1より多くの異なる名前値を有する1又は複数のキー値を有する、第2のカテゴリと、を有する、データソース分類器と、
第1の照合プロセッサであって、前記第1のカテゴリの中に1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、前記第1のカテゴリの残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第1の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第1の結果リストに格納するよう構成される、第1の照合プロセッサと、
第2の照合プロセッサであって、前記第2のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値である、同じ構造化データソースの中のラベル付きデータ値を識別し、1より多い異なる名前値が識別された場合、該1より多い異なる名前値を互いの別名として第2の結果リストに格納するよう構成される、第2の照合プロセッサと、
結果リスト結合器であって、前記第2の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる名前値の各々について、同一の名前値が前記第2の結果リストの中に現れる場合に、前記第1の結果リストからの名前値の別名と前記第2の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、結果リスト結合器と、
を有する、コンピュータプログラムスーツ。
10 照合処理システム
11 第1の照合プロセッサ
12 第2の照合プロセッサ
13 第3の照合プロセッサ
14 データソース分類器
16 結果リスト結合器
20 データソース

Claims (14)

  1. 複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理システムであって、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの1つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記システムは、
    前記複数のキー値の各々について、1又は複数の名前値を識別するよう構成されるデータソース分類器であって、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、前記データソース分類器は、構造化データソースの各々を2つのカテゴリのうちの1つに割り当てるよう構成され、前記2つのカテゴリは、
    前記構造化データソースの中の各々のキー値について1つの名前値のみが存在する、第1のカテゴリと、
    前記構造化データソースが、それぞれ1より多くの異なる名前値を有する1又は複数のキー値を有する、第2のカテゴリと、を有する、データソース分類器と、
    第1の照合プロセッサであって、前記第1のカテゴリの中に1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、前記第1のカテゴリの残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第1の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第1の結果リストに格納するよう構成される、第1の照合プロセッサと、
    第2の照合プロセッサであって、前記第2のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値である、同じ構造化データソースの中のラベル付きデータ値を識別し、1より多い異なる名前値が識別された場合、該1より多い異なる名前値を互いの別名として第2の結果リストに格納するよう構成される、第2の照合プロセッサと、
    結果リスト結合器であって、前記第2の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる名前値の各々について、同一の名前値が前記第2の結果リストの中に現れる場合に、前記第1の結果リストからの名前値の別名と前記第2の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、結果リスト結合器と、
    を有する照合処理システム。
  2. 前記複数のデータソースは1又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、
    前記データソース分類器は、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第3のカテゴリに割り当てるよう構成され、
    前記システムは、
    第3の照合プロセッサであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、1より多くの異なる名前値が単一のテキスト節から抽出されるとき、該1より多くの異なる名前値を互いの別名として第3の結果リストに格納するよう構成され、
    前記結果リスト結合器は、前記第2の結果リスト及び前記第3の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる各々の名前値について、同一の名前値が前記第2の結果リスト及び/又は前記第3の結果リストの中に現れる場合、前記第1の結果リストからの名前値の別名及び前記第2の結果リスト及び/又は前記第3の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、
    請求項1に記載の照合処理システム。
  3. 前記第3の照合プロセッサは、非決定性有限オートマンに処理された所定規定表現セットの各々を用いることによりパターンマッチングを用いて、前記テキスト節の中の規定表現と一致するサブストリングを識別するよう構成され、前記テキスト節の中の前記規定表現の存在は、名前値が前記規定表現に関連する前記テキスト節の中の特定の位置に存在することを示す、請求項2に記載の照合処理システム。
  4. 前記第1の照合プロセッサは、前記第1のカテゴリに1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用いて、前記インデックス構造化データソースの中の各々の名前値について、前記名前値を対象構造化データソースとしての前記第1のカテゴリの中の残りの構造化データソースの各々からの名前値の各々と比較し、第1の類似性基準を満たす比較について、前記対象構造化データソースからの名前値を前記インデックス構造化データソースからの名前値の別名のリストに追加するよう構成される、
    請求項1に記載の照合処理システム。
  5. 前記第1の類似性基準は、2つの名前値の文字列類似性比較が所定の閾値を超える場合に、満たされる、
    請求項1に記載の照合処理システム。
  6. 前記第2の照合プロセッサは、前記キー値により識別されるエンティティに属するデータ値のラベルをエンティティ間が等価性を示すラベルの所定のリストと比較し、前記第2の結果リストの中のエンティティの名前値の別名として、前記所定のリストに含まれるラベルを有するラベル付きデータ値を抽出するよう更に構成される、
    請求項1に記載の照合処理システム。
  7. 前記複数のデータソースは、関係型データを格納するデータソース及びグラフデータを格納するデータソースを有する、請求項1に記載の照合処理システム。
  8. 前記システムは、
    照合処理のために、前記複数のデータソースから前記照合プロセッサにデータを供給するよう構成されるデータ抽出器、
    を更に有する請求項1に記載の照合処理システム。
  9. 前記システムは、
    前記複数のデータソースのうちの少なくとも1つについて、前記結合結果リストの中の名前値に一致する前記データソースの中の各々の名前値について、前記結合結果リストに格納された名前値の別名の各々を、該別名が前記名前値の代替であることの指示と共に前記データソースに追加するよう構成される結合結果伝達器、
    を更に有する請求項1に記載の照合処理システム。
  10. 前記第1のカテゴリの中に前記第1の照合プロセッサは、1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の該1より多くの構造化データソースの中からのインデックス構造化データソースの選択をユーザに促し、前記選択を前記インデックス構造化データソースとして用いる、よう更に構成される、請求項1に記載の照合処理システム。
  11. 複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理方法であって、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの1つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記方法は、
    分類ステップであって、
    前記複数のキー値の各々について、1又は複数の名前値を識別し、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、
    構造化データソースの各々を2つのカテゴリのうちの1つに割り当て、前記2つのカテゴリは、前記構造化データソースの中の各々のキー値について1つの名前値のみが存在する、第1のカテゴリと、前記構造化データソースが、それぞれ1より多くの異なる名前値を有する1又は複数のキー値を有する、第2のカテゴリと、を有する、
    分類ステップと、
    第1の照合処理ステップであって、
    前記第1のカテゴリの中に1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第1の類似基準を満たす名前値を見付け、
    前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第1の結果リストに格納する、
    第1の照合処理ステップと、
    第2の照合処理ステップであって、
    前記第2のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値であるラベル付きデータ値を識別し、
    1より多い異なる名前値が識別された場合、該1より多い異なる名前値を互いの別名として第2の結果リストに格納する、
    第2の照合処理ステップと、
    結合ステップであって、前記第2の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる名前値の各々について、同一の名前値が前記第2の結果リストの中に現れる場合に、前記第1の結果リストからの名前値の別名と前記第2の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、結合ステップと、
    を有する照合処理方法。
  12. 前記複数のデータソースは1又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、
    前記分類ステップは、さらに、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第3のカテゴリに割り当て、
    前記方法は、
    第3の照合処理ステップであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、1より多くの異なる名前値が単一のテキスト節から抽出されるとき、該1より多くの異なる名前値を互いの別名として第3の結果リストに格納する、第3の照合処理ステップと、
    を更に有し、
    前記結合ステップは、前記第2の結果リスト及び前記第3の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる各々の名前値について、同一の名前値が前記第2の結果リスト及び/又は前記第3の結果リストの中に現れる場合、前記第1の結果リストからの名前値の別名及び前記第2の結果リスト及び/又は前記第3の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、
    請求項11に記載の照合処理方法。
  13. コンピュータプログラムであって、コンピューティング装置により実行されると、前記コンピューティング装置に、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理方法を実行させ、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの1つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記方法は、
    分類ステップであって、
    前記複数のキー値の各々について、1又は複数の名前値を識別し、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、
    構造化データソースの各々を2つのカテゴリのうちの1つに割り当て、前記2つのカテゴリは、前記構造化データソースの中の各々のキー値について1つの名前値のみが存在する、第1のカテゴリと、前記構造化データソースが、それぞれ1より多くの異なる名前値を有する1又は複数のキー値を有する、第2のカテゴリと、を有する、
    分類ステップと、
    第1の照合処理ステップであって、
    前記第1のカテゴリの中に1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第1の類似基準を満たす名前値を見付け、
    前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第1の結果リストに格納する、
    第1の照合処理ステップと、
    第2の照合処理ステップであって、
    前記第2のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値であるラベル付きデータ値を識別し、
    1より多い異なる名前値が識別された場合、該1より多い異なる名前値を互いの別名として第2の結果リストに格納する、
    第2の照合処理ステップと、
    結合ステップであって、前記第2の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる名前値の各々について、同一の名前値が前記第2の結果リストの中に現れる場合に、前記第1の結果リストからの名前値の別名と前記第2の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、結合ステップと、
    を有する、コンピュータプログラム。
  14. コンピュータプログラムスーツであって、1又は複数のコンピューティング装置により実行されると、前記1又は複数のコンピューティング装置に、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理システムとして機能させ、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの1つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記システムは、
    前記複数のキー値の各々について、1又は複数の名前値を識別するよう構成されるデータソース分類器であって、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、前記データソース分類器は、構造化データソースの各々を2つのカテゴリのうちの1つに割り当てるよう構成され、前記2つのカテゴリは、
    前記構造化データソースの中の各々のキー値について1つの名前値のみが存在する、第1のカテゴリと、
    前記構造化データソースが、それぞれ1より多くの異なる名前値を有する1又は複数のキー値を有する、第2のカテゴリと、を有する、データソース分類器と、
    第1の照合プロセッサであって、前記第1のカテゴリの中に1より多くの構造化データソースが存在する場合に、前記第1のカテゴリの中の前記構造化データソースのうちの1つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、前記第1のカテゴリの残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第1の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第1の結果リストに格納するよう構成される、第1の照合プロセッサと、
    第2の照合プロセッサであって、前記第2のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値である、同じ構造化データソースの中のラベル付きデータ値を識別し、1より多い異なる名前値が識別された場合、該1より多い異なる名前値を互いの別名として第2の結果リストに格納するよう構成される、第2の照合プロセッサと、
    結果リスト結合器であって、前記第2の結果リストを前記第1の結果リストに付加し、前記第1の結果リストの中に現れる名前値の各々について、同一の名前値が前記第2の結果リストの中に現れる場合に、前記第1の結果リストからの名前値の別名と前記第2の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、結果リスト結合器と、
    を有する、コンピュータプログラムスーツ。
JP2016034429A 2015-03-30 2016-02-25 照合処理システム、方法、及びプログラム Pending JP2016192202A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1505427.3 2015-03-30
GB1505427.3A GB2536898A (en) 2015-03-30 2015-03-30 Reconciliation processing system, method, and program

Publications (1)

Publication Number Publication Date
JP2016192202A true JP2016192202A (ja) 2016-11-10

Family

ID=53178346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016034429A Pending JP2016192202A (ja) 2015-03-30 2016-02-25 照合処理システム、方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP2016192202A (ja)
GB (1) GB2536898A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018170008A (ja) * 2017-03-09 2018-11-01 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited エンティティの属性をマッピングする方法及びシステム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3361394A1 (en) 2017-02-10 2018-08-15 Fujitsu Limited Data reconciliation method and apparatus
EP3407206B1 (en) 2017-05-22 2021-08-04 Fujitsu Limited Reconciled data storage system
US11501111B2 (en) 2018-04-06 2022-11-15 International Business Machines Corporation Learning models for entity resolution using active learning
US10585986B1 (en) 2018-08-20 2020-03-10 International Business Machines Corporation Entity structured representation and variant generation
US11875253B2 (en) 2019-06-17 2024-01-16 International Business Machines Corporation Low-resource entity resolution with transfer learning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386565B1 (en) * 2004-05-24 2008-06-10 Sun Microsystems, Inc. System and methods for aggregating data from multiple sources

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018170008A (ja) * 2017-03-09 2018-11-01 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited エンティティの属性をマッピングする方法及びシステム

Also Published As

Publication number Publication date
GB201505427D0 (en) 2015-05-13
GB2536898A (en) 2016-10-05

Similar Documents

Publication Publication Date Title
US11704494B2 (en) Discovering a semantic meaning of data fields from profile data of the data fields
US10659467B1 (en) Distributed storage and distributed processing query statement reconstruction in accordance with a policy
US9424294B2 (en) Method for facet searching and search suggestions
US20180232443A1 (en) Intelligent matching system with ontology-aided relation extraction
CN111291161A (zh) 法律案件知识图谱查询方法、装置、设备及存储介质
KR101107760B1 (ko) 지능형 질의 응답 검색 시스템 및 방법
JP2016192202A (ja) 照合処理システム、方法、及びプログラム
US20180181646A1 (en) System and method for determining identity relationships among enterprise data entities
JP2015099586A (ja) データ集約のためのシステム、装置、プログラム、及び方法
US11720589B2 (en) System and method for transformation of unstructured document tables into structured relational data tables
RU2491622C1 (ru) Способ классификации документов по категориям
CN102622453A (zh) 基于本体的食品安全事件语义检索系统
Pereira Nunes et al. Complex matching of rdf datatype properties
Sleeman et al. Entity type recognition for heterogeneous semantic graphs
CA3149710A1 (en) Data collecting method, device, computer equipment and storage medium
US20180189380A1 (en) Job search engine
US8756246B2 (en) Method and system for caching lexical mappings for RDF data
WO2015084757A1 (en) Systems and methods for processing data stored in a database
Barbosa et al. An approach to clustering and sequencing of textual requirements
US8484221B2 (en) Adaptive routing of documents to searchable indexes
CN109726292A (zh) 面向大规模多语种数据的文本分析方法和装置
JP6409071B2 (ja) 文の並び替え方法および計算機
Luo et al. Automated structural semantic annotation for RESTful services
US9223833B2 (en) Method for in-loop human validation of disambiguated features
US11074278B2 (en) Methods for performing a search and devices thereof