JP4687089B2 - 重複レコード検出システム、および重複レコード検出プログラム - Google Patents

重複レコード検出システム、および重複レコード検出プログラム Download PDF

Info

Publication number
JP4687089B2
JP4687089B2 JP2004355789A JP2004355789A JP4687089B2 JP 4687089 B2 JP4687089 B2 JP 4687089B2 JP 2004355789 A JP2004355789 A JP 2004355789A JP 2004355789 A JP2004355789 A JP 2004355789A JP 4687089 B2 JP4687089 B2 JP 4687089B2
Authority
JP
Japan
Prior art keywords
record
duplicate
word
records
similarity
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.)
Expired - Fee Related
Application number
JP2004355789A
Other languages
English (en)
Other versions
JP2006163941A (ja
Inventor
大 久寿居
健二 立石
悠 齋藤
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2004355789A priority Critical patent/JP4687089B2/ja
Publication of JP2006163941A publication Critical patent/JP2006163941A/ja
Application granted granted Critical
Publication of JP4687089B2 publication Critical patent/JP4687089B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、店舗等の情報が登録されたデータベースに重複して登録されている情報を検出する重複レコード検出システム、および重複レコード検出プログラムに関する。
店舗や、人物、書物等の情報によって構成されるデータベースに、重複する情報が登録されている場合がある。
具体的には、例えば、同じ情報が異なる書式でデータベースに登録されていたり、同義であるが異なる語によってデータベースに登録されていたりする。同じ情報が重複してデータベースに登録されていると、データベースの容量が大きくなってしまったりするという問題がある。
データベースの容量を削減するために、特許文献1には、多数の人物の情報が登録されているデータベースから、同一人物の情報の重複登録を検出するシステムが記載されている。
また、特許文献2には、書物の情報が登録されているデータベースから一の書物を検索対象として抽出する際に、異なる書式によって同一の書物が複数重複してデータベースに登録されていても、検索対象となる書物をすべて抽出する装置が記載されている。
特開平11−184884号公報 (段落0017〜0049、図1) 特開2004−29969号公報 (段落0022〜0075、図2)
特許文献1に記載されているシステムは、例えば、カナ氏名、漢字氏名、カナ住所、漢字住所、生年月日などの書式を、統一した表記法による書式に正規化することによって、同一人物の情報の重複登録を検出する。
しかし、特許文献1に記載されているシステムは、同義であるが異なる語によってデータベースに登録されている情報の重複登録を検出することができないという問題がある。具体的には、例えば、同一人物の生年月日が西暦と和暦とで重複して登録されていると、重複登録を検出することができない。また、同一人物の住所の情報が、「東京都千代田区・・」という表記と、「都内千代田区・・」という表記とで重複して登録されていると、重複登録を検出することができない。
また、特許文献2に記載されている装置は、入力された検索対象の書物の情報と、データベースに登録されている書物の情報との類似度を算出して類似度の高い書物を検索結果として抽出するが、同義であるが異なる語によってデータベースに登録されている情報の類似度は低くなるため、そのような書物は抽出されにくいという問題がある。
具体的には、例えば、検索対象の書物の名称として「にほん」と入力された場合、「にっぽん」という名称の書物の類似度は低く算出されるため、「にっぽん」という名称の書物は抽出されにくくなってしまう。
そこで、本発明は、同義語や省略可能語による表記の差異があっても、重複する情報をデータベースから検出する重複レコード検出システム、および重複レコード検出プログラムを提供することを目的とする。
本発明による重複レコード検出システムは、語の変換に用いられる辞書であって、その語に対応する代表的な語である代表語を対応付けた辞書である代表語辞書と、相互に省略可能な代表語である省略可能語をグループ化した辞書である省略語辞書とを記憶する変換語記憶部と、複数の情報からなる複数のレコードを保持するデータベースの各レコード間の表記の類似度を計算する類似度計算部と、類似度計算部が計算した類似度が所定の値以上であるレコードの組み合わせである重複レコード候補を抽出する重複候補抽出部とを備え、類似度計算部が、各レコードに含まれる語のうち、代表語辞書に含まれる語を対応する代表語に変換し、当該代表語に隣接する位置に省略語辞書において当該代表語と同一のグループに含まれる代表語を追加し、代表語が追加された各レコード間の表記の類似度を計算することを特徴とする。
変換語記憶部は、同義語を代表語として記憶してもよく、類似度計算部は、データベースに登録されている各レコードに含まれる語を、対応する同義語に変換してレコード間の表記の類似度を計算してもよい。
データベースのレコードを構成し、データベースのレコードに登録されている情報が区切られる単位であるフィールドの情報を入力するデータベース情報入力部を含んでもよく、類似度計算部は、各レコード間の表記の類似度をフィールドごとに算出し、入力されたフィールドの情報に基づいて、フィールドごとに算出された類似度から、各レコード間の表記の類似度を計算してもよい。そのような構成によれば、フィールド間の類似度を用いて、レコード間の類似度を計算することができる。
重複候補抽出部が抽出した重複レコード候補が、互いに同一の内容の情報のレコードの組み合わせである重複レコードであるか否かを類似度に応じて規定したルールである重複判定ルールを記憶する重複判定ルール記憶部と、重複判定ルール記憶部が記憶している重複判定ルールに規定された類似度と、各レコード間の類似度または各レコード間のフィールドごとの類似度との関係にもとづいて、重複レコード候補が重複レコードであるか否かを判定する重複レコード判定部とを含んでもよい。そのような構成によれば、重複レコード候補が重複レコードであるか否かを、自動的に判定することができる。
重複レコード判定部が重複レコードであると判定したレコード間で、異なる部分から導出される語の組を代表語候補として抽出し、抽出した代表語候補を代表語辞書に含めて変換語記憶部に記憶させる代表語候補抽出部を含んでもよい。そのような構成によれば、重複レコードから、変換語候補を抽出することができる。
代表語候補抽出部は、重複レコードと判定された2つのレコードのうち、一のレコードの文字列が他のレコードの文字列に含まれる場合、2つのレコードで異なる部分の文字列と、共通する部分の文字列との組を、省略可能語候補として抽出し、抽出した省略可能語候補を省略語辞書に含めて変換語記憶部に記憶させてもよい。
代表語候補抽出部は、データベース内のレコードのうちのいずれかのレコードにおいて、抽出された代表語候補に含まれる語を全て含むレコードが存在する場合、当該代表語候補を、省略可能語候補とし、当該省略可能語候補を省略語辞書に含めて変換語記憶部に記憶させてもよい。また、代表語候補抽出部は、抽出した代表語候補のうち、当該代表語候補に含まれる語を組み合わせた文字列が、他の代表語候補に含まれる語と一致する場合、当該代表語候補を、変換語記憶部に記憶させる対象の代表語候補から除外してもよい。また、代表語候補抽出部は、抽出された省略可能語候補がいずれかの代表語候補に含まれる組の語をいずれも含んでいる場合、当該省略可能語候補を、変換語記憶部に記憶させる対象の代表語から除外してもよい。
重複レコード候補を出力し、使用者が、重複レコード候補が重複レコードであるか否かの判定を入力する入出力部を含んでもよく、重複レコード判定部は、重複候補抽出部が抽出した重複レコード候補のうち、重複判定ルールにより重複レコードでないと判定された重複レコード候補を、当該重複レコード候補に含まれる語の数の最も多い重複レコード候補から順に前記入出力部に出力してもよい。そのような構成によれば、使用者が、入出力部を介して判定を入力する回数を減らすことができる。
重複レコード判定部は、重複判定ルールにより重複レコードでないと判定された重複レコード候補のうち、重複すると判定されるレコードの組合せの数が多い順に、重複レコード候補を入出力部に出力してもよい。
重複レコードであると重複レコード判定部、または入出力部を介して使用者に判定されたレコードの組み合わせを記憶する重複レコードデータベースと、重複レコードデータベースが記憶しているレコードの組み合わせを構成するレコードのうち、一のレコード以外のレコードをデータベースから削除する重複レコード削除部とを含んでもよい。そのような構成によれば、重複レコードをデータベースから削除することができる。
データベースに登録すべく使用者が入力した情報の語を、変換語記憶部が記憶している語に変換して、変換した語、または入力された情報の語と合致する語からなる情報を含むレコードをデータベースから抽出するデータベース登録部と、データベース登録部が抽出したレコードを表示する表示部とを含んでもよい。そのような構成によれば、重複する情報のデータベースへの登録を防ぐことができる。
本発明による重複レコード検出プログラムは、語の変換に用いられる辞書であって、当該語に対応する代表的な語である代表語を対応付けた辞書である代表語辞書と、相互に省略可能な前記代表語である省略可能語をグループ化した辞書である省略語辞書とを記憶する変換語記憶部を備えたコンピュータに適用される重複レコード検出プログラムであって、コンピュータに、複数の情報からなる複数のレコードを保持するデータベースの各レコード間の表記の類似度を計算する類似度計算処理と、類似度計算処理で計算した類似度が、所定の値以上であるレコードの組み合わせである重複レコード候補を抽出する重複候補抽出処理とを実行させ、類似度計算処理で、各レコードに含まれる語のうち、代表語辞書に含まれる語を対応する代表語に変換させ、その代表語に隣接する位置に省略語辞書においてその代表語と同一のグループに含まれる代表語を追加させ、代表語が追加された各レコード間の表記の類似度を計算させることを特徴とする。
本発明によれば、同義語や省略可能語による表記の差異があっても、重複する情報をデータベースから検出することができる。
実施の形態1.
本発明の第1の実施の形態について、図面を参照して説明する。図1は、本発明の第1の実施の形態の一構成例を説明するブロック図である。
本発明の第1の実施の形態による重複レコード検出システム20は、同義語が登録されている同義語辞書と、省略可能な語が登録されている省略可能語辞書とによって構成される変換語辞書(変換語記憶部)5、変換語辞書5を用いて、店舗の情報が登録されているデータベース2に登録されている複数のレコード間の類似度を計算する類似度計算部3、類似度計算部3が計算した類似度が所定の閾値以上であった情報を抽出する重複候補抽出部6、および各部の動作を制御するプログラムを記憶する記憶部1を含む。
重複レコード検出システム20は、プログラムによって処理を実行するサーバ等のコンピュータによって実現される。なお、重複レコード検出システム20は、外部の記憶媒体が記憶しているプログラムに従って処理を実行してもよい。また、変換語辞書5は、予め同義語および省略可能語が登録されているものとする。
図2は、データベース2に登録されている情報の例を示す説明図である。データベース2には、例えば、店舗の名称や住所、電話番号が登録されている。なお、データベース2には、各店舗の情報が、レコードに区切られて登録され、店舗の各情報は、登録されているレコードの各情報の属性に応じたフィールドに区切られて登録されているものとする。具体的には、図2に示す例では、レコードIDが「001」のレコードには「エヌイーシー奈良支店」の各情報が登録され、レコードIDが「002」のレコードには「日電奈良支店」の各情報が登録され、レコードIDが「003」のレコードには「NEC奈良支店」の各情報が登録されている。
また、データベース2の各レコードの名称のフィールドには、「エヌイーシー奈良支店」、「日電奈良支店」、および「NEC奈良支店」が登録されており、住所のフィールドには、「○○○1の1」、「○○○1−1」、および「○○○1−1」が登録されており、電話番号のフィールドには、「000−111−1234」、「000−111−1235」、および「000−111−1234」が登録されているものとする。
なお、データベース2における各レコードのフィールドの数等の情報を入力し、入力されたデータベース2の情報を類似度計算部3に出力するデータベース情報入力部4を含んでもよい。データベース情報入力部4には、使用者がキーボード等の入力手段を用いてデータベース2の情報を入力してもよい。また、データベース情報入力部4は、記憶部1や外部の記憶媒体が記憶しているデータベース2の情報を読み込んでもよい。
データベース情報入力部4には、例えば、どのフィールドは何を表しているのか(例えば、各レコードの先頭のフィールドはIDである等)、どのフィールドとどのフィールドとを結合して1つのフィールドとして扱う(例えば、住所が「都道府県」、「市町村」、および「番地とビル名」に分かれている各フィールドを1つのフィールドとして扱う等)のか、どのフィールドの類似度計算に変換語辞書5を用いるのか、およびレコード間の類似度を算出する際の各フィールドの重み(名称フィールド、住所フィールド、および電話番号フィールドの重みの比を、1:1:1とする)等の情報を入力する。
図3は、変換語辞書5に登録されている情報の例を示す説明図である。変換語辞書5を構成する同義語辞書には、語と、その語の同義語のうち代表的な語である代表語とが対応づけられて登録されている。また、変換語辞書5を構成する省略可能語辞書には、代表語のうち、相互に省略可能な代表語に同じグループIDが付されて登録されている。
図3の例によれば、「エヌイーシー」と「日本電気」との代表語は「NEC」であり、「日本電気株式会社」の代表語は「日電」である。また、「NEC」と「日電」とは相互に省略可能な省略可能語である。
なお、同義語辞書において、同義語の欄の語は、代表語として用いられることはないものとする。また、省略可能語辞書において、省略可能語として登録されている語は、代表語であってもよいが、同義語ではないものとする。
類似度計算部3は、例えば、形態素解析等の方法を用いて、データベース2に登録されている各情報を語の単位に分解する。なお、情報を語の単位に分解する他の方法として、例えば、スペースの前後で語の単位に分解したり、文字種が切り替わる位置(例えば、カタカナから漢字に切り替わる位置等)で語の単位に分解したりする方法がある。類似度計算部3は、同義語辞書を検索して、分解した語が同義語辞書に同義語として登録されていると、その同義語に対応づけられている代表語に変換する。
類似度計算部3は、省略可能語辞書を検索して、代表語に変換された語が省略可能語として登録されていると、同じグループIDが付されている省略可能語を、データベース2に登録されているレコードの語に追加する。そして、類似度計算部3は、代表語に変換され、省略可能語が追加された各レコード間の類似度を計算する。
類似度計算部3が各レコード間の類似度を計算する方法は、例えば、各情報の対応するフィールドの語の文字を先頭から1文字ずつ比較していき、合致すればその文字の類似度を1とし、合致しなければその文字の類似度を0とする。そして、例えば、各文字の類似度を合計した数を、語の文字数で割った商(すなわち、0から1の間で正規化した値)をそのフィールドの類似度とする。なお、各情報のフィールドの語の文字数が異なっている場合は、各フィールドを構成する語のうち最も多い文字数で、各文字の類似度を合計した数を割った商をそのフィールドの類似度とする。
そして、類似度計算部3は、各フィールドの類似度に、各フィールドごとの所定の重みの値を乗じた積を合計した数を、フィールドの数で割った商(すなわち、0から1の間で正規化した値)を、レコードの類似度として計算する。
本発明の類似度の計算方法は、上述した方法に限定されるものではなく、編集距離を用いる方法等の、他の方法を用いてもよい。なお、類似度計算部3は、データベース情報入力部4に入力された情報にもとづいて、各フィールドおよび各レコードの類似度を計算してもよい。
重複候補抽出部6は、類似度計算部3が計算した類似度が、所定の閾値以上であるレコードの組を、重複レコード候補として抽出する。なお、重複候補抽出部6は、他の方法を用いて、重複レコード候補を抽出してもよい。
重複レコード検出システム20は、コンピュータに、複数の情報からなる複数のレコードを保持するデータベースに登録されている情報に用いられている語を、語に対応する変換語を記憶する変換語辞書5が記憶している変換語に変換して、レコード間の類似度を計算させる類似度計算処理と、類似度計算処理で計算した類似度が、所定の値以上であるレコードの組み合わせである重複レコード候補を抽出させる重複候補抽出処理とを実行させるための重複レコード検出プログラムを搭載している。
次に、本発明の第1の実施の形態の動作を、具体例を挙げて図面を参照して説明する。図2の例に示すデータベース2に登録されている情報から、重複レコード候補を抽出する。図4は、本発明の第1の実施の形態の動作を説明するフローチャートである。
まず、類似度計算部3が、データベース2に登録されている情報を読み込む(ステップS101)。レコードIDが「001」のレコードの名称のフィールドは、「エヌイーシー奈良支店」である。類似度計算部3は、「エヌイーシー奈良支店」に形態素解析等を行って語に分解する(ステップS102)。具体的には、「エヌイーシー」と「奈良」と「支店」とに分解する。
なお、ここでは、データベース情報入力部4に入力された情報が、名称フィールド、および住所フィールドの類似度計算に、変換語辞書5を用いることを示していたものとする。すると、類似度計算部3は、変換語辞書5を参照して、分解した語が同義語であれば代表語に変換する(ステップS103)。図3を参照すると、「エヌイーシー」が同義語であるので、「エヌイーシー」を代表語である「NEC」に変換する。「奈良」および「支店」は同義語辞書に登録されていないので変換を行わない。すると、レコードID「001」の語は、「NEC」、「奈良」、および「支店」である。
次に、類似度計算部3は、変換語辞書5を参照して、省略可能語があれば、同じグループIDの省略可能語を追加する(ステップS104)。図3を参照すると、「NEC」と「日電」とが同じグループIDの省略可能語であるので、「日電」を追加する。すると、レコードID「001」の語は、「NEC」、「日電」、「奈良」、および「支店」である。
類似度計算部3は、分解した語を結合する(ステップS105)。すると、レコードID「001」のレコードの名称のフィールドは、「NEC日電奈良支店」および「日電NEC奈良支店」に変換される。
類似度計算部3は、上述したステップS101からステップS105の動作を、レコードID「002」およびレコードID「003」に対しても行う。
具体的には、レコードIDが「002」のレコードの名称のフィールドは、「日電奈良支店」である。類似度計算部3は、「日電奈良支店」に形態素解析を行って語に分解する。具体的には、「日電」と「奈良」と「支店」とに分解する。
類似度計算部3は、変換語辞書5を参照して、分解した各語が同義語であれば代表語に変換する。図3を参照すると、「日電」は代表語であり、「奈良」および「支店」は同義語辞書に登録されていないので変換を行わない。
次に、類似度計算部3は、変換語辞書5を参照して、省略可能語があれば、同じグループIDの省略可能語を追加する。図3を参照すると、「NEC」と「日電」とが同じグループIDの省略可能語であるので、「NEC」を追加する。すると、レコードID「002」の語は、「NEC」、「日電」、「奈良」、および「支店」である。
類似度計算部3は、分解した語を結合する。すると、レコードID「002」のレコードの名称のフィールドは、「NEC日電奈良支店」および「日電NEC奈良支店」に変換される。
同様に、レコードIDが「003」のレコードの名称のフィールドは、「NEC奈良支店」である。類似度計算部3は、「NEC奈良支店」に形態素解析を行って語に分解する。具体的には、「NEC」と「奈良」と「支店」とに分解する。
類似度計算部3は、変換語辞書5を参照して、分解した各語が同義語であれば代表語に変換する。図3を参照すると、「NEC」が代表語であり、「奈良」および「支店」は同義語辞書に登録されていないので変換を行わない。
次に、類似度計算部3は、変換語辞書5を参照して、省略可能語があれば、同じグループIDの省略可能語を追加する。図3を参照すると、「NEC」と「日電」とが同じグループIDの省略可能語であるので、「日電」を追加する。すると、レコードID「006」の語は、「NEC」、「日電」、「奈良」、および「支店」である。
類似度計算部3は、分解した語を結合する。すると、レコードID「003」のレコードの名称のフィールドは、「NEC日電奈良支店」および「日電NEC奈良支店」に変換される。
次に、類似度計算部3は、変換したレコードID「001」、「002」および「003」の名称のフィールドの相互の類似度を計算する(ステップS106)。
まず、レコードID「001」の名称のフィールドと、レコードID「002」の名称のフィールドとの類似度を計算する。レコードID「001」の変換後の名称のフィールドは、「NEC日電奈良支店」と、「日電NEC奈良支店」とであり、レコードID「002」の変換後の名称のフィールドは、「NEC日電奈良支店」と、「日電NEC奈良支店」とである。レコードID「001」の「NEC日電奈良支店」と、レコードID「002」の「NEC日電奈良支店」とは、9文字中9文字が合致するので、9×1÷9=1となり、類似度は1である。
同様に、レコードID「001」の「日電NEC奈良支店」と、レコードID「002」の「日電NEC奈良支店」とは、9文字中9文字が合致するので、9×1÷9=1となり、類似度は1である。
また、レコードID「001」の「NEC日電奈良支店」と、レコードID「002」の「日電NEC奈良支店」とは、9文字中4文字が合致するので、4×1÷9=0.44(小数点3桁目四捨五入)となり、類似度は0.44である。
同様に、また、レコードID「001」の「日電NEC奈良支店」と、レコードID「002」の「NEC日電奈良支店」とは、9文字中4文字が合致するので、4×1÷9=0.44(小数点3桁目四捨五入)となり、類似度は0.44である。
ここで、類似度計算部3は、最も類似度が高い値を採用することとする。すると、レコードID「001」の名称のフィールドと、レコードID「002」の名称のフィールドとの類似度は1である。
同様に、レコードID「001」の名称のフィールドと、レコードID「003」の名称のフィールドとの類似度を計算すると、類似度は1となる。また、レコードID「002」の名称のフィールドと、レコードID「003」の名称のフィールドとの類似度を計算すると、類似度は1となる。
次に、類似度計算部3は、レコードID「001」、「002」および「003」の住所のフィールドの相互の類似度を計算する(ステップS107)。
レコードID「001」の住所のフィールドは「○○○1の1」であり、レコードID「002」の住所のフィールドは「○○○1−1」であり、レコードID「003」の住所のフィールドは「○○○1−1」である。
レコードID「001」の住所のフィールド「○○○1の1」と、レコードID「002」の住所のフィールド「○○○1−1」とは、6文字中5文字が合致するので、5×1÷6=0.83(小数点3桁目四捨五入)となり、類似度は0.83である。
レコードID「001」の住所のフィールド「○○○1の1」と、レコードID「003」の住所のフィールド「○○○1−1」とは、6文字中5文字が合致するので、5×1÷6=0.83(小数点3桁目四捨五入)となり、類似度は0.83である。
レコードID「002」の住所のフィールド「○○○1−1」と、レコードID「003」の住所のフィールド「○○○1−1」とは、6文字中6文字が合致するので、6×1÷6=1となり、類似度は1である。
次に、類似度計算部3は、レコードID「001」、「002」および「003」の電話番号のフィールドの相互の類似度を計算する(ステップS108)。
レコードID「001」の電話番号のフィールドは「000−111−1234」であり、レコードID「002」の電話番号のフィールドは「000−111−1235」であり、レコードID「003」の電話番号のフィールドは「000−111−1234」である。
レコードID「001」の電話番号のフィールド「000−111−1234」と、レコードID「002」の電話番号のフィールド「000−111−1235」とは、12文字中11文字が合致するので、11×1÷12=0.92(小数点3桁目四捨五入)となり、類似度は0.92である。
レコードID「001」の電話番号のフィールド「000−111−1234」と、レコードID「003」の電話番号のフィールド「000−111−1234」とは、12文字中12文字が合致するので、12×1÷12=1となり、類似度は1である。
レコードID「002」の電話番号のフィールド「000−111−1235」と、レコードID「003」の電話番号のフィールド「000−111−1234」とは、12文字中11文字が合致するので、11×1÷12=0.92(小数点3桁目四捨五入)となり、類似度は0.92である。
類似度計算部3は、レコードID「001」、「002」および「003」の各フィールドの相互の類似度を、各フィールドの類似度に重みの値を乗じた積を合計した数を、フィールドの数で割った商を、各レコード間の類似度として計算する(ステップS109)。なお、ここでは、データベース情報入力部4に入力された情報が、名称フィールド、住所フィールド、および電話番号フィールドの重みの比が、1:1:1であることを示していたものとする。
すると、レコードID「001」とレコードID「002」との類似度は、(1×1+0.83×1+0.92×1)÷3=0.92(小数点3桁目四捨五入)となる。
また、レコードID「001」とレコードID「003」との類似度は、(1×1+0.83×1+1×1)÷3=0.94(小数点3桁目四捨五入)となる。
レコードID「002」とレコードID「003」との類似度は、(1×1+1×1+0.92×1)÷3=0.97(小数点3桁目四捨五入)となる。
類似度計算部3は、計算した各レコードの組の類似度と、類似度を計算したレコードの組とを重複候補抽出部6に出力する。重複候補抽出部6は、類似度計算部3が計算した類似度が、所定の閾値以上である各レコードを、重複レコード候補として抽出する(ステップS110)。ここで、所定の閾値を0.90とすると、重複候補抽出部6は、レコードID「001」、レコードID「002」、およびレコードID「003」を重複レコード候補として抽出する。
表示部(図示せず)は、重複候補抽出部6が抽出した各レコードを表示する(ステップS111)。
以上に述べたように、この実施の形態によれば、同義語や省略可能語による表記の差異があっても、重複する情報をデータベース2から抽出することができる。
実施の形態2.
本発明の第2の実施の形態について、図面を参照して説明する。図5は、本発明の第2の実施の形態の一構成例を示すブロック図である。
本発明の第2の実施の形態の構成は、第1の実施の形態の構成に、重複候補抽出部6が抽出した重複レコード候補が、重複レコードであるか否かを判定するルールである重複判定ルールを記憶する重複判定ルール記憶部8、重複判定ルール記憶部8が記憶しているルールにもとづいて、重複候補抽出部6が抽出した重複レコード候補が重複レコードであるか否かを判定する重複レコード判定部7、および重複レコード判定部7が重複レコードであると判定したレコードを記憶する重複レコードデータベース9を加えたものであり、その他の構成要素は第1の実施の形態と同様なため、その他の構成要素には図1と同じ符号を付し、説明を省略する。
図6は、重複判定ルールの例を示す説明図である。図6に示した例によると、重複判定ルールは、例えば、レコード相互の類似度が特定の値を超えているならば、それらを重複レコードとみなす、というルールや、レコード相互の類似度が特定の値以下であれば、それらを重複レコードではないとみなす、というルールや、いずれかのフィールドの類似度が特定の値以下であれば、それらを重複レコードではないとみなす、というルールや、あるフィールドの類似度が所定の値以上であり、かつ、他のあるフィールドの類似度が所定の値以上であれば、それらを重複レコードとみなす、等である。
図7は、重複判定ルール記憶部8が記憶している重複判定ルールの例を示す説明図である。図7の例に示すように、重複判定ルールは、それぞれ条件部分(図7におけるIF以下の部分)と、結論部分(図7におけるTHEN以下の部分)とで構成される。
そして、条件部分には、レコードの組の類似度の値や、フィールドの組の類似度の値が、ある値よりも大きい、小さい、以上、または以下等の条件を、AND、OR、およびNOTで組み合わせて記述する。
また、結論部分には、条件部分のに記述されている条件に合致するレコードの組を、重複レコードであると記述したり、重複レコードではないと記述したりする。また、結論部分において、条件部分のネスト(入れ子)を記述してもよい。
図7の(1)式に示す例では、レコードの組の類似度の値が1であれば、重複レコードであるというルールを記述している。また、図7の(2)式に示す例では、住所フィールドの組の類似度が0.9を超えていて、かつ、電話番号フィールドの組の類似度が0.9を超えていた場合、名称フィールドの組の類似度が0.9を超えていれば、レコードの組は重複レコードであり、名称フィールドの組の類似度が0.9以下であれば、レコードの組を重複レコードではないというルールを記述している。
類似度計算部3は、計算した各フィールドの組の類似度と、各レコードの組の類似度とを重複候補抽出部6に出力する。重複候補抽出部6は、類似度計算部3が計算した類似度が、所定の閾値以上である各レコードを、重複レコード候補として抽出し、重複レコード候補の各フィールドの組の類似度と、各レコードの組の類似度とを重複レコード判定部7に出力する。
本発明の第2の実施の形態の動作を、具体例を挙げて説明する。まず、図2の例に示したレコードID「001」、レコードID「002」およびレコードID「003」が重複レコードであるか否かを判定する場合を例に説明する。
類似度計算部3が、各フィールドの組の類似度と、各レコードの組の類似度とを計算するまでの動作は、第1の実施の形態における動作と同様なため、説明を省略する。
類似度計算部3は、計算した各フィールドの組の類似度と、各レコードの組の類似度とを重複候補抽出部6に出力する。重複候補抽出部6は、類似度計算部3が計算した類似度が、所定の閾値以上である各レコードを重複レコード候補として抽出し、重複レコード候補の各フィールドの組の類似度と、各レコードの組の類似度とを重複レコード判定部7に出力する。ここで、所定の閾値を0.9とすると、重複候補抽出部6は、レコードID「001」、レコードID「002」、およびレコードID「003」を重複レコード候補として抽出する。
重複レコード判定部7は、レコードID「001」とレコードID「002」との類似度が0.92であるので、図7の例に示す式(1)の条件部分(レコードの組の類似度の値が1)に合致しないので、レコードID「001」とレコードID「002」との重複レコードの判定に、式(1)を適用しない。
重複レコード判定部7は、レコードID「001」の住所フィールドと、レコードID「002」の住所フィールドとの類似度が1であるが、レコードID「001」の電話番号フィールドと、レコードID「002」の電話番号フィールドとの類似度が0.83であるので、図7の例に示す式(2)の条件部分(住所フィールドの組の類似度が0.9を超えていて、かつ、電話番号フィールドの組の類似度が0.9を超えていた場合)に合致しないので、レコードID「001」とレコードID「002」との重複レコードの判定に、式(2)を適用しない。
また、重複レコード判定部7は、レコードID「001」とレコードID「003」との類似度が0.94であるので、図7の例に示す式(1)の条件部分(レコードの組の類似度の値が1)に合致しないので、レコードID「001」とレコードID「003」との重複レコードの判定に、式(1)を適用しない。
重複レコード判定部7は、レコードID「001」の住所フィールドと、レコードID「003」の住所フィールドとの類似度が1であるが、レコードID「001」の電話番号フィールドと、レコードID「003」の電話番号フィールドとの類似度が0.83であるので、図7の例に示す式(2)の条件部分(住所フィールドの組の類似度が0.9を超えていて、かつ、電話番号フィールドの組の類似度が0.9を超えていた場合)に合致しないので、レコードID「001」とレコードID「003」との重複レコードの判定に、式(2)を適用しない。
重複レコード判定部7は、レコードID「002」とレコードID「003」との類似度が0.97であるので、図7の例に示す式(1)の条件部分(レコードの組の類似度の値が1)に合致しないので、レコードID「002」とレコードID「003」との重複レコードの判定に、式(1)を適用しない。
重複レコード判定部7は、レコードID「002」の住所フィールドと、レコードID「003」の住所フィールドとの類似度が1であって、レコードID「002」の電話番号フィールドと、レコードID「003」の電話番号フィールドとの類似度が1であるので、図7の例に示す式(2)の条件部分(住所フィールドの組の類似度が0.9を超えていて、かつ、電話番号フィールドの組の類似度が0.9を超えていた場合)に合致する。また、レコードID「002」の名称フィールドと、レコードID「003」の名称フィールドとの類似度が0.92であるので、式(2)の結果部分における条件部分(名称フィールドの組の類似度が0.9を超えている)に合致するので、レコードID「002」とレコードID「003」とが重複レコードであると判定する。
重複レコード判定部7は、重複レコードであると判定した各レコードを、重複レコードデータベース9に記憶させる。
なお、重複レコード判定部7は、重複判定ルール記憶部8が記憶している重複判定ルールを適用しなかったレコードの組を、表示部に表示させてもよい。すると、使用者が重複レコードであるか否かを判定することができる。
以上に述べたように、この実施の形態によれば、重複レコード判定部7が、予め重複判定ルール記憶部8が記憶している重複判定ルールにもとづいて、各レコードの組が重複レコードであるか否かを自動的に判定することができる。
また、重複レコードデータベース9が、重複レコード判定部7が重複レコードであると判定したレコードの組を記憶するため、使用者は、重複レコード判定部7が重複レコードであると判定したレコードの組を確認することができる。
実施の形態3.
本発明の第3の実施の形態を、図面を参照して説明する。図8は、本発明の第3の実施の形態の一構成例を示すブロック図である。
本発明の第3の実施の形態の構成は、第2の実施の形態の構成に、重複レコード判定部7が重複レコードであると判定したレコードの組から変換語の候補を抽出して変換語辞書5に登録する変換語候補抽出部10を加えた点が第2の実施の形態の構成と異なり、その他の点は第2の実施の形態の構成と同様である。そのため、第2の実施の形態と同様な構成要素には、図5と同じ符号を付し、説明を省略する。
変換語候補抽出部10は、重複レコード判定部7が重複レコードであると判定したレコードの組を比較して、異なる部分に、例えば、形態素解析等を行って、重複レコードの組における異なる部分の語の組を同義語候補の組として抽出する。
なお、変換語候補抽出部10は、重複レコード判定部7が重複レコードであると判定したレコードの組を比較して、一方のレコードが、他方のレコードに含まれる場合には、一方のレコードと他方のレコードとの異なる部分と、共通する部分との組を省略可能語候補の組として抽出する。
また、変換語候補抽出部10は、抽出した同義語候補の組が、他の一のレコードに含まれる場合は、抽出した同義語候補の組を省略可能語候補の組とする。
変換語候補抽出部10は、抽出した同義語候補の組のうち、他の同義語候補や省略可能語候補の組み合わせで構成される同義語候補の組を、同義語候補の組から除外する。
また、変換語候補抽出部10は、省略可能語候補の組のうち、他の同義語候補や省略可能語候補に含まれる省略可能語候補の組を、省略可能語候補の組から除外する。
変換語候補抽出部10は、変換語辞書5を参照して、変換語候補、および省略可能語候補の組のうち、変換語辞書5に登録されている語以外の語を変換語辞書5に登録する。
次に、この実施の形態において、重複レコードから同義語候補および省略可能語候補を名称フィールドから抽出する際の動作を、具体例を挙げて図面を参照して説明する。図9は、本発明の第3の実施の形態の動作を説明するフローチャートである。図10は、重複レコード判定部7が重複レコードであると判定したレコードの組の例を示す説明図である。
変換語候補抽出部10は、重複レコード判定部7が重複レコードであると判定したレコードの組を比較して、異なる部分に、例えば、形態素解析等を行って、重複レコードの組における異なる部分の語を同義語候補として抽出し、一方のレコードが、他方のレコードに含まれる場合には、一方のレコードと他方のレコードとの異なる部分と、共通する部分とを省略可能語候補として抽出する(ステップS301)。
具体的には、変換語候補抽出部10は、図10の例に示したレコードID「001」とレコードID「002」とを比較して、レコードID「001」と、レコードID「002」とで異なる部分である「日電NEC」と「エヌイーシー」とを同義語候補の組として抽出する。
変換語候補抽出部10は、図10の例に示したレコードID「001」とレコードID「003」とを比較して、レコードID「001」と、レコードID「003」とで異なる部分である「NEC」と「エヌイーシー」とを同義語候補の組として抽出する。
変換語候補抽出部10は、図10の例に示したレコードID「001」とレコードID「004」とを比較すると、レコードID「004」が、レコードID「001」に含まれるので、異なる部分である「日電」と、共通する部分である「NEC奈良支店」とを省略可能語候補の組として抽出する。
変換語候補抽出部10は、図10の例に示したレコードID「001」とレコードID「005」とを比較すると、レコードID「005」が、レコードID「001」に含まれるので、異なる部分である「NEC」と、共通する部分である「日電奈良支店」とを省略可能語候補の組として抽出する。
変換語候補抽出部10は、図10の例に示したレコードID「002」とレコードID「003」とを比較すると、レコードID「002」が、レコードID「003」に含まれるので、異なる部分である「日電」と、共通する部分である「エヌイーシー奈良支店」とを省略可能語候補の組として抽出する。
変換語候補抽出部10は、図10の例に示したレコードID「002」とレコードID「004」とを比較して、レコードID「002」と、レコードID「004」とで異なる部分である「エヌイーシー」と「NEC」とを同義語候補の組として抽出する。
変換語候補抽出部10は、図10の例に示したレコードID「002」とレコードID「005」とを比較して、レコードID「002」と、レコードID「005」とで異なる部分である「エヌイーシー」と「日電」とを同義語候補の組として抽出する。
変換語候補抽出部10は、図10の例に示したレコードID「003」とレコードID「004」とを比較して、レコードID「003」と、レコードID「004」とで異なる部分である「日電エヌイーシー」と「NEC」とを同義語候補の組として抽出する。
変換語候補抽出部10は、図10の例に示したレコードID「003」とレコードID「005」とを比較すると、レコードID「005」が、レコードID「003」に含まれるので、異なる部分である「エヌイーシー」と、共通する部分である「日電奈良支店」とを省略可能語候補の組として抽出する。
変換語候補抽出部10は、図10の例に示したレコードID「004」とレコードID「005」とを比較して、レコードID「004」と、レコードID「005」とで異なる部分である「NEC」と「日電」とを同義語候補の組として抽出する。
次に、変換語候補抽出部10は、抽出した同義語候補の組が、他の一のレコードに含まれる場合は、抽出した同義語候補の組を省略可能語候補の組とする(ステップS302)。
具体的には、変換語候補抽出部10は、レコードID「002」とレコードID「005」とを比較して抽出した同義語候補の組である「エヌイーシー」と「日電」とが、レコードID「003」の「日電エヌイーシー奈良支店」に含まれるので、同義語候補の組である「エヌイーシー」と「日電」とを省略可能語候補の組とする。
また、変換語候補抽出部10は、レコードID「004」とレコードID「005」とを比較して抽出した同義語候補の組である「NEC」と「日電」とが、レコードID「001」の「日電NEC奈良支店」に含まれるので、同義語候補の組である「NEC」と「日電」と省略可能語候補の組とする。
次に、変換語候補抽出部10は、抽出した同義語候補の組のうち、他の同義語候補や省略可能語候補の組み合わせで構成される同義語候補の組を、同義語候補の組から除外する(ステップS303)。
具体的には、変換語候補抽出部10は、レコードID「004」とレコードID「005」とを比較して抽出した同義語候補の組である「NEC」と「日電」とを組み合わせると、レコードID「001」とレコードID「002」とを比較して同義語候補として抽出した「日電NEC」を構成するので、レコードID「004」とレコードID「005」とを比較して抽出した同義語候補の組である「NEC」と「日電」とを、同義語候補の組から除外する。
変換語候補抽出部10は、レコードID「002」とレコードID「005」とを比較して抽出した同義語候補の組である「エヌイーシー」と「日電」とを組み合わせると、レコードID「003」とレコードID「004」とを比較して同義語候補として抽出した「日電エヌイーシー」を構成するので、レコードID「002」とレコードID「005」とを比較して抽出した同義語候補の組である「エヌイーシー」と「日電」とを、同義語候補の組から除外する。
変換語候補抽出部10は、省略可能語候補の組のうち、他の同義語候補や省略可能語候補に含まれる省略可能語候補の組を、省略可能語候補の組から除外する(ステップS304)。
具体的には、変換語候補抽出部10は、レコードID「001」とレコードID「004」とを比較して抽出した省略可能語候補の組である「日電」と「NEC奈良支店」とは、レコードID「004」とレコードID「005」とを比較して抽出した同義語候補の組である「NEC」と「日電」とを含むので省略可能語候補から除外する。
変換語候補抽出部10は、レコードID「001」とレコードID「005」とを比較して抽出した省略可能語候補の組である「NEC」と「日電奈良支店」とは、レコードID「004」とレコードID「005」とを比較して抽出した同義語候補の組である「NEC」と「日電」とを含むので省略可能語候補から除外する。
変換語候補抽出部10は、レコードID「002」とレコードID「003」とを比較して抽出した省略可能語候補の組である「日電」と「エヌイーシー奈良支店」とは、レコードID「002」とレコードID「005」とを比較して抽出した同義語候補の組である「エヌイーシー」と「日電」とを含むので省略可能語候補から除外する。
変換語候補抽出部10は、レコードID「003」とレコードID「005」とを比較して抽出した省略可能語候補の組である「エヌイーシー」と「日電奈良支店」とは、レコードID「002」とレコードID「005」とを比較して抽出した同義語候補の組である「エヌイーシー」と「日電」とを含むので省略可能語候補から除外する。
すると、レコードID「001」とレコードID「003」とを比較して抽出された同義語候補の組、およびレコードID「002」とレコードID「004」とを比較して抽出された同義語候補の組である「NEC」と「エヌイーシー」とが同義語候補の組となる。
また、レコードID「002」とレコードID「005」とを比較して抽出された同義語候補の組、およびレコードID「004」とレコードID「005」とを比較して抽出された同義語候補の組である「エヌイーシー」と「日電」とが、省略可能語候補に変更されて省略可能語候補の組となる。
変換語候補抽出部10は、変換語辞書5を参照して、変換語候補、および省略可能語候補の組のうち、変換語辞書5に登録されている語以外の語を変換語辞書5に登録する(ステップS305)。
なお、変換語候補抽出部10は、同義語候補の組である「NEC」と「エヌイーシー」とのいずれかを代表語として、変換語辞書5に登録する。変換語候補抽出部10は、例えば、50音順のや、アルファベット順の早い方の語や、文字数の少ない方の語を代表語として、同義語候補の組の語を変換語辞書5に登録する。
このとき、同義語候補の組の語のいずれかが既に代表語として変換語辞書5に登録されていた場合、変換語候補抽出部10は、同義語候補の組の他の語を、その代表語の同義語として変換語辞書5に登録する。
なお、同義語候補の組の語のすべてが既に代表語として変換語辞書5に登録されていた場合、変換語候補抽出部10は、いずれか1つの語を代表語として変換語辞書5に登録し、同義語候補の組の他の語を、その代表語の同義語として変換語辞書5に登録する。このとき、変換語候補抽出部10は、既に代表語として変換語辞書5に登録されていた語の同義語を、代表語として変換語辞書5に登録した語の同義語として、変換語辞書5に登録する。
変換語候補抽出部10は、省略可能語候補の組が変換語辞書5に登録されていなかった場合、新たにグループIDを決定して省略可能語候補として変換語辞書5に登録する。なお、新たなグループIDは、例えば、既に登録済みのグループIDの最大値に1を加えた値とする。
変換語候補抽出部10は、省略可能語候補の組のうち、いずれかが既に省略可能語候補として変換語辞書5に登録されていた場合、他の省略可能語候補を、既に変換語辞書5に登録されている省略可能語候補と同じグループIDで変換語辞書5に登録する。
変換語候補抽出部10は、省略可能語候補の組がすべて既に省略可能語候補として同じグループIDで変換語辞書5に登録されていた場合は、変換語辞書5に登録する動作を行わない。変換語候補抽出部10は、省略可能語候補の組を構成する省略可能語候補のそれぞれが、異なるグループIDで既に省略可能語候補として変換語辞書5に登録されていた場合、グループIDの値を比較して、グループIDの値が大きい方の省略可能語候補のグループIDの値を、グループIDが小さい方の値に変更する。
なお、変換語候補抽出部10は、同義語候補または省略可能語候補を表示部に表示して、同義語候補または省略可能語候補として変換語辞書5に登録するか否かを使用者に選択させてもよい。
以上に述べたように、この実施の形態によれば、重複レコード判定部7が重複レコードとして判定したレコードに含まれる語のうち、所定の条件に合致する語を、同義語候補または省略可能語候補として変換語辞書5に登録することができる。
実施の形態4.
本発明の第4の実施の形態を、図面を参照して説明する。図11は、本発明の第4の実施の形態の一構成例を示すブロック図である。
本発明の第4の実施の形態の構成は、第3の実施の形態の構成に、同義語候補、および省略可能語候補を変換語辞書5に登録するか否か、および重複レコード候補を重複レコードデータベース9に登録するか否かを使用者に確認する入出力部11を加えたものであり、その他の構成要素は第3の実施の形態と同様なため、その他の構成要素には図8と同じ符号を付し、説明を省略する。
入出力部11は、表示部である液晶ディスプレイ等と、入力手段であるキーボード等によって実現される。
次に、本発明の第4の実施の形態の動作を、図面を参照して説明する。図12は、本発明の第4の実施の形態の動作を説明するフローチャートである。
まず、類似度計算部3が、データベース2に登録されている情報を読み込む(ステップS401)。
類似度計算部3は、第1の実施の形態における動作と同様の動作を行い、各レコードの組の類似度を計算し、計算した各レコードの組の類似度と、類似度を計算したレコードの組とを重複候補抽出部6に出力する(ステップS402)。
重複候補抽出部6は、例えば、第1の実施の形態における動作と同様の動作を行い、重複レコード候補をデータベース2から抽出する(ステップS403)。
重複レコード判定部7は、第2の実施の形態における動作と同様の動作を行い、重複候補抽出部6が抽出した重複レコード候補が重複レコードであるか否かを判定し(ステップS404)、重複レコードであると判定した重複レコード候補を重複レコードデータベース9に記憶させる。
変換語候補抽出部10は、第3の実施の形態における動作と同様の動作を行い、重複レコード判定部7が重複レコードであると判定したレコードから、同義語候補および省略可能語候補(以下、単に変換語候補という)を抽出する(ステップS405)。
変換語候補抽出部10は、変換語候補を抽出すると、抽出した変換語候補を入出力部11に出力する。入出力部11は、変換語候補抽出部10が入力した変換語候補を表示し、使用者に変換語候補が変換語であるか否かを判定させる。
使用者が、入出力部11を操作して変換語候補が変換語であると判定すると、変換語候補抽出部10は、変換語候補を変換語辞書5に登録する(ステップS406)。
変換語候補抽出部10が、変換語候補を変換語辞書5に登録すると、重複候補抽出部6は、第1の実施の形態における動作と同様の動作を行い、重複レコード候補をデータベース2から抽出する(ステップS403)。新たな変換語が変換語辞書5に登録されると、新たに重複レコードと判定されるレコードが発生する可能性があるからである。
変換語候補抽出部10が変換語候補の抽出を終了したり、使用者が、入出力部11を操作して変換語候補が変換語であるか否かの判定を拒否したりすると、重複レコード判定部7は、重複レコードであると判定しなかった重複レコード候補を入出力部11に出力する。入出力部11は、重複レコード判定部7が入力した重複レコード候補を表示し、使用者に重複レコード候補が重複レコードであるか否かを判定させる(ステップS407)。なお、重複レコード判定部7は、重複レコードであると判定しなかった重複レコード候補のうち、重複する可能性のあるレコードの組み合わせの数が多い順番で、重複レコード候補を入出力部11に出力してもよい。
使用者が、入出力部11を操作して重複レコード候補が重複レコードであると判定すると、重複レコード判定部7は、重複レコード候補を重複レコードであると判定し、重複レコードデータベース9に登録する(ステップS408)。
重複レコード判定部7が、重複レコード候補を重複レコードデータベース9に登録すると、変換語候補抽出部10は、第3の実施の形態における動作と同様の動作を行い、重複レコード判定部7が重複レコードであると判定したレコードから、変換語候補を抽出する(ステップS405)。重複レコードが増加すると、増加した重複レコードから新たに変換語候補が抽出される可能性があるからである。
重複レコード判定部7が、重複レコードであると判定しなかった重複レコード候補をすべて入出力部11に出力したり、使用者が、入出力部11を操作して重複レコード候補の判定を拒否したりすると、変換語候補抽出部10は、第3の実施の形態における動作と同様の動作を行い、重複レコード判定部7が重複レコードであると判定したレコードから変換語候補を抽出する(ステップS405)。
変換語候補抽出部10が、第3の実施の形態における動作と同様の動作を行い、重複レコード判定部7が重複レコードであると判定したレコードから変換語候補を抽出する動作を終了すると、すべての構成要素は動作を終了する。
以上に述べたように、この実施の形態によれば、重複レコードを検出するために、使用者に確認する回数を減らすことができる。
また、使用者が、変換語候補が変換語であると判定した場合に増加した新たな重複レコードから変換語候補を抽出することができる。
さらに、使用者が、重複レコード候補が重複レコードであると判定した場合に増加した新たな重複レコードから変換語候補を抽出することができる。
なお、重複レコード判定部7は、重複レコードであると判定しなかった重複レコード候補が複数存在した場合、最も語の数の多い重複レコード候補から順に入出力部11に出力してもよい。すると、変換語候補抽出部10が変換語候補を抽出する可能性が高い順に重複レコード候補が入出力部11に出力されて使用者が重複レコードであるか否かを判定するため、変換語候補抽出部10が重複レコード候補から多くの変換語候補を抽出すると、語の数の少ない重複レコード候補からは変換語候補抽出部10が変換語候補を抽出する可能性が低くなり、変換語候補や、重複レコードを検出するために使用者に確認する回数を減らすことができる。
また、変換語候補抽出部10は、使用者が複数の変換語候補を変換語であると判定すると、使用者が判定した複数の変換語を類似度計算部3に出力し、類似度計算部3は、使用者が判定した複数の変換語に応じてデータベース2の該当するレコードを変換し、重複候補抽出部6は、変換されたレコードにもとづいて重複レコード候補の組を抽出してもよい。そして、重複レコード判定部7は、重複候補抽出部6が抽出した重複レコード候補の組のうち、重複レコード候補の組を構成する重複レコード候補の数が多い順に、重複レコード候補を入出力部11に出力してもよい。
重複レコード判定部7は、使用者が複数の重複レコード候補を重複レコードであると判定すると、使用者が重複レコードであると判定した重複レコード候補を変換語候補抽出部10に出力し、変換語候補抽出部10は、抽出した変換語候補の数が多い重複レコード候補から抽出した変換語候補を、順に入出力部11に出力してもよい。
実施の形態5.
本発明の第5の実施の形態を、図面を参照して説明する。図13は、本発明の第5の実施の形態の一構成例を示すブロック図である。
本発明の第5の実施の形態の構成は、本発明の第4の実施の形態の構成に、重複レコードデータベース9に登録されている重複レコードの組を構成するレコードのうち、一のレコードを除いて、他のレコードをデータベース2から削除する重複レコード削除部12を加えたものであり、その他の構成要素は第4の実施の形態と同様なため、その他の構成要素には図11と同じ符号を付し、説明を省略する。
重複レコード削除部12は、重複レコードデータベース9に登録された重複レコードの組を入出力部11に出力して、使用者に削除するレコードを選択させ、使用者が選択したレコードをデータベース2から削除してもよい。また、重複レコード削除部12は、重複レコードデータベース9に登録された重複レコードの組のうち、最もレコードIDの値の小さいレコード以外のレコードをデータベース2から削除してもよい。
また、重複レコード削除部12は、削除したレコードの記録を記憶してもよい。
以上に述べたように、この実施の形態によれば、重複レコード判定部7が、重複レコード判定ルールにもとづいて重複レコードであると判定した重複レコードを、重複レコードデータベース9に登録してから、重複レコード削除部12を介してデータベース2から削除するため、使用者が削除するレコードを確認したり、削除したレコードの記録を記憶させておいたりすることができる。
実施の形態6.
本発明の第6の実施の形態を、図面を参照して説明する。図14は、本発明の第6の実施の形態の一構成例を示すブロック図である。
本発明の第6の実施の形態の構成は、第3の実施の形態の構成に、使用者が新たにデータベース2に追加する情報を入力するデータベース登録部13と、データベース2に登録されている情報を検索する検索部14と、使用者に請求する料金を算出する検索料金算出部15とを加えたものであり、その他の構成要素は第3の実施の形態と同様なため、その他の構成要素には図8と同じ符号を付し、説明を省略する。
データベース登録部13は、使用者が新たにデータベース2に追加する情報を入力すると、変換語辞書5に登録されている同義語と省略可能語とにもとづいて、使用者が入力した情報と重複する情報である可能性のあるレコードを表示部に表示させる。
例えば、図2の例に示す情報がデータベース2に登録され、図3の例に示す情報が変換語辞書5に登録されている場合に、使用者が、データベース登録部13に、名称が「日本電気奈良支店」である情報を入力する。
すると、データベース登録部13は、入力された「日本電気奈良支店」に形態素解析等の方法を用いて、「日本電気奈良支店」を、「日本電気」と「奈良支店」との語に分解する。
そして、データベース登録部13は、同義語辞書5を参照して、「日本電気」および「奈良支店」の同義語と省略可能語とを抽出する。「日本電気」の代表語である同義語は、「NEC」であるため、データベース登録部13は、「NEC」を抽出する。また、データベース登録部13は、「NEC」を代表語とする同義語である「エヌイーシー」を抽出する。
さらに、データベース登録部13は、同義語辞書5を参照して、「日本電気」、「NEC」、および「エヌイーシー」のいずれかの省略可能語を抽出する。具体的には、「NEC」の省略可能語として「日電」を抽出する。
そして、データベース登録部13は、同義語辞書5から抽出した語や、使用者が入力した情報の語を組み合わせて、使用者が入力した情報から変形した可能性がある情報を生成する。具体的には、「NEC奈良支店」、「エヌイーシー奈良支店」、「日電NEC奈良支店」、「日電エヌイーシー奈良支店」、「NEC日電奈良支店」、「エヌイーシー日電奈良支店」、「日電奈良支店」等を生成する。
データベース登録部13は、生成した情報と合致する情報がデータベース2に登録されているか否かを検索して、データベース2から合致する情報を抽出する。すると、図2の例に示すレコードID「001」、レコードID「002」、およびレコードID「003」が抽出される。
データベース登録部13は、抽出した各レコードを、重複可能性のあるレコードとして表示部に表示させる。
検索部14は、上述したデータベース登録部13の動作と同様な動作を行って、データベース2から、使用者が検索部14に検索キーとして入力した情報、およびその情報から変形した可能性がある情報に合致する情報を、検索結果として表示部に表示させる。
検索料金算出部15は、検索部14が検索結果を表示部に表示させると、使用者に請求する所定の料金を算出する。なお、使用者が、データベース2の所有者または管理者に、データベース2の使用料金を支払っている場合は、検索料金算出部15は、データベース2の所有者または管理者に請求する料金を算出してもよい。
以上に述べたように、この実施の形態によれば、使用者がデータベース2に情報を登録する際に、重複する可能性のある情報を使用者に提示するため、新しく登録する情報が、重複レコードとなることを防ぐことができる。
また、検索部14がデータベース2に登録されている情報を検索し、検索料金算出部15が、検索部14が行った情報の検索に応じた料金を算出するため、重複レコード検出システム20の所有者は、料金を使用者またはデータベース2の所有者または管理者に請求することができる。
実施の形態7.
本発明の第7の実施の形態を、図面を参照して説明する。図15は、本発明の第7の実施の形態の一構成例を示すブロック図である。
本発明の第7の実施の形態の構成は、第5の実施の形態の構成に、重複レコード削除部12がデータベース2から削除した情報に応じて、データベース2の所有者等に請求する料金を算出する削除料金算出部16を加えたものであり、その他の構成要素は第5の実施の形態と同様なため、その他の構成要素には図13と同じ符号を付し、説明を省略する。
重複レコード削除部12は、第5の実施の形態における動作と同様の動作を行い、重複レコードをデータベース2から削除する。
削除料金算出部16は、重複レコード削除部12がデータベース2から削除した情報に応じて、データベース2の所有者または管理者に請求する料金を算出する。
以上に述べたように、この実施の形態によれば、データベース2に登録されている重複レコードの削除に応じた料金を、データベース2の所有者または管理者に請求することができる。
なお、重複レコード検出システム20の所有者等は、重複レコード検出システム20に他のデータベースに登録されている情報を入力して、重複レコード削除部12に情報を削除させてもよい。すると、変換語候補抽出部10が、変換語を変換語辞書5に登録するため、重複レコード判定部7による重複レコードの判定精度を向上させることができる。そのため、例えば、第4の実施の形態で、使用者が、重複レコード候補が重複レコードであるか否かの判定を行う回数を減らすことができる。
本発明は、データベースに重複して登録されている情報を抽出するシステムに適用することができる。
本発明の第1の実施の形態の一構成例を説明するブロック図である。 データベースに登録されている情報の例を示す説明図である。 変換語辞書に登録されている情報の例を示す説明図である。 本発明の第1の実施の形態の動作を説明するフローチャートである。 本発明の第2の実施の形態の一構成例を示すブロック図である。 重複判定ルールの例を示す説明図である。 重複判定ルール記憶部が記憶している重複判定ルールの例を示す説明図である。 本発明の第3の実施の形態の一構成例を示すブロック図である。 本発明の第3の実施の形態の動作を説明するフローチャートである。 重複レコード判定部が重複レコードであると判定したレコードの組の例を示す説明図である。 本発明の第4の実施の形態の一構成例を示すブロック図である。 本発明の第4の実施の形態の動作を説明するフローチャートである。 本発明の第5の実施の形態の一構成例を示すブロック図である。 本発明の第6の実施の形態の一構成例を示すブロック図である。 本発明の第7の実施の形態の一構成例を示すブロック図である。
符号の説明
1 記憶部
2 データベース
3 類似度計算部
4 データベース情報入力部
5 変換語辞書
6 重複候補抽出部
7 重複レコード判定部
8 重複判定ルール記憶部
9 重複レコードデータベース
10 変換語候補抽出部
11 入出力部
12 重複レコード削除部
13 データベース登録部
14 検索部
15 検索料金算出部
16 削除料金算出部
20 重複レコード検出システム

Claims (14)

  1. 語の変換に用いられる辞書であって、当該語に対応する代表的な語である代表語を対応付けた辞書である代表語辞書と、相互に省略可能な前記代表語である省略可能語をグループ化した辞書である省略語辞書とを記憶する変換語記憶部と、
    複数の情報からなる複数のレコードを保持するデータベースの各レコード間の表記の類似度を計算する類似度計算部と、
    前記類似度計算部が計算した前記類似度が所定の値以上であるレコードの組み合わせである重複レコード候補を抽出する重複候補抽出部とを備え、
    前記類似度計算部は、前記各レコードに含まれる語のうち、前記代表語辞書に含まれる語を対応する代表語に変換し、当該代表語に隣接する位置に前記省略語辞書において当該代表語と同一のグループに含まれる代表語を追加し、代表語が追加された各レコード間の表記の類似度を計算する
    ことを特徴とする重複レコード検出システム。
  2. 変換語記憶部は、同義語を代表語として記憶し、
    類似度計算部は、データベースに登録されている各レコードに含まれる語を、対応する同義語に変換してレコード間の表記の類似度を計算する
    請求項1記載の重複レコード検出システム。
  3. データベースのレコードを構成し、前記データベースのレコードに登録されている情報が区切られる単位であるフィールドの情報を入力するデータベース情報入力部を含み、
    類似度計算部は、各レコード間の表記の類似度を前記フィールドごとに算出し、入力されたフィールドの情報に基づいて、フィールドごとに算出された類似度から、各レコード間の表記の類似度を計算する
    請求項1または請求項2記載の重複レコード検出システム。
  4. 重複候補抽出部が抽出した重複レコード候補が互いに同一の内容の情報のレコードの組み合わせである重複レコードであるか否かを類似度に応じて規定したルールである重複判定ルールを記憶する重複判定ルール記憶部と、
    前記重複判定ルール記憶部が記憶している前記重複判定ルールに規定された類似度と、各レコード間の類似度または各レコード間のフィールドごとの類似度との関係にもとづいて、前記重複レコード候補が前記重複レコードであるか否かを判定する重複レコード判定部とを含む
    請求項1から請求項のうちいずれか1項記載の重複レコード検出システム。
  5. 重複レコード判定部が重複レコードであると判定したレコード間で、異なる部分から導出される語の組を代表語候補として抽出し、抽出した代表語候補を代表語辞書に含めて変換語記憶部に記憶させる代表語候補抽出部を含む
    請求項記載の重複レコード検出システム。
  6. 代表語候補抽出部は、重複レコードと判定された2つのレコードのうち、一のレコードの文字列が他のレコードの文字列に含まれる場合、2つのレコードで異なる部分の文字列と、共通する部分の文字列との組を、省略可能語候補として抽出し、抽出した省略可能語候補を省略語辞書に含めて変換語記憶部に記憶させる
    請求項記載の重複レコード検出システム。
  7. 代表語候補抽出部は、データベース内のレコードのうちのいずれかのレコードにおいて、抽出された代表語候補に含まれる語を全て含むレコードが存在する場合、当該代表語候補を、省略可能語候補とし、当該省略可能語候補を省略語辞書に含めて変換語記憶部に記憶させる
    請求項記載の重複レコード検出システム。
  8. 代表語候補抽出部は、抽出した代表語候補のうち、当該代表語候補に含まれる語を組み合わせた文字列が、他の代表語候補に含まれる語と一致する場合、当該代表語候補を、変換語記憶部に記憶させる対象の代表語候補から除外する
    請求項記載の重複レコード検出システム。
  9. 代表語候補抽出部は、抽出された省略可能語候補がいずれかの代表語候補に含まれる組の語をいずれも含んでいる場合、当該省略可能語候補を、変換語記憶部に記憶させる対象の代表語から除外する
    請求項記載の重複レコード検出システム。
  10. 重複レコード候補を出力し、使用者が、重複レコード候補が重複レコードであるか否かの判定を入力する入出力部を含み、
    重複レコード判定部は、重複候補抽出部が抽出した重複レコード候補のうち、重複判定ルールにより重複レコードでないと判定された重複レコード候補を、当該重複レコード候補に含まれる語の数の最も多い重複レコード候補から順に前記入出力部に出力する
    請求項から請求項のうちいずれか1項記載の重複レコード検出システム。
  11. 重複レコード判定部は、重複判定ルールにより重複レコードでないと判定された重複レコード候補のうち、重複すると判定されるレコードの組合せの数が多い順に、前記重複レコード候補を入出力部に出力する
    請求項10記載の重複レコード検出システム。
  12. 重複レコードであると重複レコード判定部、または入出力部を介して使用者に判定されたレコードの組み合わせを記憶する重複レコードデータベースと、
    前記重複レコードデータベースが記憶しているレコードの組み合わせを構成するレコードのうち、一のレコード以外のレコードをデータベースから削除する重複レコード削除部とを含む
    請求項10または請求項11記載の重複レコード検出システム。
  13. データベースに登録すべく使用者が入力した情報の語を、変換語記憶部が記憶している語に変換して、変換した語、または入力された前記情報の語と合致する語からなる情報を含むレコードをデータベースから抽出するデータベース登録部と、
    前記データベース登録部が抽出したレコードを表示する表示部とを含む
    請求項1から請求項12のうちいずれか1項記載の重複レコード検出システム。
  14. 語の変換に用いられる辞書であって、当該語に対応する代表的な語である代表語を対応付けた辞書である代表語辞書と、相互に省略可能な前記代表語である省略可能語をグループ化した辞書である省略語辞書とを記憶する変換語記憶部を備えたコンピュータに適用される重複レコード検出プログラムであって、
    前記コンピュータに、
    複数の情報からなる複数のレコードを保持するデータベースの各レコード間の表記の類似度を計算する類似度計算処理と、
    前記類似度計算処理で計算された前記類似度が、所定の値以上であるレコードの組み合わせである重複レコード候補を抽出する重複候補抽出処理とを実行させ
    前記類似度計算処理で、前記各レコードに含まれる語のうち、前記代表語辞書に含まれる語を対応する代表語に変換させ、当該代表語に隣接する位置に前記省略語辞書において当該代表語と同一のグループに含まれる代表語を追加させ、代表語が追加された各レコード間の表記の類似度を計算させる
    ための重複レコード検出プログラム。
JP2004355789A 2004-12-08 2004-12-08 重複レコード検出システム、および重複レコード検出プログラム Expired - Fee Related JP4687089B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004355789A JP4687089B2 (ja) 2004-12-08 2004-12-08 重複レコード検出システム、および重複レコード検出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004355789A JP4687089B2 (ja) 2004-12-08 2004-12-08 重複レコード検出システム、および重複レコード検出プログラム

Publications (2)

Publication Number Publication Date
JP2006163941A JP2006163941A (ja) 2006-06-22
JP4687089B2 true JP4687089B2 (ja) 2011-05-25

Family

ID=36665883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004355789A Expired - Fee Related JP4687089B2 (ja) 2004-12-08 2004-12-08 重複レコード検出システム、および重複レコード検出プログラム

Country Status (1)

Country Link
JP (1) JP4687089B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526486B2 (en) 2006-05-22 2009-04-28 Initiate Systems, Inc. Method and system for indexing information about entities with respect to hierarchies
US7698268B1 (en) 2006-09-15 2010-04-13 Initiate Systems, Inc. Method and system for filtering false positives
US8515926B2 (en) 2007-03-22 2013-08-20 International Business Machines Corporation Processing related data from information sources
JP5392077B2 (ja) 2007-05-31 2014-01-22 日本電気株式会社 オントロジ処理装置、オントロジ処理方法、及びオントロジ処理プログラム
US8713434B2 (en) 2007-09-28 2014-04-29 International Business Machines Corporation Indexing, relating and managing information about entities
BRPI0817507B1 (pt) 2007-09-28 2021-03-23 International Business Machines Corporation Método para análise de um sistema para associação de registro de dados, mídia de armazenamento legível por computador e sistema computacional para análise de um centro de identidade
AU2008350882A1 (en) * 2008-02-22 2009-08-27 Lead Horse Technologies, Inc. Automated ontology generation system and method
JP5347459B2 (ja) * 2008-12-02 2013-11-20 日本電気株式会社 同一性判定システム、同一性判定方法及び同一性判定プログラム
JP5167202B2 (ja) * 2009-06-24 2013-03-21 株式会社日立システムズ カナ氏名によるデータの名寄せ処理方法および名寄せ処理システム、ならびにそのためのプログラム
KR101758669B1 (ko) * 2010-01-13 2017-07-18 아브 이니티오 테크놀로지 엘엘시 매치를 특징화하는 규칙을 사용하는 메타데이터 소스의 매칭
JP5577228B2 (ja) * 2010-12-13 2014-08-20 日本放送協会 概念処理装置及びプログラム
CN105988988A (zh) * 2015-02-13 2016-10-05 阿里巴巴集团控股有限公司 文本地址处理方法及装置
JP2019159837A (ja) * 2018-03-13 2019-09-19 日本電気株式会社 データベース結合装置、データベース結合方法及びデータベース結合プログラム
WO2022259336A1 (ja) * 2021-06-07 2022-12-15 日本電気株式会社 情報処理装置、情報処理方法、およびプログラム
CN113722377A (zh) * 2021-08-30 2021-11-30 武汉海云健康科技股份有限公司 一种药品标准库的搭建方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003173345A (ja) * 2001-12-05 2003-06-20 Nippon Telegr & Teleph Corp <Ntt> データベース生成装置、データベース生成方法及びデータベース生成処理プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3442422B2 (ja) * 1993-03-15 2003-09-02 株式会社東芝 同義語情報作成装置および方法
JPH07192053A (ja) * 1993-12-27 1995-07-28 Nippon Telegr & Teleph Corp <Ntt> 顧客名の読みを決定する方法およびこの方法を実施する顧客名集約方法
JPH10275159A (ja) * 1997-03-31 1998-10-13 Nippon Telegr & Teleph Corp <Ntt> 情報検索方法及び装置
JPH11184884A (ja) * 1997-12-24 1999-07-09 Ntt Data Corp 同一人判定システムおよび方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003173345A (ja) * 2001-12-05 2003-06-20 Nippon Telegr & Teleph Corp <Ntt> データベース生成装置、データベース生成方法及びデータベース生成処理プログラム

Also Published As

Publication number Publication date
JP2006163941A (ja) 2006-06-22

Similar Documents

Publication Publication Date Title
JP4687089B2 (ja) 重複レコード検出システム、および重複レコード検出プログラム
JP3160201B2 (ja) 情報検索方法、情報検索装置
JP5587493B2 (ja) アクショナブルな属性を、個人識別を表すデータに帰する方法及びシステム
JP2832988B2 (ja) データ検索システム
US20070067285A1 (en) Method and apparatus for automatic entity disambiguation
US20050278292A1 (en) Spelling variation dictionary generation system
WO2008032780A1 (fr) Procédé de recherche, procédé de calcul de similarité, calcul de similarité, système d&#39;appariement de mêmes documents et programme de ceux-ci
JP4894510B2 (ja) 文献検索プログラム、文献検索装置、文献検索方法
JP6476886B2 (ja) キーワード抽出システム、キーワード抽出方法、及び、コンピュータ・プログラム
JP6470249B2 (ja) データクレンジングシステム、データクレンジング方法及びデータクレンジングプログラム
JP4015661B2 (ja) 固有表現抽出装置、方法、プログラム及びそれを記録した記録媒体
JPH09319767A (ja) 類義語辞書登録方法
JP2821213B2 (ja) データベースのマッチング方法
JP2007026116A (ja) 概念検索システム及び概念検索方法
JP4572265B2 (ja) 実績管理支援システム及び実績管理支援プログラム
JP2002091961A (ja) コーパス誤りの検出・修正システム,コーパス誤りの検出・修正処理方法およびそのプログラム記録媒体
JP4505236B2 (ja) 特許・実用新案文献検索システムおよびプログラム
JP4139805B2 (ja) 字句をデータに変換する装置、方法及びプログラム
JP4076533B2 (ja) 情報変換装置及びプログラム
JP2002197116A (ja) 検索装置
JP2007299028A (ja) 情報処理装置
CN115640445A (zh) 搜索请求响应方法、装置、计算机设备及存储介质
JP6251004B2 (ja) 転用状況可視化システム及び転用状況可視化方法
CN114692023A (zh) 地点检索方法、电子设备以及存储介质
Lin et al. Strategies of Processing Japanese Names and Character Variants in Traditional Chinese Text

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110131

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees