(57)【要約】    【課題】入力された住所文字列中の通り名に東西通りと南北通りの逆転入力等の揺らぎがあっても、住所コードへの変換を可能とすること。    【解決手段】単語分割部１で分割され、出力された単語中に通り名の意味の単語がある場合は通り名レベル住所候補抽出部６４において、各東西通り及び各南北通りの通り名を通り名コードとともに登録してなる通り名コードテーブル記憶部３を前記単語で検索して対応する通り名コードを求め、東西通り名コード、南北通り名コード及び通り名付属語の組み合わせに対応して住所コードを登録してなる通り名テーブル記憶部４を前記求めた各単語の東西通り名コード、南北通り名コード及び通り名付属語で検索することにより、東西通りと南北通りの逆転入力等があっても正確な住所コードが求められる。【選択図】図１
2006134154.tif 000002
【特許請求の範囲】
【請求項１】
入力された住所文字列を解析し、住所コードあるいは規格化された住所文字列もしくはその両方に変換する住所解析装置において、
入力された住所文字列を単語辞書を用いて単語に分割し、分割された各単語を、当該各単語が住所として存在する県を都道府県市区郡町村、町大字、字・丁目の住所レベル毎に表す県フラグ及び通り名や通り名付属語等の単語の意味とともに出力する単語分割手段と、
前記単語分割手段から出力される単語よりその県フラグに基づいて各住所レベルに対応する単語を選択し、当該選択した単語で住所テーブルを検索して各住所レベル毎の住所コード及び規格化された住所文字列を含む住所候補を求め、住所候補記憶部に記憶し、前記単語分割手段から出力される単語中に通り名の意味の単語がある場合は、当該単語で通り名コードテーブルを検索して対応する通り名コードを求め、東西通り名コード、南北通り名コード及び通り名付属語で通り名テーブルを検索して通り名レベルの住所コード及び規格化された住所文字列を含む住所候補を求め、住所候補記憶部に前記住所レベルの住所候補が記憶されていない場合は前記通り名レベルの住所候補を住所候補記憶部に記憶し、住所候補記憶部に住所候補が既に記憶されている場合は当該記憶されている住所候補と包含関係のある前記通り名レベルの住所候補を記憶する住所候補抽出手段と、
住所候補記憶部に記憶された住所候補を、その住所レベル、未使用単語数、接尾詞一致数、正式表記か異表記かの区別を組み合わせて絞り込む絞り込み手段とを備えた
ことを特徴とする住所解析装置。
【請求項２】
入力された住所文字列を解析し、住所コードあるいは規格化された住所文字列もしくはその両方に変換する住所解析方法において、
単語辞書と、住所テーブルと、通り名コードテーブルと、通り名テーブルと、単語分割手段と、住所候補抽出手段と、住所候補記憶部と、絞り込み手段とを用い、
単語分割手段が、入力された住所文字列を単語辞書を用いて単語に分割し、分割された各単語を、当該各単語が住所として存在する県を都道府県市区郡町村、町大字、字・丁目の住所レベル毎に表す県フラグ及び通り名や通り名付属語等の単語の意味とともに出力する単語分割ステップと、
住所候補抽出手段が、前記単語分割手段から出力される単語よりその県フラグに基づいて各住所レベルに対応する単語を選択し、当該選択した単語で住所テーブルを検索して各住所レベル毎の住所コード及び規格化された住所文字列を含む住所候補を求め、住所候補記憶部に記憶し、前記単語分割手段から出力される単語中に通り名の意味の単語がある場合は、当該単語で通り名コードテーブルを検索して対応する通り名コードを求め、東西通り名コード、南北通り名コード及び通り名付属語で通り名テーブルを検索して通り名レベルの住所コード及び規格化された住所文字列を含む住所候補を求め、住所候補記憶部に前記住所レベルの住所候補が記憶されていない場合は前記通り名レベルの住所候補を住所候補記憶部に記憶し、住所候補記憶部に住所候補が既に記憶されている場合は当該記憶されている住所候補と包含関係のある前記通り名レベルの住所候補を記憶する住所候補抽出ステップと、
絞り込み手段が、住所候補記憶部に記憶された住所候補を、その住所レベル、未使用単語数、接尾詞一致数、正式表記か異表記かの区別を組み合わせて絞り込む絞り込みステップとを含む
ことを特徴とする住所解析方法。
【請求項３】
入力された住所文字列を解析し、住所コードあるいは規格化された住所文字列もしくはその両方に変換する住所解析プログラムであって、
単語辞書と、住所テーブルと、通り名コードテーブルと、通り名テーブルと、住所候補記憶部とを有するコンピュータに、
入力された住所文字列を単語辞書を用いて単語に分割し、分割された各単語を、当該各単語が住所として存在する県を都道府県市区郡町村、町大字、字・丁目の住所レベル毎に表す県フラグ及び通り名や通り名付属語等の単語の意味とともに出力する単語分割処理と、
前記分割された単語よりその県フラグに基づいて各住所レベルに対応する単語を選択し、当該選択した単語で住所テーブルを検索して各住所レベル毎の住所コード及び規格化された住所文字列を含む住所候補を求め、住所候補記憶部に記憶し、前記分割された単語中に通り名の意味の単語がある場合は、当該単語で通り名コードテーブルを検索して対応する通り名コードを求め、東西通り名コード、南北通り名コード及び通り名付属語で通り名テーブルを検索して通り名レベルの住所コード及び規格化された住所文字列を含む住所候補を求め、住所候補記憶部に前記住所レベルの住所候補が記憶されていない場合は前記通り名レベルの住所候補を住所候補記憶部に記憶し、住所候補記憶部に住所候補が既に記憶されている場合は当該記憶されている住所候補と包含関係のある前記通り名レベルの住所候補を記憶する住所候補抽出処理と、
住所候補記憶部に記憶された住所候補を、その住所レベル、未使用単語数、接尾詞一致数、正式表記か異表記かの区別を組み合わせて絞り込む絞り込み処理とを実行させるための住所解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された住所文字列を解析し、住所コードあるいは規格化された住所文字列もしくはその両方に変換する技術に関する。
【背景技術】
【０００２】
お客様が申し出た住所でデータベースを検索したり、お客様の住所を顧客データベースに登録するような業務において、都道府県市区郡町村、町大字、字・丁目の住所階層（住所レベル）毎に問い合わせたり、区切って入力したりせず、お客様が申し出る住所をそのまま入力する方が効率が良い。しかし、お客様が申し出る住所には、地名の先頭の「大字」や「字」が省略されてたり、市と郡や市と町に同じ地名があって市と郡や町等を間違えたりする場合があり、住所レベル毎の住所コード及び規格化された地名（住所文字列）を含む住所テーブルを用いても、正確な住所コードや規格化された住所文字列を求めることができないことがあった。
【０００３】
そこで、従来は、表記の揺れを派生して住所テーブルを検索したり、あるいは予め表記の揺れを派生した住所を住所テーブルに登録して対処していた（特許文献１参照）。
【特許文献１】特開２００１−１３４６０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、通り名の場合、東西通りと、南北通りと、通り名付属語とから構成されるため、東西通りと南北通りを逆に表現したり、同じ通りでありながら表現が異なる場合（「室町新町の間」と「新町室町の間」）、通り名の別称（黒門通りと新シ町通り）、通り名付属語の異表記（東入る、東入ル、東入、東）等、多くの揺らぎがあるため、全ての組み合わせを派生して住所テーブルに登録することは困難であった。
【０００５】
また、通り名付属語が入力されない場合は通り名付属語を無視して検索できないので、住所コードや規格化された住所文字列の候補すら求めることが出来ないという問題があった。
【課題を解決するための手段】
【０００６】
本発明では、前記課題を解決するため、通り名を東西通り、南北通り、通り名付属語に分割し、それぞれコード化・規格化したデータを登録した通り名コードを用いて揺らぎの組み合わせを減らす。
【０００７】
例えば東西通り名及び南北通り名で平均各２通り、通り名付属語で４通りの揺らぎがあり、かつ、東西と南北の通り名を逆転した言い方で２通りあるとすると、派生による方法では１つの通り名で２×２×４×２＝３２通り、通り名の数は７千あまりあるので、約２２万の派生データが必要であるが、東西通り名及び南北通り名、通り名付属語に分割すれば東西通り名及び南北通り名は合計で２００あまりで、通り名の揺らぎを派生しても４００通りで全ての通り名を検索できるようになる。
［作用］
東西通りと南北通りを別々にコード化し、検索するため、東西通りと南北通りの逆転入力、通り名の別表記、通り名の別称、通り名付属語の異表記など、多くの揺らぎを含む通り名でも住所コードや規格化された住所文字列を求めることが出来る。
【０００８】
また、通り名付属語が省略されていても住所コードや規格化された住所文字列の候補を示すことが出来る。さらに、東西通り同士あるいは南北通り同士のように通り名の組み合わせに矛盾がある場合、間違いを指摘することが出来る。
【発明の効果】
【０００９】
通り名を東西通りと南北通りと通り名付属語とに分けて解析することにより、通り名の逆転入力、通り名の別表記、通り名の別称、通り名付属語の異表記等、多数の揺らぎを持つ住所文字列を正しく解析して住所コードや規格化された住所文字列を求めることが出来る。
【００１０】
また、通り名付属語が省略されていても住所コードや規格化された住所文字列の候補を示すことが出来る。
【００１１】
さらに、東西通り同士あるいは南北通り同士のように通り名の組み合わせに矛盾がある場合、間違いを指摘することが出来る。また、片通りでないのに東西あるいは南北の通り名が一つしか入力されない場合は、入力情報の不足を指摘することが出来る。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面により説明する。
【００１３】
図１は本発明の住所解析装置の実施の形態の一例を示すもので、図中、１は単語辞書記憶部、２は住所テーブル記憶部、３は通り名コードテーブル記憶部、４は通り名テーブル記憶部、５は単語分割部、６は住所候補記憶部、７は住所候補抽出部、８は絞り込み部である。
【００１４】
単語辞書記憶部１は、図２に示すように、住所文字列を構成する多数の単語を、名詞、数詞、接尾詞等の品詞及び地名、通り名、通り名付属語等の単語の意味とともに登録してなる単語辞書を記憶している。なお、単語辞書記憶部１中の地名の意味を持つ各単語には、さらに後述する図７に示すような、当該各単語が住所として存在する可能性のある県を都道府県市区郡町村、町大字、字・丁目の住所レベル毎に表す県フラグ、即ち市区レベル県フラグ、町レベル県フラグ、字レベル県フラグが併せて記憶されているものとする（但し、図２では省略）。
【００１５】
住所テーブル記憶部２は、図３に示すように、住所文字列を構成する単語中の各地名を、接尾詞、住所レベル及び住所コードとともに登録してなる住所テーブルを記憶している。なお、住所コードは、国土地理協会で規定しているコードを用い、コード上で包含関係が判るようにしたもので、左から県コード、政令指定都市・郡・市・区コード、一般町村コードである。
【００１６】
通り名コードテーブル記憶部３は、図４に示すように、住所文字列を構成する単語中の各東西通りの通り名及び各南北通りの通り名を、独自の通り名コード及び東西通り、南北通り等の特徴とともに登録してなる通り名コードテーブルを記憶している。なお、ここでは通り名コードとして、東西通りは９０００番台、南北通りは８０００番台のコードを付けている。
【００１７】
通り名テーブル記憶部４は、図５に示すように、東西通り名コード、南北通り名コード及び通り名付属語の組み合わせに対応して住所コード及び規格化された住所文字列（地名）を登録してなる通り名テーブルを記憶している。
【００１８】
単語分割部５は、図示しないキーボード等から直接入力され又は記憶媒体から読み出されて入力され又は通信媒体を介して他の装置等から入力された（通り名を含む）住所文字列を単語辞書記憶部１を用いて単語に分割し、分割された単語に対応する少なくとも県レベルで最も包含のとれる県コードを求め、分割した各単語を、当該各単語が住所として存在する可能性のある県を住所階層毎に表す県フラグ、即ち市区レベル県フラグ、町レベル県フラグ、字レベル県フラグ、全体を包含する県フラグ及び通り名や通り名付属語等の単語の意味とともに出力する。
【００１９】
住所候補抽出部６は、市区レベル住所候補抽出部６１、町レベル住所候補抽出部６２、字・丁目レベル住所候補抽出部６３及び通り名レベル住所候補抽出部６４から構成されている。
【００２０】
このうち、市区レベル住所候補抽出部６１、町レベル住所候補抽出部６２及び字・丁目レベル住所候補抽出部６３では、単語分割手段５から出力される単語または複数の単語を結合した複合語より、その県フラグに基づいて都道府県市区郡町村、町大字及び字・丁目の各住所レベルに対応する単語を選択し、当該選択した単語で住所テーブル記憶部２を検索して各住所レベル毎の住所コード及び規格化された住所文字列を含む住所候補を求め、住所候補記憶部７に住所候補が記憶されていない場合は前記住所候補を住所候補記憶部７に記憶し、住所候補記憶部７に住所候補が既に記憶されている場合は当該記憶されている住所候補と包含関係のある住所候補を記憶する。
【００２１】
また、通り名レベル住所候補抽出部６４では、単語分割手段５から出力される単語中に通り名の意味の単語がある場合は、当該単語で通り名コードテーブル記憶部３を検索して対応する通り名コードを求め、東西通りと南北通りとの組み合わせ又は片通りであることをチェックし、東西通り名コード、南北通り名コード（又は片通り名コード）及び通り名付属語で通り名テーブル記憶部４を検索して通り名レベルの規格化された住所文字列及び住所コードを含む住所候補を求め、住所候補記憶部７に都道府県市区郡町村レベル、町大字レベル、字・丁目レベルの住所候補が記憶されていない場合は前記通り名レベルの住所候補を住所候補記憶部７に記憶し、住所候補記憶部７に住所候補が既に記憶されている場合は当該記憶されている住所候補と包含関係のある前記通り名レベルの住所候補を記憶する。
【００２２】
住所候補記憶部７は、住所候補抽出部６によって求められた住所候補を一時的に記憶する。
【００２３】
絞り込み部８は、住所候補記憶部７に記憶された住所候補を、その住所レベル、未使用単語数、接尾詞の一致数、正式表記か異表記かの区別を組み合わせて絞り込む。
【００２４】
図６は本発明の住所解析装置における処理の流れを示すもので、以下、これに従って動作を詳細に説明する。
【００２５】
入力された住所文字列は、単語分割部５において単語辞書記憶部１を用いて単語に分割され、分割された各単語が、各単語が住所として存在する可能性のある県を住所階層毎に表す市区レベル県フラグ、町レベル県フラグ、字レベル県フラグ、全体を包含する県フラグ及び単語の意味とともに出力される（ｓ１）。
【００２６】
例えば、住所文字列「京都市北区鞍馬口通寺町東入上善寺門前町」が入力された場合、図７に示すように出力される。「鞍馬口」は町名の場合と通り名の場合とがあるので、町レベル県フラグと単語の意味の通り名との両方が出力される。京都府には「寺町」は通り名のみのため、町レベル県フラグは出力されない。
【００２７】
次に、住所候補抽出部６の市区レベル住所候補抽出部６１、町レベル住所候補抽出部６２及び字・丁目レベル住所候補抽出部６３において、前記単語の分割結果を基に、住所テーブル記憶部２を用いて市区レベル、町レベル、字レベルの住所候補抽出が行われる。
【００２８】
まず、市区レベル住所候補抽出部６１において、「京都」から「京都府」と「京都市」が検索され、「北」から京都以外の「北区」も検索されるが、「京都」との包含関係チェックで「京都府／北区」と「京都市／北区」が住所候補記憶部７に記憶される（ｓ２）。ここで、この２つの住所候補は同じ住所を表しているので、接尾詞が一致している「京都市／北区」を残し、「京都府／北区」は削除する。
【００２９】
次に、町レベル住所候補抽出部６２において、「鞍馬口」から「京都市／北区／鞍馬口町」が検索され、「上善寺門前町」から「京都市／北区／上善寺門前町」が検索され、それぞれ住所候補記憶部７に記憶される（ｓ３）。図８にこの時点の住所候補記憶部７の記憶内容を示す。
【００３０】
次に、字・丁目レベル住所候補抽出部６３において、字・丁目レベル住所候補抽出（ｓ４）を行うが、ここでは該当する単語がないので何も行わない。
【００３１】
次に、住所候補抽出部６の通り名レベル住所候補抽出部６４において、通り名コードテーブル記憶部３及び通り名テーブル記憶部４を用いて通り名レベルの住所候補抽出（ｓ５）を行うが、以下、図９に示す通り名レベル住所候補抽出処理の流れに沿って説明する。
【００３２】
まず、通り名コードテーブル記憶部３を検索し、最初の通り名「鞍馬口」から通り名コード「９００１」を得る。次に２番目の通り名「寺町」から通り名コード「８００１」を得る。また、通り名付属語については単語辞書記憶部１により正規化された通り名付属語「東入」（コード化してもかまわない）を得る（ｓ５−１）。
【００３３】
通り名コードを取得した後、東西通りと南北通りの組み合わせ又は片通りであることをチェックする。東西通り同士（例えば「鞍馬口通二条」）、南北通り同士（例えば「加茂川筋寺町」）の場合は通り名テーブル記憶部４は検索せず、入力に間違いがあるとして処理を終了する。また、片通りでないのに東西通り又は南北通りのどちらかしか無い場合は通り名テーブル記憶部４を検索しても多数の住所候補が返ってきて解を絞りきれないので、入力情報不足で処理を終了する（ｓ５−２）。
【００３４】
次に、前述した南北通り名コード「８００１」、東西通り名コード「９００１」及び通り名付属語「東入」で通り名テーブル記憶部４を検索し、住所コード「２６／１０１／１７９／９０１」、「２６／１０１／２５３／９０１」、「２６／１０１／３０９／９０１」を得るが、「上善寺門前町」と包含のある「２６／１０１／２５３／９０１」の住所候補のみ住所候補記憶部７に記憶する（ｓ５−３，ｓ５−４，ｓ５−５）。
【００３５】
最後に、絞り込み部７において、絞り込み処理（ｓ６）が行われる。即ち、「鞍馬口」を町名として解析した住所候補では「寺町」、「東入」及び「上善寺門前町」が未使用単語になり、「鞍馬口」を通り名として解析した住所候補では未使用単語がないため、未使用単語のある前者の住所候補が棄却される。結局、「京都府京都市北区鞍馬口通寺町東入上善寺門前町（２６／１０１／２５３／９０１）」が住所候補の解として出力される。
【００３６】
ここで、「京都市北区寺町通鞍馬口東入上善寺門前町」のように、東西通りと南北通りを逆転して入力しても、通り名コードテーブル記憶部３及び通り名テーブル記憶部４の検索は入力順に無関係なので、通り名コードテーブル記憶部３から「鞍馬口」の通り名コード「９００１」、「寺町」の通り名コード「８００１」及び通り名付属語「東入」が検索され、これらによって通り名テーブル記憶部４が検索されるため、「京都府京都市北区鞍馬口通寺町東入上善寺門前町（２６／１０１／２５３／９０１）」の正しい解が得られる。
【００３７】
また、東西通りと南北通りの両方に使われる通りも存在するので、このような通りは両通りのコードを付与しておき、もう一方の通り名によって東西通りか南北通りか判断する。六軒町は一般には東西通りであるが、希に東西通りとは別の南北通りに使用することがある両通りの通り名である。ここで「一条通六軒町東入」の場合、「一条」は東西通り（通り名コード「９００２」）なので、両通りの「六軒町」は南北通り（通り名コード「８８０１」）と判断し、これらの通り名コード及び通り名付属語「東入」で通り名テーブル記憶部４を検索し、住所コード「２６／１０２／１０９／９０２」を得る。
【００３８】
一方、「加茂川筋六軒町下る」の場合は、「加茂川筋」が南北通り（通り名コード「８００２」）なので、「六軒町」は東西通り（通り名コード「８８０１」）と判断する。これらの通り名コード及び通り名付属語「下る」で通り名テーブル記憶部４を検索し、住所コード「２６／１０５／１１９／９０３」を得る。
【００３９】
次に、異表記の通り名について説明する。
【００４０】
「室町新町の間」と「新町室町の間」のような同じ通りを表しているのに表現が違う場合や、「黒門通」と「新シ町通」のように別称の場合は通り名コードテーブル記憶部３に同じ通り名コードで登録する。これにより、通り名テーブル記憶部４の検索には変更を加えることなく所望の住所コードが得られる。
【００４１】
例えば「室町新町の間三条下る」の場合も「新町室町の間三条下る」の場合も、通り名コード「８００３」、「９００３」及び通り名付属語「下る」で通り名テーブル記憶部４を検索し、住所コード「２６／１０４／１４４／９０５」を得る。また、「黒門通三条上る」の場合も「新シ町通三条上る」の場合も、通り名コード「８００４」、「９００３」及び通り名付属語「上る」で通り名テーブル記憶部４を検索し、住所コード「２６／１０４／０６５／９０１」を得る。
【００４２】
片通りの場合は通り名が２つ無くても通り名テーブル記憶部４を検索し、住所コードを得る。例えば「六波羅南通西入」の場合、通り名は「六波羅南」だけであるが、片通りであることが分かるので、通り名コード「９５０１」及び通り名付属語「西入」で通り名テーブル記憶部４を検索し、住所コード「２６／１０５／０１１／９０３」を得る。
【００４３】
通り名付属語が入力されない場合は東西通りコードと南北通りコードで通り名テーブル記憶部４を検索し、住所候補を得る。例えば「鞍馬口通寺町鞍馬口町」と入力された場合、通り名付属語は無いので、東西通り名コード「８００１」、南北通り名コード「９００１」で通り名テーブル記憶部４を検索し、「鞍馬口通寺町東入」、「鞍馬口通寺町東入上る」、「寺町通鞍馬口上る」を得るが、「鞍馬口町」と包含のある「鞍馬口通寺町東入」が選ばれる。「鞍馬口通寺町」のように町名も入力されない場合は前記３つの候補が全て出力される。
【００４４】
なお、本発明は、周知のコンピュータに媒体もしくは通信回線を介して、図６、図９の流れ図に示された手順を備えるプログラムをインストールすることによっても実現可能である。
【図面の簡単な説明】
【００４５】
【図１】本発明の住所解析装置の実施の形態の一例を示す構成図
【図２】単語辞書の一例を示す説明図
【図３】住所テーブルの一例を示す説明図
【図４】通り名コードテーブルの一例を示す説明図
【図５】通り名テーブルの一例を示す説明図
【図６】本発明の住所解析装置における処理の流れ図
【図７】単語分割の結果の一例を示す説明図
【図８】町レベル住所候補抽出後の住所候補記憶部の記憶内容の一例を示す説明図
【図９】通り名レベル住所候補抽出処理の流れ図
【符号の説明】
【００４６】
１：単語辞書記憶部、２：住所テーブル記憶部、３：通り名コードテーブル記憶部、４：通り名テーブル記憶部、５：単語分割部、６：住所候補抽出部、７：住所候補記憶部、８：絞り込み部、６１：市区レベル住所候補抽出部、６２：町レベル住所候補抽出部、６３：字・丁目レベル住所候補抽出部、６４：通り名レベル住所候補抽出部、ｓ１：単語分割処理、ｓ２：市区レベル住所候補抽出処理、ｓ３：町レベル住所候補抽出処理、ｓ４：字・丁目レベル住所候補抽出処理、ｓ５：通り名レベル住所候補抽出処理、ｓ６：絞り込み処理、ｓ５−１：通り名コードテーブル検索、ｓ５−２：通り名方向チェック、ｓ５−３：通り名テーブル検索、ｓ５−４：包含チェック、ｓ５−５：住所候補記憶。
【図１】
2006134154.tif 000003
【図２】
2006134154.tif 000004
【図３】
2006134154.tif 000005
【図４】
2006134154.tif 000006
【図５】
2006134154.tif 000007
【図６】
2006134154.tif 000008
【図７】
2006134154.tif 000009
【図８】
2006134154.tif 000010
【図９】
2006134154.tif 000011