(57)【要約】【課題】２つの言語の間における語句同士の対応関係を高速に生成する。【解決手段】コンピュータは、第１言語の複数の文を所定単位で符号化することで、第１言語の複数の符号文を生成する（ステップ７０１）。次に、コンピュータは、第１言語の複数の文それぞれに対応付けられた第２言語の複数の文を、所定単位で符号化することで、第２言語の複数の符号文を生成する（ステップ７０２）。そして、コンピュータは、第１言語の複数の符号文各々に含まれる符号と、第１言語の複数の符号文各々に対応付けられた第２言語の符号文に含まれる符号とに基づいて、対応関係情報を生成する（ステップ７０３）。対応関係情報は、第１言語の複数の符号と第２言語の複数の符号との間の対応関係を示す。【選択図】図７
2019159743.tif 000002
【特許請求の範囲】
【請求項１】
第１言語の複数の文を所定単位で符号化することで、前記第１言語の複数の符号文を生成し、
前記第１言語の複数の文それぞれに対応付けられた第２言語の複数の文を、前記所定単位で符号化することで、前記第２言語の複数の符号文を生成し、
前記第１言語の複数の符号文各々に含まれる符号と、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に含まれる符号とに基づいて、前記第１言語の複数の符号と前記第２言語の複数の符号との間の対応関係を示す対応関係情報を生成する、
処理をコンピュータに実行させるための対応関係生成プログラム。
【請求項２】
前記コンピュータは、前記第１言語の複数の符号各々と前記第２言語の複数の符号各々との組み合わせについて、前記第１言語の符号が前記第１言語の複数の符号文各々に出現し、かつ、前記第２言語の符号が、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に出現する回数に基づき、前記対応関係情報を生成することを特徴とする請求項１記載の対応関係生成プログラム。
【請求項３】
前記コンピュータは、
前記第１言語の複数の文を前記所定単位で符号化するとき、前記第１言語の複数の符号各々が前記第１言語の複数の符号文各々に含まれるか否かを示す論理値を有する第１インデックス情報を生成し、
前記第２言語の複数の文が前記所定単位で符号化するとき、前記第２言語の複数の符号各々が前記第２言語の複数の符号文各々に含まれるか否かを示す論理値を有する第２インデックス情報を生成し、
前記第１インデックス情報と前記第２インデックス情報とに基づいて、前記対応関係情報を生成することを特徴とする請求項１又は２記載の対応関係生成プログラム。
【請求項４】
前記所定単位は、１つ又は複数の単語の表記を正規化した文字列に対応することを特徴とする請求項１乃至３のいずれか１項に記載の対応関係生成プログラム。
【請求項５】
第１言語の複数の文と、前記第１言語の複数の文それぞれに対応付けられた第２言語の複数の文とを記憶する記憶部と、
前記第１言語の複数の文を所定単位で符号化することで、前記第１言語の複数の符号文を生成し、前記第２言語の複数の文を前記所定単位で符号化することで、前記第２言語の複数の符号文を生成する符号化部と、
前記第１言語の複数の符号文各々に含まれる符号と、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に含まれる符号とに基づいて、前記第１言語の複数の符号と前記第２言語の複数の符号との間の対応関係を示す対応関係情報を生成する生成部と、
を備えることを特徴とする対応関係生成装置。
【請求項６】
コンピュータが、
第１言語の複数の文を所定単位で符号化することで、前記第１言語の複数の符号文を生成し、
前記第１言語の複数の文それぞれに対応付けられた第２言語の複数の文を、前記所定単位で符号化することで、前記第２言語の複数の符号文を生成し、
前記第１言語の複数の符号文各々に含まれる符号と、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に含まれる符号とに基づいて、前記第１言語の複数の符号と前記第２言語の複数の符号との間の対応関係を示す対応関係情報を生成する、
ことを特徴とする対応関係生成方法。
【請求項７】
翻訳処理をコンピュータに実行させるための翻訳プログラムであって、
前記翻訳プログラムは、
第１言語のテキストデータを所定単位で符号化することで、前記第１言語の符号化テキストデータを生成し、
前記第１言語の複数の符号と第２言語の複数の符号との間の対応関係を示す対応関係情報に基づいて、前記第１言語の符号化テキストデータを前記第２言語の符号化テキストデータに翻訳し、
前記第２言語の符号化テキストデータを復号することで、前記第２言語のテキストデータを生成する、
処理を前記コンピュータに実行させ、
前記対応関係情報は、前記第１言語の複数の文を前記所定単位で符号化することで生成された、前記第１言語の複数の符号文と、前記第１言語の複数の文それぞれに対応付けられた前記第２言語の複数の文を前記所定単位で符号化することで生成された、前記第２言語の複数の符号文とから、前記第１言語の複数の符号文各々に含まれる符号と、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に含まれる符号とに基づいて、生成されることを特徴とする翻訳プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対応関係生成プログラム、対応関係生成装置、対応関係生成方法、及び翻訳プログラムに関する。
【背景技術】
【０００２】
ある言語で記述されたテキストデータを別の言語で記述されたテキストデータに翻訳する技術として、統計的機械翻訳及びニューラル機械翻訳が知られている。
【０００３】
統計的機械翻訳では、原文と訳文の複数のペア（対訳コーパス）から翻訳モデル及び言語モデルが生成され、翻訳モデル及び言語モデルを用いて、一方の言語で記述された翻訳対象のテキストデータが、他方の言語で記述されたテキストデータに翻訳される。また、ニューラル機械翻訳では、ニューラルネットワークを利用したモデルが用いられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２２４３１号公報
【特許文献２】特開２０１６−７１４３９号公報
【特許文献３】特開２０１３−１１７８８８号公報
【特許文献４】特開２０１３−１９６１０６号公報
【非特許文献】
【０００５】
【非特許文献１】P.F. Brown et al., “The Mathematics of Statistical Machine Translation: Parameter Estimation”, Computational Linguistics 19(2), pp.263-311, 1993.
【非特許文献２】N. Kalchbrenner et al., “Recurrent Continuous Translation Models”, In EMNLP, pp.1700-1709, 2013.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
統計的機械翻訳及びニューラル機械翻訳では、対訳コーパスから２つの言語の間における語句同士の対応関係を学習することで、翻訳モデルが生成される。語句は、単語又は句（フレーズ）に対応し、句は、連結された複数の単語を含む。翻訳モデルを生成する際、対訳コーパスに含まれる原文と訳文のペア（組み合わせ）に対して、形態素解析を含む前処理が行われる。しかし、形態素解析は計算量が多いため、多数のペアを含む対訳コーパスの場合、翻訳モデルを生成するための時間が長くなる。
【０００７】
１つの側面において、本発明は、２つの言語の間における語句同士の対応関係を高速に生成することを目的とする。
【課題を解決するための手段】
【０００８】
１つの案では、対応関係生成プログラムは、以下の処理をコンピュータに実行させる。
（１）コンピュータは、第１言語の複数の文を所定単位で符号化することで、第１言語の複数の符号文を生成する。
（２）コンピュータは、第１言語の複数の文それぞれに対応付けられた第２言語の複数の文を、所定単位で符号化することで、第２言語の複数の符号文を生成する。
（３）コンピュータは、第１言語の複数の符号文各々に含まれる符号と、第１言語の複数の符号文各々に対応付けられた第２言語の符号文に含まれる符号とに基づいて、第１言語の複数の符号と第２言語の複数の符号との間の対応関係を示す対応関係情報を生成する。
【発明の効果】
【０００９】
１つの実施形態によれば、２つの言語の間における語句同士の対応関係を高速に生成することができる。
【図面の簡単な説明】
【００１０】
【図１】原文と訳文のペアを示す図である。
【図２】翻訳モデルを生成する処理を示す図である。
【図３】前処理を示す図である。
【図４】統計的機械翻訳を示す図である。
【図５】圧縮処理を示す図である。
【図６】対応関係生成装置の機能的構成図である。
【図７】対応関係生成処理のフローチャートである。
【図８】翻訳装置の機能的構成図である。
【図９】対応関係生成処理の具体例を示すフローチャートである。
【図１０】前処理が行われた文を示す図である。
【図１１】第１の英語の文から生成される符号文を示す図である。
【図１２】第２の英語の文から生成される符号文を示す図である。
【図１３】第１の日本語の文から生成される符号文を示す図である。
【図１４】第２の日本語の文から生成される符号文を示す図である。
【図１５】マトリクス情報を示す図である。
【図１６】翻訳モデル及び対応関係情報を示す図である。
【図１７】翻訳処理のフローチャートである。
【図１８】インデックス情報を用いる翻訳装置の機能的構成図である。
【図１９】インデックス情報を用いる対応関係生成処理の具体例を示すフローチャートである。
【図２０】英語の符号化ファイルのインデックス情報を示す図である。
【図２１】日本語の符号化ファイルのインデックス情報を示す図である。
【図２２】インデックス情報から生成されるマトリクス情報を示す図である。
【図２３】情報処理装置の構成図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、実施形態を詳細に説明する。
上述したように、統計的機械翻訳では、対訳コーパスから翻訳モデル及び言語モデルが生成される。翻訳モデルは、言語Ｌ１の語句Ｗ１を言語Ｌ２の語句Ｗ２に置き換える翻訳の正しさを表す確率モデルであり、言語モデルは、言語Ｌ２における語句Ｗ２の正しさを表す確率モデルである。言語Ｌ２における語句Ｗ２の正しさは、文法の正しさ、語句の流暢さ等を意味する。
【００１２】
翻訳対象の言語Ｌ１のテキストデータに含まれる語句に対して、翻訳モデルが表す確率と言語モデルが表す確率の積が最大になるように、言語Ｌ２の語句を選択することで、翻訳結果の言語Ｌ２のテキストデータが生成される。
【００１３】
図１は、対訳コーパスに含まれる原文と訳文のペア（組み合わせ）の例を示している。日本語の文１０１には、“太郎が花子を訪問した。”と記述されており、英語の文１０２には、“taro visited hanako.”と記述されている。文１０１及び文１０２のうち一方を、翻訳対象である原文とすると、他方は、その翻訳結果である訳文になる。
【００１４】
文１０１に含まれる各単語（句読点を含む）と文１０２に含まれる各単語との間には、線分１１１〜線分１１４で示されるような対応関係が存在する。このような対応関係を学習するために、確率モデルが広く利用されている。
【００１５】
図２は、対訳コーパスから翻訳モデルを生成する処理の例を示している。対訳コーパスには、図１の文１０１を含む複数の日本語の文２０１と、文１０２を含む複数の英語の文２０２とが含まれており、日本語の各文２０１と英語の各文２０２のペアは、原文と訳文のペアに相当する。統計的機械翻訳では、複数の日本語の文２０１及び複数の英語の文２０２を用いて学習処理２０３を行うことで、翻訳モデル２０４が生成される。
【００１６】
翻訳モデル２０４は、複数の日本語の文２０１に含まれる各単語ＷＪと複数の英語の文２０２に含まれる各単語ＷＥとの組み合わせ毎に、原文と訳文のペアにその組み合わせ（単語ＷＪ及び単語ＷＥ）が出現する共起確率を表す。
【００１７】
Ｐ（ＷＪ｜ＷＥ）は、原文に単語ＷＪが出現し、かつ、訳文に単語ＷＥが出現する共起確率を表し、Ｐ（ＷＥ｜ＷＪ）は、原文に単語ＷＥが出現し、かつ、訳文に単語ＷＪが出現する共起確率を表す。したがって、Ｐ（ＷＪ｜ＷＥ）は、日本語の単語ＷＪを英語の単語ＷＥに置き換える翻訳の正しさを表し、Ｐ（ＷＥ｜ＷＪ）は、英語の単語ＷＥを日本語の単語ＷＪに置き換える翻訳の正しさを表している。
【００１８】
例えば、Ｐ（花子｜hanako）＝０．９９は、日本語の原文に“花子”が出現し、かつ、英語の訳文に“hanako”が出現する共起確率が０．９９であることを表す。このＰ（花子｜hanako）は、原文に含まれる“花子”を“hanako”に置き換える翻訳の正しさを表している。Ｐ（太郎｜taro）及びＰ（花子｜taro）についても、Ｐ（花子｜hanako）と同様である。
【００１９】
また、Ｐ（visited｜訪問）＝０．４６は、英語の原文に“visited”が出現し、かつ、日本語の訳文に“訪問”が出現する共起確率が０．４６であることを表す。このＰ（visited｜訪問）は、原文に含まれる“visited”を“訪問”に置き換える翻訳の正しさを表している。Ｐ（visited｜した）についても、Ｐ（visited｜訪問）と同様である。
【００２０】
図３は、統計的機械翻訳及びニューラル機械翻訳における前処理の例を示している。言語Ｌ１と言語Ｌ２の間の機械翻訳を行う場合、対訳コーパスに含まれる各言語の文に対して、形態素解析、表記正規化、及び構文解析を含む前処理が行われる。ただし、構文解析は省略されることもある。
【００２１】
形態素解析は、文字列を形態素に分割し、各形態素に対して品詞、属性等の情報を付与する処理であり、表記正規化は、同じ意味の語句の表記を統一する処理である。例えば、表記正規化では、欧米言語の文頭の大文字を小文字に変更したり、日本語の数字又はカタカナの半角文字及び全角文字を一方の表記に統一したりする処理が行われる。構文解析は、単語の品詞情報に基づいて自立語を含む文節を合成し、文節に含まれる自立語に基づいて文節同士の係り受け関係（修飾関係）を求める処理である。
【００２２】
このような前処理を行うことで、翻訳モデル及び言語モデルを生成する際の処理単位である語句が明確になる。前処理によって生成されたテキストデータは、モデル生成処理の入力データとして用いられる。翻訳対象のテキストデータに対しても、同様の前処理が行われ、前処理によって生成されたテキストデータが、翻訳処理の入力データとして用いられる。
【００２３】
しかしながら、翻訳精度を高めるために大量のペアを含む対訳コーパスを用いた場合、翻訳モデル及び言語モデルを生成する学習処理の計算量が多くなり、計算結果を格納するために多くの記憶領域が使用される。このため、学習処理を高速化することは困難であり、学習処理に数日〜数十日の時間がかかることもある。
【００２４】
また、学習処理の開始時には、図３に示した形態素解析の結果が破棄されているため、その結果を利用することなく、各語句の表記のみに基づいて学習処理が行われる。例えば、形態素解析の結果には、熟語のようなフレーズ、動詞の活用形、同じ表記で意味又は品詞が異なる単語等を示す情報が含まれているが、学習処理では、これらの情報が利用されない。
【００２５】
このため、“in front of”のような熟語に含まれる複数の単語は、互いに無関係の単語として扱われ、“go”と“goes”のように、同じ動詞の異なる活用形も、別々の単語として扱われる。また、副詞の“最中（さいちゅう）”と名詞の“最中（もなか）”のように、同じ表記で意味又は品詞が異なる単語は、同じ単語として扱われる。このように、形態素解析の結果は有用な情報を多く含んでいるにもかかわらず、学習処理で利用されないため、学習効率が低下し、計算量がさらに増大する。
【００２６】
また、“go”と“goes”のように、同じ意味の単語であっても、表記が異なると、別々の情報として扱われるため、対訳コーパスのデータを分割して学習し、学習結果をマージすることが困難である。したがって、並列計算によって学習処理を高速化することが難しい。
【００２７】
図４は、対訳コーパスを圧縮して格納する場合の統計的機械翻訳の例を示している。対訳コーパスのデータ量は、テキストデータのままでは多量であるため、言語Ｌ１の複数の文と言語Ｌ２の複数の文が圧縮（符号化）され、圧縮形式の文が記憶装置に格納される。そして、翻訳モデル及び言語モデルを生成する際に、圧縮形式の文が伸長（復号）され、伸長された文に対して前処理を行った後に、学習処理が行われる。その後、翻訳モデル及び言語モデルを用いて、翻訳対象のテキストデータが翻訳される。この場合、前処理に先立って、大量の文を伸長する処理が行われるため、伸長処理の計算量が追加される。
【００２８】
そこで、対訳コーパスを圧縮したままで学習処理を行って、圧縮符号に対する翻訳モデルを生成し、翻訳対象のテキストデータを圧縮して翻訳を行う方法が考えられる。この方法によれば、伸長処理及び前処理が不要になるため、計算量を大幅に削減することが可能になる。しかし、最長一致文字列に基づく圧縮アルゴリズムでは、語句単位の圧縮符号が割り当てられていないため、圧縮符号のままでテキストデータを翻訳することは現実的ではない。
【００２９】
図５は、最長一致文字列に基づく圧縮処理の例を示している。例えば、テキストデータ５０１をＬＺ７７アルゴリズムで圧縮した場合、辞書には複数の文字列５０２が含まれ、テキストデータ５０１をＬＺ７８アルゴリズムで圧縮した場合、辞書には複数の文字列５０３が含まれる。
【００３０】
いずれの圧縮アルゴリズムを用いた場合も、圧縮符号が割り当てられる辞書の文字列は、語句ではなく、単語の途中で切断された文字列である。このため、各圧縮符号は単語又は句に対応しておらず、圧縮符号のままでテキストデータを翻訳しても、正しい翻訳結果は生成されない。
【００３１】
図６は、実施形態の対応関係生成装置の機能的構成例を示している。図６の対応関係生成装置６０１は、記憶部６１１、符号化部６１２、及び生成部６１３を含む。記憶部６１１は、第１言語の複数の文と、第１言語の複数の文それぞれに対応付けられた第２言語の複数の文とを記憶する。符号化部６１２及び生成部６１３は、記憶部６１１が記憶する文を用いて対応関係生成処理を行う。
【００３２】
図７は、図６の対応関係生成装置６０１が行う対応関係生成処理の例を示すフローチャートである。まず、符号化部６１２は、第１言語の複数の文を所定単位で符号化することで、第１言語の複数の符号文を生成する（ステップ７０１）。次に、符号化部６１２は、第２言語の複数の文を所定単位で符号化することで、第２言語の複数の符号文を生成する（ステップ７０２）。
【００３３】
次に、生成部６１３は、第１言語の複数の符号文各々に含まれる符号と、第１言語の複数の符号文各々に対応付けられた第２言語の符号文に含まれる符号とに基づいて、対応関係情報を生成する（ステップ７０３）。対応関係情報は、第１言語の複数の符号と第２言語の複数の符号との間の対応関係を示す。
【００３４】
図６の対応関係生成装置６０１によれば、２つの言語の間における語句同士の対応関係を高速に生成することができる。
【００３５】
図８は、図６の対応関係生成装置６０１の機能を有する翻訳装置の機能的構成例を示している。図８の翻訳装置８０１は、入力部８１１、前処理部８１２、符号化部８１３、生成部８１４、翻訳部８１５、出力部８１６、及び記憶部８１７を含む。符号化部８１３、生成部８１４、及び記憶部８１７は、図６の符号化部６１２、生成部６１３、及び記憶部６１１にそれぞれ対応する。
【００３６】
翻訳装置８０１が対応関係生成処理を行う場合、入力部８１１は、言語Ｌ１の複数の文を含むファイル８２１−１と言語Ｌ２の複数の文を含むファイル８２１−２とを取得して、記憶部８１７に格納する。ファイル８２１−１及びファイル８２１−２は、対訳コーパスに対応し、ファイル８２１−２に含まれる複数の文は、ファイル８２１−１に含まれる複数の文それぞれに対応付けられている。言語Ｌ１及び言語Ｌ２は、例えば、日本語、英語、中国語、韓国語、フランス語、ドイツ語、スペイン語等のうちいずれかの言語であってもよい。
【００３７】
入力部８１１は、オペレータによって入力されたファイル８２１−１及びファイル８２１−２を取得してもよく、通信ネットワークを介して外部の装置からファイル８２１−１及びファイル８２１−２を取得してもよい。
【００３８】
前処理部８１２は、ファイル８２１−１及びファイル８２１−２に含まれる各文に対して形態素解析、表記正規化等の前処理を行い、符号化部８１３は、前処理が行われた文を所定単位で符号化することで、符号文を生成する。所定単位としては、翻訳で有効な１つの意味のまとまりを用いることが望ましく、例えば、語句の表記を正規化した文字列（正規化文字列）を用いることができる。この場合、異なる文字列であっても意味が同じであれば、それらの文字列は正規化文字列に変更され、１つの正規化文字列に対して１つの符号（正規化符号）が割り当てられる。
【００３９】
例えば、“in front of”のような熟語に対して１つの符号が割り当てられ、“go”と“goes”のように、同じ動詞の異なる活用形は正規化されて、同じ符号が割り当てられる。同様に、日本語の動詞活用語尾も正規化され、活用語尾を区別せずに符号化される。また、副詞の“最中（さいちゅう）”と名詞の“最中（もなか）”のように、同じ表記で意味又は品詞が異なる単語に対しては、互いに異なる符号が割り当てられる。
【００４０】
このとき、出現頻度の高い正規化文字列に対して短い符号を割り当て、出現頻度の低い正規化文字列に対して長い符号を割り当てることで、ファイル８２１−１及びファイル８２１−２を効率良く圧縮することができる。多言語のテキストデータに含まれる語句は、出現頻度に応じて、１バイト（高頻度）〜３バイト（低頻度）の符号で表現することが可能である。
【００４１】
符号化部８１３は、ファイル８２１−１に含まれる言語Ｌ１の複数の文から、言語Ｌ１の複数の符号文を生成し、それらの符号文を含む符号化ファイル８２２−１を記憶部８１７に格納する。また、符号化部８１３は、ファイル８２１−２に含まれる言語Ｌ２の複数の文から、言語Ｌ２の複数の符号文を生成し、それらの符号文を含む符号化ファイル８２２−２を記憶部８１７に格納する。
【００４２】
生成部８１４は、符号化ファイル８２２−１及び符号化ファイル８２２−２から、マトリクス情報８２３を生成する。符号化ファイル８２２−２に含まれる言語Ｌ２の各符号文Ｓ２は、符号化ファイル８２２−１に含まれる言語Ｌ１の各符号文Ｓ１に対応付けられている。
【００４３】
マトリクス情報８２３の各列は、符号化ファイル８２２−１に含まれる言語Ｌ１の各符号Ｃ１に対応し、各行は、符号化ファイル８２２−２に含まれる言語Ｌ２の各符号Ｃ２に対応する。そして、マトリクス情報８２３の各セルは、符号Ｃ１及び符号Ｃ２の各組み合わせについて、符号Ｃ１が符号文Ｓ１に出現し、かつ、符号Ｃ２が符号文Ｓ１に対応付けられた符号文Ｓ２に出現する回数（共起回数）を表す。
【００４４】
次に、生成部８１４は、マトリクス情報８２３を用いて、言語Ｌ１の複数の符号と言語Ｌ２の複数の符号との間の対応関係を示す対応関係情報８２４を生成する。対応関係情報８２４は、言語Ｌ１及び言語Ｌ２に対する翻訳モデルに対応する。符号Ｃ１及び符号Ｃ２の組み合わせ毎に共起回数を記録したマトリクス情報８２３を用いることで、原文に符号Ｃ１が出現し、かつ、訳文に符号Ｃ２が出現する共起確率Ｐ（Ｃ１｜Ｃ２）を容易に計算することができる。したがって、対応関係情報８２４を生成する処理が効率化される。
【００４５】
翻訳装置８０１が翻訳処理を行う場合、入力部８１１は、言語Ｌ１のテキストデータ８２５−１を取得して、記憶部８１７に格納する。入力部８１１は、オペレータによって入力されたテキストデータ８２５−１を取得してもよく、通信ネットワークを介して外部の装置からテキストデータ８２５−１を取得してもよい。
【００４６】
前処理部８１２は、テキストデータ８２５−１に対して前処理を行う。翻訳部８１５は、前処理が行われたテキストデータ８２５−１を所定単位で符号化することで、言語Ｌ１の符号化テキストデータ８２６−１を生成して、記憶部８１７に格納する。
【００４７】
次に、翻訳部８１５は、対応関係情報８２４に基づいて、符号化テキストデータ８２６−１を言語Ｌ２の符号化テキストデータ８２６−２に翻訳し、符号化テキストデータ８２６−２を記憶部８１７に格納する。そして、翻訳部８１５は、言語Ｌ２の符号化テキストデータ８２６−２を復号することで、言語Ｌ２のテキストデータ８２５−２を生成して、記憶部８１７に格納する。出力部８１６は、テキストデータ８２５−２を翻訳結果として出力する。
【００４８】
このような翻訳装置８０１によれば、１つの正規化文字列に対して１つの符号を割り当てることで、符号文に含まれる各符号が１つの意味のまとまりに対応付けられる。これにより、符号化ファイル８２２−１及び符号化ファイル８２２−２を伸長することなく圧縮したままで、言語Ｌ１の符号と言語Ｌ２の符号との間の対応関係を学習することが可能になる。したがって、伸長処理及び前処理が不要になるため、対応関係情報８２４を高速に生成することができる。
【００４９】
さらに、言語Ｌ１の符号と言語Ｌ２の符号との間の対応関係を示す対応関係情報８２４を用いることで、テキストデータを符号化した状態で翻訳することが可能になる。
【００５０】
図９は、図８の翻訳装置８０１が行う対応関係生成処理の具体例を示すフローチャートである。まず、符号化部８１３は、ファイル８２１−１に含まれる言語Ｌ１の各文に対して前処理が行われた文を、正規化文字列の単位で符号化することで、言語Ｌ１の符号化ファイル８２２−１を生成する（ステップ９０１）。
【００５１】
次に、符号化部８１３は、ファイル８２１−２に含まれる言語Ｌ２の各文に対して前処理が行われた文を、正規化文字列の単位で符号化することで、言語Ｌ２の符号化ファイル８２２−２を生成する（ステップ９０２）。
【００５２】
図１０は、形態素解析及び表記正規化を含む前処理が行われた文の例を示している。図１０（ａ）は、言語Ｌ１に対応する英語の文１００１及び文１００２を示しており、図１０（ｂ）は、言語Ｌ２に対応する日本語の文１０１１及び文１０１２を示している。文１００１と文１０１１は、原文と訳文のペアに対応し、文１００２と文１０１２も、原文と訳文のペアに対応する。文１００１及び文１００２に対しては、大文字を小文字に変換する表記正規化が適用されている。
【００５３】
文１００１、文１００２、文１０１１、及び文１０１２の各々は、形態素（単語）毎に区切られている。単語間の境界は、例えば、スペースのような区切り文字によって表される。
【００５４】
図１１は、図１０（ａ）に示した英語の文１００１から生成される符号文の例を示している。文１００１には、ピリオドを含む１２個の単語が含まれており、各単語が１バイト又は２バイトの符号に置き換えられている。例えば、単語“we”は１バイト符号“０ｘ２８”に置き換えられ、単語“hope”は２バイト符号“０ｘＡ３Ｂ０”に置き換えられる。
【００５５】
符号化前の文１００１には、３９個のアルファベットと、単語間の区切り文字に対応する１１個のスペースが含まれている。アルファベット１文字が１バイトに対応し、スペースが１バイトに対応する場合、文１００１のデータ量は５０バイト（＝３９＋１１）になる。
【００５６】
一方、符号文１１０１には、８個の１バイト符号と４個の２バイト符号が含まれており、符号文１１０１のデータ量は１６バイト（＝８＋２×４）になる。したがって、符号化により、データ量が１６／５０（３２％）に削減される。
【００５７】
図１２は、図１０（ａ）に示した英語の文１００２から生成される符号文の例を示している。文１００２には、６個の単語が含まれており、各単語が１バイト又は２バイトの符号に置き換えられている。例えば、単語“contents”は２バイト符号“０ｘＥ０Ａ３”に置き換えられ、単語“and”は１バイト符号“０ｘ１Ｂ”に置き換えられる。
【００５８】
符号化前の文１００２には、２６個のアルファベットと５個のスペースが含まれており、文１００２のデータ量は３１バイト（＝２６＋５）になる。一方、符号文１１０２には、４個の１バイト符号と２個の２バイト符号が含まれており、符号文１１０２のデータ量は８バイト（＝４＋２×２）になる。したがって、符号化により、データ量が８／３１（約２５．８％）に削減される。
【００５９】
図１３は、図１０（ｂ）に示した日本語の文１０１１から生成される符号文の例を示している。日本語の場合、動詞活用語尾、助詞等の単語は対応関係情報８２４に含める必要がないため、符号化対象から除外される。符号化形式としては、Unicode Transformation Format-8（ＵＴＦ−８）が用いられている。
【００６０】
文１０１１には、句点を含む１９個の単語が含まれている。このうち、動詞活用語尾に対応する“つ”、“っ”、“り”、及び“す”と助詞に対応する“て”は符号化されず、残りの１４個の単語が１バイト又は２バイトの符号に置き換えられる。例えば、単語“本書”は２バイト符号“０ｘＦ３５０”に置き換えられ、単語“が”は１バイト符号“０ｘＦ８”に置き換えられる。
【００６１】
符号化前の文１０１１には、２４個の文字と１８個のスペースが含まれている。１文字が３バイトに対応し、スペースが１バイトに対応する場合、文１０１１のデータ量は９０バイト（＝３×２４＋１８）になる。
【００６２】
一方、符号文１１１１には、１２個の１バイト符号と２個の２バイト符号が含まれており、符号文１１１１のデータ量は１６バイト（＝１２＋２×２）になる。したがって、符号化により、データ量が１６／９０（約１７．８％）に削減されている。
【００６３】
図１４は、図１０（ｂ）に示した日本語の文１０１２から生成される符号文の例を示している。文１０１２には、７個の単語が含まれている。このうち、動詞活用語尾に対応する“い”は符号化されず、残りの６個の単語が１バイト又は２バイトの符号に置き換えられる。例えば、単語“本書”は２バイト符号“０ｘＦ３５０”に置き換えられ、単語“の”は１バイト符号“０ｘＦ３”に置き換えられる。
【００６４】
符号化前の文１０１２には、１０個の文字と６個のスペースが含まれており、文１０１２のデータ量は３６バイト（＝３×１０＋６）になる。一方、符号文１１１２には、５個の１バイト符号と１個の２バイト符号が含まれており、符号文１１１２のデータ量は７バイト（＝５＋２×１）になる。したがって、符号化により、データ量が７／３６（約１９．４％）に削減されている。
【００６５】
次に、生成部８１４は、符号化ファイル８２２−１に含まれる言語Ｌ１の１つの符号文Ｓ１と、符号化ファイル８２２−２に含まれる言語Ｌ２の１つの符号文Ｓ２との組み合わせを選択する（ステップ９０３）。符号文Ｓ１と符号文Ｓ２は、同じ意味の文として互いに対応付けられている。
【００６６】
次に、生成部８１４は、符号文Ｓ１に含まれるすべての符号を抽出し、符号文Ｓ２に含まれるすべての符号を抽出して、言語Ｌ１の符号と言語Ｌ２の符号のすべての組み合わせを生成する（ステップ９０４）。
【００６７】
次に、生成部８１４は、言語Ｌ１の符号Ｃ１と言語Ｌ２の符号Ｃ２の組み合わせを選択し（ステップ９０５）、符号Ｃ１と符号Ｃ２とが共起していることを示す共起情報を、マトリクス情報８２３に記録する（ステップ９０６）。このとき、生成部８１４は、以下のいずれかの処理を行う。
（Ｐ１）マトリクス情報８２３の列に符号Ｃ１が登録されておらず、行に符号Ｃ２が登録されていない場合
生成部８１４は、マトリクス情報８２３の列に符号Ｃ１を追加し、行に符号Ｃ２を追加し、符号Ｃ１及び符号Ｃ２に対応する新たなセルに共起回数“１”を記録する。
（Ｐ２）マトリクス情報８２３の列に符号Ｃ１が登録されておらず、行に符号Ｃ２が登録されている場合
生成部８１４は、マトリクス情報８２３の列に符号Ｃ１を追加し、符号Ｃ１及び符号Ｃ２に対応する新たなセルに共起回数“１”を記録する。
（Ｐ３）マトリクス情報８２３の列に符号Ｃ１が登録されており、行に符号Ｃ２が登録されていない場合
生成部８１４は、マトリクス情報８２３の行に符号Ｃ２を追加し、符号Ｃ１及び符号Ｃ２に対応する新たなセルに共起回数“１”を記録する。
（Ｐ４）マトリクス情報８２３の列に符号Ｃ１が登録されており、行に符号Ｃ２が登録されている場合
生成部８１４は、符号Ｃ１及び符号Ｃ２に対応する既存のセルの共起回数を１だけインクリメントする。
【００６８】
そして、生成部８１４は、言語Ｌ１の符号と言語Ｌ２の符号の次の組み合わせについて、ステップ９０５以降の処理を繰り返す。言語Ｌ１の符号と言語Ｌ２の符号のすべての組み合わせを選択した場合、生成部８１４は、言語Ｌ１の符号文と言語Ｌ２の符号文の次の組み合わせについて、ステップ９０３以降の処理を繰り返す。
【００６９】
図１５は、ステップ９０３〜ステップ９０６の処理によって生成されるマトリクス情報８２３の例を示している。図１５のマトリクス情報８２３の各列は、英語の符号を表し、各行は、日本語の符号を表す。そして、マトリクス情報８２３の各セルの数字は、そのセルに対応する英語の符号Ｃ１と日本語の符号Ｃ２の共起回数を表す。例えば、英語の符号“０ｘ２０”及び日本語の符号“０ｘＦ３５０”に対応するセルの共起回数“２６４２６１３”は、符号化ファイル８２２−１及び符号化ファイル８２２−２において、それらの符号が２６４２６１３回共起していることを示している。
【００７０】
言語Ｌ１の符号文と言語Ｌ２の符号文のすべての組み合わせを選択した場合、生成部８１４は、マトリクス情報８２３を用いて対応関係情報８２４を生成する（ステップ９０７）。このとき、生成部８１４は、マトリクス情報８２３の各セルが表す共起回数から、原文に符号Ｃ１が出現し、かつ、訳文に符号Ｃ２が出現する共起確率Ｐ（Ｃ１｜Ｃ２）を計算することができる。そして、生成部８１４は、共起確率Ｐ（Ｃ１｜Ｃ２）を、符号Ｃ１を符号Ｃ２に置き換える翻訳確率として用いて、対応関係情報８２４を生成する。
【００７１】
図１６は、翻訳モデル及び対応関係情報８２４の例を示している。図１６（ａ）は、ファイル８２１−１及びファイル８２１−２から生成される従来の翻訳モデルの例を示している。翻訳確率は、英語の単語を日本語の単語に置き換える翻訳の正しさを表す。例えば、“this”を“日常”に置き換える翻訳の正しさは“０．１１”である。図１６（ａ）の翻訳モデルに含まれる単語のデータ量は、以下の通りである。
【００７２】
“this”：４バイト
“manual”：６バイト
“guide”：５バイト
“日常”：６バイト
“本書”：６バイト
【００７３】
一方、図１６（ｂ）は、符号化ファイル８２２−１及び符号化ファイル８２２−２から生成される対応関係情報８２４の例を示している。翻訳確率は、英語の符号を日本語の符号に置き換える翻訳の正しさを表す。例えば、“this”に対応する符号“０ｘ２０”を“日常”に対応する“０ｘＦＦＡＣ２３”に置き換える翻訳の正しさは“０．１１”である。図１６（ｂ）の対応関係情報８２４に含まれる符号のデータ量は、以下の通りである。
【００７４】
“this”に対応する符号“０ｘ２０”：１バイト
“manual”に対応する符号“０ｘ５Ｅ７０”：２バイト
“guide”に対応する符号“０ｘ３０Ｅ０Ｃ１”：３バイト
“日常”に対応する符号“０ｘＦＦＡＣ２３”：３バイト
“本書”に対応する符号“０ｘＦ３５０”：２バイト
【００７５】
このように、従来の翻訳モデルの代わりに、対応関係情報８２４を翻訳モデルとして用いることで、翻訳モデルのデータ量を大幅に削減することができる。翻訳モデルのデータ量が減少すれば、翻訳モデルを高速に検索することが可能になり、翻訳処理も高速化される。
【００７６】
図９のステップ９０１及びステップ９０２において、符号化部８１３は、熟語、成句等の複数の単語からなる文字列に対して、１つの符号を割り当てることができる。例えば、以下のような英語の文字列に対して、以下のような符号を割り当ててもよい。
【００７７】
“in front of”（１１バイト）：“０ｘＦＥ０３Ｆ９”（３バイト）
“get rid of”（１０バイト）：“０ｘＦＦＦＣ３０”（３バイト）
“kick the bucket”（１５バイト）：“０ｘＦＦＦＣＥＡ”（３バイト）
“take ... out”（９バイト）：“０ｘＡ０２１Ｃ０”（３バイト）
【００７８】
また、符号化部８１３は、同じ表記で意味又は品詞が異なる単語に対して、互いに異なる符号を割り当てることができる。例えば、日本語の“最中”に対して、以下のような２通りの符号を割り当ててもよい。
【００７９】
“最中を食べる”の“最中”（６バイト）：“０ｘＦＦ０Ａ０３”（３バイト）
“ラーメンを食べる最中に”の“最中”（６バイト）：“０ｘＦＦ０Ａ０４”（３バイト）
【００８０】
このように、１つの意味のまとまりに対して１つの符号を割り当てることで、対応関係情報８２４の精度が向上するため、翻訳精度も向上する。さらに、語句の表記を正規化した文字列に対して符号を割り当てることで、“go”と“goes”のように、同じ意味で表記が異なる単語に対する符号が共通化される。したがって、対訳コーパスのデータを分割して、並列計算によって高速に学習し、学習結果をマージすることが可能になる。
【００８１】
図１７は、図８の翻訳装置８０１が行う翻訳処理の例を示すフローチャートである。まず、翻訳部８１５は、前処理が行われた言語Ｌ１のテキストデータ８２５−１を正規化文字列の単位で符号化することで、言語Ｌ１の符号化テキストデータ８２６−１を生成する（ステップ１７０１）。
【００８２】
次に、翻訳部８１５は、対応関係情報８２４に基づいて、符号化テキストデータ８２６−１を言語Ｌ２の符号化テキストデータ８２６−２に翻訳する（ステップ１７０２）。例えば、翻訳部８１５は、符号化テキストデータ８２６−１に含まれる言語Ｌ１の各符号を、対応関係情報８２４において最も高い翻訳確率を有する言語Ｌ２の符号に置き換えることで、符号化テキストデータ８２６−２を生成することができる。
【００８３】
そして、翻訳部８１５は、符号化テキストデータ８２６−２を復号することで、言語Ｌ２のテキストデータ８２５−２を生成し（ステップ１７０３）、出力部８１６は、テキストデータ８２５−２を出力する（ステップ１７０４）。
【００８４】
ところで、翻訳装置８０１は、符号化ファイル８２２−１及び符号化ファイル８２２−２を生成する際に、言語Ｌ１及び言語Ｌ２の各符号文にいずれの符号が含まれるかを示すインデックス情報を生成することも可能である。このようなインデックス情報を利用することで、対応関係情報８２４を効率良く生成することができる。
【００８５】
図１８は、インデックス情報を用いる翻訳装置の機能的構成例を示している。図１８の翻訳装置８０１は、図８の翻訳装置８０１において、符号化部８１３及び生成部８１４をそれぞれ符号化部１８０１及び生成部１８０２に置き換えた構成を有する。
【００８６】
符号化部１８０１は、符号化部８１３と同様にして、ファイル８２１−１及びファイル８２１−２から符号化ファイル８２２−１及び符号化ファイル８２２−２を生成するとともに、インデックス情報１８１１−１及びインデックス情報１８１１−２を生成する。
【００８７】
インデックス情報１８１１−１は、符号化ファイル８２２−１に関する情報であり、言語Ｌ１の各符号が符号化ファイル８２２−１の各符号文に含まれるか否かを示す論理値を有する。また、インデックス情報１８１１−２は、符号化ファイル８２２−２に関する情報であり、言語Ｌ２の各符号が符号化ファイル８２２−２の各符号文に含まれるか否かを示す論理値を有する。
【００８８】
生成部１８０２は、インデックス情報１８１１−１とインデックス情報１８１１−２とに基づいてマトリクス情報８２３を生成し、マトリクス情報８２３を用いて対応関係情報８２４を生成する。
【００８９】
インデックス情報１８１１−１及びインデックス情報１８１１−２は、符号化ファイル８２２−１及び符号化ファイル８２２−２に含まれるすべての符号について、各符号がそれぞれの符号文に出現するか否かを示している。したがって、インデックス情報１８１１−１及びインデックス情報１８１１−２を用いることで、言語Ｌ１の符号と言語Ｌ２の符号の共起回数を表すマトリクス情報８２３を高速に生成することができる。
【００９０】
図１９は、インデックス情報を用いる対応関係生成処理の具体例を示すフローチャートである。まず、符号化部１８０１は、ファイル８２１−１に含まれる言語Ｌ１の各文に対して前処理が行われた文を、正規化文字列の単位で符号化することで、言語Ｌ１の符号化ファイル８２２−１及びインデックス情報１８１１−１を生成する（ステップ１９０１）。符号化ファイル８２２−１には、言語Ｌ１の符号文１〜符号文ｎ（ｎは２以上の整数）が含まれている。
【００９１】
次に、符号化部１８０１は、ファイル８２１−２に含まれる言語Ｌ２の各文に対して前処理が行われた文を、正規化文字列の単位で符号化することで、言語Ｌ２の符号化ファイル８２２−２及びインデックス情報１８１１−２を生成する（ステップ１９０２）。符号化ファイル８２２−２には、言語Ｌ２の符号文１〜符号文ｎが含まれており、言語Ｌ２の符号文１〜符号文ｎは、言語Ｌ１の符号文１〜符号文ｎにそれぞれ対応付けられている。
【００９２】
図２０は、英語の符号化ファイルのインデックス情報の例を示している。図２０の符号は、英語の符号化ファイルに含まれる複数の符号を表し、これらの符号は、符号を表す１６進数の昇順にソートされている。符号文１〜符号文ｎは、英語の符号化ファイルに含まれるｎ個の符号文を表す。このうち、符号文１は、図１２の符号文１１０２に対応する。各符号と各符号文に対応するセル内の論理値“１”は、その符号がその符号文に含まれていることを示し、論理値“０”は、その符号がその符号文に含まれていないことを示す。
【００９３】
例えば、符号“０ｘ０８”と符号文１に対応するセル内の論理値“１”は、符号“０ｘ０８”が符号文１に含まれていることを示している。また、符号“０ｘ０９”と符号文１に対応するセル内の論理値“０”は、符号“０ｘ０９”が符号文１に含まれていないことを示している。
【００９４】
図２１は、日本語の符号化ファイルのインデックス情報の例を示している。図２１の符号は、日本語の符号化ファイルに含まれる複数の符号を表し、これらの符号は、符号を表す１６進数の昇順にソートされている。符号文１〜符号文ｎは、日本語の符号化ファイルに含まれるｎ個の符号文を表す。このうち、符号文１は、図１４の符号文１１１２に対応する。図２１の符号文１〜符号文ｎは、図２０の符号文１〜符号文ｎにそれぞれ対応付けられている。図２０と同様に、各符号と各符号文に対応するセル内の論理値は、その符号がその符号文に含まれているか否かを示す。
【００９５】
次に、生成部１８０２は、インデックス情報１８１１−１及びインデックス情報１８１１−２に含まれる符号を用いて、マトリクス情報８２３を生成する（ステップ１９０３）。このとき、生成部１８０２は、インデックス情報１８１１−１に含まれる言語Ｌ１の符号を、マトリクス情報８２３の各列に配置し、インデックス情報１８１１−２に含まれる言語Ｌ２の符号を各行に配置する。そして、生成部１８０２は、各行及び各列に対応するすべてのセルの共起回数に“０”を記録することで、マトリクス情報８２３を初期化する。
【００９６】
次に、生成部１８０２は、インデックス情報１８１１−１に記録された言語Ｌ１の１つの符号文ｉ（ｉ＝１〜ｎ）と、インデックス情報１８１１−２に記録された言語Ｌ２の符号文ｉとの組み合わせを選択する（ステップ１９０４）。そして、生成部１８０２は、言語Ｌ１の符号文ｉの列に記録された論理値と、言語Ｌ２の符号文ｉの列に記録された論理値とを用いて、マトリクス情報８２３の特定のセル内の共起回数をインクリメントする（ステップ１９０５）。
【００９７】
このとき、生成部１８０２は、インデックス情報１８１１−１において、言語Ｌ１の符号文ｉの列から論理値“１”を検索し、検索した論理値“１”が示す符号に対応する、マトリクス情報８２３の列を特定する。また、生成部１８０２は、インデックス情報１８１１−２において、言語Ｌ２の符号文ｉの列から論理値“１”を検索し、検索した論理値“１”が示す符号に対応する、マトリクス情報８２３の行を特定する。そして、生成部１８０２は、特定した行及び列に対応するセル内の共起回数を１だけインクリメントする。
【００９８】
このように、インデックス情報１８１１−１の符号はマトリクス情報８２３の列を指定するアドレスとして用いることができ、インデックス情報１８１１−２の符号はマトリクス情報８２３の行を指定するアドレスとして用いることができる。したがって、生成部１８０２は、インデックス情報１８１１−１及びインデックス情報１８１１−２を用いることで、マトリクス情報８２３の各セルに高速にアクセスして、共起回数をインクリメントすることができる。
【００９９】
さらに、インデックス情報１８１１−１及びインデックス情報１８１１−２の論理値として、１ビットのビット値を用いることで、ビット演算によりマトリクス情報８２３を更新することができる。
【０１００】
そして、生成部１８０２は、言語Ｌ１の符号文ｉと言語Ｌ２の符号文ｉの次の組み合わせについて、ステップ１９０４以降の処理を繰り返す。
【０１０１】
図２２は、インデックス情報１８１１−１及びインデックス情報１８１１−２から生成されるマトリクス情報８２３の例を示している。この例では、ステップ１９０４において、図２０の符号文１と図２１の符号文１の組み合わせが最初に選択された場合を想定している。
【０１０２】
この場合、図２０の符号文１の列から６個の論理値“１”が検索され、それらの論理値“１”に対応する６個の符号が、図２２のマトリクス情報８２３の列を指定する符号として特定される。また、図２１の符号文１の列から６個の論理値“１”が検索され、それらの論理値“１”に対応する６個の符号が、図２２のマトリクス情報８２３の行を指定する符号として特定される。そして、特定された行及び列に対応する３６個のセル内の共起回数が、“０”から“１”にインクリメントされる。図２２では、それらの３６個のセルのうち、１８個のセルの共起回数が示されている。
【０１０３】
このような処理を、図２０の符号文ｉと図２１の符号文ｉのすべての組み合わせについて繰り返すことで、図１５に示したようなマトリクス情報８２３が生成される。
【０１０４】
言語Ｌ１の符号文ｉと言語Ｌ２の符号文ｉのすべての組み合わせを選択した場合、生成部１８０２は、マトリクス情報８２３を用いて対応関係情報８２４を生成する（ステップ１９０６）。
【０１０５】
図６の対応関係生成装置６０１の構成は一例に過ぎず、対応関係生成装置６０１の用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。
【０１０６】
図８及び図１８の翻訳装置８０１の構成は一例に過ぎず、翻訳装置８０１の用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。例えば、前処理が外部の装置で行われる場合は、前処理部８１２を省略することができる。翻訳処理が外部の装置で行われる場合は、翻訳部８１５及び出力部８１６を省略することができる。
【０１０７】
図８の翻訳装置８０１において、対応関係生成処理が外部の装置で行われる場合は、前処理部８１２、符号化部８１３、及び生成部８１４を省略することができる。図１８の翻訳装置８０１において、対応関係生成処理が外部の装置で行われる場合は、前処理部８１２、符号化部１８０１、及び生成部１８０２を省略することができる。
【０１０８】
図７、図９、図１７、及び図１９のフローチャートは一例に過ぎず、対応関係生成装置６０１又は翻訳装置８０１の構成又は条件に応じて一部の処理を省略又は変更してもよい。
【０１０９】
図１及び図１０の文、図２及び図１６（ａ）の翻訳モデル、図５のテキストデータ、図１１〜図１４の符号文、図１５及び図２２のマトリクス情報、図１６（ｂ）の対応関係情報、図２０及び図２１のインデックス情報は一例に過ぎない。翻訳モデル、符号文、マトリクス情報、対応関係情報、及びインデックス情報は、対訳コーパスに含まれる原文と訳文のペアに応じて変化する。言語Ｌ１及び言語Ｌ２は、日本語又は英語以外の言語であってもよい。
【０１１０】
図３の前処理及び図４の統計的機械翻訳は一例に過ぎず、対応関係生成装置６０１又は翻訳装置８０１の構成又は条件に応じて一部の処理を省略又は変更してもよい。
【０１１１】
図２３は、図６の対応関係生成装置６０１、又は図８及び図１８の翻訳装置８０１として用いられる情報処理装置（コンピュータ）の構成例を示している。図２３の情報処理装置は、ＣＰＵ２３０１、メモリ２３０２、入力装置２３０３、出力装置２３０４、補助記憶装置２３０５、媒体駆動装置２３０６、及びネットワーク接続装置２３０７を備える。これらの構成要素はバス２３０８により互いに接続されている。
【０１１２】
メモリ２３０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ２３０２は、図６の記憶部６１１、又は図８及び図１８の記憶部８１７として用いることができる。
【０１１３】
ＣＰＵ２３０１（プロセッサ）は、例えば、メモリ２３０２を利用してプログラムを実行することにより、図６の符号化部６１２及び生成部６１３、図８の符号化部８１３及び生成部８１４、図１８の符号化部１８０１及び生成部１８０２として動作する。ＣＰＵ２３０１は、メモリ２３０２を利用してプログラムを実行することにより、図８及び図１８の前処理部８１２及び翻訳部８１５としても動作する。
【０１１４】
入力装置２３０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示及び情報の入力に用いられる。入力装置２３０３は、図８及び図１８の入力部８１１として用いることができる。
【０１１５】
出力装置２３０４は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。出力装置２３０４は、図８及び図１８の出力部８１６として用いることができる。処理結果は、テキストデータ８２５−２であってもよい。
【０１１６】
補助記憶装置２３０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置２３０５は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置２３０５にプログラム及びデータを格納しておき、それらをメモリ２３０２にロードして使用することができる。補助記憶装置２３０５は、図６の記憶部６１１、又は図８及び図１８の記憶部８１７として用いることができる。
【０１１７】
媒体駆動装置２３０６は、可搬型記録媒体２３０９を駆動し、その記録内容にアクセスする。可搬型記録媒体２３０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体２３０９は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体２３０９にプログラム及びデータを格納しておき、それらをメモリ２３０２にロードして使用することができる。
【０１１８】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ２３０２、補助記憶装置２３０５、又は可搬型記録媒体２３０９のような、物理的な（非一時的な）記録媒体である。
【０１１９】
ネットワーク接続装置２３０７は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２３０７を介して受け取り、それらをメモリ２３０２にロードして使用することができる。ネットワーク接続装置２３０７は、図８及び図１８の入力部８１１及び出力部８１６として用いることができる。
【０１２０】
なお、情報処理装置が図２３のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がオペレータ又はユーザと対話を行わない場合は、入力装置２３０３及び出力装置２３０４を省略してもよい。また、可搬型記録媒体２３０９又は通信ネットワークを利用しない場合は、媒体駆動装置２３０６又はネットワーク接続装置２３０７を省略してもよい。
【０１２１】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１２２】
図１乃至図２３を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
第１言語の複数の文を所定単位で符号化することで、前記第１言語の複数の符号文を生成し、
前記第１言語の複数の文それぞれに対応付けられた第２言語の複数の文を、前記所定単位で符号化することで、前記第２言語の複数の符号文を生成し、
前記第１言語の複数の符号文各々に含まれる符号と、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に含まれる符号とに基づいて、前記第１言語の複数の符号と前記第２言語の複数の符号との間の対応関係を示す対応関係情報を生成する、
処理をコンピュータに実行させるための対応関係生成プログラム。
（付記２）
前記コンピュータは、前記第１言語の複数の符号各々と前記第２言語の複数の符号各々との組み合わせについて、前記第１言語の符号が前記第１言語の複数の符号文各々に出現し、かつ、前記第２言語の符号が、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に出現する回数に基づき、前記対応関係情報を生成することを特徴とする付記１記載の対応関係生成プログラム。
（付記３）
前記コンピュータは、
前記第１言語の複数の文を前記所定単位で符号化するとき、前記第１言語の複数の符号各々が前記第１言語の複数の符号文各々に含まれるか否かを示す論理値を有する第１インデックス情報を生成し、
前記第２言語の複数の文が前記所定単位で符号化するとき、前記第２言語の複数の符号各々が前記第２言語の複数の符号文各々に含まれるか否かを示す論理値を有する第２インデックス情報を生成し、
前記第１インデックス情報と前記第２インデックス情報とに基づいて、前記対応関係情報を生成することを特徴とする付記１又は２記載の対応関係生成プログラム。
（付記４）
前記所定単位は、１つ又は複数の単語の表記を正規化した文字列に対応することを特徴とする付記１乃至３のいずれか１項に記載の対応関係生成プログラム。
（付記５）
第１言語の複数の文と、前記第１言語の複数の文それぞれに対応付けられた第２言語の複数の文とを記憶する記憶部と、
前記第１言語の複数の文を所定単位で符号化することで、前記第１言語の複数の符号文を生成し、前記第２言語の複数の文を前記所定単位で符号化することで、前記第２言語の複数の符号文を生成する符号化部と、
前記第１言語の複数の符号文各々に含まれる符号と、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に含まれる符号とに基づいて、前記第１言語の複数の符号と前記第２言語の複数の符号との間の対応関係を示す対応関係情報を生成する生成部と、
を備えることを特徴とする対応関係生成装置。
（付記６）
前記生成部は、前記第１言語の複数の符号各々と前記第２言語の複数の符号各々との組み合わせについて、前記第１言語の符号が前記第１言語の複数の符号文各々に出現し、かつ、前記第２言語の符号が、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に出現する回数に基づき、前記対応関係情報を生成することを特徴とする付記５記載の対応関係生成装置。
（付記７）
前記生成部は、
前記第１言語の複数の文を前記所定単位で符号化するとき、前記第１言語の複数の符号各々が前記第１言語の複数の符号文各々に含まれるか否かを示す論理値を有する第１インデックス情報を生成し、
前記第２言語の複数の文が前記所定単位で符号化するとき、前記第２言語の複数の符号各々が前記第２言語の複数の符号文各々に含まれるか否かを示す論理値を有する第２インデックス情報を生成し、
前記第１インデックス情報と前記第２インデックス情報とに基づいて、前記対応関係情報を生成することを特徴とする付記５又は６記載の対応関係生成装置。
（付記８）
前記所定単位は、１つ又は複数の単語の表記を正規化した文字列に対応することを特徴とする付記５乃至７のいずれか１項に記載の対応関係生成装置。
（付記９）
コンピュータが、
第１言語の複数の文を所定単位で符号化することで、前記第１言語の複数の符号文を生成し、
前記第１言語の複数の文それぞれに対応付けられた第２言語の複数の文を、前記所定単位で符号化することで、前記第２言語の複数の符号文を生成し、
前記第１言語の複数の符号文各々に含まれる符号と、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に含まれる符号とに基づいて、前記第１言語の複数の符号と前記第２言語の複数の符号との間の対応関係を示す対応関係情報を生成する、
ことを特徴とする対応関係生成方法。
（付記１０）
前記コンピュータは、前記第１言語の複数の符号各々と前記第２言語の複数の符号各々との組み合わせについて、前記第１言語の符号が前記第１言語の複数の符号文各々に出現し、かつ、前記第２言語の符号が、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に出現する回数に基づき、前記対応関係情報を生成することを特徴とする付記９記載の対応関係生成方法。
（付記１１）
前記コンピュータは、
前記第１言語の複数の文を前記所定単位で符号化するとき、前記第１言語の複数の符号各々が前記第１言語の複数の符号文各々に含まれるか否かを示す論理値を有する第１インデックス情報を生成し、
前記第２言語の複数の文が前記所定単位で符号化するとき、前記第２言語の複数の符号各々が前記第２言語の複数の符号文各々に含まれるか否かを示す論理値を有する第２インデックス情報を生成し、
前記第１インデックス情報と前記第２インデックス情報とに基づいて、前記対応関係情報を生成することを特徴とする付記９又は１０記載の対応関係生成方法。
（付記１２）
前記所定単位は、１つ又は複数の単語の表記を正規化した文字列に対応することを特徴とする付記９乃至１１のいずれか１項に記載の対応関係生成方法。
（付記１３）
翻訳処理をコンピュータに実行させるための翻訳プログラムであって、
前記翻訳プログラムは、
第１言語のテキストデータを所定単位で符号化することで、前記第１言語の符号化テキストデータを生成し、
前記第１言語の複数の符号と第２言語の複数の符号との間の対応関係を示す対応関係情報に基づいて、前記第１言語の符号化テキストデータを前記第２言語の符号化テキストデータに翻訳し、
前記第２言語の符号化テキストデータを復号することで、前記第２言語のテキストデータを生成する、
処理を前記コンピュータに実行させ、
前記対応関係情報は、前記第１言語の複数の文を前記所定単位で符号化することで生成された、前記第１言語の複数の符号文と、前記第１言語の複数の文それぞれに対応付けられた前記第２言語の複数の文を前記所定単位で符号化することで生成された、前記第２言語の複数の符号文とから、前記第１言語の複数の符号文各々に含まれる符号と、前記第１言語の複数の符号文各々に対応付けられた前記第２言語の符号文に含まれる符号とに基づいて、生成されることを特徴とする翻訳プログラム。
【符号の説明】
【０１２３】
１０１、２０１、１０１１、１０１２  日本語の文
１０２、２０２、１００１、１００２  英語の文
１１１〜１１４  線分
２０３  学習処理
２０４  翻訳モデル
５０１  テキストデータ
５０２、５０３  文字列
６０１  対応関係生成装置
６１１、８１７  記憶部
６１２、８１３、１８０１  符号化部
６１３、８１４、１８０２  生成部
８０１  翻訳装置
８１１  入力部
８１２  前処理部
８１５  翻訳部
８１６  出力部
８２１−１、８２１−２  ファイル
８２２−１、８２２−２  符号化ファイル
８２３  マトリクス情報
８２４  対応関係情報
８２５−１、８２５−２  テキストデータ
８２６−１、８２６−２  符号化テキストデータ
１１０１、１１０２、１１１１、１１１２  符号文
１８１１−１、１８１１−２  インデックス情報
２３０１  ＣＰＵ
２３０２  メモリ
２３０３  入力装置
２３０４  出力装置
２３０５  補助記憶装置
２３０６  媒体駆動装置
２３０７  ネットワーク接続装置
２３０８  バス
２３０９  可搬型記録媒体
【図１】
2019159743.tif 000003
【図２】
2019159743.tif 000004
【図３】
2019159743.tif 000005
【図４】
2019159743.tif 000006
【図５】
2019159743.tif 000007
【図６】
2019159743.tif 000008
【図７】
2019159743.tif 000009
【図８】
2019159743.tif 000010
【図９】
2019159743.tif 000011
【図１０】
2019159743.tif 000012
【図１１】
2019159743.tif 000013
【図１２】
2019159743.tif 000014
【図１３】
2019159743.tif 000015
【図１４】
2019159743.tif 000016
【図１５】
2019159743.tif 000017
【図１６】
2019159743.tif 000018
【図１７】
2019159743.tif 000019
【図１８】
2019159743.tif 000020
【図１９】
2019159743.tif 000021
【図２０】
2019159743.tif 000022
【図２１】
2019159743.tif 000023
【図２２】
2019159743.tif 000024
【図２３】
2019159743.tif 000025