(57)【要約】【課題】高精度な翻訳を実現する。【解決手段】原始言語を目的言語に機械翻訳する機械翻訳装置において、前記原始言語の入力データに含まれる単語毎に、予め格納された前記原始言語に対応する目的言語の節・句単位の翻訳用例データを用いて用例ベース機械翻訳を行い、得られた部分翻訳結果をＣＹＫテーブルの単語の並びに対応させた格納エリアに格納する用例ベース機械翻訳手段と、前記原始言語の入力データに含まれる単語毎に、予め機械学習された翻訳辞書を用いて統計的機械翻訳を行い、得られた部分翻訳結果を前記ＣＹＫテーブルの前記格納エリアに格納する統計的機械翻訳手段と、前記用例ベース機械翻訳手段及び前記統計的機械翻訳手段により、前記ＣＹＫテーブルに格納された部分翻訳結果を合成して所定数の翻訳結果を出力する部分翻訳合成手段とを有する。【選択図】図１
2015115007.tif 000002
【特許請求の範囲】
【請求項１】
原始言語を目的言語に機械翻訳する機械翻訳装置において、
前記原始言語の入力データに含まれる単語毎に、予め格納された前記原始言語に対応する目的言語の節・句単位の翻訳用例データを用いて用例ベース機械翻訳を行い、得られた部分翻訳結果をＣＹＫテーブルの単語の並びに対応させた格納エリアに格納する用例ベース機械翻訳手段と、
前記原始言語の入力データに含まれる単語毎に、予め機械学習された翻訳辞書を用いて統計的機械翻訳を行い、得られた部分翻訳結果を前記ＣＹＫテーブルの前記格納エリアに格納する統計的機械翻訳手段と、
前記用例ベース機械翻訳手段及び前記統計的機械翻訳手段により、前記ＣＹＫテーブルに格納された部分翻訳結果を合成して所定数の翻訳結果を出力する部分翻訳合成手段とを有することを特徴とする機械翻訳装置。
【請求項２】
前記部分翻訳合成手段は、
前記ＣＹＫテーブルに格納された前記用例ベース機械翻訳手段及び前記統計的機械翻訳手段から得たそれぞれの部分翻訳結果に対する翻訳スコアと、前記部分翻訳結果を合成する際に連結する単語間の繋がりやすさを示す指標値とに基づいて前記翻訳結果を出力することを特徴とする請求項１に記載の機械翻訳装置。
【請求項３】
前記目的言語が手話である場合に、
前記部分翻訳合成手段は、前記合成により得られる手話単語列を、予め格納された手話単語に対する映像データを用いて、手話映像に変換して出力することを特徴とする請求項１又は２に記載の機械翻訳装置。
【請求項４】
コンピュータを、請求項１乃至３の何れか１項に記載の機械翻訳装置として機能させるための機械翻訳プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械翻訳装置及び機械翻訳プログラムに係り、特に高精度な翻訳を実現するための機械翻訳装置及び機械翻訳プログラムに関する。
【背景技術】
【０００２】
従来では、用例を用いて原始言語を目的言語に機械翻訳（用例ベース機械翻訳）する手法や、ある単語に続く確率が最も高い単語等を統計的に求め、その情報を用いて原始言語を目的言語に機械翻訳（統計的機械翻訳）する手法等が知られている。例えば、ある原始言語の文章に対して、用例ベース機械翻訳による部分単語列毎の翻訳を行い、用例ベース機械翻訳ができなかった部分に対して統計的機械翻訳を行うことで、文全体の翻訳結果を出力する手法がある（例えば、特許文献１参照）。
【０００３】
例えば、原始言語の一例である日本語の文章「九州と沖縄は夕方から雷雨となりそうです」（以下、上記の文章を「日本語文１」という）を、目的言語の一例である手話の文（単語表記）に機械翻訳することを考える。
【０００４】
この場合、特許文献１に示すような翻訳手法を用いた機械翻訳では、日本語文１の部分単語列「九州と沖縄は」と「雷雨となりそうです」は、用例ベース機械翻訳でそれぞれ手話の部分単語列「九州  Ｎ  沖縄」、「雷  雨  夢」と翻訳し、日本語の部分単語列「夕方から」は、統計的機械翻訳で手話の単語列「夕がた  から」と翻訳した後、これらの手話の単語列を繋いで文全体の翻訳結果「九州  Ｎ  沖縄  夕がた  から  雷  雨  夢」としていた（また、上述した手話の表記に含まれる「Ｎ」は、非手指動作である「頷き」を示し、意味をもつ単位の切れ目を示す。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１８６６７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、一般に、用例ベース機械翻訳でも統計的機械翻訳でも機械翻訳による部分単語列の翻訳結果は複数ある場合が多い。例えば、上述した日本語文１の例では、各部分単語列はそれぞれ、次のような複数の翻訳結果を持つ。
＜部分翻訳結果の例１＞
・「九州と沖縄は」の翻訳結果（用例ベース機械翻訳による）
（ａ１）  翻訳結果１  「九州  Ｎ  沖縄」      翻訳スコア＝０．９５
（ａ２）  翻訳結果２  「九州  Ｎ  沖縄  Ｎ」  翻訳スコア＝０．８５
・「夕方から」の翻訳結果（統計的機械翻訳による）
（ｂ１）  翻訳結果１  「夕がた  から」        翻訳スコア＝０．８５
（ｂ２）  翻訳結果２  「夕がた  Ｎ」          翻訳スコア＝０．８
・「雷雨となりそうです」の翻訳結果（用例ベース機械翻訳による）
（ｃ１）  翻訳結果１  「雷  雨  夢」          翻訳スコア＝０．９５
（ｃ２）  翻訳結果２  「雷  雨  らしい」      翻訳スコア＝０．９
ここで、上述した翻訳スコアは、その翻訳がコーパス（翻訳辞書データベース（ＤＢ））中に出現する確率から計算される。上述した特許文献１に示す手法では、各部分単語列の翻訳結果からそれぞれの一番目の翻訳結果（例えば、各翻訳結果１（（ａ１），（ｂ１），（ｃ１）））を繋ぐことで、文全体の翻訳結果を「九州  Ｎ  沖縄  夕がた  から  雷  雨  夢」としていた。
【０００７】
しかしながら、一番目の翻訳結果を繋いだものが必ずしも文全体として適切な翻訳ではない場合がある。例えば、「九州と沖縄は夕方から」の翻訳は、「九州と沖縄は」の翻訳結果と「夕方から」の翻訳結果とを繋ぐことで得られるが、その翻訳結果は、上述の例によれば、それぞれ２×２通りあるので次の４通りが得られることになる。
＜部分翻訳結果の例２＞
・「九州と沖縄は夕方から」の翻訳結果
（ｄ１）翻訳結果１（（ａ１）＋（ｂ１））
「九州  Ｎ  沖縄  夕がた  から」  翻訳スコア＝０．９５＋０．８５＝１．８
（ｄ２）翻訳結果２（（ａ１）＋（ｂ２））
「九州  Ｎ  沖縄  夕がた  Ｎ」  翻訳スコア＝０．９５＋０．８＝１．７５
（ｄ３）翻訳結果３（（ａ２）＋（ｂ１））
「九州  Ｎ  沖縄  Ｎ  夕がた  から」  翻訳スコア＝０．８５＋０．８５＝１．７
（ｄ４）翻訳結果４（（ａ２）＋（ｂ２））
「九州  Ｎ  沖縄  Ｎ  夕がた  Ｎ」  翻訳スコア＝０．８５＋０．８＝１．６
ここで、翻訳スコアはそれぞれの翻訳スコアの和としている。
【０００８】
上述した部分翻訳結果の例２では、２つの翻訳結果を繋げて合成する際に手話単語間の繋がりのよさを考慮していないが、手話単語間の繋がりのよさは、「沖縄」と「夕方」より、「Ｎ」と「夕方」の方がよい。そのため、従来手法で翻訳スコアが最も高い翻訳結果を出力しても、その翻訳結果が最適なものではない場合がある。
【０００９】
本発明は、上述した問題点に鑑みなされたものであり、従来手法より的確な翻訳、すなわち高精度な翻訳を実現するための機械翻訳装置及び機械翻訳プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【００１１】
本発明は、原始言語を目的言語に機械翻訳する機械翻訳装置において、前記原始言語の入力データに含まれる単語毎に、予め格納された前記原始言語に対応する目的言語の節・句単位の翻訳用例データを用いて用例ベース機械翻訳を行い、得られた部分翻訳結果をＣＹＫテーブルの単語の並びに対応させた格納エリアに格納する用例ベース機械翻訳手段と、前記原始言語の入力データに含まれる単語毎に、予め機械学習された翻訳辞書を用いて統計的機械翻訳を行い、得られた部分翻訳結果を前記ＣＹＫテーブルの前記格納エリアに格納する統計的機械翻訳手段と、前記用例ベース機械翻訳手段及び前記統計的機械翻訳手段により、前記ＣＹＫテーブルに格納された部分翻訳結果を合成して所定数の翻訳結果を出力する部分翻訳合成手段とを有する。
【００１２】
また、本発明は、コンピュータを、上述した機械翻訳装置として機能させるための機械翻訳プログラムである。
【発明の効果】
【００１３】
本発明によれば、高精度な翻訳を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態における機械翻訳装置の機能構成の一例を示す図である。
【図２】本実施形態における機械翻訳処理の一例を示すフローチャートである。
【図３】ＣＹＫテーブルを用いた機械翻訳例を説明するための図である。
【図４】ＣＹＫテーブルを用いた機械翻訳処理の一例を示すフローチャートである。
【図５】ＣＹＫテーブルを用いた翻訳手法の具体例を示す図である。
【図６】本実施形態に対応する翻訳スコアの概要例を示す図である。
【発明を実施するための形態】
【００１５】
＜本発明について＞
本発明は、例えば用例ベース機械翻訳と統計的機械翻訳とを用いて原始言語を目的言語に機械翻訳する手法に関し、原始言語の文章を節・句単位の文字単語列を基準に用例ベース機械翻訳と統計的機械翻訳とによってそれぞれ翻訳する。また、翻訳された単語列を翻訳スコアや単語間の繋がりやすさを示す指標値（例えば、言語モデル等）によって統合することで、従来手法より的確な翻訳、すなわち高精度な翻訳結果を取得する。
【００１６】
本実施形態では、例えば原始言語の文章を部分翻訳したそれぞれの結果を用いて、連結する部分文字列間の単語の繋がりやすさを数値（例えば、部分翻訳結果を合成する際に連結する単語間の繋がりやすさを示す指標値）等で表し、その結果（言語スコア）を翻訳スコアに反映させる。言語スコアの一例としては、例えばｎ−ｇｒａｍ言語モデル等を用いることができるが、これに限定されるものではない。ｎ−ｇｒａｍ言語モデルは、直前の（ｎ−１）個の単語を見て、次の単語を予測するモデルであり、例えば２−ｇｒａｍ（ｎ＝２）では、直前の単語と次の単語の２つの単語の繋がりやすさを数値（スコア）で表す。本実施形態では、２−ｇｒａｍの言語モデルを用いるが、これに限定されるものではなく、例えば３−ｇｒａｍ、５−ｇｒａｍ等を用いて言語スコアを取得してもよい。また、ｎ−ｇｒａｍは、予め設定されたコーパス（辞書）から計算することができる。
【００１７】
例えば、予め蓄積された大規模な手話コーパスから２−ｇｒａｍを計算したときに、次のように得られたとする。
・「沖縄  夕がた」→言語スコア＝０．１
・「Ｎ  夕がた」→言語スコア＝０．５
・「から  雷」→言語スコア＝０．５
・「Ｎ  雷」→言語スコア＝０．４
ただし、２−ｇｒａｍの数値は、値が大きいほうが繋がりやすいものとする。上述した例では、「Ｎ  夕がた」の方が「沖縄  夕がた」よりも２−ｇｒａｍの値が大きいので、繋がりやすいということを表している。
【００１８】
本実施形態では、翻訳スコアと言語スコアとを用いて、新たな翻訳スコアを定義する。一例としては、「（新たな翻訳スコア）＝（翻訳結果Ａの翻訳スコア）＋（翻訳結果Ｂの翻訳スコア）＋（翻訳結果Ａと翻訳結果Ｂ間の言語スコア）」と定義することができる。なお、「（翻訳結果Ａと翻訳結果Ｂ間の言語スコア）＝（翻訳結果Ａと翻訳結果Ｂを繋いだ際のｎ−ｇｒａｍ（例えば、ｎ＝２））」とする。
この場合、上述した日本語文１に対する部分翻訳結果の例は、以下のようになる。
＜部分翻訳結果の例３＞
（ｅ１）翻訳結果１（（ａ１）＋（ｂ１））
「九州  Ｎ  沖縄  夕がた  から」  翻訳スコア＝０．９５＋０．８５＋０．１＝１．９
（ｅ２）翻訳結果２（（ａ１）＋（ｂ２））
「九州  Ｎ  沖縄  夕がた  Ｎ」  翻訳スコア＝０．９５＋０．８＋０．１＝１．８５
（ｅ３）翻訳結果３（（ａ２）＋（ｂ１））
「九州  Ｎ  沖縄  Ｎ  夕がた  から」  翻訳スコア＝０．８５＋０．８５＋０．５＝２．２
（ｅ４）翻訳結果４（（ａ２）＋（ｂ２））
「九州  Ｎ  沖縄  Ｎ  夕がた  Ｎ」  翻訳スコア＝０．８５＋０．８＋０．５＝２．１
上述した部分翻訳結果の例３の中で、翻訳スコアが最大となるのは（ｅ３）である。そのため、適切な部分翻訳結果「九州  Ｎ  沖縄  Ｎ  夕がた  から」が得られる。同様にして、「夕方から」の翻訳結果と「雷雨となりそうです」の翻訳結果にｎ−ｇｒａｍ言語モデルを適用すれば、最終的に文全体として最も適切な翻訳結果「九州  Ｎ  沖縄  Ｎ  夕がた  から  雷  雨  夢」が得られる。
【００１９】
上述したように、本実施形態は、用例翻訳及び統計翻訳で機械翻訳を行い、更に言語モデルを使うことにより、用例ベース機械翻訳の翻訳結果と統計的機械翻訳の翻訳結果を適切に融合し、文全体として最も適切な翻訳結果を得ることができる。
【００２０】
＜機械翻訳装置：機能構成例＞
次に、本実施形態における機械翻訳装置の機能構成例について、図を用いて説明する。図１は、本実施形態における機械翻訳装置の機能構成の一例を示す図である。図１に示す機械翻訳装置１０は、形態素解析手段１１と、用例ベース機械翻訳手段１２と、節・句単位翻訳用例格納手段１３と、統計的機械翻訳手段１４と、部分翻訳格納手段１５と、翻訳スコア取得手段１６と、言語スコア取得手段１７と、部分翻訳合成手段１８とを有するよう構成されている。
【００２１】
形態素解析手段１１は、ユーザが手話翻訳したい翻訳対象の文書データ（例えば、文章等）を入力し、入力文に含まれる形態素を解析し、その解析結果から入力文を単語単位に分割する。ここで、形態素解析とは、例えば入力される文章データを意味のある単語に区切ることを意味し、予め設定されたコーパス等を利用して品詞や内容を判別してもよいが、これに限定されるものではない。本実施形態では、形態素解析に利用されるコーパスの一例として、茶筅（ｈｔｔｐ：／／ｃｈａｓｅｎ．ｎａｉｓｔ．ｊｐ／）等を用いることができるが、他のコーパスを用いてもよい。形態素解析手段１１は、解析結果により得られる文章中の単語列を、用例ベース機械翻訳手段１２及び統計的機械翻訳手段１４に出力する。
【００２２】
用例ベース機械翻訳手段１２は、節・句単位翻訳用例格納手段１３に予め格納された翻訳用例を利用して形態素解析手段１１により得られる単語列に対する用例ベース機械翻訳を行う。用例ベース機械翻訳手段１２は、用例ベースの翻訳ができた単語に対する翻訳結果を、部分翻訳格納手段１５に出力する。また、用例ベース機械翻訳手段１２は、用例ベースの翻訳ができなかった単語列は、何も処理を行わない。
【００２３】
節・句単位翻訳用例格納手段１３は、予め設定された節や句単位の翻訳用例が格納されている。節・句単位翻訳用例格納手段１３は、予め設定された大規模なコーパス等を用いてもよく、入力データの内容に対応したコーパス等を用いてもよいが、これに限定されるものではない。
【００２４】
統計的機械翻訳手段１４は、節・句単位翻訳用例格納手段１３に格納された翻訳用例に基づいて機械学習されたコーパス等を利用して、形態素解析手段１１により得られる単語列に対する統計的機械翻訳を行う。なお、コーパスについては、例えば一般的な機械学習により統計的に生成された翻訳辞書等を用いてもよい。
【００２５】
統計的機械翻訳手段１４における統計翻訳では、所定の翻訳モデル（例えば、ＧＩＺＡ＋＋）、デコード（例えば、ｍｏｓｅｓ）、言語モデル（例えば、ＳＲＩＬＭ）等を用いて、統計翻訳を行うことができるが、本発明においてはこれに限定されるものではない。
【００２６】
部分翻訳格納手段１５は、用例ベース機械翻訳手段１２での翻訳結果（例えば、翻訳された手話単語列）及び統計的機械翻訳手段１４での翻訳結果（例えば、翻訳された手話単語列）等を記憶する記憶手段である。なお、部分翻訳格納手段１５は、例えばＣＹＫ（Ｃｏｃｋｅ−Ｙｏｕｎｇｅｒ−Ｋａｓａｍｉ）テーブル等であるが、これに限定されるものではない。例えば、用例ベース機械翻訳手段１２及び統計的機械翻訳手段１４は、入力データに含まれる各単語又は単語列に対してそれぞれ部分翻訳を行い、部分翻訳された結果を同一のＣＹＫテーブルに格納し、そのＣＹＫテーブルを用いて翻訳スコアや言語スコアを取得する。
【００２７】
翻訳スコア取得手段１６は、部分翻訳格納手段１５に記憶された部分単語列の翻訳結果（手話単語列）を用いて、格納された手話単語列のそれぞれの組み合わせに基づく翻訳スコアを取得する。なお、翻訳スコアは、例えばその翻訳がコーパス中に出現する確率から取得することができるが、これに限定されるものではない。
【００２８】
言語スコア取得手段１７は、部分翻訳格納手段１５に記憶された部分単語列の翻訳結果を用いて、それぞれの組み合わせに基づき、連結する単語間の繋がりやすさを取得する。なお、言語スコア取得手段１７は、単語間の繋がりやすさを、例えばｎ−ｇｒａｍ言語モデル（例えば、ｎ＝２等）を用いた指標値として取得することができるが、これに限定されるものではない。
【００２９】
部分翻訳合成手段１８は、部分単語列の翻訳結果（手話単語列）を入力データの単語列に対応させた順序（語順）で合成し、合成された翻訳結果に対し、翻訳スコア取得手段１６で得られた翻訳スコアと、言語スコア取得手段１７で得られた言語スコアとを加算し、最終的な翻訳結果を出力する。
【００３０】
なお、部分翻訳合成手段１８は、全翻訳結果をスコアを付与して出力してもよく、スコアが最も高い翻訳結果から所定の順位までの翻訳結果を出力してもよい。また、部分翻訳合成手段１８は、合成による得られる手話単語列を、予め格納された手話単語に対する映像データを用いて、手話映像に変換して出力してもよい。これにより、本実施形態では、高精度な翻訳を実現することができる。
【００３１】
＜本実施形態における機械翻訳処理＞
ここで、本実施形態における機械翻訳処理手順について、フローチャートを用いて説明する。図２は、本実施形態における機械翻訳処理の一例を示すフローチャートである。
【００３２】
図２において、機械翻訳処理は、まず原始言語のデータ（例えば、日本語文章データ）が入力されると（Ｓ０１）、入力された文章データに対して形態素解析を行い、所定の単語毎に分割する（Ｓ０２）。
【００３３】
次に、機械翻訳処理は、分割された単語毎に用例ベースの機械翻訳を行う（Ｓ０３）。Ｓ０３の処理で得られた用例ベース機械翻訳結果は、例えば記憶手段等に記憶される。次に、機械翻訳処理は、分割された単語毎に統計的機械翻訳を行う（Ｓ０４）。Ｓ０４の処理で得られた統計的機械翻訳結果は、例えば記憶手段等に記憶される。
【００３４】
次に、機械翻訳処理は、Ｓ０３及びＳ０４の処理結果から翻訳スコアを取得する（Ｓ０５）。また、機械翻訳処理は、Ｓ０３及びＳ０４の処理結果から言語スコアを取得する（Ｓ０６）。次に、機械翻訳処理は、Ｓ０３及びＳ０４の処理で得られた翻訳結果を、それぞれの組み合わせで合成し（Ｓ０７）、合成した内容に対してＳ０５の処理で得られた翻訳スコア及びＳ０６の処理で得られた言語スコアに基づいて、翻訳結果を出力する（Ｓ０８）。
【００３５】
なお、Ｓ０７の処理における合成は、部分翻訳された単語（例えば、手話単語）を入力データの順序に対応させて合成する。また、Ｓ０８の処理では、例えば合成された全ての組み合わせの結果（例えば、手話単語列）と、そのスコア結果とを出力してもよく、予め設定した１以上の結果（例えば、スコアが最大の翻訳結果）を出力してもよい。
【００３６】
また、Ｓ０８の処理で出力される翻訳結果は、例えば上述した手話単語列に限定されるものではなく、例えば手話単語に対応するモーション映像データを予め用意しておき、手話単語に対応するモーション映像データを連結して手話映像を生成し、生成した手話映像を出力してもよい。
【００３７】
また、機械翻訳処理は、処理を終了するか否かを判断し（Ｓ０９）、処理を終了しない場合（Ｓ０９において、ＮＯ）、Ｓ０１に戻り、他のデータを入力して、上述した処理を行う。また、機械翻訳処理は、ユーザ等による終了指示や、入力するデータがない等により処理を終了する場合（Ｓ０９において、ＹＥＳ）、機械翻訳処理を終了する。
【００３８】
＜具体例＞
ここで、本実施形態における機械翻訳の具体例について説明する。例えば、上述した日本語文１「九州と沖縄は夕方から雷雨となりそうです」を翻訳することを考える。なお、節・句単位翻訳用例格納手段１３には、予め以下に示す［用例１］のデータが格納されているとする。
［用例１］（節・句単位）
「九州と」⇔「九州  Ｎ」
「沖縄は」⇔「沖縄」
「九州と沖縄は」⇔「九州  Ｎ  沖縄」
「雷雨となりそうです」⇔「雷雨  夢  Ｎ」
「雷雨となり」⇔「雷雨」
「そうです」⇔「夢  Ｎ」
ここで、矢印（⇔）の左辺が日本語を示し、右辺がその手話を示している。また、手話の表記は、一例として全日本ろうあ連盟が発行している「日本語−手話辞典」（米川明彦（監修），日本手話研究所（編），（財）全日本聾唖連盟出版局，２００６．）にしたがうものとするが、表記についてはこれに限定されるものではない。
【００３９】
本実施形態における機械翻訳装置１０は、まず日本語文１に対して、形態素解析手段１１により形態素解析を行い、所定の単語毎に分割する。具体的には、日本語文１は、形態素解析結果により「九州／と／沖縄／は／夕方／から／雷雨／と／なり／そう／です」と１１個の単語に分割する（なお、「／」は、単語の区切りを示す）。
【００４０】
次に、用例ベース機械翻訳手段１２により用例翻訳を行う。すなわち、入力文の中で節・句用例を適用し、翻訳可能な箇所の用例翻訳を行う。例えば、上述した日本語文１に上述した［用例１］を適用すると、日本語の節「九州と沖縄は」と「雷雨となりそうです」とは、それぞれ「九州  Ｎ  沖縄」、「雷雨  夢  Ｎ」と翻訳することができる。また、用例にない「夕方から」は、用例翻訳ができないため統計翻訳で翻訳する。なお、「日本語−手話」の翻訳では、語順の入れ替えが少ないので、統計翻訳でも精度よく翻訳可能であることが期待できる。
【００４１】
＜用例ベース機械翻訳手段１２における用例及び翻訳手法について＞
次に、用例ベース機械翻訳手段１２における用例及び翻訳手法について説明する。用例は、通常、人手等により節・句単位に分割されている。なお、分割するにあたっては、日本語側の節・句の切れ目と、手話側の意味的単位の切れ目を考慮する。また、手話側での切れ目は、主に「頷き（Ｎ）」で判断する。なお、手話側の切れ目の判断が難しい場合には、無理に切らないようにする。
【００４２】
また、用例翻訳において、用例は、なるべくデータが長い方が高精度な翻訳が期待できる。そこで、本実施形態では、一文中で分割した節（句）から、その全ての組み合わせを自動生成し、用例に追加する。例えば、「きょうは雷雨となるでしょう」という入力文（以下、必要に応じて「日本語文２」という）では、人手により節・句単位に分割した場合に、以下に示す［用例２］が得られたとする。また、［用例２］の全ての組み合わせを自動生成すると、以下に示す［用例３］が得られる。したがって、本実施形態では、その全てを用例に追加する。
［用例２］（人手による節（句）分割）
「きょうは」⇔「今日  Ｎ」
「雷雨となる」⇔「雷雨」
「でしょう」⇔「夢  Ｎ」
［用例３］（追加された用例）
「きょうは雷雨となる」⇔「今日  Ｎ  雷雨」
「雷雨となるでしょう」⇔「雷雨  夢  Ｎ」
ここで、［用例２］及び［用例３］を用いた場合、日本語文２の用例翻訳結果は、「今日  Ｎ  雷雨  夢  Ｎ」となる。本実施形態では、上述した手法を用いることで、例えば気象情報に対して、対訳約３，５００文から、約１０，０００個の節（句）単位の用例を得ることができる。
【００４３】
ここで、本実施形態における機械翻訳は、例えばＣＹＫテーブルを埋めていくことによって行うことができるが、これに限定されるものではない。
【００４４】
＜ＣＹＫテーブルを用いた機械翻訳例＞
ここで、部分翻訳格納手段１５の一例であるＣＹＫテーブルを用いた機械翻訳例について説明する。図３は、ＣＹＫテーブルを用いた機械翻訳例を説明するための図である。なお、図３に示すＣＹＫテーブル２０の配列は、一例でありこれに限定されるものではない。
【００４５】
例えば、形態素解析手段１１により、ある入力データを形態素解析した結果、「ｗ１，ｗ２，…，ｗｉ，…，ｗｊ，…，ｗｎ」が得られたとする（なお、「ｗ」は各単語を示し、「，」は各単語の区切りを示すが、必要に応じて「，」を考慮せずに一文（単語列）として扱うものとする）。なお、この例では、構文解析は行っていないものとする。
【００４６】
本実施形態における機械翻訳では、入力文に一致する用例及び統計的な翻訳結果を見つける。入力される日本語文の単語列「ｗｉ，…，ｗｊ」に対して節・句単位の対訳コーパス（用例）と照合し、一致した場合にはその手話単語列をＣＹＫテーブル２０の単語の並びに対応させた格納エリアｔ（ｊ−ｉ＋１，ｊ）に格納する。つまり、図３（ａ）に示すように、ＣＹＫテーブル２０の格納エリアｔ（ｊ−１＋１，ｊ）には、「ｗｉ，…，ｗｊ」の単語列に対する翻訳結果が格納される。
【００４７】
例えば、用例ベース機械翻訳手段１２と、統計的機械翻訳手段１４とにおける翻訳結果が１又は複数ある場合には、その全てをＣＹＫテーブル２０に登録する。つまり、図３（ｂ）に示すように、「ｗｉ，…，ｗｊ＋ｋ−１」の翻訳結果は、「ＷＩ１，…，ＷＪ１」としてＣＹＫテーブル２０の単語の並びに対応する格納エリアに格納し、「ｗｉ＋ｋ，…，ｗｊ」の翻訳結果は、「ＷＩ２，…，ＷＪ２」としてＣＹＫテーブル２０の対応する格納エリアに格納する。ただし、登録の際には、それまでに登録された翻訳結果と照合し、同じものは登録しないようにしてもよい。
【００４８】
例えば、用例ベース機械翻訳手段１２や統計的機械翻訳手段１４における翻訳処理において、ある日本語の単語列「ｗｉ，…，ｗｊ」の翻訳結果は、例えば、２つの連続する部分単語列の翻訳結果を連結することで得ることができる。したがって、本実施形態では、上述したように部分単語列の翻訳結果が複数ある場合には、それらを連結してＣＹＫテーブル２０の対応する格納エリアに登録する。例えば、「ｗｉ，…，ｗｊ」の翻訳結果（ｔ（ｊ−ｉ＋１，ｊ））は、図３（ｂ）に示す「ｗｉ，…，ｗｉ＋ｋ−１」の翻訳結果（ｔ（ｋ，ｉ＋ｋ−１））と「ｗｉ＋ｋ，…，ｗｊ」の翻訳結果（ｔ（ｊ−ｉ＋１−ｋ，ｊ））とが両方「空」（なお、「空」とは、その格納エリアに翻訳結果が格納されていない状態を示す）でない場合に、それらを連結することで得ることができる。なお、連結対象の組み合わせは、例えば図３（ｂ）の（１）に示す２つの格納エリア、（２）に示す２つの格納エリア、その後、同様に図３（ｂ）の矢印ａ，ｂの方向にずらした２つの格納エリア毎に、順々に対応する部分単語列同士で部分訳を生成していく。なお、部分訳の生成は、これに限定されるものではない。
【００４９】
また、用例ベース機械翻訳手段１２や統計的機械翻訳手段１４における翻訳処理においては、一文全体の翻訳結果がｔ（ｎ，ｎ）にまとめて登録される。例えば、ｔ（ｎ，ｎ）の領域に格納されている内容が「空」である場合には、一文全体としては翻訳できなかった場合である。その場合には、部分訳を求める。なお、部分訳を求めるには、ＣＹＫテーブル２０の中で「空」でない箇所を見つければよい。その際には、図３（ｃ）に示すように、上のテーブルから順に調べることで、より長い部分訳を得ることができる。
【００５０】
ここで、ある単語列「ｗｐ，…，ｗｉ，…，ｗｊ，…，ｗｑ」に着目したときに、ｔ（ｊ−ｉ＋１，ｊ）が「空」でなかったとすると、それが部分単語列「ｗｉ，…，ｗｊ」の訳である。また、その前後の単語列「ｗｐ，…，ｗｉ−１」と「ｗｊ＋１，…，ｗｑ」とは、翻訳できなかった単語列である。これら２つの単語列のそれぞれに対して、上述と同様な処理を繰り返すことで、図３（ｃ）に示すように用例翻訳された単語列とされなかった単語列を求めることができる。
【００５１】
なお、図３（ｃ）の例では、説明の便宜上、翻訳できなかった単語列が存在する場合を示したが、本実施形態では、用例ベース機械翻訳手段１２及び統計的機械翻訳手段１４を両方用いるため、翻訳できない単語はほとんどない。また、格納エリアの中には、用例ベース機械翻訳及び統計的機械翻訳の両方の翻訳結果が含まれているエリアや、一方の翻訳結果のみが入っているエリアが存在する。
【００５２】
図４は、ＣＹＫテーブルを用いた機械翻訳処理の一例を示すフローチャートである。図４の例において、翻訳処理は、原始言語の文章データ（例えば、日本語文）が入力されると、形態素解析手段１１により単語「ｗ１，…，ｗｎ」に分割される（Ｓ１１）。次に、翻訳処理は、Ｓ１１により分割された単語から全ての部分単語列「ｗｉ，…，ｗｊ（ｉ≦ｊ、ｉ＝１，…，ｎ、ｊ＝１，…，ｎ）」を生成する。
【００５３】
具体的には、翻訳処理は、ｉ＝１を設定し（Ｓ１２）、ｊ＝ｉを設定し（Ｓ１３）、単語列「ｗｉ，…，ｗｊ」が翻訳用例にあるか否かを判断する（Ｓ１４）。Ｓ１４の処理では、例えば単語列「ｗｉ，…，ｗｊ」に対して、節・句単位翻訳用例格納手段１３に格納された用例（「ｗｉ，…，ｗｊ」⇔「ＷＩ，…ＷＪ」）の原始言語側単語列「ｗｉ，…，ｗｊ」と照合することで、単語列「ｗｉ，…，ｗｊ」が翻訳用例にあるか否かを判断することができる。
【００５４】
翻訳処理は、単語列「ｗｉ，…，ｗｊ」が翻訳用例にある場合（Ｓ１４において、ＹＥＳ）、翻訳用例の目的側単語列「ＷＩ，…，ＷＪ」を部分翻訳格納手段１５のＣＹＫテーブル２０に対してｔ（ｉ，ｊ）＝ＷＩ，…，ＷＪとして翻訳結果をｔ（ｊ−ｉ＋１,ｊ）に格納する（Ｓ１５）。
【００５５】
次に、翻訳処理は、翻訳用例にない場合（Ｓ１４において、ＮＯ）、又はＳ１５の処理後、ｊに１を加算し（Ｓ１６）、ｊがｎより大きいか否かを判断し（Ｓ１７）、ｊがｎより大きくない場合（Ｓ１７において、ＮＯ）、Ｓ１４の処理に戻る。つまり、上述の処理では、入力された単語列の各単語を１単語ずつ連結させていき、連結させた単語列毎に上述した用例との照合を行い、対応する翻訳結果があれば、対応するＣＹＫテーブル２０の格納エリアに翻訳結果を格納する。
【００５６】
また、翻訳処理は、ｊがｎより大きい場合（Ｓ１７において、ＹＥＳ）、ｉに１を加算し（Ｓ１８）、ｉがｎより大きいか否かを判断し（Ｓ１９）、ｉがｎより大きくない場合（Ｓ１９において、ＮＯ）、Ｓ１３の処理に戻る。つまり、上述の処理では、入力された単語列の先頭の単語を１単語ずつずらしながら、上述した用例との照合を行い、対応する翻訳結果があれば、対応するＣＹＫテーブル２０の格納エリアに翻訳結果を格納する。
【００５７】
また、翻訳処理は、ｉがｎより大きい場合（Ｓ１９において、ＹＥＳ）、次の処理として、統計的機械翻訳を行う。具体的には、翻訳処理は、ｉ＝１を設定し（Ｓ２０）、ｊ＝ｉを設定する（Ｓ２１）。次に、翻訳処理は、単語列ｗｉ，…，ｗｊを統計的機械翻訳し、その結果をｔ（ｊ−ｉ＋１，ｊ）に格納する（Ｓ２２）。
【００５８】
Ｓ２２の処理後、ｊに１を加算し（Ｓ２３）、ｊがｎより大きいか否かを判断し（Ｓ２４）、ｊがｎより大きくない場合（Ｓ２４において、ＮＯ）、Ｓ２２の処理に戻る。つまり、上述の処理では、入力された単語列の各単語を１単語ずつ連結させていき、連結させた単語列毎に統計的機械翻訳を行い、対応する翻訳結果があれば、対応するＣＹＫテーブル２０の格納エリアに翻訳結果を格納する。
【００５９】
また、翻訳処理は、ｊがｎより大きい場合（Ｓ２４において、ＹＥＳ）、ｉに１を加算し（Ｓ２５）、ｉがｎより大きいか否かを判断し（Ｓ２６）、ｉがｎより大きくない場合（Ｓ２６において、ＮＯ）、Ｓ２１の処理に戻る。つまり、上述の処理では、入力された単語列の先頭の単語を１単語ずつずらしながら、上述した統計的機械翻訳を行い、対応する翻訳結果があれば、対応するＣＹＫテーブル２０の格納エリアに翻訳結果を格納する。上述した処理により得られるＣＹＫテーブル２０は、部分翻訳格納手段１５として記憶される。なお、上述したＳ１２〜Ｓ１９の処理と、Ｓ２０〜Ｓ２６の処理とは、逆の順序で処理されてもよい。
【００６０】
次に、翻訳処理は、各格納エリアに格納された用例ベース機械翻訳結果及び統計的機械翻訳結果のそれぞれを用いて連結時における翻訳スコアと言語スコアを計算し、その結果を用いて翻訳結果を出力する。具体的には、翻訳処理は、ｉ＝１を設定し（Ｓ２７）、ｊ＝ｉ＋１を設定する（Ｓ２８）、新たな変数ｋに１を設定する（Ｓ２９）。
【００６１】
次に、翻訳処理は、ｔ（ｉ，ｊ）（ｉ＝１，…，ｎ、ｊ＝１，…，ｎ）に対してｋ＝１，…，ｊ−ｉを生成し、ＣＹＫテーブル（部分翻訳格納手段１５）を参照し、ｔ（ｋ，ｉ＋ｋ−１）とｔ（ｊ−ｉ＋１−ｋ，ｊ）はそれぞれ「空」でないか否かを判断する（Ｓ３０）。ここで、翻訳処理は、共に「空」でない場合（Ｓ３０において、ＹＥＳ）、ｔ（ｋ，ｉ＋ｋ−１）とｔ（ｊ−ｉ＋１−ｋ，ｊ）とに格納されている翻訳結果からそれぞれ一つ取り出し、ｔ（ｋ，ｉ＋ｋ−１）＝ＷＩ１，…，ＷＪ１とｔ（ｊ−ｉ＋１−ｋ，ｊ）＝ＷＩ２，…，ＷＪ２とを連結する（Ｓ３１）。
【００６２】
次に、翻訳処理は、部分翻訳ＷＩ１，…，ＷＪ１，ＷＩ２，…，ＷＪ２の翻訳スコアを計算し（Ｓ３２）、部分翻訳ＷＩ１，…，ＷＪ１，ＷＩ２，…，ＷＪ２の言語スコアを計算する（Ｓ３３）。
【００６３】
次に、翻訳処理は、部分翻訳ＷＩ１，…，ＷＪ１，ＷＩ２，…，ＷＪ２がＣＹＫテーブルのｔ（ｊ−ｉ＋１，ｊ）に格納されているか否かを判断する（Ｓ３４）。翻訳処理は、部分翻訳ＷＩ１，…，ＷＪ１，ＷＩ２，…，ＷＪ２がＣＹＫテーブルのｔ（ｊ−ｉ＋１，ｊ）に格納されている場合（Ｓ３４において、ＹＥＳ）、Ｓ３２，Ｓ３３の処理で計算した値から得られる部分翻訳スコアの値が、ＣＹＫテーブルのｔ（ｊ−ｉ＋１，ｊ）に格納されている翻訳スコアの値より大きいか否かを判断する（Ｓ３５）。ここで、部分翻訳スコアとは、Ｓ３２の処理で得られた翻訳スコアとＳ３３の処理で得られた言語スコアとを加算したものであるが、これに限定されるものではない。
【００６４】
翻訳処理は、Ｓ３２，Ｓ３３の処理で計算した値から得られる部分翻訳スコアの値が、ＣＹＫテーブルのｔ（ｊ−ｉ＋１，ｊ）に格納されている翻訳スコアの値より大きい場合（Ｓ３５において、ＹＥＳ）、ＣＹＫテーブルのｔ（ｊ−ｉ＋１，ｊ）に格納されている部分翻訳ＷＩ１，…，ＷＪ１，ＷＩ２，…，ＷＪ２の部分翻訳スコアをＳ３２，Ｓ３３の処理で得られた値を加算した部分翻訳スコアの値に置き換える（Ｓ３６）。これにより、ｔ（ｊ−ｉ＋１，ｊ）の格納エリアには、部分翻訳スコアの最大値が格納される。
【００６５】
また、Ｓ３４の処理において、ＷＩ１，…，ＷＪ１，ＷＩ２，…，ＷＪ２がＣＹＫテーブルのｔ（ｊ−ｉ＋１，ｊ）に格納されていない場合（Ｓ３４において、ＮＯ）、Ｓ３２，Ｓ３３の処理対象の部分翻訳ＷＩ１，…，ＷＪ１，ＷＩ２，…，ＷＪ２と、Ｓ３２，Ｓ３３の処理で得られた値を加算した部分翻訳スコアの値をＣＹＫテーブルのｔ（ｊ−ｉ＋１，ｊ）に格納する（Ｓ３７）。
【００６６】
Ｓ３６、Ｓ３７の処理後、Ｓ３０の処理において、共に「空」でない場合に該当しない場合（Ｓ３０において、ＮＯ）、又は、Ｓ３５の処理において、Ｓ３２，Ｓ３３の処理で計算した値から得られる部分翻訳スコアの値が、ＣＹＫテーブルのｔ（ｊ−ｉ＋１，ｊ）に格納されている翻訳スコアの値より大きくない場合（Ｓ３５において、ＮＯ）、翻訳処理は、ｔ（ｋ，ｉ＋ｋ−１）とｔ（ｊ−ｉ＋１−ｋ，ｊ）に格納されている全ての部分翻訳の組み合わせを連結したか否かを判断する（Ｓ３８）。
【００６７】
Ｓ３８の処理において、ｔ（ｋ，ｉ＋ｋ−１）とｔ（ｊ−ｉ＋１−ｋ，ｊ）に格納されている全ての部分翻訳の組み合わせを連結していない場合（Ｓ３８において、ＮＯ）、Ｓ３１の処理に戻る。また、全ての部分翻訳の組み合わせを連結した場合（Ｓ３８において、ＹＥＳ）、ｋに１増加し（Ｓ３９）、ｋがｊ−ｉの値より大きいか否かを判断する（Ｓ４０）。
【００６８】
翻訳処理は、ｋがｊ−ｉより大きくない場合（Ｓ４０において、ＮＯ）、Ｓ３０の処理に戻る。また、翻訳処理は、ｋがｊ−ｉより大きい場合（Ｓ４０において、ＹＥＳ）、ｊに１を増加し（Ｓ４１）、ｊがｎより大きいか否かを判断し（Ｓ４２）、ｊがｎより大きくない場合（Ｓ４２において、ＮＯ）、Ｓ２９の処理に戻る。また、翻訳処理は、ｊがｎより大きい場合（Ｓ４２において、ＹＥＳ）、ｉに１を加算し（Ｓ４３５）、ｉがｎより大きいか否かを判断し（Ｓ４４）、ｉがｎより大きくない場合（Ｓ４４において、ＮＯ）、Ｓ２８の処理に戻る。つまり、上述の処理では、入力された単語列の各単語を１単語ずつ連結させていき、連結させた単語列毎に翻訳スコアと言語スコアとを用いて、その加算値である部分翻訳スコアを格納していく。また、翻訳処理は、ｉがｎより大きい場合（Ｓ４４において、ＹＥＳ）、最終的にｔ（ｎ，ｎ）に格納されている翻訳結果を出力する（Ｓ３９）。
【００６９】
なお、図４の処理は、用例ベース機械翻訳の後、統計的機械翻訳を行っているが、処理の順序は逆でもよい。図４の処理は、翻訳スコアの計算（Ｓ３２）と言語スコアの計算（Ｓ３３）を連続して計算しているが、これに限定されるものではなく、異なるタイミングで処理してもよい。
【００７０】
＜ＣＹＫテーブルを用いた翻訳手法の具体例＞
ここで、図５は、ＣＹＫテーブルを用いた翻訳手法の具体例を示す図である。なお、図５（ａ）は、ＣＹＫテーブルの一例を示し、図５（ｂ）は、用例翻訳結果の具体例を示し、図５（ｃ）は、部分翻訳の具体例を示している。
【００７１】
ここで、図３のＣＹＫテーブル２０の例は、単語に注目してｉ，ｊを付与しているのに対し、図５（ａ）のＣＹＫテーブルの例は、テーブルの格納エリアに注目してｉ，ｊと付与している。つまり、図３のＣＹＫテーブル２０は、「ｗｉ，…，ｗｊの翻訳結果＝ｔ（ｊ−ｉ＋１，ｊ）」（以下、（１）式という）として示しているのに対し、図５のＣＹＫテーブルは、「ｔ（ｉ，ｊ）＝ｗｊ−ｉ＋１，…，ｗｊの翻訳結果」（以下、（２）式という）を示しており、両者は相互に変換可能である。
【００７２】
具体的には、上述した（１）式で、「ｘ＝ｊ−ｉ＋１、ｙ＝ｊ」とおくと、「ｊ＝ｙ、ｉ＝ｊ−ｘ＋１＝ｙ−ｘ＋１」となる。したがって、（１）式は、「左辺＝ｗｉ，…，ｗｊの翻訳結果＝ｗｙ−ｘ＋１，…，ｗｙの翻訳結果」（以下、（３）式という）、「右辺＝ｔ（ｊ−ｉ＋１，ｊ）＝ｔ（ｘ，ｙ）」（以下、（４）式という）となる。ここで、改めてｘ→ｉ、ｙ→ｊとおくと、「（３）式＝ｗｊ−ｉ＋１，…，ｗｊの翻訳結果」、（４）式＝ｔ（ｉ，ｊ）」となり、上述した（２）式が得られる。つまり、本実施形態では、ＣＹＫテーブルに対して、例えば単語に注目してｉ，ｊを付与することもでき、テーブルの格納エリアに注目してｉ，ｊと付与することができる。
【００７３】
＜日本語文１に対応した翻訳の具体例＞
図５に示すＣＹＫテーブルを用いた用例翻訳手法の具体例は、上述した日本語文１「九州と沖縄は夕方から雷雨となりそうです」に対応した翻訳の具体例を示すものである。日本語文１は、形態素解析結果により「九州／と／沖縄／は／夕方／から／雷雨／と／なり／そう／です」と分割され、分割された単語から全ての部分単語列を生成すると、以下の例のようになる。
「九州」
「九州／と」
「九州／と／沖縄」
「九州／と／沖縄／は」
・・・
「と」
「と／沖縄／」
「と／沖縄／は」
・・・
「そう／です」
「です」
次に、上述した部分単語列のように生成されたある単語列に対して、節・句単位翻訳用例格納手段１３に格納された翻訳用例（例えば、上述した［用例１］のデータ）の原始言語側の単語列と照合する。また、機械翻訳により得られた翻訳スコアとの関係は、
（ａ１）「九州／と／沖縄／は」⇔「九州  Ｎ  沖縄」
翻訳スコア＝０．９５
（ａ２）「九州／と／沖縄／は」⇔「九州  Ｎ  沖縄  Ｎ」
翻訳スコア＝０．８５
（ｃ１）「雷雨／と／なり／そう／です」⇔「雷  雨  夢」
翻訳スコア＝０．９５
（ｃ２）「雷雨／と／なり／そう／です」⇔「雷  雨  らしい」
翻訳スコア＝０．９
となる。なお、翻訳スコアは、例えばその翻訳がコーパス中に出現する確率から取得することができるが、これに限定されるものではない。
【００７４】
本実施形態では、照合の結果、一致した場合には、用例の目的側単語列を部分翻訳格納手段１５に格納されたＣＹＫテーブルの対応する格納エリアに格納する。ここで、部分単語列を翻訳用例の日本語側と照合すると、「九州／と」、「沖縄／は」、「雷雨／と／なり／そう／です」、「雷雨／と／なり」、「そう／です」が一致するため、図５（ｂ）に示すように「ｔ（２，２）＝九州  Ｎ」、「ｔ（２，４）＝沖縄」、「ｔ（３，９）＝雷  雨」、「ｔ（２，１１）＝夢  Ｎ」、「ｔ（５，１１）＝雷  雨  夢  Ｎ」等と登録する（図５（ａ））。
【００７５】
次に、部分翻訳格納手段１５のＣＹＫテーブルを参照し、ｔ（ｋ，ｋ）とｔ（４−ｋ，４）が共に「空」でないか否かを判定する。その結果、
ｋ＝１のとき、ｔ（１，１）＝空、ｔ（３，４）＝空
ｋ＝２のとき、ｔ（２，２）＝九州  Ｎ、ｔ（２，４）＝沖縄
ｋ＝３のとき、ｔ（３，３）＝空、ｔ（１，４）＝空
となるため、ｋ＝２のときに、連結対象の格納エリアは共に「空」でないこととなる。
【００７６】
したがって、ｔ（ｋ，ｋ）とｔ（４−ｋ，４）が共に「空」でなかった場合に、ｔ（ｋ，ｋ）とｔ（４−ｋ，４）とに格納されている翻訳結果「ｔ（２，２）＝九州  Ｎ」と「ｔ（２，４）＝沖縄」とを連結し、部分翻訳として、部分翻訳格納手段１５のＣＹＫテーブルに、用例ベースによる部分翻訳「ｔ（４，４）＝九州  Ｎ  沖縄」が格納される。この処理は、ｔ（１１，１１）まで行われる。
【００７７】
なお、本実施形態では、部分翻訳格納手段１５のＣＹＫテーブルに翻訳結果に関係なく、上述した用例ベース機械翻訳と同様に一文全体に統計的機械翻訳を行う。なお、統計的機械翻訳手段１４は、予め節・句単位翻訳用例格納手段１３に格納されている翻訳用例等を使って学習された翻訳辞書を用いて上述した用例ベース機械翻訳の場合と同様の統計的機械翻訳を行う。
【００７８】
ここで、本実施形態において、例えば、図５（ａ）に示すｔ（６，６）にデータを格納する際、それまでの処理で図５（ｃ）に示すように、用例ベース機械翻訳による部分翻訳としてｔ（４，４）＝｛九州  Ｎ  沖縄，九州  Ｎ  沖縄  Ｎ｝、統計的機械翻訳による部分翻訳としてｔ（３，６）＝｛夕がた  から，夕がた  Ｎ｝のそれぞれの２つの翻訳結果が得られているとする。このような場合には、用例ベース機械翻訳結果２つと、統計的機械翻訳結果２つのそれぞれをｔ（６，６）の格納エリアに格納する。
【００７９】
具体的に説明すると、統計的機械翻訳では、単語列ｗｉ，・・・，ｗｊを統計的機械翻訳し、その結果をｔ（ｊ−ｉ＋１，ｊ）に格納する。例えば、「夕方から」を統計的機械翻訳すると、
（ｂ１）  翻訳結果１  「夕がた  から」  翻訳スコア＝０．８５
（ｂ２）  翻訳結果２  「夕がた  Ｎ」  翻訳スコア＝０．８
の２つの翻訳結果が得られる。ここで、翻訳スコアは、予め設定されたコーパス等からが取得した値である。
【００８０】
次に、Ｓ３０の処理では、ｔ（ｋ，ｉ＋ｋ−１）とｔ（ｊ−ｉ＋１−ｋ，ｊ）がそれぞれ「空」でないか否かを判定する。例えば、ｉ＝１，ｊ＝６とすると、ｔ（ｋ，ｋ）とｔ（６−ｋ，６）が共に「空」でないか否かを判定する。例えば、
ｋ＝１のとき、ｔ（１，１）＝空、ｔ（５，６）＝空
ｋ＝２のとき、ｔ（２，２）＝空、ｔ（４，６）＝空
ｋ＝３のとき、ｔ（３，３）＝空、ｔ（３，６）＝空
ｋ＝４のとき、ｔ（４，４）＝｛（「九州  Ｎ  沖縄」，０，９５），（「九州  Ｎ  沖縄  Ｎ」，０，８５）｝、ｔ（２，６）＝｛（「夕がた  から」，０．８５｝，（「夕がた  Ｎ」，０．８）｝）
ｋ＝５のとき、ｔ（５，５）＝空、ｔ（１，６）＝空
とする。この場合、ｋ＝４のときに、共に空でないこととなる。
【００８１】
例えば、共に空でなかった場合に、ｔ（ｋ，ｉ＋ｋ−１）とｔ（ｊ−ｉ＋１−ｋ，ｊ）とに格納されている翻訳結果からそれぞれ一つ取り出し、ｔ（ｋ，ｉ＋ｋ−１）＝ＷＩ１，・・・，ＷＪ１と、ｔ（ｊ−ｉ＋１−ｋ，ｊ）＝ＷＩ２，・・・，ＷＪ２とを連結する。
【００８２】
例えば、ｉ＝１，ｊ＝６，ｋ＝４とした場合に、ｔ（４，４）に格納されている「九州  Ｎ  沖縄」と、ｔ（２，６）に格納されている（「夕がた  から」を取り出して連結すると、「（ｄ１）「九州  Ｎ  沖縄  夕がた  から」」のようになる。
【００８３】
また、上述したＳ３３の処理では、部分翻訳ＷＩ１，・・・，ＷＪ１，ＷＩ２，・・・，ＷＪ２の言語スコアを計算する。例えば、言語スコアを２−ｇｒａｍと定義し、予め次のように計算されていたものとする。
・２−ｇｒａｍの例
「沖縄  夕がた」言語スコア＝０．１
「Ｎ  夕がた」  言語スコア＝０．５
「から  雷」    言語スコア＝０．５
「Ｎ  雷」      言語スコア＝０．４
例えば、上述した（ｄ１）の場合には、その接続部分が「沖縄  夕がた」であるため、Ｓ３３の処理結果として言語スコア０．１が得られる。
【００８４】
ここで、Ｓ３２の処理結果と、Ｓ３３の処理結果とを用いて、部分翻訳スコアを計算する。部分翻訳スコアは、例えば「（新たな翻訳スコア）＝（翻訳結果Ａの翻訳スコア）＋（翻訳結果Ｂの翻訳スコア）＋（翻訳結果Ａと翻訳結果Ｂ間の言語スコア）」のように定義して計算する。例えば、上述した（ｄ１）の場合には、その接続部分が「沖縄  夕がた」であるため、翻訳スコアは、「（ｄ１）の翻訳スコア＝（ｔ（４，４）＝「九州  Ｎ  沖縄」の翻訳スコア）＋（ｔ（２，６）＝「夕がた  から」の翻訳スコア）＋（「沖縄  夕がた」の言語スコア）＝０．９５＋０．８５＋０．１＝１．９」となる。
【００８５】
また、上述したＳ３４の処理では、部分翻訳ＷＩ１，・・・，ＷＪ１，ＷＩ２，・・・，ＷＪ２が部分翻訳格納手段１５のｔ（ｊ−ｉ＋１，ｊ）に格納されているか否かを判定する。例えば、部分翻訳（ｄ１）がｔ（６，６）に格納されているか否かを判定する。
【００８６】
また、上述したＳ３４の処理では、Ｓ３２，Ｓ３３の処理で取得した値から得られる部分翻訳ＷＩ１，・・・，ＷＪ１，ＷＩ２，・・・，ＷＪ２の部分翻訳スコアと、既に部分翻訳格納手段１５に格納されている部分翻訳ＷＩ１，・・・，ＷＪ１，ＷＩ２，・・・，ＷＪ２の翻訳スコアを比較する。例えば、上述した部分翻訳（ｄ１）の部分翻訳スコア（＝１．９）と、ｔ（６，６）に格納されている「九州  Ｎ  沖縄  夕がた  から」の翻訳スコア（例えば１．８とする）とを比較する。
【００８７】
また、Ｓ３６の処理では、部分翻訳格納手段１５のｔ（ｊ−ｉ＋１，ｊ）に格納されている部分翻訳ＷＩ１，・・・，ＷＪ１，ＷＩ２，・・・，ＷＪ２の翻訳スコアを部分翻訳スコアに置き換える。例えば、ｔ（６，６）に格納されている「九州  Ｎ  沖縄  夕がた  から」の翻訳スコア（例えば、１．８とする）を、部分翻訳（ｄ１）の翻訳スコア（＝１．９）に置き換える。
【００８８】
また、Ｓ３７の処理では、部分翻訳ＷＩ１，・・・，ＷＪ１，ＷＩ２，・・・，ＷＪ２とその翻訳スコアを部分翻訳格納手段１５のｔ（ｊ−ｉ＋１，ｊ）に格納する。例えば、部分翻訳（ｄ１）と、その翻訳スコア１．９をｔ（６，６）に格納する。
【００８９】
Ｓ３８の処理では、ｔ（ｋ，ｉ＋ｋ−１）とｔ（ｊ−ｉ＋１−ｋ，ｊ）に格納されている全ての部分翻訳の組み合わせを連結したか否かを判定する。例えば、ｉ＝１，ｊ＝６，ｋ＝４では、全ての組み合わせは、
（ｄ１）「九州  Ｎ  沖縄  夕がた  から」
（ｄ２）「九州  Ｎ  沖縄  夕がた  Ｎ」
（ｄ３）「九州  Ｎ  沖縄  Ｎ  夕がた  から」
（ｄ４）「九州  Ｎ  沖縄  Ｎ  夕がた  Ｎ」
の４つとなる。
【００９０】
Ｓ４５の処理では、ｔ（ｎ，ｎ）に格納されている翻訳結果の中で、翻訳スコアが最大となる翻訳結果を出力して終了する。ｔ（１１，１１）には次のｆ１〜ｆ８の８つの翻訳結果が格納されているとする。
（ｆ１）「九州  Ｎ  沖縄  夕がた  から  雷  雨  夢」  翻訳スコア＝３．３５（ｆ２）「九州  Ｎ  沖縄  夕がた  から  雷  雨  らしい」  翻訳スコア＝３．２５
（ｆ３）「九州  Ｎ  沖縄  夕がた  Ｎ  雷  雨  夢」  翻訳スコア＝３．２
（ｆ４）「九州  Ｎ  沖縄  夕がた  Ｎ  雷  雨  らしい」  翻訳スコア＝３．１５
（ｆ５）「九州  Ｎ  沖縄  Ｎ  夕がた  から  雷  雨  夢」  翻訳スコア＝３．６５
（ｆ６）「九州  Ｎ  沖縄  Ｎ  夕がた  から  雷  雨  らしい」  翻訳スコア＝３．５
（ｆ７）「九州  Ｎ  沖縄  Ｎ  夕がた  Ｎ  雷  雨  夢」  翻訳スコア＝３．６
（ｆ８）「九州  Ｎ  沖縄  Ｎ  夕がた  Ｎ  雷  雨  らしい」  翻訳スコア＝３．４５
この中で、翻訳スコアが最大となるのは（ｆ５）の３．６５である。したがって、本実施形態では、上述した部分翻訳の翻訳結果を入力データの入力順に出力し、すなわち、「九州  Ｎ  沖縄  Ｎ  夕がた  から  雷  雨  夢」を翻訳結果（手話単語列）として出力して終了する。もし、ｔ（１１，１１）が空の場合には「翻訳結果なし」として出力してもよい。また、複数ある場合は、上述した（ｆ１）〜（ｆ８）をスコアと共に出力してもよく、スコアの高い順に所定数出力してもよい。これにより、より適切な翻訳結果を出力することができる。
【００９１】
このように本実施形態では、用例ベース機械翻訳及び統計的機械翻訳のそれぞれの結果が格納していき、それぞれの結果を用いて、言語モデルによる他の単語間とのつながりやすさを基準にした指標値（言語スコア）を算出し、翻訳スコアに加算して、最終的な翻訳結果を出力する。
【００９２】
図６は、本実施形態に対応する翻訳スコアの概要例を示す図である。本実施形態では、上述したように日本語文１から手話を生成する場合に、各部分翻訳の多数の候補から、その繋ぎに対するｎ−ｇｒａｍ言語モデルに基づく言語スコアを生成し（図６の例では、２−ｇｒａｍ）、その結果を加算することで、翻訳スコアを更新し、適切な候補を出力することができる。
【００９３】
なお、図６の例では、「九州と沖縄は」と「夕方から」との言語スコアを計算しているが、本実施形態では、「夕方から」と「雷雨になりそうです」についても同様に言語スコアを計算して、それぞれの結果を加算して最終的なスコアを取得する。なお、本実施形態におけるスコア計算においては、上述した加算に限定されるものではない。
【００９４】
＜重み付けについて＞
ここで、本実施形態における機械翻訳では、上述した節・句単位翻訳用例格納手段１３により格納されているコーパス（例えば、翻訳用例データ等）を用いているが、１つの単語に複数の翻訳結果が抽出される場合がある。そのような場合には、予めコーパスに翻訳結果毎の出現頻度を設定しておき、翻訳時には、この出現頻度を重み付けとして、複数の翻訳結果が抽出された場合に、最も出現頻度が大きい（重み付けの重い）ものを出力することで、より高精度な翻訳結果を取得することができる。また、本実施形態では、翻訳スコアと言語スコアとの間で重み付けを行い、何れかのスコアの重要度を調整する等の処理を行ってもよい。
【００９５】
＜手話ＣＧ翻訳システムの概要＞
本実施形態では、部分翻訳合成手段１８により合成された翻訳結果（手話単語列）を用いて、入力データに対応する手話映像を出力することができる。
【００９６】
手話ＣＧ翻訳は大きく分けて、言語翻訳とＣＧ生成の２つの処理から構成されている。言語翻訳では、例えば入力された日本語テキストをｇｌｏｓｓ表記された手話単語列に変換する。ここで、ｇｌｏｓｓ表記とは、手話動作を単語毎に書き起こしたものである。
【００９７】
次に、ＣＧ生成で、言語翻訳で変換された手話単語列を手話辞書を用いてＣＧに置換し、隣接する単語の手話ＣＧを繋ぐことにより、手話ＣＧの文を生成する。これにより、例えば、気象ニュースやスポーツ等の実況文を手話ＣＧに翻訳して出力することができる。
【００９８】
なお、気象ニュースの場合には、気象ニュースの映像とタイムコード付き字幕を入力されると、映像・字幕・手話ＣＧが同期して出力される。更に、システムにはパラメータ設定インターフェースが用意され、容易に画面レイアウトの変更を行うことができる。したがって，パラメータを変更してＴＶ番組の手話ＣＧ翻訳を行うことができる。
【００９９】
なお、手話映像として表示される画像は、光学式モーションキャプチャによって取得した動作データと、骨格構造を持った人体ＣＧモデルで構成されている。また、ＣＧの描画は、映像コンテンツ記述言語ＴＶＭＬ（ＴＶ  ｐｒｏｇｒａｍ  Ｍａｋｉｎｇ  Ｌａｎｇｕａｇｅ）を用いているため、容易に動作編集が可能となる。
【０１００】
手話ＣＧの同期は、文全体を一様に短くしていることで、その動作が非常に速く感じられる。そこで、音声の話速変換のように、手話ＣＧでもスピードの強弱をつけて短くすればわかりやすくなる。
【０１０１】
また、本実施形態では、日本語から英語への通訳の中で行われているように、日本語の情報を全て翻訳するのではなく、重要な情報のみを翻訳してもよい。
【０１０２】
＜実行プログラム＞
ここで、上述した機械翻訳装置１０は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性の記憶媒体、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の記憶媒体、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータを表示する表示装置、並びに外部と通信するためのインタフェース装置を備えたコンピュータによって構成することができる。
【０１０３】
したがって、機械翻訳装置が有する上述した各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現可能となる。また、これらのプログラムは、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記録媒体に格納して頒布することもできる。
【０１０４】
つまり、上述した各構成における処理をコンピュータに実行させるための実行プログラム（機械翻訳プログラム）を生成し、例えば汎用のパーソナルコンピュータやサーバ等にそのプログラムをインストールすることにより、機械翻訳処理を実現することができる。なお、本発明における実行プログラムによる処理については、例えば上述した各処理を実現することができる。
【０１０５】
上述したように本実施形態によれば、従来手法より的確な翻訳、すなわち高精度な翻訳を実現することができる。具体的には、本実施形態では、用例ベースや統計的な機械翻訳と、言語モデルとを用いた新たなスコアに基づいて、より高精度な機械翻訳を提供することができる。なお、本実施形態では、日本語を手話に翻訳する際の固有名詞の翻訳を自動で行い、手話通訳の支援やＣＧへの変換に利用する自然言語処理に広く適用することができる。そのため、入力データとしては、上述した気象情報に限定されるものではなく、例えばニュース原稿やスポーツ実況等の定型表現の多いものや、それ以外のあらゆる自然言語にも適用することができる。
【０１０６】
また、上述した機械翻訳では、日本語から手話への翻訳例を示したが、本発明においてはこれに限定されるものではなく、例えば原始言語と目的言語との間で語順が同一の言語間の場合（例えば、日本語と韓国語、英語とフランス語等）にも適用することができる。
【０１０７】
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【０１０８】
１０  機械翻訳装置
１１  形態素解析手段
１２  用例ベース機械翻訳手段
１３  節・句単位翻訳用例格納手段
１４  統計的機械翻訳手段
１５  部分翻訳格納手段
１６  翻訳スコア取得手段
１７  言語スコア取得手段
１８  部分翻訳合成手段
２０  ＣＹＫテーブル
【図１】
2015115007.tif 000003
【図２】
2015115007.tif 000004
【図６】
2015115007.tif 000005
【図３】
2015115007.tif 000006
【図４】
2015115007.tif 000007
【図５】
2015115007.tif 000008