JP2012164028A - レコード対選択装置、プログラム及び方法 - Google Patents

レコード対選択装置、プログラム及び方法 Download PDF

Info

Publication number
JP2012164028A
JP2012164028A JP2011022071A JP2011022071A JP2012164028A JP 2012164028 A JP2012164028 A JP 2012164028A JP 2011022071 A JP2011022071 A JP 2011022071A JP 2011022071 A JP2011022071 A JP 2011022071A JP 2012164028 A JP2012164028 A JP 2012164028A
Authority
JP
Japan
Prior art keywords
record
pattern
character string
database
sets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011022071A
Other languages
English (en)
Inventor
Yuiko Ota
唯子 太田
Nobuhiro Yugami
伸弘 湯上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011022071A priority Critical patent/JP2012164028A/ja
Publication of JP2012164028A publication Critical patent/JP2012164028A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】名寄せのルールを確認するための適切なレコード対を抽出する。
【解決手段】本装置は、比較文字列における不一致文字数が所定数のレコード対をデータベースから抽出する抽出部と、抽出したレコード対を、比較文字列における一致部分と不一致部分との区切り位置が一致すると共に一致部分が一致する複数の第1集合に分け、第1集合の各々について、不一致部分のバリエーションと一致部分の文字列とを含む第1パターンを生成し、第1パターンを一致部分と不一致部分との区切り位置が一致すると共に不一致部分のバリエーションが共通する複数の第2集合に分け、第2集合の各々について、不一致部分のバリエーションと一致部分のバリエーションとを含む第2パターンを生成し、データ格納部に格納するパターン化処理部と、データベースから第2パターンに該当するレコード対を数の偏りなく選択し、選択データ格納部に格納する選択部とを有する。
【選択図】図3

Description

本技術は、データを抽出するための技術に関する。
データベースにおいて、同一人物、同一企業、同一組織といった同一の実体を表す複数のレコードを統合する、「名寄せ」という処理がある。例えば、照合すべきレコードであって他のレコードに統合されることがある側(以下、「名寄せ元」と呼ぶ)のレコードを格納しているデータベース(以下、名寄せ元データベースと呼ぶ)と、照合されるレコードであって名寄せ元データベースにおけるレコードの統合先(以下、「名寄せ先」と呼ぶ)となることがあるレコードを格納しているデータベース(以下、名寄せ先データベースと呼ぶ)とが存在するものとする。そして、対応付けされた項目における文字列が、名寄せ元データベースのレコードと名寄せ先データベースのレコードとを含むレコード対で一致する場合には、同一実体のレコードとして判断するものとする。
しかし、文字列の一部が異なっていても、文字列が類似するレコード対は同一の実体に関するものである場合がある。例えば、一方に略称が登録されている場合、長音の有無のような表記上の揺れがある場合、又は誤入力されている場合等には、同一の実体に関するレコード対であっても、文字列が完全には一致しない。このようなレコード対を名寄せするために、対応付けされた項目についての文字列の差異が所定の文字数以内であれば名寄せ候補と判断する技術が存在している。このような技術では、レコード対の類似性を判断するための条件として、例えば名寄せ元の項目と名寄せ先の項目との対応付け及び許容される相違文字数を含む名寄せルールを定義しておく。また、各項目が類似性の判断結果に影響する度合いを調整するため、対応付けされた項目毎に名寄せルールの中で重み付けをすることもある。具体的には、例えば以下のような名寄せルールを用いる。
if(2×f(1文字以内違い,組織名,組織名)+1×f(2文字以内違い,住所,アドレス)+1×f(完全一致,電話番号,TEL)≧3)
then そのレコード対を名寄せ候補として抽出 (1)
ここで、f(e,sv,dv)は、名寄せ元の項目の文字列sv及び名寄せ先の項目の文字列dvが条件eを満たす場合には1を、そうでない場合には0を返す関数である。また、各f(e,sv,dv)に乗じられている値は、対応付けされた項目に対する重みである。
次に、図1に示す名寄せ元レコードと名寄せ先レコード1及び名寄せ先レコード2とを用いて、(1)式に示した名寄せルールを説明する。図1の名寄せ元レコードは、「組織名」、「住所」及び「電話番号」という名称の項目を有する。名寄せ先レコードは、「組織名」、「アドレス」及び「TEL」という名称の項目を有する。そして、名寄せ元レコードの組織名と名寄せ先レコード1の組織名とは1文字違いであり、名寄せ元レコードの住所と名寄せ先レコード1のアドレスとは1文字違いであり、名寄せ元レコードの電話番号と名寄せ先レコード1のTELとは完全一致する。従って、
2×f(1文字以内違い,組織名,組織名)=2
1×f(2文字以内違い,住所,アドレス)=1
1×f(完全一致,電話番号,TEL)=1
であり、
(2+1+1)≧3
となるので、名寄せ元レコードと名寄せ先レコード1とのレコード対は名寄せ候補として抽出される。一方、名寄せ元レコードの組織名と名寄せ先レコード2の組織名とは1文字違いであり、名寄せ元レコードの住所と名寄せ先レコード2のアドレスとは3文字違いであり、名寄せ元レコードの電話番号と名寄せ先レコード2のTELとは1文字違いである。従って、
(2×1+1×0+1×0)<3
となり、名寄せ候補として抽出はされない。
このような名寄せルールについては、一般的にユーザが定義する。ここで、対応付けされた項目及び許容される相違文字数の設定次第では、名寄せすべきレコード対の抽出漏れが起こったり、名寄せすべきでないレコードが抽出されたりする。よって、ユーザは名寄せルールの変更と変更後に抽出されるレコード対の妥当性の評価とを繰り返して、適切な名寄せルールを決める。すなわち、ユーザは(1)名寄せ元データベース及び名寄せ先データベースに、その名寄せルールにより抽出されるレコード対が存在するか、(2)名寄せルールにより抽出されるレコード対が名寄せ候補として適切であるか(逆に、名寄せルールにより抽出されないレコード対は名寄せ候補として不適切であるか)等について確認する。
しかしながら、名寄せ元データベース及び名寄せ先データベースにはそれぞれ数百万件のレコードが含まれる場合もあり、ユーザがあらゆるレコード対を確認するのは現実的でない。従って、ユーザが名寄せルールを評価し易いように、代表的なレコード対を確認用に選択して提示することが望ましい。しかし、名寄せのルールを確認するために適切なレコード対を抽出する技術は存在していない。
他に、テキスト照合処理においては、入力された適合情報及び不適合情報から、キーワード論理式や正規表現として表される照合パターンを自動的に生成する技術も存在している。
特開平9−6796号公報
従って、本技術の目的は、一側面として、名寄せのルールを確認するための適切なレコード対を抽出するための技術を提供することである。
本実施の形態に係るレコード対選択装置は、(A)所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第1のレコードを複数格納している第1のデータベースから第1のレコードの組み合わせとして、又は第2のレコードを複数格納している第2のデータベースと第3のレコードを複数格納している第3のデータベースとから第2のレコードと第3のレコードとの組み合わせとして、抽出する抽出部と、(B1)抽出したレコード対の集合を、比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第1の集合に分け、(B2)当該複数の第1の集合の各々について、比較文字列において不一致となる部分のバリエーションと比較文字列において一致する部分の文字列とを含む第1のパターンを生成し、(B3)当該複数の第1の集合の各々について生成された第1のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第2の集合に分け、(B4)当該複数の第2の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第2のパターンを生成し、データ格納部に格納するパターン化処理部と、(C)第1のデータベースから、又は第2のデータベース及び第3のデータベースから、データ格納部に格納された複数の第2の集合の各々について生成された第2のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納する選択部とを有する。
名寄せのルールを確認するための適切なレコード対を抽出できるようになる。
図1は、名寄せ元レコード及び名寄せ先レコードの一例を示す図である。 図2(a)及び(b)は、2文字違いのレコード対の一例を示す図である。 図3は、実施の形態に係るレコード対選択装置の機能ブロック図である。 図4は、名寄せルールに設定され得る条件の一例を示す図である。 図5は、処理フローを示す図である。 図6は、2文字違いのレコード対の一例を示す図である。 図7は、レコード対の記述の一例を示す図である。 図8は、第1パターンの一例を示す図である。 図9は、レコード対の記述の一例を示す図である。 図10は、第2パターンの一例を示す図である。 図11は、重要度の算出を説明するための図である。 図12は、重要度の算出を説明するための図である。 図13は、コンピュータの機能ブロック図である。
上でも述べたとおり、名寄せルール作成時に、ユーザは、作成又は修正した名寄せルールに該当するレコード対を確認しつつ、適切な名寄せルールを決定する。このとき、名寄せルールをユーザが評価し易いように、代表的なレコード対を提示することが望ましい。このような要望に応えるために、名寄せルールに該当するレコード対の集合からランダムにレコード対を選択するという手法を採用することも考えられる。
例えば、ユーザが作成した名寄せルールに基づき、名寄せ処理の対象となるデータベースから組織名という項目の文字列が2文字違いであるレコード対の集合を提示する場合を考える。この場合、データベースに登録されているレコードにおいて組織名の分布に偏りがない場合には、ランダムにレコード対を選択すれば、多様性のあるレコード対の集合が提示される。しかし、組織名の分布に偏りがある場合には、提示されるレコード対にも偏りが生じてしまう。
図2(a)及び(b)に、上記の場合に提示される2文字違いのレコード対の集合の例を示す。図2(a)には市役所の2文字違いが多く提示されているが、図2(b)には、市役所だけでなく企業や学校といった組織も含まれ、また、相違する2文字が組織名の中に連続して出現する例や隣り合わない2箇所に出現する例のように、一致する文字列と相違する文字列との区切り位置が異なるものも含まれる。
ここで、同じような組織の部署違いの組み合わせに関するレコード対が複数提示されても、名寄せをすべきか否かの妥当性は変わらないと考えられる。よって、実際にデータベースのレコードに含まれる組織名の分布を正確に反映しているのは図2(a)であったとしても、このようなレコード対のバリエーションを確認することにはあまり意味がない。一方、図2(b)のように多様なレコード対が網羅されていれば、名寄せすべきでないレコード対の抽出や、名寄せすべきレコード対の抽出漏れを発見し易い。
従って、名寄せルールを決定する際には、例えば組織名2文字違いであっても、市役所についての様々な部署の組み合わせを提示されるより、組織の種類が様々であったり、一致する文字列と相違する文字列との区切り位置のバリエーションが豊富なレコード対を提示された方が、名寄せルールの妥当性を評価し易いといえる。すなわち、提示される代表的なレコード対は、表現のバリエーションをくまなく確認するという観点から選択された多様性のあるレコード対であることが望ましい。
本実施の形態では、このような問題にも対処できるようにレコード対を選択する。具体的には、上で述べたような多様性を有する確認用レコード対の集合を名寄せルールの作成に先立ち抽出しておく処理を行う。事前にこのような確認用レコード対の集合を準備しておき、名寄せルール作成時にこの中からレコード対を提示すれば、多様性のあるレコード対の集合を提示することができる。
図3に、本実施の形態に係るレコード対選択装置の機能ブロック図を示す。本実施の形態に係るレコード対選択装置1は、名寄せルールに設定され得る条件や、選択すべき確認用レコード対の数等を格納する設定格納部101と、条件生成部103と、条件格納部105と、名寄せ元のレコードを格納している名寄せ元データベース(DB)107と、名寄せ先となることがあるレコードを格納している名寄せ先データベース(DB)109と、パターン化処理部111と、データ格納部113と、レコード対選択部115と、レコード対格納部117とを有する。
条件生成部103は、設定格納部101に格納されているデータを用いて、設定され得る名寄せルールのパターンを求め、条件格納部105に格納する。パターン化処理部111は、条件格納部105に格納されたデータに基づいて、名寄せ元DB107及び名寄せ先DB109からレコード対を抽出し、レコード対の一致部分及び不一致部分のバリエーションに基づいてパターンを生成し、データ格納部113に格納する。レコード対選択部115は、データ格納部113に格納されたパターンに基づいて、名寄せ元DB107及び名寄せ先DB109からレコード対を抽出し、レコード対格納部117に格納する。
次に、図4乃至図12を用いて、図3に示したレコード対選択装置1の処理について説明する。ここで、名寄せ元DB107及び名寄せ先DB109は、それぞれ図1に示したものと同様の項目を有するデータベースであり、予め複数のレコードが登録されているものとする。なお、名寄せ元と名寄せ先が同一のデータベースである場合もある。その場合は、1つのデータベースから名寄せルールに該当するレコード対を抽出する。
また、設定格納部101には、名寄せルールに設定され得る条件として、用いられ得る項目の対応付け及び指定され得る相違文字数が予め登録されているものとする。例えば、図4に示すようなデータが格納されている。図4のテーブルは、名寄せ元DB及び名寄せ先DBの項目の対応付けの列と、相違文字数の列とを含む。そして、本実施の形態に係る名寄せルールは、項目の対応付けの採否及び項目の対応付けの各々に対して指定された相違文字数の組み合わせによって定義されるものとする。図4の例では、名寄せ元DBの組織名と名寄せ先DBの組織名との対応付けに対して、「完全一致」、「1文字以内違い」又は「2文字以内違い」が指定され得る。同様に、名寄せ元DBの住所と名寄せ先DBのアドレスとの対応付けに対して、「完全一致」、「1文字以内違い」又は「2文字以内違い」が、名寄せ元DBの電話番号と名寄せ先DBのTELとの対応付けに対して「完全一致」が指定され得る。なお、ここに挙げた項目の対応付けの一部が名寄せルールに用いられない場合もある。例えば、上で述べた名寄せルールの式(1)では、名寄せ元DBの「組織名」と名寄せ先DBの「組織名」とに対して相違文字数「2文字以内違い」、名寄せ元DBの「住所」と名寄せ先DBの「アドレス」とに対して相違文字数「1文字以内違い」、名寄せ元DBの「電話番号」と名寄せ先DBの「TEL」とに対して相違文字数「完全一致」が、それぞれ設定されている。このように、予め定められた範囲内で、ユーザは名寄せルールを設定するものとする。
図5に、本実施の形態に係るレコード対選択装置1の処理フローを示す。まず、条件生成部103は、設定格納部101から、名寄せルールに設定され得る条件を取得する(ステップS1)。ここでは、図4に示した設定され得る条件が取得される。
そして、条件生成部103は、設定され得る条件から、レコード対を抽出するための条件を生成し、条件格納部105に格納する(ステップS3)。本ステップでは、設定され得る名寄せルールの各々に該当するレコード対を網羅的に抽出するための条件を生成する。
ここで、図4に示した例の場合、名寄せ元DBの組織名と名寄せ先DBの組織名とに対して、名寄せルールでは、「完全一致」、「1文字以内違い」又は「2文字以内違い」が指定され得る。すなわち、対応付けられた項目が「完全一致」、「1文字違い」又は「2文字違い」に該当するレコード対が、名寄せルールに該当し得る。また、当該項目の対応付け自体が名寄せルールに用いられない場合には、「完全一致」、「1文字違い」又は「2文字違い」のいずれにも該当しない「その他」のレコード対も名寄せルールに該当し得る。同様に、名寄せ元DBの住所と名寄せ先DBのアドレスとの場合は、「完全一致」、「1文字違い」、「2文字違い」及び「その他」の4通りに、また名寄せ元DBの電話番号と名寄せ先DBのTELとの場合は、「完全一致」及び「その他」の2通りに該当するレコード対が、名寄せルールに該当し得る。ただし、上記項目の対応付けが3つとも「その他」に該当するようなレコード対については、どのような名寄せルールにも該当し得ない。従って、これらの組み合わせに基づき、本ステップでは、例えば31通り(4×4×2−1通り)の条件を生成する。
また、名寄せルールにおいては「1文字以内違い」又は「2文字以内違い」といった指定をするが、本ステップでは「1文字違い」又は「2文字違い」といった条件を生成する。これは、本実施の形態では、設定され得るあらゆる名寄せルールに対して該当するレコード対が抽出できるように、相違文字数の各々に該当するレコード対を抽出しておくためである。このように、本ステップでは、設定され得る名寄せルールの各々に相当するレコード対を抽出するための条件が生成される。
なお、本実施の形態では、説明の便宜上、これ以降は、図4に示した名寄せルールに用いられ得る項目の対応付けとして、名寄せ元DBの組織名と名寄せ先DBの組織名との対応付けのみが登録されているものとする。
次に、パターン化処理部111は、条件格納部105から未処理の条件を1つ読み出す(ステップS5)。ここでは、例えば、名寄せ元DBの組織名と名寄せ先DBの組織名とについて、2文字違いという条件が取得されたものとする。そして、パターン化処理部111は、名寄せ元DB107及び名寄せ先DB109から、条件に該当するレコード対の集合を抽出し、データ格納部113に格納する(ステップS7)。
図6に、本ステップで取得される2文字違いのレコード対の集合の例を示す。図6のテーブルは、IDの列と、名寄せ元DBの組織名及び名寄せ先DBの組織名の列とを含む。そして、名寄せ元DBの組織名及び名寄せ先DBの組織名の列には、本ステップで抽出されたレコード対が登録されている。また、IDの列には、便宜上付された通し番号が登録されている。なお、本実施の形態では、例えばIDが9のレコード対などのように、レコード対の一方の文字列において他方の文字列に含まれる文字が存在しない場合(すなわち、空(φ)である場合)は、空を1文字と数えて相違文字数を求めるものとする。
その後、パターン化処理部111は、データ格納部113に格納されたレコード対の各々について、対応付けられた項目における一致部分及び不一致部分を抽出し、一致部分の文字列と不一致部分の文字列の集合とをデータ格納部113に格納する(ステップS9)。処理に係る条件において項目の対応付けが複数ある場合には、本ステップでは対応付けの各々について一致部分及び不一致部分の抽出を繰り返す。
図6に示したレコード対の場合は、例えば図7に示すようなレコード対の記述が登録される。図7のテーブルは、IDの列と、名寄せ元DBの組織名及び名寄せ先DBの組織名の列と、レコード対の記述の列とを含む。そして、IDの列並びに名寄せ元DBの組織名及び名寄せ先DBの組織名の列に登録されているデータは、図6と同様である。また、本実施の形態では、レコード対の記述において、各項目の文字列のうち一致する部分を文字数に関係なく[○]で表し、不一致となる文字を[×]で表すものとする。そして、レコード対の記述の列には、[○]及び[×]で表された、一致部分と不一致部分との区切り位置のデータと、[○]と該当する文字列との組み合わせ及び[×]と該当する文字列との組み合わせとをその出現する順に表した記述とが登録される。
例えば、図7におけるIDが1のレコード対は、名寄せ元DBの組織名が「川崎市役所住民課」であり、名寄せ先DBの組織名が「川崎市役所総務課」である。よって、最初の5文字はいずれも「川崎市役所」で一致し、次の2文字は「住民」と「総務」とで不一致となり、最後の1文字はいずれも「課」で一致する。この例では、一致部分と不一致部分との区切り位置が[○][××][○]と記述され、[○]と該当する文字列との組み合わせ及び[×]と該当する文字列との組み合わせは、出現する順に[○]=川崎市役所、[××]={住民,総務}、[○]=課と記述される。本ステップでは、このようなレコード対の記述を、ステップS7で抽出されたレコード対の各々に対して登録する。なお、処理に係る項目の対応付けが複数ある場合には、項目の対応付けの各々に対して、このような記述を登録する。
次に、パターン化処理部111は、データ格納部113に格納されたレコード対を、レコード対の記述の列に登録された記述を基に、一致部分と不一致部分との区切り位置が一致し且つ一致部分の文字列が同一であるレコード対の集合に分ける。そして、パターン化処理部111は、集合毎に一致部分の文字列と不一致部分のバリエーションとを用いて当該集合を表現した第1パターンを生成し、データ格納部113に格納する(ステップS11)。本ステップでは、例えば図7に示したレコード対を、[○]及び[×]で表された区切り位置が一致し且つ[○]で表された文字列が同一であるレコード対の集合に分ける。そして、一致部分及び不一致部分の区切り位置と、[○]と該当する文字列との組み合わせ及び[×]と該当する文字列又は空φのバリエーションとの組み合わせとを用いて集合を表した第1パターンを生成する。
本実施の形態では、第1パターンについても、一致する部分を文字数に関係なく[○]で表し、不一致となる文字を[×]で表すものとする。そして、第1パターンは、例えば図8に示すように、[○]及び[×]で表された、一致部分と不一致部分との区切り位置のデータと、[○]と該当する文字列との組み合わせ及び[×]と該当するバリエーションとの組み合わせとを出現する順に表すことにより記述される。ここで、図8に示したテーブルは、IDの列と、第1パターンの列と、該当レコード対の列とを含む。第1パターンの列には、本ステップで生成された第1パターンが登録される。また、IDの列には便宜上付された通し番号が登録され、該当レコード対の列には各レコードに登録された第1パターンに該当するレコード対のIDが登録される。
例えば、図7に示した、IDが1、2、3及び12のレコード対の集合から、図8に示す、IDが1の第1パターンが生成される。図7において、IDが1、2、3及び12のレコード対は、区切り位置が[○][××][○]で一致し、一致部分の文字列が「川崎市役所」及び「課」で同一である。従って、第1パターンには、区切り位置を表す「[○][××][○]」と、[○]と該当する文字列との組み合わせ及び[×]と該当するバリエーションとの組み合わせを表す「[○]=川崎市役所,[××]={住民,総務,生活,管理},[○]=課」とが登録されている。
なお、処理に係る項目の対応付けが複数ある場合には、対応付けの各々において区切り位置が一致し且つ対応付けの各々における一致部分の文字列が同一であるレコード対の集合から第1パターンを生成する。例えば、図9に示すような、名寄せ元DBの組織名と名寄せ先DBの組織名とが2文字違いであり、名寄せ元DBの電話番号と名寄せ先DBのTELとが1文字違いのレコード対が抽出された場合を例に説明する。IDが7のレコード対とIDが21のレコード対とは、名寄せ元DBの組織名と名寄せ先DBの組織名との区切り位置が[○][××][○]で一致し、名寄せ元DBの電話番号と名寄せ先DBのTELとの区切り位置も[○][×]で一致するため、処理に係る項目の対応付けの各々において区切り位置が一致するといえる。また、[○]に該当する文字列は、上で挙げた順にそれぞれ「ABC」、「部」、「044XXX123」であり、一致部分の文字列が同一であるといえる。従って、名寄せ元DBの組織名と名寄せ先DBの組織名との区切り位置が[○][××][○]であり、[○]と該当する文字列との組み合わせ及び[×]と該当するバリエーションとの組み合わせが[○]=ABC、[××]={人事,購買,管理}、[○]=部、さらに名寄せ元DBの電話番号と名寄せ先DBのTELとの区切り位置が[○][×]であり、[○]と該当する文字列との組み合わせ及び[×]と該当するバリエーションとの組み合わせが[○]=044XXX123,[×]={4,5,6}である第1パターンが生成される。
しかし、IDが7のレコード対とIDが22のレコード対とでは、名寄せ元DBの電話番号と名寄せ先DBのTELとの区切り位置が[○][×]と[○][×][○]とで一致しないため、ステップS11において同一の集合に分けられず、これらのレコード対から第1パターンは生成されない。また、IDが22のレコード対とIDが23のレコード対とでは、処理に係る項目の対応付けの各々において区切り位置は一致しているが、名寄せ元DBの電話番号と名寄せ先DBのTELとの一致部分の文字列が、IDが22のレコード対では「044XXX」及び「234」、IDが23のレコード対では「044XXX9」及び「34」であり同一でない。従って、これらのレコード対もステップS11において同一の集合には分けられず、これらのレコード対から第1パターンは生成されない。
処理の説明に戻り、パターン化処理部111は、データ格納部113に格納された第1パターンを、一致部分と不一致部分との区切り位置が一致し且つ不一致部分の文字列のバリエーションが一致するものの集合に分ける。そして、パターン化処理部111は、集合毎に不一致部分のバリエーションと一致部分のバリエーションとを用いて当該集合を表した第2パターンを生成し、データ格納部113に格納する(ステップS13)。本ステップでは、例えば図8に示した第1パターンを、[○]及び[×]で表された区切り位置が一致し且つ[×]で表された不一致部分のバリエーションが完全に一致する第1パターンの集合に分ける。そして、集合毎に、一致部分と不一致部分との区切り位置、及び[○]と該当する文字列のバリエーションとの組み合わせと、[×]と該当する文字列又は空φのバリエーションとの組み合わせとを用いて当該集合を表した第2パターンを生成する。
第2パターンも、例えば図10に示すように、[○]及び[×]で表された、一致部分と不一致部分との区切り位置のデータと、[○]と該当するバリエーションとの組合せ及び[×]と該当するバリエーションとの組み合わせとを出現する順に表すことにより記述される。なお、第2パターンについても、一致する部分を文字数に関係なく[○]で表し、不一致となる文字を[×]で表すものとする。ここで、図10に示したテーブルは、IDの列と、第2パターンの列と、該当第1パターンの列とを含む。第2パターンの列には、本ステップで生成される第2パターンが登録される。また、IDの列には便宜上付された通し番号が登録され、該当第1パターンの列には各レコードに登録された第2パターンに該当する第1パターンのIDが登録される。
例えば、図8に示した、IDが2、3及び4の第1パターンの集合から、図10に示すように、IDが2の第2パターンが生成される。図8において、IDが2、3及び4の第1パターンは、区切り位置が[○][××][○]で一致し、不一致部分のバリエーションが「総務」、「管理」及び「住民」で完全に一致している。従って、第2パターンには、区切り位置を表す「[○][××][○]」と、[○]と該当する文字列のバリエーションとの組み合わせ及び[×]と該当するバリエーションとの組み合わせを表す「[○]={横浜市役所,横須賀市,千葉県},[××]={総務,管理,住民},[○]={課,部}」とが登録されている。
なお、処理に係る項目の対応付けが複数ある場合には、対応付けの各々において区切り位置が一致し且つ対応付けの各々において不一致部分のバリエーションが完全に一致する第1パターンの集合から第2パターンを生成する。これは、第1パターンの生成と同様である。
この後、レコード対選択部115は、データ格納部113に格納された第2パターンの各々に該当するレコード対を名寄せ元DB107及び名寄せ先DB109から選択する。本実施の形態では、多様なレコード対を選択するために、例えば各第2のパターンに該当するレコード対を均等に選択するものとする。しかし、選択すべき確認用レコード対の数が、ステップS13で生成された第2パターンの数の倍数であるとは限らない。よって、本実施の形態では、不一致部分のバリエーションが重複する度合いに基づいて第2パターンを優先順位付けし、できるだけ不一致部分のバリエーションが重ならないようにして該当するレコード対を選択する。
処理の説明に戻り、レコード対選択部115は、データ格納部113に格納された第2パターンを用いて不一致部分のバリエーションの重複度を算出する(ステップS15)。本ステップでは、例えば、第2パターンに含まれる不一致部分のバリエーションの数に対する、当該第2パターンに含まれる不一致部分のバリエーションのうち他の第2パターンに含まれるバリエーションの数の割合を重複度とする。
このような重要度の算出について、便宜的に表を用いて説明する。例えば、図10に示した第2パターンの各々に含まれる不一致部分のバリエーションは、図11のように抽出できる。図11のテーブルは、IDの列と不一致部分の列を含む。そして、IDの列には、図10に示した第2パターンのIDが登録されている。また、不一致部分の列には、図10に示した第2パターンにおいて[×]で表されていた不一致部分のバリエーションが登録されている。
このようなデータから、他の第2パターンと重複する不一致部分のバリエーションを抽出すると、図12のようになる。図12のテーブルは、IDの列と、重複度の列と、他の第2パターンとの不一致部分の重複要素の列とを含む。そして、IDの列には、図11と同様に第2パターンのIDが登録されている。また、他の第2パターンとの不一致部分の重複要素の列には、図11の不一致部分の列に登録されたバリエーションのうち、他の第2パターンの不一致部分のバリエーションと重複するものが登録されている。例えば、図11に示した、IDが1の第2パターンの場合、不一致部分のバリエーションのうち「生活」は他の第2パターンに含まれていない。一方、「総務」及び「管理」は、それぞれIDが2、7及び8の第2パターンにも含まれており、「住民」は、IDが2の第2パターンにも含まれている。よって、図12の他の第2パターンとの不一致部分の重複要素の列には、「総務」、「住民」及び「管理」が登録されている。
そして、重複度は、図11に示した不一致部分の数である4に対する、図12に示した他の第2パターンとの不一致部分の重複要素の数である3の割合であり、0.75(=3/4)と算出される。同様に、図11に示した第2パターンの各々についても、図12の重複度の列に示す値が算出される。なお、図12の例では空(φ)も1つの文字として他の第2パターンに存在するか判断しているが、空(φ)については重複の判断をしないようにしてもよい。
また、このようにして算出した値に対して、さらに該当するレコード対の件数に基づいた値により重み付けした値を重複度としてもよい。まず、図10に示したテーブルでは第2パターンに対して該当第1パターンが、図8に示したテーブルでは第1パターンに対して該当レコード対が関連付けられているため、第2パターンの各々に該当するレコード対の件数が分かる。例えばレコード対の件数の逆数を乗じることで、名寄せ元DB107及び名寄せ先DB109において該当するレコード対が多い場合には重複度が下がるように調整する。後に重複度の小さい第2パターンから順に該当するレコード対を選択する際、このようにすれば、実際のレコード対の分布を反映して、該当するレコード対の件数が多い第2パターンの優先順位が上がるようになる。
他に、第2パターンに含まれる不一致部分のバリエーションの各々が他の第2パターンに含まれる確率の平均値を重複度としてもよい。図11に示した、IDが1の第2パターンの場合、「住民」が他の第2パターンに含まれる確率は1/7である。同様に、「総務」は3/7、「生活」は0/7、「管理」は3/7である。そして、例えばこれらの平均値である1/4(=((1+3+0+3)/7)×(1/4))を重複度とする。このようにすれば、第2パターンに含まれる不一致部分のバリエーションの各々が他の第2パターンに含まれる確率が高いほど大きな値となる重複度が得られる。
なお、選択すべき確認用レコード対の数が第2パターンの数の倍数であるときは、第2パターンの各々に該当するレコード対を均等に選択できるので、本ステップを省略してもよい。
そして、レコード対選択部115は、データ格納部113に格納された第2パターンの各々に該当するレコード対を、名寄せ元DB107及び名寄せ先DB109から、算出した重複度に基づいた順序で選択し、レコード対格納部117に格納する(ステップS17)。本ステップでは、レコード対選択部115は、設定格納部101から、設定され得る名寄せルールの各々から選択すべき確認用レコード対の数を読み出し、この数だけレコード対を選択する。また、本ステップでは、ステップS15において算出された重複度に基づき、例えば、重複度の小さいものから順にラウンドロビン方式で第2パターンの各々を処理対象とし、各第2パターンに該当するレコード対を1つずつ選択する。このようにすれば、できるだけ不一致部分のバリエーションが重ならないように該当レコード対を選択することができる。なお、上でも述べたとおり、選択すべき確認用レコード対の数が第2パターンの数の倍数であれば、第2パターンの各々に該当するレコード対を均等に選択すればよい。ただし、そのような場合であっても、重複度に基づいて選択するようにしてもよい。
なお、第2パターンに該当するレコード対のうちいずれのレコード対を選択するかについては、例えばランダムに決定する。ただし、当該第2パターンに該当するレコード対において出現確率の高い文字列を含むレコード対を代表的なものとして選択してもよいし、逆に出現確率の低い文字列を含むレコード対を選択してもよい。
また、上で述べた重複度等に基づき、第2パターンの各々から選択するレコード対の数自体に差をつけるようにしてもよい。そして、該当するレコード対の数と予め定められた閾値とを比較し、例えば該当するレコード対が閾値よりも少ない第2パターンを選択の対象から外すようにしてもよい。
その後、パターン化処理部111は、条件格納部105に未処理の条件が存在しているか判断する(ステップS19)。未処理の条件が存在する場合、処理はステップS5に戻る。ステップS5乃至ステップS19の処理を繰り返すことにより、ステップS3で生成した条件の各々について処理を行い、設定され得る名寄せルールの各々に該当するレコード対を選択することができる。また、それぞれの条件に対して複数の第2パターンを生成し、第2パターンの各々に該当する多様なレコード対の集合を選択することができる。一方、未処理の条件が存在しない場合は処理を終了する。
上で述べた第2パターンは、不一致部分のバリエーションが一致する第1のパターンから生成される。従って、例えば図10に示した、IDが2の第2パターンのように、部署のバリエーションが同じ組織のような、一致部分の文字列は異なるが意味的には似た実体に係るレコード対から第2パターンを生成することができる。このような第2パターンの各々に該当するレコード対を偏りなく選択すれば、多様性のあるレコード対の集合を得ることができるようになる。
また、第2パターン生成の過程において、一致部分が同一のレコード対の集合から第1パターンを生成している。従って、例えば同一組織の部署違いのようなレコード対が同一の第2パターンに該当するようになる。このような第2パターンの各々に該当するレコード対を偏りなく選択することからも、多様性のあるレコード対の集合を得ることができるようになるといえる。
そして、選択するレコード対の件数を絞って確認用レコード対の集合を選択しておけば、名寄せルール作成時には、名寄せ元DB107及び名寄せ先DB109のレコード数にかかわらず、確認用レコード対の量に応じた一定の処理時間でレコード対を提示することができる。従って、名寄せルール作成時において操作のインタラクティブ性が失われないという効果も期待できる。
また、一般的に、例えば正規表現を用いて表したレコード対からあらゆるパターンを生成しようとすれば、膨大なパターンが生成され得る。本実施の形態では、一致部分と不一致部分とをバリエーションとしてまとめるため、上で述べたような多様性のあるパターンが生成できるだけでなくパターンの数を抑えることができ、現実的な計算時間で確認用レコード対の集合を選択できるようになる。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、並列実施するようにしてもよい。
また、本実施の形態では、レコード対、第1パターン及び第2パターンについて、[○]及び[×]で表された、一致部分と不一致部分との区切り位置のデータと、[○]と該当する文字列等との組合せ及び[×]と該当する文字列等との組み合わせとを出現する順に表すものとして説明した。このような記述の方法は便宜的なものであり、一致部分及び不一致部分の各々と該当する文字列等との対応付けがなされていれば、出現する順に表されていなくてもよい。
なお、ステップS5において、項目の対応付けの相違文字数に「その他」を含む条件を抽出した場合は、例えば「その他」以外に係る項目の対応付けに基づいてレコード対を抽出する。ただし、「その他」に係る項目の対応付けについても一致部分及び不一致部分を特定し、上で述べたようなパターンを生成するようにしてもよい。
なお、上で述べたレコード対選択装置は、コンピュータ装置であって、図13に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係るレコード対選択装置は、(A)所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第1のレコードを複数格納している第1のデータベースから第1のレコードの組み合わせとして、又は第2のレコードを複数格納している第2のデータベースと第3のレコードを複数格納している第3のデータベースとから第2のレコードと第3のレコードとの組み合わせとして、抽出する抽出部と、(B1)抽出したレコード対の集合を、比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第1の集合に分け、(B2)当該複数の第1の集合の各々について、比較文字列において不一致となる部分のバリエーションと比較文字列において一致する部分の文字列とを含む第1のパターンを生成し、(B3)当該複数の第1の集合の各々について生成された第1のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第2の集合に分け、(B4)当該複数の第2の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第2のパターンを生成し、データ格納部に格納するパターン化処理部と、(C)第1のデータベースから、又は第2のデータベース及び第3のデータベースから、データ格納部に格納された複数の第2の集合の各々について生成された第2のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納する選択部とを有する。
第2のパターンを生成することで、例えば同一組織の部署違いのように、上記のような区切り位置が一致し且つ文字列の一部のみ異なるレコード対が、1つのパターンに属することになる。また、上記のような区切り位置が一致し且つ不一致となる部分(例えば、部署)のバリエーションが共通するレコード対(例えば、異なる組織名同士や異なる地名同士であって、文字列としては類似しなくともその意味上は類似するような部分を含むレコード対)が、1つのパターンに属することになる。このような第2のパターンに該当するレコード対を、数の偏りを抑えるように選択すれば、表現のバリエーションという観点において多様なレコード対を選択することができる。ここで、名寄せのルールを作成する際に多様なレコード対が提示されれば、ユーザは、名寄せすべきでないレコード対の抽出や名寄せすべきレコード対の抽出漏れを確認し易い。従って、名寄せのルールを確認するために適切なレコード対を抽出することができる。
また、上で述べた選択部は、(c)複数の第2のパターンの各々について、当該第2のパターンに含まれる不一致となる部分のバリエーションが、当該第2のパターン以外の第2のパターンに含まれる不一致となる部分のバリエーションと重複する度合いの評価値を算出し、算出した評価値の小さい順に、第2のパターンに該当するレコード対を選択するようにしてもよい。第2のパターンの各々に該当するレコード対を均等に選択できない場合であっても、上記のような評価値で優先順位付けすれば、できるだけ多様なレコード対を選択できるようになる。
そして、上で述べた評価値は、(D1)第2のパターンに含まれる不一致となる部分のバリエーションである第1のバリエーションの数に対する、当該第1のバリエーションのうち他の第2のパターンに含まれる不一致となる部分のバリエーションと重複するバリエーションである第2のバリエーションの数の割合、(D2)当該割合を第2のパターンに該当するレコード対の数に基づき重み付けした値、又は(D3)第1のバリエーションの各々が他の第2のパターンに含まれる確率の平均値のいずれかを用いてもよい。上記D1のような評価値を用いれば、不一致となる部分のバリエーションについて単純に重複するものの割合が小さい順に第2のパターンを選択することになる。そして、上記D2によれば、例えば該当するレコード対の数の逆数をD1の値に乗じることで、該当するレコード対の多い第2のパターンを優先させるような調整を行う。すなわち、実際のデータベースにおいて該当するレコード対が多い場合には優先順位が上がるように調整される。また、上記D3の場合は、第1のバリエーションの各々が他の第2のパターンにも含まれる確率が高いほど、優先順位が下がる評価値になる。D1では、不一致となる部分(第1のバリエーション)が他の第2のパターンのいずれかに含まれていれば他の第2のパターンのいくつに含まれるかにかかわらず重複するもの(第2のバリエーション)として数えていた。一方、D3では、第1のバリエーションを含む他の第2のパターンの数まで考慮して優先順位付けを行うものである。
また、上で述べた抽出部は、不一致となる文字数として指定され得る数の各々について、レコード対の集合を抽出するようにしてもよい。そして、パターン化処理部及び選択部は、抽出されたレコード対の集合の各々に対して処理を行うようにしてもよい。名寄せルール作成時に指定され得る数の各々について上で述べたような処理を実施しておくことによって、名寄せルールの適否の確認時に、該当するレコード対が適切に提示できるようになる。
さらに、第1のデータベースから第1のレコードの組み合わせを抽出する場合に、所定の項目が複数の項目を含むようにしてもよい。このとき、抽出部は、複数の項目の各々で、当該項目の文字列において不一致となる文字数が、複数の項目の各々について設定される所定数であるレコード対を抽出し、パターン化処理部は、複数の項目の各々で要件を満たすように第1のパターン及び第2のパターンを生成するようにしてもよい。また、第2のデータベース及び第3のデータベースから第2のレコードと第3のレコードとの組み合わせを抽出する場合に、所定の項目が、第2のデータベースにおける第1の項目と第3のデータベースにおける第2の項目の組み合わせである項目セットを複数含むようにしてもよい。このとき、抽出部は、当該複数の項目セットの各々で、第1の項目及び第2の項目の文字列において不一致となる文字数が、複数の項目セットの各々について設定される所定数であるレコード対を抽出し、パターン化処理部は、複数の項目セットの各々で要件を満たすように第1のパターン及び第2のパターンを生成するようにしてもよい。このように、複数の項目又は複数の項目セットにおいて要件を満たすような第2のパターンを生成し、選択部が第2のパターンに該当するレコード対を選択しておけば、名寄せルールの適否の確認時に該当するレコード対が適切に提示できるようになる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第1のレコードを複数格納している第1のデータベースから前記第1のレコードの組み合わせとして、又は第2のレコードを複数格納している第2のデータベースと第3のレコードを複数格納している第3のデータベースとから前記第2のレコードと前記第3のレコードとの組み合わせとして、抽出する抽出部と、
抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第1の集合に分け、当該複数の第1の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第1のパターンを生成し、当該複数の第1の集合の各々について生成された第1のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第2の集合に分け、当該複数の第2の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第2のパターンを生成し、データ格納部に格納するパターン化処理部と、
前記第1のデータベースから、又は前記第2のデータベース及び前記第3のデータベースから、前記データ格納部に格納された前記複数の第2の集合の各々について生成された第2のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納する選択部と、
を有するレコード対選択装置。
(付記2)
前記選択部は、
前記複数の第2のパターンの各々について、当該第2のパターンに含まれる前記不一致となる部分のバリエーションが、当該第2のパターン以外の第2のパターンに含まれる前記不一致となる部分のバリエーションと重複する度合いの評価値を算出し、
算出した前記評価値の小さい順に、前記第2のパターンに該当するレコード対を選択する
付記1記載のレコード対選択装置。
(付記3)
前記評価値は、
前記第2のパターンに含まれる前記不一致となる部分のバリエーションである第1のバリエーションの数に対する、当該第1のバリエーションのうち他の前記第2のパターンに含まれる前記不一致となる部分のバリエーションと重複するバリエーションである第2のバリエーションの数の割合、当該割合を前記第2のパターンに該当するレコード対の数に基づき重み付けした値、又は前記第1のバリエーションの各々が他の前記第2のパターンに含まれる確率の平均値のいずれかである
付記2記載のレコード対選択装置。
(付記4)
前記抽出部は、不一致となる文字数として指定され得る数の各々について、前記レコード対の集合を抽出し、
前記パターン化処理部及び前記選択部は、抽出された前記レコード対の集合の各々に対して処理を行う
付記1乃至3のいずれか1つ記載のレコード対選択装置。
(付記5)
前記第1のデータベースから前記第1のレコードの組み合わせを抽出する場合に、前記所定の項目が複数の項目を含み、
前記抽出部は、
前記複数の項目の各々で、当該項目の文字列において不一致となる文字数が、前記複数の項目の各々について設定される所定数であるレコード対を抽出し、
前記パターン化処理部は、
前記複数の項目の各々で要件を満たすように前記第1のパターン及び前記第2のパターンを生成し、
前記第2のデータベース及び前記第3のデータベースから前記第2のレコードと前記第3のレコードとの組み合わせを抽出する場合に、前記所定の項目が、前記第2のデータベースにおける第1の項目と前記第3のデータベースにおける第2の項目の組み合わせである項目セットを複数含み、
前記抽出部は、
当該複数の項目セットの各々で、前記第1の項目及び前記第2の項目の文字列において不一致となる文字数が、前記複数の項目セットの各々について設定される所定数であるレコード対を抽出し、
前記パターン化処理部は、
前記複数の項目セットの各々で要件を満たすように前記第1のパターン及び前記第2のパターンを生成する
付記1乃至4のいずれか1つ記載のレコード対選択装置。
(付記6)
所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第1のレコードを複数格納している第1のデータベースから前記第1のレコードの組み合わせとして、又は第2のレコードを複数格納している第2のデータベースと第3のレコードを複数格納している第3のデータベースとから前記第2のレコードと前記第3のレコードとの組み合わせとして、抽出するステップと、
抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第1の集合に分け、当該複数の第1の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第1のパターンを生成し、当該複数の第1の集合の各々について生成された第1のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第2の集合に分け、当該複数の第2の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第2のパターンを生成し、データ格納部に格納するステップと、
前記第1のデータベースから、又は前記第2のデータベース及び前記第3のデータベースから、前記データ格納部に格納された前記複数の第2の集合の各々について生成された第2のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納するステップと、
をコンピュータに実行させるためのプログラム。
(付記7)
所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第1のレコードを複数格納している第1のデータベースから前記第1のレコードの組み合わせとして、又は第2のレコードを複数格納している第2のデータベースと第3のレコードを複数格納している第3のデータベースとから前記第2のレコードと前記第3のレコードとの組み合わせとして、抽出するステップと、
抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第1の集合に分け、当該複数の第1の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第1のパターンを生成し、当該複数の第1の集合の各々について生成された第1のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第2の集合に分け、当該複数の第2の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第2のパターンを生成し、データ格納部に格納するステップと、
前記第1のデータベースから、又は前記第2のデータベース及び前記第3のデータベースから、前記データ格納部に格納された前記複数の第2の集合の各々について生成された第2のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納するステップと、
を含み、コンピュータにより実行されるレコード対選択方法。
101 設定格納部 103 条件生成部
105 条件格納部 107 名寄せ元DB
109 名寄せ先DB 111 パターン化処理部
113 データ格納部 115 レコード対選択部
117 レコード対格納部

Claims (7)

  1. 所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第1のレコードを複数格納している第1のデータベースから前記第1のレコードの組み合わせとして、又は第2のレコードを複数格納している第2のデータベースと第3のレコードを複数格納している第3のデータベースとから前記第2のレコードと前記第3のレコードとの組み合わせとして、抽出する抽出部と、
    抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第1の集合に分け、当該複数の第1の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第1のパターンを生成し、当該複数の第1の集合の各々について生成された第1のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第2の集合に分け、当該複数の第2の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第2のパターンを生成し、データ格納部に格納するパターン化処理部と、
    前記第1のデータベースから、又は前記第2のデータベース及び前記第3のデータベースから、前記データ格納部に格納された前記複数の第2の集合の各々について生成された第2のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納する選択部と、
    を有するレコード対選択装置。
  2. 前記選択部は、
    前記複数の第2のパターンの各々について、当該第2のパターンに含まれる前記不一致となる部分のバリエーションが、当該第2のパターン以外の第2のパターンに含まれる前記不一致となる部分のバリエーションと重複する度合いの評価値を算出し、
    算出した前記評価値の小さい順に、前記第2のパターンに該当するレコード対を選択する
    請求項1記載のレコード対選択装置。
  3. 前記評価値は、
    前記第2のパターンに含まれる前記不一致となる部分のバリエーションである第1のバリエーションの数に対する、当該第1のバリエーションのうち他の前記第2のパターンに含まれる前記不一致となる部分のバリエーションと重複するバリエーションである第2のバリエーションの数の割合、当該割合を前記第2のパターンに該当するレコード対の数に基づき重み付けした値、又は前記第1のバリエーションの各々が他の前記第2のパターンに含まれる確率の平均値のいずれかである
    請求項2記載のレコード対選択装置。
  4. 前記抽出部は、不一致となる文字数として指定され得る数の各々について、前記レコード対の集合を抽出し、
    前記パターン化処理部及び前記選択部は、抽出された前記レコード対の集合の各々に対して処理を行う
    請求項1乃至3のいずれか1つ記載のレコード対選択装置。
  5. 前記第1のデータベースから前記第1のレコードの組み合わせを抽出する場合に、前記所定の項目が複数の項目を含み、
    前記抽出部は、
    前記複数の項目の各々で、当該項目の文字列において不一致となる文字数が、前記複数の項目の各々について設定される所定数であるレコード対を抽出し、
    前記パターン化処理部は、
    前記複数の項目の各々で要件を満たすように前記第1のパターン及び前記第2のパターンを生成し、
    前記第2のデータベース及び前記第3のデータベースから前記第2のレコードと前記第3のレコードとの組み合わせを抽出する場合に、前記所定の項目が、前記第2のデータベースにおける第1の項目と前記第3のデータベースにおける第2の項目の組み合わせである項目セットを複数含み、
    前記抽出部は、
    当該複数の項目セットの各々で、前記第1の項目及び前記第2の項目の文字列において不一致となる文字数が、前記複数の項目セットの各々について設定される所定数であるレコード対を抽出し、
    前記パターン化処理部は、
    前記複数の項目セットの各々で要件を満たすように前記第1のパターン及び前記第2のパターンを生成する
    請求項1乃至4のいずれか1つ記載のレコード対選択装置。
  6. 所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第1のレコードを複数格納している第1のデータベースから前記第1のレコードの組み合わせとして、又は第2のレコードを複数格納している第2のデータベースと第3のレコードを複数格納している第3のデータベースとから前記第2のレコードと前記第3のレコードとの組み合わせとして、抽出するステップと、
    抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第1の集合に分け、当該複数の第1の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第1のパターンを生成し、当該複数の第1の集合の各々について生成された第1のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第2の集合に分け、当該複数の第2の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第2のパターンを生成し、データ格納部に格納するステップと、
    前記第1のデータベースから、又は前記第2のデータベース及び前記第3のデータベースから、前記データ格納部に格納された前記複数の第2の集合の各々について生成された第2のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納するステップと、
    をコンピュータに実行させるためのプログラム。
  7. 所定の項目の文字列である比較文字列において不一致となる文字数が所定数であるレコード対を、第1のレコードを複数格納している第1のデータベースから前記第1のレコードの組み合わせとして、又は第2のレコードを複数格納している第2のデータベースと第3のレコードを複数格納している第3のデータベースとから前記第2のレコードと前記第3のレコードとの組み合わせとして、抽出するステップと、
    抽出した前記レコード対の集合を、前記比較文字列において一致する部分と不一致となる部分との区切り位置が一致すると共に一致する部分の部分文字列が一致する複数の第1の集合に分け、当該複数の第1の集合の各々について、前記比較文字列において不一致となる部分のバリエーションと前記比較文字列において一致する部分の文字列とを含む第1のパターンを生成し、当該複数の第1の集合の各々について生成された第1のパターンを、一致する部分と不一致となる部分との区切り位置が一致すると共に不一致となる部分のバリエーションが共通する複数の第2の集合に分け、当該複数の第2の集合の各々について、不一致となる部分のバリエーションと一致する部分の文字列のバリエーションとを含む第2のパターンを生成し、データ格納部に格納するステップと、
    前記第1のデータベースから、又は前記第2のデータベース及び前記第3のデータベースから、前記データ格納部に格納された前記複数の第2の集合の各々について生成された第2のパターンに該当するレコード対を、当該レコード対の数の偏りを抑えるように選択し、選択データ格納部に格納するステップと、
    を含み、コンピュータにより実行されるレコード対選択方法。
JP2011022071A 2011-02-03 2011-02-03 レコード対選択装置、プログラム及び方法 Withdrawn JP2012164028A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011022071A JP2012164028A (ja) 2011-02-03 2011-02-03 レコード対選択装置、プログラム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011022071A JP2012164028A (ja) 2011-02-03 2011-02-03 レコード対選択装置、プログラム及び方法

Publications (1)

Publication Number Publication Date
JP2012164028A true JP2012164028A (ja) 2012-08-30

Family

ID=46843376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011022071A Withdrawn JP2012164028A (ja) 2011-02-03 2011-02-03 レコード対選択装置、プログラム及び方法

Country Status (1)

Country Link
JP (1) JP2012164028A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6397098B1 (ja) * 2017-09-01 2018-09-26 ヤフー株式会社 情報処理装置、情報処理方法、および情報処理プログラム
JP2019046473A (ja) * 2018-08-30 2019-03-22 ヤフー株式会社 情報処理装置、情報処理方法、および情報処理プログラム
WO2023132029A1 (ja) * 2022-01-06 2023-07-13 日本電気株式会社 情報処理装置、情報処理方法及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6397098B1 (ja) * 2017-09-01 2018-09-26 ヤフー株式会社 情報処理装置、情報処理方法、および情報処理プログラム
JP2019046197A (ja) * 2017-09-01 2019-03-22 ヤフー株式会社 情報処理装置、情報処理方法、および情報処理プログラム
JP2019046473A (ja) * 2018-08-30 2019-03-22 ヤフー株式会社 情報処理装置、情報処理方法、および情報処理プログラム
WO2023132029A1 (ja) * 2022-01-06 2023-07-13 日本電気株式会社 情報処理装置、情報処理方法及びプログラム

Similar Documents

Publication Publication Date Title
Chai et al. Cost-effective crowdsourced entity resolution: A partial-order approach
US9053171B2 (en) Clustering data points
CN108292310B (zh) 用于数字实体相关的技术
US6954729B2 (en) Address learning system and method for using same
JP4997856B2 (ja) データベース分析プログラム、データベース分析装置、データベース分析方法
US8838549B2 (en) Detecting duplicate records
CA2750609C (en) Methods and systems for matching records and normalizing names
JP2009543224A (ja) 可変圧縮による適応索引
US11972228B2 (en) Merging database tables by classifying comparison signatures
US8788480B2 (en) Multiple candidate selection in an entity resolution system
JP2014519123A (ja) インデックスドキュメントの発見
JP2005302043A5 (ja)
US11423036B2 (en) Systems and methods for selecting datasets
CN107506484B (zh) 运维数据关联审计方法、***、设备及存储介质
WO2008032780A1 (fr) Procédé de recherche, procédé de calcul de similarité, calcul de similarité, système d'appariement de mêmes documents et programme de ceux-ci
CN115328883B (zh) 一种数据仓库建模方法和***
US11386090B2 (en) Defining attribute feature vectors for matching data entities
JP2012164028A (ja) レコード対選択装置、プログラム及び方法
CN110908980B (zh) 用户标识映射关系建立方法、***、设备及存储介质
US11397715B2 (en) Defining indexing fields for matching data entities
JP5928446B2 (ja) 情報検索システム、情報検索方法および情報検索プログラム
JP6123372B2 (ja) 情報処理システム、名寄せ判定方法及びプログラム
JP6028656B2 (ja) データ抽出方法、装置及びプログラム
US20220413727A1 (en) Quality-performance optimized identification of duplicate data
JP6662190B2 (ja) 検索プログラム、検索方法、検索装置、及び検索システム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140513