(57)【要約】      （修正有）【課題】複数のデータソースに渡る異種命名規則を照合し、その結果を結合する。【解決手段】異なる名前値を照合する照合処理システムは、複数のキー値の各々について名前値を識別するデータソース分類器であり、構造化データソースの各々を２つのカテゴリのうちの１つに割り当てるよう構成される。まず類似基準を満たす名前値を見付け、名前値及びインデックス構造化データソースからの名前値を互いの別名として第１の結果リストに格納し、同じ構造化データソースの中のラベル付きデータ値から異なる名前値が識別された場合、それらを互いの別名として第２の結果リストに格納する。そして、第１の結果リストからの名前値の別名と第２の結果リストからの同一の名前値の別名を互いの別名として結合結果リストに格納することにより、結合結果リストを生成する。【選択図】図１
2016192202.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理システムであって、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの１つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記システムは、
前記複数のキー値の各々について、１又は複数の名前値を識別するよう構成されるデータソース分類器であって、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、前記データソース分類器は、構造化データソースの各々を２つのカテゴリのうちの１つに割り当てるよう構成され、前記２つのカテゴリは、
前記構造化データソースの中の各々のキー値について１つの名前値のみが存在する、第１のカテゴリと、
前記構造化データソースが、それぞれ１より多くの異なる名前値を有する１又は複数のキー値を有する、第２のカテゴリと、を有する、データソース分類器と、
第１の照合プロセッサであって、前記第１のカテゴリの中に１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、前記第１のカテゴリの残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第１の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第１の結果リストに格納するよう構成される、第１の照合プロセッサと、
第２の照合プロセッサであって、前記第２のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値である、同じ構造化データソースの中のラベル付きデータ値を識別し、１より多い異なる名前値が識別された場合、該１より多い異なる名前値を互いの別名として第２の結果リストに格納するよう構成される、第２の照合プロセッサと、
結果リスト結合器であって、前記第２の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる名前値の各々について、同一の名前値が前記第２の結果リストの中に現れる場合に、前記第１の結果リストからの名前値の別名と前記第２の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、結果リスト結合器と、
を有する照合処理システム。
【請求項２】
前記複数のデータソースは１又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、
前記データソース分類器は、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第３のカテゴリに割り当てるよう構成され、
前記システムは、
第３の照合プロセッサであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、１より多くの異なる名前値が単一のテキスト節から抽出されるとき、該１より多くの異なる名前値を互いの別名として第３の結果リストに格納するよう構成され、
前記結果リスト結合器は、前記第２の結果リスト及び前記第３の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる各々の名前値について、同一の名前値が前記第２の結果リスト及び／又は前記第３の結果リストの中に現れる場合、前記第１の結果リストからの名前値の別名及び前記第２の結果リスト及び／又は前記第３の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、
請求項１に記載の照合処理システム。
【請求項３】
前記第３の照合プロセッサは、非決定性有限オートマンに処理された所定規定表現セットの各々を用いることによりパターンマッチングを用いて、前記テキスト節の中の規定表現と一致するサブストリングを識別するよう構成され、前記テキスト節の中の前記規定表現の存在は、名前値が前記規定表現に関連する前記テキスト節の中の特定の位置に存在することを示す、請求項２に記載の照合処理システム。
【請求項４】
前記第１の照合プロセッサは、前記第１のカテゴリに１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用いて、前記インデックス構造化データソースの中の各々の名前値について、前記名前値を対象構造化データソースとしての前記第１のカテゴリの中の残りの構造化データソースの各々からの名前値の各々と比較し、第１の類似性基準を満たす比較について、前記対象構造化データソースからの名前値を前記インデックス構造化データソースからの名前値の別名のリストに追加するよう構成される、
請求項１に記載の照合処理システム。
【請求項５】
前記第１の類似性基準は、２つの名前値の文字列類似性比較が所定の閾値を超える場合に、満たされる、
請求項１に記載の照合処理システム。
【請求項６】
前記第２の照合プロセッサは、前記キー値により識別されるエンティティに属するデータ値のラベルをエンティティ間が等価性を示すラベルの所定のリストと比較し、前記第２の結果リストの中のエンティティの名前値の別名として、前記所定のリストに含まれるラベルを有するラベル付きデータ値を抽出するよう更に構成される、
請求項１に記載の照合処理システム。
【請求項７】
前記複数のデータソースは、関係型データを格納するデータソース及びグラフデータを格納するデータソースを有する、請求項１に記載の照合処理システム。
【請求項８】
前記システムは、
照合処理のために、前記複数のデータソースから前記照合プロセッサにデータを供給するよう構成されるデータ抽出器、
を更に有する請求項１に記載の照合処理システム。
【請求項９】
前記システムは、
前記複数のデータソースのうちの少なくとも１つについて、前記結合結果リストの中の名前値に一致する前記データソースの中の各々の名前値について、前記結合結果リストに格納された名前値の別名の各々を、該別名が前記名前値の代替であることの指示と共に前記データソースに追加するよう構成される結合結果伝達器、
を更に有する請求項１に記載の照合処理システム。
【請求項１０】
前記第１のカテゴリの中に前記第１の照合プロセッサは、１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の該１より多くの構造化データソースの中からのインデックス構造化データソースの選択をユーザに促し、前記選択を前記インデックス構造化データソースとして用いる、よう更に構成される、請求項１に記載の照合処理システム。
【請求項１１】
複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理方法であって、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの１つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記方法は、
分類ステップであって、
前記複数のキー値の各々について、１又は複数の名前値を識別し、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、
構造化データソースの各々を２つのカテゴリのうちの１つに割り当て、前記２つのカテゴリは、前記構造化データソースの中の各々のキー値について１つの名前値のみが存在する、第１のカテゴリと、前記構造化データソースが、それぞれ１より多くの異なる名前値を有する１又は複数のキー値を有する、第２のカテゴリと、を有する、
分類ステップと、
第１の照合処理ステップであって、
前記第１のカテゴリの中に１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第１の類似基準を満たす名前値を見付け、
前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第１の結果リストに格納する、
第１の照合処理ステップと、
第２の照合処理ステップであって、
前記第２のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値であるラベル付きデータ値を識別し、
１より多い異なる名前値が識別された場合、該１より多い異なる名前値を互いの別名として第２の結果リストに格納する、
第２の照合処理ステップと、
結合ステップであって、前記第２の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる名前値の各々について、同一の名前値が前記第２の結果リストの中に現れる場合に、前記第１の結果リストからの名前値の別名と前記第２の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、結合ステップと、
を有する照合処理方法。
【請求項１２】
前記複数のデータソースは１又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、
前記分類ステップは、さらに、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第３のカテゴリに割り当て、
前記方法は、
第３の照合処理ステップであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、１より多くの異なる名前値が単一のテキスト節から抽出されるとき、該１より多くの異なる名前値を互いの別名として第３の結果リストに格納する、第３の照合処理ステップと、
を更に有し、
前記結合ステップは、前記第２の結果リスト及び前記第３の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる各々の名前値について、同一の名前値が前記第２の結果リスト及び／又は前記第３の結果リストの中に現れる場合、前記第１の結果リストからの名前値の別名及び前記第２の結果リスト及び／又は前記第３の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、
請求項１１に記載の照合処理方法。
【請求項１３】
コンピュータプログラムであって、コンピューティング装置により実行されると、前記コンピューティング装置に、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理方法を実行させ、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの１つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記方法は、
分類ステップであって、
前記複数のキー値の各々について、１又は複数の名前値を識別し、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、
構造化データソースの各々を２つのカテゴリのうちの１つに割り当て、前記２つのカテゴリは、前記構造化データソースの中の各々のキー値について１つの名前値のみが存在する、第１のカテゴリと、前記構造化データソースが、それぞれ１より多くの異なる名前値を有する１又は複数のキー値を有する、第２のカテゴリと、を有する、
分類ステップと、
第１の照合処理ステップであって、
前記第１のカテゴリの中に１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第１の類似基準を満たす名前値を見付け、
前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第１の結果リストに格納する、
第１の照合処理ステップと、
第２の照合処理ステップであって、
前記第２のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値であるラベル付きデータ値を識別し、
１より多い異なる名前値が識別された場合、該１より多い異なる名前値を互いの別名として第２の結果リストに格納する、
第２の照合処理ステップと、
結合ステップであって、前記第２の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる名前値の各々について、同一の名前値が前記第２の結果リストの中に現れる場合に、前記第１の結果リストからの名前値の別名と前記第２の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、結合ステップと、
を有する、コンピュータプログラム。
【請求項１４】
コンピュータプログラムスーツであって、１又は複数のコンピューティング装置により実行されると、前記１又は複数のコンピューティング装置に、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理システムとして機能させ、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの１つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記システムは、
前記複数のキー値の各々について、１又は複数の名前値を識別するよう構成されるデータソース分類器であって、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、前記データソース分類器は、構造化データソースの各々を２つのカテゴリのうちの１つに割り当てるよう構成され、前記２つのカテゴリは、
前記構造化データソースの中の各々のキー値について１つの名前値のみが存在する、第１のカテゴリと、
前記構造化データソースが、それぞれ１より多くの異なる名前値を有する１又は複数のキー値を有する、第２のカテゴリと、を有する、データソース分類器と、
第１の照合プロセッサであって、前記第１のカテゴリの中に１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、前記第１のカテゴリの残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第１の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第１の結果リストに格納するよう構成される、第１の照合プロセッサと、
第２の照合プロセッサであって、前記第２のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値である、同じ構造化データソースの中のラベル付きデータ値を識別し、１より多い異なる名前値が識別された場合、該１より多い異なる名前値を互いの別名として第２の結果リストに格納するよう構成される、第２の照合プロセッサと、
結果リスト結合器であって、前記第２の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる名前値の各々について、同一の名前値が前記第２の結果リストの中に現れる場合に、前記第１の結果リストからの名前値の別名と前記第２の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、結果リスト結合器と、
を有する、コンピュータプログラムスーツ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビッグデータ及びオープンデータ分析の分野に関し、特に、複数のデータソースに渡る異種命名規則を照合する処理技術に関する。
【背景技術】
【０００２】
エンティティ識別子は、データ間の接続を形成するために重要である。これは、特に、米国、英国、及び日本を含む国々の多くの政府により促進されている近年のオープンデータ主導で益々重要になってきている。しかしながら、エンティティ識別は、局所的な変化の影響を受ける。
【０００３】
ビッグデータの３Ｖ特性（highvolume,  high  velocity,  high  variety（大容量、高速、多様性））に由来して、オープンデータは、特に多様性において同様の課題が存在する。例えば、エンティティ識別子は、構造化された、半構造化された、又は非構造化データソースの中に現れ得る。これは、同じエンティティの異なる識別子を認識する際に問題となる。
【０００４】
異種データソースからのエンティティ識別子を照合（reconcile、リコンサイル、リコンシリエーション）するために、非常に一般的な方法は、エンティティ名を橋渡し役として用いることである。しかしながら、名前の曖昧さは、照合結果の精度に深刻に影響し得る。これは、名前は、文字列で構成され、社会的要因により影響されるとき、正式の又は法的に登録されたエンティティ名は複数の変形を有し得るからである。この問題は、データが多言語であるとき、悪化する。
【０００５】
自然言語処理は、テキストに基づく分析及び処理を解決するために適用できる良く確立された技術である。しかしながら、ＮＬＰにより提供される多様なタスク及び技術は全て独立しており、特定の問題を解決するために焦点を狭く絞られている。
【発明の概要】
【０００６】
実施形態は、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理システムであって、前記複数のデータソースはラベル付きデータ値を有し、各々のラベル付きデータ値は複数のエンティティのうちの１つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記システムは、前記複数のキー値の各々について、１又は複数の名前値を識別するよう構成されるデータソース分類器であって、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、前記データソース分類器は、構造化データソースの各々を２つのカテゴリのうちの１つに割り当てるよう構成され、前記２つのカテゴリは、前記構造化データソースの中の各々のキー値について１つの名前値のみが存在する、第１のカテゴリと、前記構造化データソースが、それぞれ１より多くの異なる名前値を有する１又は複数のキー値を有する、第２のカテゴリと、を有する、データソース分類器と、第１の照合プロセッサであって、前記第１のカテゴリの中に１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、前記第１のカテゴリの残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第１の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第１の結果リストに格納するよう構成される、第１の照合プロセッサと、第２の照合プロセッサであって、前記第２のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値である、同じ構造化データソースの中のラベル付きデータ値を識別し、１より多い異なる名前値が識別された場合、該１より多い異なる名前値を互いの別名として第２の結果リストに格納するよう構成される、第２の照合プロセッサと、結果リスト結合器であって、前記第２の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる名前値の各々について、同一の名前値が前記第２の結果リストの中に現れる場合に、前記第１の結果リストからの名前値の別名と前記第２の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、結果リスト結合器と、を有する照合処理システムを含む。
【０００７】
有利なことに、実施形態は、異なる構成を有するデータソースの中の同じエンティティのために用いられる異なる名前を効率的に照合できる包括的な照合処理システムを提供する。同じエンティティは、複数のデータソースに渡り１より多くの異なる名前値を属性とし得る。あるいは、同じエンティティは、同じデータソースの中で異なる名前値を属性とし得る。したがって、特定のエンティティに関して格納されたデータの完全なビューを得るために、該エンティティに属し得る異なる名前値のリストを得ることが望ましい。理由の中でも特に、異なる母国語を有するデータソースにより、及び使用される言語の形式における変化により、差が存在し得る。
【０００８】
実施形態は、データソースの中のデータの構造の特性に依存して、複数のデータソースをグループに分け、異なる照合プロセッサにより、各グループに対して照合処理を実行し、各照合処理は、異なる照合処理を実行して、個々のグループの中のデータソースの中に記述されるエンティティを示しするために用いられる名前値の別名を識別する、よう構成される照合処理システムを提供する。システムは、１つの照合プロセッサにより識別された別名が別の照合プロセッサにより識別された名前値の別名であるときを識別し、相応して結果（各照合プロセッサにより出力された別名のリスト）を結合する、よう更に構成される。
【０００９】
データソースは、（ｃｓｖファイル、ｅｘｅｌファイルのような）ファイル又は（複数のｃｓｖファイルのような）ファイルレポジトリ、データベース、（ＲＤＢＭＳテーブルのような）テーブル、データグラフ、ウェブサイト、又は文書記憶設備である。データソースは、現実のエンティティを記述し又はそれに関する知識を提示するデータを格納する。データソースの中のデータにより記述されるものは、エンティティとして参照される。データソースは、住所により定められるそれ自体のユニークな場所により識別される。キー値は、データソースの中のエンティティを識別し又はユニークに識別する。名前値は、データソースの中の特性の値（テーブルの観点からは列エントリである）である。
【００１０】
データソースの中のデータは、異なる方法で配置される。実施形態は、データソースの中のデータの構成の特性に依存して、異なる名前値が別名（同じエンティティを表す）であるときを認識するために、異なる照合プロセッサを利用する。次に、結果リスト結合器は、照合プロセッサのうちの１つからの相互の別名が、照合プロセッサのうちの別のものからの相互の別名のうちの別名であるときを認識する処理を実行し、相応して別名を結合する。このように、データソース間の異種性は、特定のエンティティのより多くの別名を明らかにする手段として用いられる。
【００１１】
実施形態の状況における構造化データソースは、データ値がラベル付けされ、タグ付けされ、又は意味的に豊富であるものを意味すると考えられる。したがって、データ値の意味又は意味的重要性が識別できる。例えば、このような識別は、名前値のようなデータ値により記述される特性を識別する言葉又はサブストリング又はデータラベルの所定のリストを有するデータソース分類器であっても良い。
【００１２】
キー値は、データソースの中に記述されるエンティティの間で１つのエンティティを識別する、列、特性、アドレス、又は他の形式のデータの値であると考えられる。キー値は、特定のデータソースにおいては主要キーであっても良いキーの値である。
【００１３】
データソース分類器は、キー値が各データソースの中で名前値にどのようにマッピングされるかを評価し、該評価を用いて各構造化データソースを第１のカテゴリ又は第２のカテゴリに割り当てる。名前は、例えば、エンティティを表すために用いられる法的所有権及び／又は言語的識別子であっても良い。
【００１４】
異なる照合プロセッサは、第１のカテゴリ及び第２のカテゴリの各々に対して照合処理を実行する。これは、個々のデータソースの中のデータ構造の特性に照合処理を合わせることを可能にし、何らかの並列化も可能にする。
【００１５】
第１の照合プロセッサは、インデックス構造化データソースと第１のカテゴリの中の他の構造化データソースの各々との間を横断照合（cross  reconcile）するよう構成される。横断照合は、インデックス構造化データソースの中の各名前値と他の構造化データソースの中の各名前値との間の文字列比較である。所定の閾を超える結果を生じる（及びインデックス構造化データソースからの名前値と同一でない）文字列比較は、インデックス構造化データソースからの名前値の別名として、第１の結果リストに記録される。
【００１６】
第２の照合プロセッサは、第２のカテゴリの中のデータソースの各々について、同じキー値により表されるエンティティに属する異なる名前値を抽出し、１より多くの異なる名前値が抽出された場合、異なる名前値を互いの別名として第２の結果リストに追加するよう構成される。
【００１７】
結果リスト結合器は、第１及び第２の結果リストを互いに付加する。このリストは、中間結果リストである。さらに、中間結果リストの処理は、第１の結果リストの中に現れる名前値の別名が第２の結果リストの中にも現れるときを認識する。結果リスト結合器は、第１の結果リスト及び第２の結果リストの両方に現れる名前値を識別し、該名前値について、第１の結果リストの中に現れる名前値の別名及び第２の結果リストの中に現れる名前値の別名を結合結果リストに記録する。
【００１８】
結果リスト結合器の出力は、別名のリストである。ここで、別名は、第１のカテゴリの中のインデックス構造化データソースの中で命名されたエンティティについて及び第２のカテゴリの中で１回より多く命名されたエンティティについて、複数のデータソースの中に存在する。
【００１９】
実施形態の利用は、非構造化データソースから名前値を抽出するルーチンを含むよう拡張できる。例えば、次の通りである。前記複数のデータソースは１又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、前記データソース分類器は、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第３のカテゴリに割り当てるよう構成され、前記システムは、第３の照合プロセッサであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、１より多くの異なる名前値が単一のテキスト節から抽出されるとき、該１より多くの異なる名前値を互いの別名として第３の結果リストに格納するよう構成され、前記結果リスト結合器は、前記第２の結果リスト及び前記第３の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる各々の名前値について、同一の名前値が前記第２の結果リスト及び／又は前記第３の結果リストの中に現れる場合、前記第１の結果リストからの名前値の別名及び前記第２の結果リスト及び／又は前記第３の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される。
【００２０】
実施形態は、自然言語処理技術を用いるが、システムにおいて、データソース又はデータ構造固有ではなく、複数のデータソースからの名前値の包括的な分析及び抽出を実現する。
【００２１】
データソースは、第１及び第２のカテゴリ及び第３のカテゴリのいずれかに割り当てられても良い。例えば、構造化データソースは、非構造化データを有しても良い。したがって、単一の照合プロセッサにより識別できるより多くの別名を識別するために、データソースを複数の照合プロセッサにより処理することが望ましい場合がある、
第３の照合プロセッサは、データフィールド又はテキスト節の主語であるエンティティの候補名前値を抽出するために、非構造化データソースからの非構造化データフィールド又はテキスト節を分析するよう構成される。テキスト節又は非構造化データフィールドは、それに含まれるテキスト文字の数により、データソース分類器により識別できる。例えば、１００文字以上は、非構造化として特徴付けられても良い。
【００２２】
結果リスト結合器は、第１の結果リスト及び第３の結果リストの両方に現れる名前値を識別し、該名前値について、第１の結果リストの中に現れる名前値の別名及び第２の結果リストの中に現れる名前値の別名を結合結果リストに記録する。
【００２３】
第３の照合プロセッサの特定の例として、第３の照合プロセッサは、非決定性有限オートマンに処理された所定規定表現セットの各々を用いることによりパターンマッチングを用いて、テキスト節の中の規定表現と一致するサブストリングを識別するよう構成される。ここで、テキスト節の中の規定表現の存在は、名前値が規定表現に関連するテキスト節の中の特定の位置に存在することを示す。
【００２４】
所定の規定表現セットは、第３の照合プロセッサの利用を拡張するために、複数の言語について入力されても良い。規定表現識別は、Ｊａｖａ(登録商標)、Ｐｙｔｈｏｎ、Ｃ＋＋のようなプログラミング言語でサポートされる。したがって、第３の照合プロセッサは、これらの言語のうちの１つを用いて符号化されても良い。規定表現は、「規定の」言葉、フレーズ、又はサブストリングと連結した１又は複数の名前値を含む表現である。したがって、「規定の」言葉、フレーズ、又はサブストリングの存在は、名前値が例えば規定の」言葉、フレーズ又はサブストリングに先行する又は続く言葉又はテキストの他の部分、或いは、ある言葉、フレーズ又はサブストリングと別の言葉、フレーズ又はサブストリングとの間のサブストリングから抽出できることを示す。
【００２５】
第１の照合プロセッサの機能の特定の例として、前記第１の照合プロセッサは、前記第１のカテゴリに１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用いて、前記インデックス構造化データソースの中の各々の名前値について、前記名前値を対象構造化データソースとしての前記第１のカテゴリの中の残りの構造化データソースの各々からの名前値の各々と比較し、第１の類似性基準を満たす比較について、前記対象構造化データソースからの名前値を前記インデックス構造化データソースからの名前値の別名のリストに追加するよう構成される。
【００２６】
インデックス構造化データソースからの名前値の別名のリストは、第１の結果リストの中のエントリであり、及び第１の照合プロセッサの出力である。
【００２７】
第１の照合プロセッサは、名前値を比較のための適切な形式にフォーマット化するために前処理を実行するよう構成されても良い。この特定の形式は、使用される比較処理に依存する。例示的な比較処理は、２つの文字列の間の距離を比較するアルゴリズムである。このようなアルゴリズムの一例は、Jaro−Winkler距離である。したがって、前処理は、全ての名前値が第１の照合プロセッサによりアクセス可能な場所にある文字列として格納されることを保証し得る。或いは、（必要な場合）文字列への変換は、名前値が比較のためにデータソースから読み取られるとき、オンザフライで実行されても良い。
【００２８】
第１の照合プロセッサによる２つの名前値の間の比較の出力は、２つの文字列の間の距離を表す数値であっても良い（文字列は比較のために必要な名前値の形式である）。特定の例では、第１の類似性基準は、２つの名前値の文字列類似性比較が所定閾値を超える結果を生じる場合に、満たされる。
【００２９】
更なる例として、類似性基準は、一致しない２つの名前値によってのみ満たされても良く、文字列類似性比較は、所定閾値を超える結果を生成する。所定閾値は、システムの実装のときに又は各全体照合処理の実行時間のときに設定可能であっても良い。より複雑な例では、２つの名前値の比較は、２つの名前値を比較するために、１より多くの異なる文字列比較アルゴリズムを用いるステップを有しても良い。ここで、類似性基準は、所定閾総合値である。
【００３０】
第２の照合プロセッサの機能の拡張は次の通りである。
【００３１】
前記第２の照合プロセッサは、前記キー値により識別されるエンティティに属するデータ値のラベルをエンティティ間が等価性を示すラベルの所定のリストと比較し、前記第２の結果リストの中のエンティティの名前値の別名として、前記所定のリストに含まれるラベルを有するラベル付きデータ値を抽出するよう更に構成される。
【００３２】
有利なことに、この機能は、第２の照合プロセッサの能力を拡張し、異なるキー値が等価性を示すために使用されるときを認識するために名前以外の特性を用いることにより、特定の名前値の別名を識別するようにする。これは、各々の場合に記述されるエンティティが等価であることを明らかにし得るエンティティの特性を記述する他のラベル付きデータ値を利用する。データソース及びそれらのシンタックスの何らかの知識は、所定のラベルリストを形成するために必要である。この機能は、コンテンツ特有の結果を生成するために、データソースシンタックスの知識のためのメカニズムを提供する。このようなラベルの一例は、「dbpedia−owl:wikiPageRedirects」特性である。
【００３３】
有利なことに、システムは、データを種々の形式で格納するデータソースからのデータを照合できる。特に、複数のデータソースは、関係型データを格納するデータソース及びグラフデータを格納するデータソースを有する。
【００３４】
両者は、構造化データソースの例である。関係型データでは、ラベル付きデータ値は、テーブルに構成され、行はキー値により識別され、ラベルは列ヘッダである。トリプルとして符号化され得るグラフデータの場合には、キー値は、ＵＲＬとして与えられても良い、トリプルの主語であり、ラベル付きデータ値は、トリプルの目的語であり、ラベルはトリプルの述語により提供される。
【００３５】
特定の実装では、前記システムは、照合処理のために、前記複数のデータソースから前記照合プロセッサにデータを供給するよう構成されるデータ抽出器を更に有する。
【００３６】
有利なことに、専用データ抽出器は、システムランタイムにおいてデータソースへのアクセスに関連するボトルネックを低減し得る。データ抽出器は、複数のデータソースから抽出されたデータを、システムのローカルにある、特に照合プロセッサによりアクセス可能な記憶場所に書き込んでも良い。データ抽出器は、特定のデータ値のみがデータソースから抽出されるように、データをフィルタリングするよう構成されても良い。
【００３７】
前記システムは、前記複数のデータソースのうちの少なくとも１つについて、前記結合結果リストの中の名前値に一致する前記データソースの中の各々の名前値について、前記結合結果リストに格納された名前値の別名の各々を、該別名が前記名前値の代替であることの指示と共に前記データソースに追加するよう構成される結合結果伝達器、を更に有しても良い。
【００３８】
有利なことに、このような結果伝達器は、別名が追加されるデータソースの内容を拡張する。追加又は代替機能として、結果リストに現れる各々の別名が該別名が現れたデータソースを識別する（アドレスのような）情報と一緒に格納される実施形態では、結合結果伝達器は、結合結果リストの中に現れる名前値を有するデータソースの中のエンティティの記述に、別名である名前値を有する他のデータソースの中の１又は複数のエントリへのリンク又は何からの他の形式のコンテンツアクセス手段を追加するよう構成されても良い。
【００３９】
第１の照合プロセッサのためのインデックス構造化データソースの選択は、例えば最も多くの名前値を有する構造化データソースを選択することにより自動化されても良い。代替で、前記第１のカテゴリの中に前記第１の照合プロセッサは、さらに、１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の該１より多くの構造化データソースの中からのインデックス構造化データソースの選択をユーザに促し、前記選択を前記インデックス構造化データソースとして用いても良い。
【００４０】
この場合のユーザは、人間のユーザであっても良く、又はシステムにアクセスするアプリケーションであっても良い。
【００４１】
別の態様の実施形態は、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理方法であって、前記複数のデータソースはラベル付きデータ値を有し、各々のラベル付きデータ値は複数のエンティティのうちの１つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記方法は、分類ステップであって、前記複数のキー値の各々について、１又は複数の名前値を識別し、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、構造化データソースの各々を２つのカテゴリのうちの１つに割り当て、前記２つのカテゴリは、前記構造化データソースの中の各々のキー値について１つの名前値のみが存在する、第１のカテゴリと、前記構造化データソースが、それぞれ１より多くの異なる名前値を有する１又は複数のキー値を有する、第２のカテゴリと、を有する、分類ステップと、第１の照合処理ステップであって、前記第１のカテゴリの中に１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第１の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第１の結果リストに格納する、第１の照合処理ステップと、第２の照合処理ステップであって、前記第２のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値であるラベル付きデータ値を識別し、１より多い異なる名前値が識別された場合、該１より多い異なる名前値を互いの別名として第２の結果リストに格納する、第２の照合処理ステップと、結合ステップであって、前記第２の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる名前値の各々について、同一の名前値が前記第２の結果リストの中に現れる場合に、前記第１の結果リストからの名前値の別名と前記第２の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、結合ステップと、を有する照合処理方法を含む。
【００４２】
任意で、前記複数のデータソースは１又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、前記分類ステップは、さらに、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第３のカテゴリに割り当て、前記方法は、第３の照合処理ステップであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、１より多くの異なる名前値が単一のテキスト節から抽出されるとき、該１より多くの異なる名前値を互いの別名として第３の結果リストに格納する、第３の照合処理ステップと、を更に有し、前記結合ステップは、前記第２の結果リスト及び前記第３の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる各々の名前値について、同一の名前値が前記第２の結果リスト及び／又は前記第３の結果リストの中に現れる場合、前記第１の結果リストからの名前値の別名及び前記第２の結果リスト及び／又は前記第３の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する。
【００４３】
別の態様の実施形態は、コンピューティング装置により実行されると、該コンピューティング装置に本発明の実施形態として上述したコンピューティング装置として機能させるコンピュータプログラムを有する。
【００４４】
別の態様の実施形態は、コンピューティング装置により実行されると、該コンピューティング装置に本発明の実施形態として本願明細書に上述した又は他の箇所に定めた方法を実行させるコンピュータプログラムを有する。
【００４５】
さらに、本発明の実施形態は、複数の相互接続されたコンピューティング装置により実行されると、前記複数の相互接続されたコンピューティング装置に、本発明を具現化する方法を実行させるコンピュータプログラム又はコンピュータプログラムスーツを有する。
【００４６】
本発明の実施形態は、複数の相互接続されたコンピューティング装置により実行されると、前記複数の相互接続されたコンピューティング装置に、本発明の実施形態として本願明細書に上述した又は他の箇所に定めたコンピューティング装置として機能させるコンピュータプログラム又はコンピュータプログラムスーツを有する。
【００４７】
態様（ソフトウェア／方法／装置）が別個に議論されたが、１つの態様に関連して議論されたその特徴及び影響は、他の態様にも等しく適用できる。したがって、方法の特徴が議論される場合、装置の実施形態はその特徴を実行する又は適切な機能を提供するよう構成されるユニット又は装置を有すること、及びプログラムは該プログラムが実行されるコンピューティング装置に前記方法の特徴を実行させるものと解釈される。
【００４８】
上述の態様のいずれにおいても、種々の特徴は、ハードウェアで、又は１又は複数のプロセッサで動作するソフトウェアモジュールとして実装されても良い。一態様の特徴は、他の態様のいずれにも適用できる。
【００４９】
本発明は、上述の任意の方法を実行するコンピュータプログラム又はコンピュータプログラムプロダクト、及び上述の任意の方法を実行するプログラムを格納しているコンピュータ可読媒体も提供する。本発明を実施するコンピュータプログラムは、コンピュータ可読媒体に格納されてもよい。或いは、例えば、インターネットウェブサイトから提供されるダウンロード可能なデータ信号のような信号形式又は任意の他の形式であってもよい。
【図面の簡単な説明】
【００５０】
本発明の好適な特徴は、単なる例として添付の図面を参照して以下に説明される。
【図１】一実施形態の照合処理システムを示す。
【図２】別の実施形態の照合処理システムを示す。
【図３】方法のステップで注釈を付けられた別の実施形態の照合処理システムを示す。
【図４】一実施形態のデータソースカテゴリが従う論理処理を示す。
【図５】構造化データソースからのデータを示す。
【図６】非構造化データソースからのデータを示す。
【図７】更なる例示的なデータを示す。
【図８】一実施形態の分類器レジストリにより維持されるデータの例示的な形式を示す。
【図９】一実施形態の第１の照合プロセッサにより実行される照合手順の概略を示す。
【図１０Ａ】一実施形態の第２の照合プロセッサによる処理のためのＲＤＦ記述を示す。
【図１０Ｂ】一実施形態の第２の照合プロセッサによる処理のためのＲＤＦ記述を示す。
【図１０Ｃ】一実施形態の第２の照合プロセッサによる処理のためのＲＤＦ記述を示す。
【図１１Ａ】非構造化データソースからのテキストの一節、一実施形態の第３の照合プロセッサによりテキストを処理するために使用される正規表現、及び該処理の結果を示す。
【図１１Ｂ】非構造化データソースからのテキストの一節、一実施形態の第３の照合プロセッサによりテキストを処理するために使用される正規表現、及び該処理の結果を示す。
【図１１Ｃ】非構造化データソースからのテキストの一節、一実施形態の第３の照合プロセッサによりテキストを処理するために使用される正規表現、及び該処理の結果を示す。
【図１２】一実施形態の結果リスト結合器により実行される結合処理を示す。
【発明を実施するための形態】
【００５１】
図１は、照合処理システム１０を示す。照合処理システム１０は、データソース分類器１４と、第１の照合プロセッサ１１と、第２の照合プロセッサ１２と、第３の照合プロセッサ１３と、結果リスト結合器１６と、を有する。複数のデータソース２０は、システムの外部にあるとして示される。しかしながら、複数のデータソース２０からのデータは、データ抽出器１８により抽出されローカルに（つまり、システムの内部に）格納されても良い。複数のデータソース２０は、システム１０にアクセス可能である。第３の照合プロセッサ１３が図１に示される。しかしながら、実施形態は、第３の照合プロセッサを有しないで、第１の及び第２の照合プロセッサを有しても良い。
【００５２】
図１に示したシステム１０のコンポーネントは、基本コンポーネントであり、それぞれシステム１０により実行される異なる機能を表す。ハードウェアコンポーネントの観点で、システム１０は、データ記憶装置、プロセッサ、及びメモリを有するコンピューティング装置であると考えられる。しかしながら、システム１０は、互いに協働して動作するこのような複数の装置により実現されても良い。各々の基本コンポーネントは、異なるコンピューティング装置により実現されても良い。代替で、システム１０は、仮想サーバとして実行するプログラムであっても良く、基本コンポーネントの機能を実行するときに必要なので及びそのときに物理ハードウェアリソ―スを利用するよう構成されても良い。例えば、照合処理がユーザ又は照合されるべきであると識別された複数のデータソース２０により開始されるとき、システム１０は、管理サーバからハードウェアリソ―スを要求しても良い。
【００５３】
図１の中のコンポーネントを接続する線は、データ／情報の流れを表すが、コンポーネント間の情報の交換のみを意味しない。例えば、照合プロセッサは、それぞれ、比較のためにデータ値を抽出するために、又はデータ抽出器１８により投入されたローカルデータ記憶装置１７にアクセスするために、データソース２０自体にアクセスするよう構成される。データソース分類器から各々の照合プロセッサへのリンクは、データソースの個々のカテゴリのメンバーシップを分類器１４によりプロセッサに通知することを示す。
【００５４】
複数のデータソース２０は、ラベル付きデータ値で構成される構造化データソース２０を有する。ラベル付きデータ値の各々は複数のエンティティのうちの１つの特性を表し、エンティティはキー値により識別可能であり、特性はデ―タ値のラベルにより識別可能である。複数のデータソース２０は、１又は複数の非構造化データソースを更に有しても良い。各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節はテキスト節の一部又はそれに関連して格納されたキー値により識別可能なエンティティを表す。データソース２０は、オープンデータソースであっても良く、又はシステム１０がアクセスする資格を与えられたクローズド／プライベートデータソースであっても良い。データソース２０は、Ｗｉｋｉｐｅｄｉａ又はDBediaのようなインターネットサイトであっても良く、（Land  Registryサービスにより又はRoyal  Mailにより英国で整備されているような）オープンデータベースを含むデータベースであっても良く、文書レポジトリであっても良い。ファイルフォーマットの観点で、データソース２０は、テキスト、ｃｓｖファイル、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌファイル、ＲＤＦストア、データベーステーブルの形式で、及びエンティティがキー値により識別される任意の他の形式であっても良い。
【００５５】
データソース分類器１４は、特定のキー値により識別されるエンティティの特性を表すデータ値の中で、名前値を識別するよう構成される。このような識別は、データ値に属するラベル（又は他の形式のタグ又は意味的に豊富なメカニズム）に基づく。データソース２０は、データソースが各々のキー値について１より多くの異なる名前値を有するか否かに依存して、第１又は第２のカテゴリに分類される。任意のキー値について１より多くの異なる名前値が存在する場合、データソースは第２のカテゴリに割り当てられる。その他の場合、データソースは第１のカテゴリに含まれる。さらに、データソース分類器１４は、非構造化データを有するデータソースを第３のカテゴリに追加するよう構成される。これは、任意の潜在的な名前値が含まれるか否かを決定するために、非構造化データが分析されるようにするためである。特定の長さ、例えば１００文字を超えるテキスト節は、実装に依存して非構造化データと見なされても良い。その他の場合、非構造化データは、特定の長さを超え及びラベル付けされていない又は文字列若しくはテキストフィールド全体で１回だけラベル付けされている、文字列又はテキストフィールドであっても良い。
【００５６】
第１の照合プロセッサ１１は、データソース境界に跨り名前値を横断照合する（cross−reconcile）。インデックスデータソースは、リネームデータソースの中で別名を検索される名前値を定める。第１の照合プロセッサ１１は、名前値の文字列比較を実行することにより、第１のカテゴリの中の残りのデータソースの各々とインデックスデータソースを照合する。類似性を識別するために文字列値を比較するための異なるアルゴリズムが存在する。システム設計者は、名前値を比較する際に第１の照合プロセッサ１１により実行されるべき１又は複数のアルゴリズムを選択しても良い。文字列比較の結果が比較された文字列を別名と見なすのに十分に類似していると考えられるか否かを決定するために、所定の閾値が用いられても良い。閾値は、例えばシステム設計者により又は実行時にシステム１０に指示するときに引数として設定可能である。
【００５７】
第２の照合プロセッサ１２は、データソース境界の中の照合を実行する。したがって、第２のカテゴリに割り当てられた各々のデータソースは、データソースの中の同じエンティティのために用いられる異なる名前値を抽出するために内部で照合される。基本的な例では、これは、データ値が名前値であることを示す特定のキー値により参照されるエンティティの特性を表すデータ値の（ヘッダ、述語値、又はデータ値の意味的重要性の他の指示子のような）ラベルを単に識別し、及び名前値を抽出することによっても良い。しかしながら、意味的参照及び他の技術は、異なるキー値により参照されるエンティティについて類似の若しくは同じデータ値又は類似の若しくは同じラベルを有する名前値以外の多数のラベル付きデータ値に基づき、識別するために用いられても良い。（一致／類似ラベル／データ値ペアの最小数／率、又はラベル／データ値の意味的重要性に基づく加重メトリック（つまり、データソースの中で少ない頻度で現れるデータ値ほど意味的に重要である）のような）閾より大きい類似度は、異なるキー値が同じエンティティを実際に参照することの指示として見なされても良い。
【００５８】
第３の照合プロセッサ１３は、非決定性有限オートマンに処理された所定規定表現セットの各々を用いることによりパターンマッチングを用いて、テキスト節の中の規定表現と一致するサブストリングを識別するよう構成される。ここで、テキスト節の中の規定表現の存在は、名前値が規定表現に関連するテキスト節の中の特定の位置に存在することを示す。第３の照合プロセッサ１３は、言語処理技術を用いて、テキスト表現又はパターンの中のサブストリングの位置に基づき名前値の候補である該サブストリングを抽出するよう構成される。２以上のこのようなサブストリングが同じテキスト節（つまり、単一のキー値により参照されるテキスト節）から抽出されるとき、抽出されたサブストリングは、第３の結果リストの中に互いに別名として格納される。第３の照合プロセッサ１３は、構造化クエリを用いて、既知の／指定された文字／文字列の間に位置する又は既知の／指定された文字／文字列の片側に位置する（クエリ設計のときに）未知のサブストリングを抽出する。
【００５９】
第１の結果リスト、第２の結果リスト、又は第３の結果リストのうちの任意のものは、結果リスト結合器１６による結合の前に結果リストから誤検出を除去させるために、インタフェースを介して人間のユーザに提示されても良い。代替で、別名のリストから誤検出を除去させるために、結合された結果リストのみが人間のユーザに提示されても良い。
【００６０】
第１の処理ユニット、第２の処理ユニット、及び第３の処理ユニットは、分類されたデータソースにより個々のカテゴリに属するデータソースの通知を入力される。それらは、それぞれ、次に、データソースから直接に、データ抽出器１８を介して、又はデータソースのローカルに格納されたバージョンから、それら個々のカテゴリな中のデータソースからデータを得るよう構成される。得られたデータは、次に、個々の照合プロセッサの照合処理を用いて照合される。各々からの出力は、問題の照合プロセッサにより互いに別名であると考えられた名前値のテーブル又はリスト、例えばカンマ区切りリストである。リストの中の名前値は、該名前値が生じたデータソースの識別子、及び／又は名前値の名前が属するエンティティを識別するキー値を伴っても良い。
【００６１】
結果リスト結合器１６は、照合プロセッサの各々により生成された結果リストを受信し、それらを結合するよう構成される。結合は、個別の結果リストを単に互いに付け足すことであっても良い。結合は、第１の結果リストに含まれ、第２及び／又は第３の結果リストにも現れる任意の名前値について、該名前値の別名を各リストに格納するステップであって、該名前値の別名は、結合結果リストの中で互いに別名として現れる、ステップを更に有しても良い。
【００６２】
図２は、照合処理システム１０のアーキテクチャを示す。図１のコンポーネントと同じ参照符号を有するコンポーネントは、上述の図１の説明の中の対応するものの特徴及び機能を有すると想定される。
【００６３】
図３は、図２のアーキテクチャに関連して説明される、幾つかの方法のステップで注釈を付けられた図２のアーキテクチャを示す。
【００６４】
図２のシステム１０は、第１の照合プロセッサ１１と、第２の照合プロセッサ１２と、第３の照合プロセッサ１３とを有する。これらの３個のプロセッサは、集合的に照合器として言及されても良い。システム１０は、結果リスト結合器１６と、データソース分類器１４と、レジストリ１４１と、データ記憶ユニット１７と、データ抽出器１８と、を更に有する。複数のデータソース２０は、システム１０の外部にあるとして示される。
【００６５】
第１の照合プロセッサ１１は、１：１プロセッサとしても表されても良い。第２の照合プロセッサ１２は、１：ｍ−ｓプロセッサとしても表されても良い。第３の照合プロセッサ１３は、１：ｍ−ｕプロセッサとしても表されても良い。結果リスト結合器１６は、最終結合器又は単に結合器としても表されても良い。データソース分類器１４は、分類器１４として又は照合ディスパッチャ１４としても表されても良い。
【００６６】
データソース２０は、任意のオープンデータソース、例えばLinking  Open  Data（http://lod−cloud.net/）、DBPedia（dbpedia.org）等、又はインターネットで公衆に利用可能なデータであり得る。データソースは、システム１０がアクセスを認可されたプライベート（つまり、アクセス制限）データベースであり得る。データソースは、システム動作中に、例えばシステムに供給される命令の引数として、ユーザにより選択されても良い。
【００６７】
データ抽出器１８は、オープンデータソースから関連情報を読み出すよう構成される。この抽出は、図３のステップＳ３０１により表される。つまり、照合器による分析／処理のための情報である。データソースの様々な特性により、データ抽出器１８により提供される機能は、ファイルダウンロード、ウェブクローリング、及び構造化／半構造化／非構造化データパーシング及び抽出を含んでも良い。
【００６８】
構造化／半構造化データダウンロードを提供するデータソースでは、ダウンロードされたデータは、システム１０の中のデータ記憶ユニット１７に、任意的にその元のフォーマットで、保存される。データ抽出器１８により抽出されたデータ又はファイルシステムをデータ記憶ユニット１７に保存するステップは、図３のステップＳ３０２により表される。このようなデータを提供するデータソースは、分類器１４により第１又は第２のカテゴリに分類される。そして、このようなデータは、第１又は第２の照合プロセッサ１２による処理のためのものである。システム１０の中のデータ記憶ユニット１７は、照合器により直ちにアクセス可能であり、並列リードアクセス可能なように構成されても良い。非構造化データ、例えばＤＢＰｅｄｉａ又はＷｉｋｉＰｅｄｉａからクローリングされた「Abstract」又は「Description」のようなテキスト節では、テキストの（各ウェブリソースに固有である）ウェブＵＲＬをそのキー値として及びテキストブロックをエンティティの説明として用い、ＣＳＶファイルを生成するために幾つかの前処理が実行される必要がある。他のエンティティを記述するが同じ種類の情報の全部は、同じファイルに付加できる。
【００６９】
データ抽出器１８の例示的な使用例を以下に記載する。ブロックテキストの一例は、ＤＢＰｅｄｉａにより提供される要約である。ＤＢＰｅｄｉａにおいてＢＢＣに関する続くｕｒｌ存在情報は、ＲＤＦフォーマットで、http://dbpedia.org/page/BBCである。dbpedia−owl:abstractと呼ばれる特性が存在する。（ｓ−ｐ−ｏの形式のトリプルの意味において）目的語は、会社名情報British  Broadcasting  Corporationを含むテキストブロックである。しかしながら、ＤＢＰｅｄｉａは、上述のリンクをＣＳＶファイルにダウンロードするためのダウンロードリンクを提供しない。したがって、ＳＰＡＲＱＬクエリは、それらのオープンエンドポイントhttp://dbpedia.org/sparqlに対して発行される必要がある。私達が「select  ?s  ?abstract  where  {?s  a  Company  .  ?s  dbpedia−owl:abstract  ?abstract}」のようなあるクエリを提出する場合、クエリ結果は、全ての会社ｕｒｌ及びクエリを満たすそれらの要約を有するＣＳＶファイルであるだろう。「appended」は、同じクエリにより複数のクエリ結果が返される場合を表す。例えば、ｄｂｐｅｄｉａは一度に１００００個のレコードを返すだけのこともある。したがって、ＳＰＡＲＱＬクエリの中で、私達は、制限１００００オフセット１００００と言う必要がある。
【００７０】
データ抽出器１８は、照合器にデータソース自体に直接アクセスさせるための代替として提供される。データ抽出器１８は、照合器がデータ記憶ユニット１７の中でアクセスする必要があるデータの全部を配置することにより、照合器の潜在的性能ボトルネックを除去する。
【００７１】
データ記憶ユニット１７は、単一のデータ記憶ユニット１７であっても良く、又はそれぞれデータ抽出器１８により読み出される情報／データの一部又は部分集合を格納する複数のユニットを有するデータ記憶装置であっても良い。
【００７２】
データ記憶ユニット１７は、データソースからダウンロードされ又は抽出されたデータ／情報を格納するよう構成される。照合器は実行時間にデータを抽出できるが、幾つかの実装では、性能の理由から、データの少なくとも一部をローカルネットワークに格納し、ネットワークアクセスオーバヘッドを回避することが望ましい場合がある。
【００７３】
データソース分類器１４は、照合ディスパッチャとしても参照されても良い。なぜなら、データソースが分類されると、関連する照合プロセッサは、データソースの照合処理を開始するためにディスパッチできるからである。この説明の例外は、インデックスデータソースが選択され及び少なくとも１つの他のデータソースが第１のカテゴリに割り当てられるまで照合処理を実行できない第１の照合プロセッサ１１の場合である。しかしながら、これらの前提条件が満たされると、新しいデータソースの第１のカテゴリへの追加は、第１の照合プロセッサ１１のディスパッチであると考えられる。
【００７４】
データソース分類器１４により実行される処理、つまり、複数のデータソースの各々へのアクセス、及びそれらのカテゴリへの割り当ては、マッピング値を各データソースに割り当てることにより実行されても良い。ここで、マッピング値は、データソースを処理する照合プロセッサを決定する。マッピング値は、データソース内の名前値へのキー値のマッピングを表す。
【００７５】
データが抽出されデータ記憶ユニット１７に格納されると、分類器１４は初期化される。これは、図３のステップＳ３０３により表される。分類器１４は、各データソースを調べて、各データソースについてキーと名前との間のマッピング又は関係を表すマッピング値を生成するよう構成される。分類器１４によりデータ記憶ユニット１７に格納されたデータソースからのデータの検査及び調査は、図３のステップＳ３０４により表される。この状況では、キー及び名前は、ラベル、ヘッダ、又はクラス定義である。ここで、キー値又は名前値はいずれかの特定のインスタンスである。マッピング値は、データソースのスキーマ又はオントロジ定義を検査するし、及びラベル（ここで、ラベルは列ヘッダ、述語、及び特性を命名する他のメカニズムを包含すると考えられる）をキー値又は名前値を参照するために既知の所定ラベルリストと比較することにより導出可能である。代替又は追加で、スキーマ又はオントロジ定義をインスタンス化するデータは、マッピング値を決定するために検査されても良い。
【００７６】
データソースを分類する際に分類器１４により実行される例示的な処理は、図４を参照して以下に記載される。
【００７７】
Ｓ４０１：データ記憶ユニット１７の中のデータソースを識別し、データをスキャンする。
【００７８】
Ｓ４０２：同じキー値を有するデータの中に複数のエントリが存在するかどうかを知るために、キー値を調べる。
【００７９】
Ｓ４０６：ステップＳ１０２で重複するエントリが存在しない場合、マッピング値は１：１である。これは第１のカテゴリに対応し、データソースは第１の照合プロセッサ１１により処理される。１：１マッピング値を有するデータソースの一例は、図７に示される。
【００８０】
Ｓ４０３：重複エントリ（同じキー値を有する２つのエントリ）が存在する場合、それらが一致するか否かを知るために名前値を調べる。
【００８１】
Ｓ４０７：Ｓ４０３で各々の重複エントリの名前値が同じである場合、マッピングは依然として１：１であり、データソースは第１のカテゴリに割り当てられ、第１の照合プロセッサ１１により処理される。
【００８２】
Ｓ４０４：その他の場合、同じキー値について異なる名前値が存在する場合、マッピング値は１：ｍである。この１：ｍの重複の一例は、図５に示される。図５は、上述のＳＰＡＲＱＬクエリの結果としてＣＳＶファイルのセグメントを示す。ＣＳＶファイルは、カンマ区切りファイルであり、スプレッドシートと同様であるが、より簡易なフォーマットを有する。第１の列はＤＢＰｅｄｉａにおけるＵＲＬであり（例えば、各々のリソースは、ユニークなＤＢＰｅｄｉａによりＵＲＬを割り当てられている）、第２の列は例えばＤＢＰｅｄｉａの意味の名前dbpprop:nameである。dbpprop:name述部は２つの目的語値を有する。１つは英語、１つは日本語である。このＲＤＦフォーマットは、同じＵＲＬ（キー値）を有する、ＣＳＶファイルの中の２つのエントリで終わる。
【００８３】
Ｓ４０４：データソースが１：ｍマッピング値を与える場合には、名前値種類を更に調べ、長さが所定の閾、例えば１００（実装に依存して変化するが、本例では会社名を考えているので、１００文字で十分思われる）より短い１つの単純な文字列目的語である場合、Ｓ４０５に進み、マッピング値は１：ｍ−ｓである（ここで、ｍはキー値当たりの複数の名前値を示し、ｓは構造化又は半構造化を示す）。これは第２のカテゴリに対応し、したがってデータソースは第２の照合プロセッサ１２により処理される。しかしながら、長さが１００より長い場合、これは、パースされなければならないテキスト節が存在することを示す、名前値が抽出される。したがって、フローはＳ４０８に進み、マッピング値は１：ｍ−ｕである（ｕは非構造化を示す）。これは第３のカテゴリに対応し、データソースは第３の照合プロセッサ１３により処理される。
【００８４】
非構造化データの一例は、図６に示される。図５及び６は、１：ｍ：ｓと１：ｍ：ｕマッピングの間を区別する例を提供する。ここで、１：ｍ：ｓは１に対して多くの構造化ケース（例えば、表の中の列）を表し、第１のカテゴリに対応する。そして、１：ｍ：ｕは、１に対して多くの非構造化ケース（例えば、テキストブロック）を表し、第３のカテゴリに対応する。データソースは、両方のケースにおいてｄｂｐｅｄｉａであり、ｕｒｌは依然としてキーである。しかし、私達が分析しようとしている列が、文字列の中の単純な名前、例えばＩＢＭではなく、非構造化テキストである場合、第３の照合プロセッサ１３のパターンに基づく分析が適用される。例えば、私達は、「（」又は「same  as（と同じ）」、又は「well  known（良く知られた）」のような文字を捜し、これらの文字の両側にある文字列は同じエントリを表していると決定する。
【００８５】
図７は、１：１マッピング値（第１のカテゴリ）、１：ｍ−ｓマッピング値（第２のカテゴリ）、及び１：ｍ−ｕマッピング値（第３のカテゴリ）を有するデータソースの更なる例を示す。
【００８６】
各々のデータソースのマッピング値、又は各々のデータソースが割り当てられるカテゴリは、データソース分類器１４のレジストリ１４１に格納される。複数のデータソースが分類されると、照合プロセッサは初期化される。これは、図３のステップＳ３０５により表される。レジストリ１４１の物理位置は、実装の詳細に依存して、メモリの中又は分散設定であっても良い。図８は、レジストリ１４１に格納された値の一例を示す。
【００８７】
実装の詳細に依存して、３個より多くのマッピング値したがって、３個より多くのデータソースカテゴリが存在しても良い。
【００８８】
照合プロセッサの各々は、どのデータソースを処理すべきかを知らせるために、データソース分類器レジストリ１４１を参照する。第１の照合プロセッサ１１は、第１のカテゴリに割り当てられた、つまり１：１マッピング値を有するデータソースを処理する。第２の照合プロセッサ１２は、第２のカテゴリに割り当てられた、つまり１：ｍ−ｓマッピング値を有するデータソースを処理する。第３の照合プロセッサ１３は、第３のカテゴリに割り当てられた、つまり１：ｍ−ｕマッピング値を有するデータソースを処理する。
【００８９】
照合器は、３個の照合プロセッサを有する。３個の照合プロセッサの各々は、分類器１４により特定のカテゴリに割り当てられた又は特定のマッピング値を有するデータソースに対して、照合処理を実行する役割を担う。照合処理は、並列動作しても良い。
【００９０】
第１の照合プロセッサ１１は、第１のカテゴリに割り当てられた、１：１マッピング値を有するデータソースに対して照合処理を実行する。データソースは、インデックス（インデックス構造化データソースとしても表される）として機能するよう選択される。インデックスデータソースは、ユーザの選好に依存して手動で定められても良い。あるいは、選択は自動化されて、例えば最も多くの名前値を有するデータソースを選択しても良い。インデックスデータソースは、次に、第１の照合プロセッサ１１により照合処理を行われ、第１のカテゴリの中の他のデータソースの各々が順々に処理される。この処理を図９に示す。データソースを次々に照合することは、あるデータソースの中の各々の名前値を別のデータソースの中の各々の名前値と比較し、比較が基準を満たすとき、リストに結果を出力する処理である。
【００９１】
例えば、照合方法は、２つの名前値を比較するメカニズムとして文字列類似性比較を用いても良い。例えば、Jaro−Winkler距離（Winkler、１９９０）は、２つの名前文字列の間の類似性を測定するアルゴリズムである。比較の結果は、０と１の間の値であるスコアである。ここで、０は類似性を有しないこと、１は正確に一致することと見なされる。システム１０は、２つの名前値が別名と考えるのに、したがって第１の結果リストに入れられるのに、十分に類似している基準として任意の値を採用できる。一例として、０．９８は、名前の２つの変形が同じエンティティを指していることを確認するための最小スコアとして定めることができる。例えば、
【数１】
2016192202.tif 000003
【００９２】
しかしながら、この最小スコアの選択は柔軟である。より正確な結果を生成するために、標準を引き上げることができる。標準を引き下げることは、誤検出の数を増大させる。しかし、これは、全ての可能な別名を含むという観点から望ましい場合がある。結果フィルタリング段階において、増大する負荷とのトレードオフである。基準に追加する要素として、正確な一致が結果リストへの入力から除外されても良い。
【００９３】
第１の結果リストは、他の第１のカテゴリのデータソースの各々とインデックスデータソースを比較して付加された結果である。結果は統合されて、インデックスデータソースの中の各々の名前値が１回現れ、第１の照合プロセッサ１１により見付けられた別名と関連付けられる（つまり、同じ行にある）ようにする。別名が見付かったデータソースの指示も含まれても良い。
【００９４】
第２の照合プロセッサ１２は、第２のカテゴリに割り当てられた、１：ｍ−ｓマッピング値を有するデータソースに対して照合処理を実行する。第２の照合プロセッサ１２は、１：ｍ−ｓのマッピング値を有するデータソースについて名前を照合するよう構成される。第２の照合プロセッサ１２は、同じキー値の複数の名前値の間の関係を構築するために意味参照技術を用いるよう構成されても良い。第２の照合プロセッサ１２により実行される手順は、異なる種類のデータファイル、例えば、ＣＳＶ、ＪＳＯＮ又はＴｕｒｔｌｅに適用可能である。しかし、説明目的で、ここで私達は、理論を説明するために、またＲＤＦは良く知られた意味的に豊かな言語であるので、ＲＤＦ  Ｔｕｒｔｌｅを選択する。
【００９５】
ＲＤＦデータは、ステートメントを有する。ここで、各ステートメントは、主語−述語−目的語の表現形式で生成される。主語、述語、目的語のデータ種類は、通常、ＵＲＬである。例えば、図１０ａは、主語（キー値）、述語（ラベル）、目的語（名前値）の各々の値を有する例示的なＲＤＦステートメントを示す。
【００９６】
図１０Ａでは、目的語はＵＲＬ種類である。しかしながら、目的語データ値は、直定数型、例えばストリング値であり得る。
【００９７】
ＵＲＬ型及び複数の値を有する目的語では、異なる値の間の推測結果は、それらが同じ種類のクラスに属することだけであり得る。例えば、図１０Ｂは、目的語（dbpedia:Thomas_J._Watson及びdbpedia:Charles_Renlett_Flint）が人の種類及びＵＲＬ型の両方である２つのＲＤＦステートメントを示す。これら２つのＵＲＬは更に逆参照（de−reference）できないので、これは、それらのキー値が一致し及び名前値が存在することを示唆するようにデータ値がラベル付けされていても、それらが異なる情報を含むに違いないこと、及びそれらが同じエンティティを命名していないこと、を意味する。
【００９８】
しかしながら、目的語が直定数型及び複数の値を有するＲＤＦステートメントでは、推測結果は類似するとして変換できる。名前であり「similar  to（類似する）」基準を満たすと考えられる任意の目的語値は、互いに別名として第２の結果リストに追加される。少なくとも意味的レベルでは、異なる値を有するが同じ方法でラベル付けされ同じ主語リソースの特性である（つまり同じキー値を有する）２つの文字列目的語の間には、それらが更に逆参照可能ではないので、明らかな差はない。したがって、図１０Ｃの例では、目的語値は文字列型であり異なるので、文字列が明らかに類似していなくても（つまり、異なる長さ、等）、第２の照合プロセッサ１２は、それらが互いに別名であると決定し、それらを第２の結果リストに追加する。これは、特に、私達が検討している目的語値が述語により名前として明示的にラベル付けされているときに当てはまる。ここで、名前は、エンティティの純粋な識別情報であり、必ずしもユニークである必要はない。１：ｍ−ｓプロセッサが図１０Ｃのデータを処理するとき、例えば、述語値を探すとき、「名前」又は名前の変形を含む場合に、その目的語の種類を探し、種類が直定数である及び１つの主語及び述語が複数の目的語直定数値を有する場合、私達は次のように推論できる。
【００９９】
“International  Business  Machines  Corporation”は“IBM  Corp”に類似する。
【０１００】
そして、２つの名前値が、互いの別名として、第２の結果リストに追加される。
【０１０１】
この方法により、照合結果は、第１の照合プロセッサ１１を用いるだけで、更に拡大された比較になり得る。なぜなら、それは、類似性スコアが０．９８より小さいが名前が実際に同じエンティティを表す状況をカバーするからである。
【０１０２】
第２の照合プロセッサ１２の機能は、名前値の別名を提供するエンティティの特性を表す、名前値以外のラベル付けされたデータ値を比較することを含むよう拡張されても良い。例えば、第２の照合プロセッサは、キー値により識別されるエンティティに属するデータ値のラベルをエンティティ間の等価性を示すラベルの所定のリストと比較し、第２の結果リストの中のエンティティの名前値の別名として所定のリストに含まれるラベルを有するラベル付けされたデータ値を抽出するよう更に構成されても良い。この機能は、コンテンツ特有の結果を生成するために、データソースシンタックスの知識のためのメカニズムを提供する。このようなラベルの一例は、「dbpedia−owl:wikiPageRedirects」特性である。例えば、「dbpedia−owl:wikiPageRedirects」がユーザ又は管理者により又はシステム設計時に所定のラベルリストに含まれる場合、この特定の述語によりリンク付けされる目的語は、僅かに異なる名前ラベルを有する生成される他の記事／ページへのリンクを含むことが知られている。
【０１０３】
第３の照合プロセッサ１３は、名前情報の１又は複数の値を含む非構造化データ、例えばテキストブロック／節を処理するよう構成される。これは、名前値が異なる言語で記述され／異なる言語に変換される多言語テキストシナリオで特に有効である。このプロセッサが処理できる主要言語コンテンツは、システム設計者、管理者により、又はユーザにより、システム１０に指示するときに引数として実行時間にユーザにより、設定可能である。以下の例では、英語がコア言語、つまり、正規表現の存在、したがって名前値の位置を識別するために用いられる言語として用いられる。第３の照合プロセッサ１３により実行される技術は、他の言語にも適用可能である。
【０１０４】
一致する２以上の名前を見付けるためのコア技術は、パターンマッチングである。つまり、第３の照合プロセッサ１３は、対象テキスト（処理されているテキストブロック又は節）の中を検索するために検索パターンを形成する文字シーケンスである、シーケンスパターン（テキスト文字列）を記述する正規表現を用いるよう構成される。正規表現プロセッサ（第３の照合プロセッサ１３のサブコンポーネント）は、正規表現と一致するサブストリングを認識するためにテキスト節と比較するために、ＮＦＡ（nondeterministic  finite  automaton）で、その又は各々の正規表現を処理するよう構成される。多くのプログラミング言語は、正規表現機能、例えばテキストブロックから検索サブストリングを抽出するプロセッサを提供する。したがって、第３の照合プロセッサ１３は、Ｊａｖａ、Ｐｙｔｈｏｎ、又はＣ＋＋のようなプログラミング言語を用いて記述されたプログラムとして実装されても良い。なぜなら、これらの言語では、正規表現ステートメントをパーシングするための固有の機能が存在するからである。
【０１０５】
図１１Ａは、非構造化データソースから抽出された例示的なテキスト節を示す。図１１Ｂは、第３の照合プロセッサ１３により格納され、正規表現、従って名前値の位置と一致するサブストリングを認識するために用いられる、正規表現の例示的な形式を示す。図１１Ａ〜Ｃの例では、名前値が探されるえんは会社である。したがって、会社及び企業は、正規表現の一部として用いられる。
【０１０６】
図１１Ｃは、図１１Ａのテキストブロックを処理するときに第３の照合プロセッサ１３が図１１Ｂの正規表現を使用するとき返される結果を示す。
【０１０７】
第３の照合プロセッサ１３は、サブストリング操作により達成されたパターンマッチング結果を精緻化するために、個々の名前値（つまり、Fujitsu  Ltd.及び富士通株式会社）を再び抽出するために更なる分析を行うよう構成される。抽出された名前値は、第３の結果リストに互いの別名として格納される。
【０１０８】
結果リスト結合器１６は、個々の照合プロセッサにより生成された結果リストを統合方法で処理するよう構成される。特定の例では、全ての動作の単純なマージではなく、個々の照合プロセッサにより生成された結果リストに跨る横断参照（cross−reference）型の照合が実行される。例示的な処理ロジックは次の通りである。
【０１０９】
結果セット１（第１の結果リスト、第１の照合プロセッサ１１により生成される）、結果セット２（第２の結果リスト、第２の照合プロセッサ１２により生成される）、及び結果セット３（第３の結果リスト、第３の照合プロセッサ１３により生成される）が与えられると、結果セット１のセットの中の名前値のいずれかが結果セット２のセットの中で少なくとも１つの一致する名前を見付けられると、結果リスト結合器１６は、一致する名前値及び結果セット１からのその別名が一致する名前値及び結果セット２からのその別名と調整できると結論付ける。同じロジックは、結果セット１と結果セット３とを結合して最終結合結果リストを生成するときに、結果リスト結合器１６により適用される。図１２は、結果セット１の中でａ、ｂ、ｃが全て互いの別名として格納された名前値であり、結果セット２の中でｄ、ａ、ｅが全て互いの別名として格納された名前値であり、結果セット３の中でｆ、ｇ、ｂが全て互いの別名として格納された名前値である、処理フローを示す。図１２の矢印は、一致する名前値を示す。名前値ａ〜ｇは、結合結果リストに、互いの別名として格納される。
【０１１０】
結果リスト結合器１６により、結合結果リストに更なる情報を組み込むことができる。結合結果リストを生成する前又は後に、結果リスト結合器１６は、データソース（又はデータ抽出器１８により抽出されたデータ）に問い合わせて、結合結果リストの中の各々の名前値について、又は第１、第２及び／又は第３の結果リストの中の各々の名前値について、各々の名前値が抽出されたデータソースを識別する情報（例えば、場所、タイトル、又はアドレス）を、該名前値により命名されたエンティティを識別するキー値と一緒に、得ても良い。
【０１１１】
正確な結合結果により、エンティティ識別子は、異なるデータソースから正確に抽出できる。例えば、金融分野では、異なる財政規則により発行される識別子が抽出でき、これらの識別子に基づき、関連する財務報告がダウンロードできるので、意志決定者が特定のエンティティの包括的なポートフォリオを構築できる。
【０１１２】
以上の実施形態に加えて、更に以下の付記を開示する。
（付記１）  複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理システムであって、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの１つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記システムは、
前記複数のキー値の各々について、１又は複数の名前値を識別するよう構成されるデータソース分類器であって、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、前記データソース分類器は、構造化データソースの各々を２つのカテゴリのうちの１つに割り当てるよう構成され、前記２つのカテゴリは、
前記構造化データソースの中の各々のキー値について１つの名前値のみが存在する、第１のカテゴリと、
前記構造化データソースが、それぞれ１より多くの異なる名前値を有する１又は複数のキー値を有する、第２のカテゴリと、を有する、データソース分類器と、
第１の照合プロセッサであって、前記第１のカテゴリの中に１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、前記第１のカテゴリの残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第１の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第１の結果リストに格納するよう構成される、第１の照合プロセッサと、
第２の照合プロセッサであって、前記第２のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値である、同じ構造化データソースの中のラベル付きデータ値を識別し、１より多い異なる名前値が識別された場合、該１より多い異なる名前値を互いの別名として第２の結果リストに格納するよう構成される、第２の照合プロセッサと、
結果リスト結合器であって、前記第２の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる名前値の各々について、同一の名前値が前記第２の結果リストの中に現れる場合に、前記第１の結果リストからの名前値の別名と前記第２の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、結果リスト結合器と、
を有する照合処理システム。
（付記２）  前記複数のデータソースは１又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、
前記データソース分類器は、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第３のカテゴリに割り当てるよう構成され、
前記システムは、
第３の照合プロセッサであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、１より多くの異なる名前値が単一のテキスト節から抽出されるとき、該１より多くの異なる名前値を互いの別名として第３の結果リストに格納するよう構成され、
前記結果リスト結合器は、前記第２の結果リスト及び前記第３の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる各々の名前値について、同一の名前値が前記第２の結果リスト及び／又は前記第３の結果リストの中に現れる場合、前記第１の結果リストからの名前値の別名及び前記第２の結果リスト及び／又は前記第３の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、
付記１に記載の照合処理システム。
（付記３）  前記第３の照合プロセッサは、非決定性有限オートマンに処理された所定規定表現セットの各々を用いることによりパターンマッチングを用いて、前記テキスト節の中の規定表現と一致するサブストリングを識別するよう構成され、前記テキスト節の中の前記規定表現の存在は、名前値が前記規定表現に関連する前記テキスト節の中の特定の位置に存在することを示す、付記２に記載の照合処理システム。
（付記４）  前記第１の照合プロセッサは、前記第１のカテゴリに１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用いて、前記インデックス構造化データソースの中の各々の名前値について、前記名前値を対象構造化データソースとしての前記第１のカテゴリの中の残りの構造化データソースの各々からの名前値の各々と比較し、第１の類似性基準を満たす比較について、前記対象構造化データソースからの名前値を前記インデックス構造化データソースからの名前値の別名のリストに追加するよう構成される、
付記１に記載の照合処理システム。
（付記５）  前記第１の類似性基準は、２つの名前値の文字列類似性比較が所定の閾値を超える場合に、満たされる、
付記１に記載の照合処理システム。
（付記６）  前記第２の照合プロセッサは、前記キー値により識別されるエンティティに属するデータ値のラベルをエンティティ間が等価性を示すラベルの所定のリストと比較し、前記第２の結果リストの中のエンティティの名前値の別名として、前記所定のリストに含まれるラベルを有するラベル付きデータ値を抽出するよう更に構成される、
付記１に記載の照合処理システム。
（付記７）  前記複数のデータソースは、関係型データを格納するデータソース及びグラフデータを格納するデータソースを有する、付記１に記載の照合処理システム。
（付記８）  前記システムは、
照合処理のために、前記複数のデータソースから前記照合プロセッサにデータを供給するよう構成されるデータ抽出器、
を更に有する付記１に記載の照合処理システム。
（付記９）  前記システムは、
前記複数のデータソースのうちの少なくとも１つについて、前記結合結果リストの中の名前値に一致する前記データソースの中の各々の名前値について、前記結合結果リストに格納された名前値の別名の各々を、該別名が前記名前値の代替であることの指示と共に前記データソースに追加するよう構成される結合結果伝達器、
を更に有する付記１に記載の照合処理システム。
（付記１０）  前記第１のカテゴリの中に前記第１の照合プロセッサは、１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の該１より多くの構造化データソースの中からのインデックス構造化データソースの選択をユーザに促し、前記選択を前記インデックス構造化データソースとして用いる、よう更に構成される、付記１に記載の照合処理システム。
（付記１１）  複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理方法であって、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの１つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記方法は、
分類ステップであって、
前記複数のキー値の各々について、１又は複数の名前値を識別し、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、
前記構造化データソースの各々を２つのカテゴリのうちの１つに割り当て、前記２つのカテゴリは、前記構造化データソースの中の各々のキー値について１つの名前値のみが存在する、第１のカテゴリと、前記構造化データソースが、それぞれ１より多くの異なる名前値を有する１又は複数のキー値を有する、第２のカテゴリと、を有する、
分類ステップと、
第１の照合処理ステップであって、
前記第１のカテゴリの中に１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第１の類似基準を満たす名前値を見付け、
前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第１の結果リストに格納する、
第１の照合処理ステップと、
第２の照合処理ステップであって、
前記第２のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値であるラベル付きデータ値を識別し、
１より多い異なる名前値が識別された場合、該１より多い異なる名前値を互いの別名として第２の結果リストに格納する、
第２の照合処理ステップと、
結合ステップであって、前記第２の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる名前値の各々について、同一の名前値が前記第２の結果リストの中に現れる場合に、前記第１の結果リストからの名前値の別名と前記第２の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、結合ステップと、
を有する照合処理方法。
（付記１２）  前記複数のデータソースは１又は複数の非構造化データソースを有し、各々の非構造化データソースは複数のテキスト節を有し、各々のテキスト節は前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティを記述し、
前記分類ステップは、さらに、前記複数のデータソースの中から前記非構造化データソースを識別し、非構造化データソースを第３のカテゴリに割り当て、
前記方法は、
第３の照合処理ステップであって、パターンマッチングを用いて、前記テキスト節の各々の中からサブストリングであって、前記テキスト節の一部として又はそれに関連して格納されたキー値により識別可能なエンティティに名前を帰属させる名前値を含むことを示すパターンの中に配置された該サブストリングを識別し、前記識別されたサブストリングから示された名前値を抽出し、１より多くの異なる名前値が単一のテキスト節から抽出されるとき、該１より多くの異なる名前値を互いの別名として第３の結果リストに格納する、第３の照合処理ステップと、
を更に有し、
前記結合ステップは、前記第２の結果リスト及び前記第３の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる各々の名前値について、同一の名前値が前記第２の結果リスト及び／又は前記第３の結果リストの中に現れる場合、前記第１の結果リストからの名前値の別名及び前記第２の結果リスト及び／又は前記第３の結果リストからの同一の名前値の別名を、互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、
付記１１に記載の照合処理方法。
（付記１３）  コンピュータプログラムであって、コンピューティング装置により実行されると、前記コンピューティング装置に、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理方法を実行させ、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの１つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記方法は、
分類ステップであって、
前記複数のキー値の各々について、１又は複数の名前値を識別し、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、
構造化データソースの各々を２つのカテゴリのうちの１つに割り当て、前記２つのカテゴリは、前記構造化データソースの中の各々のキー値について１つの名前値のみが存在する、第１のカテゴリと、前記構造化データソースが、それぞれ１より多くの異なる名前値を有する１又は複数のキー値を有する、第２のカテゴリと、を有する、
分類ステップと、
第１の照合処理ステップであって、
前記第１のカテゴリの中に１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第１の類似基準を満たす名前値を見付け、
前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第１の結果リストに格納する、
第１の照合処理ステップと、
第２の照合処理ステップであって、
前記第２のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値であるラベル付きデータ値を識別し、
１より多い異なる名前値が識別された場合、該１より多い異なる名前値を互いの別名として第２の結果リストに格納する、
第２の照合処理ステップと、
結合ステップであって、前記第２の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる名前値の各々について、同一の名前値が前記第２の結果リストの中に現れる場合に、前記第１の結果リストからの名前値の別名と前記第２の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成する、結合ステップと、
を有する、コンピュータプログラム。
（付記１４）  コンピュータプログラムスーツであって、１又は複数のコンピューティング装置により実行されると、前記１又は複数のコンピューティング装置に、複数のデータソースに渡り同じエンティティを表すために用いられる異なる名前値を照合する照合処理システムとして機能させ、前記複数のデータソースはラベル付きデータ値により構成される構造化データソースを有し、各々のラベル付きデータ値は複数のエンティティのうちの１つの特性を表し、前記エンティティはキー値により識別され、前記特性は前記データ値のラベルにより識別可能であり、前記システムは、
前記複数のキー値の各々について、１又は複数の名前値を識別するよう構成されるデータソース分類器であって、名前値はラベル付きデータ値であり、前記ラベルは、前記特性が前記キー値により識別されたエンティティに名前を帰属させることを示し、前記データソース分類器は、構造化データソースの各々を２つのカテゴリのうちの１つに割り当てるよう構成され、前記２つのカテゴリは、
前記構造化データソースの中の各々のキー値について１つの名前値のみが存在する、第１のカテゴリと、
前記構造化データソースが、それぞれ１より多くの異なる名前値を有する１又は複数のキー値を有する、第２のカテゴリと、を有する、データソース分類器と、
第１の照合プロセッサであって、前記第１のカテゴリの中に１より多くの構造化データソースが存在する場合に、前記第１のカテゴリの中の前記構造化データソースのうちの１つをインデックス構造化データソースとして用い、前記インデックス構造化データソースの中の各々の名前値について、前記第１のカテゴリの残りの構造化データソースから、前記インデックス構造化データソースからの名前値と比較されるとき第１の類似基準を満たす名前値を見付け、前記の見付けた名前値及び前記インデックス構造化データソースからの名前値を互いの別名として第１の結果リストに格納するよう構成される、第１の照合プロセッサと、
第２の照合プロセッサであって、前記第２のカテゴリの中の各々の構造化データソースについて、前記構造化データソースの中の各々のキー値について、前記キー値により識別されたエンティティに名前を帰属させる名前値である、同じ構造化データソースの中のラベル付きデータ値を識別し、１より多い異なる名前値が識別された場合、該１より多い異なる名前値を互いの別名として第２の結果リストに格納するよう構成される、第２の照合プロセッサと、
結果リスト結合器であって、前記第２の結果リストを前記第１の結果リストに付加し、前記第１の結果リストの中に現れる名前値の各々について、同一の名前値が前記第２の結果リストの中に現れる場合に、前記第１の結果リストからの名前値の別名と前記第２の結果リストからの前記同一の名前値の別名を互いの別名として結合結果リストに格納することにより、前記結合結果リストを生成するよう構成される、結果リスト結合器と、
を有する、コンピュータプログラムスーツ。
【符号の説明】
【０１１３】
１０  照合処理システム
１１  第１の照合プロセッサ
１２  第２の照合プロセッサ
１３  第３の照合プロセッサ
１４  データソース分類器
１６  結果リスト結合器
２０  データソース
【図１】
2016192202.tif 000004
【図２】
2016192202.tif 000005
【図３】
2016192202.tif 000006
【図４】
2016192202.tif 000007
【図５】
2016192202.tif 000008
【図６】
2016192202.tif 000009
【図７】
2016192202.tif 000010
【図８】
2016192202.tif 000011
【図９】
2016192202.tif 000012
【図１０Ａ】
2016192202.tif 000013
【図１０Ｂ】
2016192202.tif 000014
【図１０Ｃ】
2016192202.tif 000015
【図１１Ａ】
2016192202.tif 000016
【図１１Ｂ】
2016192202.tif 000017
【図１１Ｃ】
2016192202.tif 000018
【図１２】
2016192202.tif 000019