(57)【特許請求の範囲】
【請求項１】
第１言語からなる翻訳対象文字列を形態素ごとに第２言語に翻訳する翻訳システムであって、
前記翻訳対象文字列から形態素を含む文字列を副文字列として取得する副文字列取得手段と、
前記第１言語からなる異なる複数のキー形態素について、当該キー形態素、当該キー形態素の品詞、当該キー形態素を前記第２言語に翻訳した場合に得られる訳語、及び、所定の文書における当該キー形態素又は当該訳語の出現頻度を対応づけて記憶する翻訳情報記憶手段から、前記副文字列取得手段で取得した副文字列と完全一致する前記キー形態素を検索する第１キー形態素検索手段と、
前記第１キー形態素検索手段で索出したキー形態素に対応する前記訳語を前記翻訳情報記憶手段から取得する第１訳語取得手段と、
前記第１訳語取得手段で取得した訳語を、前記副文字列取得手段で取得した副文字列の訳語として出力する訳語出力手段と、
前記第１キー形態素検索手段で索出したキー形態素に対応する前記品詞に基づいて当該キー形態素のすべての品詞活用を生成する品詞活用生成手段と、
前記品詞活用生成手段で生成した品詞活用に基づいて、前記翻訳対象文字列における、前記副文字列取得手段で取得した副文字列以後の文字列と一致する最も長い品詞活用を前記翻訳対象文字列から検索する品詞活用検索手段と、
前記品詞活用検索手段で索出した品詞活用を出力する品詞活用出力手段とを備えることを特徴とする翻訳システム。
【請求項２】
第１言語からなる翻訳対象文字列を形態素ごとに第２言語に翻訳する処理を実行させるための翻訳プログラムであって、
前記翻訳対象文字列から形態素を含む文字列を副文字列として取得する副文字列取得ステップと、
前記第１言語からなる異なる複数のキー形態素について、当該キー形態素、当該キー形態素の品詞、当該キー形態素を前記第２言語に翻訳した場合に得られる訳語、及び、所定の文書における当該キー形態素又は当該訳語の出現頻度を対応づけて記憶する翻訳情報記憶手段から、前記副文字列取得ステップで取得した副文字列と完全一致する前記キー形態素を検索する第１キー形態素検索ステップと、
前記第１キー形態素検索ステップで索出したキー形態素に対応する前記訳語を前記翻訳情報記憶手段から取得する第１訳語取得ステップと、
前記第１訳語取得ステップで取得した訳語を、前記副文字列取得ステップで取得した副文字列の訳語として出力する訳語出力ステップと、
前記第１キー形態素検索ステップで索出したキー形態素に対応する前記品詞に基づいて当該キー形態素のすべての品詞活用を生成する品詞活用生成ステップと、
前記品詞活用生成ステップで生成した品詞活用に基づいて、前記翻訳対象文字列における、前記副文字列取得ステップで取得した副文字列以後の文字列と一致する最も長い品詞活用を前記翻訳対象文字列から検索する品詞活用検索ステップと、
前記品詞活用検索ステップで索出した品詞活用を出力する品詞活用出力ステップとを含む処理をコンピュータに実行させるためのプログラムであることを特徴とする翻訳プログラム。
【請求項３】
第１言語からなる翻訳対象文字列を形態素ごとに第２言語に翻訳する翻訳方法であって、
副文字列取得手段が、前記翻訳対象文字列から形態素を含む文字列を副文字列として取得する副文字列取得ステップと、
第１キー形態素検索手段が、前記第１言語からなる異なる複数のキー形態素について、当該キー形態素、当該キー形態素の品詞、当該キー形態素を前記第２言語に翻訳した場合に得られる訳語、及び、所定の文書における当該キー形態素又は当該訳語の出現頻度を対応づけて記憶する翻訳情報記憶手段から、前記副文字列取得ステップで取得した副文字列と完全一致する前記キー形態素を検索する第１キー形態素検索ステップと、
第１訳語取得手段が、前記第１キー形態素検索ステップで索出したキー形態素に対応する前記訳語を前記翻訳情報記憶手段から取得する第１訳語取得ステップと、
訳語出力手段が、前記第１訳語取得ステップで取得した訳語を、前記副文字列取得ステップで取得した副文字列の訳語として出力する訳語出力ステップと、
品詞活用生成手段が、前記第１キー形態素検索ステップで索出したキー形態素に対応する前記品詞に基づいて当該キー形態素のすべての品詞活用を生成する品詞活用生成ステップと、
品詞活用検索手段が、前記品詞活用生成ステップで生成した品詞活用に基づいて、前記翻訳対象文字列における、前記副文字列取得ステップで取得した副文字列以後の文字列と一致する最も長い品詞活用を前記翻訳対象文字列から検索する品詞活用検索ステップと、
品詞活用出力手段が、前記品詞活用検索ステップで索出した品詞活用を出力する品詞活用出力ステップとを含むことを特徴とする翻訳方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１言語からなる翻訳対象文字列を形態素ごとに第２言語に翻訳するシステム及びプログラム並びに方法に係り、特に、使用メモリ容量及び処理負荷を低減するのに好適な翻訳システム及び翻訳プログラム、並びに翻訳方法に関する。
【背景技術】
【０００２】
従来、テキスト翻訳のアプリケーションとして、例えば、非特許文献１、２記載の技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【非特許文献１】“Google Translate for Android”、［online］、平成２５年５月８日、Google Inc.、［平成２５年６月７日検索］、インターネット＜URL：https://play.google.com/store/apps/details?id=com.google.android.apps.translate&hl=ja＞
【非特許文献２】“ABBYY TextGrabber + Translator”、［online］、平成２５年６月３日、ABBYY Software House、［平成２５年６月７日検索］、インターネット＜URL：https://play.google.com/store/apps/details?id=com.abbyy.mobile.textgrabber.full&hl=ja＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１、２記載の技術は、多数の言語に対応するために言語ごとにライブラリ（辞書）を利用する必要があるので、モバイル機器において大量のメモリ領域を使用するという問題があった。また、高い翻訳精度を実現するために複雑なアルゴリズムを採用しているので、モバイル機器への処理負荷が大きいという問題もあった。近年、モバイル機器の性能が向上してきたとはいえ、まだまだメモリ容量や処理性能が十分であるとはいえないので、特にモバイル機器において上記問題は顕著である。
【０００５】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、使用メモリ容量及び処理負荷を低減するのに好適な翻訳システム及び翻訳プログラム、並びに翻訳方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
〔発明１〕  上記目的を達成するために、発明１の翻訳システムは、第１言語からなる翻訳対象文字列を形態素ごとに第２言語に翻訳する翻訳システムであって、前記翻訳対象文字列から形態素を取得する形態素取得手段と、前記第１言語からなる異なる複数のキー形態素について、当該キー形態素、当該キー形態素を前記第２言語に翻訳した場合に得られる訳語、及び、所定の文書における当該キー形態素又は当該訳語の出現頻度を対応づけて記憶する翻訳情報記憶手段から、前記形態素取得手段で取得した形態素と完全一致する前記キー形態素を検索する第１キー形態素検索手段と、前記第１キー形態素検索手段で前記キー形態素を索出した場合は、索出したキー形態素に対応する前記訳語を前記翻訳情報記憶手段から取得する第１訳語取得手段と、前記第１キー形態素検索手段で前記キー形態素を索出しない場合は、前記形態素取得手段で取得した形態素を含む前記キー形態素を前記翻訳情報記憶手段から検索する第２キー形態素検索手段と、前記第２キー形態素検索手段で複数の前記キー形態素を索出した場合は、索出した複数の前記キー形態素のうち前記出現頻度が最も高い前記キー形態素に対応する前記訳語を前記翻訳情報記憶手段から取得する第２訳語取得手段と、前記第１訳語取得手段又は前記第２訳語取得手段で取得した訳語を、前記形態素取得手段で取得した形態素の訳語として出力する訳語出力手段とを備える。
【０００７】
このような構成であれば、形態素取得手段により、翻訳対象文字列から形態素が取得され、第１キー形態素検索手段により、取得された形態素と完全一致するキー形態素が翻訳情報記憶手段から検索される。ここで、キー形態素が索出された場合は、第１訳語取得手段により、索出された形態素に対応する訳語が翻訳情報記憶手段から取得される。そして、訳語出力手段により、取得された訳語が、取得された形態素の訳語として出力される。
【０００８】
これに対し、キー形態素が索出されない場合は、第２キー形態素検索手段により、取得された形態素を含むキー形態素が翻訳情報記憶手段から検索される。ここで、複数のキー形態素が索出された場合は、第２訳語取得手段により、索出された複数のキー形態素のうち出現頻度が最も高いキー形態素に対応する訳語が翻訳情報記憶手段から取得される。そして、訳語出力手段により、取得された訳語が、取得された形態素の訳語として出力される。
【０００９】
ここで、訳語出力手段は、例えば、表示、印刷、音声出力、記憶装置や記憶媒体等への書き出し、外部の端末等への送信、バイブレーション等の振動、発熱その他の方法により訳語を出力することができる。したがって、出力には、少なくとも表示、印刷、音声出力、書き出し（ファイルの生成を含む。）、送信、振動及び発熱が含まれる。以下、出力の概念については同じである。
【００１０】
また、キー形態素、訳語及び出現頻度を対応づけて記憶することとしては、（１）例えば、キー形態素、訳語及び出現頻度を同一のレコードに登録するなど、直接対応づけて記憶すること、（２）例えば、キー形態素及び中間情報を対応づけて登録するテーブルと、訳語、出現頻度及び中間情報を対応づけて登録するテーブルを設けるなど、中間に１又は複数の情報を介して記憶することが含まれる。すなわち、キー形態素から訳語又は出現頻度を辿ることができる態様であれば、あらゆるデータ構造を採用することができる。以下、情報を対応づけて記憶する概念については同じである。
【００１１】
また、翻訳情報記憶手段は、キー形態素、訳語及び出現頻度をあらゆる手段で且つあらゆる時期に記憶するものであり、キー形態素、訳語及び出現頻度を予め記憶してあるものであってもよいし、キー形態素、訳語及び出現頻度を予め記憶することなく、本システムの動作時に外部からの入力等によってキー形態素、訳語及び出現頻度を記憶するようになっていてもよい。
【００１２】
また、本システムは、単一の装置、端末その他の機器として実現するようにしてもよいし、複数の装置、端末その他の機器を通信可能に接続したネットワークシステムとして実現するようにしてもよい。後者の場合、各構成要素は、それぞれ通信可能に接続されていれば、複数の機器等のうちいずれに属していてもよい。以下、発明２の翻訳システムにおいて同じである。
【００１３】
〔発明２〕  さらに、発明２の翻訳システムは、第１言語からなる翻訳対象文字列を形態素ごとに第２言語に翻訳する翻訳システムであって、前記翻訳対象文字列から形態素を取得する形態素取得手段と、前記第１言語からなる異なる複数のキー形態素について、当該キー形態素、当該キー形態素を前記第２言語に翻訳した場合に得られる複数の訳語のうち訳語の候補として最も推奨すべき最適訳語、前記複数の訳語のうち前記最適訳語以外の次候補訳語、及び、所定の文書における当該キー形態素又は当該最適訳語の出現頻度を対応づけて記憶する翻訳情報記憶手段から、前記形態素取得手段で取得した形態素と完全一致する前記キー形態素を検索する第１キー形態素検索手段と、前記第１キー形態素検索手段で前記キー形態素を索出した場合は、索出したキー形態素に対応する前記最適訳語を前記翻訳情報記憶手段から取得する第１訳語取得手段と、前記第１キー形態素検索手段で前記キー形態素を索出しない場合は、前記形態素取得手段で取得した形態素を含む前記キー形態素を前記翻訳情報記憶手段から検索する第２キー形態素検索手段と、前記第２キー形態素検索手段で複数の前記キー形態素を索出した場合は、索出した複数の前記キー形態素のうち前記出現頻度が最も高い前記キー形態素に対応する前記最適訳語を前記翻訳情報記憶手段から取得する第２訳語取得手段と、前記第１訳語取得手段又は前記第２訳語取得手段で取得した最適訳語を、前記形態素取得手段で取得した形態素の訳語として出力する訳語出力手段と、前記第１訳語取得手段又は前記第２訳語取得手段で取得した最適訳語のうち指定された最適訳語について、当該最適訳語に対応する前記次候補訳語を出力する次候補訳語出力手段と、前記次候補訳語出力手段で出力された次候補訳語のなかからいずれかを選択する次候補訳語選択手段と、前記指定された最適訳語を、前記次候補訳語選択手段で選択された次候補訳語に変更する訳語変更手段とを備える。
【００１４】
このような構成であれば、形態素取得手段により、翻訳対象文字列から形態素が取得され、第１キー形態素検索手段により、取得された形態素と完全一致するキー形態素が翻訳情報記憶手段から検索される。ここで、キー形態素が索出された場合は、第１訳語取得手段により、索出された形態素に対応する最適訳語が翻訳情報記憶手段から取得される。そして、訳語出力手段により、取得された最適訳語が、取得された形態素の訳語として出力される。
【００１５】
これに対し、キー形態素が索出されない場合は、第２キー形態素検索手段により、取得された形態素を含むキー形態素が翻訳情報記憶手段から検索される。ここで、複数のキー形態素が索出された場合は、第２訳語取得手段により、索出された複数のキー形態素のうち出現頻度が最も高いキー形態素に対応する最適訳語が翻訳情報記憶手段から取得される。そして、訳語出力手段により、取得された最適訳語が、取得された形態素の訳語として出力される。
【００１６】
また、取得された最適訳語のなかからいずれかが指定されると、次候補訳語出力手段により、指定された最適訳語に対応する次候補訳語が出力される。そして、次候補訳語選択手段により、出力された次候補訳語のなかからいずれかが選択されると、訳語変更手段により、指定された最適訳語が、選択された次候補訳語に変更される。
【００１７】
ここで、翻訳情報記憶手段は、キー形態素、最適訳語、次候補訳語及び出現頻度をあらゆる手段で且つあらゆる時期に記憶するものであり、キー形態素、最適訳語、次候補訳語及び出現頻度を予め記憶してあるものであってもよいし、キー形態素、最適訳語、次候補訳語及び出現頻度を予め記憶することなく、本システムの動作時に外部からの入力等によってキー形態素、最適訳語、次候補訳語及び出現頻度を記憶するようになっていてもよい。
【００１８】
〔発明３〕  さらに、発明３の翻訳システムは、発明２の翻訳システムにおいて、前記翻訳情報記憶手段は、異なる複数の前記キー形態素について、当該キー形態素、当該キー形態素の品詞、前記最適訳語、前記次候補訳語及び前記出現頻度を対応づけて記憶し、前記第１キー形態素検索手段で索出したキー形態素に対応する前記品詞に基づいて当該キー形態素のすべての品詞活用を生成する品詞活用生成手段と、前記品詞活用生成手段で生成した品詞活用に基づいて、前記翻訳対象文字列における、前記形態素取得手段で取得した形態素以後の文字列と一致する品詞活用を前記翻訳対象文字列から検索する品詞活用検索手段と、前記品詞活用検索手段で索出した品詞活用を出力する品詞活用出力手段とを備える。
【００１９】
このような構成であれば、品詞活用生成手段により、索出されたキー形態素に対応する品詞に基づいてそのキー形態素のすべての品詞活用が生成され、品詞活用検索手段により、生成された品詞活用のなかから、翻訳対象文字列における、取得された形態素以後の文字列と一致する品詞活用が翻訳対象文字列から検索される。そして、品詞活用出力手段により、索出された品詞活用が出力される。
【００２０】
ここで、翻訳情報記憶手段は、キー形態素の品詞をあらゆる手段で且つあらゆる時期に記憶するものであり、キー形態素の品詞を予め記憶してあるものであってもよいし、キー形態素の品詞を予め記憶することなく、本システムの動作時に外部からの入力等によってキー形態素の品詞を記憶するようになっていてもよい。
【００２１】
〔発明４〕  一方、上記目的を達成するために、発明４の翻訳プログラムは、第１言語からなる翻訳対象文字列を形態素ごとに第２言語に翻訳する処理を実行させるための翻訳プログラムであって、前記翻訳対象文字列から形態素を取得する形態素取得ステップと、前記第１言語からなる異なる複数のキー形態素について、当該キー形態素、当該キー形態素を前記第２言語に翻訳した場合に得られる訳語、及び、所定の文書における当該キー形態素又は当該訳語の出現頻度を対応づけて記憶する翻訳情報記憶手段から、前記形態素取得ステップで取得した形態素と完全一致する前記キー形態素を検索する第１キー形態素検索ステップと、前記第１キー形態素検索ステップで前記キー形態素を索出した場合は、索出したキー形態素に対応する前記訳語を前記翻訳情報記憶手段から取得する第１訳語取得ステップと、前記第１キー形態素検索ステップで前記キー形態素を索出しない場合は、前記形態素取得ステップで取得した形態素を含む前記キー形態素を前記翻訳情報記憶手段から検索する第２キー形態素検索ステップと、前記第２キー形態素検索ステップで複数の前記キー形態素を索出した場合は、索出した複数の前記キー形態素のうち前記出現頻度が最も高い前記キー形態素に対応する前記訳語を前記翻訳情報記憶手段から取得する第２訳語取得ステップと、前記第１訳語取得ステップ又は前記第２訳語取得ステップで取得した訳語を、前記形態素取得ステップで取得した形態素の訳語として出力する訳語出力ステップとを含む処理をコンピュータに実行させるためのプログラムである。
【００２２】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、発明１の翻訳システムと同等の作用が得られる。
【００２３】
〔発明５〕  一方、上記目的を達成するために、発明５の翻訳方法は、第１言語からなる翻訳対象文字列を形態素ごとに第２言語に翻訳する翻訳方法であって、形態素取得手段が、前記翻訳対象文字列から形態素を取得する形態素取得ステップと、第１キー形態素検索手段が、前記第１言語からなる異なる複数のキー形態素について、当該キー形態素、当該キー形態素を前記第２言語に翻訳した場合に得られる訳語、及び、所定の文書における当該キー形態素又は当該訳語の出現頻度を対応づけて記憶する翻訳情報記憶手段から、前記形態素取得ステップで取得した形態素と完全一致する前記キー形態素を検索する第１キー形態素検索ステップと、第１訳語取得手段が、前記第１キー形態素検索ステップで前記キー形態素を索出した場合は、索出したキー形態素に対応する前記訳語を前記翻訳情報記憶手段から取得する第１訳語取得ステップと、第２キー形態素検索手段が、前記第１キー形態素検索ステップで前記キー形態素を索出しない場合は、前記形態素取得ステップで取得した形態素を含む前記キー形態素を前記翻訳情報記憶手段から検索する第２キー形態素検索ステップと、第２訳語取得手段が、前記第２キー形態素検索ステップで複数の前記キー形態素を索出した場合は、索出した複数の前記キー形態素のうち前記出現頻度が最も高い前記キー形態素に対応する前記訳語を前記翻訳情報記憶手段から取得する第２訳語取得ステップと、訳語出力手段が、前記第１訳語取得ステップ又は前記第２訳語取得ステップで取得した訳語を、前記形態素取得ステップで取得した形態素の訳語として出力する訳語出力ステップとを含む。
【発明の効果】
【００２４】
以上説明したように、発明１の翻訳システム、発明４の翻訳プログラム、又は発明５の翻訳方法によれば、キー形態素、訳語及び出現頻度を対応づけて記憶する翻訳情報記憶手段があれば足りるので、多数のライブラリを利用する必要がなく、従来に比して、使用メモリ容量を低減することができる。また、翻訳対象文字列を形態素ごとに第２言語に翻訳するという簡易なアルゴリズムであるので、従来に比して、処理負荷を低減することができる。さらに、第１キー形態素検索手段及び第１訳語取得手段による訳語変換に加え、キー形態素又は訳語の出現頻度を考慮した第２キー形態素検索手段及び第２訳語取得手段による訳語変換を行うので、簡易なアルゴリズムを採用しつつも一定の翻訳精度を確保することができる。
【００２５】
さらに、発明２の翻訳システムによれば、キー形態素、最適訳語、次候補訳語及び出現頻度を対応づけて記憶する翻訳情報記憶手段があれば足りるので、多数のライブラリを利用する必要がなく、従来に比して、使用メモリ容量を低減することができる。また、翻訳対象文字列を形態素ごとに第２言語に翻訳するという簡易なアルゴリズムであるので、従来に比して、処理負荷を低減することができる。さらに、第１キー形態素検索手段及び第１訳語取得手段による訳語変換に加え、キー形態素又は最適訳語の出現頻度を考慮した第２キー形態素検索手段及び第２訳語取得手段による訳語変換を行うので、簡易なアルゴリズムを採用しつつも一定の翻訳精度を確保することができる。さらに、最適訳語を次候補訳語に変更することができるので、ユーザビリティを向上することができる。
【００２６】
さらに、発明３の翻訳システムによれば、翻訳対象文字列における形態素の品詞活用が得られるので、翻訳精度を向上することができる。
【図面の簡単な説明】
【００２７】
【図１】モバイル機器１００の外観構成を示す図である。
【図２】モバイル機器１００の機能ブロック図である。
【図３】翻訳情報テーブル４００のデータ構造を示す図である。
【図４】漢字修正情報テーブル４２０のデータ構造を示す図である。
【図５】撮影翻訳処理を示すフローチャートである。
【図６】形態素翻訳処理を示すフローチャートである。
【図７】類似キー形態素検索処理を示すフローチャートである。
【図８】翻訳対象文字列を翻訳する動作を示すシーケンスチャートである。
【図９】翻訳対象文字列を翻訳する動作を示すシーケンスチャートである。
【図１０】最適訳語を次候補訳語に変更する画面である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態を説明する。図１乃至図１０は、本実施の形態を示す図である。
【００２９】
本実施の形態は、日本語からなる翻訳対象文字列を形態素ごとに英語に翻訳する場合を示す。例えば、「外国人は日本の料理が大好きです。」という翻訳対象文字列は、「foreigner」「(object)」「Japan」「"'s"」「cooking」「(subject)」「favourite (is)」と翻訳される。このように形態素ごとに翻訳するという簡易なアルゴリズムを採用することにより処理負荷を低減する。
【００３０】
まず、本実施の形態に係るモバイル機器１００の構成を説明する。
図１は、モバイル機器１００の外観構成を示す図である。同図（ａ）は、モバイル機器１００の正面図であり、同図（ｂ）は、モバイル機器１００の側面図である。
【００３１】
図２は、モバイル機器１００の機能ブロック図である。
モバイル機器１００は、図１に示すように、正面及び背面を含むキャビネット１０を有して構成されている。キャビネット１０の正面には、タッチパネル２１が設けられている。タッチパネル２１は、画像を表示する表示部２８と、表示部２８に重ねられる検出部２９とを有して構成されている。
【００３２】
表示部２８は、液晶パネルと、液晶パネルを照明するパネルバックライトとを有して構成されている。液晶パネルは、画像を表示するための表示面２８ａを有し、表示面２８ａが外部に現れる。表示面２８ａの上に検出部２９が設けられている。なお、液晶パネルに代えて、有機ＥＬ（Electro Luminescence）パネルその他の表示素子を用いることもできる。
【００３３】
検出部２９は、タッチセンサ等からなり、透明なシート状に形成される。検出部２９を透して表示面２８ａを見ることができる。検出部２９は、マトリクス状に設けられた第１透明電極、第２透明電極及びカバーを有して構成されている。検出部２９は、第１透明電極と第２透明電極との間の静電容量の変化を検出することにより、ユーザが触れた表示面２８ａ上の位置（以下、「入力位置」という。）を検出し、その入力位置に応じた位置信号を制御部２７に出力する。なお、検出部２９は、静電容量式に限らず、超音波式、感圧式、抵抗膜式又は光検知式等を用いることもできる。
【００３４】
なお、ユーザが表示面２８ａに触れるとは、ユーザが指又はペン等の接触部材（以下、単に「指」という。）により表示面２８ａをタッチ、スライド、タップ、フリック等の操作をすることである。また、表示面２８ａに触れるとは、実際には、検出部２９を覆うカバーの表面における表示面２８ａの画像が映る領域を触れることである。「スライド」とは、ユーザが表示面２８ａに指を接触したまま動かす操作をいう。「タップ」とは、ユーザが指で表示面２８ａを軽く叩くように、表示面２８ａ上のある箇所に指をタッチさせ、そして短時間のうちにリリースする操作である。「フリック」とは、ユーザが指により表示面２８ａを素早く弾くような操作であり、表示面２８ａに指を接触したまま、短時間に所定距離以上指を動かし、リリースする操作をいう。「ピンチアウト」とは、ユーザが２本の指で表示面２８ａをタッチし、表示面２８ａに指を接触したまま指を広げる操作をいう。「ピンチイン」とは、ユーザが２本の指で表示面２８ａをタッチし、表示面２８ａに指を接触したまま指を狭める操作をいう。
【００３５】
キャビネット１０の正面には、マイク１１及びスピーカ１２が設けられている。ユーザは、スピーカ１２からの音声を耳で捉え、マイク１１に対して音声を発することにより通話を行うことができる。
【００３６】
キャビネット１０の背面には、撮影部２４のレンズ窓（不図示）が設けられている。レンズ窓から被写体の画像が撮影部２４に取り込まれる。
【００３７】
モバイル機器１００は、図２に示すように、タッチパネル２１、通信部２２、位置情報取得部２３、撮影部２４、記憶部２５、出力部２６及び制御部２７を有して構成されている。
【００３８】
表示部２８は、制御部２７の制御に従って、ユーザの操作に利用されるＧＵＩ（Graphical User Interface）等を表示する。検出部２９は、入力位置を示す座標情報を制御部２７に出力する。テキストを入力する場合は、例えば、テキストボックス等をタップすると、キーボード画像（ＧＵＩ）が表示部２８に表示され、キーボード画像に配列された文字をタップ等することによりその文字を入力することができる。その他、撮影部２４で撮影された撮影画像に基づいて文字認識処理を行ったり、マイク１１で入力した音声に基づいて音声認識処理を行ったりすることによりテキストを入力することもできる。
【００３９】
通信部２２は、携帯電話機において使用される無線通信の規格に従ってデータ通信を行い、インターネット等のネットワークを介して、サーバ等に対して情報の送信を要求する。そして、通信部２２は、サーバ等から送信されてくる情報を受信し、制御部２７に出力する。
【００４０】
位置情報取得部２３は、ＧＰＳ（Global Positioning System）や無線ＬＡＮ（Local Area Network）等を利用して、モバイル機器１００の現在位置を特定する位置情報を取得する。例えば、位置情報取得部２３は、少なくとも別々の箇所に設置された３つの基地局から発信される無線ＬＡＮの電波を利用し、それらの基地局の位置情報に基づいた３辺測量の手法により、モバイル機器１００の現在位置を特定する。
【００４１】
撮影部２４は、ＣＣＤ（Charge Coupled Device）センサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサ等の撮像素子を有して構成され、ユーザのシャッター操作に従って写真を撮影する。そして、撮影部２４が写真を撮影すると、制御部２７は、撮影された撮影画像を記憶部２５に記憶する。
【００４２】
記憶部２５は、不揮発性の半導体メモリ（例えば、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory））を有して構成されている。記憶部２５は、制御部２７が実行するためのプログラム（アプリケーションソフト）、撮影部２４で撮影された撮影画像を記憶する。
【００４３】
制御部２７は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等をバス接続して構成されている。
【００４４】
次に、記憶部２５のデータ構造を説明する。
図３は、翻訳情報テーブル４００のデータ構造を示す図である。
【００４５】
記憶部２５は、図３に示すように、翻訳対象文字列を英語に翻訳するための翻訳情報テーブル４００を記憶している。このように１つの翻訳情報テーブル４００だけを利用して翻訳を行うことによりＲＡＭの使用メモリ容量を低減する。
【００４６】
翻訳情報テーブル４００には、ＩＤごとに１つのレコードが登録されている。各レコードは、一意に割り当てられたＩＤを登録するフィールド４０２と、キーとなるキー形態素を登録するフィールド４０４と、キー形態素の読みを登録するフィールド４０６と、キー形態素の品詞を登録するフィールド４０８と、キー形態素を英語に翻訳した場合に得られる複数の訳語のうち訳語の候補として最も推奨すべき最適訳語を登録するフィールド４１２と、キー形態素を英語に翻訳した場合に得られる複数の訳語のうち最適訳語以外の次候補訳語を登録するフィールド４１０と、所定の日本語文書におけるキー形態素の出現頻度を登録するフィールド４１４とを含んで構成されている。ここで、フィールド４０８の品詞は、例えば、「n」が名詞、「v」が動詞活用形、「inf」が動詞不定詞、「adj」が形容詞、「aux」が助動詞、「adv」が副詞、「conj」が接続詞、「prep」が前置詞を表している。
【００４７】
図３の例では、第７段目のレコードには、キー形態素として「持ち直」が、読みとして「モチナオス」が、品詞として「v5s,vt」が、最適訳語として「to recover」が、次候補訳語として「to recover/to rally/to improve/to pick up/(P)/」が、出現頻度として「161」がそれぞれ登録されている。これは、キー形態素「持ち直」について、読みが「モチナオス」、品詞が動詞活用形、最適訳語が「to recover」、次候補訳語が「to rally」「to improve」「to pick up」、出現頻度が１６１回であることを示している。
【００４８】
図４は、漢字修正情報テーブル４２０のデータ構造を示す図である。
記憶部２５は、さらに、図４に示すように、翻訳対象文字列中の誤認識された文字列を適切な漢字に修正するための漢字修正情報テーブル４２０を記憶している。
【００４９】
漢字修正情報テーブル４２０の各レコードは、修正対象文字列を登録するフィールド４２４と、翻訳対象文字列に含まれる修正対象文字列を修正すべき漢字を登録するフィールド４２２とを含んで構成されている。
【００５０】
図４の例では、第１段目のフィールドには、修正対象文字列として「ネ」「貞」が、修正漢字として「禎」がそれぞれ登録されている。これは、連続する２つの文字列「ネ」「貞」が翻訳対象文字列に含まれている場合は、これを「禎」という漢字に修正すべきことを示している。
【００５１】
次に、モバイル機器１００で実行される処理を説明する。
モバイル機器１００において、ＣＰＵは、ＲＯＭ又は記憶部２５に記憶されているプログラムを起動させ、そのプログラムに従って、図５のフローチャートに示す撮影翻訳処理を実行する。
【００５２】
図５は、撮影翻訳処理を示すフローチャートである。
撮影翻訳処理は、モバイル機器１００で実行されると、図５に示すように、まず、ステップＳ１００に移行する。
【００５３】
ステップＳ１００では、撮影部２４で撮影された撮影画像を記憶部２５から読み出し、ステップＳ１０２に移行して、読み出した撮影画像に含まれる文字を認識する文字認識処理を実行する。この文字認識処理は、例えば、ＯＣＲ（Optical Character Recognition）処理等で採用される公知の文字認識技術を採用することができる。
【００５４】
次いで、ステップＳ１０４に移行して、ステップＳ１０２の文字認識処理で認識された翻訳対象文字列を形態素ごとに英語に翻訳する形態素翻訳処理を実行し、ステップＳ１０６に移行して、翻訳対象文字列の各形態素に対応させて形態素翻訳処理で取得した最適訳語を表示部２８に表示し、ステップＳ１０８に移行する。
【００５５】
ステップＳ１０８では、表示された最適訳語のなかからいずれかが指定されたか否かを判定し、いずれかの最適訳語が指定されたと判定した場合(YES)は、ステップＳ１１０に移行して、指定された最適訳語に対応する次候補訳語を表示部２８に表示し、ステップＳ１１２に移行する。
【００５６】
ステップＳ１１２では、表示された次候補訳語のなかからいずれかが選択されたか否かを判定し、いずれかの次候補訳語が選択されたと判定した場合(YES)は、ステップＳ１１４に移行して、指定された最適訳語を、選択された次候補訳語に変更し、一連の処理を終了する。
【００５７】
一方、ステップＳ１１２で、いずれの次候補訳語も選択されないと判定した場合(NO)は、ステップＳ１０８に移行する。
【００５８】
一方、ステップＳ１０８で、いずれの最適訳語も指定されないと判定した場合(NO)は、ステップＳ１０８で待機する。
【００５９】
次に、ステップＳ１０４の形態素翻訳処理を説明する。
図６は、形態素翻訳処理を示すフローチャートである。
【００６０】
形態素翻訳処理は、ステップＳ１０４で実行されると、図６に示すように、まず、ステップＳ２００に移行する。
【００６１】
ステップＳ２００では、ステップＳ１０２の文字認識処理から翻訳対象文字列を取得し、ステップＳ２０２に移行して、漢字修正情報テーブル４２０を参照し、翻訳対象文字列中の誤認識された文字列を適切な漢字に修正し、ステップＳ２０４に移行する。
【００６２】
ステップＳ２０４では、翻訳対象文字列において取得する形態素の先頭位置を格納するための変数ｉｎｄの値を「０」に設定し、ステップＳ２０６に移行して、変数ｉｎｄの値が翻訳対象文字列の長さよりも小さいか否かを判定し、翻訳対象文字列の長さよりも小さいと判定した場合(YES)は、ステップＳ２０８に移行する。
【００６３】
ステップＳ２０８では、最小となる変数ｎの値を算出する。具体的には、（１）翻訳情報テーブル４００のなかで最も長いキー形態素の文字数、（２）翻訳対象文字列における変数ｉｎｄの値が示す位置から翻訳対象文字列の末尾までの文字数、（３）翻訳対象文字列における変数ｉｎｄの値が示す位置から次に出現する句読点の直前までの文字数をそれぞれ算出し、算出した文字数のうち最小の値を変数ｎに設定する。
【００６４】
次いで、ステップＳ２１０に移行して、翻訳対象文字列における変数ｉｎｄの値が示す位置から変数ｎの長さ分の文字列を副文字列として翻訳対象文字列から取得し、ステップＳ２１２に移行する。
【００６５】
ステップＳ２１２では、副文字列と完全一致するキー形態素を翻訳情報テーブル４００から検索し、ステップＳ２１４に移行して、該当のキー形態素を索出したか否かを判定し、該当のキー形態素を索出したと判定した場合(YES)は、ステップＳ２１６に移行する。
【００６６】
ステップＳ２１６では、索出したキー形態素に対応する品詞を翻訳情報テーブル４００から取得し、取得した品詞に基づいて、索出したキー形態素のすべての品詞活用を生成し、ステップＳ２１８に移行する。
【００６７】
ステップＳ２１８では、生成した品詞活用に基づいて、翻訳対象文字列における副文字列以後の文字列と一致する最も長い品詞活用を翻訳対象文字列から検索し、ステップＳ２２０に移行して、該当の品詞活用を索出したか否かを判定し、該当の品詞活用を索出したと判定した場合(YES)は、ステップＳ２２２に移行する。
【００６８】
ステップＳ２２２では、索出した品詞活用の文字列を配列に格納し、ステップＳ２２４に移行して、索出した品詞活用の長さに相当する値を変数ｉｎｄに加算し、ステップＳ２２６に移行する。
【００６９】
ステップＳ２２６では、ステップＳ２１２で索出したキー形態素に対応する最適訳語及び次候補訳語を翻訳情報テーブル４００から取得し、ステップＳ２２８に移行して、索出したキー形態素並びに取得した品詞、最適訳語及び次候補訳語を配列に格納し、ステップＳ２０６に移行する。
【００７０】
一方、ステップＳ２２０で、該当の品詞活用を索出しないと判定した場合(NO)は、ステップＳ２３０に移行して、ステップＳ２１２で索出したキー形態素の長さに相当する値を変数ｉｎｄに加算し、ステップＳ２２６に移行する。
【００７１】
一方、ステップＳ２１４で、該当のキー形態素を索出しないと判定した場合(NO)は、ステップＳ２３２に移行して、変数ｎの値から「１」を減算し、ステップＳ２３４に移行して、副文字列の長さが「０」であるか否かを判定し、副文字列の長さが「０」でないと判定した場合(NO)は、ステップＳ２１０に移行する。
【００７２】
一方、ステップＳ２３４で、副文字列の長さが「０」であると判定した場合(YES)は、ステップＳ２３６に移行する。
【００７３】
ステップＳ２３６では、副文字列周辺の文字列と部分一致する類似のキー形態素を検索する類似キー形態素検索処理を実行し、ステップＳ２３８に移行して、該当のキー形態素を索出したか否かを判定し、該当のキー形態素を索出したと判定した場合(YES)は、ステップＳ２４０に移行する。
【００７４】
ステップＳ２４０では、複数のキー形態素を索出した場合は、索出した複数のキー形態素のうち出現頻度が最も高いキー形態素を翻訳情報テーブル４００から取得し、翻訳対象文字列において対象の文字列を、取得したキー形態素に置き換える。また、キー形態素を１つだけ索出した場合は、翻訳対象文字列において対象の文字列を、索出したキー形態素に置き換える。ここで、対象の文字列とは、翻訳対象文字列において、出現頻度が最も高いキー形態素を検索する元となった副文字列をいう。
【００７５】
ステップＳ２４０の処理が終了すると、ステップＳ２０６に移行する。
一方、ステップＳ２３８で、該当のキー形態素を索出しないと判定した場合(NO)は、ステップＳ２４２に移行して、キー形態素及び類似のキー形態素がいずれも検索できなかったことを示す”？”を配列に格納し、ステップＳ２４４に移行して、変数ｉｎｄの値に「１」を加算し、ステップＳ２０６に移行する。
【００７６】
一方、ステップＳ２０６で、変数ｉｎｄの値が翻訳対象文字列の長さ以上であると判定した場合(NO)は、ステップＳ２４６に移行して、ステップＳ１０４の形態素翻訳処理を呼び出した元の処理（関数）に配列結果を返し、一連の処理を終了して元の処理に復帰させる。
【００７７】
次に、ステップＳ２３６の類似キー形態素検索処理を説明する。
図７は、類似キー形態素検索処理を示すフローチャートである。
【００７８】
類似キー形態素検索処理は、ステップＳ２３６で実行されると、図７に示すように、まず、ステップＳ３００に移行する。
【００７９】
ステップＳ３００では、ステップＳ２０８と同様に最小となる変数ｍの値を算出する。具体的には、（１）翻訳情報テーブル４００のなかで最も長いキー形態素の文字数、（２）翻訳対象文字列における変数ｉｎｄの値が示す位置から翻訳対象文字列の末尾までの文字数、（３）翻訳対象文字列における変数ｉｎｄの値が示す位置から次に出現する句読点の直前までの文字数をそれぞれ算出し、算出した文字数のうち最小の値を変数ｍに設定する。
【００８０】
次いで、ステップＳ３０２に移行して、翻訳対象文字列における変数ｉｎｄの値が示す位置から変数ｍの長さ分の文字列を副文字列として翻訳対象文字列から取得し、ステップＳ３０４に移行する。
【００８１】
ステップＳ３０４では、副文字列を含むキー形態素を翻訳情報テーブル４００から検索し、ステップＳ３０６に移行して、該当のキー形態素を索出したか否かを判定し、該当のキー形態素を索出したと判定した場合(YES)は、ステップＳ３０８に移行する。
【００８２】
ステップＳ３０８では、索出したキー形態素ごとにそのキー形態素の出現頻度を翻訳情報テーブル４００から取得し、索出したすべてのキー形態素及び取得した出現頻度を配列に格納し、ステップＳ３１０に移行して、変数ｍの値から「１」を減算し、ステップＳ３１２に移行して、副文字列の長さが「０」であるか否かを判定し、副文字列の長さが「０」でないと判定した場合(NO)は、ステップＳ３０２に移行する。
【００８３】
一方、ステップＳ３１２で、副文字列の長さが「０」であると判定した場合(YES)は、ステップＳ３１４に移行し、ステップＳ２３６の類似キー形態素検索処理を呼び出した元の処理（関数）に配列結果を返し、一連の処理を終了して元の処理に復帰させる。
【００８４】
一方、ステップＳ３０６で、該当のキー形態素を索出しないと判定した場合(NO)は、ステップＳ３１０に移行する。
【００８５】
次に、本実施の形態の動作を説明する。
「外国人は日本の料理が好きです。」という翻訳対象文字列を形態素ごとに英語に翻訳する場合を例に説明する。
【００８６】
図８は、翻訳対象文字列を翻訳する動作を示すシーケンスチャートである。
図８では、プロセス１〜４３が示されている。以下、プロセス１〜４３を順次説明する。
【００８７】
＜プロセス１＞
ステップＳ２００で、翻訳対象文字列「外国人は日本の料理が好きです。」が取得される。
【００８８】
＜プロセス２＞
変数ｉｎｄの値が「０」に設定される。変数ｎは、翻訳対象文字列における変数ｉｎｄの値が示す位置から次に出現する句読点の直前までの文字数が１４文字と最小なので、変数ｎの値が「１４」に設定される。そうすると、ステップＳ２１０で、副文字列「外国人は日本の料理が好きです」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【００８９】
＜プロセス３＞
減算の結果、変数ｎの値が「１３」となるので、ステップＳ２１０で、副文字列「外国人は日本の料理が好きで」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【００９０】
＜プロセス４＞
プロセス２〜３と同様に、副文字列「外国人は日本の料理が好き」「外国人は日本の料理が好」「外国人は日本の料理が」「外国人は日本の料理」「外国人は日本の料」「外国人は日本の」「外国人は日本」「外国人は日」について順に検索が行われるが、これら副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【００９１】
＜プロセス５＞
プロセス４での減算の結果、変数ｎの値が「４」となるので、ステップＳ２１０で、副文字列「外国人は」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【００９２】
＜プロセス６＞
減算の結果、変数ｎの値が「３」となるので、ステップＳ２１０で、副文字列「外国人」が取得される。この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在するので、キー形態素「外国人」が索出される。
【００９３】
＜プロセス７＞
ステップＳ２１６で、キー形態素「外国人」に対応する品詞が翻訳情報テーブル４００から取得される。
【００９４】
＜プロセス８＞
ステップＳ２１６で、取得された品詞に基づいてキー形態素「外国人」のすべての品詞活用「外国人ではありませんでした」「外国人ではありません」「外国人じゃなかった」「外国人じゃない」「外国人でした」が生成されるが、翻訳対象文字列における副文字列以後の文字列と一致する最も長い品詞活用が翻訳対象文字列に存在しない。
【００９５】
＜プロセス９＞
ステップＳ２３０で、キー形態素「外国人」の長さに相当する値「３」が変数ｉｎｄに加算される。
【００９６】
＜プロセス１０＞
ステップＳ２２８、Ｓ２３０で、キー形態素「外国人」、品詞「noun」、最適訳語「foreigner」及び次候補訳語「1) foreigner, 2) foreign citizen, 3) alien」が配列に格納される。
【００９７】
＜プロセス１１＞
加算の結果、変数ｉｎｄの値が「３」となる。変数ｎは、翻訳対象文字列における変数ｉｎｄの値が示す位置から次に出現する句読点の直前までの文字数が１１文字と最小なので、変数ｎの値が「１１」に設定される。そうすると、ステップＳ２１０で、副文字列「は日本の料理が好きです」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【００９８】
＜プロセス１２＞
減算の結果、変数ｎの値が「１０」となるので、ステップＳ２１０で、副文字列「は日本の料理が好きで」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【００９９】
＜プロセス１３＞
プロセス１１〜１２と同様に、副文字列「は日本の料理が好き」「は日本の料理が好」「は日本の料理が」「は日本の料理」「は日本の料」「は日本の」「は日本」について順に検索が行われるが、これら副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１００】
＜プロセス１４＞
プロセス１３での減算の結果、変数ｎの値が「２」となるので、ステップＳ２１０で、副文字列「は日」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１０１】
＜プロセス１５＞
減算の結果、変数ｎの値が「１」となるので、ステップＳ２１０で、副文字列「は」が取得される。この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在するので、キー形態素「は」が索出される。
【０１０２】
＜プロセス１６＞
ステップＳ２１６で、キー形態素「は」に対応する品詞が翻訳情報テーブル４００から取得される。
【０１０３】
＜プロセス１７＞
ステップＳ２３０で、キー形態素「は」の長さに相当する値「１」が変数ｉｎｄに加算される。また、ステップＳ２２８、Ｓ２３０で、キー形態素「は」、品詞「particle」、最適訳語「(object)」及び次候補訳語「-」が配列に格納される。
【０１０４】
＜プロセス１８＞
加算の結果、変数ｉｎｄの値が「４」となる。変数ｎは、翻訳対象文字列における変数ｉｎｄの値が示す位置から次に出現する句読点の直前までの文字数が１０文字と最小なので、変数ｎの値が「１０」に設定される。そうすると、ステップＳ２１０で、副文字列「日本の料理が好きです」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１０５】
＜プロセス１９＞
減算の結果、変数ｎの値が「９」となるので、ステップＳ２１０で、副文字列「日本の料理が好きで」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１０６】
＜プロセス２０＞
プロセス１８〜１９と同様に、副文字列「日本の料理が好き」「日本の料理が好」「日本の料理が」「日本の料理」「日本の料」について順に検索が行われるが、これら副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１０７】
＜プロセス２１＞
プロセス２０の減算の結果、変数ｎの値が「３」となるので、ステップＳ２１０で、副文字列「日本の」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１０８】
＜プロセス２２＞
減算の結果、変数ｎの値が「２」となるので、ステップＳ２１０で、副文字列「日本」が取得される。この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在するので、キー形態素「日本」が索出される。
【０１０９】
＜プロセス２３＞
ステップＳ２１６で、キー形態素「日本」に対応する品詞が翻訳情報テーブル４００から取得される。
【０１１０】
＜プロセス２４＞
ステップＳ２１６で、取得された品詞に基づいてキー形態素「日本」のすべての品詞活用「日本ではありませんでした」「日本ではありません」「日本じゃなかった」「日本じゃない」「日本でした」が生成されるが、翻訳対象文字列における副文字列以後の文字列と一致する最も長い品詞活用が翻訳対象文字列に存在しない。
【０１１１】
＜プロセス２５＞
ステップＳ２３０で、キー形態素「日本」の長さに相当する値「２」が変数ｉｎｄに加算される。
【０１１２】
＜プロセス２６＞
ステップＳ２２８、Ｓ２３０で、キー形態素「日本」、品詞「noun」、最適訳語「Japan」及び次候補訳語「Japan」が配列に格納される。
【０１１３】
＜プロセス２７＞
加算の結果、変数ｉｎｄの値が「６」となる。変数ｎは、翻訳対象文字列における変数ｉｎｄの値が示す位置から次に出現する句読点の直前までの文字数が８文字と最小なので、変数ｎの値が「８」に設定される。そうすると、ステップＳ２１０で、副文字列「の料理が好きです」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１１４】
＜プロセス２８＞
プロセス２７と同様に、副文字列「料理が好きで」「料理が好き」「の料理が好」「の料理が」「の料理」について順に検索が行われるが、これら副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１１５】
＜プロセス２９＞
プロセス２８での減算の結果、変数ｎの値が「２」となるので、ステップＳ２１０で、副文字列「の料」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１１６】
＜プロセス３０＞
減算の結果、変数ｎの値が「１」となるので、ステップＳ２１０で、副文字列「の」が取得される。この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在するので、キー形態素「の」が索出される。
【０１１７】
＜プロセス３１＞
ステップＳ２１６で、キー形態素「の」に対応する品詞が翻訳情報テーブル４００から取得される。
【０１１８】
＜プロセス３２＞
ステップＳ２３０で、キー形態素「の」の長さに相当する値「１」が変数ｉｎｄに加算される。また、ステップＳ２２８、Ｓ２３０で、キー形態素「の」、品詞「particle」、最適訳語「"'s"」及び次候補訳語「-」が配列に格納される。
【０１１９】
＜プロセス３３＞
加算の結果、変数ｉｎｄの値が「７」となる。変数ｎは、翻訳対象文字列における変数ｉｎｄの値が示す位置から次に出現する句読点の直前までの文字数が７文字と最小なので、変数ｎの値が「７」に設定される。そうすると、ステップＳ２１０で、副文字列「料理が好きです」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１２０】
＜プロセス３４＞
プロセス３３と同様に、副文字列「料理が好きで」「料理が好き」「料理が好」「料理が」について順に検索が行われるが、これら副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１２１】
＜プロセス３５＞
プロセス３４の減算の結果、変数ｎの値が「２」となるので、ステップＳ２１０で、副文字列「料理」が取得される。この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在するので、キー形態素「料理」が索出される。
【０１２２】
＜プロセス３６＞
ステップＳ２１６で、キー形態素「料理」に対応する品詞が翻訳情報テーブル４００から取得される。そして、ステップＳ２１６で、取得された品詞に基づいてキー形態素「料理」のすべての品詞活用「料理ではありませんでした」「料理ではありません」「料理じゃなかった」「料理じゃない」「料理でした」が生成されるが、翻訳対象文字列における副文字列以後の文字列と一致する最も長い品詞活用が翻訳対象文字列に存在しない。
【０１２３】
＜プロセス３７＞
ステップＳ２３０で、キー形態素「料理」の長さに相当する値「２」が変数ｉｎｄに加算される。
【０１２４】
＜プロセス３８＞
ステップＳ２２８、Ｓ２３０で、キー形態素「料理」、品詞「noun and suru verb」、最適訳語「cooking」及び次候補訳語「1) cooking, 2) cuisine, 3) dealing with something, 4)handling, 5) administration, 6)management」が配列に格納される。
【０１２５】
＜プロセス３９＞
加算の結果、変数ｉｎｄの値が「９」となる。変数ｎは、翻訳対象文字列における変数ｉｎｄの値が示す位置から次に出現する句読点の直前までの文字数が５文字と最小なので、変数ｎの値が「５」に設定される。そうすると、ステップＳ２１０で、副文字列「が好きです」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１２６】
＜プロセス４０＞
プロセス３９と同様に、副文字列「が好きで」「が好き」「が好」について順に検索が行われるが、これら副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１２７】
＜プロセス４１＞
プロセス４０での減算の結果、変数ｎの値が「１」となるので、ステップＳ２１０で、副文字列「が」が取得される。この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在するので、キー形態素「が」が索出される。
【０１２８】
＜プロセス４２＞
ステップＳ２１６で、キー形態素「が」に対応する品詞が翻訳情報テーブル４００から取得される。
【０１２９】
＜プロセス４３＞
ステップＳ２３０で、キー形態素「が」の長さに相当する値「１」が変数ｉｎｄに加算される。また、ステップＳ２２８、Ｓ２３０で、キー形態素「が」、品詞「particle」、最適訳語「(subject)」及び次候補訳語「-」が配列に格納される。
【０１３０】
図９は、翻訳対象文字列を翻訳する動作を示すシーケンスチャートである。
図９では、プロセス４４〜５６が示されている。以下、プロセス４４〜５６を順次説明する。
【０１３１】
＜プロセス４４＞
加算の結果、変数ｉｎｄの値が「１０」となる。変数ｎは、翻訳対象文字列における変数ｉｎｄの値が示す位置から次に出現する句読点の直前までの文字数が４文字と最小なので、変数ｎの値が「４」に設定される。そうすると、ステップＳ２１０で、副文字列「好きです」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１３２】
＜プロセス４５＞
プロセス４４と同様に、副文字列「好きで」「好き」「好」について順に検索が行われるが、これら副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１３３】
＜プロセス４６＞
副文字列の長さが「０」となったので、完全一致するキー形態素が検索できなかったことになる。
【０１３４】
＜プロセス４７＞
そこで、ステップＳ２３６で、類似キー形態素検索処理が実行される。
【０１３５】
＜プロセス４８＞
ステップＳ３００〜Ｓ３０４で、変数ｍの値が「４」〜「１」の範囲で変化し、副文字列「好きです」「好きで」「好き」「好」のそれぞれについて、この副文字列を含むキー形態素が翻訳情報テーブル４００から検索される。ここで、副文字列「好き」を含むキー形態素が翻訳情報テーブル４００に存在するので、キー形態素「大好き」「物好き」「人好き」が索出される。
【０１３６】
＜プロセス４９＞
ステップＳ３０８で、キー形態素「大好き」及び出現頻度「1362」、キー形態素「物好き」及び出現頻度「197」、並びに、キー形態素「人好き」及び出現頻度「39」が配列に格納される。
【０１３７】
＜プロセス５０＞
キー形態素「大好き」「物好き」「人好き」のうち「大好き」の出現頻度「1362」が最も高いので、ステップＳ２４０で、翻訳対象文字列において対象の文字列「好き」がキー形態素「大好き」に置き換えられる。
【０１３８】
＜プロセス５１＞
変数ｎは、翻訳対象文字列における変数ｉｎｄの値が示す位置から次に出現する句読点の直前までの文字数が５文字と最小なので、変数ｎの値が「５」に設定される。そうすると、ステップＳ２１０で、副文字列「大好きです」が取得される。しかし、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１３９】
同様に、副文字列「大好きで」について順に検索が行われるが、この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在しないので、変数ｎの値が減算される。
【０１４０】
そして、減算の結果、変数ｎの値が「３」となるので、ステップＳ２１０で、副文字列「大好き」が取得される。この副文字列と完全一致するキー形態素が翻訳情報テーブル４００に存在するので、キー形態素「大好き」が索出される。
【０１４１】
＜プロセス５２＞
ステップＳ２１６で、キー形態素「大好き」に対応する品詞が翻訳情報テーブル４００から取得される。
【０１４２】
＜プロセス５３＞
ステップＳ２１６で、取得された品詞に基づいてキー形態素「大好き」のすべての品詞活用「大好きではありませんでした」「大好きではありません」「大好きでした」「大好きです」「大好きじゃありませんでした」が生成され、翻訳対象文字列における副文字列以後の文字列と一致する最も長い品詞活用「大好きです」が検索される。
【０１４３】
＜プロセス５４＞
ステップＳ２３０で、キー形態素「大好きです」の長さに相当する値「５」が変数ｉｎｄに加算される。
【０１４４】
＜プロセス５５＞
ステップＳ２２８、Ｓ２３０で、キー形態素「大好き」「大好きです」、品詞「na-adjective」、最適訳語「favourite (is)」及び次候補訳語「1) loveable, 2) very likeable, 3) like very much/(P)/」が配列に格納される。
【０１４５】
＜プロセス５６＞
加算の結果、変数ｉｎｄの値が「１５」となるので、ステップＳ２４６で、配列結果が返される。
【０１４６】
図１０は、最適訳語を次候補訳語に変更する画面である。
ステップＳ１０６で、図１０に示すように、翻訳対象文字列の各形態素に対応させて最適訳語が表示される。ここで、ユーザは、例えば最適訳語「foreigner」をタップ等で指定すると、同図（ａ）に示すように、次候補訳語として「(1)foreigner」「(2)foreign citizen」「(3)alien」が表示される。次候補訳語は、例えばドロップダウンリスト４４０で表示される。次候補訳語のなかに他に最適な訳語がある場合、ユーザは、例えば次候補訳語「(3)alien」を選択すると、最適訳語「foreigner」が次候補訳語「alien」に変更される。
【０１４７】
また、ユーザは、例えば最適訳語「cooking」をタップ等で指定すると、同図（ｂ）に示すように、次候補訳語として「(1)cooking」「(2)cuisine」「(3)dealing with something」「(4)handling」「(5)administration」「(6)management」が表示される。次候補訳語は、例えばドロップダウンリスト４４２で表示される。次候補訳語のなかに他に最適な訳語がある場合、ユーザは、例えば次候補訳語「(2)cuisine」を選択すると、最適訳語「cooking」が次候補訳語「cuisine」に変更される。
【０１４８】
このようにして、本実施の形態では、翻訳対象文字列から形態素を副文字列として取得し、第１言語からなる異なる複数のキー形態素について、そのキー形態素、そのキー形態素を第２言語に翻訳した場合に得られる複数の訳語のうち訳語の候補として最も推奨すべき最適訳語、複数の訳語のうち最適訳語以外の次候補訳語、及び、所定の日本語文書におけるそのキー形態素の出現頻度を対応づけて記憶する翻訳情報テーブル４００から副文字列と完全一致するキー形態素を検索し、キー形態素を索出した場合は、索出したキー形態素に対応する最適訳語を翻訳情報テーブル４００から取得し、キー形態素を索出しない場合は、副文字列を含むキー形態素を翻訳情報テーブル４００から検索し、複数のキー形態素を索出した場合は、索出した複数のキー形態素のうち出現頻度が最も高いキー形態素に対応する最適訳語を翻訳情報テーブル４００から取得し、取得した最適訳語を副文字列の訳語として出力する。
【０１４９】
これにより、キー形態素、最適訳語、次候補訳語及び出現頻度を対応づけて記憶する翻訳情報テーブル４００があれば足りるので、多数のライブラリを利用する必要がなく、従来に比して、使用メモリ容量を低減することができる。また、翻訳対象文字列を形態素ごとに第２言語に翻訳するという簡易なアルゴリズムであるので、従来に比して、処理負荷を低減することができる。さらに、キー形態素との完全一致検索による訳語変換に加え、出現頻度を考慮したキー形態素との部分一致検索による訳語変換を行うので、簡易なアルゴリズムを採用しつつも一定の翻訳精度を確保することができる。
【０１５０】
さらに、本実施の形態では、取得した最適訳語のうち指定された最適訳語について、その最適訳語に対応する次候補訳語を表示し、表示された次候補訳語のなかからいずれかを選択し、指定された最適訳語を、選択された次候補訳語に変更する。
【０１５１】
これにより、最適訳語を次候補訳語に変更することができるので、ユーザビリティを向上することができる。
【０１５２】
さらに、本実施の形態では、索出したキー形態素に対応する品詞に基づいてそのキー形態素のすべての品詞活用を生成し、生成した品詞活用に基づいて、翻訳対象文字列における副文字列以後の文字列と一致する品詞活用を翻訳対象文字列から検索し、索出した品詞活用を出力する。
【０１５３】
これにより、翻訳対象文字列における形態素の品詞活用が得られるので、翻訳精度を向上することができる。
【０１５４】
本実施の形態において、翻訳情報テーブル４００は、発明１乃至５の翻訳情報記憶手段に対応し、ステップＳ１１０は、発明２の次候補訳語出力手段に対応し、ステップＳ１１２は、発明２の次候補訳語選択手段に対応し、ステップＳ１１４は、発明２の訳語変更手段に対応している。また、ステップＳ２１０は、発明１乃至３若しくは５の形態素取得手段、又は形態素取得ステップに対応し、ステップＳ２１２は、発明１乃至３若しくは５の第１キー形態素検索手段、又は発明４若しくは５の第１キー形態素検索ステップに対応し、ステップＳ２１４は、発明１、２若しくは５の第１訳語取得手段、又は発明４若しくは５の第１訳語取得ステップに対応している。
【０１５５】
また、本実施の形態において、ステップＳ３０４、Ｓ２４０、Ｓ２１２は、発明１、２若しくは５の第２キー形態素検索手段、又は発明４若しくは５の第２キー形態素検索ステップに対応し、ステップＳ２１４は、発明１、２若しくは５の第２訳語取得手段、又は発明４若しくは５の第２訳語取得ステップに対応している。また、ステップＳ２１６は、発明３の品詞活用生成手段に対応し、ステップＳ２１８は、発明３の品詞活用検索手段に対応し、ステップＳ２２８は、発明１、２若しくは５の訳語出力手段、又は発明４若しくは５の訳語出力ステップに対応している。
【０１５６】
また、本実施の形態において、ステップＳ２２８は、発明３の品詞活用出力手段に対応し、日本語は、発明１、２、４又は５の第１言語に対応し、英語は、発明１、２、４又は５の第２言語に対応している。
【０１５７】
なお、上記実施の形態においては、所定の日本語文書におけるキー形態素の出現頻度を翻訳情報テーブル４００に登録したが、これに限らず、所定の英語文書における最適訳語の出現頻度を登録することもできる。
【０１５８】
また、上記実施の形態及びその変形例においては、キー形態素の読みを出力しなかったが、これに限らず、ステップＳ２２６、Ｓ２２８において、ステップＳ２１２で索出したキー形態素に対応するキー形態素の読み、最適訳語及び次候補訳語を翻訳情報テーブル４００から取得し、索出したキー形態素並びに取得したキー形態素の読み、品詞、最適訳語及び次候補訳語を配列に格納することもできる。
【０１５９】
また、上記実施の形態及びその変形例においては、単一の機器であるモバイル機器１００として実現したが、これに限らず、ネットワークシステムとして実現することもできる。インターネット等のネットワークには、翻訳サーバと、複数のユーザ端末とが接続されている。翻訳サーバは、上記実施の形態におけるモバイル機器１００と同等の機能を有して構成されている。異なるのは、入力装置４０による入力に代えてユーザ端末から情報を受信する点と、表示装置４４による表示に代えてユーザ端末に情報を送信する点である。
【０１６０】
また、上記実施の形態及びその変形例においては、日本語からなる翻訳対象文字列を形態素ごとに英語に翻訳する場合について本発明を適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合にも適用可能である。例えば、翻訳元の言語及び翻訳先の言語は、任意に設定することができる。
【符号の説明】
【０１６１】
１００…モバイル機器、  １０…キャビネット、  １１…マイク、  １２…スピーカ、  ２１…タッチパネル、  ２２…通信部、  ２３…位置情報取得部、  ２４…撮影部、  ２５…記憶部、  ２６…出力部、  ２７…制御部、  ２８…表示部、  ２８ａ…表示面、  ２９…検出部、  ４００…翻訳情報テーブル、  ４２０…漢字修正情報テーブル、  ４０２〜４１４、４２２、４２４…フィールド、  ４４０、４４２…ドロップダウンリスト
【要約】
【課題】  使用メモリ容量及び処理負荷を低減するのに好適な翻訳システムを提供する。
【解決手段】  形態素翻訳処理は、翻訳対象文字列から形態素を副文字列として取得し、キー形態素及び最適訳語を対応づけて記憶する翻訳情報テーブル４００から副文字列と完全一致するキー形態素を検索し、キー形態素を索出した場合は、索出したキー形態素に対応する最適訳語を翻訳情報テーブル４００から取得し、キー形態素を索出しない場合は、副文字列を含むキー形態素を翻訳情報テーブル４００から検索し、複数のキー形態素を索出した場合は、索出した複数のキー形態素のうち出現頻度が最も高いキー形態素に対応する最適訳語を翻訳情報テーブル４００から取得し、取得した最適訳語を副文字列の訳語として出力する。
【選択図】  図６【図１】
0005586772.tif 000002
【図２】
0005586772.tif 000003
【図３】
0005586772.tif 000004
【図４】
0005586772.tif 000005
【図５】
0005586772.tif 000006
【図６】
0005586772.tif 000007
【図７】
0005586772.tif 000008
【図１０】
0005586772.tif 000009
【図８】
0005586772.tif 000010
【図９】
0005586772.tif 000011