(57)【要約】【課題】入力された複数の住所表現に対応する所在地がそれぞれ２つ以上存在する場合であっても、そのうちの１つのみをそれぞれ自動的に選択して出力可能とすること。【解決手段】所在地候補抽出部４１により、住所情報のみもしくは所定の住所に存在する施設の名称とその住所情報をレコード毎に登録してなるデータベース１を、入力された住所表現をキーとして検索し、該当する住所表現を含むレコードの住所情報を所在地候補として抽出し、これを住所表現の数だけ繰り返し、組み合わせ生成部４２により、複数の住所表現それぞれに対応する所在地候補から一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせを生成し、距離計算部７により、全ての組み合わせにおける所在地候補間の距離を求め、所在地候補間の距離がより小さい組み合わせに属する所在地候補を所在地に決定する。【選択図】図１
2008015981.tif 000002
【特許請求の範囲】
【請求項１】
住所情報の一部もしくは所定の住所に存在する施設の名称からなる住所表現から、当該住所表現に対応する場所を表す情報である所在地を求める装置において、
住所情報のみもしくは所定の住所に存在する施設の名称とその住所情報をレコード毎に登録してなる少なくとも１つのデータベースと、
前記データベースを参照し、入力された複数の住所表現の各々について当該住所表現を含む全てのレコードの住所情報を所在地候補として出力するとともに、一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせを出力する所在地候補生成部と、
所在地候補生成部から出力された一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせにおける所在地候補間の距離を求めて出力する距離計算部と、
所在地候補生成部から出力された複数の住所表現それぞれに対応する所在地候補のうち、距離計算部から出力された所在地候補間の距離がより小さい組み合わせに属する所在地候補を所在地に決定する所在地決定部とを備えた
ことを特徴とする所在地解析装置。
【請求項２】
所在地候補生成部は、
入力された住所表現をキーとして前記データベースを検索し、該当する住所表現を含む全てのレコードの住所情報を所在地候補として抽出し、これを住所表現の数だけ繰り返す所在地候補抽出部と、
所在地候補抽出部で抽出された複数の住所表現それぞれに対応する所在地候補から一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせを生成して出力する組み合わせ生成部とからなる
ことを特徴とする請求項１記載の所在地解析装置。
【請求項３】
住所情報とその緯度・経度情報もしくは所定の住所に存在する施設の名称とその住所情報及び緯度・経度情報をレコード毎に登録してなる少なくとも１つのデータベースを用い、
所在地候補生成部は、住所情報とともに緯度・経度情報も含めて所在地候補として出力し、
距離計算部は、所在地候補生成部から出力された所在地候補の全ての組み合わせにおける所在地候補間の距離を、それらの緯度・経度情報を用いて計算する
ことを特徴とする請求項１記載の所在地解析装置。
【請求項４】
所在地候補生成部から出力された所在地候補の全ての組み合わせにおける所在地候補間の距離を、それらを構成する文字列の一致率から計算する距離計算部を備えた
ことを特徴とする請求項１記載の所在地解析装置。
【請求項５】
所在地決定部は、
距離計算部から出力された所在地候補の全ての組み合わせの所在地候補間の距離の中から最小の距離を抽出し、所在地候補生成部から出力された複数の住所表現それぞれに対応する所在地候補の中から、最小の距離に対応する所在地候補の組み合わせに含まれるいずれかの所在地候補と同一のものを含む住所表現の所在地候補を検索し、該検索された住所表現の所在地候補の中から、最小の距離に対応する所在地候補の組み合わせに含まれなかった所在地候補を削除し、所在地候補生成部及び距離計算部からそれぞれ出力された所在地候補の全ての組み合わせ及び各組み合わせに対応する距離の中から、前記削除した所在地候補を含む所在地候補の組み合わせ及びこれに対応する距離を削除し、同様な処理を全ての住所表現に対応する所在地候補が１つとなるまで繰り返して複数の住所表現それぞれに対応する所在地を決定する
ことを特徴とする請求項１記載の所在地解析装置。
【請求項６】
所在地候補生成部から出力された複数の住所表現それぞれに対応する所在地候補から各住所表現の所在地候補同士の全ての組み合わせを生成し、該各住所表現の所在地候補同士の組み合わせのうち、当該組み合わせに含まれる一の住所表現の所在地候補と他の住所表現の所在地候補との組み合わせのそれぞれに対応する距離計算部から出力された所在地候補間の距離の和が最も小さい組み合わせに属する所在地候補を、複数の住所表現それぞれに対応する所在地に決定する所在地決定部を備えた
ことを特徴とする請求項１記載の所在地解析装置。
【請求項７】
都道府県、市区郡、町村、町大字、字・丁目の住所レベル毎に区切られた住所情報をレコード毎に登録してなるデータベースを少なくとも用い、
所在地候補生成部は、入力された住所情報の一部からなる住所表現を含むレコードのうち、当該住所表現と区切りの一致を満たすレコードの住所情報を所在地候補として出力する
ことを特徴とする請求項１乃至６いずれか記載の所在地解析装置。
【請求項８】
複数の住所表現は、１つの文または１つの文書から抽出されたものである
ことを特徴とする請求項１乃至７いずれか記載の所在地解析装置。
【請求項９】
住所情報の一部もしくは所定の住所に存在する施設の名称からなる住所表現から、当該住所表現に対応する場所を表す情報である所在地を求める方法において、
住所情報のみもしくは所定の住所に存在する施設の名称とその住所情報をレコード毎に登録してなる少なくとも１つのデータベースを備えたコンピュータを用い、
当該コンピュータが、
前記データベースを参照し、入力された複数の住所表現の各々について当該住所表現を含む全てのレコードの住所情報を所在地候補として出力するとともに、一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせを出力する所在地候補生成処理ステップと、
所在地候補生成処理ステップで出力された一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせにおける所在地候補間の距離を求めて出力する距離計算処理ステップと、
所在地候補生成処理ステップで出力された複数の住所表現それぞれに対応する所在地候補のうち、距離計算処理ステップで出力された所在地候補間の距離がより小さい組み合わせに属する所在地候補を所在地に決定する所在地決定処理ステップとを実行する
ことを特徴とする所在地解析方法。
【請求項１０】
所在地候補生成処理ステップは、
入力された住所表現をキーとして前記データベースを検索し、該当する住所表現を含む全てのレコードの住所情報を所在地候補として抽出し、これを住所表現の数だけ繰り返す所在地候補抽出処理ステップと、
所在地候補抽出処理ステップで抽出された複数の住所表現それぞれに対応する所在地候補から一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせを生成して出力する組み合わせ生成処理ステップとからなる
ことを特徴とする請求項９記載の所在地解析方法。
【請求項１１】
住所情報とその緯度・経度情報もしくは所定の住所に存在する施設の名称とその住所情報及び緯度・経度情報をレコード毎に登録してなる少なくとも１つのデータベースを用い、
所在地候補生成処理ステップは、住所情報とともに緯度・経度情報も含めて所在地候補として出力し、
距離計算処理ステップは、所在地候補生成処理ステップで出力された所在地候補の全ての組み合わせにおける所在地候補間の距離を、それらの緯度・経度情報を用いて計算する
ことを特徴とする請求項９記載の所在地解析方法。
【請求項１２】
所在地候補生成処理ステップで出力された所在地候補の全ての組み合わせにおける所在地候補間の距離を、それらを構成する文字列の一致率から計算する距離計算処理ステップを有する
ことを特徴とする請求項９記載の所在地解析方法。
【請求項１３】
所在地決定処理ステップは、
距離計算処理ステップで出力された所在地候補の全ての組み合わせの所在地候補間の距離の中から最小の距離を抽出するステップと、
所在地候補生成処理ステップで出力された複数の住所表現それぞれに対応する所在地候補の中から、最小の距離に対応する所在地候補の組み合わせに含まれるいずれかの所在地候補と同一のものを含む住所表現の所在地候補を検索するステップと、
該検索された住所表現の所在地候補の中から、最小の距離に対応する所在地候補の組み合わせに含まれなかった所在地候補を削除するステップと、
所在地候補生成処理ステップ及び距離計算処理ステップでそれぞれ出力された所在地候補の全ての組み合わせ及び各組み合わせに対応する距離の中から、前記削除した所在地候補を含む所在地候補の組み合わせ及びこれに対応する距離を削除するステップと、
同様な処理を全ての住所表現に対応する所在地候補が１つとなるまで繰り返して複数の住所表現それぞれに対応する所在地を決定するステップとからなる
ことを特徴とする請求項９記載の所在地解析方法。
【請求項１４】
所在地候補生成処理ステップで出力された複数の住所表現それぞれに対応する所在地候補から各住所表現の所在地候補同士の全ての組み合わせを生成し、該各住所表現の所在地候補同士の組み合わせのうち、当該組み合わせに含まれる一の住所表現の所在地候補と他の住所表現の所在地候補との組み合わせのそれぞれに対応する距離計算処理ステップで出力された所在地候補間の距離の和が最も小さい組み合わせに属する所在地候補を、複数の住所表現それぞれに対応する所在地に決定する所在地決定処理ステップを有する
ことを特徴とする請求項９記載の所在地解析方法。
【請求項１５】
都道府県、市区郡、町村、町大字、字・丁目の住所レベル毎に区切られた住所情報をレコード毎に登録してなるデータベースを少なくとも用い、
所在地候補生成処理ステップは、入力された住所情報の一部からなる住所表現を含むレコードのうち、当該住所表現と区切りの一致を満たすレコードの住所情報を所在地候補として出力する
ことを特徴とする請求項９乃至１４いずれか記載の所在地解析方法。
【請求項１６】
複数の住所表現は、１つの文または１つの文書から抽出されたものである
ことを特徴とする請求項９乃至１５いずれか記載の所在地解析方法。
【請求項１７】
コンピュータに、請求項９乃至１６いずれか記載の所在地解析方法の各処理ステップを実行させるための所在地解析プログラム。
【請求項１８】
請求項１７記載の所在地解析プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、住所情報の一部もしくは所定の住所に存在する施設の名称からなる住所表現から、当該住所表現に対応する場所を表す情報（例えば、住所情報、経度・緯度情報等）である所在地を求める技術に関する。
【背景技術】
【０００２】
従来より、住所表現から、これに対応する所在地を求めるシステムとして、住所情報のみもしくは所定の住所に存在する施設の名称とその住所情報をレコード毎に登録してなるデータベースを、入力された住所表現をキーとして検索し、該当する住所表現を含むレコードの住所情報を所在地として出力するものがあった（特許文献１参照）。
【特許文献１】特開２００１−１３４５７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、住所表現の中には、対応する所在地が２つ以上存在するものが少なくない。例えば「日本橋」という住所情報の一部からなる住所表現に対応する所在地は東京にも大阪にも存在し、また「末広町」という住所情報の一部からなる住所表現に対応する所在地は日本全国に１２６箇所も存在する。
【０００４】
この場合、前述した従来のシステムでは、対応する全ての所在地を候補として一覧表示するのみであり、その後は利用者が自らの判断で選択しなければならず、特に候補の数が多い場合、正しい所在地、即ち目的とする所在地を求めることが困難であったり、時間がかかったりするという問題があった。
【０００５】
本発明は、入力された複数の住所表現に対応する所在地がそれぞれ２つ以上存在する場合であっても、そのうちの１つのみをそれぞれ自動的に選択して出力可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明では、前記課題を解決するため、住所情報のみもしくは所定の住所に存在する施設の名称とその住所情報をレコード毎に登録してなるデータベースを参照し、入力された複数の住所表現の各々について当該住所表現を含む全てのレコードの住所情報を所在地候補として出力するとともに、一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせを出力し、該出力された一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせにおける所在地候補間の距離を求めて出力し、前記出力された複数の住所表現それぞれに対応する所在地候補のうち、前記出力された所在地候補間の距離がより小さい組み合わせに属する所在地候補を所在地に決定することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、入力された複数の住所表現それぞれに対応する所在地候補のうち、その間の距離がより小さい各候補を所在地と決定することにより、入力された複数の住所表現に対応する所在地がそれぞれ２つ以上存在する場合であっても、そのうちの１つのみを自動的かつ適切に選択して出力することが可能となる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態を図面により説明する。
【０００９】
＜実施の形態１＞
図１は本発明の所在地解析装置の実施の形態の一例を示すもので、図中、１はデータベース、２は住所表現抽出部、３は住所表現記憶部、４は所在地候補生成部、５は所在地候補記憶部、６は組み合わせ記憶部、７は距離計算部、８は所在地決定部、９は住所表現−所在地対応付け部である。
【００１０】
データベース１は、住所情報とその緯度・経度情報もしくは所定の住所に存在する施設の名称とその住所情報及び緯度・経度情報をレコード毎に登録してなる少なくとも１つのデータベース、ここでは住所データベース１１、店舗データベース１２、駅名データベース１３及びランドマークデータベース１４からなる。
【００１１】
住所データベース１１は、図２に示すように、住所情報とその緯度・経度情報、ここでは日本全国全ての住所情報とその緯度・経度情報をレコード毎に登録してなるもので、各レコードのうち、住所情報が登録されている部分を住所フィールド、緯度・経度情報が登録されている部分を緯度・経度フィールドと呼ぶ。ここで、住所データベース１１は、レコードとして日本全国に存在する番地や号までを含む住所（例えば、「東京都中央区日本橋１丁目ｘｘ番１号」、「東京都中央区日本橋１丁目ｘｘ番２号」等）を全てその緯度・経度情報とともに登録したものであっても良いし、丁目までや市町村名まで等の途中までの住所（例えば、「東京都中央区日本橋」や「東京都中央区日本橋１丁目」や「東京都中央区」）もその緯度・経度情報とともに登録されていても良い。
【００１２】
店舗データベース１２は、図３に示すように、所定の住所に存在する施設、ここでは店舗の名称（店舗名）とその住所情報及び緯度・経度情報をレコード毎に登録してなるもので、各レコードのうち、店舗名が登録されている部分を店舗名フィールド、住所情報が登録されている部分を住所フィールド、緯度・経度情報が登録されている部分を緯度・経度フィールドと呼ぶ。
【００１３】
駅名データベース１３は、図４に示すように、所定の住所に存在する施設、ここでは駅の名称（駅名）とその住所情報及び緯度・経度情報をレコード毎に登録してなるもので、各レコードのうち、駅名が登録されている部分を駅名フィールド、住所情報が登録されている部分を住所フィールド、緯度・経度情報が登録されている部分を緯度・経度フィールドと呼ぶ。
【００１４】
ランドマークデータベース１４は、図５に示すように、所定の住所に存在する施設、ここではランドマークの名称（ランドマーク名）とその住所情報及び緯度・経度情報をレコード毎に登録してなるもので、各レコードのうち、ランドマーク名が登録されている部分をランドマーク名フィールド、住所情報が登録されている部分を住所フィールド、緯度・経度情報が登録されている部分を緯度・経度フィールドと呼ぶ。
【００１５】
住所表現抽出部２は、図示しない記憶媒体から読み出されて入力され又は通信媒体を介して他の装置等から入力された文書情報（テキストファイル）から、当該文書情報中に含まれる住所表現（通常、複数の住所表現）を、周知の固有表現抽出技術を用いて抽出し、住所表現記憶部３及び所在地候補生成部４に出力する。
【００１６】
なお、オペレータが図示しないキーボード等から、文書情報中に含まれる複数の住所表現を直接入力するようにしても良く、この場合、住所表現抽出部２は必要ない。
【００１７】
住所表現記憶部３は、住所表現抽出部２から出力された複数の住所表現を一時的に記憶する。
【００１８】
所在地候補生成部４は、データベース１を参照し、住所表現抽出部２から出力された複数の住所表現の各々について当該住所表現を含む全てのレコードの住所情報を所在地候補として出力するとともに、一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせを出力するもので、より詳細には、所在地候補抽出部４１と、組み合わせ生成部４２とから構成されている。
【００１９】
所在地候補抽出部４１は、入力された住所表現をキーとしてデータベース１を検索し、該当する住所表現を含む全てのレコードの住所情報及びその緯度・経度情報を所在地候補として抽出し、これを住所表現の数だけ繰り返すもので、さらに詳細には、データベース選択部４１１と、所在地候補取得部４１２とから構成されている。
【００２０】
データベース選択部４１１は、図６に示すような、文字列ルールとこれに対応するデータベース名及びフィールド名とを記述したデータベース選択テーブルを予め記憶して保持しており、住所表現を入力とし、入力された住所表現の文字列を前記テーブルに記述された各文字列ルールと照合し、一致する文字列ルールがあれば、前記テーブルから当該一致した文字列ルールに対応するデータベース名及びフィールド名を読み出し、選択したデータベース名及びフィールド名として所在地候補取得部４１２に出力し、これを住所表現の数だけ繰り返す。
【００２１】
ここで、文字列ルールとは、入力された住所表現の文字列の最後に「店」という文字が存在した場合には入力された住所表現は「店舗名」であると判定するものであり、入力された住所表現の文字列の最後に「駅」という文字が存在した場合には入力された住所表現は「駅名」であると判定するものためのものである。従って、図６に示すような、前記文字列ルールとこれに対応するデータベース名及びフィールド名とを記述したデータベース選択テーブルを参照することにより、入力された住所表現に対応するデータベース名及びフィールド名を選択して出力することが可能となる。
【００２２】
なお、このデータベース選択部４１１は、所在地候補の抽出に際して、検索対象とすべきデータベースやフィールドの数を少なくするためのもので、必須の構成ではなく、計算量は多くなるが、データベース１中の全てのデータベース及び全てのフィールドに対して、入力された住所表現をキーとする検索を行うようにしても良い。
【００２３】
所在地候補取得部４１２は、前述の如く抽出され住所表現記憶部３に一時記憶された複数の住所表現と、データベース選択部４１１で選択されて出力された各住所表現対応のデータベース名及びフィールド名とを入力とし、該住所表現をキーとしてデータベース１のうち前記選択されたデータベース名及びフィールド名に対応するデータベースのフィールドを検索し、該当する住所表現を含むレコードの住所情報及び緯度・経度情報を所在地候補として取得し、これを住所表現の数だけ繰り返して組み合わせ生成部４２及び所在地候補記憶部５に出力する。
【００２４】
組み合わせ生成部４２は、所在地候補抽出部４１で抽出された複数の住所表現それぞれに対応する所在地候補を入力とし、一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせを生成し、組み合わせ記憶部６及び距離計算部７に出力する。
【００２５】
所在地候補記憶部５は、所在地候補生成部４（の所在地候補抽出部４１の所在地候補取得部４１２）から出力された複数の住所表現それぞれに対応する所在地候補を一時的に記憶する。また、組み合わせ記憶部６は、所在地候補生成部４（の組み合わせ生成部４２）から出力された一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせを一時的に記憶する。
【００２６】
距離計算部７は、所在地候補生成部４から出力された一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせにおける所在地候補間の距離を求めて出力する、より詳細には、所在地候補生成部４（の所在地候補抽出部４１）から出力され所在地候補記憶部５に記憶された複数の住所表現それぞれに対応する所在地候補と、所在地候補生成部４（の組み合わせ生成部４２）から出力された一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせとを入力とし、一の組み合わせにおける所在地候補間の距離Ｄを、それぞれの所在地候補の緯度情報Ｎ1，Ｎ2及び経度情報Ｅ1，Ｅ2を用いて計算、即ち
Ｄ＝｛（Ｎ1−Ｎ2）2＋（Ｅ1−Ｅ2）2｝1/2
より計算し、これを各組み合わせに対して同様に行い、所在地決定部８に出力する。
【００２７】
なお、後述するように、所在地決定部８では、一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせにおける所在地候補間の距離（の値）の大小が判定できれば足りる、つまり絶対的な距離の値を必要とするわけではないので、上記式中のルート（１／２乗）の部分の計算は省略しても良い。また、本式に関しては、緯度情報及び経度情報を用いた２点間の距離を計算する既知の公式、例えば「緯度及び経度から平面直角座標に変換し測地線長を計算する公式」（B.R.Bowring, "TOTAL INVERSE SOLUTIONS FOR THE GEODESIC AND GREAT ELLIPTIC," Survey Review, Vol.33, No.261, July 1996, pp.461-476（http://vldb.gsi.go.jp/sokuchi/surveycalc/algorithm/）参照）等を用いても良い。
【００２８】
所在地決定部８は、所在地候補生成部４から出力された複数の住所表現それぞれに対応する所在地候補のうち、距離計算部７から出力された所在地候補間の距離がより小さい組み合わせに属する所在地候補を所在地にそれぞれ決定する、より詳細には、所在地候補生成部４（の所在地候補抽出部４１）から出力され所在地候補記憶部５に記憶された複数の住所表現それぞれに対応する所在地候補と、所在地候補生成部４（の組み合わせ生成部４２）から出力され組み合わせ記憶部６に記憶された一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせと、距離計算部７で計算された各組み合わせにおける所在地候補間の距離とを入力とし、複数の住所表現それぞれに対応する所在地候補のうち、所在地候補間の物理的（地理的）な距離がより小さい組み合わせに属する所在地候補を所在地（の住所情報及び緯度・経度情報）にそれぞれ決定し、住所表現−所在地対応付け部９に出力する。
【００２９】
住所表現−所在地対応付け部９は、前述の如く抽出された複数の住所表現と所在地決定部８で決定された各住所表現対応の所在地とを対応付けて出力する、より詳細には、前述の如く抽出され住所表現記憶部３に一時記憶された複数の住所表現と、所在地決定部８から出力された各住所表現対応の所在地とを入力とし、複数の住所表現とその所在地（の住所情報及び緯度・経度情報）とをそれぞれ対応付けて出力する。
【００３０】
なお、住所表現と所在地とを対応付けて出力する必要がなく、住所表現に対応する所在地だけ出力すれば良い場合には、所在地決定部８で決定した所在地を、当該所在地決定部８から直接、外部へ出力させるようにすれば良く、この場合、住所表現−所在地対応付け部９は必要ない。
【００３１】
図７は本発明の所在地解析装置における処理の流れを示すもので、以下、例を挙げてその動作を詳細に説明する。
【００３２】
前述の如くして入力された文書情報から住所表現抽出部２で抽出され、出力された（ｓ１）複数の住所表現は、住所表現記憶部３に記憶されるとともにデータベース選択部４１１に入力される。データベース選択部４１１に入力された住所表現の文字列は、データベース選択部４１１に予め記憶されて保持されたデータベース選択テーブル中の文字列ルールとの照合が行われ、一致した文字列ルールに対応するデータベース名及びフィールド名が選択されて、そのデータベース名及びフィールド名が所在地候補取得部４１２に出力され、この処理が住所表現の数だけ繰り返される（ｓ２）。
【００３３】
例えば、入力された住所表現が「日本橋」である場合、図８に示すように「住所データベース，住所フィールド」が出力される。また、入力された住所表現が「東京タワー」である場合、図８に示すように「ランドマークデータベース，ランドマーク名フィールド」が出力される。また、入力された住所表現が「ＮＴＴ…店」である場合、図８に示すように「店舗データベース，店舗名フィールド」が出力される。また、入力された住所表現が「東京駅」である場合、図８に示すように「駅名データベース，駅名フィールド」が出力される。
【００３４】
次に、所在地候補取得部４１２において、住所表現記憶部３に記憶された住所表現が読み出されて入力されるとともに、データベース選択部４１１で選択されて出力されたデータベース名及びフィールド名が入力されると、該住所表現をキーとしてデータベース１のうち前記選択されたデータベース名及びフィールド名に対応するデータベースのフィールドが検索され、該当する住所表現を含むレコードの住所情報及び緯度・経度情報が所在地候補として取得され、組み合わせ生成部４２に出力されるとともに所在地候補記憶部５に出力され記憶され、この処理が住所表現の数だけ繰り返される（ｓ３）。
【００３５】
例えば、住所表現が「日本橋」、選択されたデータベース名が「住所ＤＢ（データベース）」、選択されたフィールド名が「住所フィールド」である場合、図９に示すように「東京都中央区日本橋，35.677，139.776」と「大阪府大阪市浪速区日本橋，34.656，135.509」とが所在地候補として取得され、出力される。また、住所表現が「Ａ」、選択されたデータベース名が「…ＤＢ」、選択されたフィールド名が「…フィールド」である場合、図９に示すように「Ａ１，34.123，138.654」と「Ａ２，38.324，140.002」とが所在地候補として取得され、出力され、また、住所表現が「Ｂ」、選択されたデータベース名が「…ＤＢ」、選択されたフィールド名が「…フィールド」である場合、図９に示すように「Ｂ１，32.832，134.843」と「Ｂ２，34.534，135.809」とが所在地候補として取得され、出力される（なお、「Ａ」、「Ｂ」や「Ａ１」、「Ａ２」、「Ｂ１」、「Ｂ２」は詳細な内容を省略した表現であって、実際には「日本橋」や「東京都中央区日本橋」と同様の文字列である。）。
【００３６】
なお、以上の処理が「所在地候補抽出処理」である。
【００３７】
次に、組み合わせ生成部４２において、所在地候補抽出部４１で抽出され出力された複数の住所表現それぞれに対応する所在地候補（の住所情報及び緯度・経度情報）が入力されると、一の住所表現の所在地候補（の住所情報）と他の住所表現の所在地候補（の住所情報）との全ての組み合わせが生成され、組み合わせ記憶部６に出力され記憶されるとともに、距離計算部７に出力される（ｓ４）。
【００３８】
例えば、住所表現「日本橋」の所在地候補「東京都中央区日本橋，35.677，139.776」及び「大阪府大阪市浪速区日本橋，34.656，135.509」、住所表現「Ａ」の所在地候補「Ａ１，34.123，138.654」及び「Ａ２，38.324，140.002」、住所表現「Ｂ」の所在地候補「Ｂ１，32.832，134.843」及び「Ｂ２，34.534，135.809」が入力された場合、図１０に示すように「東京都…，Ａ１」、「東京都…，Ａ２」、「東京都…，Ｂ１」、…「Ａ２，Ｂ２」の１２組の組み合わせが出力される。
【００３９】
なお、以上の処理が「所在地候補生成処理」である。
【００４０】
次に、距離計算部７において、所在地候補記憶部５に記憶された複数の住所表現それぞれに対応する所在地候補（の住所情報及び緯度・経度情報）が読み出されて入力されるとともに、組み合わせ生成部４２で生成されて出力された一の住所表現の所在地候補（の住所情報）と他の住所表現の所在地候補（の住所情報）との全ての組み合わせが入力されると、当該組み合わせにおける所在地候補間の距離が前述した如くして計算され、これらが全ての組み合わせについて同様に行われ、所在地決定部８に出力される（ｓ５）。
【００４１】
例えば、組み合わせ「東京都…，Ａ１」については、住所情報「東京都…」を含む所在地候補の緯度・経度情報が「35.677，139.776」であり、住所情報「Ａ１」を含む所在地候補の緯度・経度情報が「34.123，138.654」であるから、
Ｄ＝｛（35.677−34.123）2＋（139.776−138.654）2｝1/2
＝1.916715941
と計算される。他の組み合わせについても同様に計算され、各組み合わせに対応する所在地候補間の距離が、例えば図１１に示すように出力される。
【００４２】
次に、所在地決定部８において、所在地候補記憶部５に記憶された複数の住所表現それぞれに対応する所在地候補が読み出されて入力され、組み合わせ記憶部６に記憶された一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせが読み出されて入力されるとともに、距離計算部７で計算されて出力された各組み合わせにおける所在地候補間の距離が入力されると、複数の住所表現それぞれに対応する所在地候補のうち、所在地候補間の距離がより小さい組み合わせに属する所在地候補が所在地（の住所情報及び緯度・経度情報）にそれぞれ決定され、住所表現−所在地対応付け部９に出力される（ｓ６）。
【００４３】
図１２は所在地決定部８における処理の流れの詳細を、また、図１３は所在地決定部８の処理内容の一例を示すもので、以下、これらに従ってその動作を詳細に説明する。
【００４４】
まず、複数の住所表現の所在地候補、所在地候補の全ての組み合わせ及び各組み合わせに対応する距離、例えば６つの所在地候補「東京都中央区日本橋，35.677，139.776」、「大阪府大阪市浪速区日本橋，34.656，135.509」、「Ａ１，34.123，138.654」、…「Ｂ２，34.534，135.809」と、１２組の組み合わせ「東京都…，Ａ１」、「東京都…，Ａ２」、「東京都…，Ｂ１」、…「Ａ２，Ｂ２」と、各組み合わせの距離「1.916715941」、「2.656630385」、「5.694603937」、…「5.652021674」とが入力される（ｓ１１）と、入力された各組み合わせの距離の中から最小の距離、ここでは「0.323857994」が抽出される（ｓ１２）。
【００４５】
次に、入力された複数の住所表現の所在地候補の中から、前記最小の距離に対応する所在地候補の組み合わせ、ここでは「大阪府…，Ｂ２」に含まれるいずれかの所在地候補と同一のものを含む住所表現の所在地候補、ここでは所在地候補「大阪府…」を含む住所表現「日本橋」の所在地候補「東京都中央区日本橋，35.677，139.776」及び「大阪府大阪市浪速区日本橋，34.656，135.509」と、所在地候補「Ｂ２」を含む住所表現「Ｂ」の所在地候補「Ｂ１，32.832，134.843」及び「Ｂ２，34.534，135.809」とが検索される（ｓ１３）。
【００４６】
次に、検索された住所表現の所在地候補の中から、最小の距離に対応する所在地候補の組み合わせに含まれなかった所在地候補、ここでは住所表現「日本橋」の所在地候補「東京都中央区日本橋，35.677，139.776」と、住所表現「Ｂ」の所在地候補「Ｂ１，32.832，134.843」とが削除され（ｓ１４）、さらに所在地候補の全ての組み合わせ及び各組み合わせに対応する距離の中から、前記削除された所在地候補（の住所情報）を含む所在地候補の組み合わせ及びこれに対応する距離、ここでは「東京都…，Ａ１」及び「1.916715941」、「東京都…，Ａ２」及び「2.656630385」、…「Ａ２，Ｂ１」及び「7.535074319」が削除される（ｓ１５）。なお、図１３では二重取消線で削除を表現した。
【００４７】
次に、全ての住所表現の所在地候補が１つになったかが判定される（ｓ１６）が、ここでは住所表現「Ａ」の所在地候補が２つ、つまり「Ａ１，34.123，138.654」及び「Ａ２，38.324，140.002」であるため、ｓ１２の処理に戻り、削除されずに残った組み合わせの距離の中（但し、それまでに抽出した距離、ここでは「0.323857994」については除外する。）から最小の距離、即ち「2.874534049」が抽出される。
【００４８】
そして、ｓ１３の処理により、前記同様、入力された複数の住所表現の所在地候補の中から、前記最小の距離に対応する所在地候補の組み合わせ、ここでは「Ａ１，Ｂ２」に含まれるいずれかの所在地候補と同一のものを含む住所表現の所在地候補、ここでは所在地候補「Ａ１」を含む住所表現「Ａ」の所在地候補「Ａ１，34.123，138.654」及び「Ａ２，38.324，140.002」が検索され、ｓ１４の処理により、検索された住所表現の所在地候補の中から、最小の距離に対応する所在地候補の組み合わせに含まれなかった所在地候補、ここでは住所表現「Ａ」の所在地候補「Ａ２，38.324，140.002」が削除され、さらにｓ１５の処理により、該削除された所在地候補（の住所情報）を含む所在地候補の組み合わせ及びこれに対応する距離、ここでは「大阪府…，Ａ２」及び「5.80010974」と、「Ａ２，Ｂ２」及び「5.652021674」とが削除される（なお、実際には所在地候補「Ｂ２」を含むものについても同様に行われるが、既に行われているので結果は変わらない。）。
【００４９】
この結果、ｓ１６の処理により、全ての住所表現の所在地候補が１つになったことが判定されることにより、削除されずに残された各住所表現の所在地候補、ここでは「大阪府大阪市浪速区日本橋，34.656，135.509」、「Ａ１，34.123，138.654」及び「Ｂ２，34.534，135.809」が出力される（ｓ１７）。
【００５０】
最後に、住所表現−所在地対応付け部９において、住所表現記憶部３に記憶された複数の住所表現が読み出されて入力されるとともに、所在地決定部８で決定されて出力された各住所表現対応の所在地が入力されると、この住所表現と所在地（の住所情報）とがそれぞれ対応付けて出力される（ｓ７）。
【００５１】
例えば、複数の住所表現が「日本橋」、「Ａ」及び「Ｂ」、各住所表現対応の所在地が「大阪府大阪市浪速区日本橋，34.656，135.509」、「Ａ１，34.123，138.654」及び「Ｂ２，34.534，135.809」である場合、図１４に示すように「日本橋：大阪府大阪市浪速区日本橋，34.656，135.509」、「Ａ：Ａ１，34.123，138.654」及び「Ｂ：Ｂ２，34.534，135.809」が出力される。
【００５２】
このように、本実施の形態によれば、入力された複数の住所表現に対応する所在地がそれぞれ２つ以上存在する場合であっても、そのうちの１つのみをそれぞれ自動的に選択して出力することが可能となる。
【００５３】
なお、複数の住所表現が、前述したように、オペレータにより図示しないキーボード等から直接入力されたものであったり、データベースやカーナビゲーションシステムから得られたものであるような場合には、住所表現抽出処理（ｓ１）は必要なく、また、住所表現と所在地とを対応付けて出力する必要がなく、入力された住所表現に対応する所在地だけ出力すれば良い場合には、所在地決定処理（ｓ６）により決定した所在地を直接、外部へ出力すれば良く、この場合、住所表現−所在地対応付け処理（ｓ７）は必要ない。
【００５４】
＜実施の形態２＞
本発明の実施の形態２では、図１５に示すように、都道府県、市区郡、町村、町大字、字・丁目の住所レベル毎に区切られた住所情報をその緯度・経度情報とともにレコード毎に登録してなる住所データベースを用いる。即ち、例えば、実施の形態１で説明した住所データベースにおける１つのレコードの住所情報が「東京都中央区日本橋…」であったとすると、本実施の形態における同じレコードの住所情報は「東京／都，中央／区，日本橋，…」（但し、「，」は区切りの記号、また、「／」は次の区切りの記号「，」までの文字列については住所表現中にあってもなくても良いことを示す記号である。）のように、都道府県、市区郡、町村、町大字、字・丁目の住所レベル毎に区切られて登録される。
【００５５】
そして、所在地候補生成部４（詳細には所在地候補抽出部４１の所在地候補取得部４１２）では、入力された住所表現、ここでは住所情報の一部からなる住所表現をキーとして住所データベースの住所フィールドを検索し、該当する住所表現を含むレコードの住所情報を取得し、さらに前記住所表現と区切りの一致を満たすレコードの住所情報をその緯度・経度情報とともに所在地候補として出力する。
【００５６】
本実施の形態によれば、例えば、入力された住所表現「イラン」に対して住所情報「英国ハイランド州…」を含むレコードが抽出され所在地候補として生成されるような、住所表現を構成する文字列の単なる一致により誤った所在地候補が生成されることが少なくなる。
【００５７】
＜実施の形態３＞
本発明の実施の形態３では、距離計算部７における所在地候補の全ての組み合わせにおける所在地候補間の距離を、それらの緯度・経度情報ではなく、それらを構成する文字列の一致率から計算する。即ち、所在地候補生成部４（の組み合わせ生成部４２）から出力された一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせを入力とし、一の組み合わせにおける所在地候補間の距離Ｄを、それぞれの所在地候補の住所情報の文字数length(add1)，length(add2)と、それぞれの所在地候補の住所情報の一致した文字数match length(add1,add2)とを用いて計算、即ち
Ｄ＝｛２×match length(add1,add2)｝／｛length(add1)＋length(add2)｝
より計算し、これを各組み合わせに対して同様に行い、所在地決定部８に出力する。
【００５８】
そして、所在地決定部８では、所在地候補生成部４から出力された複数の住所表現それぞれに対応する所在地候補のうち、距離計算部７から出力された所在地候補間の距離がより小さい、ここでは文字列の一致率で表される距離がより大きい組み合わせに属する所在地候補を所在地にそれぞれ決定し、住所表現−所在地対応付け部９に出力する。
【００５９】
本実施の形態によれば、所在地候補の住所情報の文字列から所在地候補間の距離を求めることができ、各データベース中の緯度・経度情報を不要とすることができる。
【００６０】
＜実施の形態４＞
本発明の実施の形態４では、所在地決定部８における複数の住所表現それぞれに対応する所在地候補を、複数の住所表現の所在地候補同士の全ての組み合わせに対応する所在地候補間の距離の和から決定する、より詳細には、所在地候補生成部４（の所在地候補抽出部４１）から出力され所在地候補記憶部５に記憶された複数の住所表現それぞれに対応する所在地候補と、所在地候補生成部４（の組み合わせ生成部４２）から出力され組み合わせ記憶部６に記憶された一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせと、距離計算部７で計算された各組み合わせにおける所在地候補間の距離とを入力とし、複数の住所表現それぞれに対応する所在地候補から各住所表現の所在地候補同士の全ての組み合わせを生成し、該各住所表現の所在地候補同士の組み合わせのうち、当該組み合わせに含まれる一の住所表現の所在地候補と他の住所表現の所在地候補との組み合わせのそれぞれに対応する距離計算部７から出力された所在地候補間の距離の和が最も小さい組み合わせに属する所在地候補を、複数の住所表現それぞれに対応する所在地に決定し、住所表現−所在地対応付け部９に出力する。
【００６１】
図１６は本実施の形態の所在地決定部８における処理内容の例を示すもので、以下、これに従ってその動作を詳細に説明する。
【００６２】
まず、入力された複数の住所表現の所在地候補から、各住所表現に対して１つ所在地候補を選択し、取り得る全ての所在地候補（の住所情報）の組を生成する。例えば、図１６では、６つの所在地候補「東京都中央区日本橋，35.677，139.776」、「大阪府大阪市浪速区日本橋，34.656，135.509」、「Ａ１，34.123，138.654」、…「Ｂ２，34.534，135.809」から、「東京都…，Ａ１，Ｂ１」、「東京都…，Ａ１，Ｂ２」、「東京都…，Ａ２，Ｂ１」、…「大阪府，Ａ２，Ｂ２」の８組の組み合わせが生成される。
【００６３】
次に、生成された取り得る全ての所在地候補の各組において、その部分的な構成となる一の住所表現の所在地候補と他の住所表現の所在地候補との組み合わせを、所在地候補生成部４（の組み合わせ生成部４２）で生成された一の住所表現の所在地候補と他の住所表現の所在地候補との全ての組み合わせの中から選択する。そして、選択された組み合わせの所在地候補間の距離の和を、取り得る全ての所在地候補の各組の距離とする。例えば、図１６では、「東京都…，Ａ１，Ｂ１」の組に対し、部分的な構成として、「東京都…，Ａ１」、「東京都…，Ｂ１」及び「Ａ１，Ｂ１」の組み合わせが選択され、「東京都…，Ａ１，Ｂ１」の距離は、「東京都…，Ａ１」、「東京都…，Ｂ１」及び「Ａ１，Ｂ１」の距離の和である「11.63504974」となる。
【００６４】
そして、求められた取り得る全ての所在地候補の各組の距離のうち、最小の距離が抽出され、当該最小の距離に対応する組に属する所在地候補が、複数の住所表現それぞれに対応する所在地に決定されて出力される。図１６の例では、距離「6.3882375」が抽出され、この距離に対応する組である「大阪府…，Ａ１，Ｂ２」に属する所在地候補「大阪府大阪市浪速区日本橋，34.656，135.509」、「Ａ１，34.123，138.654」及び「Ｂ２，34.534，135.809」が所在地として出力される。
【００６５】
なお、本発明は、前述したデータベースを備え又は接続された周知のコンピュータに媒体もしくは通信回線を介して、図７、図１２の流れ図に示された手順を備えるプログラムをインストールすることによっても実現可能である。
【図面の簡単な説明】
【００６６】
【図１】本発明の所在地解析装置の実施の形態の一例を示す構成図
【図２】住所データベースの一例を示す説明図
【図３】店舗データベースの一例を示す説明図
【図４】駅名データベースの一例を示す説明図
【図５】ランドマークデータベースの一例を示す説明図
【図６】データベース選択テーブルの一例を示す説明図
【図７】本発明の所在地解析装置における処理の流れ図
【図８】データベース選択部の入出力値の一例を示す説明図
【図９】所在地候補取得部の入出力値の一例を示す説明図
【図１０】組み合わせ生成部の入出力値の一例を示す説明図
【図１１】距離計算部の入出力値の一例を示す説明図
【図１２】所在地決定部における処理の流れ図
【図１３】所在地決定部の処理内容の一例を示す説明図
【図１４】住所表現−所在地対応付け部の入出力値の一例を示す説明図
【図１５】住所データベースの他の例を示す説明図
【図１６】所在地決定部の処理内容の他の例を示す説明図
【符号の説明】
【００６７】
１：データベース、２：住所表現抽出部、３：住所表現記憶部、４：所在地候補生成部、５：所在地候補記憶部、６：組み合わせ記憶部、７：距離計算部、８：所在地決定部、９：住所表現−所在地対応付け部、４１：所在地候補抽出部、４２：組み合わせ生成部、４１１：データベース選択部、４１２：所在地候補取得部、ｓ１：住所表現抽出処理、ｓ２：データベース選択処理、ｓ３：所在地候補取得処理、ｓ４：組み合わせ生成処理、ｓ５：距離計算処理、ｓ６：所在地決定処理、ｓ７：住所表現−所在地対応付け処理。
【図１】
2008015981.tif 000003
【図２】
2008015981.tif 000004
【図３】
2008015981.tif 000005
【図４】
2008015981.tif 000006
【図５】
2008015981.tif 000007
【図６】
2008015981.tif 000008
【図７】
2008015981.tif 000009
【図８】
2008015981.tif 000010
【図９】
2008015981.tif 000011
【図１０】
2008015981.tif 000012
【図１１】
2008015981.tif 000013
【図１２】
2008015981.tif 000014
【図１３】
2008015981.tif 000015
【図１４】
2008015981.tif 000016
【図１５】
2008015981.tif 000017
【図１６】
2008015981.tif 000018