(57)【特許請求の範囲】
【請求項１】
住所情報及び名義情報を含む入力データの集合に対してデータ間の照合を行って一致度を求め、該一致度を用いて重複しているデータを削除してデータベースを生成する装置であって、
地名、番地、号、建物名等の単語情報を登録した住所解析用単語辞書と、地名と住所コードの対応を登録した住所テーブルと、姓・名や企業名・部門名等の単語情報を登録した名義解析用単語辞書と、住所及び名義の照合条件と照合結果の評価値との対応を定義した照合関数定義ファイルと、住所の照合結果の評価値と名義の照合結果の評価値によるデータ一致条件とデータ一致度との対応を定義したデータ一致判定定義ファイルとを記憶した記憶手段と、
入力されたデータの住所情報について、前記住所解析用単語辞書を用いて地名、番地、号、建物名等に分解し、前記住所テーブルを用いて、前記地名は住所コードに置き換えて、各住所項目ごとに細分化した住所情報を得る住所解析手段と、
前記入力されたデータの名義情報について、前記名義解析用単語辞書を用いて個人・法人等の区別、姓・名や企業名・部門名等に分解して、各名義項目ごとに細分化した名義情報を得る名義解析手段と、
前記各住所項目ごとに細分化された住所情報及び前記各名義項目ごとに細分化された名義情報を含むデータの集合を対象に、前記データ集合中のそれぞれ二つのデータについて、前記照合関数定義ファイル及び前記データ一致判定定義ファイルを用いて前記二つのデータ間の一致度を決定する照合手段とを有し、
前記照合手段は、
前記照合関数定義ファイル中の住所コードと番地と号との組の一致の度合いと住所コードの評価値との対応表をもとに、各住所情報中の住所コードと番地と号との組に対応する住所コードの評価値を求め、
前記照合関数定義ファイル中の建物名の一致の度合いと建物名の評価値との対応表をもとに、各住所情報中の建物名に対応する建物名の評価値を求め、
前記照合関数定義ファイル中の住所コードの評価値と建物名の評価値の組と住所の評価値との対応表をもとに、前記住所コードの評価値と前記建物名の評価値との組に対応する住所の評価値を求め、
前記照合関数定義ファイル中の法人名の一致の度合いと法人名の評価値との対応表をもとに、名義情報中の法人名に対応する法人名の評価値を求め、
各名義情報中に部門名が含まれる場合には、前記照合関数定義ファイル中の部門名の一致の度合いと部門名の評価値との対応表をもとに、名義情報中の部門名に対応する部門名の評価値を求め、
前記照合関数定義ファイル中の法人名の評価値、または法人名の評価値と部門名の評価値の組、と名義の評価値との対応表をもとに、前記法人名の評価値、または前記法人名の評価値と前記部門名の評価値との組、に対応する名義の評価値を求め、
前記データー致判定定義ファイル中の住所の評価値と名義の評価値の組とデータ間の一致度との対応表をもとに、前記住所の評価値と名義の評価値の組に対応する前記二つのデータ間の一致度を決定する、
ことを特徴とするデータベース生成装置。
【請求項２】
請求項１記載のデータベース生成装置において、照合手段は、前記照合関数定義ファイルの住所及び名義の照合条件をもとに、住所情報や名義情報の選択された照合項目の完全一致、文字単位の一致、単語単位の一致照合を行うことを特徴とするデータベース生成装置。
【請求項３】
請求項１もしくは２記載のデータベース生成装置において、照合手段は、住所解析手段にて一つのデータの住所情報について複数の住所コードが得られた場合、当該データに対して、各住所コード対応の複数のデータを生成し、それぞれ別のデータとして照合することを特徴とするデータベース生成装置。
【請求項４】
請求項１、２もしくは３記載のデータベース生成装置において、
住所項目や名義項目を基準にデータ集合をグループ化する条件（以下、グルーピング条件）を定義したグルーピング条件定義ファイルと、各住所項目ごとに細分化された住所情報及び各名義項目ごとに細分化された名義情報を含むデータの集合を、前記グルーピング条件定義ファイルのグルーピング条件をもとにグループ化するグルーピング手段とを具備し、
照合手段は、前記グルーピング手段でグループ化された各グループごとに、当該グループ内のデータ間の照合を行うことを特徴とするデータベース生成装置。
【請求項５】
データ処理装置が、記憶装置に記憶された、地名、番地、号、建物名等の単語情報を登録した住所解析用単語辞書と、地名と住所コードの対応を登録した住所テーブルと、姓・名や企業名・部門名等の単語情報を登録した名義解析用単語辞書と、住所及び名義の照合条件と照合結果の評価値との対応を定義した照合関数定義ファイルと、住所の照合結果の評価値と名義の照合結果の評価値によるデータ一致条件とデータ一致度との対応を定義したデータ一致判定定義ファイルを用いて、住所情報及び名義情報を含む入力データの集合に対してデータ間の照合を行って一致度を求め、該一致度を用いて重複しているデータを削除してデータベースを自動生成する方法であって、
前記データ処理装置は、
入力されたデータの住所情報について、前記記憶装置に記憶された前記住所解析用単語辞書を用いて、地名、番地、号、建物名等に分解し、前記記憶装置に記憶された前記住所テーブルを用いて、前記地名は住所コードに置き換えて、各住所項目ごとに細分化した住所情報を得る住所解析過程と、
前記入力されたデータの名義情報について、前記記憶装置に記憶された前記名義解析用単語辞書を用いて、個人・法人等の区別、姓・名や企業名・部門名等に分解して、各名義項目ごとに細分化した名義情報を得る名義解析過程と、
前記各住所項目ごとに細分化された住所情報及び前記各名義項目ごとに細分化された名義情報を含むデータの集合を対象に、前記データ集合中のそれぞれ二つのデータについて、前記記憶装置に記憶された前記照合関数定義ファイル及び前記データ一致判定定義ファイルを用いて前記二つのデータ間の一致度を決定する照合過程とを実行し、
前記照合過程では、
前記照合関数定義ファイル中の住所コードと番地と号との組の一致の度合いと住所コードの評価値との対応表をもとに、各住所情報中の住所コードと番地と号との組に対応する住所コードの評価値を求め、
前記照合関数定義ファイル中の建物名の一致の度合いと建物名の評価値との対応表をもとに、各住所情報中の建物名に対応する建物名の評価値を求め、
前記照合関数定義ファイル中の住所コードの評価値と建物名の評価値の組と住所の評価値との対応表をもとに、前記住所コードの評価値と前記建物名の評価値との組に対応する住所の評価値を求め、
前記照合関数定義ファイル中の法人名の一致の度合いと法人名の評価値との対応表をもとに、名義情報中の法人名に対応する法人名の評価値を求め、
各名義情報中に部門名が含まれる場合には、前記照合関数定義ファイル中の部門名の一致の度合いと部門名の評価値との対応表をもとに、名義情報中の部門名に対応する部門名の評価値を求め、
前記照合関数定義ファイル中の法人名の評価値、または法人名の評価値と部門名の評価値の組、と名義の評価値との対応表をもとに、前記法人名の評価値、または前記法人名の評価値と前記部門名の評価値との組、に対応する名義の評価値を求め、
前記データー致判定定義ファイル中の住所の評価値と名義の評価値の組とデータ間の一致度との対応表をもとに、前記住所の評価値と名義の評価値の組に対応する前記二つのデータ間の一致度を決定する、
ことを特徴とするデータベース生成方法。
【請求項６】
請求項５記載のデータベース生成方法において、前記照合過程では、住所及び名義の照合判定ルールをもとに、住所情報や名義情報の選択された照合項目の完全一致、文字単位の一致、単語単位の一致照合を行うことを特徴とするデータベース生成方法。
【請求項７】
請求項５もしくは６記載のデータベース生成方法において、前記照合過程では、住所解析過程にて一つのデータの住所情報について複数の住所コードが得られた場合、当該データに対して、各住所コード対応の複数のデータを生成し、それぞれ別のデータとして照合処理することを特徴とするデータベース生成方法。
【請求項８】
請求項５、６もしくは７記載のデータベース生成方法において、
前記記憶装置は、住所項目や名義項目を基準にデータ集合をグループ化するグルーピング条件を定義したグルーピング条件定義ファイルをさらに記憶し、
前記データ処理装置は、前記照合過程の前に、各住所項目ごとに細分化された住所情報及び各名義項目ごとに細分化された名義情報を含むデータの集合を、前記グルーピング条件定義ファイルのグルーピング条件をもとにグループ化するグルーピング過程を実行し、前記照合過程では、前記グルーピング過程でグループ化された各グループごとに、当該グループ内のデータ間の照合を行うことを特徴とするデータベース生成方法。
【請求項９】
請求項５、６、７もしくは８記載のデータベース生成方法の全過程をコンピュータに実行させるデータベース生成処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、表記の間違いの修正や、表記の統一、重複データのチェックといったデータベースの品質向上に利用可能なデータベース生成装置及び方法、並びにデータベース生成処理プログラムに関する。
【０００２】
【従来の技術】
手持ちの顧客データを用いて顧客データベース等を作成する時、住所や名義に間違いがあったり、表記の形式が統一されていない場合がある。また、チェック漏れで重複して顧客が登録されている場合もある。また、複数のデータベースから一つの統合したデータベースを作成する場合、データベースを作成した組織が違うと住所や名義の表現形式が違い、そのままでは同一データと判定できない場合もある。
【０００３】
従来、住所や名義を含むデータの集合に対して、データ間の照合を行い、重複しているデータのうち一つを残すなどして重複データを削除（いわゆる同一データの名寄せ）してデータベースを生成する場合、住所の照合は、データ中の住所項目を比較対象とし、住所項目が文字列ならば文字単位の一致率での判定、住所コード、郵便番号等のコードならばコードの一致桁数での判定を行っている。また、名義表記に関しても名義欄の文字列をそのまま文字単位の一致率で判定を行っている。なお、文字列単位の一致率には、例えば、特開平１０−１５４１６１号公報に記載のように、文字列間で一致する連続文字列数を調べ、連続文字列数に対する一致文字列数の割合を利用する方法がある。
【０００４】
【発明が解決しようとする課題】
住所には都道府県、市区郡町村、町大字、字丁目、番地、号の様にコード化できる部分と建物名の様にコード化できない部分がある。住所を文字列で比較する場合は次のような問題がある。▲１▼丁目・番地・号の表記には「１丁目２番３号」「１−２−３」「１の２の３」「一ノニノ三（縦書きの時）」など種々の表記がある。▲２▼都道府県名や郡名を省略する。「横浜市中区山下町」「埼玉県横瀬町芦ヶ久保」などがその一例である。▲３▼「大字」「字」は頻繁に省略される。例えば、「名古屋市千種区天白町（大字）植田」「新城市（字）鹿原」などである。このため、字丁目までを文字列で比較することは表記の曖昧性のため困難である。
【０００５】
また、番地・号までを含む住所コードや郵便番号、カスタマーバーコードなどで住所を比較する方法がある。しかし、コード化できない建物名は無視して比較するので、建物名を含む住所と建物名を省略した住所の比較、数字を含む建物名、階と部屋番号を含む住所では正確な比較は難しい。例えば、「新川町３丁目新川ビル２０３」と「新川町３−５−１新川ビル」の様に建物名は正確であるが、番地・号を省略した場合や、「新川３−５新川ビル３」と「新川３−５−３茅場ビル」の様にビル名を無視し、数字だけを取り出してコード化すると誤照合する場合もある。
【０００６】
また、名義表記を文字単位で照合する方法では、次の問題がある。文字列で表される企業名や建物名にはキーとなる重要な単語があり、間違えたり省略することが少ない。創業者の姓（鈴木）や企業固有名（ＮＴＴ等）及び、職種を表す単語（電器、弁護士、商店など）などがこれに当たる。一方、重要でない単語には冠称地名（日本、東京など）、修飾語（公認、一級など）が相当する。姓・固有名・職種は間違えにくく、省略されることも少ない。しかし、冠称地名や修飾語は省略されやすい。文字単位での照合は、こういった単語による重みの違いを考慮せず行われるので、「鈴木公認会計士事務所」と「鈴村公認会計士事務所」が一致したり、「日本００協会」と「００協会事務局」が不一致になる場合がある。また、「海外青年協力隊」「青年海外協力隊」の様に語順逆転などの場合は不一致となる。
【０００７】
本発明の目的は、住所や名義の情報が不完全であっても的確な住所や名義の照合を行うことで、データの重複を除去でき、データベースの品質向上が期待できるデータベース生成装置及び方法、並びにデータベース生成処理プログラムを提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、入力されたデータの住所情報について、地名、番地、号、建物名等の単語情報を登録した住所解析用単語辞書を用いて地名、番地、号、建物名等に分解し、地名と住所コードの対応を登録した住所テーブルを用いて、前記地名は住所コードに置き換えて、各住所項目ごとに細分化した住所情報を得る住所解析手段と、入力されたデータの名義情報について、姓・名や企業名・部門名等の単語情報を登録した名義解析用単語辞書を用いて個人・法人等の区別、姓・名や企業名・部門名等に分解して、各名義項目ごとに細分化した名義情報を得る名義解析手段と、前記各住所項目ごとに細分化された住所情報及び前記各名義項目ごとに細分化された名義情報を含むデータの集合を対象に、前記データ集合中のそれぞれ二つのデータについて、住所及び名義の照合条件と照合結果の評価値との対応を定義した照合関数定義ファイル及び住所の照合結果の評価値と名義の照合結果の評価値によるデータ一致条件とデータ一致度との対応を定義したデータ一致判定定義ファイルを用いて、前記二つのデータ間の一致度を決定する照合手段とを設ける。
ここで、前記照合手段は、
（ａ）  前記照合関数定義ファイル中の住所コードと番地と号との組の一致の度合いと住所コードの評価値との対応表をもとに、各住所情報中の住所コードと番地と号との組に対応する住所コードの評価値を求め、
（ｂ）  前記照合関数定義ファイル中の建物名の一致の度合いと建物名の評価値との対応表をもとに、各住所情報中の建物名に対応する建物名の評価値を求め、
（ｃ）  前記照合関数定義ファイル中の住所コードの評価値と建物名の評価値の組と住所の評価値との対応表をもとに、前記住所コードの評価値と前記建物名の評価値との組に対応する住所の評価値を求め、
（ｄ）  前記照合関数定義ファイル中の法人名の一致の度合いと法人名の評価値との対応表をもとに、名義情報中の法人名に対応する法人名の評価値を求め、
（ｅ）  各名義情報中に部門名が含まれる場合には、前記照合関数定義ファイル中の部門名の一致の度合いと部門名の評価値との対応表をもとに、名義情報中の部門名に対応する部門名の評価値を求め、
（ｆ）  前記照合関数定義ファイル中の法人名の評価値、または法人名の評価値と部門名の評価値の組、と名義の評価値との対応表をもとに、前記法人名の評価値、または前記法人名の評価値と前記部門名の評価値との組、に対応する名義の評価値を求め、
（ｇ）  前記データー致判定定義ファイル中の住所の評価値と名義の評価値の組とデータ間の一致度との対応表をもとに、前記住所の評価値と名義の評価値の組に対応する前記二つのデータ間の一致度を決定する。
【０００９】
住所の照合においては、複数の照合項目を選択できる。例えば照合項目として住所コードと建物名を選択すると、「新川町３丁目新川ビル２０３」と「新川町３−５−１新川ビル」の様に番地や号が省略されていても、町名や丁目が一致し、建物名が一致と見なせれば、住所が一致していると見なすことができる。また、住所の解析では建物名を切り出すので、「新川３−５新川ビル３」と「新川３−５−３茅場ビル」の場合は号及び建物名が異なるので一致とは見なさない。
【００１０】
このように、住所や名義の照合において、それを構成する詳細項目に関して照合を行って、その照合結果を組み合わせて住所や名義の一致度（評価値）を算出することにより、住所や名義の情報が不完全であっても的確な住所や名義の照合を行え、照合率が向上するという利点がある。さらに、データ間の一致度を住所と名義の照合結果の評価値で定義し、住所や名義の照合結果の評価値は住所情報や名義情報の詳細な構成項目の照合条件により定義していくといった照合ルールの階層的な構成により、全ての詳細項目の照合結果からデータ間の一致度を定義する非階層的な構成に比べ、照合ルールを記述する際、人間の直観に則しており、照合ルールを定義しやすいという利点がある。
【００１１】
また、名義の解析では、まず、名義を法人名、部門名に分割し、さらに法人名・部門名も単語に分割し、各単語に意味を付与しておく。照合処理においては、法人名・部門名から重要と判断される単語を取り出して照合する。重要な単語の判断は法人名・部門名を構成する各単語にふられた意味により行う。その結果、名義を構成する単語の中で重要な単語を重視して照合を行うので、重要でない単語に省略や誤謬があったり、単語列に語順逆転があっても的確な照合が可能となる。たとえば、「鈴木公認会計士事務所」と「鈴村公認会計士事務所」では名義中で重要な意味である姓を表す単語「鈴木」と「鈴村」が一致してないので不一致であるが、「鈴木隆公認会計事務所」と「鈴木会計事務所」では姓（「鈴木」）と職業（「会計」と「事務所」）を表す単語が一致するので両者は一致という結果になる。また、「日本作家協会」と「作家協会事務局」の例では職業を表す「作家」「協会」が一致するので両者は一致と判断できる。また、単語単位での照合なので「海外青年協力隊」「青年海外協力隊」の様に語順逆転にも対応できる。
【００１２】
さらに本発明では、住所解析手段で、一つのデータに対し複数の住所コードが出力されたとき、照合手段は、各々の住所コードについて照合を行い、その結果、一致したデータをすべて出力する。これにより、一致データに洩れがないようにすることができる。
【００１３】
また、本発明では、各住所項目ごとに細分化された住所情報及び各名義項目ごとに細分化された名義情報を含むデータの集合を、住所項目や名義項目を基準にデータ集合をグループ化する条件を定義したグルーピング条件定義ファイルをもとにグループ化するグルーピング手段を設け、照合手段では、前記グループ化された各グループごとに、当該グループ内のデータ間でのみの照合処理を行うようにする。これにより、一つのデータと照合するデータが全データであるときよりも、より高速に照合処理を行うことが可能となる。
【００１４】
【発明の実施の形態】
以下、本発明の一実施例について、図面を参照して説明する。
図１は、本発明の一実施の形態のデータベース生成装置の構成例を示す図である。本データベース生成装置は所謂コンピュータ利用装置であり、ＣＰＵ等のデータ処理装置１０、ハードディスク等の外部記憶装置２０及びＲＡＭ等の一時記憶装置３０などで構成される。他にキーボードやマウス、ディスプレィ、ネットワークとの通信装置などを具備するが、図１では省略してある。
【００１５】
ここで、データ処理装置１０は、本発明に関係する手段（機能）として、データ入力手段１１、住所解析手段１２、名義解析手段１３、グルーピング手段１４、照合手段１５、照合結果出力手段１６を有する。なお、後述するように、グルーピング手段１４は、データのグルーピングが不要の場合には省略することができる。外部記憶装置２０は住所解析用単語辞書２１、住所テーブル２２、名義解析用単語辞書２３、グルーピング条件定義ファイル２４、データ一致判定定義ファイル２６、照合関数定義ファイル２６などを格納している。また、外部記憶装置２０には、最終的に生成されたデータベース等も格納されるが、図１では省略してある。一時記憶装置３０には、データ処理装置１０での処理途中結果のデータ、外部記憶装置２０から読み込まれた辞書、テーブル、ファイルなどが一時的に格納される。
【００１６】
図２は、本発明の一実施の形態のデータベース生成方法の処理フローチャートを示す図であり、各ステップ１１１〜１１６は図１の各手段１１〜１６に対応する。以下に、図２のフローチャートに従って、図１の構成例の動作概要を説明する。具体的処理については後述する。
【００１７】
まず、データ入力手段１１から、処理対象の住所情報及び名義情報を含むデータの集合が入力される（ステップ１１１）。処理対象のデータ集合は、ユーザが直接入力したものでも、あるいは、あらかじめ作成されたデータベースでも、その他、どのような形式で入力されたものでもよい。例えば、データベースの場合には、入力されたデータベースのデータ集合に対して、データ間の照合を行い、同一データの名寄せを行うことで、重複データなしのデータベースが再構築されることになる。この結果、データの照合率が向上する。
【００１８】
住所解析手段１２では、入力された各データについて、住所解析用単語辞書２１及び住所テーブル２２を用いて住所情報を解析し、住所情報を都道府県から字丁目等までの住所コード、番地・号、建物名、棟・階・部屋番号などに分解する（ステップ１１２）。すなわち、各住所項目ごとに細分化された住所情報を得る。次に、名義解析手段１３では、名義解析用単語辞書２３を用いて名義情報を解析し、個人名の時は姓・名・敬称その他に分解し、企業名の時は法人種別・法人名・部門名などに分解する（ステップ１１３）。すなわち、各名義項目ごとに細分化された名義情報を得る。同時に法人名・部門名も単語に分解し、各単語に意味を付与しておく。同様に建物名も単語分解し、構成単語に意味を付与しておく。入力された各データについて、住所と名義を解析した結果は、一時記憶装置３０に格納される。
【００１９】
グルーピング手段１４は、一時記憶装置３０に格納された全データについて、グルーピング条件定義ファイル２４に定義されている住所項目や名義項目を基準とするグルーピング条件に従ってグループ化する（ステップ１１４）。グルーピング条件は複数定義してもよい。このグルーピング処理は、データ数が多くて、次の照合処理で全データ間の照合を行ったのでは時間が掛りすぎるような場合に実施し、データ数が少ない場合は飛ばしてもよい。また、照合処理で時間の掛かることを許容する場合は、初めからグルービング手段１４はなくてもよい。
【００２０】
次に、照合手段１５は、データ一致判定定義ファイル２５に記述されいるデータ一致判定ルール及び照合関数定義ファイル２６に記述されている住所と名義の照合判定ルールに従って、一時記憶装置３０に格納されている全データ間の照合を行い、データ間の一致度を判定する（ステップ１１５）。ここでは、データ間の一致度を一致（ユーザチェック不要）、見なし一致（ユーザチェック要）、不一致の三つに分類するとする。なお、グルーピング手段１４により一時記憶装置３０に格納されているデータが複数にグルーピングされている場合、照合手段１５では、各グループ内のデータ同士でのみ照合を行えばよい。
【００２１】
照合結果出力手段１６は、照合手段１５による照合結果を出力する（ステップ１１６）。ユーザは、該照合結果を確認し、例えば、見なし一致と判定されたデータ同士については、一致あるいは不一致と決定する。また、一致あるいは不一致と判定されたデータ同士についても、必要なら照合結果を変更する。最終的にデータベースを生成する場合、一致と判定・決定されたデータ集合は、例えば、そのうちの一つを選択して他のデータは削除することで、重複データをなくす。なお、照合結果出力手段１６では、照合手段１５による照合結果をファイル等に出力し、後日、データベース生成に供することでもよい。
【００２２】
図３に、照合手段１５における照合処理（図２のステップ１１５）の詳細フローチャートを示す。データベースの性質は種々雑多なので、重複チエックをする方法もデータベースで異なる。そこで、ここでは照合結果（一致度）を一致、見なし一致、不一致の三つに分類し、データ一致判定ルールと照合判定ルール（照合関数）をユーザが定義できるようにする。データ一致判定ルールはデータ一致判定定義ファイル２５に記述され、照合判定ルールは照合関数定義ファイル２６に記述される。ここで、データ一致判定定義ファイル２５のデータ一致判定ルールでは、住所の照合結果の評価値と名義の照合結果の評価値とによるデータ間の一致条件とデータ一致度の対応を定義する。照合関数定義ファイル２６の照合判定ルールは、住所の照合判定ルール（住所の照合関数）と名義の照合判定ルール（名義の照合関数）からなり、住所の照合判定ルールでは、住所の照合条件と照合結果の評価値との対応を定義し、名義の照合判定ルールでは、名義の照合条件と照合結果の評価値との対応を定義する。なお、データ一致判定定義ファイル２５及び照合関数定義ファイル２６の具体例については後述する。
【００２３】
一時記憶装置３０には、入力されたデータの集合について、各住所項目ごとに細分化された住所情報及び各名義項目ごと細分化された名義情報を含むデータの集合が格納されている。照合手段１５では、該一時記憶装置３０から照合する二つのデータを取り込み（ステップ１１５１）、まず、照合関数定義ファイル２６内の住所の照合判定ルール（照合関数）に従い、両データについて、住所解析手段１２で得られている各住所項目から住所の照合項目を選択して住所情報の照合を行い（ステップ１１５２）、住所の照合結果に対応する評価値を求める（ステップ１１５３）。次に、照合関数定義ファイル２６内の名義の照合判定ルール
（照合関数）に従い、両データについて、名義解析手段１３で得られている各名義項目から名義の照合項目を選択して名義情報の照合を行い（ステップ１１５４）、名義の照合結果に対応する評価値を求める（ステップ１１５５）。次に、この求まった住所と名義の照合結果に対応する評価値を組み合わせ（ステップ１１５６）、データ一致判定定義ファイル２５のデータ一致判定ルールに従ってデータ間の一致度（一致、見なし一致、不一致）を判定する（ステップ１１５７）。以上の処理を一時記憶装置３０内の各データについて繰り返し、照合する対象データがなくなったなら、照合処理を終了とする（ステップ１１５０）。
【００２４】
以下に、図１の実施の形態にもとづき一実施例を具体的に説明する。
図４は、データ入力手段１１により入力されるデータの一例である。住所は都道府県市区郡町村から建物名・部屋番号まで連続して入力され、都道府県は省略される場合もある。企業名は法人種別・法人名・部門名が連続して入力されている。個人名の場合は姓・名・敬称などが連続して入力される。
【００２５】
住所解析手段１２では、入力された住所データに対し、正式住所表記を求め、住所コードに変換し、さらに、建物名・棟・階・部屋番号などを分離する。具体的には、住所解析手段１２では、まず、地名・番地・建物名等の単語情報が登録された住所解析用単語辞書２１を用いて、入力された住所データを単語に分割し、都道府県、市区郡町村、町大字、字丁目、番地、号、さらに建物名、棟・階・部屋番号及びその他の情報に分解する。次に、住所解析手段１２では、地名と住所コードを対応付けて登録された住所テーブル２２を用いて、コードで表せる都道府県から字丁目等までを住所コードに置き換える。図８に住所テーブル２２の一例を示す。住所コードは国土地理協会で規定しているコードに大町コードなどの独自のコードを追加し、コード上で包含関係が分かるようにしたもので、左から県コード、政令市・郡コード、一般市・区・町村コード、大町コード、町コードを表している。なお、住所コードとして、国土地理協会コードを用い、政令市と配下の区、郡と配下の町村、大町と配下の一般町の関係は別テーブルとして準備する方法でもよい。
【００２６】
図５（ａ）は住所解析結果の一例である。図５（ａ）に示すように、この住所解析処理により、入力された住所データは、都道府県から丁目レベルまでのコード化された部分と番地・号・棟・階・部屋番号に細分化され、表記が統一される。なお、この種の住所解析処理については、例えば特開２００１−１３４６０２号公報に詳述されている。
【００２７】
次に、名義解析手段１３では、姓・名や企業名・部門名等の単語情報が登録された名義解析用単語辞書２３を用いて、入力された名義データを単語に分解する。この結果、名義が個人名の時は姓・名・敬称その他に、企業名の時は法人種別・法人名・部門名に分解される。さらに、法人名・部門名と建物名を単語に分割し、各単語に意味を付与する。意味の一覧を図９に示す。
【００２８】
図５（ｂ）は、図５（ａ）の住所解析結果に対して、名義解析結果の例を示したものである。入力された各データについて、順次、図５（ｂ）に示すような、各住所項目ごとに細分化された住所情報及び各名義項目ごとに細分化された名義情報を含むデータの集合が一時記憶装置３０に格納される。
【００２９】
次に、グルーピング手段１４では、データ数が多くて、次の照合手段１５において全データの任意の２データ（レコード）間で照合を行うのでは時間がかかり過ぎる場合、グルーピング条件定義ファイル２４に定義されている住所項目や名義項目を基準としたグルービング条件をもとに、一時記憶装置３０に格納されている全データをグループ化する。図１０にグルーピング条件定義ファイル２４の一例を示す。ここでは、グルーピング条件をソートキーで区別し、各ソートキー毎に、該グルーピング条件をデータの項目名とグルーピング対象となる桁位置とで指定する。例えば、ソートキー１のレコードは、住所コードが先頭から８桁
（町大字までの住所コード）まで同じデータを同一グループにすることを意味している。ソートキー２のレコードは、名義の読み先頭一文字が同じデータを同一グループにすることを意味している。どのソートキー（グルーピング条件）を適用するかは、あらかじめユーザが指定しておく。この場合、複数のソートキーを指定してもかまわないが、適用する優先順位を定めておく。グルーピング処理では、指定されたソートキーのグルーピング条件をもとに、一時記憶装置３０に格納された全データをソートすることでグルーピングを行う。
【００３０】
図６はグルーピング結果の一例である。この例は、図１０に示したグルーピング条件定義ファイル２４に定義されているソートキー１を適用して、それぞれ、住所コードが先頭から８桁まで同じデータ集合を同一グループにグルーピングしたものである。ここで、さらに図１０に示したソートキー２を適用した場合には、図６の各グループ内は、同一姓あるいは同一法人名単位でさらにグルーピングされることになる。
【００３１】
次に、照合手段１５では、一時記憶装置３０に格納された全データについて、各データ間の照合を行う。この場合、図６に示すように、一時記憶装置３０内のデータがグループ化されていれば、各グループ単位でデータ間の照合を行うことができる。
【００３２】
照合手段１５での照合処理は、図３で説明したように、データ一致判定定義ファイル２５及び照合関数定義ファイル２６に定義されたデータ一致判定ルールと照合判定ルール（照合関数）を用いて行われる。ここでは、データ間一致度は、一致（ユーザチェック不要）、見なし一致（ユーザチェックが必要）、不一致と分類される。データ一致判定ルールと照合関数は、ユーザがあらかじめ定義しておく。
【００３３】
図１１は、データ一致判定定義ファイル２５の一例を示す。図１１に示すように、データ一致判定ファイル２５において、データ間の一致度を決定する項目と、データ間一致と見なせる各項目の評価値の下限の値、及びそれらに対応するデータ間の一致度を定義する。この例では、データ間の一致度を決定する項目は、住所と名義としている。１行目は、住所の照合結果の評価値が９０以上で、名義の照合結果の評価値が８０以上ならば、データ間は一致とすることを意味する。ここでは、各項目が一致といえるのは評価値が９０以上のときであり、見なし一致といえるのは評価値が８０以上のときであるつもりで定義している。従って、１行目は、住所が正確（一致）なら名義は多少不正確（見なし一致）でもよいことを表し、２行目は、名義が正確（一致）なら住所は多少不正確（見なし一致）でもよいことを表している。３行目は、住所も名義も見なし一致ならデータ間の一致度は見なし一致となることを表している。実際に照合過程でデータ間の照合を行う際は、１行目からチェックしていって、該当する行があればその一致度をデータ間の一致度として決定する。どの行にも該当しなければ、データ間の一致度は不一致とする。
【００３４】
図１２は、各照合項目に対する照合判定ルール（照合関数）を定義する照合関数定義ファイル２６の一例を示す。照合関数は住所と名義についてそれぞれ定義する必要がある。
【００３５】
図１２（ａ）は、住所の照合関数の一例を表す。まず、住所の照合結果の評価値（住所の一致度）を決定する項目と、住所が一致と見なせる各項目の評価値の下限の値、及びそれらに対応する住所の照合結果の評価値（一致度）を定義する。この例では、住所の照合結果の評価値（住所一致度）を決定する項目は、（番地・号を含む）住所コードと建物名としている。１行目は、住所コードの評価値（一致度）が１００で、建物名の評価値（一致度）が８０以上ならば、住所の照合結果の評価値（一致度）を９０とすることを意味する。後に述べる住所コードと建物名の評価値（一致度）の定義により、１行目は号まで一致していれば、建物名は省略されていても、住所は一致とすることを表している。同様に２行目は字丁目まで一致しているときは、建物名は正確（一致）であるとき、住所は一致とすることを表し、３行目は字丁目まで一致して、建物名が多少不正確（見なし一致）であるとき、住所は見なし一致とすることを表している。実際に照合過程で住所の照合を行う際は、１行目からチェックしていって、該当する行があればその評価値を住所の照合結果の評価値（一致度）として決定する。どの行にも該当しなければ、住所の照合結果の評価値（一致度）は０とする。
【００３６】
次に、住所の照合結果の評価値（一致度）を決定する各項目について、照合の際、適用する比較関数とその比較関数が返す結果の種類を指定し、また、比較関数が返す結果に対応する評価値（一致度）を定義する。比較関数そのものは、装置側で用意されている。
【００３７】
この例では、住所コードに適用する比較関数として桁一致関数を指定している。桁一致関数の返す結果としては、先頭から何桁目まで一致しているかを指定する。ここでは、「号まで一致」、「番地まで一致」、「字丁目まで一致」を指定しており、それぞれに対する評価値（一致度）も定義している。実際に桁一致関数が起動されたときは、照合対象のコードが先頭から何桁目まで一致しているかを出し、それに該当する指定桁数を決定し、該指定桁数に対応する評価値（一致度）を返す。該当する指定桁数がなければ、評価値（一致度）は０となる。
【００３８】
次に、建物名に適用する比較関数として、名義曖昧一致関数と文字単位一致関数と単語単位一致関数を指定している。
【００３９】
名義曖昧一致関数は、重み付けした単語単位の一致による照合を行う比較関数の一つである。名義曖昧一致関数は、照合対象項目の少なくとも一方が省略されているときは、「少なくとも一方が省略」を返す。そうでないときは、完全一致、揺らぎ削除一致、主要語一致、固有名一致の処理を順に行う。各処理は、直前の処理結果を入力として行う。どれかの処理で一致したならば、それより後の処理は実行しない。完全一致は項目値が完全に一致するとき、一致とする。揺らぎ削除一致は、長音・２重母音の揺らぎ、外来語の長音有無の揺らぎ、拗音促音の揺らぎ、英字の大文字小文字の揺らぎ、旧字体・新字体の揺らぎ、「・」等の不要記号有無の揺らぎなどを正規化して一致するとき、一致とする。主要語一致は、名・冠称地名・修飾語等の意味をもつ暖味語を削除して一致するとき、一致とする。固有名とは、企業名を識別する最小構成の語句であり、固有名一致は、姓・企業固有名と職業、職業語尾を取り出して一致するとき、一致とする。照合関数定義ファイル２−９で名義曖昧一致関数を指定するときは、この関数の返す結果のいずれかを指定し、指定結果に対する評価値（一致度）を定義する。実際に名義曖昧一致関数が起動されたときは、指定された処理のみを実行し、返した結果に対応する評価値（一致度）を返す。いずれの指定結果にもならなかったときは、評価値（一致度）は０となる。
【００４０】
文字単位一致関数を指定する際は、その関数が返す評価値（一致度）の最高点を指定する。この例では１００を指定している。実際に文字単位一致関数が起動されたときは、その点に（一致した文字数／全体の文字数）を掛けた点を一致度として返す。一致する文字を探索する際は、文字の出現順序を考慮する。
【００４１】
同様に、単語単位一致関数を指定する際も、その関数が返す評価値（一致度）の最高点を指定する。実際に単語単位一致関数が起動されたときは、その点に
（一致した単語数／全体の単語数）を掛けた点を評価値（一致度）として返す。一致する単語を探索する際は、単語の出現順序を考慮しない。このため、単語単位一致関数を使用すると、語順逆転が起こっていても照合可能である。さらに、単語数を計算する際、１単語を１個とカウントするのではなく、単語のもつ意味により単語を重み付けして、０〜１の範囲でカウントすることにより、重み付けした単語単位の一致による照合を行う比較関数にすることもできる。姓・企業固有名や職業、商品等の意味をもつ単語の重みは重くし、名・冠称地名・修飾語等の意味をもつ単語の重みを軽くすることが考えられる。
【００４２】
この例の建物名のように、照合項目に適用する比較関数を複数指定した場合、照合過程で当該項目の照合を行う際は、全ての比較関数を起動して、それぞれの比較関数の返す評価値（一致度）のうち最高のものを当該項目の評価値（一致度）とする。
【００４３】
図１２（ｂ）は、名義の照合関数を表す。名義も住所と同様の書き方をする。この例では、名義の照合結果の評価値（名義の一致度）を決定する項目は、法人名と部門名としている。１行目は、法人名が正確（一致）なら、部門名が不正確（見なし一致）であっても、名義は一致（評価値：９５）とすることを表し、２行目は、法人名が正確（一致）なら、部門名が不一致であっても、名義は一致
（評価値：９０）とすることを表している。また、３行目は、法人名が不正確
（見なし一致）なら、部門名の照合結果の如何に関わらず、名義は見なし一致
（評価値：８０）とすることを表している。法人名、部門名に関する照合条件の記述の仕方も、建物名と同様である。
【００４４】
ここでは、照合手段１５において、図６のグルーピング結果のデータ集合に対し、図１１の照合判定定義ファイルと図１２の照合関数定義ファイルの照合ルールに従って照合処理を行う場合について述べる。但し、単語単位一致関数は単語の重み付けをしないものとする。
【００４５】
図６のグループ１の２番目と３番目のデータについての照合において、住所コードは字丁目まで一致なので評価値８０であり、建物名は完全一致なので評価値１００である。従って、住所の照合結果の評価値は９０（一致）となる。２番目のデータの法人名は、「鈴木（姓）／隆（名）／公認（修飾語）／会計（商品）／事務所（職業語尾）」であり、主要語は「鈴木会計事務所」となるので、３番目のデータの法人名と主要語一致となる。文字単位一致関数や単語単位一致関数の返す評価値は、主要語一致の評価値９０より低いので、法人名の評価値は９０となる。部門名は両方ともないので評価値８０となり、従って、名義の照合結果の評価値は９５（一致）となる。結局、２番目と３番目のデータは一致と判定される。グループ１の１番目と２番目の組、及び１番目と３番目の組は不一致となることが同様にして得られる。
【００４６】
図６のグループ２の１番目と２番目のデータについての照合において、住所コードは号まで一致なので評価値１００であり、建物名は一方が省略されているので評価値８０である。従って、住所の照合結果の評価値は９０（一致）となる。１番目のデータの法人名は、「日本（冠称地名）／不動産（商品）／協会（職業語尾）」であり、主要語は「不動産協会」となるので、２番目のデータの法人名と主要語一致となる。文字単位一致関数や単語単位一致関数の返す評価値は、主要語一致の一致度９０より低いので、法人名の評価値は９０となる。部門名は全く異なるので評価値０となり、従って、名義の照合結果の評価値（一致度）は９０（一致）となる。結局、１番目と２番目のデータは一致と判定される。グループ２の１番目と３番目の組、及び２番目と３番目の組は不一致となることが同様にして得られる。
【００４７】
図６のグループ３の１番目と２番目のデータについての照合において、住所コードは字丁目まで一致なので評価値８０である。建物名はそれぞれ「三井（姓）／ビル（建物名）」、「三井（姓）／センター（建物名）」であり、主要語一致とはならないが、固有名はともに「三井」なので、固有名一致になる。文字単位一致関数や単語単位一致関数の返す評価値は、固有名一致の評価値８５より低いので、建物名の評価値は８５となる。従って、住所の照合結果の評価値（一致度）は８０（見なし一致）となる。法人名はそれぞれ「伊藤（姓）／英会話（商品）／教室（職業語尾）」、「伊藤（姓）／外国語（商品）／教室（職業語尾）」であり、主要語一致とはならないが、固有名はともに「伊藤教室」なので、固有名一致となる。文字単位一致関数や単語単位一致関数の返す評価値は、固有名一致の評価値８５より低いので、法人名の評価値は８５となる。部門名は両方ともないので一致度８０となり、従って、名義の照合結果の評価値（一致度）は８０（見なし一致）となる。結局、１番目と２番目のデータは見なし一致と判定される。
【００４８】
結局、図６のデータ集合について、図７に示すような照合結果が得られる。照合手段１５では、一致関係にあるデータには同一の一致ＩＤ及び見なし一致ＩＤを付与し、見なし一致関係にあるデータには同一の見なし一致ＩＤを付与し、どのデータ同士が名寄せされるべきか分かるようにする。
【００４９】
次に、住所解析過程で複数の住所コードが出力された場合の処理について説明する。住所解析結果、入力住所の曖昧さにより２つ以上の住所コードが出力される場合がある。例えば、大字や町の有無で町大字コードが異なる場合がある。
「川越市富士見町」と「川越市大字富士見」はどちらも正式住所名だが住所コードにおける町大字コードが異なる。もし、入力住所が「川越市富士見」であったなら、住所解析過程では「川越市富士見町」と「川越市大字富士見」に対応する２つの住所コードを出力する。このようなときは、データを一時記憶装置３０に格納する際、データを、得られた住所コード数だけコピーし、住所コードだけ異なるようにしておく。こうして展開されたデータをそれぞれ別データとして扱い（どの元データから展開されたかの情報は、最終的な出力結果で分かる必要があれば、各展開データに付与しておく）、以降の処理を行っていく。このようにすると、一致データに洩れがないようにすることができる。例えば、入力データ１「川越市富士見」と入力データ２「川越市大字富士見」があったとする。入力データ１は住所解析の結果、データ１’「川越市富士見町」とデータ１”「川越市大字富士見」に展開される。ここで、データ１’のみ残して照合処理を進めていった場合、データ１’（＝入力データ１）と入力データ２は一致と判断されない。しかし、データ１’とデータ１”の両方について照合処理を進めていけば、データ１”（＝入力データ１）と入力データ２は一致と判断され、入力データ１の側から見ても、入力データ２の側から見ても、一致するデータに洩れがないようにすることができる。
【００５０】
以上、本発明の典型的な一実施例について述べたが、本発明は、この実施例で述べたような１つのデータベース内での名寄せ処理だけでなく、一つの検索キーとなるデータと一致するデータをデータベース内から検索する処理や、２つのデータベースがあり、一方のデータベース中の各データと一致するデータをもう一方のデータベース中で特定し、２つのデータベースをリンク付けする処理にも適用できる。
【００５１】
また、照合関数定義ファイルにおける照合関数の記述においては、図１２（ａ）では、住所の照合条件の定義と、住所の構成項目の照合条件の定義の２段構成であるが、住所の構成項目の照合条件を、さらにそれを構成する項目の組み合わせで記述するといった、３段以上の構成にしてもよい。逆に、住所や名義の照合条件として、直接、比較関数を指定するといった１段構成にすることもできる。
【００５２】
住所や名義の照合結果の評価値を決定する項目として、住所解析や名義解析の結果得られる項目以外の項目を指定してもよい。例えば、住所の照合結果の評価値（一致度）を決定する項目として、すでに入力データにある郵便番号項目を含ませることができる。他にも、入力データに住所項目が無く、郵便番号項目と建物名項目がある場合、郵便番号項目と建物名項目からなりたつ仮想の住所項目があるものとして、住所の照合関数を記述することもできる。
【００５３】
また、データ一致判定定義ファイルにおけるデータの一致度を決定する要素として、例えば、建物名と法人名の照合結果をとることもできる。法人名がときとして、建物名にもなっている場合があるからである。これまで照合対象として、同一の項目の値同士を照合させることを考えてきたが、このように、２つの異なる項目の値同士を照合させることも考えることができ、照合判定定義ファイルや照合関数定義ファイルに記述する照合項目として、２つの異なる項目の組を記述することも可能である。
【００５４】
上記に挙げた以外にも、本発明は特許請求の範囲の記載内で、様々な変更や拡張が可能である。
【００５５】
なお、図１で示したデータ処理装置１０における各手段の一部もしくは全部の処理機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、あるいは、図２及び図３で示した処理手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもない。また、コンピュータでその処理機能を実現するためのプログラム、あるいは、コンピュータにその処理手順を実行させるためのプログラムは、コンピュータが読み取り可能な記憶媒体、例えば、ＦＤや、ＭＯ、ＲＯＭ、メモリカード、ＣＤ、ＤＶＤ、リムーバブルディスクなどに記録して、保存したり、提供したりすることができるとともに、インターネット等のネットワークを通してそのプログラムを配布したりすることが可能である。
【００５６】
【発明の効果】
以上説明したように、本発明では、住所や名義を構成する詳細項目に関する照合結果を組み合わせて住所や名義の一致度を算出するので、住所や名義の情報が不完全であっても的確な住所や名義の照合を行え、照合率が向上するという効果がある。また、照合ルールが人間の直観に即した階層的な構成であるので、照合ルールを定義するのが容易である。名義を照合する際は、名義を構成する単語の中で重要な単語を重視して照合を行うことで、重要でない単語に省略・誤謬があったり、単語列に語順逆転があっても的確な照合が可能である。また、複数に展開された住所コードの全てについて照合を行うことで、一致データに洩れがないようにすることができる。また、データのグルーピングにより、高速な照合処理が可能である。
【図面の簡単な説明】
【図１】本発明のデータベース生成装置の構成例を示すブロック図である。
【図２】本発明のデータベース生成方法のフローチャートの一例である。
【図３】照合処理の詳細フローチャートの一例である。
【図４】入力データの一例である。
【図５】住所と名義の解析結果の一例である。
【図６】グルーピング結果の一例である。
【図７】照合結果の一例である。
【図８】住所テーブルの一例である。
【図９】単語の意味一覧の一例である。
【図１０】グルーピング条件定義ファイルの一例である。
【図１１】データ一致判定定義ファイルの一例である。
【図１２】照合関数定義ファイルの一例である。
【符号説明】
１０    データ処理装置
１１    データ入力手段
１２    住所解析手段
１３    名義解析手段
１４    グルーピング手段
１５    照合手段
１６    照合結果出力手段
２０    外部記憶装置
２１    住所解析用単語辞書
２２    住所テーブル
２３    名義解析用単語辞書
２４    グルーピング条件定義ファイル
２５    データ一致判定定義ファイル
２６    照合関数定義ファイル
３０    一時記憶装置
【図１】
0003812818.tif 000002
【図２】
0003812818.tif 000003
【図３】
0003812818.tif 000004
【図４】
0003812818.tif 000005
【図５】
0003812818.tif 000006
【図６】
0003812818.tif 000007
【図７】
0003812818.tif 000008
【図８】
0003812818.tif 000009
【図９】
0003812818.tif 000010
【図１０】
0003812818.tif 000011
【図１１】
0003812818.tif 000012
【図１２】
0003812818.tif 000013