(57)【要約】【課題】  カタカナで表記された住所を自動的にローマ字に変換し、得られたローマ字変換結果を正しいローマ字表記住所に整形することの出来る住所変換装置、住所変換方法を提供する。【解決手段】  本発明は、カタカナ表記の住所をローマ字表記に変換し、都道府県名と市区群町村名とを正しいローマ字表記に変換し、文字列の最初のアルファベットを大文字に変換することを特徴とする。【選択図】        図１
2006277238.tif 000002
【特許請求の範囲】
【請求項１】
カタカナ表記の住所を記憶するカタカナ住所記憶装置と、ローマ字表記の住所を記憶するローマ字住所記憶装置と、前記カタカナ住所記憶装置から住所を読み込む住所読み込み装置と、カタカナ表記の住所をローマ字表記に変換する処理を制御する住所変換制御装置と、カタカナをローマ字に変換するローマ字変換装置と、都道府県名を表すローマ字文字列を正しいローマ字の住所表記に変換する都道府県名変換装置と、市区郡町村名を表すローマ字文字列を正しいローマ字の住所表記に変換する市区郡町村名変換装置と、ローマ字文字列の最初のアルファベットを大文字に変換する大文字変換装置と、前記ローマ字記憶装置に住所を書き込む住所書き込み装置とからなることを特徴とする住所変換装置。
【請求項２】
前記カタカナ住所記憶装置は、都道府県名を記憶する都道府県名記憶部と、市区郡町村名を記憶する市区郡町村名記憶部と、町域名を記憶する町域名記憶部とから構成され、都道府県名、市区郡町村名、町域名をそれぞれ該当する記憶部で別々に記憶することを特徴とする請求項１記載の住所変換装置。
【請求項３】
前記ローマ字住所記憶装置は、都道府県名を記憶する都道府県名記憶部と、市区郡町村名を記憶する市区郡町村名記憶部と、町域名を記憶する町域名記憶部とから構成され、都道府県名、市区郡町村名、町域名をそれぞれ該当する記憶部で別々に記憶することを特徴とする請求項１記載の住所変換装置。
【請求項４】
前記住所変換制御装置は、前記住所読み込み装置と、前記ローマ字変換装置と、前記都道府県名変換装置と、前記市区郡町村名変換装置と、前記大文字変換装置と、前記住所書き込み装置とを使って、カタカナの住所をローマ字に変換する住所変換処理を制御することを特徴とする請求項１記載の住所変換装置。
【請求項５】
都道府県名、市区郡町村名、町域名をそれぞれ、前記カタカナ住所記憶装置の都道府県名記憶部、市区郡町村名記憶部、町域名記憶部から読み込む機能を有することを特徴とする請求項２記載の住所変換装置。
【請求項６】
前記住所読み込み装置は、前記住所変換制御装置からの住所読み込み要求が、都道府県名、市区郡町村名、町域名のいずれを読み込む要求であるかを判断する機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項７】
前記ローマ字変換装置は、カタカナの文字列を後ろから解析することで該カタカナ文字列に含まれる全てのカタカナのトークンを順番に切り出す機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項８】
前記ローマ字変換装置は、予め用意されたカタカナトークンとローマ字トークンとの対応表を用いて、カタカナトークンをローマ字トークンに変換する機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項９】
前記ローマ字変換装置は、スタックに記憶されているローマ字トークンを順番に取り出し、連結することでローマ字の文字列を生成する機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項１０】
前記ローマ字変換装置は、ローマ字文字列に含まれる不正なローマ字表現を正当なローマ字表現に修正する機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項１１】
前記都道府県名変換装置は、いずれかの都道府県名を表すローマ字文字列が都、道、府、県のいずれを表すかを判断する機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項１２】
前記都道府県名変換装置は、ローマ字文字列の末尾のｔｏ、ｄｏ、ｆｕ、ｋｅｎの文字列を削除する機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項１３】
前記市区郡町村名変換装置は、ローマ字文字列が都市名で始まっているかどうかを判断する機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項１４】
前記市区郡町村名変換装置は、都市名から始まるローマ字文字列の、都市名とそれ以外の部分に空白を挿入する機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項１５】
前記市区郡町村名変換装置は、ｓｈｉ、ｋｕ、ｇｕｎ、ｃｈｏ、ｍａｃｈｉ、ｓｏｎ、ｍｕｒａのアルファベットの先頭に−を付け加える機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項１６】
前記住所書き込み装置は、都道府県名、市区郡町村名、町域名をそれぞれ、前記ローマ字住所記憶装置の都道府県名記憶部、市区郡町村名記憶部、町域名記憶部へ書き込む機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項１７】
前記住所書き込み装置は、前記住所変換制御装置からの住所書き込み要求が、都道府県名、市区郡町村名、町域名のいずれを書き込む要求であるかを判断する機能を有することを特徴とする請求項１記載の住所変換装置。
【請求項１８】
カタカナ表記の住所を記憶するカタカナ住所記憶部と、ローマ字表記の住所を記憶するローマ字住所記憶部とを有する装置を制御するための住所変換方法であって、
カタカナ表記の住所をローマ字表記に変換するように制御する住所変換制御ステップと、
前記変換されたローマ字表記の住所のうち、都道府県名について正しいローマ字表記に変換する都道府県名変換ステップと、
前記変換されたローマ字表記の住所のうち、市区郡町村名について正しいローマ字表記に変換する市区郡町村名変換ステップと、
前記都道府県名のローマ字文字列の最初のアルファベット、および前記市区郡町村名のローマ字文字列の最初のアルファベットを大文字にする大文字変換ステップと、
を有することを特徴とする住所変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ローマ字変換に関連し、特に住所変換装置、住所変換方法に関する。
【背景技術】
【０００２】
従来、ローマ字入力されたローマ字をかな文字に変換する技術や、かな入力されたかな文字をローマ字に変換する技術があった。
【特許文献１】特開平０８−１０６４６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば、インターネットのドメインを取得する際に必要な書類には、そのドメインを取得しようとする組織や個人の住所およびそのカタカナのふりがなとローマ字表記を記入する必要がある。
【０００４】
住所およびカタカナのふりがなは郵政省の提供するデータベースを用いて、郵便番号を入力することで得ることができるが、このデータベースではローマ字表記を得ることはできないため、オペレータが手作業で入力する必要がある。
【０００５】
しかし、手作業での入力は時間もかかる上、入力ミスも多くなる。
【０００６】
また、単純にカタカナをローマ字に変換しただけでは、例えばｋａｎａｇａｗａｋｅｎｋａｗａｓａｋｉｓｈｉｎａｋａｈａｒａｋｕ．．．というように非常に読みにくい表記になってしまうため、単純にローマ字に変換するだけでなく、Ｎａｋａｈａｒａ−ｋｕ  Ｋａｗａｓａｋｉ−ｓｈｉ  Ｋａｎａｇａｗａというように住所表記として正しいローマ字に変換する必要がある。
【０００７】
これらの課題を解決するために、本発明の目的は、カタカナで表記された住所を自動的にローマ字に変換し、得られたローマ字変換結果を正しいローマ字表記住所に整形することで、オペレータの労力および入力ミスを軽減する住所変換装置、住所変換方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のカタカナ住所記憶装置は、都道府県名を記憶する都道府県名記憶部と、市区郡町村名を記憶する市区郡町村名記憶部と、町域名を記憶する町域名記憶部とから構成されることを特徴とする。
【０００９】
また、本発明のカタカナ住所記憶装置は、住所読み込み装置からの要求に応じて都道府県名、市区郡町村名、町域名を別々に出力する機能を有することを特徴とする。
【００１０】
また、本発明の住所読み込み装置は、都道府県名、市区郡町村名、町域名をそれぞれカタカナ住所記憶装置の該当する記憶部から読み込む機能を有することを特徴とする。
【００１１】
また、本発明のローマ字変換装置は、カタカナの文字列からカタカナのトークンを切り出すトークン切り出し部と、カタカナのトークンとローマ字のトークンとの対応表と、前記対応表を用いてカタカナのトークンをローマ字のトークンへ変換する変換部と、複数のローマ字トークンを合成してローマ字の文字列を生成するトークン連結部と、ローマ字の文字列に含まれる不正なローマ字表現を正当な表現へ修正するローマ字修正部をから構成されることを特徴とする。
【００１２】
また、本発明の都道府県名変換装置は、いずれかの都道府県名を表すローマ字文字列が都、道、府、県のいずれを表すのかを判断する都道府県判断部と、都道府県名のいずれかを表すローマ字文字列の末尾にあるｔｏ、ｄｏ、ｆｕ、ｋｅｎの文字を削除する都道府県変換部とから構成されることを特徴とする。
【００１３】
また、本発明の市区郡町村名変換装置は、都市名の一覧表を用いて、市名、区名、郡名、町名、村名のいずれか、あるいは複数を含むローマ字文字列に都市名が含まれるかどうかを判断する都市名判断部と、都市名が含まれるローマ字文字列の都市名とそれ以外の部分の間に空白を挿入する空白挿入部と、ローマ字文字列の末尾にあるｓｈｉ、ｋｕ、ｇｕｎ、ｃｈｏ、ｍａｃｈｉ、ｓｏｎ、ｍｕｒａの文字列をそれぞれ−ｓｈｉ、−ｋｕ、−ｇｕｎ、−ｃｈｏ、−ｍａｃｈｉ、−ｓｏｎ、−ｍｕｒａへ変換する市区郡町村変換部とから構成されることを特徴とする。
【００１４】
また、本発明の大文字変換装置は、ローマ字文字列の最初の文字を切り取る頭文字切り取り部と、小文字もアルファベットを大文字に変換する変換部と、アルファベットと文字列を連結する連結部とから構成されることを特徴とする。
【００１５】
また、本発明の住所書き込み装置は、都道府県名、市区郡町村名、町域名をそれぞれローマ字住所記憶装置の該当する記憶部へ書き込む機能を有することを特徴とする。
【００１６】
また、本発明のローマ字住所記憶装置は、都道府県名を記憶する記憶する都道府県名記憶装置と、市区郡町村名を記憶する市区郡町村名記憶部と、町域名を記憶する町域名記憶部とから構成されることを特徴とする。
【００１７】
また、本発明のローマ字住所記憶装置は、要求に応じて、都道府県名と市区郡町村名と町域名を別々に記憶する機能を有することを特徴とする。
【００１８】
すなわち本発明は、カタカナ表記の住所を記憶するカタカナ住所記憶装置と、ローマ字表記の住所を記憶するローマ字住所記憶装置と、前記カタカナ住所記憶装置から住所を読み込む住所読み込み装置と、カタカナ表記の住所をローマ字表記に変換する処理を制御する住所変換制御装置と、カタカナをローマ字に変換するローマ字変換装置と、都道府県名を表すローマ字文字列を正しいローマ字の住所表記に変換する都道府県名変換装置と、市区郡町村名を表すローマ字文字列を正しいローマ字の住所表記に変換する市区郡町村名変換装置と、ローマ字文字列の最初のアルファベットを大文字に変換する大文字変換装置と、前記ローマ字記憶装置に住所を書き込む住所書き込み装置とからなることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、カタカナで表記された住所を自動的にローマ字に変換し、得られたローマ字変換結果を正しいローマ字表記住所に整形することで、オペレータの労力および入力ミスを軽減することができる。
【発明を実施するための最良の形態】
【００２０】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例】
【００２１】
本発明では、ユーザーはローマ字へ変換したいカタカナの住所を、都道府県名、市区郡町村名、町域名に分けて入力し、カタカナの住所を記憶する記憶装置に記憶させ、その後、住所変換を制御する制御装置に対して住所のローマ字変換を指示する。
【００２２】
変換を指示された住所変換制御装置は、記憶装置から住所を読み込む読み込み装置を使ってカタカナの住所をカタカナ住所記憶装置から読みだし、カタカナをローマ字へ変換するローマ字変換装置を使ってローマ字に変換する。その後、都道府県名、市区郡町村名それぞれに対応した変換装置を使って変換をし、ローマ字文字列の先頭の文字を大文字変換する大文字変換装置を使って先頭の文字を大文字に変換する。
【００２３】
その後、住所変換制御装置はローマ字に変換された住所記憶する記憶装置に住所を書き込む書き込み装置を使って、ローマ字住所記憶装置にローマ字変換された住所を書き込む。
【００２４】
図１は本発明の実施の一つの形態を示すシステム構成図である。
【００２５】
図１において、１００１はユーザーの入力したカタカナの住所を記憶するカタカナ住所記憶装置、１００２はローマ字へ変換された住所を記憶するローマ字住所記憶装置、１００３は住所の読み込み、ローマ字変換、書き込みを制御する住所変換制御装置、１００４はカタカナ住所記憶装置から住所を読み込む住所読み込み装置、１００５はカタカナをローマ字に変換するローマ字変換装置、１００６は、都道府県名を変換する都道府県名変換装置、１００７は市区郡町村名を変換する市区郡町村名変換装置、１００８は住所の先頭の文字を大文字に変換する大文字変換装置、１００９はローマ字変換された住所をローマ字住所記憶装置へ書き込む住所書き込み装置である。
【００２６】
カタカナ住所記憶装置１００１は、ユーザーが入力したカタカナの住所を、都道府県名、市区郡町村名、町域名に分けて記憶している。
【００２７】
住所変換制御装置１００３は、ユーザーからの要求に応じて、住所読み込み装置１００４に対して、住所の部分を表す住所部分に応じた住所の読み込みを指示する。
【００２８】
住所部分の一覧を表１に示す。
【００２９】
【表１】
2006277238.tif 000003
【００３０】
表１において、例えば住所が神奈川県川崎市中原区今井上町５３だった場合、都道府県名は神奈川県、市区郡町村名は川崎市中原区、町域名は今井上町である。
【００３１】
その後、ローマ字変換装置１００５、都道府県名変換装置１００６、市区郡町村名変換装置１００７、大文字変換装置１００８を使って読み込まれたカタカナの住所をローマ字に変換する。
【００３２】
その後、住所書き込み装置１００９に対して住所の書き込みを指示する。
【００３３】
住所読み込み装置１００４は、住所変換制御装置１００２に読み込みを指示された住所部分に応じて、カタカナ住所記憶装置１００１から都道府県名、市区郡町村名、町域名を読み込み、ローマ字変換装置１００５へ渡す。
【００３４】
ローマ字変換装置１００５は住所読み込み装置１００４から受け取ったカタカナの住所をローマ字に変換する。
【００３５】
ローマ字に変換された住所は住所の部分に応じて、都道府県名変換装置１００６、及び市区郡町村名変換装置１００７によって正しいローマ字住所表記に変換される。
【００３６】
その後、大文字変換装置１００８によって先頭文字が大文字に変換される。
【００３７】
住所変換制御装置１００３は、ローマ字への変換の終了した住所を、住所部分とともに住所書き込み装置１００９へ渡し、ローマ字住所記憶装置１００２への書き込みを指示する。
【００３８】
住所書き込み指示を受けた住所書き込み装置１００９は、指示された住所部分の記憶部へのローマ字住所の記憶を、ローマ字住所記憶装置１００２へ要求する。
【００３９】
要求を受けたローマ字住所記憶装置１００２は、要求のあった住所部分に応じて、ローマ字変換された住所を、都道府県名、市区郡町村名、町域名に分けて記憶する。
【００４０】
図２はカタカナ住所記憶装置１００１の内部構成図である。
【００４１】
図２において、２００１は都道府県名を記憶する都道府県名記憶部、２００２は市名、区名、郡名、町名、村名を記憶する市区郡町村名記憶部、２００３は町域名を記憶する町域名記憶部である。
【００４２】
カタカナ住所記憶装置１００１は、ユーザーの入力した住所をその住所の部分に応じて、都道府県名記憶部、市区郡町村名記憶部、町域名記憶部に記憶しており、読みだし要求があった場合、都道府県名記憶部２００２、市区郡町村名記憶部２００３、町域名２００４の内、読みだし要求のあった記憶部からカタカナの住所を出力する。
【００４３】
図３は住所変換制御装置１００３の内部構成図である。
【００４４】
図３において、３００１は都道府県、市区郡町村名、町域名の住所部分を順に生成する住所部分生成部、３００２は生成された住所部分を記憶する住所部分記憶部、３００３は住所読み込み装置１００４に住所の読み込みを指示する住所読み込み指示部、３００４は住所書き込み装置１００９に住所の書き込みを指示する住所書き込み指示部である。
【００４５】
住所変換制御装置１００３は、ユーザーからのローマ字変換の指示を受け、カタカナ住所記憶装置からの住所の読み込み、読み込んだ住所のローマ字への変換、ローマ字住所記憶装置への住所の書き込みの各処理を制御する。
【００４６】
住所部分生成部３００１は、都道府県名、市区郡町村名、町域名の住所部分を順に生成し、住所部分記憶部へ記憶する。
【００４７】
住所読み込み指示部３００３は、住所部分に対応した部分の住所の読み込みを住所読み込み装置１００４へ指示する。
【００４８】
住所書き込み指示部３００４は、住所部分に対応した部分の住所の書き込みを住所書き込み装置１００９へ指示する。
【００４９】
図４は住所読み込み装置１００４の内部構成図である。
【００５０】
図４において、４００１はカタカナ住所記憶装置１００１から住所を読み込む読み込み部、４００２は、要求のあった住所部分に応じて、どの住所部分を読み込むかを指示する読み込み指示部である。
【００５１】
住所読み込み装置１００４は、住所読み込み要求があると、読み込み指示部４００２を使って要求のあった住所部分を判断し、読み込み部４００１を使って、カタカナ住所記憶装置１００１から住所を読み込む。
【００５２】
読み込み部４００１は、カタカナ住所記憶装置１００１から、要求のあった住所部分を読み込む。
【００５３】
読み込み指示部４００２は、読み込み部４００１に対して、住所のどの部分を読み込めばよいかを指示する。
【００５４】
図５はローマ字変換装置１００５の内部構成図である。
【００５５】
図５において、５００１は受け取ったカタカナ住所文字列からカタカナトークンを後ろから順に切り出すトークン切り出し部、５００２は切り出したカタカナトークンをローマ字トークンに変換するローマ字変換部、５００３は変換されたローマ字トークンを合成し、受け取ったカタカナ住所に対応したローマ字住所文字列を生成するトークン合成部、５００４は変換されたローマ字住所ななかにある不正なローマ字表現を修正する修正部、５００５はカタカナトークンとローマ字トークンの対応表、５００６は不正なローマ字表現とその修正表現の対応表である。
【００５６】
ここで、カタカナトークンとは、一括してローマ字に変換するカタカナの単位であり、ローマ字トークンと一対一に対応する。例えば入力が「ディスク」であった場合、トークンは「ディ」、「ス」、「ク」の３種類となり、それぞれ「ｄｉ」、「ｓｕ」、「ｋｕ」に対応する。
【００５７】
ぜんカタカナトークンの表を表２に示す。
【００５８】
【表２】
2006277238.tif 000004
【００５９】
又、ぜんローマ字トークンの表を表３に示す。
【００６０】
【表３】
2006277238.tif 000005
【００６１】
ローマ字変換装置１００５は、住所読み込み装置から受け取ったカタカナ住所を、トークン切り出し部５００１を使って後ろから順にカタカナトークンに切り出し、ローマ字変換部５００２を使ってローマ字トークンに変換し、スタックに追加する。
【００６２】
全てのカタカナトークンがローマ字トークンに変換された後、トークン合成部５００３によって、受け取ったカタカナ住所文字列に対応したローマ字住所文字列に合成される。
【００６３】
合成されたローマ字住所文字列は、修正部５００４によって不正なローマ字表現を修正される。
【００６４】
トークン切り出し部５００１は、カタカナ文字列を後ろから走査し、濁点や半濁点、「っ」や「ゃ」などの特殊な文字（小文字）でない文字が出てくるまでを一つのトークンと判断し、受け取ったカタカナ住所の先頭に達するまで順にトークンを切り出す。
【００６５】
濁点や半濁点などの特殊文字の表を表４に示す。
【００６６】
【表４】
2006277238.tif 000006
【００６７】
ローマ字変換部５００２は、予め用意されているカタカナトークンとローマ字トークンの対応表５００５を用いて、切り出されたカタカナトークンを対応したローマ字トークンに変換し、スタックに格納する。
【００６８】
トークン合成部は、全てのカタカナトークンがローマ字トークンに変換された後、スタックから順にローマ字トークンを取り出し、順に末尾に連結することで、受け取ったカタカナ文字列に対応したローマ字文字列を合成する。
【００６９】
修正部５００４は、予め用意された不正なローマ字表現修正表５００６に従って、「ｏｏ」、「ｎｐ」などの不正なローマ字表現を「ｏ」、「ｍｐ」などの正しいローマ字表現に修正する。
【００７０】
不正ローマ字表現修正表を表５に示す。
【００７１】
【表５】
2006277238.tif 000007
【００７２】
図６は、都道府県名変換装置１００６の内部構成図である。
【００７３】
図６において、６００１は受け取ったローマ字住所が都、道、府、県のどれかを判断する都道府県判断部、６００２は受け取ったローマ字住所の末尾にある「ｔｏ」、「ｄｏ」、「ｆｕ」、「ｋｅｎ」を削除する都道府県変換部である。
【００７４】
都道府県名変換装置１００６は、都道府県判断部６００１を使って、受け取ったローマ字住所が都、道、府、県のどれなのかを判断し、都道府県変換部６００２を使って、都、道、府、県それぞれに対応するローマ字を末尾から削除する。
【００７５】
都道府県判断部６００１は、受け取ったローマ字住所の末尾を検査することによって、受け取った住所が都なのか道なのか府なのか県なのかを判断する。
【００７６】
都道府県変換部６００２は、都道府県判断部６００１によって判断された都道府県の種類によって、受け取ったローマ字住所の末尾にある「ｔｏ」、「ｄｏ」、「ｆｕ」、「ｋｅｎ」を削除する。
【００７７】
図７は市区郡町村名変換装置１００７の内部構成図である。
【００７８】
図７において、７００１は予め用意された都市名の一覧表を用いて受け取った住所都市名から始まっているかどうかを判断する都市名判断部、７００２は都市名の一覧を記憶する都市名一覧記憶部、７００３は受け取った住所に都市名が都市名で始まっていた場合、都市名とそれ以外の部分の間に空白を挿入する空白挿入部、７００４は受け取った住所の末尾にある「ｓｈｉ」、「ｋｕ」、「ｇｕｎ」、「ｃｈｏ」、「ｓｏｎ」、などの文字列をそれぞれ対応した文字列に置換する市区郡町村変換部である。
【００７９】
市区郡町村名変換装置１００７は、都市名判断部７００１を使って、受け取ったローマ字住所が都市名で始まっているかどうかを判断し、都市名で始まっていた場合には、空白挿入部７００３を使って、都市名とそれ以外の部分との間に空白をする。
【００８０】
その後、受け取った住所が「ｓｈｉ」、「ｋｕ」、「ｇｕｎ」、「ｃｈｏ」、「ｍａｃｈｉ」、「ｓｏｎ」、「ｍｕｒａ」で終っている場合にはそれぞれ対応するローマ字表現に変換する。
【００８１】
都市名判断部７００１は受け取った住所の先頭部分と都市名一覧記憶部７００２に記憶されている都市名の一覧に含まれる都市名とを順に比較し、それらが一致した場合に、一致した都市名から始まる住所であると判断する。
【００８２】
都市名一覧記憶部７００２は都市名の一覧表を記憶している。
【００８３】
都市名の一覧表の例を表６に示す。
【００８４】
【表６】
2006277238.tif 000008
【００８５】
空白挿入部７００３は、受け取った住所が都市名から始まっていると判断された場合、受け取った住所をその都市名とそれ以外の部分とに切り分け、その間に空白を挿入する。
【００８６】
市区郡町村変換部７００４は、受け取った住所が「ｓｈｉ」、「ｋｕ」、「ｇｕｎ」、「ｃｈｏ」、「ｍａｃｈｉ」、「ｓｏｎ」、「ｍｕｒａ」のいずれかで終っていた場合、それらをそれぞれ「−ｓｈｉ」、「−ｋｕ」、「−ｇｕｎ」、「−ｃｈｏ」、「−ｍａｃｈｉ」、「−ｓｏｎ」、「−ｍｕｒａ」に変換する。
【００８７】
図８は大文字変換装置１００８の内部構成図である。
【００８８】
図８において、８００１は受け取った住所の先頭のアルファベットを切り出す頭文字切り取り部、８００２は切り取ったアルファベットを大文字に変換する大文字変換部、８００３は大文字に変換したアルファベットと残りの部分を連結する連結部である。
【００８９】
大文字変換装置１００８は、頭文字切り取り部８００１を使って、受け取ったローマ字住所の先頭のアルファベットを切り取り、大文字変換部８００２を使って切り取ったアルファベットを大文字に変換した後、連結部８００３を使って大文字に変換した頭文字の後ろにローマ字住所の残りの部分を連結することで、住所の頭文字を大文字に変換する。
【００９０】
頭文字切り取り部８００１は、受け取ったローマ字住所の先頭アルファベットとその他の部分を切り分ける。
【００９１】
大文字変換部８００２は、切り出したアルファベットを大文字に変換する。
【００９２】
連結部８００３は、大文字に変換された頭文字とその他の部分とを連結し、ローマ字住所の頭文字を大文字に変換したものを生成する。
【００９３】
図９は住所書き込み装置１００９の内部構成図である。
【００９４】
図９において、９００１はローマ字住所記憶装置１００２にローマ字住所を書き込む書き込み部、９００２は、ローマ字記憶装置１００２のどの記憶部に住所書き込めばよいかを指示する書き込み指示部である。
【００９５】
住所書き込み装置１００９は、住所書き込み要求があると、書き込み指示部９００２を使って、受け取った住所部分から、ローマ字住所記憶装置１００２のどの記憶部に受け取った住所を書き込めばよいかを判断し、書き込み部９００１に書き込みを指示する。
【００９６】
指示を受けた書き込み部９００１は、ローマ字住所記憶装置１００２の適切な記憶部に受け取った住所を書き込む。
【００９７】
書き込み部９００１は、ローマ字住所記憶装置１００２の指示を受けた記憶部に対して、受け取った住所を書き込む。
【００９８】
書き込み指示部９００２は、受け取った住所部分から、ローマ字住所記憶装置１００２のどの部分に住所を書き込めばいいかを判断し、書き込み部９００１に対して書き込み指示を出す。
【００９９】
図１０はローマ字住所記憶装置１００２の内部構成図である。
【０１００】
図１０において、１０００１はローマ字の都道府県名を記憶する都道府県名記憶部、１０００２はローマ字の市区郡町村名を記憶する市区郡町村名記憶部、１０００３はローマ字の町域名を記憶する町域名記憶部である。
【０１０１】
ローマ字住所記憶装置１００２は、書き込み要求を受けると、都道府県記憶部１０００１、市区郡町村名記憶部１０００２、町域名記憶部１０００３の各記憶部の各記憶部の内、書き込み要求のあった記憶部に住所を書き込み、記憶する。
【０１０２】
都道府県名記憶部１０００１は、ローマ字に変換された都道府県名を記憶する。
【０１０３】
市区郡町村名記憶部１０００２は、ローマ字に変換された市区郡町村名を記憶する。
【０１０４】
町域名記憶部１０００３は、ローマ字に変換された町域名を記憶する。
【０１０５】
図１１はカタカナ住所記憶装置１００１の処理を示すフローチャートである。
【０１０６】
以下図面ではステップをＳと示す。
【０１０７】
住所出力要求があると、要求されている住所部分が都道府県名であるかどうかを判断する（ステップ２０００１）。
【０１０８】
要求が都道府県名であった場合、都道府県名記憶部２００１に記憶されているカタカナの住所を出力して（ステップ２０００２）終了する。
【０１０９】
要求が都道府県名でなかった場合、要求されている住所部分が市区郡町村名であるかどうかを判断する（ステップ２０００３）。
【０１１０】
要求が市区郡町村名であった場合、市区郡町村名記憶部２００２に記憶されているカタカナの住所を出力して（ステップ２０００４）終了する。
【０１１１】
要求が市区郡町村名でなかった場合、要求された住所部分が町域名であるかどうかを判断する（ステップ２０００５）。
【０１１２】
要求が町域名であった場合、町域名記憶部２００３に記憶されているカタカナの住所を出力して終了する。
【０１１３】
要求が町域名でなかった場合は終了。
【０１１４】
図１２は住所変換制御装置１００３の処理を表すフローチャートである。
【０１１５】
整数ｐを１に設定する（ステップ２１００１）。
【０１１６】
ｐが１に等しいかを判定する（ステップ２１００２）。
【０１１７】
ｐが１に等しかった場合、住所読み込み装置１００４に対して都道府県名の読み込みを指示する（ステップ２１００３）。
【０１１８】
ローマ字変換装置１００５、都道府県名変換装置１００６、大文字変換装置１００８に対して、読み込んだ都道府県名のローマ字変換を指示する（ステップ２１００４）。
【０１１９】
住所書き込み装置１００２に対して、ローマ字変換された都道府県名の書き込みを指示する（ステップ２１００５）。
【０１２０】
ｐに１を足して（ステップ２１００６）ステップ２１００２へ戻る。
【０１２１】
ｐが１に等しくなかった場合、ｐが２に等しいかを判定する（ステップ２１００７）。
【０１２２】
ｐが２に等しかった場合、住所読み込み装置１００４に対して市区郡町村名の読み込みを指示する（ステップ２１００８）。
【０１２３】
ローマ字変換装置１００５、市区郡町村名変換装置１００６、大文字変換装置１００８に対して、読み込んだ市区郡町村名のローマ字変換を指示する（ステップ２１００９）。
【０１２４】
住所書き込み装置１００２に対して、ローマ字変換された市区郡町村名の書き込みを指示する（ステップ２１０１０）。
【０１２５】
ｐに１を足して（ステップ２１００６）ステップ２１００２へ戻る。
【０１２６】
ｐが２に等しくなかった場合、ｐが３に等しいかを判定する（ステップ２１０１１）。
【０１２７】
ｐが３に等しかった場合、住所読み込み装置１００４に対して町域名の読み込みを指示する（ステップ２１０１２）。
【０１２８】
ローマ字変換装置１００５、大文字変換装置１００８に対して読み込んだ町域名のローマ字変換を指示する（ステップ２１０１３）。
【０１２９】
住所書き込み装置１００２に対してローマ字変換された町域名の書き込みを指示する（ステップ２１０１４）。
【０１３０】
ｐに１を足して（ステップ２１００６）ステップ２１００２へ戻る。
【０１３１】
ｐが３に等しくなかった場合、終了する。
【０１３２】
図１３は住所読み込み装置１００４の処理を表すフローチャートである。
【０１３３】
住所読み込み要求があった場合、読み込みを要求された住所部分が都道府県名であるかどうかを判断する（ステップ２２００１）。
【０１３４】
要求が都道府県名読み込みであった場合、カタカナ住所記憶装置１００１から都道府県名を読み込んで（ステップ２２００２）終了する。
【０１３５】
読み込みを要求された住所部分が都道府県名でなかった場合、読み込みを要求された住所部分が市区郡町村名であるかどうかを判断する（ステップ２２００３）。
【０１３６】
要求が市区郡町村名読み込みであった場合、カタカナ住所記憶装置１００１から市区郡町村名を読み込んで（ステップ２２００４）終了する。
【０１３７】
読み込みを要求された住所部分が市区郡町村名でなかった場合、読み込みを要求された住所部分が著しい域名であるかどうかを判断する（ステップ２２００５）。
【０１３８】
要求が町域名読み込みであった場合、カタカナ住所記憶装置１００１から町域名を読み込んで（ステップ２２００６）終了する。
【０１３９】
読み込みを要求された住所部分が町域名でなかった場合は終了。
【０１４０】
図１４はローマ字変換装置１００６の処理を表すフローチャートである。
【０１４１】
カタカナが入力されると、整数ｐを入力文字列の長さよりも１小さい数に設定し（ステップ２３００１）、ローマ字トークンを保持するスタックを空に初期化する（ステップ２３００２）。
【０１４２】
ｐが０以上であるかどうかを判断する（ステップ２３００３）。
【０１４３】
ｐが０以上の値である場合には入力文字列からカタカナトークンを切り出す（ステップ２３００４）。
【０１４４】
次に、切り出したトークンが「ッ」であるかどうかを判定する（ステップ２３００５）。
【０１４５】
トークンが「ッ」であった場合、スタックの最初にあるローマ字トークンの最初の文字を新たなローマ字トークンとしてスタックに追加する（ステップ２３００６）。
【０１４６】
切り出したトークンが「ッ」でない場合、切り出したカタカナトークンに対応したローマ字トークンをスタックに追加する（ステップ２３００７）。
【０１４７】
ｐから切り出したカタカナトークンの長さを引き（ステップ２３００８）、ステップ２３００３に戻る。
【０１４８】
ｐが０より小さい場合、変換後文字列を空に初期化し（ステップ２３０１０）、ｐをスタックサイズより１小さい数に設定する（ステップ２３０１１）。
【０１４９】
ｐが０以上であるかどうかを判断する（ステップ２３０１２）。
【０１５０】
ｐが０以上の値である場合にはスタックの最初のローマ字トークンを取り出し変換後文字列の末尾に連結する（ステップ２３０１３）。
【０１５１】
ｐが０より小さい場合、変換後文字列にｏｏが含まれるかどうかを判断する（ステップ２３０１４）。
【０１５２】
変換後文字列にｏｏが含まれる場合、ｏｏをｏで置換して（ステップ２３０１５）ステップ２３０１６へ進む。
【０１５３】
変換後文字列にｏｕが含まれるかどうかを判断する（ステップ２３０１６）。
【０１５４】
変換後文字列にｏｕが含まれる場合、ｏｕをｏで置換して（ステップ２３０１７）ステップ２３０１８へ進む。
【０１５５】
変換後文字列にｃｃが含まれるかどうかを判断する（ステップ２３０１８）。
【０１５６】
変換後文字列にｃｃが含まれる場合、ｃｃをｔｃで置換して（ステップ２３０１９）ステップ２３０２０へ進む。
【０１５７】
変換後文字列にｎｂが含まれるかどうかを判断する（ステップ２３０２０）。
【０１５８】
変換後文字列にｎｂが含まれる場合、ｎｂをｍｂで置換して（ステップ２３０２１）ステップ２３０２２へ進む。
【０１５９】
変換後文字列にｎｐが含まれるかどうかを判断する（ステップ２３０２２）。
【０１６０】
変換後文字列にｎｐが含まれる場合、ｎｐをｍｐで置換して（ステップ２３０２３）ステップ２３０２４へ進む。
【０１６１】
変換後文字列にｎｍが含まれるかどうかを判断する（ステップ２３０２４）。
【０１６２】
変換後文字列にｎｍが含まれる場合、ｎｍをｍｍで置換して（ステップ２３０２５）終了する。
【０１６３】
変換後文字列にｎｍが含まれない場合は終了。
【０１６４】
図１５は都道府県名変換装置１００６の処理を表すフローチャートである。
【０１６５】
入力文字列がｔｏで終っているかを判断する（ステップ２４００１）。
【０１６６】
入力文字列がｔｏで終っている場合、入力文字列の末尾のｔｏを削除して（ステップ２４００２）終了する。
【０１６７】
入力文字列がｔｏで終っていない場合、入力文字列がｄｏで終っているかを判断する（ステップ２４００３）。
【０１６８】
入力文字列がｄｏで終っている場合、入力文字列の末尾のｄｏを削除して（ステップ２４００４）終了する。
【０１６９】
入力文字列がｄｏで終っていない場合、入力文字列がｆｕで終っているかを判断する（ステップ２４００５）。
【０１７０】
入力文字列がｆｕで終っている場合、入力文字列の末尾のｆｕを削除して（ステップ２４００６）終了する。
【０１７１】
入力文字列がｆｕで終っていない場合、入力文字列がｋｅｎで終っているかを判断する（ステップ２４００７）。
【０１７２】
入力文字列がｋｅｎで終っている場合、入力文字列の末尾のｋｅｎを削除して（ステップ２４００８）終了する。
【０１７３】
入力文字列がｋｅｎで終っていない場合は終了。
【０１７４】
図１６は市区郡町村名変換装置１００７の処理を表すフローチャートである。
【０１７５】
整数ｐを１に設定する（ステップ２５００１）。
【０１７６】
ｐが都市名一覧にある都市名の数よりも小さいかを判定する（ステップ２５００２）。
【０１７７】
ｐが都市名一覧にある都市名の数よりも小さい場合、入力文字列が都市名一覧のｐ番目の都市名で始まっているかどうかを判断する（ステップ２５００３）。
【０１７８】
入力文字列が都市名一覧のｐ番目の都市名で始まっている場合、入力文字列を該当する都市名とその他の部分とに切り分ける（ステップ２５００４）。
【０１７９】
都市名とその他の部分の間に空白を挿入して（ステップ２５００５）、ステップ２５００７へ進む。
【０１８０】
入力文字列が都市名一覧のｐ番目の都市名で始まっていない場合、ｐに１を足して（ステップ２５００６）ステップ２５００２へ戻る。
【０１８１】
ｐが都市名一覧にある都市名の数よりも大きかった場合、入力文字列がｓｈｉで終っているかを判断する（ステップ２５００７）。
【０１８２】
入力文字列がｓｈｉで終っていた場合、同文字列の末尾のｓｈｉを−ｓｈｉで置換して（ステップ２５００８）終了する。
【０１８３】
入力文字列がｓｈｉで終っていなかった場合、同文字列がｋｕで終っているかを判断する（ステップ２５００９）。
【０１８４】
入力文字列がｋｕで終っていた場合、同文字列の末尾のｋｕを−ｋｕで置換して（ステップ２５０１０）終了する。
【０１８５】
入力文字列がｋｕで終っていなかった場合、同文字列がｇｕｎで終っているかを判断する（ステップ２５０１１）。
【０１８６】
入力文字列がｇｕｎで終っていた場合、同文字列の末尾のｇｕｎを−ｇｕｎで置換して（ステップ２５０１２）終了する。
【０１８７】
入力文字列がｇｕｎで終っていなかった場合、同文字列がｃｈｏで終っているかを判断する（ステップ２５０１３）。
【０１８８】
入力文字列がｃｈｏで終っていた場合、同文字列の末尾のｃｈｏを−ｃｈｏで置換して（ステップ２５０１４）終了する。
【０１８９】
入力文字列がｃｈｏで終っていなかった場合、同文字列がｍａｃｈｉで終っているかを判断する（ステップ２５０１５）。
【０１９０】
入力文字列がｍａｃｈｉで終っていた場合、同文字列の末尾のｍａｃｈｉを−ｍａｃｈｉで置換して（ステップ２５０１６）終了する。
【０１９１】
入力文字列がｍａｃｈｉで終っていなかった場合、同文字列がｓｏｎで終っているかを判断する（ステップ２５０１７）。
【０１９２】
入力文字列がｓｏｎで終っていた場合、同文字列の末尾のｓｏｎを−ｓｏｎで置換して（ステップ２５０１８）終了する。
【０１９３】
入力文字列がｓｏｎで終っていなかった場合、同文字列がｍｕｒａで終っているかを判断する（ステップ２５０１９）。
【０１９４】
入力文字列がｍｕｒａで終っていた場合、同文字列の末尾のｍｕｒａを−ｍｕｒａで置換して（ステップ２５０２０）終了する。
【０１９５】
入力文字列がｍｕｒａで終っていなかった場合は終了。
【０１９６】
図１７は大文字変換装置１００８の処理を表すフローチャートである。
【０１９７】
ローマ字の文字列が入力されると、入力文字列の最初の文字を切り取る（ステップ２６００１）。
【０１９８】
切り取った文字を大文字に変換する（ステップ２６００２）。
【０１９９】
大文字に変換した文字を入力文字列の残りの部分の先頭の部分に連結して（ステップ２６００３）終了する。
【０２００】
図１８は住所書き込み装置１００９の処理を表すフローチャートである。
【０２０１】
住所書き込み要求があった場合、書き込みを要求された住所部分が都道府県名であるかどうかを判断する（ステップ２７００１）。
【０２０２】
要求が都道府県名書き込みであった場合、ローマ字住所記憶装置１００２に都道府県名を書き込んで（ステップ２７００２）終了する。
【０２０３】
要求が都道府県名書き込みでなかった場合、書き込みを要求された住所部分が市区郡町村名であるかどうかを判断する（ステップ２７００３）。
【０２０４】
要求が市区郡町村名書き込みであった場合、ローマ字住所記憶装置１００２に市区郡町村名を書き込んで（ステップ２７００４）終了する。
【０２０５】
要求が市区郡町村名書き込みでなかった場合、書き込みを要求された住所部分が町域名であるかどうかを判断する（ステップ２７００５）。
【０２０６】
要求が町域名書き込みであった場合、ローマ字住所記憶装置１００２に町域名を書き込んで（ステップ２７００６）終了する。
【０２０７】
要求が町域名書き込みでなかった場合は終了。
【０２０８】
図１９はローマ字住所記憶装置の処理を表すフローチャートである。
【０２０９】
住所書き込み要求があると、書き込みを要求されている住所部分が都道府県名であるかを判断する（ステップ２８００１）。
【０２１０】
書き込みを要求された住所部分が都道府県名であった場合、都道府県名記憶部１０００１に受け取ったローマ字住所を記憶して終了する。
【０２１１】
要求が都道府県名書き込みでなかった場合、書き込みを要求されている住所部分が市区郡町村名であるかを判断する（ステップ２８００３）。
【０２１２】
書き込みを要求された住所部分が市区郡町村名であった場合、市区郡町村名記憶部１０００２に受け取ったローマ字住所を記憶して（ステップ２８００４）終了する。
【０２１３】
要求が市区郡町村名書き込みでなかった場合、書き込みを要求されている住所部分が町域名であるかを判断する（ステップ２８００５）。
【０２１４】
書き込みを要求された住所部分が町域名であった場合、町域名記憶部１０００３に受け取ったローマ字住所を記憶して終了する。
【０２１５】
要求が町域名書き込みでなかった場合は終了。
【図面の簡単な説明】
【０２１６】
【図１】システム構成図
【図２】カタカナ住所記憶装置の内部構成図
【図３】住所変換制御装置の内部構成図
【図４】住所読み込み装置の内部構成図
【図５】ローマ字変換装置の内部構成図
【図６】都道府県名変換装置の内部構成図
【図７】市区郡町村名変換装置の内部構成図
【図８】大文字変換装置の内部構成図
【図９】住所書き込み装置の内部構成図
【図１０】ローマ字住所記憶装置の内部構成図
【図１１】カタカナ住所記憶装置の処理を示すフローチャート
【図１２】住所変換制御装置の処理を表すフローチャート
【図１３】住所読み込み装置の処理を表すフローチャート
【図１４】ローマ字変換装置の処理を表すフローチャート
【図１５】都道府県名変換装置の処理を表すフローチャート
【図１６】市区郡町村名変換装置の処理を表すフローチャート
【図１７】大文字変換装置の処理を表すフローチャート
【図１８】住所書き込み装置の処理を表すフローチャート
【図１９】ローマ字住所記憶装置の処理を表すフローチャート
【符号の説明】
【０２１７】
１００１  カタカナ住所記憶装置
１００２  ローマ字住所記憶装置
１００３  住所変換制御装置
１００４  住所読み込み装置
１００５  ローマ字変換装置
１００６  都道府県名変換装置
１００７  市区郡町村名変換装置
１００８  大文字変換装置
１００９  住所書き込み装置
【図１】
2006277238.tif 000009
【図２】
2006277238.tif 000010
【図３】
2006277238.tif 000011
【図４】
2006277238.tif 000012
【図５】
2006277238.tif 000013
【図６】
2006277238.tif 000014
【図７】
2006277238.tif 000015
【図８】
2006277238.tif 000016
【図９】
2006277238.tif 000017
【図１０】
2006277238.tif 000018
【図１１】
2006277238.tif 000019
【図１２】
2006277238.tif 000020
【図１３】
2006277238.tif 000021
【図１４】
2006277238.tif 000022
【図１５】
2006277238.tif 000023
【図１６】
2006277238.tif 000024
【図１７】
2006277238.tif 000025
【図１８】
2006277238.tif 000026
【図１９】
2006277238.tif 000027