JP2009238128A - ローマ字変換装置及び方法、ローマ字変換プログラム - Google Patents

ローマ字変換装置及び方法、ローマ字変換プログラム Download PDF

Info

Publication number
JP2009238128A
JP2009238128A JP2008086356A JP2008086356A JP2009238128A JP 2009238128 A JP2009238128 A JP 2009238128A JP 2008086356 A JP2008086356 A JP 2008086356A JP 2008086356 A JP2008086356 A JP 2008086356A JP 2009238128 A JP2009238128 A JP 2009238128A
Authority
JP
Japan
Prior art keywords
kanji
conversion
romaji
appears
character string
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
Application number
JP2008086356A
Other languages
English (en)
Inventor
Tatsuya Sasajima
達也 笹嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Business Systems Inc
Original Assignee
Japan Business Systems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Japan Business Systems Inc filed Critical Japan Business Systems Inc
Priority to JP2008086356A priority Critical patent/JP2009238128A/ja
Publication of JP2009238128A publication Critical patent/JP2009238128A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

【課題】漢字文字列をローマ字に正確に自動変換するためのローマ字変換装置及び方法、ローマ字変換プログラムを提供する。
【解決手段】ローマ字変換装置において、漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する手段と、前記仮名文字列をモーラ毎にローマ字に変換して結果を仮名変換結果として記憶する手段と、前記漢字文字列の全ての分割パターンを取得する手段と、漢字辞書を参照して前記分割パターンに含まれる要素毎に漢字の読みを取得する取得手段と、取得した漢字の読みをモーラ毎にローマ字に変換する手段と、ローマ字の分割要素の全ての組合せパターンを取得する手段と、各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する手段と、出現率が最大のパターンを抽出して漢字変換結果として記憶する手段と、前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する手段とを備える。
【選択図】図1

Description

本発明は、漢字文字列をローマ字に変換するためのローマ字変換装置及び方法、ローマ字変換プログラムに関する。
ひらがな又はカタカナの仮名文字からなる文字列をローマ字に変換する場合には、
ローマ字と仮名文字が対応付けされている変換テーブルを使って、モーラ毎にローマ字に変換していくことで実現することが一応可能である。
現在、ローマ字の表記方法として、訓令式、ヘボン式などいくつかの表記方式が存在しているが、中でも「外務省ヘボン式」と呼ばれる表記方式は、旅券に氏名を記載する際の表記方式として用いられる以外にも、氏名、名称又は住所などをローマ字で表記する場合の方式として広く利用されている。
この外務省ヘボン式にはいくつかの変則的な変換規則があり、例えば、撥音の「ん」は「N」で表記するが、B・M・Pの前では、「NAMBA(なんば)」のように、「ん」は「M」で表記する。
また、促音の「っ」は子音を重ねるが、「ETCHU(えっちゅう)」のように、CHの前では、「っ」は「T」で表記する。
特に変則的な変換規則としては、長音を表記する際に「OO」「OU」「UU」のような表記をすることは原則として認められておらず、それぞれ「O」「O」「U」のように省略して表記することとなっていることから、モーラ毎の変換を行なうことが困難なものになっている。
具体例を挙げると、「コウノ(河野)」という姓を「KOUNO」と綴るのは誤りであり、規則に従うと「KONO」としなければならない。ただし、「OU」と表記されるところを無条件に「O」に置き換えれば良いと言うわけではない。例えば、「イノウエ(井上)」の場合は、無条件に置き換えると「INOE」になることから、置き換えずに「INOUE」のままとしなければならない。
従って、「OU」の部分が長音の一部として現れているのかどうかを正確に判断した上で綴りを決めなければならず、仮名文字列をモーラ毎にローマ字変換するだけでは正確な変換結果を得ることができない。
このように、仮名文字とローマ字との対応関係を管理する変換テーブルを使うだけの単純な変換処理を行なっていたのでは、フリガナで入力される氏名、名称又は住所を正確なローマ字に変換することはできない。
この点に関して、漢字綴りの氏名とフリガナとの対応関係を管理するとともに、フリガナの各文字毎に、規定のローマ字変換を施す必要があるのか否かを示すフリガナ属性情報を管理する氏名辞書と、氏名辞書を検索することで、入力されるフリガナの指す氏名を検索するとともに、その氏名の持つフリガナ属性情報を取得する検索手段と、検索手段の検索する氏名の中から氏名を1つ選択する選択手段と、選択手段の選択する氏名の持つフリガナ属性情報の指示に従って規定のローマ字変換を施しつつ、入力されるフリガナをローマ字に変換する変換手段とを備えるように構成する氏名入力装置などが提供されている(特許文献1を参照)。
特開平11−338859号公報
しかしながら、特許文献1に示された発明では、漢字綴りの氏名とフリガナとの対応関係を管理するとともに、フリガナの各文字毎に規定のローマ字変換(例えば長音処理)を施す必要があるのか否かということなどを示すフリガナ属性情報を管理する氏名辞書を作成しなければならない。このように、膨大なデータからなる氏名辞書を特別に作成しなければならないことから、その作成に大変な労力や時間がかかり、また作成後の維持管理も大変であるという問題がある。
また、氏名辞書に掲載されていない氏名や氏名以外の住所などについては、正確なローマ字変換ができないという問題もある。
本発明は、かかる課題を解決するために、このような氏名辞書を特別に作成することなく、氏名、名称又は住所などの漢字文字列及び前記漢字文字列に対応する仮名文字列の情報をローマ字に正確に自動変換するためのローマ字変換装置及び方法、ローマ字変換プログラムを提供することを目的としている。
上記の課題を解決するために請求項1記載の発明は、漢字文字列をローマ字に変換するローマ字変換装置において、前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得手段と、前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換手段と、前記仮名ローマ字変換手段によって変換した結果を仮名変換結果として記憶する手段と、前記漢字文字列の全ての分割パターンを取得する分割パターン取得手段と、漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得手段と、前記漢字読み取得手段によって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換手段と、前記漢字ローマ字変換手段によって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得手段と、前記組合せパターン取得手段によって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出手段と、前記要素出現率算出手段によって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶する手段と、前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割手段とを備えたことを特徴とする。
請求項2記載の発明は、請求項1に記載のローマ字変換装置であって、前記要素出現率算出手段によって算出された出現率が最大のパターンが複数存在する場合に、前記複数存在するパターンの中で前記組合せパターン取得手段によって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶する手段とをさらに備えたことを特徴とする。
請求項3記載の発明は、請求項1ないし2のいずれかに記載のローマ字変換装置であって、前記要素分割手段によって分割された要素内の文字を対象として、その中に「OU」が出現する場合は「O」に、「OO」が出現する場合は「O」に、「UU」が出現する場合は「U」に置き換える長音置換手段と、前記要素分割手段によって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「NB」が出現する場合は「N」を「M」に、「NM」が出現する場合は「N」を「M」に、「NP」が出現する場合は「N」を「M」に置き換える撥音置換手段と、前記要素分割手段によって分割された要素内の文字及び次要素の2番目の文字までを対象として、その中に「CCH」が出現する場合は先頭の「C」を「T」に置き換える促音置換手段と、前記長音置換手段、前記撥音置換手段及び前記促音置換手段による置き換え結果後の各要素を結合する要素結合手段と、前記要素結合手段によって結合した結果を最終出力結果として記憶する手段とをさらに備えたことを特徴とする。
請求項4記載の発明は、請求項1ないし3のいずれかに記載のローマ字変換装置であって、前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする。
請求項5記載の発明は、ローマ字変換装置を用いて漢字文字列をローマ字に変換するローマ字変換方法において、前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得ステップと、前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換ステップと、前記仮名ローマ字変換ステップによって変換した結果を仮名変換結果として記憶するステップと、前記漢字文字列の全ての分割パターンを取得する分割パターン取得ステップと、漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得ステップと、前記漢字読み取得ステップによって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換ステップと、前記漢字ローマ字変換ステップによって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得ステップと、前記組合せパターン取得ステップによって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出ステップと、前記要素出現率算出ステップによって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶するステップと、前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割ステップとを実行することを特徴とする。
請求項6記載の発明は、請求項5に記載のローマ字変換方法であって、前記要素出現率算出ステップによって算出された出現率が最大のパターンが複数存在する場合に、前記複数存在するパターンの中で前記組合せパターン取得ステップによって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶するステップとをさらに実行することを特徴とする。
請求項7記載の発明は、請求項5ないし6のいずれかに記載のローマ字変換方法であって、前記要素分割ステップによって分割された要素内の文字を対象として、その中に「OU」が出現する場合は「O」に、「OO」が出現する場合は「O」に、「UU」が出現する場合は「U」に置き換える長音置換ステップと、前記要素分割ステップによって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「NB」が出現する場合は「N」を「M」に、「NM」が出現する場合は「N」を「M」に、「NP」が出現する場合は「N」を「M」に置き換える撥音置換ステップと、前記要素分割ステップによって分割された要素内の文字及び次要素の2番目の文字までを対象として、その中に「CCH」が出現する場合は先頭の「C」を「T」に置き換える促音置換ステップと、前記長音置換ステップ、前記撥音置換ステップ及び前記促音置換ステップによる置き換え結果後の各要素を結合する要素結合ステップと、前記要素結合ステップによって結合した結果を最終出力結果として記憶するステップとをさらに実行することを特徴とする。
請求項8記載の発明は、請求項5ないし7のいずれかに記載のローマ字変換方法であって、前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする。
請求項9記載の発明は、コンピュータを漢字文字列をローマ字に変換するローマ字変換装置として機能させるローマ字変換プログラムであって、
コンピュータに、前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得機能と、前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換機能と、前記仮名ローマ字変換機能によって変換した結果を仮名変換結果として記憶する機能と、前記漢字文字列の全ての分割パターンを取得する分割パターン取得機能と、漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得機能と、前記漢字読み取得機能によって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換機能と、前記漢字ローマ字変換機能によって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得機能と、前記組合せパターン取得機能によって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出機能と、前記要素出現率算出機能によって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶する機能と、前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割機能とを実現することを特徴とする。
請求項10記載の発明は、請求項9に記載のローマ字変換プログラムであって、前記要素出現率算出機能によって算出された出現率が最大のパターンが複数存在する場合に、前記複数存在するパターンの中で前記組合せパターン取得機能によって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶する機能とをさらに実現することを特徴とする。
請求項11記載の発明は、請求項9ないし10のいずれかに記載のローマ字変換プログラムであって、前記要素分割機能によって分割された要素内の文字を対象として、その中に「OU」が出現する場合は「O」に、「OO」が出現する場合は「O」に、「UU」が出現する場合は「U」に置き換える長音置換機能と、前記要素分割機能によって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「NB」が出現する場合は「N」を「M」に、「NM」が出現する場合は「N」を「M」に、「NP」が出現する場合は「N」を「M」に置き換える撥音置換機能と、前記要素分割機能によって分割された要素内の文字及び次要素の2番目の文字までを対象として、その中に「CCH」が出現する場合は先頭の「C」を「T」に置き換える促音置換機能と、前記長音置換機能、前記撥音置換機能及び前記促音置換機能による置き換え結果後の各要素を結合する要素結合機能と、前記要素結合機能によって結合した結果を最終出力結果として記憶する機能とをさらに実現することを特徴とする。
請求項12記載の発明は、請求項9ないし11のいずれかに記載のローマ字変換プログラムであって、前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする。
本発明によれば、氏名辞書などを特別に作成することなく、一般的な仮名ローマ字変換テーブル及び漢字辞書を使用するだけで、氏名、名称又は住所などの漢字文字列及び前記漢字文字列に対応する仮名文字の情報をローマ字へ正確に自動変換することができるという効果をもたらす。
漢字文字列をローマ字へ正確に自動変換することを可能にするという課題を解決するために、以下のようなローマ字変換装置及び方法、ローマ字変換プログラムを発明した。
本発明の実施例1について、図面を参照しながら詳細に説明する。図1は、本発明にかかるローマ字変換装置の構成を示すブロック図である。
本発明の実施例1は、情報取得部1、制御部2、出力部3、仮名変換部4、漢字変換部5、要素分割部6、長音等変換部7、仮名ローマ字変換テーブル8、漢字辞書9とから構成される。
情報取得部1は、氏名、名称又は住所などの漢字文字列及び前記漢字文字列に対応する仮名文字列の情報を取得して制御部2へ伝達する。制御部2はローマ字への変換処理等を行ない、その結果を出力部3へ伝達する。出力部3はモニタ等の出力装置である。
仮名変換部4は、仮名ローマ字変換テーブル8を参照しながら、情報取得部1で取得された前記仮名文字列をモーラ毎にローマ字に変換し、その結果を仮名変換結果として記憶する。
漢字変換部5は、仮名ローマ字変換テーブル8及び漢字辞書9を参照しながら、情報取得部1で取得された前記漢字文字列をローマ字に変換し、その結果を漢字変換結果として記憶する。
より詳しく説明すると、前記漢字文字列の全ての分割パターンを取得した後、漢字辞書9を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得し、その読みをモーラ毎にローマ字に変換する。そして、変換したローマ字の分割要素の全ての組合せパターンを取得し、各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出し、その出現率が最大のパターンを抽出して漢字変換結果として記憶する。
なお、その出現率が最大のパターンが複数存在する場合は、その中で分割された要素の数が最大のパターンを抽出して漢字変換結果として記憶する。
要素分割部6は、仮名変換部4でローマ字に変換された仮名変換結果を、漢字変換部5でローマ字に変換された漢字変換結果に基づいて、前記漢字変換結果の各要素に合致する位置で分割する。
長音等変換部7は、要素分割部6において分割された各要素などに、「OU」「OO」「UU」「NB」「NM」「NP」「CCH」のいずれかが出現している場合に、各場合に応じた変換処理を行なう。
仮名ローマ字変換テーブル8は、仮名変換部4及び漢字変換部5で使用される変換テーブルであり、図5に示す通り、外務省ヘボン式ローマ字変換規則に基づく仮名文字とローマ字の変換テーブルである。
漢字辞書9は、漢字変換部5で使用される漢字の読みを取得するための辞書であり、漢字のデータに基づいて、その読みが取得できる漢字辞書であれば何でもよい。
次に、本実施例の動作について、図面を参照しながら説明する。図2は、実施例におけるローマ字変換の全体の処理手順を示したフローチャートである。
実施の開始後(ステップS101)、
変換対象文字列となる漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する(ステップS102)。
前記仮名文字列を、仮名ローマ字変換テーブル8にしたがってモーラ毎にローマ字に変換する(ステップS103)。例えば、「イノウエ」ならば、「INOUE」と変換する。また、「ッ」は次の仮名文字の子音を重ねて変換する。例えば、「ベップ」ならば「BEPPU」と変換する。
そして、ステップS103の結果を仮名変換結果として記憶する(ステップS104)。
次に、仮名変換結果であるローマ字文字列の中に「OO」、「OU」又は「UU」が出現するかどうかを判断する(ステップS105)。
もし、「OO」「OU」「UU」のいずれも出現しない場合は、ステップS105における判断結果は「No」となり、撥音・促音の変換を行ない(ステップS107)、ステップS112へ進む。具体的な撥音・促音の変換の処理手順については、後に詳しく説明する。
一方、「OO」「OU」「UU」のいずれかが出現する場合は、ステップS105における判断結果は「Yes」となり、前記漢字文字列をローマ字に変換する(ステップS106)。例えば「井上」の場合、「I,UE」という結果が得られる。具体的な漢字文字列からローマ字への変換の処理手順については、後に詳しく説明する。
そして、ステップS106の結果を漢字変換結果として記憶する(ステップS108)。
前記仮名変換結果を、前記漢字変換結果の各要素に合致する位置で分割する(ステップS109)。例えば「イノウエ」の場合、前記仮名変換結果である「INOUE」を、前記漢字変換結果である「I,UE」の各要素、即ち「I」「UE」に合致する位置で分割し、結果的に「I」「NO」「UE」の3つの要素を得ることになる。
そして、長音・撥音・促音が含まれている要素について、長音・撥音・促音の変換を行なう(ステップS110)。具体的な長音・撥音・促音の変換の処理手順については、後に詳しく説明する。
次に、ステップS110の結果の要素を結合する(ステップS111)。例えば「イノウエ」の場合、ステップS109で得られた「I」「NO」「UE」などに長音・撥音・促音が含まれていないことから、各要素の変換結果はステップS110において変わらないので、結果として「INOUE」を得る。
そして、S107又はS111の結果を最終出力結果として記憶し(ステップS112)、終了となる(ステップS113)。
他の具体例として、「佐藤」を例に取ると、仮名変換結果は「SATOU」、漢字変換結果は「SA,TOU」となり、仮名変換結果を漢字変換結果の各要素に合致する位置で分割すると「SA,TOU」となる。そして、長音・撥音・促音の変換処理によって「SA,TO」となることから、各要素を結合して最終出力結果が「SATO」となる。
図3は、上記のステップS106及びステップS108における漢字文字列をローマ字に変換する処理手順をさらに詳しく示したフローチャートである。
実施の開始後(ステップS201)、
前記漢字文字列の全ての分割パターンを取得する(ステップS202)。例えば「井上」の場合、「井,上」(2分割)と「井上」(分割なし)という2通りの結果を得る。
次に、前記分割パターンの各々について、各パターンに含まれる前記漢字文字列を構成する要素毎に、漢字辞書9を参照して読みを取得する(ステップS203)。例えば、分割パターンが「井,上」ならば「セイ,イ」「ウエ,ジョウ」、分割パターンが「井上」ならば「イノウエ,イガミ」のような結果を得る。
そして、当該結果に含まれる全ての読みを、仮名ローマ字変換テーブル8にしたがってモーラ毎にローマ字に変換する(ステップS204)。例えば「井,上」ならば「SEI,I」「UE,JOU」、「井上」ならば「INOUE,IGAMI」のような結果を得る。
ローマ字に変換された分割要素の全ての組合せパターンを取得する(ステップS205)。例えば「井上」の場合、「SEI,UE」「SEI,JOU」「I,UE」「I,JOU」「INOUE」「IGAMI」の各パターンを取得することになる。
次に、各パターンに含まれる分割要素数を算出する(ステップS206)。例えば、「SEI,UE」「SEI,JOU」「I,UE」「I,JOU」の場合、分割要素数は2となり、「INOUE」「IGAMI」の場合、分割要素数は1となる。
各パターンの内、分割要素数が1のものを破棄する(ステップS207)。例えば「井上」の場、「INOUE」「IGAMI」は分割要素数が1であるが、これらは分割が行なわれなかった前記漢字文字列をそのまま辞書引きして得られた結果であり、仮名変換結果と本質的に同じになるからである。
次に、前記組合せパターンの各要素が、前記仮名変換結果の中にどの程度出現するかという要素出現率をパターン毎に算出する(ステップS208)。例えば「井上」の場合、「I,UE」パターンは「I」も「UE」も仮名変換結果の「INOUE」という文字列に含まれるので、要素出現率は100%である。次いで「SEI,UE」パターンは「UE」、「I,JOU」パターンは「I」が含まれるので、要素出現率は50%である。一方、「SEI,JOU」パターンは、一致する部分がなく、要素出現率は0%である。
次に、要素出現率が最大のものが複数存在するかどうかを判断する(ステップS209)。
もし、複数存在しない場合は、ステップS209における判断結果は「No」となり、ステップS211へ進む。
一方、要素出現率が最大のものが複数存在する場合は、ステップS209における判断結果は「Yes」となり、複数存在する要素出現率が最大のパターンの中で分割要素数が最大のパターンを抽出する(ステップS210)。即ち、分割要素数の多い方の優先度を高くする。これは、漢字を一文字ずつ変換した結果と仮名変換結果とが一致するものが、結果の候補として最もふさわしいという考え方に基づくものである。
例えば、「小売店」の場合、分割パターンとして「KO,URI,TEN」「KOURI,TEN」などの漢字変換結果が得られる。前者の結果は、漢字を一文字ずつ区切ったときの結果であり、後者の結果は「小売」という単語が漢字辞書に含まれていた場合に得られる結果である。この2つはいずれも「コウリテン」という仮名変換結果である「KOURITEN」の中に各要素が必ず出現するので、ともに要素出現率は100%であり、要素出現率が最大のものが複数存在する場合に該当する。
この場合、分割要素数が2である「KOURI,TEN」のパターンではなく、分割要素数が3である「KO,URI,TEN」のパターンの方を採用する。これによって、「小売店」のローマ字変換の結果が最終的に「KORITEN」とはならず、正しく「KOURITEN」と変換されることとなる。
そして、得られた結果を漢字変換結果として記憶し(ステップS211)、終了となる(ステップS212)。例えば「井上」の場合、「I,UE」が要素出現率が最大であって、他に同率のパターンが存在しないことから、最も変換結果として適切であることが判明したので、「I,UE」を漢字変換結果として記憶することになる。
なお、ステップS210の結果、分割要素数が最大のパターンが複数存在する場合は、それらのパターンの中のいずれかを漢字変換結果として記憶する。
図4は、上記のステップS110又はステップS107におけるローマ字の長音・撥音・促音部分を変換する処理手順をさらに詳しく示したフローチャートである。
まず、ステップS110の場合について、説明する。
実施の開始後(ステップS301)、
ステップS109において分割した要素内の文字を対象として、その中に「OU」が出現するかどうかを判断する(ステップS302)。
もし、「OU」が出現しない場合は、ステップS302における判断結果は「No」となり、ステップS304へ進む。
一方、「OU」が出現する場合は、ステップS302における判断結果は「Yes」となり、当該要素に含まれている「OU」を「O」に置き換える(ステップS303)。
次に、ステップS109において分割した要素内の文字を対象として、その中に「OO」が出現するかどうかを判断する(ステップS304)。
もし、「OO」が出現しない場合は、ステップS304における判断結果は「No」となり、ステップS306へ進む。
一方、「OO」が出現する場合は、ステップS304における判断結果は「Yes」となり、当該要素に含まれている「OO」を「O」に置き換える(ステップS305)。
次に、ステップS109において分割した要素内の文字を対象として、その中に「UU」が出現するかどうかを判断する(ステップS306)。
もし、「UU」が出現しない場合は、ステップS306における判断結果は「No」となり、ステップS308へ進む。
一方、「UU」が出現する場合は、ステップS306における判断結果は「Yes」となり、当該要素に含まれている「UU」を「U」に置き換える(ステップS307)。
次に、ステップS109において分割した要素内の文字及び次要素の最初の文字までを対象として、その中に「NB」が出現するかどうかを判断する(ステップS308)。
もし、「NB」が出現しない場合は、ステップS308における判断結果は「No」となり、ステップS310へ進む。
一方、「NB」が出現する場合は、ステップS308における判断結果は「Yes」となり、「NB」の「N」を「M」に置き換える(ステップS309)。
次に、ステップS109において分割した要素内の文字及び次要素の最初の文字までを対象として、その中に「NM」が出現するかどうかを判断する(ステップS310)。
もし、「NM」が出現しない場合は、ステップS310における判断結果は「No」となり、ステップS312へ進む。
一方、「NM」が出現する場合は、ステップS310における判断結果は「Yes」となり、「NM」の「N」を「M」に置き換える(ステップS311)。
次に、ステップS109において分割した要素内の文字及び次要素の最初の文字までを対象として、その中に「NP」が出現するかどうかを判断する(ステップS312)。
もし、「NP」が出現しない場合は、ステップS312における判断結果は「No」となり、ステップS314へ進む。
一方、「NP」が出現する場合は、ステップS312における判断結果は「Yes」となり、「NP」の「N」を「M」に置き換える(ステップS313)。
次に、ステップS109において分割した要素内の文字及び次要素の2番目の文字までを対象として、その中に「CCH」が出現するかどうかを判断する(ステップS314)。
もし、「CCH」が出現しない場合は、ステップS314における判断結果は「No」となり、終了となる(ステップS316)。
一方、「CCH」が出現する場合は、ステップS314における判断結果は「Yes」となり、「CCH」の先頭の「C」を「T」に置き換えて(ステップS315)、終了となる(ステップS316)。
なお、ステップS107の場合は、その前のステップS105において「OU」「OO」「UU」の各場合が除かれていることから、ステップS302からステップS307までの各ステップはスキップされる。さらに、変換対象は、分割した要素ではなく、常にステップS104において記憶された仮名変換結果である。
本発明に係るローマ字への変換の具体例について、いくつか説明する。
例えば「小内」と「高知」の場合、どちらも仮名文字列は「コウチ」という点では共通しているが、ローマ字への変換後は「KOUCHI」と「KOCHI」となるのが正しく相違している。
より詳しく見て行くと、ステップS104における仮名変換結果はどちらも「KOUCHI」となる。
そして、ステップS108における漢字変換結果は、「小内」の場合は「KO,UCHI」となり、「高知」の場合は「KOU,CHI」となる。
従って、ステップS109において、仮名変換結果を漢字変換結果の各要素に合致する位置で分割すると「小内」の場合は「KO」「UCHI」となり、「高知」の場合は「KOU」「CHI」となる。
よって、「高知」の場合はステップS110において長音の変換処理が行なわれて「KO」「CHI」となることから、ステップS112における最終出力結果は、「小内」の場合は「KOUCHI」となり、「高知」の場合は「KOCHI」となる。
他の具体例として「大内」の場合を見てみると、ステップS104における仮名変換結果は「OOUCHI」となる。
そして、ステップS108における漢字変換結果は、「OO,UCHI」となる。
従って、ステップS109において、仮名変換結果を漢字変換結果の各要素に合致する位置で分割すると「OO」「UCHI」となる。
よって、ステップS110において長音の変換処理が行なわれて「O」「UCHI」となることから、ステップS112における最終出力結果は正しく「OUCHI」となる。
なお、本発明の目的は、上記の実施例1の機能を実現するソフトウェアのプログラムを記録した記憶媒体を、システム又は装置に供給し、そのシステム又は装置のコンピュータが記憶媒体に記録されたソフトウェアのプログラムを読出し実行することによっても達成される。
この場合、記憶媒体から読出されたプログラム自体が本発明の新規な機能を実現することになり、当該プログラムを記憶した記憶媒体は本発明を構成することになる。
ソフトウェアのプログラムを記録するための記憶媒体としては、例えば、ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、システム又は装置のコンピュータが読出したプログラムを実行することにより、上記の機能が実現されるだけでなく、当該プログラムの指示に基づいて、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行ない、その処理によって上記の機能が実現される場合も含まれる。
さらに、記憶媒体から読出されたプログラムが、システム又は装置のコンピュータに挿入された機能拡張用のボードやコンピュータに接続された機能拡張用のユニットに備えられたメモリに書込まれた後、当該プログラムの指示に基づき、その機能拡張用のボードやユニットに備えられたCPUなどが実際の処理の一部または全部を行ない、その処理によって上記の機能が実現される場合も含まれる。
本実施例は、実施例1で説明したステップS105の仮名変換結果であるローマ字文字列の中に「OO」、「OU」又は「UU」が出現するかどうかを判断するステップがない点で実施例1と異なる。本実施例は、実施例1におけるステップS105及びステップS107に対応する処理をしなくても、本発明にかかる正確なローマ字変換が可能であることを示している。
以下,本発明の実施例2について、図面を参照しながら詳細に説明する。図6は,本実施例におけるローマ字変換の全体の処理手順を示したフローチャートである。
実施の開始後(ステップS401)、
変換対象文字列となる漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する(ステップS402)。
前記仮名文字列を、仮名ローマ字変換テーブル8にしたがってモーラ毎にローマ字に変換する(ステップS403)。例えば、「ホンマ」ならば、「HONMA」と変換される。
そして、ステップS403の結果を仮名変換結果として記憶する(ステップS404)。
前記漢字文字列をローマ字に変換する(ステップS405)。例えば「本間」の場合、「HON,MA」という結果が得られる。具体的な漢字文字列からローマ字への変換の処理手順については、既に実施例1において図3などにより説明した通りなので、説明を省略する。
そして、ステップS405の結果を漢字変換結果として記憶する(ステップS406)。
前記仮名変換結果を、前記漢字変換結果の各要素に合致する位置で分割する(ステップS407)。例えば「ホンマ」の場合、前記仮名変換結果である「HONMA」を、前記漢字変換結果であるである「HON,MA」の各要素、即ち「HON」「MA」に合致する位置で分割し、結果的に「HON」「MA」の2つの要素を得ることになる。
そして、長音・撥音・促音が含まれている要素について、長音・撥音・促音の変換を行なう(ステップS408)。例えば、「HON」「MA」の場合は、「HOM」「MA」となる。具体的な長音・撥音・促音の変換の処理手順については、既に実施例1において図4などにより説明した通りなので、説明を省略する。
ステップS408の結果の要素を結合する(ステップS409)。
そして、ステップS409の結果を最終出力結果として記憶し(ステップS410)、終了となる(ステップS411)。例えば「ホンマ」の場合は、「HOM」「MA」の各要素を結合して、最終出力結果として正しく「HOMMA」を得ることができる。
本発明にかかるローマ字変換装置の構成を示すブロック図である。 実施例1におけるローマ字変換の全体の処理手順を示したフローチャートである。 漢字文字列をローマ字に変換する処理手順を示したフローチャートである。 ローマ字の長音・撥音・促音部分を変換する処理手順を示したフローチャートである。 ヘボン式の仮名ローマ字変換テーブルの説明図である。 実施例2におけるローマ字変換の全体の処理手順を示したフローチャートである。
符号の説明
1 情報取得部
2 制御部
3 出力部
4 仮名変換部
5 漢字変換部
6 要素分割部
7 長音等変換部
8 仮名ローマ字変換テーブル
9 漢字辞書

Claims (12)

  1. 漢字文字列をローマ字に変換するローマ字変換装置において、
    前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得手段と、
    前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換手段と、
    前記仮名ローマ字変換手段によって変換した結果を仮名変換結果として記憶する手段と、
    前記漢字文字列の全ての分割パターンを取得する分割パターン取得手段と、
    漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得手段と、
    前記漢字読み取得手段によって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換手段と、
    前記漢字ローマ字変換手段によって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得手段と、
    前記組合せパターン取得手段によって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出手段と、
    前記要素出現率算出手段によって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶する手段と、
    前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割手段と
    を備えたことを特徴とするローマ字変換装置。
  2. 前記要素出現率算出手段によって算出された出現率が最大のパターンが複数存在する場合に、
    前記複数存在するパターンの中で前記組合せパターン取得手段によって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶する手段と
    をさらに備えたことを特徴とする請求項1に記載のローマ字変換装置。
  3. 前記要素分割手段によって分割された要素内の文字を対象として、その中に「OU」が出現する場合は「O」に、「OO」が出現する場合は「O」に、「UU」が出現する場合は「U」に置き換える長音置換手段と、
    前記要素分割手段によって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「NB」が出現する場合は「N」を「M」に、「NM」が出現する場合は「N」を「M」に、「NP」が出現する場合は「N」を「M」に置き換える撥音置換手段と、
    前記要素分割手段によって分割された要素内の文字及び次要素の2番目の文字までを対象として、その中に「CCH」が出現する場合は先頭の「C」を「T」に置き換える促音置換手段と、
    前記長音置換手段、前記撥音置換手段及び前記促音置換手段による置き換え結果後の各要素を結合する要素結合手段と、
    前記要素結合手段によって結合した結果を最終出力結果として記憶する手段と
    をさらに備えたことを特徴とする請求項1ないし2のいずれかに記載のローマ字変換装置。
  4. 前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする請求項1ないし3のいずれかに記載のローマ字変換装置。
  5. ローマ字変換装置を用いて漢字文字列をローマ字に変換するローマ字変換方法において、
    前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得ステップと、
    前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換ステップと、
    前記仮名ローマ字変換ステップによって変換した結果を仮名変換結果として記憶するステップと、
    前記漢字文字列の全ての分割パターンを取得する分割パターン取得ステップと、
    漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得ステップと、
    前記漢字読み取得ステップによって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換ステップと、
    前記漢字ローマ字変換ステップによって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得ステップと、
    前記組合せパターン取得ステップによって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出ステップと、
    前記要素出現率算出ステップによって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶するステップと、
    前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割ステップと
    を実行することを特徴とするローマ字変換方法。
  6. 前記要素出現率算出ステップによって算出された出現率が最大のパターンが複数存在する場合に、
    前記複数存在するパターンの中で前記組合せパターン取得ステップによって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶するステップと
    をさらに実行することを特徴とする請求項5に記載のローマ字変換方法。
  7. 前記要素分割ステップによって分割された要素内の文字を対象として、その中に「OU」が出現する場合は「O」に、「OO」が出現する場合は「O」に、「UU」が出現する場合は「U」に置き換える長音置換ステップと、
    前記要素分割ステップによって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「NB」が出現する場合は「N」を「M」に、「NM」が出現する場合は「N」を「M」に、「NP」が出現する場合は「N」を「M」に置き換える撥音置換ステップと、
    前記要素分割ステップによって分割された要素内の文字及び次要素の2番目の文字までを対象として、その中に「CCH」が出現する場合は先頭の「C」を「T」に置き換える促音置換ステップと、
    前記長音置換ステップ、前記撥音置換ステップ及び前記促音置換ステップによる置き換え結果後の各要素を結合する要素結合ステップと、
    前記要素結合ステップによって結合した結果を最終出力結果として記憶するステップと
    をさらに実行することを特徴とする請求項5ないし6のいずれかに記載のローマ字変換方法。
  8. 前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする請求項5ないし7のいずれかに記載のローマ字変換方法。
  9. コンピュータを漢字文字列をローマ字に変換するローマ字変換装置として機能させるローマ字変換プログラムであって、
    コンピュータに、
    前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得機能と、
    前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換機能と、
    前記仮名ローマ字変換機能によって変換した結果を仮名変換結果として記憶する機能と、
    前記漢字文字列の全ての分割パターンを取得する分割パターン取得機能と、
    漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得機能と、
    前記漢字読み取得機能によって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換機能と、
    前記漢字ローマ字変換機能によって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得機能と、
    前記組合せパターン取得機能によって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出機能と、
    前記要素出現率算出機能によって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶する機能と、
    前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割機能と
    を実現することを特徴とするローマ字変換プログラム。
  10. 前記要素出現率算出機能によって算出された出現率が最大のパターンが複数存在する場合に、
    前記複数存在するパターンの中で前記組合せパターン取得機能によって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶する機能と
    をさらに実現することを特徴とする請求項9に記載のローマ字変換プログラム。
  11. 前記要素分割機能によって分割された要素内の文字を対象として、その中に「OU」が出現する場合は「O」に、「OO」が出現する場合は「O」に、「UU」が出現する場合は「U」に置き換える長音置換機能と、
    前記要素分割機能によって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「NB」が出現する場合は「N」を「M」に、「NM」が出現する場合は「N」を「M」に、「NP」が出現する場合は「N」を「M」に置き換える撥音置換機能と、
    前記要素分割機能によって分割された要素内の文字及び次要素の2番目の文字までを対象として、その中に「CCH」が出現する場合は先頭の「C」を「T」に置き換える促音置換機能と、
    前記長音置換機能、前記撥音置換機能及び前記促音置換機能による置き換え結果後の各要素を結合する要素結合機能と、
    前記要素結合機能によって結合した結果を最終出力結果として記憶する機能と
    をさらに実現することを特徴とする請求項9ないし10のいずれかに記載のローマ字変換プログラム。
  12. 前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする請求項9ないし11のいずれかに記載のローマ字変換プログラム。
JP2008086356A 2008-03-28 2008-03-28 ローマ字変換装置及び方法、ローマ字変換プログラム Pending JP2009238128A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008086356A JP2009238128A (ja) 2008-03-28 2008-03-28 ローマ字変換装置及び方法、ローマ字変換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008086356A JP2009238128A (ja) 2008-03-28 2008-03-28 ローマ字変換装置及び方法、ローマ字変換プログラム

Publications (1)

Publication Number Publication Date
JP2009238128A true JP2009238128A (ja) 2009-10-15

Family

ID=41251945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008086356A Pending JP2009238128A (ja) 2008-03-28 2008-03-28 ローマ字変換装置及び方法、ローマ字変換プログラム

Country Status (1)

Country Link
JP (1) JP2009238128A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014075005A (ja) * 2012-10-03 2014-04-24 Zenrin Datacom Co Ltd 情報処理装置、情報処理方法、及びプログラム
JP2020192747A (ja) * 2019-05-29 2020-12-03 カシオ計算機株式会社 印刷装置、印刷装置の動作方法、及び、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014075005A (ja) * 2012-10-03 2014-04-24 Zenrin Datacom Co Ltd 情報処理装置、情報処理方法、及びプログラム
JP2020192747A (ja) * 2019-05-29 2020-12-03 カシオ計算機株式会社 印刷装置、印刷装置の動作方法、及び、プログラム

Similar Documents

Publication Publication Date Title
CN102298582B (zh) 数据搜索和匹配方法和系统
US7979268B2 (en) String matching method and system and computer-readable recording medium storing the string matching method
JP2008065395A (ja) 翻訳装置、翻訳方法および翻訳プログラム
US10410632B2 (en) Input support apparatus and computer program product
JP2007058509A (ja) 言語処理システム
US10387543B2 (en) Phoneme-to-grapheme mapping systems and methods
KR20090088304A (ko) 단어 인식 방법 및 단어 인식 프로그램
JP2009238128A (ja) ローマ字変換装置及び方法、ローマ字変換プログラム
JP7102710B2 (ja) 情報生成プログラム、単語抽出プログラム、情報処理装置、情報生成方法及び単語抽出方法
JP2009059300A (ja) 訳語学習のためのデータを作成する装置、方法、およびプログラム
KR20120045906A (ko) 코퍼스 오류 교정 장치 및 그 방법
JP2006350989A (ja) 範囲情報抽出装置、範囲情報抽出方法及び範囲情報抽出プログラム
JP2009048351A (ja) 情報検索装置、情報検索方法および情報検索プログラム
JP2011065597A (ja) データ検索装置、データ検索方法及びプログラム
JP5609718B2 (ja) 入力支援プログラム,入力支援装置および入力支援方法
CN112860958B (zh) 一种信息显示方法及装置
JP5742454B2 (ja) 入力支援プログラム、入力支援装置、及び入力支援方法
JP5533576B2 (ja) 情報作成装置、情報作成方法及びプログラム
JP7124358B2 (ja) 出力プログラム、情報処理装置及び出力制御方法
JP7200474B2 (ja) 変換補助装置、変換補助システム、変換補助方法及びコンピュータプログラム
JP6312243B2 (ja) 翻訳装置、翻訳方法及び翻訳プログラム
JP2007140781A (ja) 名義解析装置、名義解析方法及び名義解析プログラム
JP2006072520A (ja) 情報処理装置及びその方法及びそのプログラム記録媒体
JP2013191106A (ja) 入力支援プログラム、入力支援装置、及び入力支援方法
JP2008084132A (ja) 文書検索装置、文書検索方法および文書検索プログラム