(57)【特許請求の範囲】
【請求項１】
コンピュータに、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第１のデータベースに含まれるレコードから部分文字列を抽出し、
前記第１のデータベースについての前記複数の項目のうち、前記第１のデータベースから抽出された部分文字列に対応する項目を特定し、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第２のデータベースにおいて、前記第１のデータベースから抽出された部分文字列と一致する部分文字列に対応する項目の出現数を、前記第１のデータベースから抽出された部分文字列に対応する項目と対応付けて算出し、
算出した前記出現数に基づいて、前記第１のデータベースに含まれる項目と、前記第２のデータベースに含まれる項目との対応関係に関する情報を生成する
ことを含む処理を実行させる関係情報生成方法。
【請求項２】
前記第１のデータベースに含まれるレコードから部分文字列を抽出する際に、前記複数の項目の各々に対応付けられた文字列を連結した連結文字列から前記部分文字列を抽出する請求項１記載の関係情報生成方法。
【請求項３】
前記連結文字列から前記部分文字列を抽出する際に、抽出される部分文字列に対応する項目が、複数の項目に跨るように抽出する請求項２記載の関係情報生成方法。
【請求項４】
前記第１のデータベースに含まれる複数の項目の全体をＭ個の分割項目に分割した場合のｍ番目の分割項目と、前記第２のデータベースに含まれる複数の項目全体をＮ個の分割項目に分割した場合のｎ番目の分割項目とが対応関係にあることの信頼度を、ｎ番目の分割項目に含まれる前記第２のデータベースの項目であって、かつｍ番目の分割項目に含まれる前記第１のデータベースの項目に対応付けられた項目の前記出現数に基づいて算出し、算出した信頼度が最も高くなる前記ｍ番目の分割項目と前記ｎ番目の分割項目との組み合わせを、前記対応関係に関する情報として生成する請求項１〜請求項３のいずれか１項記載の関係情報生成方法。
【請求項５】
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第１のデータベースに含まれるレコードから部分文字列を抽出する抽出部と、
前記第１のデータベースについての前記複数の項目のうち、前記第１のデータベースから抽出された部分文字列に対応する項目を特定する特定部と、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第２のデータベースにおいて、前記第１のデータベースから抽出された部分文字列と一致する部分文字列に対応する項目の出現数を、前記第１のデータベースから抽出された部分文字列に対応する項目と対応付けて算出する算出部と、
算出した前記出現数に基づいて、前記第１のデータベースに含まれる項目と、前記第２のデータベースに含まれる項目との対応関係に関する情報を生成する生成部と、
を含む関係情報生成装置。
【請求項６】
コンピュータに、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第１のデータベースに含まれるレコードから部分文字列を抽出し、
前記第１のデータベースについての前記複数の項目のうち、前記第１のデータベースから抽出された部分文字列に対応する項目を特定し、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第２のデータベースにおいて、前記第１のデータベースから抽出された部分文字列と一致する部分文字列に対応する項目の出現数を、前記第１のデータベースから抽出された部分文字列に対応する項目と対応付けて算出し、
算出した前記出現数に基づいて、前記第１のデータベースに含まれる項目と、前記第２のデータベースに含まれる項目との対応関係に関する情報を生成する
ことを含む処理を実行させる関係情報生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、関係情報生成方法、関係情報生成装置、及び関係情報生成プログラムに関する。
【背景技術】
【０００２】
マスターデータ管理のための名寄せ処理や、複数の基幹系業務システムを統合して情報系システム（データウェアハウス）を構築する際などに、複数のデータベースを統合することが行われている。
【０００３】
データベースの統合に関する技術として、文字コード範囲に着目して、名寄せの対象とする項目対の比較候補を絞り込む方法が提案されている。この方法では、ユーザ等によって指定された文字コード群と類似する文字コード群を複数の文字コード群の中から検索する。この際、指定された文字コード群に含まれる各文字コードが、所定の数値範囲内である場合に、複数の文字コード群から、所定の数値範囲内に属さない文字コードを含む文字コード群を除いた文字コード群を抽出する。
【０００４】
また、一方のマスタのコードを他方のマスタのコードに変換する方法が提案されている。この方法では、統合マスタのレコードの項目とローカルマスタのレコードの項目とを照合することによって、両マスタから同一の事項に関する項目を判別する。そして、同一の事項に関すると判別された項目の内容同士を照合することによって、統合マスタ及びローカルマスタの中から同一の対象に関するレコードを判別する。また、同一の対象に関すると判別された統合マスタのレコードに示される所定の項目のコードとローカルマスタのレコードに示される所定の項目のコードとを対応付けて示すコード変換テーブルを記憶しておく。そして、入力されたデータをコード変換テーブルに基づいて変換する。
【０００５】
また、２つの２次元データの間で対応関係にあるカラムを抽出する方法が提案されている。この方法では、移行元データにおいて解析対象となるカラム対を選択し、移行先データにおいて解析の対象となるカラム対を選択する。また、移行元データのカラム対において行ごとに支持度及び確信度を計算し、移行先データの各カラム対について、行ごとに支持度及び確信度を計算する。そして、移行元データ内で行間の支持度及び確信度の差分計算を行い、移行先データ内で、カラム対ごとに、行間の支持度及び確信度の差分計算を行う。さらに、移行元データでの差分値と移行先データでの差分値との差分計算を行い、差分計算の結果に基づき、移行元のカラム対に対応する移行先のカラム対を判定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−２３４３４３号公報
【特許文献２】特開２００８−２５０８６１号公報
【特許文献３】特開２０１２−３８０６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の文字コードに着目した従来技術では、文字コード範囲、文字列長、特徴文字列の出現頻度、部分文字列の数などのデータ項目毎のプロファイルを作成し、このプロファイルに基づいて、データ項目の類似度を比較している。しかしながら、どのような項目がどのような形式で記録されているかが未知のデータベース同士の統合においては、項目間の類似度を比較するために、データ項目を適切にプロファイルすることは困難である。また、データベースにおいて、１つの事項に関するデータが複数の項目に分割されている場合、適切なプロファイルの作成は、より困難になり、また、類似度を比較するデータ項目の組み合わせ数も増大し、計算コストが高くなる。なお、１つの事項に関するデータが複数の項目に分割されている場合とは、例えば、「住所」という事項についてのデータが、「住所１」及び「住所２」という２つの項目に分割されて記録されているような場合である。
【０００８】
また、予め記憶したコード変換テーブルを用いて、一方のマスタのコードを他方のマスタのコードに変換する従来技術では、適切なコード変換テーブルが定義されている必要がある。しかしながら、この従来技術では、コード変換表を生成するための項目の対応付けの具体的開示がなく、例えば、人手により項目の対応付けを行う必要がある。また、１つの事項に関するデータが複数の項目に分割されている場合、多数あり得る分割のバリエーションの全てに対応したコード変換表を生成しておくことは困難である。
【０００９】
さらに、２つの２次元データの間で対応関係にあるカラムを抽出する従来技術では、データが複数カラムに分割されている場合が考慮されている。しかし、２つの２次元データ間で対応させる事項（氏名、住所、ＴＥＬなど）が予め判明していることが前提である。そのため、マスタとトランザクション等、種類の異なるデータベースを統合する場合や、データベースに記録されているデータの内容が混在（顧客名簿、企業リスト、製品データベース、論文等）していたり、未知であったりする場合には適用することができない。
【００１０】
すなわち、従来技術では、データベースの属性（種類、項目、データの内容等）によっては、データベース間で対応する項目対を適切に特定することができないか、又は、項目対の特定に要する計算量が多くなってしまう、という問題がある。
【００１１】
本発明は、一つの側面として、データベースの属性に関わらず、データベース間で対応する項目対を少ない計算量で特定することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、一つの側面として、複数の項目の各々に文字列が対応付けられた複数のレコードを含む第１のデータベースに含まれるレコードから部分文字列を抽出する。そして、前記第１のデータベースについての前記複数の項目のうち、前記第１のデータベースから抽出された部分文字列に対応する項目を特定する。また、複数の項目の各々に文字列が対応付けられた複数のレコードを含む第２のデータベースにおいて、前記第１のデータベースから抽出された部分文字列と一致する部分文字列に対応する項目の出現数を算出する。出現数は、前記第１のデータベースから抽出された部分文字列に対応する項目と対応付けて算出する。そして、算出した前記出現数に基づいて、前記第１のデータベースに含まれる項目と、前記第２のデータベースに含まれる項目との対応関係に関する情報を生成する。
【発明の効果】
【００１３】
一つの側面として、データベースの属性に関わらず、データベース間で対応する項目対を少ない計算量で特定することができる、という効果を有する。
【図面の簡単な説明】
【００１４】
【図１】関係情報生成装置の機能ブロック図である。
【図２】共通辞書データベースの一例を示す図である。
【図３】名寄せ元表の一例を示す図である。
【図４】部分文字列の抽出を説明するための図である。
【図５】部分文字列の抽出を説明するための図である。
【図６】抽出位置リストの一例を示す図である。
【図７】パターンリストの一例を示す図である。
【図８】パターンの照合を説明するための図である。
【図９】出現位置リストの一例を示す図である。
【図１０】項目群対リストの一例を示す図である。
【図１１】項目群対の一例を表すグラフである。
【図１２】集計表の一例を示す図である。
【図１３】項目の分割及び写像を説明するための図である。
【図１４】関係情報生成装置として機能するコンピュータの概略構成を示すブロック図である。
【図１５】関係情報生成処理の一例を示すフローチャートである。
【図１６】文字列抽出処理の一例を示すフローチャートである。
【図１７】パターン生成処理の一例を示すフローチャートである。
【図１８】パターン照合処理の一例を示すフローチャートである。
【図１９】対応関係抽出処理の一例を示すフローチャートである。
【図２０】名寄せ先表の項目群と名寄せ元表の項目群との項目群対の抽出を説明するための図である。
【図２１】項目群対の他の例を表すグラフである。
【図２２】ツリー構造のデータベースの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明に係る実施形態の一例を詳細に説明する。
【００１６】
図１に示すように、本実施形態に係る関係情報生成装置１０は、共通辞書データベース（ＤＢ）２０及び名寄せ元ＤＢ３０を入力とし、共通辞書ＤＢ２０の項目と名寄せ元ＤＢ３０の項目との対応関係を示す対応関係情報を生成して出力する。
【００１７】
共通辞書ＤＢ２０は、データバンクなどから提供される汎用的なデータベースである。共通辞書ＤＢ２０は、例えば図２に示すように、個人名辞書２１、住所辞書２２、企業名辞書２３等を含むことができる。各辞書において、各列がそれぞれ各項目に相当し、各行が１つのレコードに相当する。各レコードは、項目の各々に対応した値（文字列）を有する。
【００１８】
名寄せ元ＤＢ３０は、企業や組織等のユーザにより作成及び管理されているデータベースである。図１の例では、名寄せ元ＤＢ３０には、名寄せ元表Ａ３１、名寄せ元表Ｂ３２、及び名寄せ元表Ｃ３３が含まれる。図３に、名寄せ元表Ａ３１の一例を示す。名寄せ元表Ａ３１において、各列がそれぞれ各項目に相当し、各行が１つのレコードに相当する。各レコードは、項目の各々に対応した値（文字列）を有する。名寄せ元表Ｂ３２及び名寄せ元表Ｃ３３も、名寄せ元表Ａ３１と同様に、表形式のデータベースであるが、各名寄せ元表に含まれる項目、データ（レコード）の内容はそれぞれ異なる。
【００１９】
共通辞書ＤＢ２０及び名寄せ元ＤＢ３０は、関係情報生成装置１０の所定の記憶領域、関係情報生成装置１０と接続される外部装置、又はＣＤ−ＲＯＭやＵＳＢメモリ等の記憶媒体に記憶される。
【００２０】
本実施形態では、名寄せ元表Ａ３１、名寄せ元表Ｂ３２、及び名寄せ元表Ｃ３３を１つの名寄せ先表に統合する際に、名寄せ先表の項目として、共通辞書ＤＢ２０内の各辞書に含まれる項目を利用する。そこで、関係情報生成装置１０は、共通辞書ＤＢ２０内の各辞書に含まれる項目と、名寄せ元ＤＢ３０内の各名寄せ元表に含まれる項目との対応付けを特定する。以下では、各辞書の項目と、名寄せ元表Ａ３１の項目との対応付けについて説明するが、名寄せ元表Ｂ３２及び名寄せ元表Ｃ３３の各々の項目についても同様に、各辞書の項目と対応付ける。これにより、各辞書の項目を介して、複数の名寄せ元表を、１つの名寄せ先表に統合することができる。
【００２１】
関係情報生成装置１０は、機能的には、図１に示すように、文字列抽出部１１と、パターン生成部１２と、パターン照合部１３と、対応関係抽出部１４とを含む。なお、文字列抽出部１１は本発明の抽出部の一例であり、パターン生成部１２は本発明の特定部の一例であり、パターン照合部１３及び対応関係抽出部１４は、本発明の算出部及び生成部の一例である。
【００２２】
文字列抽出部１１は、共通辞書ＤＢ２０内の各辞書に記録されたレコードから、所定の文字数の部分文字列を複数抽出する。この際、文字列抽出部１１は、抽出する複数の部分文字列の中に、項目間をまたがって抽出される部分文字列が含まれるようにする。
【００２３】
具体的には、文字列抽出部１１は、図４に示すように、各辞書のいずれかのレコード（図４では、住所辞書２２の１レコードを図示）を取り出し、各項目に対応した文字列の各々を連結して、連結文字列４１を生成する。文字列抽出部１１は、連結文字列４１から、ランダムに選択したｎ−ｇｒａｍを部分文字列４２として抽出する。図４の例では、ｎ＝３とし、“２１１”、“８８神”、“川県川”、“中原区”、及び“田中４”という部分文字列４２が抽出されている。
【００２４】
連結文字列４１から部分文字列４２を抽出することで、項目間をまたがった部分文字列４２も抽出される。上記の例では、“８８神”という部分文字列４２は、項目「〒」と項目「都道府県」とをまたがって抽出されており、“川県川”という部分文字列４２は、項目「都道府県」と項目「市区」とをまたがって抽出されている。
【００２５】
このように、項目間をまたがった部分文字列４２を抽出する理由について説明する。
【００２６】
各データベースにおいて、ある事項に対応する項目の表記の仕方は共通ではなく、多様な書き方をされる場合がある。例えば、各データベースには、氏名、住所、電話番号などの共通事項に関するデータが含まれているとする。これらの共通事項に関して、一方のデータベースに含まれる項目は、「氏名」、「カナ」、「都道府県」、「市区」、「町丁目」、「番地」、及び「ＴＥＬ」であるとする。また、他方のデータベースに含まれる項目は、「姓」、「名」、「住所１」、「住所２」、及び「電話」であるとする。この場合、氏名という事項について、一方のデータベースでは、「氏名」の項目が相当するが、他方のデータベースでは、「姓」及び「名」という項目が相当する。また、住所という事項について、一方のデータベースでは、「都道府県」、「市区」、「町丁目」、及び「番地」の項目が相当するが、他方のデータベースでは、「住所１」及び「住所２」という項目が相当する。また、電話番号という事項について、一方のデータベースでは、「ＴＥＬ」の項目が相当するが、他方のデータベースでは、「電話」という項目が相当する。
【００２７】
上記の２つのデータベースを名寄せする場合には、氏名＝姓＋名、都道府県＋市区＋町丁目＋番地＝住所１＋住所２、ＴＥＬ＝電話のように、各事項に対応する項目群同士を対応付ける必要がある。そこで、項目１つ１つの場合だけでなく、項目群同士も対応付けの対象に含まれるようにするために、項目間をまたがった部分文字列４２を抽出するものである。
【００２８】
なお、部分文字列４２の長さは一定でなくてもよい。例えば、図５に示すように、文字列抽出部１１は、３−ｇｒａｍ、４−ｇｒａｍ、５−ｇｒａｍ、６−ｇｒａｍ等を混在させて、部分文字列４２を抽出してもよい。また、図５のＡの部分に示すように、文字列抽出部１１は、異なる部分文字列４２同士の一部が重複するように部分文字列４２を抽出してもよい。
【００２９】
また、部分文字列４２をランダムに抽出する場合には、乱数を用いることができるが、ある項目、及び連続する項目が他に比べて選ばれ易く又は選ばれ難くなるようにしてもよい。例えば、３項目以上にまたがる部分文字列４２を抽出する、といったルールを定義しておき、図５のＢの部分に示すように、文字列抽出部１１は、このルールに従った部分文字列４２を抽出してもよい。逆に、３項目以上にまたがる部分文字列４２は抽出しない、といったルールを定めておいてもよい。また、特定の項目については、項目間をまたがって部分文字列４２を抽出することを禁止するルールを定めてもよい。例えば、項目「〒」と項目「都道府県」とをまたがる部分文字列４２は抽出しない、というルールを定めておくことができる。この場合、上記の例における“８８神”は抽出されない。
【００３０】
なお、図４では、各レコード又はサンプリングしたレコードからランダムに部分文字列４２を抽出する例を示しているが、図５のＣに示すように、全レコードから全ての部分文字列４２を抽出するようにしてもよい。
【００３１】
文字列抽出部１１は、抽出した部分文字列４２と、その部分文字列４２の抽出位置との組を抽出位置情報として、例えば図６に示すような抽出位置リスト４３に記録する。部分文字列４２の抽出位置は、どの辞書のどのレコードのどの位置から抽出された部分文字列４２であるかを示す情報である。例えば、抽出位置は、辞書の識別情報、レコード番号、レコードの先頭から何文字目か、部分文字列４２の文字数などの情報により特定される。図６の例では、１行目の抽出位置情報に含まれる部分文字列“２１１”の抽出位置（２２，１，１，３）は、識別情報が２２の辞書（住所辞書２２）の１行目のレコードの１文字目から３文字分で示される位置を表している。なお、文字数に代えて、部分文字列４２の末尾の文字がレコードの先頭から何文字目かの情報を用いるなど、抽出位置を特定する情報は、上記の例に限定されない。
【００３２】
パターン生成部１２は、文字列抽出部１１により抽出された部分文字列４２の各々に対応する項目群を特定する。なお、部分文字列４２が項目をまたがって抽出されていない場合には、項目群に含まれる項目は１つである。具体的には、パターン生成部１２は、抽出位置リスト４３に含まれる抽出位置情報に基づいて、抽出された部分文字列４２の位置を特定し、その位置にある部分文字列４２を含む値に対応する項目群を特定する。
【００３３】
また、パターン生成部１２は、抽出位置リスト４３に含まれる各部分文字列４２と、特定したその部分文字列４２に対応する項目群とを組み合わせたパターンを生成する。例えば、パターン生成部１２は、部分文字列“８８神”から、項目「〒」及び「都道府県」を含む項目群を特定し、＜“８８神”→（〒，都道府県）＞のようなパターンを生成することができる。この例では、矢印（→）の左側が部分文字列４２、右側が対応する項目群を表している。パターン生成部１２は、生成したパターンを、例えば図７に示すようなパターンリスト４４に記録する。なお、図７の例では、項目群に含まれる項目が最大で２つの例であり、項目群に１つの項目しか含まれない場合には、２つ目の項目がないことを「−」で表している。
【００３４】
さらに、パターン生成部１２は、郵便番号やＴＥＬのように、書き方が一通りではない項目を考慮して、部分文字列４２の一部をワイルドカード（？）で置き換えたパターンや、部分文字列４２の一部を削除したパターンをパターンリスト４４に追加してもよい。例えば、パターン生成部１２は、＜“２１１−８５８８”→（〒，−）＞というパターンを生成した場合に、＜“２１１？８５８８”→（〒，−）＞や、＜“２１１８５８８”→（〒，−）＞というパターンを追加することができる。
【００３５】
パターン照合部１３は、パターン生成部１２により生成されたパターンと、名寄せ元表Ａ３１のレコードとを照合する。具体的には、パターン照合部１３は、パターン生成部１２により生成された各パターンに含まれる部分文字列４２と一致する文字列を、名寄せ元表３１Ａに含まれるレコードから検索する。図７に示すパターンリスト４４に含まれるパターンを用いて、名寄せ元表Ａ３１から検索された部分文字列４５の一例を、図８に示す。なお、図８では、名寄せ元表Ａ３１を表形式のまま図示しているが、パターン照合部１３は、各辞書からの部分文字列４２の抽出と同様に、名寄せ元表Ａ３１の各レコードを連結文字列に変換してから照合する。
【００３６】
また、パターン照合部１３は、照合に用いたパターンと、そのパターンに含まれる部分文字列４２に一致する部分文字列４５の出現位置との組を出現位置情報として、例えば図９に示すような出現位置リスト４６に記録する。部分文字列４５の出現位置は、どの名寄せ元表のどのレコードのどの位置に出現した部分文字列４５であるかを示す情報である。出現位置は、抽出位置リスト４３に記録される抽出位置と同様の情報により特定することができる。図９の例では、１行目の出現位置情報に含まれる出現位置（３１，２，１８，３）は、識別情報が３１の名寄せ元表（名寄せ元表Ａ３１）の２行目のレコードの１８文字目から３文字分で示される位置を表している。
【００３７】
パターン照合部１３は、出現位置リスト４６に含まれる各出現位置が示す部分文字列４５を含む値に対応する項目群を名寄せ元表Ａ３１から特定する。項目群の特定方法は、パターン生成部１２が、各辞書から抽出された部分文字列４２に対応する項目群を特定する方法と同様である。パターン照合部１３は、照合に用いたパターンに含まれる項目群と、そのパターンに基づいて名寄せ元表Ａ３１から検索された部分文字列４５に対して特定した項目群とを項目群対として、例えば図１０に示すような項目群対リスト４７に記録する。照合に用いたパターンに含まれる項目群とは、すなわち、各辞書から抽出された部分文字列４２に対してパターン生成部１２により特定された項目群であり、以下、「辞書項目群」ともいう。また、そのパターンに基づいて名寄せ元表Ａ３１から検索された部分文字列４５に対して特定した項目群を、以下、「名寄せ元表項目群」ともいう。
【００３８】
例えば、名寄せ元表Ａ３１において、パターン＜“２１１”→（〒，−）＞の部分文字列“２１１”と一致した部分文字列４５に対応する項目が「郵便」と特定されたとする。この場合、パターン照合部１３は、辞書項目群（〒，−）と、名寄せ元表項目群（郵便，−）とを項目群対として、項目群対リスト４７に記録する。
【００３９】
図１１に、項目群対リスト４７に記録された項目群対の情報をグラフで表した一例を示す。図１１に示すグラフでは、辞書項目群及び名寄せ元表項目群の各々について、項目群対リスト４７に記録されている項目群対を線で結んで表している。また、項目群間を結ぶ線に併記した回数は、その項目群対が項目群対リスト４７に出現する回数である。
【００４０】
対応関係抽出部１４は、辞書項目群と名寄せ元表項目群との項目群対の出現回数に基づいて、各辞書に含まれる各項目と、名寄せ元表Ａ３１に含まれる各項目との対応関係を抽出し、対応関係情報を生成して出力する。
【００４１】
具体的には、対応関係抽出部１４は、各辞書に含まれる各項目（以下、「辞書項目」ともいう）と、各名寄せ元表Ａ３１に含まれる各項目（以下、「名寄せ元表項目」ともいう）とが同一の項目群対に含まれて出現した回数を集計する。そして、対応関係抽出部１４は、例えば図１２に示すような集計表４８を作成する。集計の方法としては、対応関係抽出部１４は、例えば、項目群対の出現１回につき、その項目群対に含まれる辞書項目群の各辞書項目と名寄せ元表項目群の各名寄せ元表項目との全ての組み合わせについて、カウンタを１インクリメントする。より具体的には、辞書項目群（Ａ，Ｂ）と名寄せ元表項目群（Ｃ，Ｄ）との項目群対の出現回数１回につき、集計表４８において、ＡとＣとの組、ＡとＤとの組、ＢとＣとの組、ＢとＤとの組の各々に対応する行のカウンタを１インクリメントする。
【００４２】
また、対応関係抽出部１４は、共通辞書ＤＢ２０内の各辞書に含まれる項目全体を各項目の順番を保持したままＭ個に分割する。同様に、名寄せ元表Ａ３１に含まれる項目全体を各項目の順番を保持したままＮ個に分割する。なお、項目の順番を保持するのは、連続する項目同士が１つの事項に対応していることを考慮したものであるため、辞書の並び順については任意でよい。図１３に、辞書項目の全体を６個に分割し、名寄せ元表項目の全体を５個に分割した例（Ｍ＝６、Ｎ＝５）を示す。以下では、分割された１単位を「分割項目」といい、辞書項目の各分割項目を「分割項目ｍ（ｍ＝１，・・・，Ｍ）」、名寄せ元表項目の各分割項目を「分割項目ｎ（ｎ＝１，・・・，Ｎ）」という。また、１≦Ｍ≦辞書項目の総数、１≦Ｎ≦名寄せ元表項目の総数である。
【００４３】
対応関係抽出部１４は、あるＭ及びＮでの分割について、例えば図１３に示すように、分割項目ｍを分割項目ｎへ対応付ける写像ｆ：ｍ→ｎを与える。そして、対応関係抽出部１４は、Ｍ及びＮが異なる分割毎、かつ対応付けが異なる写像ｆ毎に、信頼度Ｓを算出する。信頼度Ｓは、分割及び写像ｆの確からしさを示す指標であり、例えば、下記（１）式で定義することができる。なお、ｆ（ｍ）は、写像ｆにより、分割項目ｍに対応付けられる分割項目ｎである。
【００４４】
Ｓ＝Ｈ（ｆ（ｍ））−Ｈ（ｆ（ｍ）｜ｍ）                    ・・・（１）
【００４５】
なお、Ｈ（ｆ（ｍ））は、ｆ（ｍ）に相当する分割項目ｎのエントロピーであり、下記（２）式により定義される。また、Ｈ（ｆ（ｍ）｜ｍ）は、分割項目ｍで条件付けられるｆ（ｍ）に相当する分割項目ｎのエントロピーであり、下記（３）式により定義される。
【００４６】
Ｈ（ｆ（ｍ））＝−Σｆ（ｍ）Ｐ（ｆ（ｍ））ｌｏｇＰ（ｆ（ｍ））    ・・・（２）
Ｈ（ｆ（ｍ）｜ｍ）＝−Σｆ（ｍ），ｍＰ（ｆ（ｍ），ｍ）ｌｏｇＰ（ｆ（ｍ）｜ｍ）
・・・（３）
【００４７】
なお、Ｐ（ｆ（ｍ））は、ｆ（ｍ）に相当する分割項目ｎの出現確率である。具体的には、Ｐ（ｆ（ｍ））は、集計表４８におけるカウンタの総合計に対する、ｆ（ｍ）に相当する分割項目ｎに含まれる各名寄せ元表項目を含む行のカウンタの合計の割合として得られる。また、Ｐ（ｆ（ｍ），ｍ）は、ｆ（ｍ）に相当する分割項目ｎと分割項目ｍとの同時出現確率である。具体的には、Ｐ（ｆ（ｍ），ｍ）は、集計表４８におけるカウンタの総合計に対する、分割項目ｍに含まれる各辞書項目とｆ（ｍ）に相当する分割項目ｎに含まれる各名寄せ元表項目との組に対応する行のカウンタの合計の割合として得られる。また、Ｐ（ｆ（ｍ）｜ｍ）は、ｆ（ｍ）に相当する分割項目ｎが分割項目ｍに対応付けられる条件付き確率である。具体的には、Ｐ（ｆ（ｍ）｜ｍ）は、分割項目ｍに含まれる各辞書項目を含む行のカウンタの合計に対する、分割項目ｍに含まれる各辞書項目とｆ（ｍ）に相当する分割項目ｎに含まれる各名寄せ元表項目との組に対応する行のカウンタの合計の割合として得られる。また、Σｆ（ｍ）は、写像ｆにより分割項目ｍから対応付けられている分割項目ｎの各々についての和、Σｆ（ｍ），ｍは、写像ｆにより対応付けられている分割項目ｍとｆ（ｍ）に相当する分割項目ｎとの組の各々についての和を表す。
【００４８】
対応関係抽出部１４は、従来既知の最適化アルゴリズム等を用いて、信頼度Ｓが最大となる分割及び写像ｆを特定し、この分割及び写像ｆにより得られる分割項目ｍと分割項目ｎとの対応付けを、対応関係情報として生成して出力する。
【００４９】
関係情報生成装置１０は、例えば図１４に示すコンピュータ５０で実現することができる。コンピュータ５０は、ＣＰＵ５１と、一時記憶領域としてのメモリ５２と、不揮発性の記憶部５３とを備える。また、コンピュータ５０は、入出力装置５４と、記録媒体５９に対するデータの読み込み及び書き込みを制御するｒｅａｄ／ｗｒｉｔｅ（Ｒ／Ｗ）部５５と、通信インターフェース（Ｉ／Ｆ）５６とを備える。ＣＰＵ５１、メモリ５２、記憶部５３、入出力装置５４、Ｒ／Ｗ部５５、及び通信Ｉ／Ｆ５６は、バス５７を介して互いに接続される。
【００５０】
記憶部５３は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（solid state drive）、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部５３には、コンピュータ５０を関係情報生成装置１０として機能させるための関係情報生成プログラム６０が記憶される。関係情報生成プログラム６０は、文字列抽出プロセス６１と、パターン生成プロセス６２と、パターン照合プロセス６３と、対応関係抽出プロセス６４とを有する。
【００５１】
ＣＰＵ５１は、関係情報生成プログラム６０を記憶部５３から読み出してメモリ５２に展開し、関係情報生成プログラム６０が有するプロセスを順次実行する。ＣＰＵ５１は、文字列抽出プロセス６１を実行することで、図１に示す文字列抽出部１１として動作する。また、ＣＰＵ５１は、パターン生成プロセス６２を実行することで、図１に示すパターン生成部１２として動作する。また、ＣＰＵ５１は、パターン照合プロセス６３を実行することで、図１に示すパターン照合部１３として動作する。また、ＣＰＵ５１は、対応関係抽出プロセス６４を実行することで、図１に示す対応関係抽出部１４として動作する。これにより、関係情報生成プログラム６０を実行したコンピュータ５０が、関係情報生成装置１０として機能することになる。
【００５２】
なお、関係情報生成プログラム６０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ（Application Specific Integrated Circuit）等で実現することも可能である。
【００５３】
次に、本実施形態に係る関係情報生成装置１０の作用について説明する。関係情報生成装置１０が、共通辞書ＤＢ２０及び名寄せ元ＤＢ３０を読み込み、図１５に示す関係情報生成処理を実行する。
【００５４】
まず、ステップＳ１０で、図１６に詳細を示す文字列抽出処理が実行される。
【００５５】
ステップＳ１１で、文字列抽出部１１が、共通辞書ＤＢ２０内の各辞書からのレコードの取り出しが終了したか否かを判定する。レコードの取り出しが終了していない場合には、処理はステップＳ１２へ移行し、文字列抽出部１１が、いずれかの辞書から、ランダムに、又は先頭から順にレコードを１つ取り出す。
【００５６】
次に、ステップＳ１３で、文字列抽出部１１が、取り出したレコードの各項目に対応した文字列の各々を連結して、連結文字列４１を生成する。
【００５７】
次に、ステップＳ１４で、文字列抽出部１１が、連結文字列４１から、ランダムに選択したｎ−ｇｒａｍを部分文字列４２として抽出する。
【００５８】
次に、ステップＳ１５で、文字列抽出部１１が、抽出した部分文字列４２と、その部分文字列４２の抽出位置との組を抽出位置情報として、例えば図６に示すような抽出位置リスト４３に記録し、処理はステップＳ１１に戻る。
【００５９】
ステップＳ１１で、文字列抽出部１１が、所定数のレコードの取り出しが終了していると判定した場合や、全ての最終行のレコードまで取り出しが終了していると判定した場合には、処理は図１５に示す関係情報生成処理に戻る。
【００６０】
次に、ステップＳ２０で、図１７に詳細を示すパターン生成処理が実行される。
【００６１】
ステップＳ２１で、パターン生成部１２が、抽出位置リスト４３に含まれる全ての抽出位置情報の取り出しが終了したか否かを判定する。抽出位置情報の取り出しが終了していない場合には、処理はステップＳ２２へ移行し、パターン生成部１２が、抽出位置リスト４３からまだ取り出されていない抽出位置情報を１つ取り出す。
【００６２】
次に、ステップＳ２３で、パターン生成部１２が、取り出した抽出位置情報に基づいて、該当の辞書から該当のレコードを取得する。そして、パターン生成部１２が、取り出した抽出位置情報に基づいて、取得したレコードから、文字列抽出部１１により抽出された部分文字列４２を特定し、その部分文字列４２を含む値に対応する項目群を特定する。
【００６３】
次に、ステップＳ２４で、パターン生成部１２は、上記ステップＳ２２で取り出した抽出位置情報に含まれる部分文字列４２と、上記ステップＳ２３で特定したその部分文字列４２に対応する項目群とを組み合わせたパターンを生成する。そして、パターン生成部１２は、生成したパターンを、例えば図７に示すようなパターンリスト４４に記録する。
【００６４】
次に、ステップＳ２５で、パターン生成部１２が、上記ステップＳ２５で生成したパターンの部分文字列４２の一部をワイルドカード（？）で置き換えたパターンや、部分文字列４２の一部を削除したパターンを生成し、パターンリスト４４に追加する。なお、部分文字列４２に、ワイルドカードへの置き換え可能な部分、又は削除可能な部分が含まれない場合には、本ステップの処理は省略する。そして、処理はステップＳ２１に戻る。
【００６５】
ステップＳ２１で、パターン生成部１２が、全ての抽出位置情報の取り出しが終了していると判定した場合には、処理は図１５に示す関係情報生成処理に戻る。
【００６６】
なお、上記では、部分文字列の抽出は部分文字列抽出処理で実行し、その部分文字列に対応する項目の特定はパターン生成処理で実行する場合について説明したが、部分文字列を抽出する際に、あわせてその部分文字列に対応する項目を特定するようにしてもよい。
【００６７】
次に、ステップＳ３０で、図１８に詳細を示すパターン照合処理が実行される。
【００６８】
ステップＳ３１で、パターン照合部１３が、パターンリスト４４に含まれる各パターンと、名寄せ元表Ａ３１の各レコードとを照合するパターン照合器を構築する。通常のパターン照合では、ｉ個のパターンと、ｊ個のレコードを照合する場合、ｉ×ｊ回の照合を行うが、ここでは、１つのレコードに対してｉ個のパターンを１度に照合可能なパターン照合器を構築する（参考文献：Navarro & Raffinot, "Flexible Pattern Matching in String", pp.41-74, Cambridge Press, 2002.）。このようなパターン照合器を用いることで、より計算量を軽減することができる。
【００６９】
次に、ステップＳ３２で、パターン照合部１３が、名寄せ元表Ａ３１に含まれる全てのレコードの取り出しが終了したか否かを判定する。レコードの取り出しが終了していない場合には、処理はステップＳ３３へ移行し、パターン照合部１３が、名寄せ元表Ａ３１からまだ取り出されていないレコードを１つ取り出す。
【００７０】
次に、ステップＳ３４で、パターン照合部１３が、取り出したレコードから連結文字列を生成して、上記ステップＳ３１で構築したパターン照合器に入力する。
【００７１】
次に、ステップＳ３５で、パターン照合部１３は、パターン照合器の出力として、照合に用いたパターンと、上記ステップＳ３３で取り出したレコードにおいて、そのパターンに含まれる部分文字列４２に一致する部分文字列４５の出現位置との組を取得する。パターン照合部１３は、パターンと出現位置との組を出現位置情報として、例えば図９に示すような出現位置リスト４６に記録し、処理はステップＳ３２に戻る。
【００７２】
ステップＳ３２で、パターン照合部１３が、名寄せ元表Ａ３１の全てのレコードの取り出しが終了していると判定した場合には、処理はステップＳ３６へ移行する。
【００７３】
ステップＳ３６では、パターン照合部１３が、出現位置リスト４６に含まれる全ての出現位置情報の取り出しが終了したか否かを判定する。出現位置情報の取り出しが終了していない場合には、処理はステップＳ３７へ移行し、パターン照合部１３が、出現位置リスト４６からまだ取り出されていない出現位置情報を１つ取り出す。
【００７４】
次に、ステップＳ３８で、パターン照合部１３が、取り出した出現位置情報に基づいて、名寄せ元表Ａ３１から該当のレコードを取得する。そして、パターン照合部１３は、取得したレコードから、出現位置情報が示す位置の部分文字列４５を特定し、その部分文字列４５を含む値に対応する項目群を特定する。
【００７５】
次に、ステップＳ３９で、パターン照合部１３が、辞書項目群と名寄せ元表項目群とを項目群対として、例えば図１０に示すような項目群対リスト４７に記録し、処理はステップＳ３６に戻る。
【００７６】
ステップＳ３６で、パターン照合部１３が、全ての出現位置情報の取り出しが終了していると判定した場合には、処理は図１５に示す関係情報生成処理に戻る。
【００７７】
次に、ステップＳ４０で、図１９に詳細を示す対応関係抽出処理が実行される。
【００７８】
ステップＳ４１で、対応関係抽出部１４が、項目群対リスト４７に含まれる全ての項目群対の取り出しが終了したか否かを判定する。項目群対の取り出しが終了していない場合には、処理はステップＳ４２へ移行し、対応関係抽出部１４が、項目群対リスト４７からまだ取り出されていない項目群対を１つ取り出す。
【００７９】
次に、ステップＳ４３で、対応関係抽出部１４が、取り出した項目群対に含まれる辞書項目群の各辞書項目と名寄せ元表項目群の各名寄せ元表項目との全ての組み合わせについて、集計表４８のカウンタを１インクリメントし、処理はステップＳ４１に戻る。
【００８０】
ステップＳ４１で、対応関係抽出部１４が、全ての項目群対の取り出しが終了していると判定した場合には、処理はステップＳ４４へ移行する。
【００８１】
ステップＳ４４では、対応関係抽出部１４が、共通辞書ＤＢ２０内の各辞書に含まれる項目全体を各項目の順番を保持したままＭ個に分割し、名寄せ元表Ａ３１に含まれる項目全体を各項目の順番を保持したままＮ個に分割する。そして、対応関係抽出部１４が、分割項目ｍを分割項目ｎへ対応付ける写像ｆ：ｍ→ｎを定義する。
【００８２】
次に、ステップＳ４５で、対応関係抽出部１４が、Ｍ及びＮでの分割における写像ｆについての信頼度Ｓを、例えば（１）式により算出する。
【００８３】
次に、ステップＳ４６で、対応関係抽出部１４が、信頼度Ｓの算出の終了条件を満たすか否かを判定する。終了条件は最適化アルゴリズムによる。例えば、全てのＭ及びＮでの分割における全ての写像ｆについて信頼度Ｓを算出した場合、ステップＳ４４及びＳ４５を所定回数繰り返した場合、今回と前回とで算出された信頼度Ｓの差が所定値以下となった場合などに、終了条件を満たすと判定することができる。信頼度Ｓの算出の終了条件を満たさない場合には、処理はステップＳ４４に戻り、対応関係抽出部１４が、写像ｆ、又はＭ及びＮと写像ｆとを変更して、信頼度Ｓの算出を繰り返す。信頼度Ｓの算出の終了条件を満たす場合には、処理はステップＳ４７へ移行する。
【００８４】
ステップＳ４７では、対応関係抽出部１４が、信頼度Ｓが最大となる分割及び写像ｆにより得られる分割項目ｍと分割項目ｎとの対応付けを、対応関係情報として生成して出力する。そして、処理は図１５に示す関係情報生成処理に戻り、関係情報生成処理は終了する。
【００８５】
以上説明したように、本実施形態に係る関係情報生成装置１０によれば、共通辞書ＤＢに含まれるレコードから部分文字列を抽出し、その部分文字列に対応する辞書項目群を特定する。また、名寄せ元表において、共通辞書から抽出した部分文字列と一致する部分文字列に対応する名寄せ元表項目群を特定する。そして、辞書項目群と名寄せ元表項目群対の出現回数に基づいて、辞書項目の全体をＭ個に分割した分割項目ｍと、名寄せ元表項目の全体をＮ個に分割した分割項目ｎとを対応付ける。これにより、データベースの種類、項目やデータの内容等のデータベースの属性に関わらず、データベース間で対応する項目対を特定することができる。また、項目毎のプロファイルを作成したり、項目間の対応付けを人手で行ったりする場合に比べ、データベース間で対応する項目対を、少ない計算量で特定することができる。
【００８６】
また、各データベースから部分文字列を抽出する際、項目間をまたがる部分文字列が含まれるようにする。これにより、１つの事項が複数の項目に分割されている場合も考慮して、データベース間で対応する項目対を特定することができる。
【００８７】
なお、上記実施形態では、共通辞書の項目を利用して、複数の名寄せ元表を１つの名寄せ先表に統合することを想定して、共通辞書の項目と名寄せ元表の項目との対応関係を抽出する場合について説明したが、これに限定されない。名寄せ先表の項目が既知の場合には、名寄せ先表の項目と、名寄せ元表の項目とを直接対応付けてもよい。この場合、上記実施形態における共通辞書ＤＢ２０を名寄せ先表と読み替えればよい。
【００８８】
例えば図２０に示すように、名寄せ先表２５から抽出した部分文字列４２と一致する部分文字列４５を名寄せ元表Ａ３１から検索し、名寄せ先表２５の項目群と名寄せ元表３１の項目群との項目群対を抽出する。このように抽出された項目群対の情報をグラフで表した一例を、図２１に示す。図２１では、項目群対の出現回数が多いほど、名寄せ先表項目群と名寄せ元表項目群とを結ぶ線を太い線で表している。図２１の情報を用いて、対応関係抽出部１４における信頼度Ｓを算出するとする。この場合、例えば、名寄せ先表項目「名称」→名寄せ元表項目「取引先名略」の対応付けを含む写像の方が、名寄せ先表項目「カナ」→名寄せ元表項目「取引先名略」の対応付けを含む写像より、出現回数が多いため、信頼度が高くなる。
【００８９】
また、名寄せ先表項目「郵便１」及び「郵便２」が１つの分割項目ｍとなる場合もある。この場合、名寄せ先表項目「郵便１」＋「郵便２」→名寄せ元表項目「郵便」の対応付けを含む写像の信頼度Ｓには、名寄せ先表項目「郵便１」及び「郵便２」の各々と名寄せ元表項目「郵便」との組のそれぞれの出現回数が反映される。そのため、例えば、名寄せ先表項目「郵便１」→名寄せ元表項目「郵便」という１対１の対応付けを含む写像に比べ、信頼度が高くなることが予想され、適切な対応付けが行える。また、名寄せ先表項目「住所」→名寄せ元表項目「住所１」＋「住所２」の対応付けも、名寄せ先表項目「住所」→名寄せ元表項目「住所１」の対応付けに比べ、写像の信頼度は高くなることが予想され、適切な対応付けが行える。
【００９０】
さらに、例えば、名寄せ先表項目「取引銀行」→名寄せ元表項目「取引先名略」という誤った対応付けを含む写像が与えられる場合もある。しかし、この場合、名寄せ先表項目「取引銀行」と名寄せ元表項目「取引先名略」との組の出現回数は極度に少ないと見込まれるため、この対応付けは除外される可能性が高い。
【００９１】
また、上記実施形態では、項目の対応付けを行うデータベースが表形式の場合について説明したが、これに限定されない。例えばＸＭＬ（Extensible Markup Language）のようなツリー構造を持つデータベースについても本発明を適用可能である。図２２に、ツリー構造のデータベースの一例を示す。図２２の例では、名寄せ元表に記録されている各事項を表すノード（取引先、所在地、電話番号）から繋がる葉ノードが、その事項に対応する項目を示しており、項目を示すノードは、その項目についての各レコードの値を保持する。この場合、各部分ツリーに含まれる葉ノードを項目群とみなすことができる。対応関係抽出部１４は、ノード間の切断により、各項目を分割項目に分割することができる。例えば、図２２に示すように、破線の箇所で切断した場合には、「名称」、「カナ」、「〒」、「住所」、及び「郵便」の５つの分割項目に分割される。また、一点破線の箇所で切断した場合には、「名称」、「カナ」、「〒」、「住所１」、「住所２」、及び「郵便」の６つの分割項目に分割される。
【００９２】
なお、上記実施形態では、関係情報生成プログラム６０が記憶部５３に予め記憶（インストール）されている態様を説明したが、これに限定されない。本発明に係る関係情報生成プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の記録媒体に記録された形態で提供することも可能である。
【００９３】
以上の実施形態に関し、更に以下の付記を開示する。
【００９４】
（付記１）
コンピュータに、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第１のデータベースに含まれるレコードから部分文字列を抽出し、
前記第１のデータベースについての前記複数の項目のうち、前記第１のデータベースから抽出された部分文字列に対応する項目を特定し、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第２のデータベースにおいて、前記第１のデータベースから抽出された部分文字列と一致する部分文字列に対応する項目の出現数を、前記第１のデータベースから抽出された部分文字列に対応する項目と対応付けて算出し、
算出した前記出現数に基づいて、前記第１のデータベースに含まれる項目と、前記第２のデータベースに含まれる項目との対応関係に関する情報を生成する
ことを含む処理を実行させる関係情報生成方法。
【００９５】
（付記２）
前記第１のデータベースに含まれるレコードから部分文字列を抽出する際に、前記複数の項目の各々に対応付けられた文字列を連結した連結文字列から前記部分文字列を抽出する付記１記載の関係情報生成方法。
【００９６】
（付記３）
前記連結文字列から前記部分文字列を抽出する際に、抽出される部分文字列に対応する項目が、複数の項目に跨るように抽出する付記２記載の関係情報生成方法。
【００９７】
（付記４）
前記第１のデータベースに含まれる複数の項目の全体をＭ個の分割項目に分割した場合のｍ番目の分割項目と、前記第２のデータベースに含まれる複数の項目全体をＮ個の分割項目に分割した場合のｎ番目の分割項目とが対応関係にあることの信頼度を、ｎ番目の分割項目に含まれる前記第２のデータベースの項目であって、かつｍ番目の分割項目に含まれる前記第１のデータベースの項目に対応付けられた項目の前記出現数に基づいて算出し、算出した信頼度が最も高くなる前記ｍ番目の分割項目と前記ｎ番目の分割項目との組み合わせを、前記対応関係に関する情報として生成する付記１〜付記３のいずれか１項記載の関係情報生成方法。
【００９８】
（付記５）
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第１のデータベースに含まれるレコードから部分文字列抽出する抽出部と、
前記第１のデータベースについての前記複数の項目のうち、前記第１のデータベースから抽出された部分文字列に対応する項目を特定する特定部と、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第２のデータベースにおいて、前記第１のデータベースから抽出された部分文字列と一致する部分文字列に対応する項目の出現数を、前記第１のデータベースから抽出された部分文字列に対応する項目と対応付けて算出する算出部と、
算出した前記出現数に基づいて、前記第１のデータベースに含まれる項目と、前記第２のデータベースに含まれる項目との対応関係に関する情報を生成する生成部と、
を含む関係情報生成装置。
【００９９】
（付記６）
前記抽出部は、前記第１のデータベースに含まれるレコードから部分文字列を抽出する際に、前記複数の項目の各々に対応付けられた文字列を連結した連結文字列から前記部分文字列を抽出する付記５記載の関係情報生成装置。
【０１００】
（付記７）
前記抽出部は、前記連結文字列から前記部分文字列を抽出する際に、抽出される部分文字列に対応する項目が、複数の項目に跨るように抽出する付記６記載の関係情報生成装置。
【０１０１】
（付記８）
前記生成部は、前記第１のデータベースに含まれる複数の項目の全体をＭ個の分割項目に分割した場合のｍ番目の分割項目と、前記第２のデータベースに含まれる複数の項目全体をＮ個の分割項目に分割した場合のｎ番目の分割項目とが対応関係にあることの信頼度を、ｎ番目の分割項目に含まれる前記第２のデータベースの項目であって、かつｍ番目の分割項目に含まれる前記第１のデータベースの項目に対応付けられた項目の前記出現数に基づいて算出し、算出した信頼度が最も高くなる前記ｍ番目の分割項目と前記ｎ番目の分割項目との組み合わせを、前記対応関係に関する情報として生成する付記５〜付記７のいずれか１項記載の関係情報生成装置。
【０１０２】
（付記９）
コンピュータに、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第１のデータベースに含まれるレコードから部分文字列抽出し、
前記第１のデータベースについての前記複数の項目のうち、前記第１のデータベースから抽出された部分文字列に対応する項目を特定し、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第２のデータベースにおいて、前記第１のデータベースから抽出された部分文字列と一致する部分文字列に対応する項目の出現数を、前記第１のデータベースから抽出された部分文字列に対応する項目と対応付けて算出し、
算出した前記出現数に基づいて、前記第１のデータベースに含まれる項目と、前記第２のデータベースに含まれる項目との対応関係に関する情報を生成する
ことを含む処理を実行させる関係情報生成プログラム。
【０１０３】
（付記１０）
前記第１のデータベースに含まれるレコードから部分文字列を抽出する際に、前記複数の項目の各々に対応付けられた文字列を連結した連結文字列から前記部分文字列を抽出する付記９記載の関係情報生成プログラム。
【０１０４】
（付記１１）
前記連結文字列から前記部分文字列を抽出する際に、抽出される部分文字列に対応する項目が、複数の項目に跨るように抽出する付記１０記載の関係情報生成プログラム。
【０１０５】
（付記１２）
前記第１のデータベースに含まれる複数の項目の全体をＭ個の分割項目に分割した場合のｍ番目の分割項目と、前記第２のデータベースに含まれる複数の項目全体をＮ個の分割項目に分割した場合のｎ番目の分割項目とが対応関係にあることの信頼度を、ｎ番目の分割項目に含まれる前記第２のデータベースの項目であって、かつｍ番目の分割項目に含まれる前記第１のデータベースの項目に対応付けられた項目の前記出現数に基づいて算出し、算出した信頼度が最も高くなる前記ｍ番目の分割項目と前記ｎ番目の分割項目との組み合わせを、前記対応関係に関する情報として生成する付記９〜付記１１のいずれか１項記載の関係情報生成プログラム。
【０１０６】
（付記１３）
コンピュータに、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第１のデータベースに含まれるレコードから部分文字列を抽出し、
前記第１のデータベースについての前記複数の項目のうち、前記第１のデータベースから抽出された部分文字列に対応する項目を特定し、
複数の項目の各々に文字列が対応付けられた複数のレコードを含む第２のデータベースにおいて、前記第１のデータベースから抽出された部分文字列と一致する部分文字列に対応する項目の出現数を、前記第１のデータベースから抽出された部分文字列に対応する項目と対応付けて算出し、
算出した前記出現数に基づいて、前記第１のデータベースに含まれる項目と、前記第２のデータベースに含まれる項目との対応関係に関する情報を生成する
ことを含む処理を実行させる関係情報生成プログラムを記憶した記憶媒体。
【符号の説明】
【０１０７】
１０   関係情報生成装置
１１   文字列抽出部
１２   パターン生成部
１３   パターン照合部
１４   対応関係抽出部
２０   共通辞書データベース
２５   名寄せ先表
３０   名寄せ元データベース
３１Ａ、３１Ｂ、３１Ｃ      名寄せ元表
４１   連結文字列
４２   部分文字列
４５   部分文字列
５０   コンピュータ
５１   ＣＰＵ
５２   メモリ
５３   記憶部
５９   記録媒体
６０   関係情報生成プログラム
【図１】
0006604207.tif 000002
【図２】
0006604207.tif 000003
【図３】
0006604207.tif 000004
【図４】
0006604207.tif 000005
【図５】
0006604207.tif 000006
【図６】
0006604207.tif 000007
【図７】
0006604207.tif 000008
【図８】
0006604207.tif 000009
【図９】
0006604207.tif 000010
【図１０】
0006604207.tif 000011
【図１１】
0006604207.tif 000012
【図１２】
0006604207.tif 000013
【図１３】
0006604207.tif 000014
【図１４】
0006604207.tif 000015
【図１５】
0006604207.tif 000016
【図１６】
0006604207.tif 000017
【図１７】
0006604207.tif 000018
【図１８】
0006604207.tif 000019
【図１９】
0006604207.tif 000020
【図２０】
0006604207.tif 000021
【図２１】
0006604207.tif 000022
【図２２】
0006604207.tif 000023