(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-20
(45)【発行日】2023-03-29
(54)【発明の名称】対応関係生成プログラム、対応関係生成装置、対応関係生成方法、及び翻訳プログラム
(51)【国際特許分類】
G06F 40/45 20200101AFI20230322BHJP
【FI】
G06F40/45
(21)【出願番号】P 2018044972
(22)【出願日】2018-03-13
【審査請求日】2020-12-10
【前置審査】
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100121083
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】大倉 清司
(72)【発明者】
【氏名】出内 将夫
(72)【発明者】
【氏名】片岡 正弘
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2007-199793(JP,A)
【文献】特表2004-535617(JP,A)
【文献】米国特許出願公開第2014/0172407(US,A1)
【文献】米国特許出願公開第2017/0228414(US,A1)
【文献】特開2004-348574(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/20-40/58
(57)【特許請求の範囲】
【請求項1】
第1言語の複数の文に対して形態素解析及び表記正規化を行うことで、前記第1言語の複数の文各々に含まれる各語句を、表記が正規化された第1正規化文字列に変更し、
前記第1言語の複数の文各々に含まれる各語句の前記第1正規化文字列を符号化することで、前記第1言語の複数の文それぞれに対応する複数の第1符号文を生成し、
前記第1言語の複数の文それぞれに対応付けられた第2言語の複数の文に対して形態素解析及び表記正規化を行うことで、前記第2言語の複数の文各々に含まれる各語句を、表記が正規化された第2正規化文字列に変更し、
前記第2言語の複数の文各々に含まれる各語句の前記第2正規化文字列を符号化することで、前記第2言語の複数の文それぞれに対応する複数の第2符号文を生成し、
前記複数の第1符号文に含まれる複数の第1符号各々と前記複数の第2符号文に含まれる複数の第2符号各々との組み合わせについて、前記組み合わせに含まれる第1符号が前記複数の第1符号文各々に出現し、かつ、前記組み合わせに含まれる第2符号が、前記複数の第1符号文各々に対応付けられた前記第2符号文に出現する回数に基づき、前記複数の第1符号と前記複数の第2符号との間の対応関係を示す対応関係情報を生成する、
処理をコンピュータに実行させ
、
前記複数の第1符号文を生成する処理は、前記複数の第1符号各々が前記複数の第1符号文各々に含まれるか否かを示す論理値を有する第1インデックス情報を生成する処理を含み、
前記複数の第2符号文を生成する処理は、前記複数の第2符号各々が前記複数の第2符号文各々に含まれるか否かを示す論理値を有する第2インデックス情報を生成する処理を含み、
前記対応関係情報を生成する処理は、前記第1インデックス情報と前記第2インデックス情報とに基づいて、前記対応関係情報を生成する処理を含むことを特徴とする対応関係生成プログラム。
【請求項2】
第1言語の複数の文と、前記第1言語の複数の文それぞれに対応付けられた第2言語の複数の文とを記憶する記憶部と、
前記第1言語の複数の文に対して形態素解析及び表記正規化を行うことで、前記第1言語の複数の文各々に含まれる各語句を、表記が正規化された第1正規化文字列に変更し、前記第2言語の複数の文に対して形態素解析及び表記正規化を行うことで、前記第2言語の複数の文各々に含まれる各語句を、表記が正規化された第2正規化文字列に変更する前処理部と、
前記第1言語の複数の文各々に含まれる各語句の前記第1正規化文字列を符号化することで、前記第1言語の複数の文それぞれに対応する複数の第1符号文を生成し、前記第2言語の複数の文各々に含まれる各語句の前記第2正規化文字列を符号化することで、前記第2言語の複数の文それぞれに対応する複数の第2符号文を生成する符号化部と、
前記複数の第1符号文に含まれる複数の第1符号各々と前記複数の第2符号文に含まれる複数の第2符号各々との組み合わせについて、前記組み合わせに含まれる第1符号が前記複数の第1符号文各々に出現し、かつ、前記組み合わせに含まれる第2符号が、前記複数の第1符号文各々に対応付けられた前記第2符号文に出現する回数に基づき、前記複数の第1符号と前記複数の第2符号との間の対応関係を示す対応関係情報を生成する生成部と、
を備え
、
前記符号化部は、前記複数の第1符号各々が前記複数の第1符号文各々に含まれるか否かを示す論理値を有する第1インデックス情報と、前記複数の第2符号各々が前記複数の第2符号文各々に含まれるか否かを示す論理値を有する第2インデックス情報とを生成し、
前記生成部は、前記第1インデックス情報と前記第2インデックス情報とに基づいて、前記対応関係情報を生成することを特徴とする対応関係生成装置。
【請求項3】
コンピュータが、
第1言語の複数の文に対して形態素解析及び表記正規化を行うことで、前記第1言語の複数の文各々に含まれる各語句を、表記が正規化された第1正規化文字列に変更し、
前記第1言語の複数の文各々に含まれる各語句の前記第1正規化文字列を符号化することで、前記第1言語の複数の文それぞれに対応する複数の第1符号文を生成し、
前記第1言語の複数の文それぞれに対応付けられた第2言語の複数の文に対して形態素解析及び表記正規化を行うことで、前記第2言語の複数の文各々に含まれる各語句を、表記が正規化された第2正規化文字列に変更し、
前記第2言語の複数の文各々に含まれる各語句の前記第2正規化文字列を符号化することで、前記第2言語の複数の文それぞれに対応する複数の第2符号文を生成し、
前記複数の第1符号文に含まれる複数の第1符号各々と前記複数の第2符号文に含まれる複数の第2符号各々との組み合わせについて、前記組み合わせに含まれる第1符号が前記複数の第1符号文各々に出現し、かつ、前記組み合わせに含まれる第2符号が、前記複数の第1符号文各々に対応付けられた前記第2符号文に出現する回数に基づき、前記複数の第1符号と前記複数の第2符号との間の対応関係を示す対応関係情報を生成
し、
前記複数の第1符号文を生成する処理は、前記複数の第1符号各々が前記複数の第1符号文各々に含まれるか否かを示す論理値を有する第1インデックス情報を生成する処理を含み、
前記複数の第2符号文を生成する処理は、前記複数の第2符号各々が前記複数の第2符号文各々に含まれるか否かを示す論理値を有する第2インデックス情報を生成する処理を含み、
前記対応関係情報を生成する処理は、前記第1インデックス情報と前記第2インデックス情報とに基づいて、前記対応関係情報を生成する処理を含むことを特徴とする対応関係生成方法。
【請求項4】
翻訳処理をコンピュータに実行させるための翻訳プログラムであって、
前記翻訳プログラムは、
第1言語のテキストデータを符号化することで、第1符号化テキストデータを生成し、
前記第1言語の複数の文それぞれに対応する複数の第1符号文に含まれる複数の第1符号と、前記第2言語の複数の文それぞれに対応する複数の第2符号文に含まれる複数の第2符号との間の対応関係を示す対応関係情報に基づいて、前記第1符号化テキストデータを第2符号化テキストデータに翻訳し、
前記第2符号化テキストデータを復号することで、第2言語のテキストデータを生成する、
処理を前記コンピュータに実行させ、
前記複数の第1符号文は、前記第1言語の複数の文に対して形態素解析及び表記正規化を行うことで、前記第1言語の複数の文各々に含まれる各語句を、表記が正規化された第1正規化文字列に変更し、前記第1言語の複数の文各々に含まれる各語句の前記第1正規化文字列を符号化することで生成され、
前記複数の第2符号文は、前記第1言語の複数の文それぞれに対応付けられた前記第2言語の複数の文に対して形態素解析及び表記正規化を行うことで、前記第2言語の複数の文各々に含まれる各語句を、表記が正規化された第2正規化文字列に変更し、前記第2言語の複数の文各々に含まれる各語句の前記第2正規化文字列を符号化することで生成され、
前記対応関係情報は、前記複数の第1符号文と前記複数の第2符号文とから、前記複数の第1符号各々と前記複数の第2符号各々との組み合わせについて、前記組み合わせに含まれる第1符号が前記複数の第1符号文各々に出現し、かつ、前記組み合わせに含まれる第2符号が、前記複数の第1符号文各々に対応付けられた前記第2符号文に出現する回数に基づき、生成され
、
前記対応関係情報は、前記複数の第1符号各々が前記複数の第1符号文各々に含まれるか否かを示す論理値を有する第1インデックス情報と、前記複数の第2符号各々が前記複数の第2符号文各々に含まれるか否かを示す論理値を有する第2インデックス情報と、に基づいて、生成されることを特徴とする翻訳プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対応関係生成プログラム、対応関係生成装置、対応関係生成方法、及び翻訳プログラムに関する。
【背景技術】
【0002】
ある言語で記述されたテキストデータを別の言語で記述されたテキストデータに翻訳する技術として、統計的機械翻訳及びニューラル機械翻訳が知られている。
【0003】
統計的機械翻訳では、原文と訳文の複数のペア(対訳コーパス)から翻訳モデル及び言語モデルが生成され、翻訳モデル及び言語モデルを用いて、一方の言語で記述された翻訳対象のテキストデータが、他方の言語で記述されたテキストデータに翻訳される。また、ニューラル機械翻訳では、ニューラルネットワークを利用したモデルが用いられる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2015-22431号公報
【文献】特開2016-71439号公報
【文献】特開2013-117888号公報
【文献】特開2013-196106号公報
【非特許文献】
【0005】
【文献】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.
【発明の概要】
【発明が解決しようとする課題】
【0006】
統計的機械翻訳及びニューラル機械翻訳では、対訳コーパスから2つの言語の間における語句同士の対応関係を学習することで、翻訳モデルが生成される。語句は、単語又は句(フレーズ)に対応し、句は、連結された複数の単語を含む。翻訳モデルを生成する際、対訳コーパスに含まれる原文と訳文のペア(組み合わせ)に対して、形態素解析を含む前処理が行われる。しかし、形態素解析は計算量が多いため、多数のペアを含む対訳コーパスの場合、翻訳モデルを生成するための時間が長くなる。
【0007】
1つの側面において、本発明は、2つの言語の間における語句同士の対応関係を高速に生成することを目的とする。
【課題を解決するための手段】
【0008】
1つの案では、対応関係生成プログラムは、以下の処理をコンピュータに実行させる。
(1)コンピュータは、第1言語の複数の文を所定単位で符号化することで、第1言語の複数の符号文を生成する。
(2)コンピュータは、第1言語の複数の文それぞれに対応付けられた第2言語の複数の文を、所定単位で符号化することで、第2言語の複数の符号文を生成する。
(3)コンピュータは、第1言語の複数の符号文各々に含まれる符号と、第1言語の複数の符号文各々に対応付けられた第2言語の符号文に含まれる符号とに基づいて、第1言語の複数の符号と第2言語の複数の符号との間の対応関係を示す対応関係情報を生成する。
【発明の効果】
【0009】
1つの実施形態によれば、2つの言語の間における語句同士の対応関係を高速に生成することができる。
【図面の簡単な説明】
【0010】
【
図9】対応関係生成処理の具体例を示すフローチャートである。
【
図11】第1の英語の文から生成される符号文を示す図である。
【
図12】第2の英語の文から生成される符号文を示す図である。
【
図13】第1の日本語の文から生成される符号文を示す図である。
【
図14】第2の日本語の文から生成される符号文を示す図である。
【
図16】翻訳モデル及び対応関係情報を示す図である。
【
図18】インデックス情報を用いる翻訳装置の機能的構成図である。
【
図19】インデックス情報を用いる対応関係生成処理の具体例を示すフローチャートである。
【
図20】英語の符号化ファイルのインデックス情報を示す図である。
【
図21】日本語の符号化ファイルのインデックス情報を示す図である。
【
図22】インデックス情報から生成されるマトリクス情報を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、実施形態を詳細に説明する。
上述したように、統計的機械翻訳では、対訳コーパスから翻訳モデル及び言語モデルが生成される。翻訳モデルは、言語L1の語句W1を言語L2の語句W2に置き換える翻訳の正しさを表す確率モデルであり、言語モデルは、言語L2における語句W2の正しさを表す確率モデルである。言語L2における語句W2の正しさは、文法の正しさ、語句の流暢さ等を意味する。
【0012】
翻訳対象の言語L1のテキストデータに含まれる語句に対して、翻訳モデルが表す確率と言語モデルが表す確率の積が最大になるように、言語L2の語句を選択することで、翻訳結果の言語L2のテキストデータが生成される。
【0013】
図1は、対訳コーパスに含まれる原文と訳文のペア(組み合わせ)の例を示している。日本語の文101には、“太郎が花子を訪問した。”と記述されており、英語の文102には、“taro visited hanako.”と記述されている。文101及び文102のうち一方を、翻訳対象である原文とすると、他方は、その翻訳結果である訳文になる。
【0014】
文101に含まれる各単語(句読点を含む)と文102に含まれる各単語との間には、線分111~線分114で示されるような対応関係が存在する。このような対応関係を学習するために、確率モデルが広く利用されている。
【0015】
図2は、対訳コーパスから翻訳モデルを生成する処理の例を示している。対訳コーパスには、
図1の文101を含む複数の日本語の文201と、文102を含む複数の英語の文202とが含まれており、日本語の各文201と英語の各文202のペアは、原文と訳文のペアに相当する。統計的機械翻訳では、複数の日本語の文201及び複数の英語の文202を用いて学習処理203を行うことで、翻訳モデル204が生成される。
【0016】
翻訳モデル204は、複数の日本語の文201に含まれる各単語WJと複数の英語の文202に含まれる各単語WEとの組み合わせ毎に、原文と訳文のペアにその組み合わせ(単語WJ及び単語WE)が出現する共起確率を表す。
【0017】
P(WJ|WE)は、原文に単語WJが出現し、かつ、訳文に単語WEが出現する共起確率を表し、P(WE|WJ)は、原文に単語WEが出現し、かつ、訳文に単語WJが出現する共起確率を表す。したがって、P(WJ|WE)は、日本語の単語WJを英語の単語WEに置き換える翻訳の正しさを表し、P(WE|WJ)は、英語の単語WEを日本語の単語WJに置き換える翻訳の正しさを表している。
【0018】
例えば、P(花子|hanako)=0.99は、日本語の原文に“花子”が出現し、かつ、英語の訳文に“hanako”が出現する共起確率が0.99であることを表す。このP(花子|hanako)は、原文に含まれる“花子”を“hanako”に置き換える翻訳の正しさを表している。P(太郎|taro)及びP(花子|taro)についても、P(花子|hanako)と同様である。
【0019】
また、P(visited|訪問)=0.46は、英語の原文に“visited”が出現し、かつ、日本語の訳文に“訪問”が出現する共起確率が0.46であることを表す。このP(visited|訪問)は、原文に含まれる“visited”を“訪問”に置き換える翻訳の正しさを表している。P(visited|した)についても、P(visited|訪問)と同様である。
【0020】
図3は、統計的機械翻訳及びニューラル機械翻訳における前処理の例を示している。言語L1と言語L2の間の機械翻訳を行う場合、対訳コーパスに含まれる各言語の文に対して、形態素解析、表記正規化、及び構文解析を含む前処理が行われる。ただし、構文解析は省略されることもある。
【0021】
形態素解析は、文字列を形態素に分割し、各形態素に対して品詞、属性等の情報を付与する処理であり、表記正規化は、同じ意味の語句の表記を統一する処理である。例えば、表記正規化では、欧米言語の文頭の大文字を小文字に変更したり、日本語の数字又はカタカナの半角文字及び全角文字を一方の表記に統一したりする処理が行われる。構文解析は、単語の品詞情報に基づいて自立語を含む文節を合成し、文節に含まれる自立語に基づいて文節同士の係り受け関係(修飾関係)を求める処理である。
【0022】
このような前処理を行うことで、翻訳モデル及び言語モデルを生成する際の処理単位である語句が明確になる。前処理によって生成されたテキストデータは、モデル生成処理の入力データとして用いられる。翻訳対象のテキストデータに対しても、同様の前処理が行われ、前処理によって生成されたテキストデータが、翻訳処理の入力データとして用いられる。
【0023】
しかしながら、翻訳精度を高めるために大量のペアを含む対訳コーパスを用いた場合、翻訳モデル及び言語モデルを生成する学習処理の計算量が多くなり、計算結果を格納するために多くの記憶領域が使用される。このため、学習処理を高速化することは困難であり、学習処理に数日~数十日の時間がかかることもある。
【0024】
また、学習処理の開始時には、
図3に示した形態素解析の結果が破棄されているため、その結果を利用することなく、各語句の表記のみに基づいて学習処理が行われる。例えば、形態素解析の結果には、熟語のようなフレーズ、動詞の活用形、同じ表記で意味又は品詞が異なる単語等を示す情報が含まれているが、学習処理では、これらの情報が利用されない。
【0025】
このため、“in front of”のような熟語に含まれる複数の単語は、互いに無関係の単語として扱われ、“go”と“goes”のように、同じ動詞の異なる活用形も、別々の単語として扱われる。また、副詞の“最中(さいちゅう)”と名詞の“最中(もなか)”のように、同じ表記で意味又は品詞が異なる単語は、同じ単語として扱われる。このように、形態素解析の結果は有用な情報を多く含んでいるにもかかわらず、学習処理で利用されないため、学習効率が低下し、計算量がさらに増大する。
【0026】
また、“go”と“goes”のように、同じ意味の単語であっても、表記が異なると、別々の情報として扱われるため、対訳コーパスのデータを分割して学習し、学習結果をマージすることが困難である。したがって、並列計算によって学習処理を高速化することが難しい。
【0027】
図4は、対訳コーパスを圧縮して格納する場合の統計的機械翻訳の例を示している。対訳コーパスのデータ量は、テキストデータのままでは多量であるため、言語L1の複数の文と言語L2の複数の文が圧縮(符号化)され、圧縮形式の文が記憶装置に格納される。そして、翻訳モデル及び言語モデルを生成する際に、圧縮形式の文が伸長(復号)され、伸長された文に対して前処理を行った後に、学習処理が行われる。その後、翻訳モデル及び言語モデルを用いて、翻訳対象のテキストデータが翻訳される。この場合、前処理に先立って、大量の文を伸長する処理が行われるため、伸長処理の計算量が追加される。
【0028】
そこで、対訳コーパスを圧縮したままで学習処理を行って、圧縮符号に対する翻訳モデルを生成し、翻訳対象のテキストデータを圧縮して翻訳を行う方法が考えられる。この方法によれば、伸長処理及び前処理が不要になるため、計算量を大幅に削減することが可能になる。しかし、最長一致文字列に基づく圧縮アルゴリズムでは、語句単位の圧縮符号が割り当てられていないため、圧縮符号のままでテキストデータを翻訳することは現実的ではない。
【0029】
図5は、最長一致文字列に基づく圧縮処理の例を示している。例えば、テキストデータ501をLZ77アルゴリズムで圧縮した場合、辞書には複数の文字列502が含まれ、テキストデータ501をLZ78アルゴリズムで圧縮した場合、辞書には複数の文字列503が含まれる。
【0030】
いずれの圧縮アルゴリズムを用いた場合も、圧縮符号が割り当てられる辞書の文字列は、語句ではなく、単語の途中で切断された文字列である。このため、各圧縮符号は単語又は句に対応しておらず、圧縮符号のままでテキストデータを翻訳しても、正しい翻訳結果は生成されない。
【0031】
図6は、実施形態の対応関係生成装置の機能的構成例を示している。
図6の対応関係生成装置601は、記憶部611、符号化部612、及び生成部613を含む。記憶部611は、第1言語の複数の文と、第1言語の複数の文それぞれに対応付けられた第2言語の複数の文とを記憶する。符号化部612及び生成部613は、記憶部611が記憶する文を用いて対応関係生成処理を行う。
【0032】
図7は、
図6の対応関係生成装置601が行う対応関係生成処理の例を示すフローチャートである。まず、符号化部612は、第1言語の複数の文を所定単位で符号化することで、第1言語の複数の符号文を生成する(ステップ701)。次に、符号化部612は、第2言語の複数の文を所定単位で符号化することで、第2言語の複数の符号文を生成する(ステップ702)。
【0033】
次に、生成部613は、第1言語の複数の符号文各々に含まれる符号と、第1言語の複数の符号文各々に対応付けられた第2言語の符号文に含まれる符号とに基づいて、対応関係情報を生成する(ステップ703)。対応関係情報は、第1言語の複数の符号と第2言語の複数の符号との間の対応関係を示す。
【0034】
図6の対応関係生成装置601によれば、2つの言語の間における語句同士の対応関係を高速に生成することができる。
【0035】
図8は、
図6の対応関係生成装置601の機能を有する翻訳装置の機能的構成例を示している。
図8の翻訳装置801は、入力部811、前処理部812、符号化部813、生成部814、翻訳部815、出力部816、及び記憶部817を含む。符号化部813、生成部814、及び記憶部817は、
図6の符号化部612、生成部613、及び記憶部611にそれぞれ対応する。
【0036】
翻訳装置801が対応関係生成処理を行う場合、入力部811は、言語L1の複数の文を含むファイル821-1と言語L2の複数の文を含むファイル821-2とを取得して、記憶部817に格納する。ファイル821-1及びファイル821-2は、対訳コーパスに対応し、ファイル821-2に含まれる複数の文は、ファイル821-1に含まれる複数の文それぞれに対応付けられている。言語L1及び言語L2は、例えば、日本語、英語、中国語、韓国語、フランス語、ドイツ語、スペイン語等のうちいずれかの言語であってもよい。
【0037】
入力部811は、オペレータによって入力されたファイル821-1及びファイル821-2を取得してもよく、通信ネットワークを介して外部の装置からファイル821-1及びファイル821-2を取得してもよい。
【0038】
前処理部812は、ファイル821-1及びファイル821-2に含まれる各文に対して形態素解析、表記正規化等の前処理を行い、符号化部813は、前処理が行われた文を所定単位で符号化することで、符号文を生成する。所定単位としては、翻訳で有効な1つの意味のまとまりを用いることが望ましく、例えば、語句の表記を正規化した文字列(正規化文字列)を用いることができる。この場合、異なる文字列であっても意味が同じであれば、それらの文字列は正規化文字列に変更され、1つの正規化文字列に対して1つの符号(正規化符号)が割り当てられる。
【0039】
例えば、“in front of”のような熟語に対して1つの符号が割り当てられ、“go”と“goes”のように、同じ動詞の異なる活用形は正規化されて、同じ符号が割り当てられる。同様に、日本語の動詞活用語尾も正規化され、活用語尾を区別せずに符号化される。また、副詞の“最中(さいちゅう)”と名詞の“最中(もなか)”のように、同じ表記で意味又は品詞が異なる単語に対しては、互いに異なる符号が割り当てられる。
【0040】
このとき、出現頻度の高い正規化文字列に対して短い符号を割り当て、出現頻度の低い正規化文字列に対して長い符号を割り当てることで、ファイル821-1及びファイル821-2を効率良く圧縮することができる。多言語のテキストデータに含まれる語句は、出現頻度に応じて、1バイト(高頻度)~3バイト(低頻度)の符号で表現することが可能である。
【0041】
符号化部813は、ファイル821-1に含まれる言語L1の複数の文から、言語L1の複数の符号文を生成し、それらの符号文を含む符号化ファイル822-1を記憶部817に格納する。また、符号化部813は、ファイル821-2に含まれる言語L2の複数の文から、言語L2の複数の符号文を生成し、それらの符号文を含む符号化ファイル822-2を記憶部817に格納する。
【0042】
生成部814は、符号化ファイル822-1及び符号化ファイル822-2から、マトリクス情報823を生成する。符号化ファイル822-2に含まれる言語L2の各符号文S2は、符号化ファイル822-1に含まれる言語L1の各符号文S1に対応付けられている。
【0043】
マトリクス情報823の各列は、符号化ファイル822-1に含まれる言語L1の各符号C1に対応し、各行は、符号化ファイル822-2に含まれる言語L2の各符号C2に対応する。そして、マトリクス情報823の各セルは、符号C1及び符号C2の各組み合わせについて、符号C1が符号文S1に出現し、かつ、符号C2が符号文S1に対応付けられた符号文S2に出現する回数(共起回数)を表す。
【0044】
次に、生成部814は、マトリクス情報823を用いて、言語L1の複数の符号と言語L2の複数の符号との間の対応関係を示す対応関係情報824を生成する。対応関係情報824は、言語L1及び言語L2に対する翻訳モデルに対応する。符号C1及び符号C2の組み合わせ毎に共起回数を記録したマトリクス情報823を用いることで、原文に符号C1が出現し、かつ、訳文に符号C2が出現する共起確率P(C1|C2)を容易に計算することができる。したがって、対応関係情報824を生成する処理が効率化される。
【0045】
翻訳装置801が翻訳処理を行う場合、入力部811は、言語L1のテキストデータ825-1を取得して、記憶部817に格納する。入力部811は、オペレータによって入力されたテキストデータ825-1を取得してもよく、通信ネットワークを介して外部の装置からテキストデータ825-1を取得してもよい。
【0046】
前処理部812は、テキストデータ825-1に対して前処理を行う。翻訳部815は、前処理が行われたテキストデータ825-1を所定単位で符号化することで、言語L1の符号化テキストデータ826-1を生成して、記憶部817に格納する。
【0047】
次に、翻訳部815は、対応関係情報824に基づいて、符号化テキストデータ826-1を言語L2の符号化テキストデータ826-2に翻訳し、符号化テキストデータ826-2を記憶部817に格納する。そして、翻訳部815は、言語L2の符号化テキストデータ826-2を復号することで、言語L2のテキストデータ825-2を生成して、記憶部817に格納する。出力部816は、テキストデータ825-2を翻訳結果として出力する。
【0048】
このような翻訳装置801によれば、1つの正規化文字列に対して1つの符号を割り当てることで、符号文に含まれる各符号が1つの意味のまとまりに対応付けられる。これにより、符号化ファイル822-1及び符号化ファイル822-2を伸長することなく圧縮したままで、言語L1の符号と言語L2の符号との間の対応関係を学習することが可能になる。したがって、伸長処理及び前処理が不要になるため、対応関係情報824を高速に生成することができる。
【0049】
さらに、言語L1の符号と言語L2の符号との間の対応関係を示す対応関係情報824を用いることで、テキストデータを符号化した状態で翻訳することが可能になる。
【0050】
図9は、
図8の翻訳装置801が行う対応関係生成処理の具体例を示すフローチャートである。まず、符号化部813は、ファイル821-1に含まれる言語L1の各文に対して前処理が行われた文を、正規化文字列の単位で符号化することで、言語L1の符号化ファイル822-1を生成する(ステップ901)。
【0051】
次に、符号化部813は、ファイル821-2に含まれる言語L2の各文に対して前処理が行われた文を、正規化文字列の単位で符号化することで、言語L2の符号化ファイル822-2を生成する(ステップ902)。
【0052】
図10は、形態素解析及び表記正規化を含む前処理が行われた文の例を示している。
図10(a)は、言語L1に対応する英語の文1001及び文1002を示しており、
図10(b)は、言語L2に対応する日本語の文1011及び文1012を示している。文1001と文1011は、原文と訳文のペアに対応し、文1002と文1012も、原文と訳文のペアに対応する。文1001及び文1002に対しては、大文字を小文字に変換する表記正規化が適用されている。
【0053】
文1001、文1002、文1011、及び文1012の各々は、形態素(単語)毎に区切られている。単語間の境界は、例えば、スペースのような区切り文字によって表される。
【0054】
図11は、
図10(a)に示した英語の文1001から生成される符号文の例を示している。文1001には、ピリオドを含む12個の単語が含まれており、各単語が1バイト又は2バイトの符号に置き換えられている。例えば、単語“we”は1バイト符号“0x28”に置き換えられ、単語“hope”は2バイト符号“0xA3B0”に置き換えられる。
【0055】
符号化前の文1001には、39個のアルファベットと、単語間の区切り文字に対応する11個のスペースが含まれている。アルファベット1文字が1バイトに対応し、スペースが1バイトに対応する場合、文1001のデータ量は50バイト(=39+11)になる。
【0056】
一方、符号文1101には、8個の1バイト符号と4個の2バイト符号が含まれており、符号文1101のデータ量は16バイト(=8+2×4)になる。したがって、符号化により、データ量が16/50(32%)に削減される。
【0057】
図12は、
図10(a)に示した英語の文1002から生成される符号文の例を示している。文1002には、6個の単語が含まれており、各単語が1バイト又は2バイトの符号に置き換えられている。例えば、単語“contents”は2バイト符号“0xE0A3”に置き換えられ、単語“and”は1バイト符号“0x1B”に置き換えられる。
【0058】
符号化前の文1002には、26個のアルファベットと5個のスペースが含まれており、文1002のデータ量は31バイト(=26+5)になる。一方、符号文1102には、4個の1バイト符号と2個の2バイト符号が含まれており、符号文1102のデータ量は8バイト(=4+2×2)になる。したがって、符号化により、データ量が8/31(約25.8%)に削減される。
【0059】
図13は、
図10(b)に示した日本語の文1011から生成される符号文の例を示している。日本語の場合、動詞活用語尾、助詞等の単語は対応関係情報824に含める必要がないため、符号化対象から除外される。符号化形式としては、Unicode Transformation Format-8(UTF-8)が用いられている。
【0060】
文1011には、句点を含む19個の単語が含まれている。このうち、動詞活用語尾に対応する“つ”、“っ”、“り”、及び“す”と助詞に対応する“て”は符号化されず、残りの14個の単語が1バイト又は2バイトの符号に置き換えられる。例えば、単語“本書”は2バイト符号“0xF350”に置き換えられ、単語“が”は1バイト符号“0xF8”に置き換えられる。
【0061】
符号化前の文1011には、24個の文字と18個のスペースが含まれている。1文字が3バイトに対応し、スペースが1バイトに対応する場合、文1011のデータ量は90バイト(=3×24+18)になる。
【0062】
一方、符号文1111には、12個の1バイト符号と2個の2バイト符号が含まれており、符号文1111のデータ量は16バイト(=12+2×2)になる。したがって、符号化により、データ量が16/90(約17.8%)に削減されている。
【0063】
図14は、
図10(b)に示した日本語の文1012から生成される符号文の例を示している。文1012には、7個の単語が含まれている。このうち、動詞活用語尾に対応する“い”は符号化されず、残りの6個の単語が1バイト又は2バイトの符号に置き換えられる。例えば、単語“本書”は2バイト符号“0xF350”に置き換えられ、単語“の”は1バイト符号“0xF3”に置き換えられる。
【0064】
符号化前の文1012には、10個の文字と6個のスペースが含まれており、文1012のデータ量は36バイト(=3×10+6)になる。一方、符号文1112には、5個の1バイト符号と1個の2バイト符号が含まれており、符号文1112のデータ量は7バイト(=5+2×1)になる。したがって、符号化により、データ量が7/36(約19.4%)に削減されている。
【0065】
次に、生成部814は、符号化ファイル822-1に含まれる言語L1の1つの符号文S1と、符号化ファイル822-2に含まれる言語L2の1つの符号文S2との組み合わせを選択する(ステップ903)。符号文S1と符号文S2は、同じ意味の文として互いに対応付けられている。
【0066】
次に、生成部814は、符号文S1に含まれるすべての符号を抽出し、符号文S2に含まれるすべての符号を抽出して、言語L1の符号と言語L2の符号のすべての組み合わせを生成する(ステップ904)。
【0067】
次に、生成部814は、言語L1の符号C1と言語L2の符号C2の組み合わせを選択し(ステップ905)、符号C1と符号C2とが共起していることを示す共起情報を、マトリクス情報823に記録する(ステップ906)。このとき、生成部814は、以下のいずれかの処理を行う。
(P1)マトリクス情報823の列に符号C1が登録されておらず、行に符号C2が登録されていない場合
生成部814は、マトリクス情報823の列に符号C1を追加し、行に符号C2を追加し、符号C1及び符号C2に対応する新たなセルに共起回数“1”を記録する。
(P2)マトリクス情報823の列に符号C1が登録されておらず、行に符号C2が登録されている場合
生成部814は、マトリクス情報823の列に符号C1を追加し、符号C1及び符号C2に対応する新たなセルに共起回数“1”を記録する。
(P3)マトリクス情報823の列に符号C1が登録されており、行に符号C2が登録されていない場合
生成部814は、マトリクス情報823の行に符号C2を追加し、符号C1及び符号C2に対応する新たなセルに共起回数“1”を記録する。
(P4)マトリクス情報823の列に符号C1が登録されており、行に符号C2が登録されている場合
生成部814は、符号C1及び符号C2に対応する既存のセルの共起回数を1だけインクリメントする。
【0068】
そして、生成部814は、言語L1の符号と言語L2の符号の次の組み合わせについて、ステップ905以降の処理を繰り返す。言語L1の符号と言語L2の符号のすべての組み合わせを選択した場合、生成部814は、言語L1の符号文と言語L2の符号文の次の組み合わせについて、ステップ903以降の処理を繰り返す。
【0069】
図15は、ステップ903~ステップ906の処理によって生成されるマトリクス情報823の例を示している。
図15のマトリクス情報823の各列は、英語の符号を表し、各行は、日本語の符号を表す。そして、マトリクス情報823の各セルの数字は、そのセルに対応する英語の符号C1と日本語の符号C2の共起回数を表す。例えば、英語の符号“0x20”及び日本語の符号“0xF350”に対応するセルの共起回数“2642613”は、符号化ファイル822-1及び符号化ファイル822-2において、それらの符号が2642613回共起していることを示している。
【0070】
言語L1の符号文と言語L2の符号文のすべての組み合わせを選択した場合、生成部814は、マトリクス情報823を用いて対応関係情報824を生成する(ステップ907)。このとき、生成部814は、マトリクス情報823の各セルが表す共起回数から、原文に符号C1が出現し、かつ、訳文に符号C2が出現する共起確率P(C1|C2)を計算することができる。そして、生成部814は、共起確率P(C1|C2)を、符号C1を符号C2に置き換える翻訳確率として用いて、対応関係情報824を生成する。
【0071】
図16は、翻訳モデル及び対応関係情報824の例を示している。
図16(a)は、ファイル821-1及びファイル821-2から生成される従来の翻訳モデルの例を示している。翻訳確率は、英語の単語を日本語の単語に置き換える翻訳の正しさを表す。例えば、“this”を“日常”に置き換える翻訳の正しさは“0.11”である。
図16(a)の翻訳モデルに含まれる単語のデータ量は、以下の通りである。
【0072】
“this”:4バイト
“manual”:6バイト
“guide”:5バイト
“日常”:6バイト
“本書”:6バイト
【0073】
一方、
図16(b)は、符号化ファイル822-1及び符号化ファイル822-2から生成される対応関係情報824の例を示している。翻訳確率は、英語の符号を日本語の符号に置き換える翻訳の正しさを表す。例えば、“this”に対応する符号“0x20”を“日常”に対応する“0xFFAC23”に置き換える翻訳の正しさは“0.11”である。
図16(b)の対応関係情報824に含まれる符号のデータ量は、以下の通りである。
【0074】
“this”に対応する符号“0x20”:1バイト
“manual”に対応する符号“0x5E70”:2バイト
“guide”に対応する符号“0x30E0C1”:3バイト
“日常”に対応する符号“0xFFAC23”:3バイト
“本書”に対応する符号“0xF350”:2バイト
【0075】
このように、従来の翻訳モデルの代わりに、対応関係情報824を翻訳モデルとして用いることで、翻訳モデルのデータ量を大幅に削減することができる。翻訳モデルのデータ量が減少すれば、翻訳モデルを高速に検索することが可能になり、翻訳処理も高速化される。
【0076】
図9のステップ901及びステップ902において、符号化部813は、熟語、成句等の複数の単語からなる文字列に対して、1つの符号を割り当てることができる。例えば、以下のような英語の文字列に対して、以下のような符号を割り当ててもよい。
【0077】
“in front of”(11バイト):“0xFE03F9”(3バイト)
“get rid of”(10バイト):“0xFFFC30”(3バイト)
“kick the bucket”(15バイト):“0xFFFCEA”(3バイト)
“take ... out”(9バイト):“0xA021C0”(3バイト)
【0078】
また、符号化部813は、同じ表記で意味又は品詞が異なる単語に対して、互いに異なる符号を割り当てることができる。例えば、日本語の“最中”に対して、以下のような2通りの符号を割り当ててもよい。
【0079】
“最中を食べる”の“最中”(6バイト):“0xFF0A03”(3バイト)
“ラーメンを食べる最中に”の“最中”(6バイト):“0xFF0A04”(3バイト)
【0080】
このように、1つの意味のまとまりに対して1つの符号を割り当てることで、対応関係情報824の精度が向上するため、翻訳精度も向上する。さらに、語句の表記を正規化した文字列に対して符号を割り当てることで、“go”と“goes”のように、同じ意味で表記が異なる単語に対する符号が共通化される。したがって、対訳コーパスのデータを分割して、並列計算によって高速に学習し、学習結果をマージすることが可能になる。
【0081】
図17は、
図8の翻訳装置801が行う翻訳処理の例を示すフローチャートである。まず、翻訳部815は、前処理が行われた言語L1のテキストデータ825-1を正規化文字列の単位で符号化することで、言語L1の符号化テキストデータ826-1を生成する(ステップ1701)。
【0082】
次に、翻訳部815は、対応関係情報824に基づいて、符号化テキストデータ826-1を言語L2の符号化テキストデータ826-2に翻訳する(ステップ1702)。例えば、翻訳部815は、符号化テキストデータ826-1に含まれる言語L1の各符号を、対応関係情報824において最も高い翻訳確率を有する言語L2の符号に置き換えることで、符号化テキストデータ826-2を生成することができる。
【0083】
そして、翻訳部815は、符号化テキストデータ826-2を復号することで、言語L2のテキストデータ825-2を生成し(ステップ1703)、出力部816は、テキストデータ825-2を出力する(ステップ1704)。
【0084】
ところで、翻訳装置801は、符号化ファイル822-1及び符号化ファイル822-2を生成する際に、言語L1及び言語L2の各符号文にいずれの符号が含まれるかを示すインデックス情報を生成することも可能である。このようなインデックス情報を利用することで、対応関係情報824を効率良く生成することができる。
【0085】
図18は、インデックス情報を用いる翻訳装置の機能的構成例を示している。
図18の翻訳装置801は、
図8の翻訳装置801において、符号化部813及び生成部814をそれぞれ符号化部1801及び生成部1802に置き換えた構成を有する。
【0086】
符号化部1801は、符号化部813と同様にして、ファイル821-1及びファイル821-2から符号化ファイル822-1及び符号化ファイル822-2を生成するとともに、インデックス情報1811-1及びインデックス情報1811-2を生成する。
【0087】
インデックス情報1811-1は、符号化ファイル822-1に関する情報であり、言語L1の各符号が符号化ファイル822-1の各符号文に含まれるか否かを示す論理値を有する。また、インデックス情報1811-2は、符号化ファイル822-2に関する情報であり、言語L2の各符号が符号化ファイル822-2の各符号文に含まれるか否かを示す論理値を有する。
【0088】
生成部1802は、インデックス情報1811-1とインデックス情報1811-2とに基づいてマトリクス情報823を生成し、マトリクス情報823を用いて対応関係情報824を生成する。
【0089】
インデックス情報1811-1及びインデックス情報1811-2は、符号化ファイル822-1及び符号化ファイル822-2に含まれるすべての符号について、各符号がそれぞれの符号文に出現するか否かを示している。したがって、インデックス情報1811-1及びインデックス情報1811-2を用いることで、言語L1の符号と言語L2の符号の共起回数を表すマトリクス情報823を高速に生成することができる。
【0090】
図19は、インデックス情報を用いる対応関係生成処理の具体例を示すフローチャートである。まず、符号化部1801は、ファイル821-1に含まれる言語L1の各文に対して前処理が行われた文を、正規化文字列の単位で符号化することで、言語L1の符号化ファイル822-1及びインデックス情報1811-1を生成する(ステップ1901)。符号化ファイル822-1には、言語L1の符号文1~符号文n(nは2以上の整数)が含まれている。
【0091】
次に、符号化部1801は、ファイル821-2に含まれる言語L2の各文に対して前処理が行われた文を、正規化文字列の単位で符号化することで、言語L2の符号化ファイル822-2及びインデックス情報1811-2を生成する(ステップ1902)。符号化ファイル822-2には、言語L2の符号文1~符号文nが含まれており、言語L2の符号文1~符号文nは、言語L1の符号文1~符号文nにそれぞれ対応付けられている。
【0092】
図20は、英語の符号化ファイルのインデックス情報の例を示している。
図20の符号は、英語の符号化ファイルに含まれる複数の符号を表し、これらの符号は、符号を表す16進数の昇順にソートされている。符号文1~符号文nは、英語の符号化ファイルに含まれるn個の符号文を表す。このうち、符号文1は、
図12の符号文1102に対応する。各符号と各符号文に対応するセル内の論理値“1”は、その符号がその符号文に含まれていることを示し、論理値“0”は、その符号がその符号文に含まれていないことを示す。
【0093】
例えば、符号“0x08”と符号文1に対応するセル内の論理値“1”は、符号“0x08”が符号文1に含まれていることを示している。また、符号“0x09”と符号文1に対応するセル内の論理値“0”は、符号“0x09”が符号文1に含まれていないことを示している。
【0094】
図21は、日本語の符号化ファイルのインデックス情報の例を示している。
図21の符号は、日本語の符号化ファイルに含まれる複数の符号を表し、これらの符号は、符号を表す16進数の昇順にソートされている。符号文1~符号文nは、日本語の符号化ファイルに含まれるn個の符号文を表す。このうち、符号文1は、
図14の符号文1112に対応する。
図21の符号文1~符号文nは、
図20の符号文1~符号文nにそれぞれ対応付けられている。
図20と同様に、各符号と各符号文に対応するセル内の論理値は、その符号がその符号文に含まれているか否かを示す。
【0095】
次に、生成部1802は、インデックス情報1811-1及びインデックス情報1811-2に含まれる符号を用いて、マトリクス情報823を生成する(ステップ1903)。このとき、生成部1802は、インデックス情報1811-1に含まれる言語L1の符号を、マトリクス情報823の各列に配置し、インデックス情報1811-2に含まれる言語L2の符号を各行に配置する。そして、生成部1802は、各行及び各列に対応するすべてのセルの共起回数に“0”を記録することで、マトリクス情報823を初期化する。
【0096】
次に、生成部1802は、インデックス情報1811-1に記録された言語L1の1つの符号文i(i=1~n)と、インデックス情報1811-2に記録された言語L2の符号文iとの組み合わせを選択する(ステップ1904)。そして、生成部1802は、言語L1の符号文iの列に記録された論理値と、言語L2の符号文iの列に記録された論理値とを用いて、マトリクス情報823の特定のセル内の共起回数をインクリメントする(ステップ1905)。
【0097】
このとき、生成部1802は、インデックス情報1811-1において、言語L1の符号文iの列から論理値“1”を検索し、検索した論理値“1”が示す符号に対応する、マトリクス情報823の列を特定する。また、生成部1802は、インデックス情報1811-2において、言語L2の符号文iの列から論理値“1”を検索し、検索した論理値“1”が示す符号に対応する、マトリクス情報823の行を特定する。そして、生成部1802は、特定した行及び列に対応するセル内の共起回数を1だけインクリメントする。
【0098】
このように、インデックス情報1811-1の符号はマトリクス情報823の列を指定するアドレスとして用いることができ、インデックス情報1811-2の符号はマトリクス情報823の行を指定するアドレスとして用いることができる。したがって、生成部1802は、インデックス情報1811-1及びインデックス情報1811-2を用いることで、マトリクス情報823の各セルに高速にアクセスして、共起回数をインクリメントすることができる。
【0099】
さらに、インデックス情報1811-1及びインデックス情報1811-2の論理値として、1ビットのビット値を用いることで、ビット演算によりマトリクス情報823を更新することができる。
【0100】
そして、生成部1802は、言語L1の符号文iと言語L2の符号文iの次の組み合わせについて、ステップ1904以降の処理を繰り返す。
【0101】
図22は、インデックス情報1811-1及びインデックス情報1811-2から生成されるマトリクス情報823の例を示している。この例では、ステップ1904において、
図20の符号文1と
図21の符号文1の組み合わせが最初に選択された場合を想定している。
【0102】
この場合、
図20の符号文1の列から6個の論理値“1”が検索され、それらの論理値“1”に対応する6個の符号が、
図22のマトリクス情報823の列を指定する符号として特定される。また、
図21の符号文1の列から6個の論理値“1”が検索され、それらの論理値“1”に対応する6個の符号が、
図22のマトリクス情報823の行を指定する符号として特定される。そして、特定された行及び列に対応する36個のセル内の共起回数が、“0”から“1”にインクリメントされる。
図22では、それらの36個のセルのうち、18個のセルの共起回数が示されている。
【0103】
このような処理を、
図20の符号文iと
図21の符号文iのすべての組み合わせについて繰り返すことで、
図15に示したようなマトリクス情報823が生成される。
【0104】
言語L1の符号文iと言語L2の符号文iのすべての組み合わせを選択した場合、生成部1802は、マトリクス情報823を用いて対応関係情報824を生成する(ステップ1906)。
【0105】
図6の対応関係生成装置601の構成は一例に過ぎず、対応関係生成装置601の用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。
【0106】
図8及び
図18の翻訳装置801の構成は一例に過ぎず、翻訳装置801の用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。例えば、前処理が外部の装置で行われる場合は、前処理部812を省略することができる。翻訳処理が外部の装置で行われる場合は、翻訳部815及び出力部816を省略することができる。
【0107】
図8の翻訳装置801において、対応関係生成処理が外部の装置で行われる場合は、前処理部812、符号化部813、及び生成部814を省略することができる。
図18の翻訳装置801において、対応関係生成処理が外部の装置で行われる場合は、前処理部812、符号化部1801、及び生成部1802を省略することができる。
【0108】
図7、
図9、
図17、及び
図19のフローチャートは一例に過ぎず、対応関係生成装置601又は翻訳装置801の構成又は条件に応じて一部の処理を省略又は変更してもよい。
【0109】
図1及び
図10の文、
図2及び
図16(a)の翻訳モデル、
図5のテキストデータ、
図11~
図14の符号文、
図15及び
図22のマトリクス情報、
図16(b)の対応関係情報、
図20及び
図21のインデックス情報は一例に過ぎない。翻訳モデル、符号文、マトリクス情報、対応関係情報、及びインデックス情報は、対訳コーパスに含まれる原文と訳文のペアに応じて変化する。言語L1及び言語L2は、日本語又は英語以外の言語であってもよい。
【0110】
図3の前処理及び
図4の統計的機械翻訳は一例に過ぎず、対応関係生成装置601又は翻訳装置801の構成又は条件に応じて一部の処理を省略又は変更してもよい。
【0111】
図23は、
図6の対応関係生成装置601、又は
図8及び
図18の翻訳装置801として用いられる情報処理装置(コンピュータ)の構成例を示している。
図23の情報処理装置は、CPU2301、メモリ2302、入力装置2303、出力装置2304、補助記憶装置2305、媒体駆動装置2306、及びネットワーク接続装置2307を備える。これらの構成要素はバス2308により互いに接続されている。
【0112】
メモリ2302は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ2302は、
図6の記憶部611、又は
図8及び
図18の記憶部817として用いることができる。
【0113】
CPU2301(プロセッサ)は、例えば、メモリ2302を利用してプログラムを実行することにより、
図6の符号化部612及び生成部613、
図8の符号化部813及び生成部814、
図18の符号化部1801及び生成部1802として動作する。CPU2301は、メモリ2302を利用してプログラムを実行することにより、
図8及び
図18の前処理部812及び翻訳部815としても動作する。
【0114】
入力装置2303は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示及び情報の入力に用いられる。入力装置2303は、
図8及び
図18の入力部811として用いることができる。
【0115】
出力装置2304は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。出力装置2304は、
図8及び
図18の出力部816として用いることができる。処理結果は、テキストデータ825-2であってもよい。
【0116】
補助記憶装置2305は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置2305は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置2305にプログラム及びデータを格納しておき、それらをメモリ2302にロードして使用することができる。補助記憶装置2305は、
図6の記憶部611、又は
図8及び
図18の記憶部817として用いることができる。
【0117】
媒体駆動装置2306は、可搬型記録媒体2309を駆動し、その記録内容にアクセスする。可搬型記録媒体2309は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体2309は、Compact Disk Read Only Memory(CD-ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体2309にプログラム及びデータを格納しておき、それらをメモリ2302にロードして使用することができる。
【0118】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ2302、補助記憶装置2305、又は可搬型記録媒体2309のような、物理的な(非一時的な)記録媒体である。
【0119】
ネットワーク接続装置2307は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置2307を介して受け取り、それらをメモリ2302にロードして使用することができる。ネットワーク接続装置2307は、
図8及び
図18の入力部811及び出力部816として用いることができる。
【0120】
なお、情報処理装置が
図23のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がオペレータ又はユーザと対話を行わない場合は、入力装置2303及び出力装置2304を省略してもよい。また、可搬型記録媒体2309又は通信ネットワークを利用しない場合は、媒体駆動装置2306又はネットワーク接続装置2307を省略してもよい。
【0121】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【0122】
図1乃至
図23を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1言語の複数の文を所定単位で符号化することで、前記第1言語の複数の符号文を生成し、
前記第1言語の複数の文それぞれに対応付けられた第2言語の複数の文を、前記所定単位で符号化することで、前記第2言語の複数の符号文を生成し、
前記第1言語の複数の符号文各々に含まれる符号と、前記第1言語の複数の符号文各々に対応付けられた前記第2言語の符号文に含まれる符号とに基づいて、前記第1言語の複数の符号と前記第2言語の複数の符号との間の対応関係を示す対応関係情報を生成する、
処理をコンピュータに実行させるための対応関係生成プログラム。
(付記2)
前記コンピュータは、前記第1言語の複数の符号各々と前記第2言語の複数の符号各々との組み合わせについて、前記第1言語の符号が前記第1言語の複数の符号文各々に出現し、かつ、前記第2言語の符号が、前記第1言語の複数の符号文各々に対応付けられた前記第2言語の符号文に出現する回数に基づき、前記対応関係情報を生成することを特徴とする付記1記載の対応関係生成プログラム。
(付記3)
前記コンピュータは、
前記第1言語の複数の文を前記所定単位で符号化するとき、前記第1言語の複数の符号各々が前記第1言語の複数の符号文各々に含まれるか否かを示す論理値を有する第1インデックス情報を生成し、
前記第2言語の複数の文が前記所定単位で符号化するとき、前記第2言語の複数の符号各々が前記第2言語の複数の符号文各々に含まれるか否かを示す論理値を有する第2インデックス情報を生成し、
前記第1インデックス情報と前記第2インデックス情報とに基づいて、前記対応関係情報を生成することを特徴とする付記1又は2記載の対応関係生成プログラム。
(付記4)
前記所定単位は、1つ又は複数の単語の表記を正規化した文字列に対応することを特徴とする付記1乃至3のいずれか1項に記載の対応関係生成プログラム。
(付記5)
第1言語の複数の文と、前記第1言語の複数の文それぞれに対応付けられた第2言語の複数の文とを記憶する記憶部と、
前記第1言語の複数の文を所定単位で符号化することで、前記第1言語の複数の符号文を生成し、前記第2言語の複数の文を前記所定単位で符号化することで、前記第2言語の複数の符号文を生成する符号化部と、
前記第1言語の複数の符号文各々に含まれる符号と、前記第1言語の複数の符号文各々に対応付けられた前記第2言語の符号文に含まれる符号とに基づいて、前記第1言語の複数の符号と前記第2言語の複数の符号との間の対応関係を示す対応関係情報を生成する生成部と、
を備えることを特徴とする対応関係生成装置。
(付記6)
前記生成部は、前記第1言語の複数の符号各々と前記第2言語の複数の符号各々との組み合わせについて、前記第1言語の符号が前記第1言語の複数の符号文各々に出現し、かつ、前記第2言語の符号が、前記第1言語の複数の符号文各々に対応付けられた前記第2言語の符号文に出現する回数に基づき、前記対応関係情報を生成することを特徴とする付記5記載の対応関係生成装置。
(付記7)
前記生成部は、
前記第1言語の複数の文を前記所定単位で符号化するとき、前記第1言語の複数の符号各々が前記第1言語の複数の符号文各々に含まれるか否かを示す論理値を有する第1インデックス情報を生成し、
前記第2言語の複数の文が前記所定単位で符号化するとき、前記第2言語の複数の符号各々が前記第2言語の複数の符号文各々に含まれるか否かを示す論理値を有する第2インデックス情報を生成し、
前記第1インデックス情報と前記第2インデックス情報とに基づいて、前記対応関係情報を生成することを特徴とする付記5又は6記載の対応関係生成装置。
(付記8)
前記所定単位は、1つ又は複数の単語の表記を正規化した文字列に対応することを特徴とする付記5乃至7のいずれか1項に記載の対応関係生成装置。
(付記9)
コンピュータが、
第1言語の複数の文を所定単位で符号化することで、前記第1言語の複数の符号文を生成し、
前記第1言語の複数の文それぞれに対応付けられた第2言語の複数の文を、前記所定単位で符号化することで、前記第2言語の複数の符号文を生成し、
前記第1言語の複数の符号文各々に含まれる符号と、前記第1言語の複数の符号文各々に対応付けられた前記第2言語の符号文に含まれる符号とに基づいて、前記第1言語の複数の符号と前記第2言語の複数の符号との間の対応関係を示す対応関係情報を生成する、
ことを特徴とする対応関係生成方法。
(付記10)
前記コンピュータは、前記第1言語の複数の符号各々と前記第2言語の複数の符号各々との組み合わせについて、前記第1言語の符号が前記第1言語の複数の符号文各々に出現し、かつ、前記第2言語の符号が、前記第1言語の複数の符号文各々に対応付けられた前記第2言語の符号文に出現する回数に基づき、前記対応関係情報を生成することを特徴とする付記9記載の対応関係生成方法。
(付記11)
前記コンピュータは、
前記第1言語の複数の文を前記所定単位で符号化するとき、前記第1言語の複数の符号各々が前記第1言語の複数の符号文各々に含まれるか否かを示す論理値を有する第1インデックス情報を生成し、
前記第2言語の複数の文が前記所定単位で符号化するとき、前記第2言語の複数の符号各々が前記第2言語の複数の符号文各々に含まれるか否かを示す論理値を有する第2インデックス情報を生成し、
前記第1インデックス情報と前記第2インデックス情報とに基づいて、前記対応関係情報を生成することを特徴とする付記9又は10記載の対応関係生成方法。
(付記12)
前記所定単位は、1つ又は複数の単語の表記を正規化した文字列に対応することを特徴とする付記9乃至11のいずれか1項に記載の対応関係生成方法。
(付記13)
翻訳処理をコンピュータに実行させるための翻訳プログラムであって、
前記翻訳プログラムは、
第1言語のテキストデータを所定単位で符号化することで、前記第1言語の符号化テキストデータを生成し、
前記第1言語の複数の符号と第2言語の複数の符号との間の対応関係を示す対応関係情報に基づいて、前記第1言語の符号化テキストデータを前記第2言語の符号化テキストデータに翻訳し、
前記第2言語の符号化テキストデータを復号することで、前記第2言語のテキストデータを生成する、
処理を前記コンピュータに実行させ、
前記対応関係情報は、前記第1言語の複数の文を前記所定単位で符号化することで生成された、前記第1言語の複数の符号文と、前記第1言語の複数の文それぞれに対応付けられた前記第2言語の複数の文を前記所定単位で符号化することで生成された、前記第2言語の複数の符号文とから、前記第1言語の複数の符号文各々に含まれる符号と、前記第1言語の複数の符号文各々に対応付けられた前記第2言語の符号文に含まれる符号とに基づいて、生成されることを特徴とする翻訳プログラム。
【符号の説明】
【0123】
101、201、1011、1012 日本語の文
102、202、1001、1002 英語の文
111~114 線分
203 学習処理
204 翻訳モデル
501 テキストデータ
502、503 文字列
601 対応関係生成装置
611、817 記憶部
612、813、1801 符号化部
613、814、1802 生成部
801 翻訳装置
811 入力部
812 前処理部
815 翻訳部
816 出力部
821-1、821-2 ファイル
822-1、822-2 符号化ファイル
823 マトリクス情報
824 対応関係情報
825-1、825-2 テキストデータ
826-1、826-2 符号化テキストデータ
1101、1102、1111、1112 符号文
1811-1、1811-2 インデックス情報
2301 CPU
2302 メモリ
2303 入力装置
2304 出力装置
2305 補助記憶装置
2306 媒体駆動装置
2307 ネットワーク接続装置
2308 バス
2309 可搬型記録媒体