(57)【要約】【課題】漢字文字列をローマ字に正確に自動変換するためのローマ字変換装置及び方法、ローマ字変換プログラムを提供する。【解決手段】ローマ字変換装置において、漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する手段と、前記仮名文字列をモーラ毎にローマ字に変換して結果を仮名変換結果として記憶する手段と、前記漢字文字列の全ての分割パターンを取得する手段と、漢字辞書を参照して前記分割パターンに含まれる要素毎に漢字の読みを取得する取得手段と、取得した漢字の読みをモーラ毎にローマ字に変換する手段と、ローマ字の分割要素の全ての組合せパターンを取得する手段と、各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する手段と、出現率が最大のパターンを抽出して漢字変換結果として記憶する手段と、前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する手段とを備える。【選択図】図１
2009238128.tif 000002
【特許請求の範囲】
【請求項１】
漢字文字列をローマ字に変換するローマ字変換装置において、
前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得手段と、
前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換手段と、
前記仮名ローマ字変換手段によって変換した結果を仮名変換結果として記憶する手段と、
前記漢字文字列の全ての分割パターンを取得する分割パターン取得手段と、
漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得手段と、
前記漢字読み取得手段によって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換手段と、
前記漢字ローマ字変換手段によって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得手段と、
前記組合せパターン取得手段によって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出手段と、
前記要素出現率算出手段によって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶する手段と、
前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割手段と
を備えたことを特徴とするローマ字変換装置。
【請求項２】
前記要素出現率算出手段によって算出された出現率が最大のパターンが複数存在する場合に、
前記複数存在するパターンの中で前記組合せパターン取得手段によって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶する手段と
をさらに備えたことを特徴とする請求項１に記載のローマ字変換装置。
【請求項３】
前記要素分割手段によって分割された要素内の文字を対象として、その中に「ＯＵ」が出現する場合は「Ｏ」に、「ＯＯ」が出現する場合は「Ｏ」に、「ＵＵ」が出現する場合は「Ｕ」に置き換える長音置換手段と、
前記要素分割手段によって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「ＮＢ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＭ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＰ」が出現する場合は「Ｎ」を「Ｍ」に置き換える撥音置換手段と、
前記要素分割手段によって分割された要素内の文字及び次要素の２番目の文字までを対象として、その中に「ＣＣＨ」が出現する場合は先頭の「Ｃ」を「Ｔ」に置き換える促音置換手段と、
前記長音置換手段、前記撥音置換手段及び前記促音置換手段による置き換え結果後の各要素を結合する要素結合手段と、
前記要素結合手段によって結合した結果を最終出力結果として記憶する手段と
をさらに備えたことを特徴とする請求項１ないし２のいずれかに記載のローマ字変換装置。
【請求項４】
前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする請求項１ないし３のいずれかに記載のローマ字変換装置。
【請求項５】
ローマ字変換装置を用いて漢字文字列をローマ字に変換するローマ字変換方法において、
前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得ステップと、
前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換ステップと、
前記仮名ローマ字変換ステップによって変換した結果を仮名変換結果として記憶するステップと、
前記漢字文字列の全ての分割パターンを取得する分割パターン取得ステップと、
漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得ステップと、
前記漢字読み取得ステップによって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換ステップと、
前記漢字ローマ字変換ステップによって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得ステップと、
前記組合せパターン取得ステップによって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出ステップと、
前記要素出現率算出ステップによって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶するステップと、
前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割ステップと
を実行することを特徴とするローマ字変換方法。
【請求項６】
前記要素出現率算出ステップによって算出された出現率が最大のパターンが複数存在する場合に、
前記複数存在するパターンの中で前記組合せパターン取得ステップによって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶するステップと
をさらに実行することを特徴とする請求項５に記載のローマ字変換方法。
【請求項７】
前記要素分割ステップによって分割された要素内の文字を対象として、その中に「ＯＵ」が出現する場合は「Ｏ」に、「ＯＯ」が出現する場合は「Ｏ」に、「ＵＵ」が出現する場合は「Ｕ」に置き換える長音置換ステップと、
前記要素分割ステップによって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「ＮＢ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＭ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＰ」が出現する場合は「Ｎ」を「Ｍ」に置き換える撥音置換ステップと、
前記要素分割ステップによって分割された要素内の文字及び次要素の２番目の文字までを対象として、その中に「ＣＣＨ」が出現する場合は先頭の「Ｃ」を「Ｔ」に置き換える促音置換ステップと、
前記長音置換ステップ、前記撥音置換ステップ及び前記促音置換ステップによる置き換え結果後の各要素を結合する要素結合ステップと、
前記要素結合ステップによって結合した結果を最終出力結果として記憶するステップと
をさらに実行することを特徴とする請求項５ないし６のいずれかに記載のローマ字変換方法。
【請求項８】
前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする請求項５ないし７のいずれかに記載のローマ字変換方法。
【請求項９】
コンピュータを漢字文字列をローマ字に変換するローマ字変換装置として機能させるローマ字変換プログラムであって、
コンピュータに、
前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得機能と、
前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換機能と、
前記仮名ローマ字変換機能によって変換した結果を仮名変換結果として記憶する機能と、
前記漢字文字列の全ての分割パターンを取得する分割パターン取得機能と、
漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得機能と、
前記漢字読み取得機能によって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換機能と、
前記漢字ローマ字変換機能によって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得機能と、
前記組合せパターン取得機能によって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出機能と、
前記要素出現率算出機能によって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶する機能と、
前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割機能と
を実現することを特徴とするローマ字変換プログラム。
【請求項１０】
前記要素出現率算出機能によって算出された出現率が最大のパターンが複数存在する場合に、
前記複数存在するパターンの中で前記組合せパターン取得機能によって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶する機能と
をさらに実現することを特徴とする請求項９に記載のローマ字変換プログラム。
【請求項１１】
前記要素分割機能によって分割された要素内の文字を対象として、その中に「ＯＵ」が出現する場合は「Ｏ」に、「ＯＯ」が出現する場合は「Ｏ」に、「ＵＵ」が出現する場合は「Ｕ」に置き換える長音置換機能と、
前記要素分割機能によって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「ＮＢ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＭ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＰ」が出現する場合は「Ｎ」を「Ｍ」に置き換える撥音置換機能と、
前記要素分割機能によって分割された要素内の文字及び次要素の２番目の文字までを対象として、その中に「ＣＣＨ」が出現する場合は先頭の「Ｃ」を「Ｔ」に置き換える促音置換機能と、
前記長音置換機能、前記撥音置換機能及び前記促音置換機能による置き換え結果後の各要素を結合する要素結合機能と、
前記要素結合機能によって結合した結果を最終出力結果として記憶する機能と
をさらに実現することを特徴とする請求項９ないし１０のいずれかに記載のローマ字変換プログラム。
【請求項１２】
前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする請求項９ないし１１のいずれかに記載のローマ字変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、漢字文字列をローマ字に変換するためのローマ字変換装置及び方法、ローマ字変換プログラムに関する。
【背景技術】
【０００２】
ひらがな又はカタカナの仮名文字からなる文字列をローマ字に変換する場合には、
ローマ字と仮名文字が対応付けされている変換テーブルを使って、モーラ毎にローマ字に変換していくことで実現することが一応可能である。
現在、ローマ字の表記方法として、訓令式、ヘボン式などいくつかの表記方式が存在しているが、中でも「外務省ヘボン式」と呼ばれる表記方式は、旅券に氏名を記載する際の表記方式として用いられる以外にも、氏名、名称又は住所などをローマ字で表記する場合の方式として広く利用されている。
この外務省ヘボン式にはいくつかの変則的な変換規則があり、例えば、撥音の「ん」は「Ｎ」で表記するが、Ｂ・Ｍ・Ｐの前では、「ＮＡＭＢＡ（なんば）」のように、「ん」は「Ｍ」で表記する。  
また、促音の「っ」は子音を重ねるが、「ＥＴＣＨＵ（えっちゅう）」のように、ＣＨの前では、「っ」は「Ｔ」で表記する。
特に変則的な変換規則としては、長音を表記する際に「ＯＯ」「ＯＵ」「ＵＵ」のような表記をすることは原則として認められておらず、それぞれ「Ｏ」「Ｏ」「Ｕ」のように省略して表記することとなっていることから、モーラ毎の変換を行なうことが困難なものになっている。
【０００３】
具体例を挙げると、「コウノ（河野）」という姓を「ＫＯＵＮＯ」と綴るのは誤りであり、規則に従うと「ＫＯＮＯ」としなければならない。ただし、「ＯＵ」と表記されるところを無条件に「Ｏ」に置き換えれば良いと言うわけではない。例えば、「イノウエ（井上）」の場合は、無条件に置き換えると「ＩＮＯＥ」になることから、置き換えずに「ＩＮＯＵＥ」のままとしなければならない。
従って、「ＯＵ」の部分が長音の一部として現れているのかどうかを正確に判断した上で綴りを決めなければならず、仮名文字列をモーラ毎にローマ字変換するだけでは正確な変換結果を得ることができない。
このように、仮名文字とローマ字との対応関係を管理する変換テーブルを使うだけの単純な変換処理を行なっていたのでは、フリガナで入力される氏名、名称又は住所を正確なローマ字に変換することはできない。
【０００４】
この点に関して、漢字綴りの氏名とフリガナとの対応関係を管理するとともに、フリガナの各文字毎に、規定のローマ字変換を施す必要があるのか否かを示すフリガナ属性情報を管理する氏名辞書と、氏名辞書を検索することで、入力されるフリガナの指す氏名を検索するとともに、その氏名の持つフリガナ属性情報を取得する検索手段と、検索手段の検索する氏名の中から氏名を１つ選択する選択手段と、選択手段の選択する氏名の持つフリガナ属性情報の指示に従って規定のローマ字変換を施しつつ、入力されるフリガナをローマ字に変換する変換手段とを備えるように構成する氏名入力装置などが提供されている（特許文献１を参照）。
【特許文献１】特開平１１−３３８８５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に示された発明では、漢字綴りの氏名とフリガナとの対応関係を管理するとともに、フリガナの各文字毎に規定のローマ字変換（例えば長音処理）を施す必要があるのか否かということなどを示すフリガナ属性情報を管理する氏名辞書を作成しなければならない。このように、膨大なデータからなる氏名辞書を特別に作成しなければならないことから、その作成に大変な労力や時間がかかり、また作成後の維持管理も大変であるという問題がある。
また、氏名辞書に掲載されていない氏名や氏名以外の住所などについては、正確なローマ字変換ができないという問題もある。
【０００６】
本発明は、かかる課題を解決するために、このような氏名辞書を特別に作成することなく、氏名、名称又は住所などの漢字文字列及び前記漢字文字列に対応する仮名文字列の情報をローマ字に正確に自動変換するためのローマ字変換装置及び方法、ローマ字変換プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために請求項１記載の発明は、漢字文字列をローマ字に変換するローマ字変換装置において、前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得手段と、前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換手段と、前記仮名ローマ字変換手段によって変換した結果を仮名変換結果として記憶する手段と、前記漢字文字列の全ての分割パターンを取得する分割パターン取得手段と、漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得手段と、前記漢字読み取得手段によって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換手段と、前記漢字ローマ字変換手段によって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得手段と、前記組合せパターン取得手段によって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出手段と、前記要素出現率算出手段によって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶する手段と、前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割手段とを備えたことを特徴とする。
【０００８】
請求項２記載の発明は、請求項１に記載のローマ字変換装置であって、前記要素出現率算出手段によって算出された出現率が最大のパターンが複数存在する場合に、前記複数存在するパターンの中で前記組合せパターン取得手段によって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶する手段とをさらに備えたことを特徴とする。
【０００９】
請求項３記載の発明は、請求項１ないし２のいずれかに記載のローマ字変換装置であって、前記要素分割手段によって分割された要素内の文字を対象として、その中に「ＯＵ」が出現する場合は「Ｏ」に、「ＯＯ」が出現する場合は「Ｏ」に、「ＵＵ」が出現する場合は「Ｕ」に置き換える長音置換手段と、前記要素分割手段によって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「ＮＢ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＭ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＰ」が出現する場合は「Ｎ」を「Ｍ」に置き換える撥音置換手段と、前記要素分割手段によって分割された要素内の文字及び次要素の２番目の文字までを対象として、その中に「ＣＣＨ」が出現する場合は先頭の「Ｃ」を「Ｔ」に置き換える促音置換手段と、前記長音置換手段、前記撥音置換手段及び前記促音置換手段による置き換え結果後の各要素を結合する要素結合手段と、前記要素結合手段によって結合した結果を最終出力結果として記憶する手段とをさらに備えたことを特徴とする。
【００１０】
請求項４記載の発明は、請求項１ないし３のいずれかに記載のローマ字変換装置であって、前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする。
【００１１】
請求項５記載の発明は、ローマ字変換装置を用いて漢字文字列をローマ字に変換するローマ字変換方法において、前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得ステップと、前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換ステップと、前記仮名ローマ字変換ステップによって変換した結果を仮名変換結果として記憶するステップと、前記漢字文字列の全ての分割パターンを取得する分割パターン取得ステップと、漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得ステップと、前記漢字読み取得ステップによって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換ステップと、前記漢字ローマ字変換ステップによって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得ステップと、前記組合せパターン取得ステップによって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出ステップと、前記要素出現率算出ステップによって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶するステップと、前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割ステップとを実行することを特徴とする。
【００１２】
請求項６記載の発明は、請求項５に記載のローマ字変換方法であって、前記要素出現率算出ステップによって算出された出現率が最大のパターンが複数存在する場合に、前記複数存在するパターンの中で前記組合せパターン取得ステップによって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶するステップとをさらに実行することを特徴とする。
【００１３】
請求項７記載の発明は、請求項５ないし６のいずれかに記載のローマ字変換方法であって、前記要素分割ステップによって分割された要素内の文字を対象として、その中に「ＯＵ」が出現する場合は「Ｏ」に、「ＯＯ」が出現する場合は「Ｏ」に、「ＵＵ」が出現する場合は「Ｕ」に置き換える長音置換ステップと、前記要素分割ステップによって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「ＮＢ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＭ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＰ」が出現する場合は「Ｎ」を「Ｍ」に置き換える撥音置換ステップと、前記要素分割ステップによって分割された要素内の文字及び次要素の２番目の文字までを対象として、その中に「ＣＣＨ」が出現する場合は先頭の「Ｃ」を「Ｔ」に置き換える促音置換ステップと、前記長音置換ステップ、前記撥音置換ステップ及び前記促音置換ステップによる置き換え結果後の各要素を結合する要素結合ステップと、前記要素結合ステップによって結合した結果を最終出力結果として記憶するステップとをさらに実行することを特徴とする。
【００１４】
請求項８記載の発明は、請求項５ないし７のいずれかに記載のローマ字変換方法であって、前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする。
【００１５】
請求項９記載の発明は、コンピュータを漢字文字列をローマ字に変換するローマ字変換装置として機能させるローマ字変換プログラムであって、
コンピュータに、前記漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する情報取得機能と、前記仮名文字列をモーラ毎にローマ字に変換する仮名ローマ字変換機能と、前記仮名ローマ字変換機能によって変換した結果を仮名変換結果として記憶する機能と、前記漢字文字列の全ての分割パターンを取得する分割パターン取得機能と、漢字辞書を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得する漢字読み取得機能と、前記漢字読み取得機能によって取得した漢字の読みをモーラ毎にローマ字に変換する漢字ローマ字変換機能と、前記漢字ローマ字変換機能によって変換したローマ字の分割要素の全ての組合せパターンを取得する組合せパターン取得機能と、前記組合せパターン取得機能によって取得した各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出する要素出現率算出機能と、前記要素出現率算出機能によって算出された出現率が最大のパターンを抽出して漢字変換結果として記憶する機能と、前記仮名変換結果を前記漢字変換結果の各要素に合致する位置で分割する要素分割機能とを実現することを特徴とする。
【００１６】
請求項１０記載の発明は、請求項９に記載のローマ字変換プログラムであって、前記要素出現率算出機能によって算出された出現率が最大のパターンが複数存在する場合に、前記複数存在するパターンの中で前記組合せパターン取得機能によって取得したパターンの分割要素の数が最大のパターンを漢字変換結果として記憶する機能とをさらに実現することを特徴とする。
【００１７】
請求項１１記載の発明は、請求項９ないし１０のいずれかに記載のローマ字変換プログラムであって、前記要素分割機能によって分割された要素内の文字を対象として、その中に「ＯＵ」が出現する場合は「Ｏ」に、「ＯＯ」が出現する場合は「Ｏ」に、「ＵＵ」が出現する場合は「Ｕ」に置き換える長音置換機能と、前記要素分割機能によって分割された要素内の文字及び次要素の最初の文字までを対象として、その中に「ＮＢ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＭ」が出現する場合は「Ｎ」を「Ｍ」に、「ＮＰ」が出現する場合は「Ｎ」を「Ｍ」に置き換える撥音置換機能と、前記要素分割機能によって分割された要素内の文字及び次要素の２番目の文字までを対象として、その中に「ＣＣＨ」が出現する場合は先頭の「Ｃ」を「Ｔ」に置き換える促音置換機能と、前記長音置換機能、前記撥音置換機能及び前記促音置換機能による置き換え結果後の各要素を結合する要素結合機能と、前記要素結合機能によって結合した結果を最終出力結果として記憶する機能とをさらに実現することを特徴とする。
【００１８】
請求項１２記載の発明は、請求項９ないし１１のいずれかに記載のローマ字変換プログラムであって、前記漢字文字列は、氏名、名称又は住所を表記した文字列であることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、氏名辞書などを特別に作成することなく、一般的な仮名ローマ字変換テーブル及び漢字辞書を使用するだけで、氏名、名称又は住所などの漢字文字列及び前記漢字文字列に対応する仮名文字の情報をローマ字へ正確に自動変換することができるという効果をもたらす。
【発明を実施するための最良の形態】
【００２０】
漢字文字列をローマ字へ正確に自動変換することを可能にするという課題を解決するために、以下のようなローマ字変換装置及び方法、ローマ字変換プログラムを発明した。
【実施例１】
【００２１】
本発明の実施例１について、図面を参照しながら詳細に説明する。図１は、本発明にかかるローマ字変換装置の構成を示すブロック図である。
本発明の実施例１は、情報取得部１、制御部２、出力部３、仮名変換部４、漢字変換部５、要素分割部６、長音等変換部７、仮名ローマ字変換テーブル８、漢字辞書９とから構成される。
【００２２】
情報取得部１は、氏名、名称又は住所などの漢字文字列及び前記漢字文字列に対応する仮名文字列の情報を取得して制御部２へ伝達する。制御部２はローマ字への変換処理等を行ない、その結果を出力部３へ伝達する。出力部３はモニタ等の出力装置である。
【００２３】
仮名変換部４は、仮名ローマ字変換テーブル８を参照しながら、情報取得部１で取得された前記仮名文字列をモーラ毎にローマ字に変換し、その結果を仮名変換結果として記憶する。
【００２４】
漢字変換部５は、仮名ローマ字変換テーブル８及び漢字辞書９を参照しながら、情報取得部１で取得された前記漢字文字列をローマ字に変換し、その結果を漢字変換結果として記憶する。
より詳しく説明すると、前記漢字文字列の全ての分割パターンを取得した後、漢字辞書９を参照して前記分割パターンに含まれる前記漢字文字列を構成する要素毎に読みを取得し、その読みをモーラ毎にローマ字に変換する。そして、変換したローマ字の分割要素の全ての組合せパターンを取得し、各パターンの分割要素が前記仮名変換結果中に出現する率をパターン毎に算出し、その出現率が最大のパターンを抽出して漢字変換結果として記憶する。
なお、その出現率が最大のパターンが複数存在する場合は、その中で分割された要素の数が最大のパターンを抽出して漢字変換結果として記憶する。
【００２５】
要素分割部６は、仮名変換部４でローマ字に変換された仮名変換結果を、漢字変換部５でローマ字に変換された漢字変換結果に基づいて、前記漢字変換結果の各要素に合致する位置で分割する。
【００２６】
長音等変換部７は、要素分割部６において分割された各要素などに、「ＯＵ」「ＯＯ」「ＵＵ」「ＮＢ」「ＮＭ」「ＮＰ」「ＣＣＨ」のいずれかが出現している場合に、各場合に応じた変換処理を行なう。
【００２７】
仮名ローマ字変換テーブル８は、仮名変換部４及び漢字変換部５で使用される変換テーブルであり、図５に示す通り、外務省ヘボン式ローマ字変換規則に基づく仮名文字とローマ字の変換テーブルである。
【００２８】
漢字辞書９は、漢字変換部５で使用される漢字の読みを取得するための辞書であり、漢字のデータに基づいて、その読みが取得できる漢字辞書であれば何でもよい。
【００２９】
次に、本実施例の動作について、図面を参照しながら説明する。図２は、実施例におけるローマ字変換の全体の処理手順を示したフローチャートである。
実施の開始後（ステップＳ１０１）、
変換対象文字列となる漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する（ステップＳ１０２）。
前記仮名文字列を、仮名ローマ字変換テーブル８にしたがってモーラ毎にローマ字に変換する（ステップＳ１０３）。例えば、「イノウエ」ならば、「ＩＮＯＵＥ」と変換する。また、「ッ」は次の仮名文字の子音を重ねて変換する。例えば、「ベップ」ならば「ＢＥＰＰＵ」と変換する。
そして、ステップＳ１０３の結果を仮名変換結果として記憶する（ステップＳ１０４）。
【００３０】
次に、仮名変換結果であるローマ字文字列の中に「ＯＯ」、「ＯＵ」又は「ＵＵ」が出現するかどうかを判断する（ステップＳ１０５）。
もし、「ＯＯ」「ＯＵ」「ＵＵ」のいずれも出現しない場合は、ステップＳ１０５における判断結果は「Ｎｏ」となり、撥音・促音の変換を行ない（ステップＳ１０７）、ステップＳ１１２へ進む。具体的な撥音・促音の変換の処理手順については、後に詳しく説明する。
一方、「ＯＯ」「ＯＵ」「ＵＵ」のいずれかが出現する場合は、ステップＳ１０５における判断結果は「Ｙｅｓ」となり、前記漢字文字列をローマ字に変換する（ステップＳ１０６）。例えば「井上」の場合、「Ｉ，ＵＥ」という結果が得られる。具体的な漢字文字列からローマ字への変換の処理手順については、後に詳しく説明する。
そして、ステップＳ１０６の結果を漢字変換結果として記憶する（ステップＳ１０８）。
【００３１】
前記仮名変換結果を、前記漢字変換結果の各要素に合致する位置で分割する（ステップＳ１０９）。例えば「イノウエ」の場合、前記仮名変換結果である「ＩＮＯＵＥ」を、前記漢字変換結果である「Ｉ，ＵＥ」の各要素、即ち「Ｉ」「ＵＥ」に合致する位置で分割し、結果的に「Ｉ」「ＮＯ」「ＵＥ」の3つの要素を得ることになる。
そして、長音・撥音・促音が含まれている要素について、長音・撥音・促音の変換を行なう（ステップＳ１１０）。具体的な長音・撥音・促音の変換の処理手順については、後に詳しく説明する。
次に、ステップＳ１１０の結果の要素を結合する（ステップＳ１１１）。例えば「イノウエ」の場合、ステップＳ１０９で得られた「Ｉ」「ＮＯ」「ＵＥ」などに長音・撥音・促音が含まれていないことから、各要素の変換結果はステップＳ１１０において変わらないので、結果として「ＩＮＯＵＥ」を得る。
そして、Ｓ１０７又はＳ１１１の結果を最終出力結果として記憶し（ステップＳ１１２）、終了となる（ステップＳ１１３）。
他の具体例として、「佐藤」を例に取ると、仮名変換結果は「ＳＡＴＯＵ」、漢字変換結果は「ＳＡ，ＴＯＵ」となり、仮名変換結果を漢字変換結果の各要素に合致する位置で分割すると「ＳＡ，ＴＯＵ」となる。そして、長音・撥音・促音の変換処理によって「ＳＡ，ＴＯ」となることから、各要素を結合して最終出力結果が「ＳＡＴＯ」となる。
【００３２】
図３は、上記のステップＳ１０６及びステップＳ１０８における漢字文字列をローマ字に変換する処理手順をさらに詳しく示したフローチャートである。
実施の開始後（ステップＳ２０１）、
前記漢字文字列の全ての分割パターンを取得する（ステップＳ２０２）。例えば「井上」の場合、「井，上」（２分割）と「井上」（分割なし）という2通りの結果を得る。
次に、前記分割パターンの各々について、各パターンに含まれる前記漢字文字列を構成する要素毎に、漢字辞書９を参照して読みを取得する（ステップＳ２０３）。例えば、分割パターンが「井，上」ならば「セイ，イ」「ウエ，ジョウ」、分割パターンが「井上」ならば「イノウエ，イガミ」のような結果を得る。
そして、当該結果に含まれる全ての読みを、仮名ローマ字変換テーブル８にしたがってモーラ毎にローマ字に変換する（ステップＳ２０４）。例えば「井，上」ならば「ＳＥＩ，Ｉ」「ＵＥ，ＪＯＵ」、「井上」ならば「ＩＮＯＵＥ，ＩＧＡＭＩ」のような結果を得る。
ローマ字に変換された分割要素の全ての組合せパターンを取得する（ステップＳ２０５）。例えば「井上」の場合、「ＳＥＩ，ＵＥ」「ＳＥＩ，ＪＯＵ」「Ｉ，ＵＥ」「Ｉ，ＪＯＵ」「ＩＮＯＵＥ」「ＩＧＡＭＩ」の各パターンを取得することになる。
次に、各パターンに含まれる分割要素数を算出する（ステップＳ２０６）。例えば、「ＳＥＩ，ＵＥ」「ＳＥＩ，ＪＯＵ」「Ｉ，ＵＥ」「Ｉ，ＪＯＵ」の場合、分割要素数は２となり、「ＩＮＯＵＥ」「ＩＧＡＭＩ」の場合、分割要素数は１となる。
【００３３】
各パターンの内、分割要素数が１のものを破棄する（ステップＳ２０７）。例えば「井上」の場、「ＩＮＯＵＥ」「ＩＧＡＭＩ」は分割要素数が１であるが、これらは分割が行なわれなかった前記漢字文字列をそのまま辞書引きして得られた結果であり、仮名変換結果と本質的に同じになるからである。
次に、前記組合せパターンの各要素が、前記仮名変換結果の中にどの程度出現するかという要素出現率をパターン毎に算出する（ステップＳ２０８）。例えば「井上」の場合、「Ｉ，ＵＥ」パターンは「Ｉ」も「ＵＥ」も仮名変換結果の「ＩＮＯＵＥ」という文字列に含まれるので、要素出現率は１００％である。次いで「ＳＥＩ，ＵＥ」パターンは「ＵＥ」、「Ｉ，ＪＯＵ」パターンは「Ｉ」が含まれるので、要素出現率は５０％である。一方、「ＳＥＩ，ＪＯＵ」パターンは、一致する部分がなく、要素出現率は０％である。
【００３４】
次に、要素出現率が最大のものが複数存在するかどうかを判断する（ステップＳ２０９）。
もし、複数存在しない場合は、ステップＳ２０９における判断結果は「Ｎｏ」となり、ステップＳ２１１へ進む。
【００３５】
一方、要素出現率が最大のものが複数存在する場合は、ステップＳ２０９における判断結果は「Ｙｅｓ」となり、複数存在する要素出現率が最大のパターンの中で分割要素数が最大のパターンを抽出する（ステップＳ２１０）。即ち、分割要素数の多い方の優先度を高くする。これは、漢字を一文字ずつ変換した結果と仮名変換結果とが一致するものが、結果の候補として最もふさわしいという考え方に基づくものである。
例えば、「小売店」の場合、分割パターンとして「ＫＯ，ＵＲＩ，ＴＥＮ」「ＫＯＵＲＩ，ＴＥＮ」などの漢字変換結果が得られる。前者の結果は、漢字を一文字ずつ区切ったときの結果であり、後者の結果は「小売」という単語が漢字辞書に含まれていた場合に得られる結果である。この２つはいずれも「コウリテン」という仮名変換結果である「ＫＯＵＲＩＴＥＮ」の中に各要素が必ず出現するので、ともに要素出現率は１００％であり、要素出現率が最大のものが複数存在する場合に該当する。
この場合、分割要素数が２である「ＫＯＵＲＩ，ＴＥＮ」のパターンではなく、分割要素数が３である「ＫＯ，ＵＲＩ，ＴＥＮ」のパターンの方を採用する。これによって、「小売店」のローマ字変換の結果が最終的に「ＫＯＲＩＴＥＮ」とはならず、正しく「ＫＯＵＲＩＴＥＮ」と変換されることとなる。
【００３６】
そして、得られた結果を漢字変換結果として記憶し（ステップＳ２１１）、終了となる（ステップＳ２１２）。例えば「井上」の場合、「Ｉ，ＵＥ」が要素出現率が最大であって、他に同率のパターンが存在しないことから、最も変換結果として適切であることが判明したので、「Ｉ，ＵＥ」を漢字変換結果として記憶することになる。
なお、ステップＳ２１０の結果、分割要素数が最大のパターンが複数存在する場合は、それらのパターンの中のいずれかを漢字変換結果として記憶する。
【００３７】
図４は、上記のステップＳ１１０又はステップＳ１０７におけるローマ字の長音・撥音・促音部分を変換する処理手順をさらに詳しく示したフローチャートである。
まず、ステップＳ１１０の場合について、説明する。
実施の開始後（ステップＳ３０１）、
ステップＳ１０９において分割した要素内の文字を対象として、その中に「ＯＵ」が出現するかどうかを判断する（ステップＳ３０２）。
もし、「ＯＵ」が出現しない場合は、ステップＳ３０２における判断結果は「Ｎｏ」となり、ステップＳ３０４へ進む。
一方、「ＯＵ」が出現する場合は、ステップＳ３０２における判断結果は「Ｙｅｓ」となり、当該要素に含まれている「ＯＵ」を「Ｏ」に置き換える（ステップＳ３０３）。
次に、ステップＳ１０９において分割した要素内の文字を対象として、その中に「ＯＯ」が出現するかどうかを判断する（ステップＳ３０４）。
もし、「ＯＯ」が出現しない場合は、ステップＳ３０４における判断結果は「Ｎｏ」となり、ステップＳ３０６へ進む。
一方、「ＯＯ」が出現する場合は、ステップＳ３０４における判断結果は「Ｙｅｓ」となり、当該要素に含まれている「ＯＯ」を「Ｏ」に置き換える（ステップＳ３０５）。
次に、ステップＳ１０９において分割した要素内の文字を対象として、その中に「ＵＵ」が出現するかどうかを判断する（ステップＳ３０６）。
もし、「ＵＵ」が出現しない場合は、ステップＳ３０６における判断結果は「Ｎｏ」となり、ステップＳ３０８へ進む。
一方、「ＵＵ」が出現する場合は、ステップＳ３０６における判断結果は「Ｙｅｓ」となり、当該要素に含まれている「ＵＵ」を「Ｕ」に置き換える（ステップＳ３０７）。
【００３８】
次に、ステップＳ１０９において分割した要素内の文字及び次要素の最初の文字までを対象として、その中に「ＮＢ」が出現するかどうかを判断する（ステップＳ３０８）。
もし、「ＮＢ」が出現しない場合は、ステップＳ３０８における判断結果は「Ｎｏ」となり、ステップＳ３１０へ進む。
一方、「ＮＢ」が出現する場合は、ステップＳ３０８における判断結果は「Ｙｅｓ」となり、「ＮＢ」の「Ｎ」を「Ｍ」に置き換える（ステップＳ３０９）。
次に、ステップＳ１０９において分割した要素内の文字及び次要素の最初の文字までを対象として、その中に「ＮＭ」が出現するかどうかを判断する（ステップＳ３１０）。
もし、「ＮＭ」が出現しない場合は、ステップＳ３１０における判断結果は「Ｎｏ」となり、ステップＳ３１２へ進む。
一方、「ＮＭ」が出現する場合は、ステップＳ３１０における判断結果は「Ｙｅｓ」となり、「ＮＭ」の「Ｎ」を「Ｍ」に置き換える（ステップＳ３１１）。
次に、ステップＳ１０９において分割した要素内の文字及び次要素の最初の文字までを対象として、その中に「ＮＰ」が出現するかどうかを判断する（ステップＳ３１２）。
もし、「ＮＰ」が出現しない場合は、ステップＳ３１２における判断結果は「Ｎｏ」となり、ステップＳ３１４へ進む。
一方、「ＮＰ」が出現する場合は、ステップＳ３１２における判断結果は「Ｙｅｓ」となり、「ＮＰ」の「Ｎ」を「Ｍ」に置き換える（ステップＳ３１３）。
【００３９】
次に、ステップＳ１０９において分割した要素内の文字及び次要素の２番目の文字までを対象として、その中に「ＣＣＨ」が出現するかどうかを判断する（ステップＳ３１４）。
もし、「ＣＣＨ」が出現しない場合は、ステップＳ３１４における判断結果は「Ｎｏ」となり、終了となる（ステップＳ３１６）。
一方、「ＣＣＨ」が出現する場合は、ステップＳ３１４における判断結果は「Ｙｅｓ」となり、「ＣＣＨ」の先頭の「Ｃ」を「Ｔ」に置き換えて（ステップＳ３１５）、終了となる（ステップＳ３１６）。
【００４０】
なお、ステップＳ１０７の場合は、その前のステップＳ１０５において「ＯＵ」「ＯＯ」「ＵＵ」の各場合が除かれていることから、ステップＳ３０２からステップＳ３０７までの各ステップはスキップされる。さらに、変換対象は、分割した要素ではなく、常にステップＳ１０４において記憶された仮名変換結果である。
【００４１】
本発明に係るローマ字への変換の具体例について、いくつか説明する。
例えば「小内」と「高知」の場合、どちらも仮名文字列は「コウチ」という点では共通しているが、ローマ字への変換後は「ＫＯＵＣＨＩ」と「ＫＯＣＨＩ」となるのが正しく相違している。
より詳しく見て行くと、ステップＳ１０４における仮名変換結果はどちらも「ＫＯＵＣＨＩ」となる。
そして、ステップＳ１０８における漢字変換結果は、「小内」の場合は「ＫＯ，ＵＣＨＩ」となり、「高知」の場合は「ＫＯＵ，ＣＨＩ」となる。
従って、ステップＳ１０９において、仮名変換結果を漢字変換結果の各要素に合致する位置で分割すると「小内」の場合は「ＫＯ」「ＵＣＨＩ」となり、「高知」の場合は「ＫＯＵ」「ＣＨＩ」となる。
よって、「高知」の場合はステップＳ１１０において長音の変換処理が行なわれて「ＫＯ」「ＣＨＩ」となることから、ステップＳ１１２における最終出力結果は、「小内」の場合は「ＫＯＵＣＨＩ」となり、「高知」の場合は「ＫＯＣＨＩ」となる。
【００４２】
他の具体例として「大内」の場合を見てみると、ステップＳ１０４における仮名変換結果は「ＯＯＵＣＨＩ」となる。
そして、ステップＳ１０８における漢字変換結果は、「ＯＯ，ＵＣＨＩ」となる。
従って、ステップＳ１０９において、仮名変換結果を漢字変換結果の各要素に合致する位置で分割すると「ＯＯ」「ＵＣＨＩ」となる。
よって、ステップＳ１１０において長音の変換処理が行なわれて「Ｏ」「ＵＣＨＩ」となることから、ステップＳ１１２における最終出力結果は正しく「ＯＵＣＨＩ」となる。
【００４３】
なお、本発明の目的は、上記の実施例１の機能を実現するソフトウェアのプログラムを記録した記憶媒体を、システム又は装置に供給し、そのシステム又は装置のコンピュータが記憶媒体に記録されたソフトウェアのプログラムを読出し実行することによっても達成される。
【００４４】
この場合、記憶媒体から読出されたプログラム自体が本発明の新規な機能を実現することになり、当該プログラムを記憶した記憶媒体は本発明を構成することになる。
【００４５】
ソフトウェアのプログラムを記録するための記憶媒体としては、例えば、ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００４６】
また、システム又は装置のコンピュータが読出したプログラムを実行することにより、上記の機能が実現されるだけでなく、当該プログラムの指示に基づいて、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行ない、その処理によって上記の機能が実現される場合も含まれる。
【００４７】
さらに、記憶媒体から読出されたプログラムが、システム又は装置のコンピュータに挿入された機能拡張用のボードやコンピュータに接続された機能拡張用のユニットに備えられたメモリに書込まれた後、当該プログラムの指示に基づき、その機能拡張用のボードやユニットに備えられたＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって上記の機能が実現される場合も含まれる。
【実施例２】
【００４８】
本実施例は、実施例１で説明したステップＳ１０５の仮名変換結果であるローマ字文字列の中に「ＯＯ」、「ＯＵ」又は「ＵＵ」が出現するかどうかを判断するステップがない点で実施例1と異なる。本実施例は、実施例１におけるステップＳ１０５及びステップＳ１０７に対応する処理をしなくても、本発明にかかる正確なローマ字変換が可能であることを示している。
【００４９】
以下，本発明の実施例２について、図面を参照しながら詳細に説明する。図６は，本実施例におけるローマ字変換の全体の処理手順を示したフローチャートである。
実施の開始後（ステップＳ４０１）、
変換対象文字列となる漢字文字列及び前記漢字文字列に対応した仮名文字列の情報を取得する（ステップＳ４０２）。
前記仮名文字列を、仮名ローマ字変換テーブル８にしたがってモーラ毎にローマ字に変換する（ステップＳ４０３）。例えば、「ホンマ」ならば、「ＨＯＮＭＡ」と変換される。
そして、ステップＳ４０３の結果を仮名変換結果として記憶する（ステップＳ４０４）。
【００５０】
前記漢字文字列をローマ字に変換する（ステップＳ４０５）。例えば「本間」の場合、「ＨＯＮ，ＭＡ」という結果が得られる。具体的な漢字文字列からローマ字への変換の処理手順については、既に実施例１において図３などにより説明した通りなので、説明を省略する。
そして、ステップＳ４０５の結果を漢字変換結果として記憶する（ステップＳ４０６）。
【００５１】
前記仮名変換結果を、前記漢字変換結果の各要素に合致する位置で分割する（ステップＳ４０７）。例えば「ホンマ」の場合、前記仮名変換結果である「ＨＯＮＭＡ」を、前記漢字変換結果であるである「ＨＯＮ，ＭＡ」の各要素、即ち「ＨＯＮ」「ＭＡ」に合致する位置で分割し、結果的に「ＨＯＮ」「ＭＡ」の２つの要素を得ることになる。
そして、長音・撥音・促音が含まれている要素について、長音・撥音・促音の変換を行なう（ステップＳ４０８）。例えば、「ＨＯＮ」「ＭＡ」の場合は、「ＨＯＭ」「ＭＡ」となる。具体的な長音・撥音・促音の変換の処理手順については、既に実施例１において図４などにより説明した通りなので、説明を省略する。
ステップＳ４０８の結果の要素を結合する（ステップＳ４０９）。
そして、ステップＳ４０９の結果を最終出力結果として記憶し（ステップＳ４１０）、終了となる（ステップＳ４１１）。例えば「ホンマ」の場合は、「ＨＯＭ」「ＭＡ」の各要素を結合して、最終出力結果として正しく「ＨＯＭＭＡ」を得ることができる。
【図面の簡単な説明】
【００５２】
【図１】本発明にかかるローマ字変換装置の構成を示すブロック図である。
【図２】実施例１におけるローマ字変換の全体の処理手順を示したフローチャートである。
【図３】漢字文字列をローマ字に変換する処理手順を示したフローチャートである。
【図４】ローマ字の長音・撥音・促音部分を変換する処理手順を示したフローチャートである。
【図５】ヘボン式の仮名ローマ字変換テーブルの説明図である。
【図６】実施例２におけるローマ字変換の全体の処理手順を示したフローチャートである。
【符号の説明】
【００５３】
１  情報取得部
２  制御部
３  出力部
４  仮名変換部
５  漢字変換部
６  要素分割部
７  長音等変換部
８  仮名ローマ字変換テーブル
９  漢字辞書
【図１】
2009238128.tif 000003
【図２】
2009238128.tif 000004
【図３】
2009238128.tif 000005
【図４】
2009238128.tif 000006
【図５】
2009238128.tif 000007
【図６】
2009238128.tif 000008