JP2005050226A - 住所データマッチング処理システム及びマッチング処理方法 - Google Patents
住所データマッチング処理システム及びマッチング処理方法 Download PDFInfo
- Publication number
- JP2005050226A JP2005050226A JP2003283277A JP2003283277A JP2005050226A JP 2005050226 A JP2005050226 A JP 2005050226A JP 2003283277 A JP2003283277 A JP 2003283277A JP 2003283277 A JP2003283277 A JP 2003283277A JP 2005050226 A JP2005050226 A JP 2005050226A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- address data
- match
- matching
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 ユーザが入力する住所データの特性や違いに対応した住所辞書データとの合致判定を可能にし、マッチング率、マッチングの処理効率を高める。
【解決手段】 都道府県、市区町村及びそれ以下の複数のレベルに分割して階層化された住所辞書データを格納する住所辞書データファイル4と、各レベルに対応した住所データの読み替えデータ、付加データを含み修正を行うパターンデータを格納するパターンデータファイル5と、住所データを複数のレベルに分割する前処理を行う前処理部2と、前処理部により複数のレベルに分割された住所データをレベル毎に住所辞書データと比較して合致するか否かの判定を行い、さらに合致しない場合にパターンデータにより修正を行って合致するか否かの判定を行いマッチング情報を出力するマッチング処理部6とを備え、住所データを住所辞書データと比較し合致判定した情報を出力する。
【選択図】 図1
【解決手段】 都道府県、市区町村及びそれ以下の複数のレベルに分割して階層化された住所辞書データを格納する住所辞書データファイル4と、各レベルに対応した住所データの読み替えデータ、付加データを含み修正を行うパターンデータを格納するパターンデータファイル5と、住所データを複数のレベルに分割する前処理を行う前処理部2と、前処理部により複数のレベルに分割された住所データをレベル毎に住所辞書データと比較して合致するか否かの判定を行い、さらに合致しない場合にパターンデータにより修正を行って合致するか否かの判定を行いマッチング情報を出力するマッチング処理部6とを備え、住所データを住所辞書データと比較し合致判定した情報を出力する。
【選択図】 図1
Description
本発明は、住所データを住所辞書データと比較し合致するか否かの判定を行う住所データマッチング処理システム及びマッチング処理方法に関する。
地図及び空間データ表示システムにおいては、顧客データや店舗データ等のポイントデータをシステムに取り込み、それらポイントデータを画面上に表示することが求められる。例えば住所コード・街区を地図データマッチング用キーとして地図データと固有データを相互に結び付け、地図データからお客様固有データの候補検索、逆にお客様固有データから地図データの候補検索をできるようにする相互検索方式が提案されている(例えば、特許文献1参照)。
このような地図データマッチング用キーを特に持っていない場合には、一般に、住所を伴う膨大なポイントデータと地図情報に含まれる住所データとの文字列による突き合わせ(マッチング)を行い、住所の代表点位置座標(緯度、経度)を求めることにより、システム上にデータを取り込んでいくことが行われる。
特開平3−233681号公報
しかしながら、従来の文字列による突き合わせを行う手法においては、各種ポイントデータに記載された住所が曖昧であったり、誤記を伴ったものである場合が多く、文字列マッチングで突き合わせに失敗したデータは、再度正しい住所に書き直すか、あるいはシステム上で正しい位置を与える操作が不可避となり、ユーザに多大なる労力を強いる場面が多かった。また、アプリケーションによっては数万から数十万ものデータをシステムに取り込むことがあり、単純な総当たりの突き合わせでは処理時間がかかりすぎる。かかる状況から効率的なマッチング処理(ジオコーディング処理)の実現も求められてきた。
本発明は、上記課題を解決するものであって、ユーザが入力する住所データの特性や違いに対応した住所辞書データとの合致判定を可能にし、マッチング率、マッチングの処理効率を高めるものである。
そのために本発明は、住所データを住所辞書データと比較し合致するか否かの判定を行う住所データマッチング処理システムであって、都道府県、市区町村及びそれ以下の複数のレベルに分割して階層化された住所辞書データを格納する住所辞書データファイルと、前記各レベルに対応した住所データの読み替えデータ、付加データを含み修正を行うパターンデータを格納するパターンデータファイルと、住所データを前記複数のレベルに分割する前処理を行う前処理部と、前記前処理部により複数のレベルに分割された住所データを前記レベル毎に前記住所辞書データと比較して合致するか否かの判定を行い、さらに合致しない場合に前記パターンデータにより修正を行って合致するか否かの判定を行いマッチング情報を出力するマッチング処理部とを備えたことを特徴とする。
前記前処理部は、住所データを所定の順にソートして前記複数のレベルに分割し、また、市区町村と都道府県との対応を示す市区町村リストを有し、前記住所データに都道府県が存在しない場合に、前記住所データの市区町村を前記市区町村リストと比較して都道府県を検索し、前記住所データに都道府県を挿入することを特徴とする。
前記マッチング処理部は、前記住所データの文字列の特定の文字を抽出して変換し整形を行った後、前記合致するか否かの判定を行い、前記階層化されたレベルの上位層から指定されたレベルまで順に前記住所辞書データと繰り返し比較して合致するか否かの判定を行い、合致するか否かの判定を行った結果、合致した住所データに関する最終合致レベルの住所コードと位置情報を取得してマッチング出力ファイルに格納し、合致しない住所データに関するアンマッチ情報を取得してアンマッチ出力ファイルに格納することを特徴とする。
また、前記マッチング処理部は、アンマッチ出力ファイルに格納した住所データとアンマッチ情報を表示し、修正した住所データについて合致するか否かの判定を行い、合致するか否かの判定を行い合致しない住所データについて前記レベルに対応した特定の文字の有無を考慮して再度合致するか否かの判定を行い、住所データの数値のみのレベルの場合に前記住所辞書データと比較して近い値で警告情報を設定して合致判定を行うことを特徴とする。
住所データを住所辞書データと比較し合致するか否かの判定を行う住所データマッチング処理方法であって、都道府県、市区町村及びそれ以下の複数のレベルに分割して階層化された住所辞書データを格納する住所辞書データファイルと、前記各レベルに対応した住所データの読み替えデータ、付加データを含み修正を行うパターンデータを格納するパターンデータファイルと、住所データを所定の順序にソートして前記複数のレベルに分割する前処理を行う前処理部と、住所データを前記住所辞書データと比較して合致するか否かの判定を行い、さらに合致しない場合に前記パターンデータにより修正を行って合致するか否かの判定を行いマッチング情報を出力するマッチング処理部とを備え、住所データを前記前処理部により前記複数のレベルに分割した後、前記マッチング処理部により前記階層化されたレベルの上位層から順次指定された層まで合致するか否かの判定を行い、合致しない住所データのアンマッチ情報を表示して、前記合致しない住所データの修正又は前記パターンデータの更新を行い、合致するか否かの判定を繰り返し行うことを特徴とする。
以上の説明から明らかなように、本発明によれば、住所データを住所辞書データと比較し合致するか否かの判定を行う住所データマッチング処理システムであって、都道府県、市区町村及びそれ以下の複数のレベルに分割して階層化された住所辞書データを格納する住所辞書データファイルと、前記各レベルに対応した住所データの読み替えデータ、付加データを含み修正を行うパターンデータを格納するパターンデータファイルと、住所データを前記複数のレベルに分割する前処理を行う前処理部と、前記前処理部により複数のレベルに分割された住所データを前記レベル毎に前記住所辞書データと比較して合致するか否かの判定を行い、さらに合致しない場合に前記パターンデータにより修正を行って合致するか否かの判定を行いマッチング情報を出力するマッチング処理部とを備えたので、各レベル毎に、パターンデータを組み合わせてユーザが入力する住所データの特性や違いに対応した住所データの自動修正、住所辞書データとの合致判定を可能にし、マッチング率、マッチングの処理効率を高めることができる。
前記前処理部は、住所データを所定の順にソートして前記複数のレベルに分割し、また、市区町村と都道府県との対応を示す市区町村リストを有し、前記住所データに都道府県が存在しない場合に、前記住所データの市区町村を前記市区町村リストと比較して都道府県を検索し、前記住所データに都道府県を挿入するので、階層構造を有効に利用してマッチング処理部での処理効率を高めることができる。
前記マッチング処理部は、前記住所データの文字列の特定の文字を抽出して変換し整形を行った後、前記合致するか否かの判定を行うので、住所辞書データとの単純な形式的な文字の違いによるアンマッチを回避することができ、前記階層化されたレベルの上位層から指定されたレベルまで順に前記住所辞書データと繰り返し比較して合致するか否かの判定を行うので、ユーザの指定レベルに応じて効率よくマッチング処理を行うことができ、合致するか否かの判定を行った結果、合致した住所データに関する最終合致レベルの住所コードと位置情報を取得してマッチング出力ファイルに格納し、合致しない住所データに関するアンマッチ情報を取得してアンマッチ出力ファイルに格納するので、アンマッチ出力ファイルに格納された合致しない住所データだけを対象として、さらに修正と学習を行って再度マッチングを行うことができる。
また、前記マッチング処理部は、アンマッチ出力ファイルに格納した住所データとアンマッチ情報を表示し、修正した住所データについて合致するか否かの判定を行い、合致するか否かの判定を行い合致しない住所データについて前記レベルに対応した特定の文字の有無を考慮して再度合致するか否かの判定を行うので、住所データの修正を簡便に行うことができ、住所データの数値のみのレベルの場合に前記住所辞書データと比較して近い値で警告情報を設定して合致判定を行うので、警告情報を基に合致判定の確認を行うことができる。
以下、本発明の実施の形態を図面を参照しつつ説明する。図1は本発明に係る住所データマッチング処理システムの実施の形態を示す図、図2は市区町村リストの構成例を示す図、図3は住所辞書データ構造の例を示す図、図4はパターンデータ構造の例を示す図、図5は整形処理の例を説明するための図である。図中、1はユーザデータファイル、2は前処理部、3はユーザマッチングデータファイル、4は住所辞書データファイル、5はパターンデータファイル、6はマッチング処理部、7はマッチング出力ファイル、8はアンマッチ出力ファイル、9はアンマッチファイルの修正と学習処理部を示す。
図1において、ユーザデータファイル1は、ユーザの入力した住所文字列からなる住所データ(入力データ)を格納したものであり、前処理部2は、住所データの住所文字列を文字コード順にソートして行の並べ替えを行い、行単位でその住所文字列を都道府県、市区町村、それ以外の3つに、あるいはそれ以上の数の下位層までのレベルに分割する。この分割のときに都道府県名が存在しなかった場合には、例えば図2に示す市区町村リストを参照し都道府県を挿入する。市区町村リストは、図2に示すように市区町村と都道府県との対応を示すものであって、町村の場合には通常郡名が付与されており、同一町村名の識別を可能にしたものである。また、東京特別区と政令指定都市については、区までを市区町村の区切りとしている。ユーザマッチングデータファイル3は、マッチング処理を行うため、前処理部2で住所文字列が文字コード順にソートされ、都道府県、市区町村、それ以外の3つのレベルに分割された住所データを格納するものである。
住所辞書データファイル4は、例えば都道府県、市区町村、大字、丁目、番地、号の各レベルに分割し階層構造にした住所辞書データを格納するものであり、レベル4までの住所辞書データの構造の例を示したのが図3である。構造的にはレベル5以下の番、号なども同一の構造で表現される。図3において、住所コードで表された住所辞書データは、例えばレベル1(都道府県)で北海道が01、青森県が02と続き、沖縄県が47となっていて、これらを住所名称(都道府県名称)で文字コード順にソーティングされた構造の例を示したのが図3(A)である。同様に、各都道府県毎に、例えば東京都(コード13)で、千代田区101を付加した13101等の住所コードを定義し、レベル2の市区町村名称で文字コード順にソーティングされた構造の例を示したのが図3(B)、さらにその下位層のレベル3の大字名称で文字コード順にソーティングされた構造の例を示したのが図3(C)、レベル4の丁目名称で文字コード順にソーティングされた構造の例を示したのが図3(D)であり、それぞれ代表点緯度、経度、検索キーを有している。検索キーは、実際の住所データとの文字列比較を行うデータであり、全角半角の違いや平仮名、カタカナの違い等を統一するために変換、整形したものである。
このように各レベルで階層化され、それぞれ住所名称でソーティングされた住所辞書データを用いることにより、マッチング処理中のひとつひとつの住所データとの突き合わせにおいて、従来の総当たりの文字列比較と比べて、明らかに処理時間が短縮されることになる。これは、一度合致されたレベルはその場で決定され、他の同一レベル候補との比較が無用になるからである。
また、階層化され、かつそれぞれの住所名称でソーティングされた構造となった住所辞書データに対し、住所データも予め住所文字列順にソーティングを行うことにより、マッチング処理においては、前回データの合致個所から住所辞書データとの突き合わせを継続することが可能となるため、大量のデータを扱う時には大幅に処理時間を短縮することができる。これは、階層化された住所辞書データを木構造となみし、マッチング処理が木構造を水平方向に探索する操作とみなすことができるので、ソーティングにより、前回データでマッチングした経路以前の解はあり得なくなるからである。
パターンデータファイル5は、住所データを適切なレベルに分割したり、マッチング処理における曖昧さを適切に解決するため修正データとしてのパターンデータを格納するものであり、例えば図4に示す読み替えデータ、名称追加データ、市区町村郡を含む郡名データ、郡を含む市区町村名データ、市を含む市区町村名データ、市区町村を含む町名データなど、読み替え、追加、削除、識別(郡、市区町村のレベル識別)を行うための参照データを有する。
これらのうち、読み替えデータは、レベルに応じて入力文字列の置き換え操作を行うものである。例えば1行目の例では、レベル1の突き合わせで予め東京都とのマッチングに成功した入力文字列に対して、レベル2の文字列中に田無市が存在した場合には、その部分を西東京市に置き換えるものであり、置き換えは、住所データが住所辞書データと比較し合致するか否かの判定(マッチング)に失敗した際に、再度合致の可能性を探るために行われる。
レベルが*となっているデータは、レベルに依存することなく、例えば入力文字列中に「澤」という文字があれば「沢」に置き換えることを意味する。また、省略の可能性のある住所名称も定義されている。これらにより、対応するレベルに文字列を挿入して比較し合致するか否かの判定を行っていく。
その他に、レベルに分割する際に市区町村名を抽出する場合、市区町村や郡という文字そのものが固有名称に含まれる地域を正しく認識するための参照データも、本パターンデータで定義される。
マッチング処理部6は、レベル分割されユーザマッチングデータファイル3に格納されている各行毎の住所データに対して対応する住所辞書データとの突き合わせ(マッチング)を行っていくものである。住所データに対しては、入力法の違いを統一するために予め変換、整形処理が施される。整形処理は、具体的に図5に示すように平仮名からカタカナへの変換、半角文字から全角文字への変換、スペースの削除、「ァ」から「ア)、「ィ」から「イ」、……「ッ」から「ツ」等カナ小文字の大文字化、「ヰ」から「イ」、「ヱ」から「エ」等旧カナ使いから新カナ使いへの置き換え、「ケ」から「ガ」、「ケ」から「ガ」への置き換え等、「- 」、「─」、「〜」、「 」から「−」への統一化等を行う。
マッチング処理の最初は、変換、整形後の住所データと住所辞書データとの突き合わせとなる。突き合わせに成功した場合には当該レベルでの処理を終えて次に進む。合致しなかった場合には、パターンデータを使って読み替え文字での突き合わせを試みる。
この場合、レベル2での郡、レベル3での大字、レベル4での字部分の有無を考慮した突き合わせを行い、成功した場合は当該レベルでの処理を終える。またこの他、レベル3での「町」という文字の有無、あるいはレベル4での「丁目」という文字列の有無も考慮する。
更にレベル4以降では、「番地」「番」「号」「ノ」等の有無や変形に対しても突き合わせを行う。これらの有無や変形は、ユーザが持つ住所データでは混在が想定され、データとしてはどれも正当と判断できるからである。
レベル3以降については、入力文字列は当該レベルから最終文字列までを含んだデータとなっており、合致する毎に入力文字列から合致部分を取り除いたデータを対象としていく。
更に合致しなった住所データに対しては、次の条件を考慮に入れた比較、合致するか否かの判定を行う。ひとつ目は、当該レベルのデータ(通常はレベル3の大字名称)が数値のみのデータの場合には、既に合致済みの市区町村名がパターンデータに定義されているかどうかをチェックし、定義されている場合には該当する文字列を住所データに挿入して比較し合致するか否かを試みる。これは、市区町村名の次に大字名称が存在せずに番地(数値)が続く地域が存在することによる。
ふたつ目は、レベル4〜レベル6に関しては数値データが基本となっているが、数値が必ずしも合致しなくとも、住所辞書データが実在する数値を検索して住所データに近い数値を当てはめるものである。これはオプション機能となっており、ユーザの指定により有効となる。本処理の背景には、番地、号レベルのマッチングは一般にピンポイトマッチングと呼ばれている住宅地図を使ったマッチングとなるため、全国地域で住所が必ずしも完備されているとは限らないことによる。この場合は、最大限適切なマッチング結果を与え、ユーザに対しては警告を与えて注意を促すものとする。
これら一連の処理により、ユーザが持つ複数の住所データ(ポイントデータ)に対して、各々のデータを上記のマッチング処理手順に従い住所コードと共に、位置情報として対応するレベルの緯度と経度を付与することができる。この時、対応するレベルにより与える緯度と経度(例えば図3に示す各代表点緯度と代表点経度)は異なる。マッチングレベルはユーザの指定が優先され、指定レベルより大きい(深い)突き合わせは行われない。また、ユーザの指定より住所データのレベルが小さい(浅い)場合には、住所データレベルの精度で住所コードと緯度、経度が与えられる。これら最終合致レベルの住所コード、位置情報、合致情報、警告情報などを取得し格納するのがマッチング出力ファイル7である。
マッチングに成功しなかったアンマッチデータに対しては、手順の中で合致した最大レベルやアンマッチとなった理由をデータに追記して、このアンマッチ情報と共にアンマッチデータを格納するのがアンマッチ出力ファイル8である。これらの追記データにより、再度のマッチング時の住所データ修正や新たな学習を効率よく行うことができる。
アンマッチファイルの修正と学習処理部9は、行データ毎に、マッチング処理における合致状況とアンマッチ理由を付した住所データをユーザに示し、ユーザにより適切な住所を住所辞書データから選択するかキー入力により修正を加えていくものである。修正の段階で、明らかに他のデータとの関連性がない誤記については以降のマッチングの手助けにはならないので学習せずに処理を続ける。しかし、以降のマッチング処理に役立ちそうなデータであれば、修正住所と住所データの差分を抽出し関連性を調べ、関連する種類に応じて、レベルに依存した読み替え(置き換え)データ、任意レベルの読み替え(置き換え)データ、市区町村の明確化に必要なデータ、等々によりパターンデータをパターンデータファイル5に追加する。
これにより、次回以降のマッチング性能の向上が漸次的に可能となる。学習の仕組みは、上記のようにユーザの判断による手動学習となっているが、パターンデータの活用は、マッチング処理における重要な役割を担い、自動学習による性能劣化を抑える点からもきわめて有用である。
さらに、具体的な処理フローの例を示して本実施形態を説明する。図6は前処理の例を説明するための図、図7はマッチング処理の例を説明するための図、図8はマッチング率向上のための付加処理の例を説明するための図、図9はアンマッチファイルの修正と学習処理の例を説明するための図である。
前処理は、ユーザデータファイル1に格納された複数の住所文字列からなる住所データ、あるいは後述するアンマッチファイルの修正と学習処理の行われたアンマッチ出力ファイルのアンマッチデータに対して行われ、それがマッチング処理を行う住所データとしてユーザマッチングデータファイル3に格納される。この前処理では、例えは図6に示すようにユーザデータファイル1に格納された複数の住所データを文字コード順にソートして並べ替えを行い(ステップS11)、各住所データを行単位として行毎に処理し保持する(ステップS12)。
そして、各行について最終行か否かを判定し(ステップS13)、最終行でなければ、各行における住所文字列を都道府県、市区町村、それ以外の3つのレベルに分割する(ステップS14)。ここで、都道府県が存在するか否かを判定して(ステップS15)、都道府県が存在すれば、ステップS13に戻って次の行について同様の処理を繰り返し実行し、都道府県が存在しない場合には、分割した市区町村レベルのデータにより市区町村リストを参照し(ステップS16)、対応する市区町村が存在するか否かを判定する(ステップS17)。対応する市区町村が存在する場合には、その市区町村リストの都道府県を住所データに挿入する(ステップS18)。
マッチング処理では、例えば図7に示すように住所文字列からなる住所データを行毎に順次保持し(ステップS21)、保持した各行のデータについて最終行か否かを判定し(ステップS22)、最終行でなければ、行単位の住所文字列からなる住所データについて旧文字や平仮名、カタカナなどの特殊文字を一定の基準の文字に変換する文字列の変換、整形を行い(ステップS23)、レベルiを1(レベル1)とする(ステップS24)。そして、レベルiより行データの処理が終了したか否かの判定を行う(ステップS25)。例えばレベルiがユーザにより指定されたレベルか否か、レベルiが住所データとしての最下位のレベルより下位か否かの判定を行い、行データの処理が終了していない場合には、レベルiの文字列を保持し(ステップS26)、そのレベルiの住所データの文字列と同レベルの住所辞書データとを比較して(ステップS27)、合致するか否かを判定する(ステップS28)。
レベルiの住所データが同レベルの住所辞書データと合致した場合には、合致情報を設定すると共に、レベルiを1だけインクリメント(+1)して(ステップS29)、ステップS25に戻り同様の処理を繰り返し実行する。レベルiの住所文字列からなる住所データが同レベルの住所辞書データと合致しない場合には、パターンデータを参照して住所データの特定の文字の読み替えを行い、あるいは特定の文字の有無を考慮して住所辞書データと再比較を行い(ステップS30)、合致するか否かを判定する(ステップS31)。その結果合致した場合には、そのレベルのマッチング処理は終了となるので、合致情報を設定すると共に、レベルiを1だけインクリメント(+1)する(ステップS29)。しかる後、ステップS21に戻り次のレベルiについて同様の処理を繰り返し実行する。しかし、それでも合致しない場合には、アンマッチ情報を取得してその情報と共に住所データをアンマッチ出力ファイルへ格納し(ステップS32)、その行データの処理は終了にしてステップS21に戻り、次の行データについて同様の処理を繰り返し実行する。
ステップS25において、行データ処理終了の判定がなされた場合には、最終合致レベルの住所コードと位置情報、ステップS29で設定された合致情報、さらには警告情報を取得して、マッチング出力ファイルへ格納する(ステップS33)。しかる後、その行データの処理は終了となるので、ステップS21に戻り同様の処理を繰り返し実行する。
ステップS27〜S28の処理は、前処理を行った後のユーザマッチングデータが住所辞書データと比較して合致を判定したものであるのに対し、ステップS30〜S31の処理は、前処理を行った後のユーザマッチングデータが住所辞書データに合致しなかったデータに所定の修正処理(読み替え、追加、削除、識別等)を施して住所辞書データと比較し合致するか否かの判定をしなおすものである。この修正処理により、例えばその地域により慣習、慣用的に用いられている住所であったり、一部省略があったり、旧表記の住所のままであったり、正しい住所文字列が入力されていない場合にも、マッチング率、マッチング処理の効率を高めるようにしている。
したがって、その修正処理には種々の形態があり、例えば先に述べたようにパターンデータとして予め登録し、そのデータに基づき住所データを読み替えるのもその1つである。また、市区町村のレベル2では、住所辞書データが町村の頭の郡を省いているのに対し、住所データが○○郡××町となっているように場合もあり、そのような場合のアンマッチを補うためには、住所データから○○郡を省いて再度住所辞書データとの比較、合致するか否かの判定を試みることにより、マッチング率を高めることができる。
同様にレベル3以下の大字、字、町、丁目、番地、番、号、ノでは、住所辞書データからこれらを省き、あるいは住所辞書データを「−」で登録しているとすると、住所データからこれらを省いたり、「−」に変換して再度住所辞書データとの比較、合致するか否かの判定を試みることにより、マッチング率を高めることができる。さらに、慣習的に住所データから一部地名を省いて用いているような地区の場合には、そのような地区に対応して追加データをパターンデータとして予め登録し、そのデータを住所データに挿入して再度住所辞書データとの比較、合致するか否かの判定を試みることにより、マッチング率を高めることができる。
その他、丁目をレベル4、番地をレベル5、号をレベル6として、これらを数値のみで使っている場合に、特別にオプションとして、住所データが数値のみであることを条件として、数値での比較を行って合致か否かを判定し、さらに合致しない場合でも、最も近い値を住所辞書データから検索して、それを合致の範囲として設定してもよい。勿論この場合には、必ずしも合致と判定することには、不確かな要素も残るので、例えば住所データと、合致と判定した住所辞書データとを併記するなどの内容が警告情報として設定される。
上記マッチング率向上のための付加処理の具体的な例を示したのが図8である。この処理では、図7に示すマッチング処理のステップS28の合致するか否かの判定において、合致しなかった場合(NOの場合)に、パターンデータにより、例えば図4に示すように住所データが「東京都」の「田無市」であるときには「西東京市」に住所データを読み替えて住所辞書データとの比較を行って(ステップS41)、合致するか否かの判定を行い(ステップS42)、それでも合致しない場合には、住所データから郡、大字、字、町、丁目、番地、番、号、ノなどそのレベルに応じた特定文字の有無を考慮して例えば省き住所辞書データとの比較を行って(ステップS43)、合致するか否かの判定を行う(ステップS44)。さらに、レベルが3でしかも住所データが数値のみか否かを判定することにより(ステップS45)、レベルが3でしかも住所データが数値のみの場合には、パターンデータより、例えば図4に示すように住所データが「山梨県」の「小淵沢町」である場合には、その後ろに「小淵沢」を追加データとして挿入して(ステップS46)、合致するか否かの判定を行い(ステップS47)。
さらに、合致しない場合であっても、ユーザの指定により有効となるオプションが設定されているか否か、レベル4〜レベル6で住所データが数値のみか否かを判定し(ステップS48、S49)、オプションが設定されていて数値のみの場合には、数値のみで合致するか否かを判定する(ステップS50)。そして、この場合には、数値が合致しない場合でも、住所辞書データを検索して最も近い値、さらにその内容を警告情報として設定する(ステップS51、S52)。つまり、いずれであっても図7のステップS29に移行して合致情報が設定される。
このようなオプション機能を利用する背景には、番地、号レベルのマッチングが一般にピンポイトマッチングと呼ばれている住宅地図を使ったマッチングとなるため、全国地域で住所が必ずしも完備されているとは限らないことによる。そのため、最大限適切なマッチング結果を与え、ユーザに対しては警告を与えて注意を促すものとしている。
上記の各処理を行っても合致しなかった住所データは、図7に示すステップS32でアンマッチ出力ファイルに格納され蓄積され、アンマッチファイルの修正と学習処理が実行される。その処理の例を示したのが図9であり、住所データの修正とパターンデータの更新が行われ、修正された住所データに対して前処理部、マッチング処理部で同様の処理を繰り返して実行することにより、マッチング率をさらに向上させ、マッチング処理効率を向上させることができる。
アンマッチファイルの修正と学習処理では、図9に示すように入力文字列を行毎に処理して保持する(ステップS61)。そして、各行の文字列について最終行か否かを判定し(ステップS62)、最終行でなければ、その行毎の住所データを取得して(ステップS63)、取得したデータとアンマッチ理由を表示すると共に、その合致状況により住所辞書データを表示する(ステップS64)。アンマッチ理由としては、例えば図7、図8に示す処理の合致するか否かの判定(ステップS28、S31、S42、S44、S47〜S50)でどのような読み替え、特定の文字の考慮を行った結果としてアンマッチとなったか、その履歴情報やどのレベルまで合致したかなどの情報を含む。したがって、例えばレベル2まで合致し、レベル3でアンマッチとなった場合には、レベル3以下の住所辞書データ候補が表示され、その中からの選択や直接文字列によるキー入力(追加、削除、変更)に基づいて(ステップS65)、住所データの修正処理を行う(ステップS66)。
そして、学習するか否かの判定を行い(ステップS67)、学習する場合には、住所データと選択、入力された修正データの差分を抽出して(ステップS68)、その差分データをパターンデータの種類、読み替え、名称追加など、レベルに応じた項目に追加する(ステップS69)。これらの処理によりその行の処理が終わると、次の行の住所データに進み(ステップS70)、ステップS62に戻り同様の処理を最終行まで繰り返し実行する。
このように本発明においては、従来方法のように単に住所データと住所辞書データとを完全一致による総当たりマッチングを行うのではなく、レベルに応じたフレキシブルな突き合わせを行うことにより、マッチング性能を向上させることが可能となった。さらに、一般には、上記のようなフレシキブルなマッチングを行ってもなお、ユーザが持つ大量のポイントデータにはアンマッチとして残る住所データが存在する。これらの原因としては、明らかな誤記によるものと、旧仮名遣いや記法によるもの、行政界の変更で古くなった住所、等々が考えられる。それらの残存データに対して修正と学習を行い、さらには住所データの読み替え、追加、削除、識別などを行うパターンデータに反映させて、マッチングを繰り返すようにすることにより、マッチング性能を著しく向上させることが可能となった。
なお、本発明は、上記実施の形態に限定されるものではなく、種々の変形が可能である。例えば上記実施の形態では、都道府県、市区町村、……のレベルに分けて階層化したが、市区町村以下のレベルでは、政令指定都市、それ以外の市、町村に応じたレベルに分割するようにしてもよい。また、アンマッチファイルの修正と学習処理を行った後、再度前処理を行うようにしたが、それ以前のマッチング処理に際して前処理を行っていることから、アンマッチファイルの修正と学習処理を行った後の住所データについては、そのままマッチング処理を行うようにしてもよいことはいうまでもない。
1…ユーザデータファイル、2…前処理部、3…ユーザマッチングデータファイル、4…住所辞書データファイル、5…パターンデータファイル、6…マッチング処理部、7…マッチング出力ファイル、8…アンマッチ出力ファイル、9…アンマッチファイルの修正と学習処理部
Claims (12)
- 住所データを住所辞書データと比較し合致するか否かの判定を行う住所データマッチング処理システムであって、
都道府県、市区町村及びそれ以下の複数のレベルに分割して階層化された住所辞書データを格納する住所辞書データファイルと、
前記各レベルに対応した住所データの読み替えデータ、付加データを含み修正を行うパターンデータを格納するパターンデータファイルと、
住所データを前記複数のレベルに分割する前処理を行う前処理部と、
前記前処理部により複数のレベルに分割された住所データを前記レベル毎に前記住所辞書データと比較して合致するか否かの判定を行い、さらに合致しない場合に前記パターンデータにより修正を行って合致するか否かの判定を行いマッチング情報を出力するマッチング処理部と
を備えたことを特徴とする住所データマッチング処理システム。 - 前記前処理部は、住所データを所定の順にソートして前記複数のレベルに分割することを特徴とする請求項1記載の住所データマッチング処理システム。
- 前記前処理部は、市区町村と都道府県との対応を示す市区町村リストを有し、前記住所データに都道府県が存在しない場合に、前記住所データの市区町村を前記市区町村リストと比較して都道府県を検索し、前記住所データに都道府県を挿入することを特徴とする請求項1又は1記載のいずれかに記載の住所データマッチング処理システム。
- 前記マッチング処理部は、前記住所データの文字列の特定の文字を抽出して変換し整形を行った後、前記合致するか否かの判定を行うことを特徴とする請求項1乃至3のいずれかに記載の住所データマッチング処理システム。
- 前記マッチング処理部は、前記階層化されたレベルの上位層から指定されたレベルまで順に前記住所辞書データと繰り返し比較して合致するか否かの判定を行うことを特徴とする請求項1乃至4のいずれかに記載の住所データマッチング処理システム。
- 前記マッチング処理部は、合致するか否かの判定を行った結果、合致した住所データに関する最終合致レベルの住所コードと位置情報を取得してマッチング出力ファイルに格納し、合致しない住所データに関するアンマッチ情報を取得してアンマッチ出力ファイルに格納することを特徴とする請求項1乃至5のいずれかに記載の住所データマッチング処理システム。
- 前記マッチング処理部は、アンマッチ出力ファイルに格納した住所データとアンマッチ情報を表示し、修正した住所データについて合致するか否かの判定を行うことを特徴とする請求項1乃至6のいずれかに記載の住所データマッチング処理システム。
- 前記マッチング処理部は、合致するか否かの判定を行い合致しない住所データについて前記レベルに対応した特定の文字の有無を考慮して再度合致するか否かの判定を行うことを特徴とする請求項1乃至7のいずれかに記載の住所データマッチング処理システム。
- 前記マッチング処理部は、住所データの数値のみのレベルの場合に前記住所辞書データと比較して近い値で警告情報を設定して合致判定を行うことを特徴とする請求項1乃至8のいずれかに記載の住所データマッチング処理システム。
- 住所データを住所辞書データと比較し合致するか否かの判定を行う住所データマッチング処理方法であって、
都道府県、市区町村及びそれ以下の複数のレベルに分割して階層化された住所辞書データを格納する住所辞書データファイルと、
前記各レベルに対応した住所データの読み替えデータ、付加データを含み修正を行うパターンデータを格納するパターンデータファイルと、
住所データを所定の順序にソートして前記複数のレベルに分割する前処理を行う前処理部と、
住所データを前記住所辞書データと比較して合致するか否かの判定を行い、さらに合致しない場合に前記パターンデータにより修正を行って合致するか否かの判定を行いマッチング情報を出力するマッチング処理部と
を備え、住所データを前記前処理部により前記複数のレベルに分割した後、前記マッチング処理部により前記階層化されたレベルの上位層から順次指定された層まで合致するか否かの判定を行い、合致しない住所データのアンマッチ情報を表示して、前記合致しない住所データの修正又は前記パターンデータの更新を行い、合致するか否かの判定を繰り返し行うことを特徴とする住所データマッチング処理方法。 - 前記前処理部は、市区町村と都道府県との対応を示す市区町村リストを有し、前記住所データに都道府県が存在しない場合に、前記住所データの市区町村を前記市区町村リストと比較して都道府県を検索し、前記住所データに都道府県を挿入するものであることを特徴とする請求項10記載の住所データマッチング処理方法。
- 前記マッチング処理部は、前記住所データの文字列の特定の文字を抽出して変換し整形を行った後、前記合致するか否かの判定を行うものであることを特徴とする請求項10又は11のいずれかに記載の住所データマッチング処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003283277A JP2005050226A (ja) | 2003-07-31 | 2003-07-31 | 住所データマッチング処理システム及びマッチング処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003283277A JP2005050226A (ja) | 2003-07-31 | 2003-07-31 | 住所データマッチング処理システム及びマッチング処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005050226A true JP2005050226A (ja) | 2005-02-24 |
Family
ID=34268210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003283277A Pending JP2005050226A (ja) | 2003-07-31 | 2003-07-31 | 住所データマッチング処理システム及びマッチング処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005050226A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100697689B1 (ko) * | 2005-08-10 | 2007-03-20 | (주)공영디비엠 | 비정형 데이터베이스의 정형화 장치를 이용한 정형화 방법 |
CN100456281C (zh) * | 2005-05-25 | 2009-01-28 | 株式会社东芝 | 数据划分设备和数据划分方法 |
CN111144117A (zh) * | 2019-12-26 | 2020-05-12 | 同济大学 | 知识图谱中文地址消除歧义方法 |
JP2022012657A (ja) * | 2020-07-02 | 2022-01-17 | 株式会社ダブルスタンダード | 情報処理装置、情報処理方法及び情報処理プログラム |
-
2003
- 2003-07-31 JP JP2003283277A patent/JP2005050226A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100456281C (zh) * | 2005-05-25 | 2009-01-28 | 株式会社东芝 | 数据划分设备和数据划分方法 |
KR100697689B1 (ko) * | 2005-08-10 | 2007-03-20 | (주)공영디비엠 | 비정형 데이터베이스의 정형화 장치를 이용한 정형화 방법 |
CN111144117A (zh) * | 2019-12-26 | 2020-05-12 | 同济大学 | 知识图谱中文地址消除歧义方法 |
CN111144117B (zh) * | 2019-12-26 | 2023-08-29 | 同济大学 | 知识图谱中文地址消除歧义方法 |
JP2022012657A (ja) * | 2020-07-02 | 2022-01-17 | 株式会社ダブルスタンダード | 情報処理装置、情報処理方法及び情報処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7917544B2 (en) | Method and apparatus for retrieving data representing a postal address from a plurality of postal addresses | |
JP3425408B2 (ja) | 文書読取装置 | |
US8200646B2 (en) | Efficient retrieval of variable-length character string data | |
US20050149471A1 (en) | Computer representation of a data tree structure and the associated encoding/decoding methods | |
US20070162445A1 (en) | System and method for searching and matching data having ideogrammatic content | |
JPH0668298A (ja) | 文書書式の文字認識及びデータ修復処理のためのデータ処理システム及び方法 | |
JPH0696276A (ja) | 高度なデータ収集方法及びデータ処理システム | |
EA003619B1 (ru) | Система и способ поиска электронных документов, созданных с помощью оптического распознавания знаков | |
KR20010051346A (ko) | 소재정보의 인식장치, 소재정보의 인식방법 및 기록매체 | |
CN113642320A (zh) | 文档目录结构的提取方法、装置、设备和介质 | |
JP3106994B2 (ja) | 住所読み取り装置 | |
CN100421107C (zh) | 用于关系数据库的超集的数据结构和管理系统 | |
JP2005050226A (ja) | 住所データマッチング処理システム及びマッチング処理方法 | |
JP5091549B2 (ja) | 文書データ処理装置 | |
JPH07210569A (ja) | 情報検索方法および情報検索装置 | |
US6970868B2 (en) | Method for ascertaining valid address codes | |
JP2922365B2 (ja) | Ocr処理システムにおける漢字住所データ処理方法 | |
JP4754889B2 (ja) | 文字列抽出方法および装置 | |
JPH07271920A (ja) | 文字認識装置 | |
JPH09138836A (ja) | 文字認識結果の修正方式 | |
JP2996823B2 (ja) | 文字認識装置 | |
JP3327420B2 (ja) | 簡易住所入力による郵便番号検索方法 | |
JPS63223987A (ja) | 文字検索方法 | |
JPH0546607A (ja) | 文書読み上げ装置 | |
JP3224917B2 (ja) | 名標辞書作成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070530 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080109 |