(57)【要約】【課題】名寄せのルールを確認するための適切なレコード対を抽出する。【解決手段】本装置は、比較文字列における不一致文字数が所定数のレコード対をデータベースから抽出する抽出部と、抽出したレコード対を、比較文字列における一致部分と不一致部分との区切り位置が一致すると共に一致部分が一致する複数の第１集合に分け、第１集合の各々について、不一致部分のバリエーションと一致部分の文字列とを含む第１パターンを生成し、第１パターンを一致部分と不一致部分との区切り位置が一致すると共に不一致部分のバリエーションが共通する複数の第２集合に分け、第２集合の各々について、不一致部分のバリエーションと一致部分のバリエーションとを含む第２パターンを生成し、データ格納部に格納するパターン化処理部と、データベースから第２パターンに該当するレコード対を数の偏りなく選択し、選択データ格納部に格納する選択部とを有する。【選択図】図３
2012164028.tif 000002
【特許請求の範囲】
【請求項１】
所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第１のレコードを複数格納している第１のデータベースから前記第１のレコードの組み合わせとして、又は第２のレコードを複数格納している第２のデータベースと第３のレコードを複数格納している第３のデータベースとから前記第２のレコードと前記第３のレコードとの組み合わせとして、抽出する抽出部と、
抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第１の集合に分け、当該複数の第１の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第１のパターンを生成し、当該複数の第１の集合の各々について生成された第１のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第２の集合に分け、当該複数の第２の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第２のパターンを生成し、データ格納部に格納するパターン化処理部と、
前記第１のデータベースから、又は前記第２のデータベース及び前記第３のデータベースから、前記データ格納部に格納された前記複数の第２の集合の各々について生成された第２のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納する選択部と、
を有するレコード対選択装置。
【請求項２】
前記選択部は、
前記複数の第２のパターンの各々について、当該第２のパターンに含まれる前記不一致となる部分のバリエーションが、当該第２のパターン以外の第２のパターンに含まれる前記不一致となる部分のバリエーションと重複する度合いの評価値を算出し、
算出した前記評価値の小さい順に、前記第２のパターンに該当するレコード対を選択する
請求項１記載のレコード対選択装置。
【請求項３】
前記評価値は、
前記第２のパターンに含まれる前記不一致となる部分のバリエーションである第１のバリエーションの数に対する、当該第１のバリエーションのうち他の前記第２のパターンに含まれる前記不一致となる部分のバリエーションと重複するバリエーションである第２のバリエーションの数の割合、当該割合を前記第２のパターンに該当するレコード対の数に基づき重み付けした値、又は前記第１のバリエーションの各々が他の前記第２のパターンに含まれる確率の平均値のいずれかである
請求項２記載のレコード対選択装置。
【請求項４】
前記抽出部は、不一致となる文字数として指定され得る数の各々について、前記レコード対の集合を抽出し、
前記パターン化処理部及び前記選択部は、抽出された前記レコード対の集合の各々に対して処理を行う
請求項１乃至３のいずれか１つ記載のレコード対選択装置。
【請求項５】
前記第１のデータベースから前記第１のレコードの組み合わせを抽出する場合に、前記所定の項目が複数の項目を含み、
前記抽出部は、
前記複数の項目の各々で、当該項目の文字列において不一致となる文字数が、前記複数の項目の各々について設定される所定数であるレコード対を抽出し、
前記パターン化処理部は、
前記複数の項目の各々で要件を満たすように前記第１のパターン及び前記第２のパターンを生成し、
前記第２のデータベース及び前記第３のデータベースから前記第２のレコードと前記第３のレコードとの組み合わせを抽出する場合に、前記所定の項目が、前記第２のデータベースにおける第１の項目と前記第３のデータベースにおける第２の項目の組み合わせである項目セットを複数含み、
前記抽出部は、
当該複数の項目セットの各々で、前記第１の項目及び前記第２の項目の文字列において不一致となる文字数が、前記複数の項目セットの各々について設定される所定数であるレコード対を抽出し、
前記パターン化処理部は、
前記複数の項目セットの各々で要件を満たすように前記第１のパターン及び前記第２のパターンを生成する
請求項１乃至４のいずれか１つ記載のレコード対選択装置。
【請求項６】
所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第１のレコードを複数格納している第１のデータベースから前記第１のレコードの組み合わせとして、又は第２のレコードを複数格納している第２のデータベースと第３のレコードを複数格納している第３のデータベースとから前記第２のレコードと前記第３のレコードとの組み合わせとして、抽出するステップと、
抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第１の集合に分け、当該複数の第１の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第１のパターンを生成し、当該複数の第１の集合の各々について生成された第１のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第２の集合に分け、当該複数の第２の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第２のパターンを生成し、データ格納部に格納するステップと、
前記第１のデータベースから、又は前記第２のデータベース及び前記第３のデータベースから、前記データ格納部に格納された前記複数の第２の集合の各々について生成された第２のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納するステップと、
をコンピュータに実行させるためのプログラム。
【請求項７】
所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第１のレコードを複数格納している第１のデータベースから前記第１のレコードの組み合わせとして、又は第２のレコードを複数格納している第２のデータベースと第３のレコードを複数格納している第３のデータベースとから前記第２のレコードと前記第３のレコードとの組み合わせとして、抽出するステップと、
抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第１の集合に分け、当該複数の第１の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第１のパターンを生成し、当該複数の第１の集合の各々について生成された第１のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第２の集合に分け、当該複数の第２の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第２のパターンを生成し、データ格納部に格納するステップと、
前記第１のデータベースから、又は前記第２のデータベース及び前記第３のデータベースから、前記データ格納部に格納された前記複数の第２の集合の各々について生成された第２のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納するステップと、
を含み、コンピュータにより実行されるレコード対選択方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、データを抽出するための技術に関する。
【背景技術】
【０００２】
データベースにおいて、同一人物、同一企業、同一組織といった同一の実体を表す複数のレコードを統合する、「名寄せ」という処理がある。例えば、照合すべきレコードであって他のレコードに統合されることがある側（以下、「名寄せ元」と呼ぶ）のレコードを格納しているデータベース（以下、名寄せ元データベースと呼ぶ）と、照合されるレコードであって名寄せ元データベースにおけるレコードの統合先（以下、「名寄せ先」と呼ぶ）となることがあるレコードを格納しているデータベース（以下、名寄せ先データベースと呼ぶ）とが存在するものとする。そして、対応付けされた項目における文字列が、名寄せ元データベースのレコードと名寄せ先データベースのレコードとを含むレコード対で一致する場合には、同一実体のレコードとして判断するものとする。
【０００３】
しかし、文字列の一部が異なっていても、文字列が類似するレコード対は同一の実体に関するものである場合がある。例えば、一方に略称が登録されている場合、長音の有無のような表記上の揺れがある場合、又は誤入力されている場合等には、同一の実体に関するレコード対であっても、文字列が完全には一致しない。このようなレコード対を名寄せするために、対応付けされた項目についての文字列の差異が所定の文字数以内であれば名寄せ候補と判断する技術が存在している。このような技術では、レコード対の類似性を判断するための条件として、例えば名寄せ元の項目と名寄せ先の項目との対応付け及び許容される相違文字数を含む名寄せルールを定義しておく。また、各項目が類似性の判断結果に影響する度合いを調整するため、対応付けされた項目毎に名寄せルールの中で重み付けをすることもある。具体的には、例えば以下のような名寄せルールを用いる。
ｉｆ（２×ｆ（１文字以内違い，組織名，組織名）＋１×ｆ（２文字以内違い，住所，アドレス）＋１×ｆ（完全一致，電話番号，ＴＥＬ）≧３）
ｔｈｅｎ  そのレコード対を名寄せ候補として抽出      （１）
ここで、ｆ（ｅ，ｓｖ，ｄｖ）は、名寄せ元の項目の文字列ｓｖ及び名寄せ先の項目の文字列ｄｖが条件ｅを満たす場合には１を、そうでない場合には０を返す関数である。また、各ｆ（ｅ，ｓｖ，ｄｖ）に乗じられている値は、対応付けされた項目に対する重みである。
【０００４】
次に、図１に示す名寄せ元レコードと名寄せ先レコード１及び名寄せ先レコード２とを用いて、（１）式に示した名寄せルールを説明する。図１の名寄せ元レコードは、「組織名」、「住所」及び「電話番号」という名称の項目を有する。名寄せ先レコードは、「組織名」、「アドレス」及び「ＴＥＬ」という名称の項目を有する。そして、名寄せ元レコードの組織名と名寄せ先レコード１の組織名とは１文字違いであり、名寄せ元レコードの住所と名寄せ先レコード１のアドレスとは１文字違いであり、名寄せ元レコードの電話番号と名寄せ先レコード１のＴＥＬとは完全一致する。従って、
２×ｆ（１文字以内違い，組織名，組織名）＝２
１×ｆ（２文字以内違い，住所，アドレス）＝１
１×ｆ（完全一致，電話番号，ＴＥＬ）＝１
であり、
（２＋１＋１）≧３
となるので、名寄せ元レコードと名寄せ先レコード１とのレコード対は名寄せ候補として抽出される。一方、名寄せ元レコードの組織名と名寄せ先レコード２の組織名とは１文字違いであり、名寄せ元レコードの住所と名寄せ先レコード２のアドレスとは３文字違いであり、名寄せ元レコードの電話番号と名寄せ先レコード２のＴＥＬとは１文字違いである。従って、
（２×１＋１×０＋１×０）＜３
となり、名寄せ候補として抽出はされない。
【０００５】
このような名寄せルールについては、一般的にユーザが定義する。ここで、対応付けされた項目及び許容される相違文字数の設定次第では、名寄せすべきレコード対の抽出漏れが起こったり、名寄せすべきでないレコードが抽出されたりする。よって、ユーザは名寄せルールの変更と変更後に抽出されるレコード対の妥当性の評価とを繰り返して、適切な名寄せルールを決める。すなわち、ユーザは（１）名寄せ元データベース及び名寄せ先データベースに、その名寄せルールにより抽出されるレコード対が存在するか、（２）名寄せルールにより抽出されるレコード対が名寄せ候補として適切であるか（逆に、名寄せルールにより抽出されないレコード対は名寄せ候補として不適切であるか）等について確認する。
【０００６】
しかしながら、名寄せ元データベース及び名寄せ先データベースにはそれぞれ数百万件のレコードが含まれる場合もあり、ユーザがあらゆるレコード対を確認するのは現実的でない。従って、ユーザが名寄せルールを評価し易いように、代表的なレコード対を確認用に選択して提示することが望ましい。しかし、名寄せのルールを確認するために適切なレコード対を抽出する技術は存在していない。
【０００７】
他に、テキスト照合処理においては、入力された適合情報及び不適合情報から、キーワード論理式や正規表現として表される照合パターンを自動的に生成する技術も存在している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平９−６７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従って、本技術の目的は、一側面として、名寄せのルールを確認するための適切なレコード対を抽出するための技術を提供することである。
【課題を解決するための手段】
【００１０】
本実施の形態に係るレコード対選択装置は、（Ａ）所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第１のレコードを複数格納している第１のデータベースから第１のレコードの組み合わせとして、又は第２のレコードを複数格納している第２のデータベースと第３のレコードを複数格納している第３のデータベースとから第２のレコードと第３のレコードとの組み合わせとして、抽出する抽出部と、（Ｂ１）抽出したレコード対の集合を、比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第１の集合に分け、（Ｂ２）当該複数の第１の集合の各々について、比較文字列において不一致となる部分のバリエーションと比較文字列において一致する部分の文字列とを含む第１のパターンを生成し、（Ｂ３）当該複数の第１の集合の各々について生成された第１のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第２の集合に分け、（Ｂ４）当該複数の第２の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第２のパターンを生成し、データ格納部に格納するパターン化処理部と、（Ｃ）第１のデータベースから、又は第２のデータベース及び第３のデータベースから、データ格納部に格納された複数の第２の集合の各々について生成された第２のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納する選択部とを有する。
【発明の効果】
【００１１】
名寄せのルールを確認するための適切なレコード対を抽出できるようになる。
【図面の簡単な説明】
【００１２】
【図１】図１は、名寄せ元レコード及び名寄せ先レコードの一例を示す図である。
【図２】図２（ａ）及び（ｂ）は、２文字違いのレコード対の一例を示す図である。
【図３】図３は、実施の形態に係るレコード対選択装置の機能ブロック図である。
【図４】図４は、名寄せルールに設定され得る条件の一例を示す図である。
【図５】図５は、処理フローを示す図である。
【図６】図６は、２文字違いのレコード対の一例を示す図である。
【図７】図７は、レコード対の記述の一例を示す図である。
【図８】図８は、第１パターンの一例を示す図である。
【図９】図９は、レコード対の記述の一例を示す図である。
【図１０】図１０は、第２パターンの一例を示す図である。
【図１１】図１１は、重要度の算出を説明するための図である。
【図１２】図１２は、重要度の算出を説明するための図である。
【図１３】図１３は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１３】
上でも述べたとおり、名寄せルール作成時に、ユーザは、作成又は修正した名寄せルールに該当するレコード対を確認しつつ、適切な名寄せルールを決定する。このとき、名寄せルールをユーザが評価し易いように、代表的なレコード対を提示することが望ましい。このような要望に応えるために、名寄せルールに該当するレコード対の集合からランダムにレコード対を選択するという手法を採用することも考えられる。
【００１４】
例えば、ユーザが作成した名寄せルールに基づき、名寄せ処理の対象となるデータベースから組織名という項目の文字列が２文字違いであるレコード対の集合を提示する場合を考える。この場合、データベースに登録されているレコードにおいて組織名の分布に偏りがない場合には、ランダムにレコード対を選択すれば、多様性のあるレコード対の集合が提示される。しかし、組織名の分布に偏りがある場合には、提示されるレコード対にも偏りが生じてしまう。
【００１５】
図２（ａ）及び（ｂ）に、上記の場合に提示される２文字違いのレコード対の集合の例を示す。図２（ａ）には市役所の２文字違いが多く提示されているが、図２（ｂ）には、市役所だけでなく企業や学校といった組織も含まれ、また、相違する２文字が組織名の中に連続して出現する例や隣り合わない２箇所に出現する例のように、一致する文字列と相違する文字列との区切り位置が異なるものも含まれる。
【００１６】
ここで、同じような組織の部署違いの組み合わせに関するレコード対が複数提示されても、名寄せをすべきか否かの妥当性は変わらないと考えられる。よって、実際にデータベースのレコードに含まれる組織名の分布を正確に反映しているのは図２（ａ）であったとしても、このようなレコード対のバリエーションを確認することにはあまり意味がない。一方、図２（ｂ）のように多様なレコード対が網羅されていれば、名寄せすべきでないレコード対の抽出や、名寄せすべきレコード対の抽出漏れを発見し易い。
【００１７】
従って、名寄せルールを決定する際には、例えば組織名２文字違いであっても、市役所についての様々な部署の組み合わせを提示されるより、組織の種類が様々であったり、一致する文字列と相違する文字列との区切り位置のバリエーションが豊富なレコード対を提示された方が、名寄せルールの妥当性を評価し易いといえる。すなわち、提示される代表的なレコード対は、表現のバリエーションをくまなく確認するという観点から選択された多様性のあるレコード対であることが望ましい。
【００１８】
本実施の形態では、このような問題にも対処できるようにレコード対を選択する。具体的には、上で述べたような多様性を有する確認用レコード対の集合を名寄せルールの作成に先立ち抽出しておく処理を行う。事前にこのような確認用レコード対の集合を準備しておき、名寄せルール作成時にこの中からレコード対を提示すれば、多様性のあるレコード対の集合を提示することができる。
【００１９】
図３に、本実施の形態に係るレコード対選択装置の機能ブロック図を示す。本実施の形態に係るレコード対選択装置１は、名寄せルールに設定され得る条件や、選択すべき確認用レコード対の数等を格納する設定格納部１０１と、条件生成部１０３と、条件格納部１０５と、名寄せ元のレコードを格納している名寄せ元データベース（ＤＢ）１０７と、名寄せ先となることがあるレコードを格納している名寄せ先データベース（ＤＢ）１０９と、パターン化処理部１１１と、データ格納部１１３と、レコード対選択部１１５と、レコード対格納部１１７とを有する。
【００２０】
条件生成部１０３は、設定格納部１０１に格納されているデータを用いて、設定され得る名寄せルールのパターンを求め、条件格納部１０５に格納する。パターン化処理部１１１は、条件格納部１０５に格納されたデータに基づいて、名寄せ元ＤＢ１０７及び名寄せ先ＤＢ１０９からレコード対を抽出し、レコード対の一致部分及び不一致部分のバリエーションに基づいてパターンを生成し、データ格納部１１３に格納する。レコード対選択部１１５は、データ格納部１１３に格納されたパターンに基づいて、名寄せ元ＤＢ１０７及び名寄せ先ＤＢ１０９からレコード対を抽出し、レコード対格納部１１７に格納する。
【００２１】
次に、図４乃至図１２を用いて、図３に示したレコード対選択装置１の処理について説明する。ここで、名寄せ元ＤＢ１０７及び名寄せ先ＤＢ１０９は、それぞれ図１に示したものと同様の項目を有するデータベースであり、予め複数のレコードが登録されているものとする。なお、名寄せ元と名寄せ先が同一のデータベースである場合もある。その場合は、１つのデータベースから名寄せルールに該当するレコード対を抽出する。
【００２２】
また、設定格納部１０１には、名寄せルールに設定され得る条件として、用いられ得る項目の対応付け及び指定され得る相違文字数が予め登録されているものとする。例えば、図４に示すようなデータが格納されている。図４のテーブルは、名寄せ元ＤＢ及び名寄せ先ＤＢの項目の対応付けの列と、相違文字数の列とを含む。そして、本実施の形態に係る名寄せルールは、項目の対応付けの採否及び項目の対応付けの各々に対して指定された相違文字数の組み合わせによって定義されるものとする。図４の例では、名寄せ元ＤＢの組織名と名寄せ先ＤＢの組織名との対応付けに対して、「完全一致」、「１文字以内違い」又は「２文字以内違い」が指定され得る。同様に、名寄せ元ＤＢの住所と名寄せ先ＤＢのアドレスとの対応付けに対して、「完全一致」、「１文字以内違い」又は「２文字以内違い」が、名寄せ元ＤＢの電話番号と名寄せ先ＤＢのＴＥＬとの対応付けに対して「完全一致」が指定され得る。なお、ここに挙げた項目の対応付けの一部が名寄せルールに用いられない場合もある。例えば、上で述べた名寄せルールの式（１）では、名寄せ元ＤＢの「組織名」と名寄せ先ＤＢの「組織名」とに対して相違文字数「２文字以内違い」、名寄せ元ＤＢの「住所」と名寄せ先ＤＢの「アドレス」とに対して相違文字数「１文字以内違い」、名寄せ元ＤＢの「電話番号」と名寄せ先ＤＢの「ＴＥＬ」とに対して相違文字数「完全一致」が、それぞれ設定されている。このように、予め定められた範囲内で、ユーザは名寄せルールを設定するものとする。
【００２３】
図５に、本実施の形態に係るレコード対選択装置１の処理フローを示す。まず、条件生成部１０３は、設定格納部１０１から、名寄せルールに設定され得る条件を取得する（ステップＳ１）。ここでは、図４に示した設定され得る条件が取得される。
【００２４】
そして、条件生成部１０３は、設定され得る条件から、レコード対を抽出するための条件を生成し、条件格納部１０５に格納する（ステップＳ３）。本ステップでは、設定され得る名寄せルールの各々に該当するレコード対を網羅的に抽出するための条件を生成する。
【００２５】
ここで、図４に示した例の場合、名寄せ元ＤＢの組織名と名寄せ先ＤＢの組織名とに対して、名寄せルールでは、「完全一致」、「１文字以内違い」又は「２文字以内違い」が指定され得る。すなわち、対応付けられた項目が「完全一致」、「１文字違い」又は「２文字違い」に該当するレコード対が、名寄せルールに該当し得る。また、当該項目の対応付け自体が名寄せルールに用いられない場合には、「完全一致」、「１文字違い」又は「２文字違い」のいずれにも該当しない「その他」のレコード対も名寄せルールに該当し得る。同様に、名寄せ元ＤＢの住所と名寄せ先ＤＢのアドレスとの場合は、「完全一致」、「１文字違い」、「２文字違い」及び「その他」の４通りに、また名寄せ元ＤＢの電話番号と名寄せ先ＤＢのＴＥＬとの場合は、「完全一致」及び「その他」の２通りに該当するレコード対が、名寄せルールに該当し得る。ただし、上記項目の対応付けが３つとも「その他」に該当するようなレコード対については、どのような名寄せルールにも該当し得ない。従って、これらの組み合わせに基づき、本ステップでは、例えば３１通り（４×４×２−１通り）の条件を生成する。
【００２６】
また、名寄せルールにおいては「１文字以内違い」又は「２文字以内違い」といった指定をするが、本ステップでは「１文字違い」又は「２文字違い」といった条件を生成する。これは、本実施の形態では、設定され得るあらゆる名寄せルールに対して該当するレコード対が抽出できるように、相違文字数の各々に該当するレコード対を抽出しておくためである。このように、本ステップでは、設定され得る名寄せルールの各々に相当するレコード対を抽出するための条件が生成される。
【００２７】
なお、本実施の形態では、説明の便宜上、これ以降は、図４に示した名寄せルールに用いられ得る項目の対応付けとして、名寄せ元ＤＢの組織名と名寄せ先ＤＢの組織名との対応付けのみが登録されているものとする。
【００２８】
次に、パターン化処理部１１１は、条件格納部１０５から未処理の条件を１つ読み出す（ステップＳ５）。ここでは、例えば、名寄せ元ＤＢの組織名と名寄せ先ＤＢの組織名とについて、２文字違いという条件が取得されたものとする。そして、パターン化処理部１１１は、名寄せ元ＤＢ１０７及び名寄せ先ＤＢ１０９から、条件に該当するレコード対の集合を抽出し、データ格納部１１３に格納する（ステップＳ７）。
【００２９】
図６に、本ステップで取得される２文字違いのレコード対の集合の例を示す。図６のテーブルは、ＩＤの列と、名寄せ元ＤＢの組織名及び名寄せ先ＤＢの組織名の列とを含む。そして、名寄せ元ＤＢの組織名及び名寄せ先ＤＢの組織名の列には、本ステップで抽出されたレコード対が登録されている。また、ＩＤの列には、便宜上付された通し番号が登録されている。なお、本実施の形態では、例えばＩＤが９のレコード対などのように、レコード対の一方の文字列において他方の文字列に含まれる文字が存在しない場合（すなわち、空（φ）である場合）は、空を１文字と数えて相違文字数を求めるものとする。
【００３０】
その後、パターン化処理部１１１は、データ格納部１１３に格納されたレコード対の各々について、対応付けられた項目における一致部分及び不一致部分を抽出し、一致部分の文字列と不一致部分の文字列の集合とをデータ格納部１１３に格納する（ステップＳ９）。処理に係る条件において項目の対応付けが複数ある場合には、本ステップでは対応付けの各々について一致部分及び不一致部分の抽出を繰り返す。
【００３１】
図６に示したレコード対の場合は、例えば図７に示すようなレコード対の記述が登録される。図７のテーブルは、ＩＤの列と、名寄せ元ＤＢの組織名及び名寄せ先ＤＢの組織名の列と、レコード対の記述の列とを含む。そして、ＩＤの列並びに名寄せ元ＤＢの組織名及び名寄せ先ＤＢの組織名の列に登録されているデータは、図６と同様である。また、本実施の形態では、レコード対の記述において、各項目の文字列のうち一致する部分を文字数に関係なく［○］で表し、不一致となる文字を［×］で表すものとする。そして、レコード対の記述の列には、［○］及び［×］で表された、一致部分と不一致部分との区切り位置のデータと、［○］と該当する文字列との組み合わせ及び［×］と該当する文字列との組み合わせとをその出現する順に表した記述とが登録される。
【００３２】
例えば、図７におけるＩＤが１のレコード対は、名寄せ元ＤＢの組織名が「川崎市役所住民課」であり、名寄せ先ＤＢの組織名が「川崎市役所総務課」である。よって、最初の５文字はいずれも「川崎市役所」で一致し、次の２文字は「住民」と「総務」とで不一致となり、最後の１文字はいずれも「課」で一致する。この例では、一致部分と不一致部分との区切り位置が［○］［××］［○］と記述され、［○］と該当する文字列との組み合わせ及び［×］と該当する文字列との組み合わせは、出現する順に［○］＝川崎市役所、［××］＝｛住民，総務｝、［○］＝課と記述される。本ステップでは、このようなレコード対の記述を、ステップＳ７で抽出されたレコード対の各々に対して登録する。なお、処理に係る項目の対応付けが複数ある場合には、項目の対応付けの各々に対して、このような記述を登録する。
【００３３】
次に、パターン化処理部１１１は、データ格納部１１３に格納されたレコード対を、レコード対の記述の列に登録された記述を基に、一致部分と不一致部分との区切り位置が一致し且つ一致部分の文字列が同一であるレコード対の集合に分ける。そして、パターン化処理部１１１は、集合毎に一致部分の文字列と不一致部分のバリエーションとを用いて当該集合を表現した第１パターンを生成し、データ格納部１１３に格納する（ステップＳ１１）。本ステップでは、例えば図７に示したレコード対を、［○］及び［×］で表された区切り位置が一致し且つ［○］で表された文字列が同一であるレコード対の集合に分ける。そして、一致部分及び不一致部分の区切り位置と、［○］と該当する文字列との組み合わせ及び［×］と該当する文字列又は空φのバリエーションとの組み合わせとを用いて集合を表した第１パターンを生成する。
【００３４】
本実施の形態では、第１パターンについても、一致する部分を文字数に関係なく［○］で表し、不一致となる文字を［×］で表すものとする。そして、第１パターンは、例えば図８に示すように、［○］及び［×］で表された、一致部分と不一致部分との区切り位置のデータと、［○］と該当する文字列との組み合わせ及び［×］と該当するバリエーションとの組み合わせとを出現する順に表すことにより記述される。ここで、図８に示したテーブルは、ＩＤの列と、第１パターンの列と、該当レコード対の列とを含む。第１パターンの列には、本ステップで生成された第１パターンが登録される。また、ＩＤの列には便宜上付された通し番号が登録され、該当レコード対の列には各レコードに登録された第１パターンに該当するレコード対のＩＤが登録される。
【００３５】
例えば、図７に示した、ＩＤが１、２、３及び１２のレコード対の集合から、図８に示す、ＩＤが１の第１パターンが生成される。図７において、ＩＤが１、２、３及び１２のレコード対は、区切り位置が［○］［××］［○］で一致し、一致部分の文字列が「川崎市役所」及び「課」で同一である。従って、第１パターンには、区切り位置を表す「［○］［××］［○］」と、［○］と該当する文字列との組み合わせ及び［×］と該当するバリエーションとの組み合わせを表す「［○］＝川崎市役所，［××］＝｛住民，総務，生活，管理｝，［○］＝課」とが登録されている。
【００３６】
なお、処理に係る項目の対応付けが複数ある場合には、対応付けの各々において区切り位置が一致し且つ対応付けの各々における一致部分の文字列が同一であるレコード対の集合から第１パターンを生成する。例えば、図９に示すような、名寄せ元ＤＢの組織名と名寄せ先ＤＢの組織名とが２文字違いであり、名寄せ元ＤＢの電話番号と名寄せ先ＤＢのＴＥＬとが１文字違いのレコード対が抽出された場合を例に説明する。ＩＤが７のレコード対とＩＤが２１のレコード対とは、名寄せ元ＤＢの組織名と名寄せ先ＤＢの組織名との区切り位置が［○］［××］［○］で一致し、名寄せ元ＤＢの電話番号と名寄せ先ＤＢのＴＥＬとの区切り位置も［○］［×］で一致するため、処理に係る項目の対応付けの各々において区切り位置が一致するといえる。また、［○］に該当する文字列は、上で挙げた順にそれぞれ「ＡＢＣ」、「部」、「０４４ＸＸＸ１２３」であり、一致部分の文字列が同一であるといえる。従って、名寄せ元ＤＢの組織名と名寄せ先ＤＢの組織名との区切り位置が［○］［××］［○］であり、［○］と該当する文字列との組み合わせ及び［×］と該当するバリエーションとの組み合わせが［○］＝ＡＢＣ、［××］＝｛人事，購買，管理｝、［○］＝部、さらに名寄せ元ＤＢの電話番号と名寄せ先ＤＢのＴＥＬとの区切り位置が［○］［×］であり、［○］と該当する文字列との組み合わせ及び［×］と該当するバリエーションとの組み合わせが［○］＝０４４ＸＸＸ１２３，［×］＝｛４，５，６｝である第１パターンが生成される。
【００３７】
しかし、ＩＤが７のレコード対とＩＤが２２のレコード対とでは、名寄せ元ＤＢの電話番号と名寄せ先ＤＢのＴＥＬとの区切り位置が［○］［×］と［○］［×］［○］とで一致しないため、ステップＳ１１において同一の集合に分けられず、これらのレコード対から第１パターンは生成されない。また、ＩＤが２２のレコード対とＩＤが２３のレコード対とでは、処理に係る項目の対応付けの各々において区切り位置は一致しているが、名寄せ元ＤＢの電話番号と名寄せ先ＤＢのＴＥＬとの一致部分の文字列が、ＩＤが２２のレコード対では「０４４ＸＸＸ」及び「２３４」、ＩＤが２３のレコード対では「０４４ＸＸＸ９」及び「３４」であり同一でない。従って、これらのレコード対もステップＳ１１において同一の集合には分けられず、これらのレコード対から第１パターンは生成されない。
【００３８】
処理の説明に戻り、パターン化処理部１１１は、データ格納部１１３に格納された第１パターンを、一致部分と不一致部分との区切り位置が一致し且つ不一致部分の文字列のバリエーションが一致するものの集合に分ける。そして、パターン化処理部１１１は、集合毎に不一致部分のバリエーションと一致部分のバリエーションとを用いて当該集合を表した第２パターンを生成し、データ格納部１１３に格納する（ステップＳ１３）。本ステップでは、例えば図８に示した第１パターンを、［○］及び［×］で表された区切り位置が一致し且つ［×］で表された不一致部分のバリエーションが完全に一致する第１パターンの集合に分ける。そして、集合毎に、一致部分と不一致部分との区切り位置、及び［○］と該当する文字列のバリエーションとの組み合わせと、［×］と該当する文字列又は空φのバリエーションとの組み合わせとを用いて当該集合を表した第２パターンを生成する。
【００３９】
第２パターンも、例えば図１０に示すように、［○］及び［×］で表された、一致部分と不一致部分との区切り位置のデータと、［○］と該当するバリエーションとの組合せ及び［×］と該当するバリエーションとの組み合わせとを出現する順に表すことにより記述される。なお、第２パターンについても、一致する部分を文字数に関係なく［○］で表し、不一致となる文字を［×］で表すものとする。ここで、図１０に示したテーブルは、ＩＤの列と、第２パターンの列と、該当第１パターンの列とを含む。第２パターンの列には、本ステップで生成される第２パターンが登録される。また、ＩＤの列には便宜上付された通し番号が登録され、該当第１パターンの列には各レコードに登録された第２パターンに該当する第１パターンのＩＤが登録される。
【００４０】
例えば、図８に示した、ＩＤが２、３及び４の第１パターンの集合から、図１０に示すように、ＩＤが２の第２パターンが生成される。図８において、ＩＤが２、３及び４の第１パターンは、区切り位置が［○］［××］［○］で一致し、不一致部分のバリエーションが「総務」、「管理」及び「住民」で完全に一致している。従って、第２パターンには、区切り位置を表す「［○］［××］［○］」と、［○］と該当する文字列のバリエーションとの組み合わせ及び［×］と該当するバリエーションとの組み合わせを表す「［○］＝｛横浜市役所，横須賀市，千葉県｝，［××］＝｛総務，管理，住民｝，［○］＝｛課，部｝」とが登録されている。
【００４１】
なお、処理に係る項目の対応付けが複数ある場合には、対応付けの各々において区切り位置が一致し且つ対応付けの各々において不一致部分のバリエーションが完全に一致する第１パターンの集合から第２パターンを生成する。これは、第１パターンの生成と同様である。
【００４２】
この後、レコード対選択部１１５は、データ格納部１１３に格納された第２パターンの各々に該当するレコード対を名寄せ元ＤＢ１０７及び名寄せ先ＤＢ１０９から選択する。本実施の形態では、多様なレコード対を選択するために、例えば各第２のパターンに該当するレコード対を均等に選択するものとする。しかし、選択すべき確認用レコード対の数が、ステップＳ１３で生成された第２パターンの数の倍数であるとは限らない。よって、本実施の形態では、不一致部分のバリエーションが重複する度合いに基づいて第２パターンを優先順位付けし、できるだけ不一致部分のバリエーションが重ならないようにして該当するレコード対を選択する。
【００４３】
処理の説明に戻り、レコード対選択部１１５は、データ格納部１１３に格納された第２パターンを用いて不一致部分のバリエーションの重複度を算出する（ステップＳ１５）。本ステップでは、例えば、第２パターンに含まれる不一致部分のバリエーションの数に対する、当該第２パターンに含まれる不一致部分のバリエーションのうち他の第２パターンに含まれるバリエーションの数の割合を重複度とする。
【００４４】
このような重要度の算出について、便宜的に表を用いて説明する。例えば、図１０に示した第２パターンの各々に含まれる不一致部分のバリエーションは、図１１のように抽出できる。図１１のテーブルは、ＩＤの列と不一致部分の列を含む。そして、ＩＤの列には、図１０に示した第２パターンのＩＤが登録されている。また、不一致部分の列には、図１０に示した第２パターンにおいて［×］で表されていた不一致部分のバリエーションが登録されている。
【００４５】
このようなデータから、他の第２パターンと重複する不一致部分のバリエーションを抽出すると、図１２のようになる。図１２のテーブルは、ＩＤの列と、重複度の列と、他の第２パターンとの不一致部分の重複要素の列とを含む。そして、ＩＤの列には、図１１と同様に第２パターンのＩＤが登録されている。また、他の第２パターンとの不一致部分の重複要素の列には、図１１の不一致部分の列に登録されたバリエーションのうち、他の第２パターンの不一致部分のバリエーションと重複するものが登録されている。例えば、図１１に示した、ＩＤが１の第２パターンの場合、不一致部分のバリエーションのうち「生活」は他の第２パターンに含まれていない。一方、「総務」及び「管理」は、それぞれＩＤが２、７及び８の第２パターンにも含まれており、「住民」は、ＩＤが２の第２パターンにも含まれている。よって、図１２の他の第２パターンとの不一致部分の重複要素の列には、「総務」、「住民」及び「管理」が登録されている。
【００４６】
そして、重複度は、図１１に示した不一致部分の数である４に対する、図１２に示した他の第２パターンとの不一致部分の重複要素の数である３の割合であり、０．７５（＝３／４）と算出される。同様に、図１１に示した第２パターンの各々についても、図１２の重複度の列に示す値が算出される。なお、図１２の例では空（φ）も１つの文字として他の第２パターンに存在するか判断しているが、空（φ）については重複の判断をしないようにしてもよい。
【００４７】
また、このようにして算出した値に対して、さらに該当するレコード対の件数に基づいた値により重み付けした値を重複度としてもよい。まず、図１０に示したテーブルでは第２パターンに対して該当第１パターンが、図８に示したテーブルでは第１パターンに対して該当レコード対が関連付けられているため、第２パターンの各々に該当するレコード対の件数が分かる。例えばレコード対の件数の逆数を乗じることで、名寄せ元ＤＢ１０７及び名寄せ先ＤＢ１０９において該当するレコード対が多い場合には重複度が下がるように調整する。後に重複度の小さい第２パターンから順に該当するレコード対を選択する際、このようにすれば、実際のレコード対の分布を反映して、該当するレコード対の件数が多い第２パターンの優先順位が上がるようになる。
【００４８】
他に、第２パターンに含まれる不一致部分のバリエーションの各々が他の第２パターンに含まれる確率の平均値を重複度としてもよい。図１１に示した、ＩＤが１の第２パターンの場合、「住民」が他の第２パターンに含まれる確率は１／７である。同様に、「総務」は３／７、「生活」は０／７、「管理」は３／７である。そして、例えばこれらの平均値である１／４（＝（（１＋３＋０＋３）／７）×（１／４））を重複度とする。このようにすれば、第２パターンに含まれる不一致部分のバリエーションの各々が他の第２パターンに含まれる確率が高いほど大きな値となる重複度が得られる。
【００４９】
なお、選択すべき確認用レコード対の数が第２パターンの数の倍数であるときは、第２パターンの各々に該当するレコード対を均等に選択できるので、本ステップを省略してもよい。
【００５０】
そして、レコード対選択部１１５は、データ格納部１１３に格納された第２パターンの各々に該当するレコード対を、名寄せ元ＤＢ１０７及び名寄せ先ＤＢ１０９から、算出した重複度に基づいた順序で選択し、レコード対格納部１１７に格納する（ステップＳ１７）。本ステップでは、レコード対選択部１１５は、設定格納部１０１から、設定され得る名寄せルールの各々から選択すべき確認用レコード対の数を読み出し、この数だけレコード対を選択する。また、本ステップでは、ステップＳ１５において算出された重複度に基づき、例えば、重複度の小さいものから順にラウンドロビン方式で第２パターンの各々を処理対象とし、各第２パターンに該当するレコード対を１つずつ選択する。このようにすれば、できるだけ不一致部分のバリエーションが重ならないように該当レコード対を選択することができる。なお、上でも述べたとおり、選択すべき確認用レコード対の数が第２パターンの数の倍数であれば、第２パターンの各々に該当するレコード対を均等に選択すればよい。ただし、そのような場合であっても、重複度に基づいて選択するようにしてもよい。
【００５１】
なお、第２パターンに該当するレコード対のうちいずれのレコード対を選択するかについては、例えばランダムに決定する。ただし、当該第２パターンに該当するレコード対において出現確率の高い文字列を含むレコード対を代表的なものとして選択してもよいし、逆に出現確率の低い文字列を含むレコード対を選択してもよい。
【００５２】
また、上で述べた重複度等に基づき、第２パターンの各々から選択するレコード対の数自体に差をつけるようにしてもよい。そして、該当するレコード対の数と予め定められた閾値とを比較し、例えば該当するレコード対が閾値よりも少ない第２パターンを選択の対象から外すようにしてもよい。
【００５３】
その後、パターン化処理部１１１は、条件格納部１０５に未処理の条件が存在しているか判断する（ステップＳ１９）。未処理の条件が存在する場合、処理はステップＳ５に戻る。ステップＳ５乃至ステップＳ１９の処理を繰り返すことにより、ステップＳ３で生成した条件の各々について処理を行い、設定され得る名寄せルールの各々に該当するレコード対を選択することができる。また、それぞれの条件に対して複数の第２パターンを生成し、第２パターンの各々に該当する多様なレコード対の集合を選択することができる。一方、未処理の条件が存在しない場合は処理を終了する。
【００５４】
上で述べた第２パターンは、不一致部分のバリエーションが一致する第１のパターンから生成される。従って、例えば図１０に示した、ＩＤが２の第２パターンのように、部署のバリエーションが同じ組織のような、一致部分の文字列は異なるが意味的には似た実体に係るレコード対から第２パターンを生成することができる。このような第２パターンの各々に該当するレコード対を偏りなく選択すれば、多様性のあるレコード対の集合を得ることができるようになる。
【００５５】
また、第２パターン生成の過程において、一致部分が同一のレコード対の集合から第１パターンを生成している。従って、例えば同一組織の部署違いのようなレコード対が同一の第２パターンに該当するようになる。このような第２パターンの各々に該当するレコード対を偏りなく選択することからも、多様性のあるレコード対の集合を得ることができるようになるといえる。
【００５６】
そして、選択するレコード対の件数を絞って確認用レコード対の集合を選択しておけば、名寄せルール作成時には、名寄せ元ＤＢ１０７及び名寄せ先ＤＢ１０９のレコード数にかかわらず、確認用レコード対の量に応じた一定の処理時間でレコード対を提示することができる。従って、名寄せルール作成時において操作のインタラクティブ性が失われないという効果も期待できる。
【００５７】
また、一般的に、例えば正規表現を用いて表したレコード対からあらゆるパターンを生成しようとすれば、膨大なパターンが生成され得る。本実施の形態では、一致部分と不一致部分とをバリエーションとしてまとめるため、上で述べたような多様性のあるパターンが生成できるだけでなくパターンの数を抑えることができ、現実的な計算時間で確認用レコード対の集合を選択できるようになる。
【００５８】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、並列実施するようにしてもよい。
【００５９】
また、本実施の形態では、レコード対、第１パターン及び第２パターンについて、［○］及び［×］で表された、一致部分と不一致部分との区切り位置のデータと、［○］と該当する文字列等との組合せ及び［×］と該当する文字列等との組み合わせとを出現する順に表すものとして説明した。このような記述の方法は便宜的なものであり、一致部分及び不一致部分の各々と該当する文字列等との対応付けがなされていれば、出現する順に表されていなくてもよい。
【００６０】
なお、ステップＳ５において、項目の対応付けの相違文字数に「その他」を含む条件を抽出した場合は、例えば「その他」以外に係る項目の対応付けに基づいてレコード対を抽出する。ただし、「その他」に係る項目の対応付けについても一致部分及び不一致部分を特定し、上で述べたようなパターンを生成するようにしてもよい。
【００６１】
なお、上で述べたレコード対選択装置は、コンピュータ装置であって、図１３に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００６２】
以上述べた本実施の形態をまとめると、以下のようになる。
【００６３】
本実施の形態に係るレコード対選択装置は、（Ａ）所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第１のレコードを複数格納している第１のデータベースから第１のレコードの組み合わせとして、又は第２のレコードを複数格納している第２のデータベースと第３のレコードを複数格納している第３のデータベースとから第２のレコードと第３のレコードとの組み合わせとして、抽出する抽出部と、（Ｂ１）抽出したレコード対の集合を、比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第１の集合に分け、（Ｂ２）当該複数の第１の集合の各々について、比較文字列において不一致となる部分のバリエーションと比較文字列において一致する部分の文字列とを含む第１のパターンを生成し、（Ｂ３）当該複数の第１の集合の各々について生成された第１のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第２の集合に分け、（Ｂ４）当該複数の第２の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第２のパターンを生成し、データ格納部に格納するパターン化処理部と、（Ｃ）第１のデータベースから、又は第２のデータベース及び第３のデータベースから、データ格納部に格納された複数の第２の集合の各々について生成された第２のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納する選択部とを有する。
【００６４】
第２のパターンを生成することで、例えば同一組織の部署違いのように、上記のような区切り位置が一致し且つ文字列の一部のみ異なるレコード対が、１つのパターンに属することになる。また、上記のような区切り位置が一致し且つ不一致となる部分（例えば、部署）のバリエーションが共通するレコード対（例えば、異なる組織名同士や異なる地名同士であって、文字列としては類似しなくともその意味上は類似するような部分を含むレコード対）が、１つのパターンに属することになる。このような第２のパターンに該当するレコード対を、数の偏りを抑えるように選択すれば、表現のバリエーションという観点において多様なレコード対を選択することができる。ここで、名寄せのルールを作成する際に多様なレコード対が提示されれば、ユーザは、名寄せすべきでないレコード対の抽出や名寄せすべきレコード対の抽出漏れを確認し易い。従って、名寄せのルールを確認するために適切なレコード対を抽出することができる。
【００６５】
また、上で述べた選択部は、（ｃ）複数の第２のパターンの各々について、当該第２のパターンに含まれる不一致となる部分のバリエーションが、当該第２のパターン以外の第２のパターンに含まれる不一致となる部分のバリエーションと重複する度合いの評価値を算出し、算出した評価値の小さい順に、第２のパターンに該当するレコード対を選択するようにしてもよい。第２のパターンの各々に該当するレコード対を均等に選択できない場合であっても、上記のような評価値で優先順位付けすれば、できるだけ多様なレコード対を選択できるようになる。
【００６６】
そして、上で述べた評価値は、（Ｄ１）第２のパターンに含まれる不一致となる部分のバリエーションである第１のバリエーションの数に対する、当該第１のバリエーションのうち他の第２のパターンに含まれる不一致となる部分のバリエーションと重複するバリエーションである第２のバリエーションの数の割合、（Ｄ２）当該割合を第２のパターンに該当するレコード対の数に基づき重み付けした値、又は（Ｄ３）第１のバリエーションの各々が他の第２のパターンに含まれる確率の平均値のいずれかを用いてもよい。上記Ｄ１のような評価値を用いれば、不一致となる部分のバリエーションについて単純に重複するものの割合が小さい順に第２のパターンを選択することになる。そして、上記Ｄ２によれば、例えば該当するレコード対の数の逆数をＤ１の値に乗じることで、該当するレコード対の多い第２のパターンを優先させるような調整を行う。すなわち、実際のデータベースにおいて該当するレコード対が多い場合には優先順位が上がるように調整される。また、上記Ｄ３の場合は、第１のバリエーションの各々が他の第２のパターンにも含まれる確率が高いほど、優先順位が下がる評価値になる。Ｄ１では、不一致となる部分（第１のバリエーション）が他の第２のパターンのいずれかに含まれていれば他の第２のパターンのいくつに含まれるかにかかわらず重複するもの（第２のバリエーション）として数えていた。一方、Ｄ３では、第１のバリエーションを含む他の第２のパターンの数まで考慮して優先順位付けを行うものである。
【００６７】
また、上で述べた抽出部は、不一致となる文字数として指定され得る数の各々について、レコード対の集合を抽出するようにしてもよい。そして、パターン化処理部及び選択部は、抽出されたレコード対の集合の各々に対して処理を行うようにしてもよい。名寄せルール作成時に指定され得る数の各々について上で述べたような処理を実施しておくことによって、名寄せルールの適否の確認時に、該当するレコード対が適切に提示できるようになる。
【００６８】
さらに、第１のデータベースから第１のレコードの組み合わせを抽出する場合に、所定の項目が複数の項目を含むようにしてもよい。このとき、抽出部は、複数の項目の各々で、当該項目の文字列において不一致となる文字数が、複数の項目の各々について設定される所定数であるレコード対を抽出し、パターン化処理部は、複数の項目の各々で要件を満たすように第１のパターン及び第２のパターンを生成するようにしてもよい。また、第２のデータベース及び第３のデータベースから第２のレコードと第３のレコードとの組み合わせを抽出する場合に、所定の項目が、第２のデータベースにおける第１の項目と第３のデータベースにおける第２の項目の組み合わせである項目セットを複数含むようにしてもよい。このとき、抽出部は、当該複数の項目セットの各々で、第１の項目及び第２の項目の文字列において不一致となる文字数が、複数の項目セットの各々について設定される所定数であるレコード対を抽出し、パターン化処理部は、複数の項目セットの各々で要件を満たすように第１のパターン及び第２のパターンを生成するようにしてもよい。このように、複数の項目又は複数の項目セットにおいて要件を満たすような第２のパターンを生成し、選択部が第２のパターンに該当するレコード対を選択しておけば、名寄せルールの適否の確認時に該当するレコード対が適切に提示できるようになる。
【００６９】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００７０】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７１】
（付記１）
所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第１のレコードを複数格納している第１のデータベースから前記第１のレコードの組み合わせとして、又は第２のレコードを複数格納している第２のデータベースと第３のレコードを複数格納している第３のデータベースとから前記第２のレコードと前記第３のレコードとの組み合わせとして、抽出する抽出部と、
抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第１の集合に分け、当該複数の第１の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第１のパターンを生成し、当該複数の第１の集合の各々について生成された第１のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第２の集合に分け、当該複数の第２の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第２のパターンを生成し、データ格納部に格納するパターン化処理部と、
前記第１のデータベースから、又は前記第２のデータベース及び前記第３のデータベースから、前記データ格納部に格納された前記複数の第２の集合の各々について生成された第２のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納する選択部と、
を有するレコード対選択装置。
【００７２】
（付記２）
前記選択部は、
前記複数の第２のパターンの各々について、当該第２のパターンに含まれる前記不一致となる部分のバリエーションが、当該第２のパターン以外の第２のパターンに含まれる前記不一致となる部分のバリエーションと重複する度合いの評価値を算出し、
算出した前記評価値の小さい順に、前記第２のパターンに該当するレコード対を選択する
付記１記載のレコード対選択装置。
【００７３】
（付記３）
前記評価値は、
前記第２のパターンに含まれる前記不一致となる部分のバリエーションである第１のバリエーションの数に対する、当該第１のバリエーションのうち他の前記第２のパターンに含まれる前記不一致となる部分のバリエーションと重複するバリエーションである第２のバリエーションの数の割合、当該割合を前記第２のパターンに該当するレコード対の数に基づき重み付けした値、又は前記第１のバリエーションの各々が他の前記第２のパターンに含まれる確率の平均値のいずれかである
付記２記載のレコード対選択装置。
【００７４】
（付記４）
前記抽出部は、不一致となる文字数として指定され得る数の各々について、前記レコード対の集合を抽出し、
前記パターン化処理部及び前記選択部は、抽出された前記レコード対の集合の各々に対して処理を行う
付記１乃至３のいずれか１つ記載のレコード対選択装置。
【００７５】
（付記５）
前記第１のデータベースから前記第１のレコードの組み合わせを抽出する場合に、前記所定の項目が複数の項目を含み、
前記抽出部は、
前記複数の項目の各々で、当該項目の文字列において不一致となる文字数が、前記複数の項目の各々について設定される所定数であるレコード対を抽出し、
前記パターン化処理部は、
前記複数の項目の各々で要件を満たすように前記第１のパターン及び前記第２のパターンを生成し、
前記第２のデータベース及び前記第３のデータベースから前記第２のレコードと前記第３のレコードとの組み合わせを抽出する場合に、前記所定の項目が、前記第２のデータベースにおける第１の項目と前記第３のデータベースにおける第２の項目の組み合わせである項目セットを複数含み、
前記抽出部は、
当該複数の項目セットの各々で、前記第１の項目及び前記第２の項目の文字列において不一致となる文字数が、前記複数の項目セットの各々について設定される所定数であるレコード対を抽出し、
前記パターン化処理部は、
前記複数の項目セットの各々で要件を満たすように前記第１のパターン及び前記第２のパターンを生成する
付記１乃至４のいずれか１つ記載のレコード対選択装置。
【００７６】
（付記６）
所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第１のレコードを複数格納している第１のデータベースから前記第１のレコードの組み合わせとして、又は第２のレコードを複数格納している第２のデータベースと第３のレコードを複数格納している第３のデータベースとから前記第２のレコードと前記第３のレコードとの組み合わせとして、抽出するステップと、
抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第１の集合に分け、当該複数の第１の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第１のパターンを生成し、当該複数の第１の集合の各々について生成された第１のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第２の集合に分け、当該複数の第２の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第２のパターンを生成し、データ格納部に格納するステップと、
前記第１のデータベースから、又は前記第２のデータベース及び前記第３のデータベースから、前記データ格納部に格納された前記複数の第２の集合の各々について生成された第２のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納するステップと、
をコンピュータに実行させるためのプログラム。
【００７７】
（付記７）
所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第１のレコードを複数格納している第１のデータベースから前記第１のレコードの組み合わせとして、又は第２のレコードを複数格納している第２のデータベースと第３のレコードを複数格納している第３のデータベースとから前記第２のレコードと前記第３のレコードとの組み合わせとして、抽出するステップと、
抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第１の集合に分け、当該複数の第１の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第１のパターンを生成し、当該複数の第１の集合の各々について生成された第１のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第２の集合に分け、当該複数の第２の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第２のパターンを生成し、データ格納部に格納するステップと、
前記第１のデータベースから、又は前記第２のデータベース及び前記第３のデータベースから、前記データ格納部に格納された前記複数の第２の集合の各々について生成された第２のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納するステップと、
を含み、コンピュータにより実行されるレコード対選択方法。
【符号の説明】
【００７８】
１０１  設定格納部    １０３  条件生成部
１０５  条件格納部    １０７  名寄せ元ＤＢ
１０９  名寄せ先ＤＢ    １１１  パターン化処理部
１１３  データ格納部    １１５  レコード対選択部
１１７  レコード対格納部
【図１】
2012164028.tif 000003
【図２】
2012164028.tif 000004
【図３】
2012164028.tif 000005
【図４】
2012164028.tif 000006
【図５】
2012164028.tif 000007
【図６】
2012164028.tif 000008
【図７】
2012164028.tif 000009
【図８】
2012164028.tif 000010
【図９】
2012164028.tif 000011
【図１０】
2012164028.tif 000012
【図１１】
2012164028.tif 000013
【図１２】
2012164028.tif 000014
【図１３】
2012164028.tif 000015