説明

住所変換装置、住所変換方法

【課題】 カタカナで表記された住所を自動的にローマ字に変換し、得られたローマ字変換結果を正しいローマ字表記住所に整形することの出来る住所変換装置、住所変換方法を提供する。
【解決手段】 本発明は、カタカナ表記の住所をローマ字表記に変換し、都道府県名と市区群町村名とを正しいローマ字表記に変換し、文字列の最初のアルファベットを大文字に変換することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ローマ字変換に関連し、特に住所変換装置、住所変換方法に関する。
【背景技術】
【0002】
従来、ローマ字入力されたローマ字をかな文字に変換する技術や、かな入力されたかな文字をローマ字に変換する技術があった。
【特許文献1】特開平08−106461号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
例えば、インターネットのドメインを取得する際に必要な書類には、そのドメインを取得しようとする組織や個人の住所およびそのカタカナのふりがなとローマ字表記を記入する必要がある。
【0004】
住所およびカタカナのふりがなは郵政省の提供するデータベースを用いて、郵便番号を入力することで得ることができるが、このデータベースではローマ字表記を得ることはできないため、オペレータが手作業で入力する必要がある。
【0005】
しかし、手作業での入力は時間もかかる上、入力ミスも多くなる。
【0006】
また、単純にカタカナをローマ字に変換しただけでは、例えばkanagawakenkawasakishinakaharaku...というように非常に読みにくい表記になってしまうため、単純にローマ字に変換するだけでなく、Nakahara−ku Kawasaki−shi Kanagawaというように住所表記として正しいローマ字に変換する必要がある。
【0007】
これらの課題を解決するために、本発明の目的は、カタカナで表記された住所を自動的にローマ字に変換し、得られたローマ字変換結果を正しいローマ字表記住所に整形することで、オペレータの労力および入力ミスを軽減する住所変換装置、住所変換方法を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明のカタカナ住所記憶装置は、都道府県名を記憶する都道府県名記憶部と、市区郡町村名を記憶する市区郡町村名記憶部と、町域名を記憶する町域名記憶部とから構成されることを特徴とする。
【0009】
また、本発明のカタカナ住所記憶装置は、住所読み込み装置からの要求に応じて都道府県名、市区郡町村名、町域名を別々に出力する機能を有することを特徴とする。
【0010】
また、本発明の住所読み込み装置は、都道府県名、市区郡町村名、町域名をそれぞれカタカナ住所記憶装置の該当する記憶部から読み込む機能を有することを特徴とする。
【0011】
また、本発明のローマ字変換装置は、カタカナの文字列からカタカナのトークンを切り出すトークン切り出し部と、カタカナのトークンとローマ字のトークンとの対応表と、前記対応表を用いてカタカナのトークンをローマ字のトークンへ変換する変換部と、複数のローマ字トークンを合成してローマ字の文字列を生成するトークン連結部と、ローマ字の文字列に含まれる不正なローマ字表現を正当な表現へ修正するローマ字修正部をから構成されることを特徴とする。
【0012】
また、本発明の都道府県名変換装置は、いずれかの都道府県名を表すローマ字文字列が都、道、府、県のいずれを表すのかを判断する都道府県判断部と、都道府県名のいずれかを表すローマ字文字列の末尾にあるto、do、fu、kenの文字を削除する都道府県変換部とから構成されることを特徴とする。
【0013】
また、本発明の市区郡町村名変換装置は、都市名の一覧表を用いて、市名、区名、郡名、町名、村名のいずれか、あるいは複数を含むローマ字文字列に都市名が含まれるかどうかを判断する都市名判断部と、都市名が含まれるローマ字文字列の都市名とそれ以外の部分の間に空白を挿入する空白挿入部と、ローマ字文字列の末尾にあるshi、ku、gun、cho、machi、son、muraの文字列をそれぞれ−shi、−ku、−gun、−cho、−machi、−son、−muraへ変換する市区郡町村変換部とから構成されることを特徴とする。
【0014】
また、本発明の大文字変換装置は、ローマ字文字列の最初の文字を切り取る頭文字切り取り部と、小文字もアルファベットを大文字に変換する変換部と、アルファベットと文字列を連結する連結部とから構成されることを特徴とする。
【0015】
また、本発明の住所書き込み装置は、都道府県名、市区郡町村名、町域名をそれぞれローマ字住所記憶装置の該当する記憶部へ書き込む機能を有することを特徴とする。
【0016】
また、本発明のローマ字住所記憶装置は、都道府県名を記憶する記憶する都道府県名記憶装置と、市区郡町村名を記憶する市区郡町村名記憶部と、町域名を記憶する町域名記憶部とから構成されることを特徴とする。
【0017】
また、本発明のローマ字住所記憶装置は、要求に応じて、都道府県名と市区郡町村名と町域名を別々に記憶する機能を有することを特徴とする。
【0018】
すなわち本発明は、カタカナ表記の住所を記憶するカタカナ住所記憶装置と、ローマ字表記の住所を記憶するローマ字住所記憶装置と、前記カタカナ住所記憶装置から住所を読み込む住所読み込み装置と、カタカナ表記の住所をローマ字表記に変換する処理を制御する住所変換制御装置と、カタカナをローマ字に変換するローマ字変換装置と、都道府県名を表すローマ字文字列を正しいローマ字の住所表記に変換する都道府県名変換装置と、市区郡町村名を表すローマ字文字列を正しいローマ字の住所表記に変換する市区郡町村名変換装置と、ローマ字文字列の最初のアルファベットを大文字に変換する大文字変換装置と、前記ローマ字記憶装置に住所を書き込む住所書き込み装置とからなることを特徴とする。
【発明の効果】
【0019】
本発明によれば、カタカナで表記された住所を自動的にローマ字に変換し、得られたローマ字変換結果を正しいローマ字表記住所に整形することで、オペレータの労力および入力ミスを軽減することができる。
【発明を実施するための最良の形態】
【0020】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例】
【0021】
本発明では、ユーザーはローマ字へ変換したいカタカナの住所を、都道府県名、市区郡町村名、町域名に分けて入力し、カタカナの住所を記憶する記憶装置に記憶させ、その後、住所変換を制御する制御装置に対して住所のローマ字変換を指示する。
【0022】
変換を指示された住所変換制御装置は、記憶装置から住所を読み込む読み込み装置を使ってカタカナの住所をカタカナ住所記憶装置から読みだし、カタカナをローマ字へ変換するローマ字変換装置を使ってローマ字に変換する。その後、都道府県名、市区郡町村名それぞれに対応した変換装置を使って変換をし、ローマ字文字列の先頭の文字を大文字変換する大文字変換装置を使って先頭の文字を大文字に変換する。
【0023】
その後、住所変換制御装置はローマ字に変換された住所記憶する記憶装置に住所を書き込む書き込み装置を使って、ローマ字住所記憶装置にローマ字変換された住所を書き込む。
【0024】
図1は本発明の実施の一つの形態を示すシステム構成図である。
【0025】
図1において、1001はユーザーの入力したカタカナの住所を記憶するカタカナ住所記憶装置、1002はローマ字へ変換された住所を記憶するローマ字住所記憶装置、1003は住所の読み込み、ローマ字変換、書き込みを制御する住所変換制御装置、1004はカタカナ住所記憶装置から住所を読み込む住所読み込み装置、1005はカタカナをローマ字に変換するローマ字変換装置、1006は、都道府県名を変換する都道府県名変換装置、1007は市区郡町村名を変換する市区郡町村名変換装置、1008は住所の先頭の文字を大文字に変換する大文字変換装置、1009はローマ字変換された住所をローマ字住所記憶装置へ書き込む住所書き込み装置である。
【0026】
カタカナ住所記憶装置1001は、ユーザーが入力したカタカナの住所を、都道府県名、市区郡町村名、町域名に分けて記憶している。
【0027】
住所変換制御装置1003は、ユーザーからの要求に応じて、住所読み込み装置1004に対して、住所の部分を表す住所部分に応じた住所の読み込みを指示する。
【0028】
住所部分の一覧を表1に示す。
【0029】
【表1】

【0030】
表1において、例えば住所が神奈川県川崎市中原区今井上町53だった場合、都道府県名は神奈川県、市区郡町村名は川崎市中原区、町域名は今井上町である。
【0031】
その後、ローマ字変換装置1005、都道府県名変換装置1006、市区郡町村名変換装置1007、大文字変換装置1008を使って読み込まれたカタカナの住所をローマ字に変換する。
【0032】
その後、住所書き込み装置1009に対して住所の書き込みを指示する。
【0033】
住所読み込み装置1004は、住所変換制御装置1002に読み込みを指示された住所部分に応じて、カタカナ住所記憶装置1001から都道府県名、市区郡町村名、町域名を読み込み、ローマ字変換装置1005へ渡す。
【0034】
ローマ字変換装置1005は住所読み込み装置1004から受け取ったカタカナの住所をローマ字に変換する。
【0035】
ローマ字に変換された住所は住所の部分に応じて、都道府県名変換装置1006、及び市区郡町村名変換装置1007によって正しいローマ字住所表記に変換される。
【0036】
その後、大文字変換装置1008によって先頭文字が大文字に変換される。
【0037】
住所変換制御装置1003は、ローマ字への変換の終了した住所を、住所部分とともに住所書き込み装置1009へ渡し、ローマ字住所記憶装置1002への書き込みを指示する。
【0038】
住所書き込み指示を受けた住所書き込み装置1009は、指示された住所部分の記憶部へのローマ字住所の記憶を、ローマ字住所記憶装置1002へ要求する。
【0039】
要求を受けたローマ字住所記憶装置1002は、要求のあった住所部分に応じて、ローマ字変換された住所を、都道府県名、市区郡町村名、町域名に分けて記憶する。
【0040】
図2はカタカナ住所記憶装置1001の内部構成図である。
【0041】
図2において、2001は都道府県名を記憶する都道府県名記憶部、2002は市名、区名、郡名、町名、村名を記憶する市区郡町村名記憶部、2003は町域名を記憶する町域名記憶部である。
【0042】
カタカナ住所記憶装置1001は、ユーザーの入力した住所をその住所の部分に応じて、都道府県名記憶部、市区郡町村名記憶部、町域名記憶部に記憶しており、読みだし要求があった場合、都道府県名記憶部2002、市区郡町村名記憶部2003、町域名2004の内、読みだし要求のあった記憶部からカタカナの住所を出力する。
【0043】
図3は住所変換制御装置1003の内部構成図である。
【0044】
図3において、3001は都道府県、市区郡町村名、町域名の住所部分を順に生成する住所部分生成部、3002は生成された住所部分を記憶する住所部分記憶部、3003は住所読み込み装置1004に住所の読み込みを指示する住所読み込み指示部、3004は住所書き込み装置1009に住所の書き込みを指示する住所書き込み指示部である。
【0045】
住所変換制御装置1003は、ユーザーからのローマ字変換の指示を受け、カタカナ住所記憶装置からの住所の読み込み、読み込んだ住所のローマ字への変換、ローマ字住所記憶装置への住所の書き込みの各処理を制御する。
【0046】
住所部分生成部3001は、都道府県名、市区郡町村名、町域名の住所部分を順に生成し、住所部分記憶部へ記憶する。
【0047】
住所読み込み指示部3003は、住所部分に対応した部分の住所の読み込みを住所読み込み装置1004へ指示する。
【0048】
住所書き込み指示部3004は、住所部分に対応した部分の住所の書き込みを住所書き込み装置1009へ指示する。
【0049】
図4は住所読み込み装置1004の内部構成図である。
【0050】
図4において、4001はカタカナ住所記憶装置1001から住所を読み込む読み込み部、4002は、要求のあった住所部分に応じて、どの住所部分を読み込むかを指示する読み込み指示部である。
【0051】
住所読み込み装置1004は、住所読み込み要求があると、読み込み指示部4002を使って要求のあった住所部分を判断し、読み込み部4001を使って、カタカナ住所記憶装置1001から住所を読み込む。
【0052】
読み込み部4001は、カタカナ住所記憶装置1001から、要求のあった住所部分を読み込む。
【0053】
読み込み指示部4002は、読み込み部4001に対して、住所のどの部分を読み込めばよいかを指示する。
【0054】
図5はローマ字変換装置1005の内部構成図である。
【0055】
図5において、5001は受け取ったカタカナ住所文字列からカタカナトークンを後ろから順に切り出すトークン切り出し部、5002は切り出したカタカナトークンをローマ字トークンに変換するローマ字変換部、5003は変換されたローマ字トークンを合成し、受け取ったカタカナ住所に対応したローマ字住所文字列を生成するトークン合成部、5004は変換されたローマ字住所ななかにある不正なローマ字表現を修正する修正部、5005はカタカナトークンとローマ字トークンの対応表、5006は不正なローマ字表現とその修正表現の対応表である。
【0056】
ここで、カタカナトークンとは、一括してローマ字に変換するカタカナの単位であり、ローマ字トークンと一対一に対応する。例えば入力が「ディスク」であった場合、トークンは「ディ」、「ス」、「ク」の3種類となり、それぞれ「di」、「su」、「ku」に対応する。
【0057】
ぜんカタカナトークンの表を表2に示す。
【0058】
【表2】

【0059】
又、ぜんローマ字トークンの表を表3に示す。
【0060】
【表3】

【0061】
ローマ字変換装置1005は、住所読み込み装置から受け取ったカタカナ住所を、トークン切り出し部5001を使って後ろから順にカタカナトークンに切り出し、ローマ字変換部5002を使ってローマ字トークンに変換し、スタックに追加する。
【0062】
全てのカタカナトークンがローマ字トークンに変換された後、トークン合成部5003によって、受け取ったカタカナ住所文字列に対応したローマ字住所文字列に合成される。
【0063】
合成されたローマ字住所文字列は、修正部5004によって不正なローマ字表現を修正される。
【0064】
トークン切り出し部5001は、カタカナ文字列を後ろから走査し、濁点や半濁点、「っ」や「ゃ」などの特殊な文字(小文字)でない文字が出てくるまでを一つのトークンと判断し、受け取ったカタカナ住所の先頭に達するまで順にトークンを切り出す。
【0065】
濁点や半濁点などの特殊文字の表を表4に示す。
【0066】
【表4】

【0067】
ローマ字変換部5002は、予め用意されているカタカナトークンとローマ字トークンの対応表5005を用いて、切り出されたカタカナトークンを対応したローマ字トークンに変換し、スタックに格納する。
【0068】
トークン合成部は、全てのカタカナトークンがローマ字トークンに変換された後、スタックから順にローマ字トークンを取り出し、順に末尾に連結することで、受け取ったカタカナ文字列に対応したローマ字文字列を合成する。
【0069】
修正部5004は、予め用意された不正なローマ字表現修正表5006に従って、「oo」、「np」などの不正なローマ字表現を「o」、「mp」などの正しいローマ字表現に修正する。
【0070】
不正ローマ字表現修正表を表5に示す。
【0071】
【表5】

【0072】
図6は、都道府県名変換装置1006の内部構成図である。
【0073】
図6において、6001は受け取ったローマ字住所が都、道、府、県のどれかを判断する都道府県判断部、6002は受け取ったローマ字住所の末尾にある「to」、「do」、「fu」、「ken」を削除する都道府県変換部である。
【0074】
都道府県名変換装置1006は、都道府県判断部6001を使って、受け取ったローマ字住所が都、道、府、県のどれなのかを判断し、都道府県変換部6002を使って、都、道、府、県それぞれに対応するローマ字を末尾から削除する。
【0075】
都道府県判断部6001は、受け取ったローマ字住所の末尾を検査することによって、受け取った住所が都なのか道なのか府なのか県なのかを判断する。
【0076】
都道府県変換部6002は、都道府県判断部6001によって判断された都道府県の種類によって、受け取ったローマ字住所の末尾にある「to」、「do」、「fu」、「ken」を削除する。
【0077】
図7は市区郡町村名変換装置1007の内部構成図である。
【0078】
図7において、7001は予め用意された都市名の一覧表を用いて受け取った住所都市名から始まっているかどうかを判断する都市名判断部、7002は都市名の一覧を記憶する都市名一覧記憶部、7003は受け取った住所に都市名が都市名で始まっていた場合、都市名とそれ以外の部分の間に空白を挿入する空白挿入部、7004は受け取った住所の末尾にある「shi」、「ku」、「gun」、「cho」、「son」、などの文字列をそれぞれ対応した文字列に置換する市区郡町村変換部である。
【0079】
市区郡町村名変換装置1007は、都市名判断部7001を使って、受け取ったローマ字住所が都市名で始まっているかどうかを判断し、都市名で始まっていた場合には、空白挿入部7003を使って、都市名とそれ以外の部分との間に空白をする。
【0080】
その後、受け取った住所が「shi」、「ku」、「gun」、「cho」、「machi」、「son」、「mura」で終っている場合にはそれぞれ対応するローマ字表現に変換する。
【0081】
都市名判断部7001は受け取った住所の先頭部分と都市名一覧記憶部7002に記憶されている都市名の一覧に含まれる都市名とを順に比較し、それらが一致した場合に、一致した都市名から始まる住所であると判断する。
【0082】
都市名一覧記憶部7002は都市名の一覧表を記憶している。
【0083】
都市名の一覧表の例を表6に示す。
【0084】
【表6】

【0085】
空白挿入部7003は、受け取った住所が都市名から始まっていると判断された場合、受け取った住所をその都市名とそれ以外の部分とに切り分け、その間に空白を挿入する。
【0086】
市区郡町村変換部7004は、受け取った住所が「shi」、「ku」、「gun」、「cho」、「machi」、「son」、「mura」のいずれかで終っていた場合、それらをそれぞれ「−shi」、「−ku」、「−gun」、「−cho」、「−machi」、「−son」、「−mura」に変換する。
【0087】
図8は大文字変換装置1008の内部構成図である。
【0088】
図8において、8001は受け取った住所の先頭のアルファベットを切り出す頭文字切り取り部、8002は切り取ったアルファベットを大文字に変換する大文字変換部、8003は大文字に変換したアルファベットと残りの部分を連結する連結部である。
【0089】
大文字変換装置1008は、頭文字切り取り部8001を使って、受け取ったローマ字住所の先頭のアルファベットを切り取り、大文字変換部8002を使って切り取ったアルファベットを大文字に変換した後、連結部8003を使って大文字に変換した頭文字の後ろにローマ字住所の残りの部分を連結することで、住所の頭文字を大文字に変換する。
【0090】
頭文字切り取り部8001は、受け取ったローマ字住所の先頭アルファベットとその他の部分を切り分ける。
【0091】
大文字変換部8002は、切り出したアルファベットを大文字に変換する。
【0092】
連結部8003は、大文字に変換された頭文字とその他の部分とを連結し、ローマ字住所の頭文字を大文字に変換したものを生成する。
【0093】
図9は住所書き込み装置1009の内部構成図である。
【0094】
図9において、9001はローマ字住所記憶装置1002にローマ字住所を書き込む書き込み部、9002は、ローマ字記憶装置1002のどの記憶部に住所書き込めばよいかを指示する書き込み指示部である。
【0095】
住所書き込み装置1009は、住所書き込み要求があると、書き込み指示部9002を使って、受け取った住所部分から、ローマ字住所記憶装置1002のどの記憶部に受け取った住所を書き込めばよいかを判断し、書き込み部9001に書き込みを指示する。
【0096】
指示を受けた書き込み部9001は、ローマ字住所記憶装置1002の適切な記憶部に受け取った住所を書き込む。
【0097】
書き込み部9001は、ローマ字住所記憶装置1002の指示を受けた記憶部に対して、受け取った住所を書き込む。
【0098】
書き込み指示部9002は、受け取った住所部分から、ローマ字住所記憶装置1002のどの部分に住所を書き込めばいいかを判断し、書き込み部9001に対して書き込み指示を出す。
【0099】
図10はローマ字住所記憶装置1002の内部構成図である。
【0100】
図10において、10001はローマ字の都道府県名を記憶する都道府県名記憶部、10002はローマ字の市区郡町村名を記憶する市区郡町村名記憶部、10003はローマ字の町域名を記憶する町域名記憶部である。
【0101】
ローマ字住所記憶装置1002は、書き込み要求を受けると、都道府県記憶部10001、市区郡町村名記憶部10002、町域名記憶部10003の各記憶部の各記憶部の内、書き込み要求のあった記憶部に住所を書き込み、記憶する。
【0102】
都道府県名記憶部10001は、ローマ字に変換された都道府県名を記憶する。
【0103】
市区郡町村名記憶部10002は、ローマ字に変換された市区郡町村名を記憶する。
【0104】
町域名記憶部10003は、ローマ字に変換された町域名を記憶する。
【0105】
図11はカタカナ住所記憶装置1001の処理を示すフローチャートである。
【0106】
以下図面ではステップをSと示す。
【0107】
住所出力要求があると、要求されている住所部分が都道府県名であるかどうかを判断する(ステップ20001)。
【0108】
要求が都道府県名であった場合、都道府県名記憶部2001に記憶されているカタカナの住所を出力して(ステップ20002)終了する。
【0109】
要求が都道府県名でなかった場合、要求されている住所部分が市区郡町村名であるかどうかを判断する(ステップ20003)。
【0110】
要求が市区郡町村名であった場合、市区郡町村名記憶部2002に記憶されているカタカナの住所を出力して(ステップ20004)終了する。
【0111】
要求が市区郡町村名でなかった場合、要求された住所部分が町域名であるかどうかを判断する(ステップ20005)。
【0112】
要求が町域名であった場合、町域名記憶部2003に記憶されているカタカナの住所を出力して終了する。
【0113】
要求が町域名でなかった場合は終了。
【0114】
図12は住所変換制御装置1003の処理を表すフローチャートである。
【0115】
整数pを1に設定する(ステップ21001)。
【0116】
pが1に等しいかを判定する(ステップ21002)。
【0117】
pが1に等しかった場合、住所読み込み装置1004に対して都道府県名の読み込みを指示する(ステップ21003)。
【0118】
ローマ字変換装置1005、都道府県名変換装置1006、大文字変換装置1008に対して、読み込んだ都道府県名のローマ字変換を指示する(ステップ21004)。
【0119】
住所書き込み装置1002に対して、ローマ字変換された都道府県名の書き込みを指示する(ステップ21005)。
【0120】
pに1を足して(ステップ21006)ステップ21002へ戻る。
【0121】
pが1に等しくなかった場合、pが2に等しいかを判定する(ステップ21007)。
【0122】
pが2に等しかった場合、住所読み込み装置1004に対して市区郡町村名の読み込みを指示する(ステップ21008)。
【0123】
ローマ字変換装置1005、市区郡町村名変換装置1006、大文字変換装置1008に対して、読み込んだ市区郡町村名のローマ字変換を指示する(ステップ21009)。
【0124】
住所書き込み装置1002に対して、ローマ字変換された市区郡町村名の書き込みを指示する(ステップ21010)。
【0125】
pに1を足して(ステップ21006)ステップ21002へ戻る。
【0126】
pが2に等しくなかった場合、pが3に等しいかを判定する(ステップ21011)。
【0127】
pが3に等しかった場合、住所読み込み装置1004に対して町域名の読み込みを指示する(ステップ21012)。
【0128】
ローマ字変換装置1005、大文字変換装置1008に対して読み込んだ町域名のローマ字変換を指示する(ステップ21013)。
【0129】
住所書き込み装置1002に対してローマ字変換された町域名の書き込みを指示する(ステップ21014)。
【0130】
pに1を足して(ステップ21006)ステップ21002へ戻る。
【0131】
pが3に等しくなかった場合、終了する。
【0132】
図13は住所読み込み装置1004の処理を表すフローチャートである。
【0133】
住所読み込み要求があった場合、読み込みを要求された住所部分が都道府県名であるかどうかを判断する(ステップ22001)。
【0134】
要求が都道府県名読み込みであった場合、カタカナ住所記憶装置1001から都道府県名を読み込んで(ステップ22002)終了する。
【0135】
読み込みを要求された住所部分が都道府県名でなかった場合、読み込みを要求された住所部分が市区郡町村名であるかどうかを判断する(ステップ22003)。
【0136】
要求が市区郡町村名読み込みであった場合、カタカナ住所記憶装置1001から市区郡町村名を読み込んで(ステップ22004)終了する。
【0137】
読み込みを要求された住所部分が市区郡町村名でなかった場合、読み込みを要求された住所部分が著しい域名であるかどうかを判断する(ステップ22005)。
【0138】
要求が町域名読み込みであった場合、カタカナ住所記憶装置1001から町域名を読み込んで(ステップ22006)終了する。
【0139】
読み込みを要求された住所部分が町域名でなかった場合は終了。
【0140】
図14はローマ字変換装置1006の処理を表すフローチャートである。
【0141】
カタカナが入力されると、整数pを入力文字列の長さよりも1小さい数に設定し(ステップ23001)、ローマ字トークンを保持するスタックを空に初期化する(ステップ23002)。
【0142】
pが0以上であるかどうかを判断する(ステップ23003)。
【0143】
pが0以上の値である場合には入力文字列からカタカナトークンを切り出す(ステップ23004)。
【0144】
次に、切り出したトークンが「ッ」であるかどうかを判定する(ステップ23005)。
【0145】
トークンが「ッ」であった場合、スタックの最初にあるローマ字トークンの最初の文字を新たなローマ字トークンとしてスタックに追加する(ステップ23006)。
【0146】
切り出したトークンが「ッ」でない場合、切り出したカタカナトークンに対応したローマ字トークンをスタックに追加する(ステップ23007)。
【0147】
pから切り出したカタカナトークンの長さを引き(ステップ23008)、ステップ23003に戻る。
【0148】
pが0より小さい場合、変換後文字列を空に初期化し(ステップ23010)、pをスタックサイズより1小さい数に設定する(ステップ23011)。
【0149】
pが0以上であるかどうかを判断する(ステップ23012)。
【0150】
pが0以上の値である場合にはスタックの最初のローマ字トークンを取り出し変換後文字列の末尾に連結する(ステップ23013)。
【0151】
pが0より小さい場合、変換後文字列にooが含まれるかどうかを判断する(ステップ23014)。
【0152】
変換後文字列にooが含まれる場合、ooをoで置換して(ステップ23015)ステップ23016へ進む。
【0153】
変換後文字列にouが含まれるかどうかを判断する(ステップ23016)。
【0154】
変換後文字列にouが含まれる場合、ouをoで置換して(ステップ23017)ステップ23018へ進む。
【0155】
変換後文字列にccが含まれるかどうかを判断する(ステップ23018)。
【0156】
変換後文字列にccが含まれる場合、ccをtcで置換して(ステップ23019)ステップ23020へ進む。
【0157】
変換後文字列にnbが含まれるかどうかを判断する(ステップ23020)。
【0158】
変換後文字列にnbが含まれる場合、nbをmbで置換して(ステップ23021)ステップ23022へ進む。
【0159】
変換後文字列にnpが含まれるかどうかを判断する(ステップ23022)。
【0160】
変換後文字列にnpが含まれる場合、npをmpで置換して(ステップ23023)ステップ23024へ進む。
【0161】
変換後文字列にnmが含まれるかどうかを判断する(ステップ23024)。
【0162】
変換後文字列にnmが含まれる場合、nmをmmで置換して(ステップ23025)終了する。
【0163】
変換後文字列にnmが含まれない場合は終了。
【0164】
図15は都道府県名変換装置1006の処理を表すフローチャートである。
【0165】
入力文字列がtoで終っているかを判断する(ステップ24001)。
【0166】
入力文字列がtoで終っている場合、入力文字列の末尾のtoを削除して(ステップ24002)終了する。
【0167】
入力文字列がtoで終っていない場合、入力文字列がdoで終っているかを判断する(ステップ24003)。
【0168】
入力文字列がdoで終っている場合、入力文字列の末尾のdoを削除して(ステップ24004)終了する。
【0169】
入力文字列がdoで終っていない場合、入力文字列がfuで終っているかを判断する(ステップ24005)。
【0170】
入力文字列がfuで終っている場合、入力文字列の末尾のfuを削除して(ステップ24006)終了する。
【0171】
入力文字列がfuで終っていない場合、入力文字列がkenで終っているかを判断する(ステップ24007)。
【0172】
入力文字列がkenで終っている場合、入力文字列の末尾のkenを削除して(ステップ24008)終了する。
【0173】
入力文字列がkenで終っていない場合は終了。
【0174】
図16は市区郡町村名変換装置1007の処理を表すフローチャートである。
【0175】
整数pを1に設定する(ステップ25001)。
【0176】
pが都市名一覧にある都市名の数よりも小さいかを判定する(ステップ25002)。
【0177】
pが都市名一覧にある都市名の数よりも小さい場合、入力文字列が都市名一覧のp番目の都市名で始まっているかどうかを判断する(ステップ25003)。
【0178】
入力文字列が都市名一覧のp番目の都市名で始まっている場合、入力文字列を該当する都市名とその他の部分とに切り分ける(ステップ25004)。
【0179】
都市名とその他の部分の間に空白を挿入して(ステップ25005)、ステップ25007へ進む。
【0180】
入力文字列が都市名一覧のp番目の都市名で始まっていない場合、pに1を足して(ステップ25006)ステップ25002へ戻る。
【0181】
pが都市名一覧にある都市名の数よりも大きかった場合、入力文字列がshiで終っているかを判断する(ステップ25007)。
【0182】
入力文字列がshiで終っていた場合、同文字列の末尾のshiを−shiで置換して(ステップ25008)終了する。
【0183】
入力文字列がshiで終っていなかった場合、同文字列がkuで終っているかを判断する(ステップ25009)。
【0184】
入力文字列がkuで終っていた場合、同文字列の末尾のkuを−kuで置換して(ステップ25010)終了する。
【0185】
入力文字列がkuで終っていなかった場合、同文字列がgunで終っているかを判断する(ステップ25011)。
【0186】
入力文字列がgunで終っていた場合、同文字列の末尾のgunを−gunで置換して(ステップ25012)終了する。
【0187】
入力文字列がgunで終っていなかった場合、同文字列がchoで終っているかを判断する(ステップ25013)。
【0188】
入力文字列がchoで終っていた場合、同文字列の末尾のchoを−choで置換して(ステップ25014)終了する。
【0189】
入力文字列がchoで終っていなかった場合、同文字列がmachiで終っているかを判断する(ステップ25015)。
【0190】
入力文字列がmachiで終っていた場合、同文字列の末尾のmachiを−machiで置換して(ステップ25016)終了する。
【0191】
入力文字列がmachiで終っていなかった場合、同文字列がsonで終っているかを判断する(ステップ25017)。
【0192】
入力文字列がsonで終っていた場合、同文字列の末尾のsonを−sonで置換して(ステップ25018)終了する。
【0193】
入力文字列がsonで終っていなかった場合、同文字列がmuraで終っているかを判断する(ステップ25019)。
【0194】
入力文字列がmuraで終っていた場合、同文字列の末尾のmuraを−muraで置換して(ステップ25020)終了する。
【0195】
入力文字列がmuraで終っていなかった場合は終了。
【0196】
図17は大文字変換装置1008の処理を表すフローチャートである。
【0197】
ローマ字の文字列が入力されると、入力文字列の最初の文字を切り取る(ステップ26001)。
【0198】
切り取った文字を大文字に変換する(ステップ26002)。
【0199】
大文字に変換した文字を入力文字列の残りの部分の先頭の部分に連結して(ステップ26003)終了する。
【0200】
図18は住所書き込み装置1009の処理を表すフローチャートである。
【0201】
住所書き込み要求があった場合、書き込みを要求された住所部分が都道府県名であるかどうかを判断する(ステップ27001)。
【0202】
要求が都道府県名書き込みであった場合、ローマ字住所記憶装置1002に都道府県名を書き込んで(ステップ27002)終了する。
【0203】
要求が都道府県名書き込みでなかった場合、書き込みを要求された住所部分が市区郡町村名であるかどうかを判断する(ステップ27003)。
【0204】
要求が市区郡町村名書き込みであった場合、ローマ字住所記憶装置1002に市区郡町村名を書き込んで(ステップ27004)終了する。
【0205】
要求が市区郡町村名書き込みでなかった場合、書き込みを要求された住所部分が町域名であるかどうかを判断する(ステップ27005)。
【0206】
要求が町域名書き込みであった場合、ローマ字住所記憶装置1002に町域名を書き込んで(ステップ27006)終了する。
【0207】
要求が町域名書き込みでなかった場合は終了。
【0208】
図19はローマ字住所記憶装置の処理を表すフローチャートである。
【0209】
住所書き込み要求があると、書き込みを要求されている住所部分が都道府県名であるかを判断する(ステップ28001)。
【0210】
書き込みを要求された住所部分が都道府県名であった場合、都道府県名記憶部10001に受け取ったローマ字住所を記憶して終了する。
【0211】
要求が都道府県名書き込みでなかった場合、書き込みを要求されている住所部分が市区郡町村名であるかを判断する(ステップ28003)。
【0212】
書き込みを要求された住所部分が市区郡町村名であった場合、市区郡町村名記憶部10002に受け取ったローマ字住所を記憶して(ステップ28004)終了する。
【0213】
要求が市区郡町村名書き込みでなかった場合、書き込みを要求されている住所部分が町域名であるかを判断する(ステップ28005)。
【0214】
書き込みを要求された住所部分が町域名であった場合、町域名記憶部10003に受け取ったローマ字住所を記憶して終了する。
【0215】
要求が町域名書き込みでなかった場合は終了。
【図面の簡単な説明】
【0216】
【図1】システム構成図
【図2】カタカナ住所記憶装置の内部構成図
【図3】住所変換制御装置の内部構成図
【図4】住所読み込み装置の内部構成図
【図5】ローマ字変換装置の内部構成図
【図6】都道府県名変換装置の内部構成図
【図7】市区郡町村名変換装置の内部構成図
【図8】大文字変換装置の内部構成図
【図9】住所書き込み装置の内部構成図
【図10】ローマ字住所記憶装置の内部構成図
【図11】カタカナ住所記憶装置の処理を示すフローチャート
【図12】住所変換制御装置の処理を表すフローチャート
【図13】住所読み込み装置の処理を表すフローチャート
【図14】ローマ字変換装置の処理を表すフローチャート
【図15】都道府県名変換装置の処理を表すフローチャート
【図16】市区郡町村名変換装置の処理を表すフローチャート
【図17】大文字変換装置の処理を表すフローチャート
【図18】住所書き込み装置の処理を表すフローチャート
【図19】ローマ字住所記憶装置の処理を表すフローチャート
【符号の説明】
【0217】
1001 カタカナ住所記憶装置
1002 ローマ字住所記憶装置
1003 住所変換制御装置
1004 住所読み込み装置
1005 ローマ字変換装置
1006 都道府県名変換装置
1007 市区郡町村名変換装置
1008 大文字変換装置
1009 住所書き込み装置

【特許請求の範囲】
【請求項1】
カタカナ表記の住所を記憶するカタカナ住所記憶装置と、ローマ字表記の住所を記憶するローマ字住所記憶装置と、前記カタカナ住所記憶装置から住所を読み込む住所読み込み装置と、カタカナ表記の住所をローマ字表記に変換する処理を制御する住所変換制御装置と、カタカナをローマ字に変換するローマ字変換装置と、都道府県名を表すローマ字文字列を正しいローマ字の住所表記に変換する都道府県名変換装置と、市区郡町村名を表すローマ字文字列を正しいローマ字の住所表記に変換する市区郡町村名変換装置と、ローマ字文字列の最初のアルファベットを大文字に変換する大文字変換装置と、前記ローマ字記憶装置に住所を書き込む住所書き込み装置とからなることを特徴とする住所変換装置。
【請求項2】
前記カタカナ住所記憶装置は、都道府県名を記憶する都道府県名記憶部と、市区郡町村名を記憶する市区郡町村名記憶部と、町域名を記憶する町域名記憶部とから構成され、都道府県名、市区郡町村名、町域名をそれぞれ該当する記憶部で別々に記憶することを特徴とする請求項1記載の住所変換装置。
【請求項3】
前記ローマ字住所記憶装置は、都道府県名を記憶する都道府県名記憶部と、市区郡町村名を記憶する市区郡町村名記憶部と、町域名を記憶する町域名記憶部とから構成され、都道府県名、市区郡町村名、町域名をそれぞれ該当する記憶部で別々に記憶することを特徴とする請求項1記載の住所変換装置。
【請求項4】
前記住所変換制御装置は、前記住所読み込み装置と、前記ローマ字変換装置と、前記都道府県名変換装置と、前記市区郡町村名変換装置と、前記大文字変換装置と、前記住所書き込み装置とを使って、カタカナの住所をローマ字に変換する住所変換処理を制御することを特徴とする請求項1記載の住所変換装置。
【請求項5】
都道府県名、市区郡町村名、町域名をそれぞれ、前記カタカナ住所記憶装置の都道府県名記憶部、市区郡町村名記憶部、町域名記憶部から読み込む機能を有することを特徴とする請求項2記載の住所変換装置。
【請求項6】
前記住所読み込み装置は、前記住所変換制御装置からの住所読み込み要求が、都道府県名、市区郡町村名、町域名のいずれを読み込む要求であるかを判断する機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項7】
前記ローマ字変換装置は、カタカナの文字列を後ろから解析することで該カタカナ文字列に含まれる全てのカタカナのトークンを順番に切り出す機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項8】
前記ローマ字変換装置は、予め用意されたカタカナトークンとローマ字トークンとの対応表を用いて、カタカナトークンをローマ字トークンに変換する機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項9】
前記ローマ字変換装置は、スタックに記憶されているローマ字トークンを順番に取り出し、連結することでローマ字の文字列を生成する機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項10】
前記ローマ字変換装置は、ローマ字文字列に含まれる不正なローマ字表現を正当なローマ字表現に修正する機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項11】
前記都道府県名変換装置は、いずれかの都道府県名を表すローマ字文字列が都、道、府、県のいずれを表すかを判断する機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項12】
前記都道府県名変換装置は、ローマ字文字列の末尾のto、do、fu、kenの文字列を削除する機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項13】
前記市区郡町村名変換装置は、ローマ字文字列が都市名で始まっているかどうかを判断する機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項14】
前記市区郡町村名変換装置は、都市名から始まるローマ字文字列の、都市名とそれ以外の部分に空白を挿入する機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項15】
前記市区郡町村名変換装置は、shi、ku、gun、cho、machi、son、muraのアルファベットの先頭に−を付け加える機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項16】
前記住所書き込み装置は、都道府県名、市区郡町村名、町域名をそれぞれ、前記ローマ字住所記憶装置の都道府県名記憶部、市区郡町村名記憶部、町域名記憶部へ書き込む機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項17】
前記住所書き込み装置は、前記住所変換制御装置からの住所書き込み要求が、都道府県名、市区郡町村名、町域名のいずれを書き込む要求であるかを判断する機能を有することを特徴とする請求項1記載の住所変換装置。
【請求項18】
カタカナ表記の住所を記憶するカタカナ住所記憶部と、ローマ字表記の住所を記憶するローマ字住所記憶部とを有する装置を制御するための住所変換方法であって、
カタカナ表記の住所をローマ字表記に変換するように制御する住所変換制御ステップと、
前記変換されたローマ字表記の住所のうち、都道府県名について正しいローマ字表記に変換する都道府県名変換ステップと、
前記変換されたローマ字表記の住所のうち、市区郡町村名について正しいローマ字表記に変換する市区郡町村名変換ステップと、
前記都道府県名のローマ字文字列の最初のアルファベット、および前記市区郡町村名のローマ字文字列の最初のアルファベットを大文字にする大文字変換ステップと、
を有することを特徴とする住所変換方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2006−277238(P2006−277238A)
【公開日】平成18年10月12日(2006.10.12)
【国際特許分類】
【出願番号】特願2005−94540(P2005−94540)
【出願日】平成17年3月29日(2005.3.29)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】