以下、翻訳装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、機械翻訳を行う翻訳装置1であって、訳語選択をしてから,語順推定を行うポストオーダリングの手法を採用する翻訳装置1について説明する。
また、特に、本実施の形態において、原言語文を単語等の要素に分割し、1以上の連続または非連続の要素の並び毎に訳語選択を行い、二分木を構成し、必要に応じて、二分木の兄弟ノードを入れ替えて、目的言語文を取得する翻訳装置1について説明する。
また、本実施の形態において、原言語文の構文木も作成し、当該原言語の構文木と
原言語の語順であり目的言語の構文木との構造が異なる二分木の確率を下げて、二分木を選択することにより、より精度の高い翻訳を行える翻訳装置1について説明する。
また、特に、本実施の形態において、例えば、原言語は日本語で、目的言語は英語であり、構文構造付きのEWJSを学習しておき、二分木の兄弟ノードを入れ替えるか否かを判断する翻訳装置1について説明する。
さらに、本実施の形態において、後述する学習二分木(構文構造付きのEWJS等)の学習機能を有する翻訳装置1について説明する。
図1は、本実施の形態における翻訳装置1のブロック図である。翻訳装置1は、目的言語文格納部101、要素対格納部102、学習二分木格納部103、目的言語文二分木取得部104、原言語語順二分木取得部113、学習部105、受付部106、分割部107、検索部108、構文解析対象取得部109、二分木取得部110、入替部111、および出力部112を備える。
目的言語文格納部101は、1以上の目的言語文を格納し得る。目的言語文とは、目的言語の文である。目的言語は、例えば、英語である。ただし、原言語と異なる言語であれば良く、言語は問わない。
要素対格納部102は、2以上の要素対を格納し得る。要素対とは、原言語の要素と目的言語の要素との対である。要素とは、単語、形態素、句等、文を構成する部分である。要素は2以上の用語列や文でも良い。また、要素対は、原言語の要素と目的言語の要素と対応の確率に関する情報を保持していても良い。また、要素対格納部102は、いわゆる用語辞書と言っても良い。また、原言語は、例えば、日本語である。ただし、原言語の言語は問わない。
学習二分木格納部103は、1以上の学習二分木を格納し得る。学習二分木は、原言語の語順の、目的言語の二分木を示す情報である。また、学習二分木は、例えば、原言語の語順の二分木を示す情報であり、学習二分木の出現し易さを示す二分木確率情報とフラグとを有する情報でも良い。また、学習二分木は、原言語の語順の二分木を示す情報であり、学習二分木の出現し易さを示す二分木確率情報を有する情報でも良い。また、ここで、フラグとは、学習二分木を構成する2つの子ノード(兄弟のノード)の語順を入れ替えるか否かを示す情報である。
学習二分木は、例えば、親のノードの品詞を示す情報と、2つの子のノードの品詞を示す情報とを有する。また、学習二分木は、例えば、親のノードの品詞を示す情報と、2つの子のノードの品詞を示す情報と、フラグとを有する。また、2つの子のノードは、目的言語の要素でも良い。また、学習二分木は構文木を構成する情報である、と言える。品詞を示す情報とは、例えば、POSタグでも良いし、POSタグとフラグでも良い。つまり、学習二分木は、例えば、POSタグとフラグを有する。POSタグとフラグの例は、「S_ST」「VP_SW」「NP_ST」等である。「S_ST」の「S」は文を示すPOSタグであり、「ST」は語順を入れ替えないことを示すフラグである。また、「VP_SW」の「VP」は動詞句を示すPOSタグであり、「SW」は語順を入れ替えることを示すフラグである。「NP_ST」の「NP」は名詞句を示すPOSタグである。なお、品詞を示す情報とは、品詞の情報に加えて、対応する要素(単語等)の隠れクラスを有しても良い。隠れクラスとは、要素をグループ化した際のグループ識別子である。
目的言語文二分木取得部104は、1以上の各目的言語文を構文解析し、1以上の目的言語文の二分木を取得する。1以上の目的言語文は、目的言語文格納部101に格納されている。目的言語文二分木取得部104は、例えば、Berkeley Parser(Improved inference for unlexicalized parsing. In NAACL-HLT, pages 404-411, Rochester, New York, April. Association for Computational Linguistics.)等の構文解析器により実現され得る。
原言語語順二分木取得部113は、目的言語文二分木取得部104が取得した1以上の各二分木から、1以上の原言語語順二分木を取得する。原言語語順二分木取得部113は、例えば、目的言語文二分木取得部104が取得した1以上の各二分木に対して、目的言語(例えば、英語)から原言語(例えば、日本語)へのプレオーダリング手法を適用し、1以上の原言語語順二分木を取得する。目的言語(例えば、英語)から原言語(例えば、日本語)へのプレオーダリング手法は、人手ルールまたは機械学習で獲得されたルールを用いて処理を行う。かかるプレオーダリング手法は、公知技術であるので詳細な説明を省略する(Hideki Isozaki, Katsuhito Sudoh, Hajime Tsukada, and Kevin Duh. Head Finalization: A Simple Reordering Rule for SOV Languages. In Proceedings of the Joint Fifth Workshop on Statistical Machine Translation and MetricsMATR, pages 244-251. 2010.参照のこと)。また、原言語語順二分木とは、フラグを有し、原言語の語順であり、目的言語の要素を有する文の構文木を構成する二分木である。原言語語順二分木は、例えば、EWJSを二分木の構造にした情報であり、二分木の各ノードにフラグを有する情報である。
学習部105は、原言語語順二分木取得部113が取得した1以上の各原言語語順二分木に対して、機械学習のアルゴリズムを用いて、1以上の学習二分木を構成し、学習二分木格納部103に蓄積する。機械学習のアルゴリズムは、例えば、SVM、決定木を使用するアルゴリズム等、問わない。また、機械学習の際の素性は、例えば、二分木の親ノードの品詞、2つの子ノードの品詞等である。学習部105は、例えば、二分木の親ノードの品詞と2つの子ノードの品詞とフラグとを有する情報を予め学習している。
受付部106は、原言語文を受け付ける。原言語文とは、原言語の文である。また、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。原言語文の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部106は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
分割部107は、原言語文を分割し、1以上の要素を取得する。分割部107は、例えば、形態素解析器である。分割部107は、例えば、Chasen(URL:http://chasen.aist-nara.ac.jp/index.php?cmd=read&page=ProjectPractice2005&word=%A3%C3%A3%E8%A3%E1%A3%F3%A3%E5%A3%EE参照)やMecab(URL:http://mecab.sourceforge.net/参照)等である。なお、分割部107は、通常、2以上の要素を取得する。
検索部108は、原言語文が有する1以上の各要素に対応する目的言語の1以上の要素を、要素対格納部102から取得する。つまり、検索部108は、訳語選択を行う。検索部108は、例えば、1以上の連続または非連続の要素の並び毎に訳語選択を行う。検索部108は、要素対が有する確率に関する情報を用いて、原言語の要素に対応する目的言語の要素を取得しても良い。検索部108が行う訳語選択のアルゴリズムは問わない。
構文解析対象取得部109は、原言語の語順であり、検索部108が取得した目的言語の2以上の要素を有する文である構文解析対象を取得する。構文解析対象は、語順は原言語で単語は目的言語の文であり、Target Word in Source language Structure(TWSS)と言っても良い。また、構文解析対象は、例えば、EWJSである。
二分木取得部110は、構文解析対象を構文解析し、学習二分木格納部103の1以上の学習二分木を用いて、語順を入れ替えるか否かを示すフラグを有する1以上の目的言語の二分木を取得する。1以上の目的言語の二分木は、原言語の語順であり、目的言語の構文木である。1以上の目的言語の二分木は、例えば、構文構造付きのEWJSである。
具体的には、例えば、二分木取得部110は、構文解析対象を構文解析し、学習二分木格納部103の1以上の学習二分木が有する二分木確率情報を用いて、1以上の二分木により構成される構文木の出現し易さが最大となる1以上の二分木であり、フラグを有する1以上の目的言語の二分木を、1以上の学習二分木を用いて取得する。かかる方法を第一の方法という。
また、二分木取得部110は、原言語文をも構文解析し、原言語文の構文木である原言語構造木を取得し、原言語構造木を構成する1以上の対応する二分木と異なる構造である学習二分木に対応する二分木確率情報が示す出現し易さを減じて、1以上の二分木により構成される構文木の出現し易さが最大となる1以上の二分木であり、フラグを有する1以上の目的言語の二分木を取得しても良い。かかる方法を第二の方法という。第二の方法において、二分木取得部110は、例えば、機械学習を用いて、目的言語の二分木を取得する。ここでの機械学習のアルゴリズムは、SVM、決定木等、問わない。また、素性は、例えば、親ノードの品詞、2つの子ノードの品詞等である。また、ここで、目的言語の二分木は、例えば、フラグを有する構文構造付きのEWJSである。また、第二の方法における「学習二分木に対応する二分木確率情報が示す出現し易さを減じる」とは、相対的に減じれば良い。つまり、原言語構造木を構成する1以上の対応する二分木と異なる構造である学習二分木に対応する二分木確率情報は変化させずに、原言語構造木を構成する1以上の対応する二分木と同じ構造である学習二分木に対応する二分木確率情報が示す出現し易さを増加させても良い。また、第二の方法において、二分木取得部110は、原言語構造木を構成する1以上の対応する二分木と異なる構造である学習二分木に対応する二分木確率情報が示す出現し易さを減じ、かつ原言語構造木を構成する1以上の対応する二分木と同じ構造である学習二分木に対応する二分木確率情報が示す出現し易さを増加させても良い。
なお、第二の方法は、以下の概念のもと採用される。つまり、正しい1以上の目的言語の二分木からなる構文木(例えば、EWJS)の構文構造は、原言語文の構文構造と似た構造であるはずである。そのため、高精度に原言語文の構文構造を解析できれば、原言語文の構造に近くなるように、1以上の目的言語の二分木からなる構文木の構造をパースすることで、パース精度の向上が期待できる。
第二の方法を用いて、原言語をパースすることには以下の利点がある。まず、構文解析対象は翻訳結果であるためノイズが含まれる可能性があるが、入力文の原言語文にはこのようなノイズが含まれないので、それだけ原言語文のパースは構文解析対象のパースより有利である。また、原言語のパージング技術を活用することができる。また、パラレルコーパスにおいて、一方の言語をパースする際に相手言語側の情報を利用して、解析精度を向上させるという手法が存在するが、これと同じ効果が期待できる。
入替部111は、二分木取得部110が取得した1以上の目的言語の各二分木のフラグが、語順を入れ替えることを示す情報である場合に、二分木の子ノードの語順を入れ替え、目的言語文を取得する。なお、入替部111は、目的言語の二分木のフラグが語順を入れ替えないことを示す情報である場合には、二分木の子ノードの語順を入れ替えないことは言うまでもない。
出力部112は、入替部111が取得した目的言語文を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
以下、翻訳装置1に原言語文Fが与えられた場合、翻訳装置1が目的言語文Eを取得する動作例の詳細を説明する。FからEへの翻訳は、数式1のように定式化できる。ここで、原言語文をF、構文解析対象(例えば、EWJS)をM、目的言語文をEとする。また、λやλx(xは、r,s等)は重みのパラメータである。
つまり、Fが与えられた場合、二分木取得部110は、学習二分木格納部103の学習二分木が有する二分木確率情報を用いて、Fに対して、確率の情報が示す確率が最大となるような1以上の目的言語の二分木を、学習二分木格納部103から取得する。数式1において、P(M|F)は、Fが与えられた場合の、Mを取得する確率を示す。P(M|F)
λsの対数値として、例えば、対数線型モデルを用いたSMT(統計翻訳)のスコアを用いる。また、数式1の対数値として、FからMを取得する場合に、例えば、Mosesのスコア(Chao Wang, Michael Collins, and Philipp Koehn. 2007.Chinese syntactic reordering for statistical machine translation. In Proceedings of the EMNLP-CoNLL),pages 737-745, Prague, Czech Republic, June. Association for Computational Linguistics. 参照)を用いることは好適である。
また、二分木取得部110がフラグを有する1以上の目的言語の二分木を取得する2つの方法の例(第一の方法、第二の方法)を、以下に説明する。
第一の方法において、数式1のP(E|M,F)は、数式2のように変形できる。
数式2において、TMは、Mの構文構造である。また、P(E)は、目的言語文の原語モデルにおける確率である。さらに、P(TM|M)は、MからTMが生成される確率である。なお、数式2において、P(E|TM,M)λr1は1であるので、省略可能である。
数式2は、以下のことを示す。二分木取得部110は、構文解析対象を構文解析し、学習二分木格納部103の1以上の学習二分木が有する二分木確率情報を用いて、1以上の二分木により構成される構文木の出現し易さが最大となる1以上の二分木であり、フラグを有する1以上の目的言語の二分木を、1以上の学習二分木を用いて取得する。なお、取得された1以上の目的言語の二分木は、構文解析対象を構文解析した結果の構文木である。
次に、入替部111は、1以上の目的言語の各二分木に対して、二分木の子ノードを入れ替えるか否かを判断し、入れ替えるとの判断をした二分木の兄弟ノードを入れ替え、目的言語文を取得する。
さらに具体的には、二分木取得部110は、構文解析対象を構文解析し、N−bestの構文木を取得する。次に、入替部111は、各構文木を構成する二分木に対して、二分木の子ノードを入れ替えるか否かを判断し、構文木ごとに、K−bestのEを取得する。つまり、入替部111は、N×K通りの目的言語文の候補を取得し、かかる候補から最も確率が大きい目的言語文を決定する。
第二の方法において、数式1のP(E|M,F)は、数式3のように変形できる。
数式3において、P(E|TM,M)λr1は1であり、省略可能である。また、P(E)は、目的言語文の原語モデルにおける確率である。また、Aは、原言語の要素と目的言語の要素のアライメントを示す。また、TFは、原言語文の構文木を示す。さらに、P(TF|F)は予め与えられている定数である。また、P(A|M,F)は定数と規定できえる。P(TM|A,TF,M,F)は、第一の方法とは異なる点である。つまり、第二の方法において、TF(原言語文の構文木)を用いて、Eを決定する。
具体的には、数式3は、以下のことを示す。つまり、二分木取得部110は、原言語文をも構文解析し、原言語文の構文木である原言語構造木を取得し、原言語構造木を構成する1以上の対応する二分木と異なる構造である学習二分木に対応する二分木確率情報が示す出現し易さを減じて、1以上の二分木により構成される構文木の出現し易さが最大となる1以上の二分木であり、フラグを有する1以上の目的言語の二分木を取得しても良い。
さらに具体的には、P(TM|A,TF,M,F)を取得するために、二分木取得部110は、例えば、以下のような処理を行う。まず、二分木取得部110は、原言語文を構文解析し、原言語文の構文木(TF)を取得する。次に、二分木取得部110は、1以上の目的言語の二分木から構成される構文木(TM)を取得する。次に、二分木取得部110は、原言語文の構文木(TF)を構成する各二分木と、当該各二分木に対応する目的言語の二分木(((TM)を構成する二分木)とを比較し、各二分木のワードスパンを取得する。そして、二分木取得部110は、各二分木のワードスパンを用いて、原言語文の構文木(TF)を構成する二分木と目的言語の二分木とがクロスしているか否かを判断する。二分木取得部110は、両二分木がクロスしていると判断した場合、目的言語の二分木(((TM)を構成する二分木)に対応する二分木確率情報が示す出現し易さを減じる。また、クロスしていないと判断した場合、目的言語の二分木(((TM)を構成する二分木)に対応する二分木確率情報が示す出現し易さを増加させる。なお、ここで、二分木取得部110は、両二分木がクロスしている場合と両二分木がクロスしていない場合との一方の二分木確率情報が示す出現し易さを変化させるだけでも良い。
目的言語文格納部101、要素対格納部102、および学習二分木格納部103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
目的言語文格納部101等に目的言語文等が記憶される過程は問わない。例えば、記録媒体を介して目的言語文等が目的言語文格納部101等で記憶されるようになってもよく、通信回線等を介して送信された目的言語文等が目的言語文格納部101等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された目的言語文等が目的言語文格納部101等で記憶されるようになってもよい。
目的言語文二分木取得部104、学習部105、受付部106、分割部107、検索部108、構文解析対象取得部109、二分木取得部110、および入替部111は、通常、MPUやメモリ等から実現され得る。目的言語文二分木取得部104等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部112は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部112は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、翻訳装置1が原言語文を翻訳し、目的言語文を取得する動作について、図2のフローチャートを用いて説明する。
(ステップS201)受付部106は、原言語文を受け付けたか否かを判断する。原言語文を受け付ければステップS202に行き、原言語文を受け付けなければステップS201に戻る。
(ステップS202)分割部107は、ステップS201で受け付けられた原言語文を分割し、1以上の要素を取得する。
(ステップS203)検索部108は、カウンタiに1を代入する。
(ステップS204)検索部108は、ステップS202で取得された要素のうち、i番目の要素が存在するか否かを判断する。i番目の要素が存在すればステップS205に行き、i番目の要素が存在しなければステップS207に行く。
(ステップS205)検索部108は、i番目の要素に対応する目的言語の要素を、要素対格納部102から取得する。
(ステップS206)検索部108は、カウンタiを1、インクリメントし、ステップS204に戻る。
(ステップS207)構文解析対象取得部109は、ステップS202における原言語文の分割結果と、ステップS205で取得された目的言語の1以上の要素とを用いて、原言語の語順であり、目的言語の1以上の要素を有する文である構文解析対象を取得する。
(ステップS208)二分木取得部110は、構文解析対象を、学習二分木格納部103の1以上の学習二分木を用いて構文解析する。そして、二分木取得部110は、フラグを有する1以上の目的言語の二分木を取得する。ここで、二分木取得部110は、学習二分木格納部103の1以上の学習二分木を用いて、1以上の目的言語の二分木を取得する。
(ステップS209)入替部111は、カウンタjに1を代入する。
(ステップS210)入替部111は、ステップS208で取得された二分木の中に、j番目の二分木が存在するか否かを判断する。j番目の二分木が存在すればステップS211に行き、j番目の二分木が存在しなければステップS215に行く。
(ステップS211)入替部111は、ステップS208で取得された二分木の中から、j番目の二分木のフラグを取得する。
(ステップS212)入替部111は、ステップS211で取得したフラグが、語順を入れ替えることを示す情報であるか否かを判断する。フラグが語順を入れ替えることを示す情報であればステップS213に行き、語順を入れ替えないことを示す情報であればステップS214に行く。
(ステップS213)入替部111は、j番目の二分木の2つの兄弟ノードを入れ替える。
(ステップS214)入替部111は、カウンタjを1、インクリメントし、ステップS210に戻る。
(ステップS215)ステップS210でj番目の二分木が存在しなかった場合、入替部111は、目的言語文を構成する。
(ステップS216)出力部112は、入替部111がステップS215で構成した目的言語文を出力し、ステップS201に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、翻訳装置1が学習二分木を学習する動作について、図3のフローチャートを用いて説明する。
(ステップS301)目的言語文二分木取得部104は、カウンタiに1を代入する。
(ステップS302)目的言語文二分木取得部104は、目的言語文格納部101にi番目の目的言語文が存在するか否かを判断する。i番目の目的言語文が存在すればステップS303に行き、存在しなければステップS310に行く。
(ステップS303)目的言語文二分木取得部104は、i番目の目的言語文を目的言語文格納部101から取得し、当該目的言語文を構文解析し、目的言語の構文木を取得する。
(ステップS304)原言語語順二分木取得部113は、カウンタjに1を代入する。
(ステップS305)原言語語順二分木取得部113は、ステップS303で取得された構文木の中に、j番目の二分木が存在するか否かを判断する。j番目の二分木が存在すればステップS306に行き、存在しなければステップS309に行く。
(ステップS306)原言語語順二分木取得部113は、機械学習を用いて、j番目の二分木のフラグを決定する。なお、フラグとは、二分木を構成する兄弟ノードを入れ替えるか否かを示す情報である。
(ステップS307)原言語語順二分木取得部113は、ステップS306で決定したフラグを、j番目の二分木に付与し、フラグ付きの二分木を図示しないバッファに一時蓄積する。
(ステップS308)原言語語順二分木取得部113は、カウンタjを1、インクリメントし、ステップS305に戻る。
(ステップS309)ステップS305でj番目の二分木が存在しなかった場合、目的言語文二分木取得部104は、カウンタiを1、インクリメントし、ステップS302に戻る。
(ステップS310)ステップS302でi番目の目的言語文が存在しなかった場合、学習部105は、カウンタkに1を代入する。
(ステップS311)学習部105は、図示しないバッファに、k種類目の二分木が存在するか否かを判断する。k種類目の二分木が存在すればステップS312に行き、存在しなければ処理を終了する。
(ステップS312)学習部105は、k種類目の二分木の二分木確率情報を取得する。具体的には、例えば、学習部105は、k種類目の二分木の、バッファ内での出現回数を取得する。また、学習部105は、バッファ内の全二分木数を取得する。そして、学習部105は、「二分木確率情報=k種類目の二分木の出現回数/全二分木数」を算出する。
(ステップS313)学習部105は、ステップS312で取得した二分木確率情報をk種類目の二分木に付加し、学習二分木を構成する。
(ステップS314)学習部105は、ステップS313で構成した学習二分木を学習二分木格納部103に蓄積する。
(ステップS315)学習部105は、カウンタkを1、インクリメントし、ステップS311に戻る。
以下、本実施の形態における翻訳装置1の具体的な動作について説明する。ここでは、原言語は日本語、目的言語は英語である、とする。
受付部106は、原言語文「彼は昨日本を買った」を受け付けたとする。次に、分割部107は、文「彼は昨日本を買った」に形態素解析を行い、形態素(要素の一種)に分割する。そして、分割部107は、「彼 は 昨日 本 を 買った」を得る。
次に、検索部108は、統計翻訳のアルゴリズムにより、要素対格納部102の要素対を用いて、原言語の各要素「彼」「は」「昨日」「本」「を」「買った」の訳語を選択する。そして、検索部108は、「彼」に対して「he」、「は」に対して「_va0」、「昨日」に対して「yesterday」、「本」に対して「books」、「を」に対して「_va2」、「買った」に対して「bought」を得る。
次に、構文解析対象取得部109は、原言語文の分割結果「彼 は 昨日 本 を 買った」と、目的言語の1以上の要素(「he」、「_va0」、「yesterday」、「books」、「_va2」、「bought」)とを用いて、原言語の語順であり、目的言語の1以上の要素を有する文である構文解析対象「he _va0 yesterday books _va2 bought」を取得する。なお、この構文解析対象は、EWJSである。
次に、二分木取得部110は、構文解析対象「he _va0 yesterday books _va2 bought」を、学習二分木格納部103の1以上の学習二分木を用いて構文解析する。そして、二分木取得部110は、図4に示す構文木(EWJSの構文木)を取得する。この構文木は、目的言語の二分木の集合である。また、この構文木は、原言語文の語順の構文木である。また、この構文木を構成する二分木は、POSタグとフラグとを有する。
次に、入替部111は、フラグに「SW」を有する二分木に対して、兄弟ノードを入れ替える。つまり、入替部111は、図4の構文木のうち、「VP_SW」の2つの二分木の兄弟ノードを入れ替える。そして、入替部111は、図5に示す英語文の構文木を取得する。なお、図5の構文木において、フラグは消去されている。
次に、入替部111は、図5に示す英語文の構文木から、目的言語文「he bought books yesterday」を取得する。なお、入替部111は、目的言語文を取得する際に、削除する特定の要素「_va0」「_va2」等を予め保持している。そして、入替部111は予め保持している特定の要素を削除し、目的言語文を取得する。
なお、入替部111は、特定の要素「_va0」「_va2」等を削除した後、必要な冠詞を挿入する処理を行うことは好適である。また、必要な冠詞を挿入する処理は、例えば、機械学習により可能である。なお、英語(目的言語の一例)の文を訓練データとして構築したN−gram言語モデルを用いて冠詞を挿入することができる。例えば、入替部111は、各単語間に冠詞がある場合と無い場合の文の生成確率を計算し、文の生成確率が最大となる単語列を選択することで、挿入する冠詞の種類と位置を決定する。
次に、出力部112は、入替部111が取得した目的言語文「he bought books yesterday」を出力する。
以下、翻訳装置1について行った実験について説明する。
(実験)
本実験において、NTCIR-9 Patent Machine Translation Japanese to English subtaskおよびNTCIR-8 Patent Translation Japanese to English taskのデータを用いた.これらのデータは特許文である。これらの特許文は、旅行会話の文やニュースの文に比べて長い。本実験において、原言語は日本語であり、目的言語は英語である。
また、NTCIR−9とNTCIR−8で訓練データと開発データは同じであり、テストデータは異なる。NTCIR−9のテストデータの文数は2000で、NTCIR−8のテストデータの文数は1251であった。また、訓練データ、開発データ、リファレンスデータ中に含まれるXML entity(例えば、≶, ˜, ’等)はUTF−8の文字に戻してから用いた。
また、本実験において、英語のトークン化とPOSタグの付与と構文解析にはEnju(Yusuke Miyao and Jun'ichi Tsujii. 2008. Feature forest models for probabilistic hpsg parsing. In Computational Linguistics, Volume 34, Number 1, pages 81-88参照)を用いた。日本語の形態素解析にはMecab、係り受け解析にはCabochaを用いた。また、日本語の英数字と括弧のトークン化は英語のトークン化と同じになるようにした。
翻訳モデルは、訓練データのうち、英語と日本語の単語数がいずれも64単語以下の文から構築した。全訓練データ約319万文のうち、約297万文が64単語以下であった。また、言語モデルにはSRILMの5−gramを用いた。言語モデルは、全訓練データを用いて学習した。
また、EWJSの構文構造をパースするモデルの学習およびテスト時のパースにはberkeley parserを用いた。また、パージングモデルは、40語以内の文から、50万文をランダムに選択して、学習された。
また、本実験において、上記の数式2のSMTスコアの算出や、EWJS(M)の生成のために、フレーズベースの統計翻訳システムのMoses(Philipp Koehn, Hieu Hoang, Alexandra Birch, Chris Callison-Burch, Marcello Federico, Nicola Bertoldi,Brooke Cowan, Wade Shen, Christine Moran, Richard Zens, Chris Dyer, Ondrej Bojar, Alexandra Constantin, and Evan Herbst. 2007. Moses: Open source toolkit for statistical machine translation. In Proceedings of the 45th ACL, pages 177-180, Prague, Czech Republic, June. Association for Computational Linguistics.参照)を用いた。また、歪み限界(Distortion limit)は0に設定した。SMTのパラメータは、MERTで開発データの前半を用いてチューニングした。
また、Mを介した上記の数式1の処理では、MのN−best解を用いてビームサーチした。その際のビーム幅は10を用いた。なお、Mは、Mosesの出力である。
また、数式2のP(TM|M)と数式3のP(TM|A,TF,M,F)の処理では、解析結果のK−best解を用いた。そして、K−best解の確率は定数に近似した。
また、数式2で設定が必要なパラメータは、λr2とK−bestのKの2つである。また、数式3で設定が必要なパラメータはλr2と、K−bestのKと、wの3つである。wは、Mをパースする際にTFの影響の強さを調節するパラメータである。これらのパラメータは開発データの後半を用いてチューニングした。このチューニングはBLEUの値に基づいて行った。なお、BLEU(Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. 2002. Bleu: a Method for Automatic Evaluation of Machine Translation. In Proceedings of 40th ACL, pages 311-318. 参照)は、自動評価による値である。
以上の前提の元、本実験において、次の5つの比較手法を用いた。
・Phrase-based SMT (PBMT)
・hierarchical phrase-based SMT (HPBMT)
・String-to-tree syntax-based SMT (SBMT)
・Post-ordering based on phrase-based SMT (PO-PBMT)
・Post-ordering based on hierarchical phrase-based SMT (PO-HPBMT)
なお、これらのシステムには上記のMosesを用いた。また、PO-PBMTは、非特許文献1の手法である。PO-PBMTでは、はじめに歪み限界0で日本語文をEWJSにフレーズベースの統計翻訳で翻訳し、歪み限界20でEWJSを英語文にフレーズベースの統計翻訳で翻訳した。これらの歪み限界の値は、非特許文献1の 実験で最も実験結果が高かった値である。
また、PO-HPBMTでは、PO-PBMTでEWJSから英語文への翻訳にフレーズベースの統計翻訳の代わりに階層フレーズベースの統計翻訳を用いた。階層フレーズベースの統計翻訳の最大チャートスパンには15を用いた。
また、PMBTの歪み限界には12と20を用いた.HPBMTの最大チャートスパンには15を用いた。その他のシステムのパラメータはシステムのデフォルト値を用いた。また、統計翻訳のパラメータは、開発データの前半を用いてMERTによってチューニングした。
本実験において、翻訳結果の訳質はRIBES v1.1およびBLEU−4で評価した。RIBESのパラメータはデフォルト設定を用いた。なお、本実験において、大文字と小文字とは区別をしていない。本実験の実験結果を図6に示す。なお、RIBESについては、文献(Hideki Isozaki, Tsutomu Hirao, Kevin Duh, Katsuhito Sudoh, and Hajime Tsukada. 2010a. Automatic Evaluation of Translation Quality for Distant Language Pairs. In Proceedings of the 2010 EMNLP, pages 944-952.)を参照のこと。
図6において、Proposed(without TF)は、翻訳装置1が上記の数式2を利用した場合の結果である。また、Proposed(with TF)は、翻訳装置1が上記の数式3を利用した場合の結果である。
Proposed(with TF)は、RIBESおよびBLEUいずれにおいても、またNTCIR−9、NTCIR−8のいずれにおいても、比較手法より値が高かった。
以上より、翻訳装置1の手法による語順推定の有効性が示された。
また、翻訳装置1の手法の(with TF)と(without TF)とを比較すると、NTCIR−9、NTCIR−8のいずれにおいても、(with TF)の方がRIBES、BLEUともに少し高かった。そのため、日本語の構文構造をEWJSのパースに利用する手法は、少し効果が見られた。
以上、本実施の形態によれば、機械翻訳の訳質が高くなる。さらに具体的には、原言語と目的言語での構文構造の違いを識別するモデルを含んだ構文解析モデルを用いて構文解析し、その解析結果に基づいて構文構造の兄弟ノードの語順を入れ替えることにより、語順を入れ替えるため、語順の推定精度が向上し、機械翻訳の訳質が高くなる。
なお、本実施の形態において、上述したように、二分木取得部110は、原言語文をも構文解析し、原言語文の構文木である原言語構造木を取得し、原言語構造木を構成する1以上の対応する二分木と異なる構造である学習二分木に対応する二分木確率情報が示す出現し易さを減じて、1以上の二分木により構成される構文木の出現し易さが最大となる1以上の二分木であり、フラグを有する1以上の目的言語の二分木を取得しても良い。かかる第二の方法の具体例を含む翻訳装置1の動作について、図7を用いて説明する。
今、受付部106は、原言語文「彼は望遠鏡で彼女を見た」を受け付けた、とする。そして、分割部107は、原言語文「彼は望遠鏡で彼女を見た」を分割し、7つの要素「彼」「は」「望遠鏡」「で」「彼女」「を」「見た」を取得する。
次に、検索部108は、各要素に対応する目的言語の要素を、要素対格納部102から取得する。
次に、構文解析対象取得部109は、原言語文の分割結果と、目的言語の1以上の要素とを用いて、構文解析対象「he _va0 telescope with her _va2 saw」を取得する。
次に、二分木取得部110は、構文解析対象を、学習二分木格納部103の1以上の学習二分木を用いて構文解析する。そして、二分木取得部110は、フラグを有する1以上の目的言語の二分木を取得する。ここでは、二分木取得部110は、図7のCase1とCase2との2つのEWJS構文木を取得した、とする。
次に、二分木取得部110は、原言語文「彼は望遠鏡で彼女を見た」を構文解析する。そして、図7の原言語文の構文木を取得する。
次に、二分木取得部110は、原言語文の構文木を構成する各二分木と、当該各二分木に対応する目的言語の二分木とを比較し、各二分木のワードスパンを取得する。ここで、例えば、二分木取得部110は、「彼女」「を」「見た」に対応する原言語文の二分木のスパンを「5−7」と取得する。また、二分木取得部110は、図7のCase1の「彼女」「を」「見た」に対応する二分木のスパンを「5−7」と取得する。さらに、二分木取得部110は、図7のCase2の「彼女」「を」「見た」に対応する二分木のスパンを「3−6」と取得する。
次に、二分木取得部110は、各二分木のワードスパン(「5−7」と「5−7」)を用いて、原言語文の構文木を構成する二分木と、図7のCase1の目的言語の二分木とがクロスしていない、と判断する。また、二分木取得部110は、各二分木のワードスパン(「5−7」と「3−6」)を用いて、原言語文の構文木を構成する二分木と、図7のCase2の目的言語の二分木とがクロスしている、と判断する。
そして、二分木取得部110は、両二分木がクロスしていると判断した、図7のCase2の目的言語の二分木に対応する二分木確率情報が示す出現し易さを減じる。なお、減じる程度は、通常、予め決められている。
また、二分木取得部110は、両二分木がクロスしていないと判断した、図7のCase1の目的言語の二分木に対応する二分木確率情報が示す出現し易さを増加させる。なお、増加させる程度は、通常、予め決められている。
そして、二分木確率情報を用いて、確率が最大となるように、二分木取得部110は、EWJS構文木を決定する。
次に、二分木取得部110が取得したEWJS構文木(構文構造付きEWJS)を構成する各二分木に対して、入替部111は、二分木が有するフラグが、語順を入れ替えることを示す情報であるか否かを判断する。そして、入替部111は、語順を入れ替えることを示すフラグに対応する二分木の2つの兄弟ノードを入れ替える。そして、入替部111は、目的言語文を取得する。
次に、出力部112は、入替部111が取得した目的言語文を出力する。
なお、上記実施の形態において、主として、翻訳装置の原言語は分かち書きされていない言語を対象とした。つまり、翻訳装置は、分割部107を有した。しかし、原言語が分かち書きされている言語(例えば、英語等)の場合、翻訳装置は、分割部107を有しない。かかる場合、例えば、翻訳装置3の構成は、図8のようになる。つまり、かかる場合の翻訳装置3は、原言語の要素と目的言語の要素との対である2以上の要素対を格納し得る要素対格納部と、原言語の語順の二分木を示す情報である学習二分木を、1以上格納し得る学習二分木格納部と、原言語文を受け付ける受付部と、前記原言語文が有する2以上の各要素に対応する目的言語の2以上の要素を、前記要素対格納部から取得する検索部と、原言語の語順であり、前記検索部が取得した目的言語の2以上の要素を有する文である構文解析対象を取得する構文解析対象取得部と、前記構文解析対象を構文解析し、前記学習二分木格納部の1以上の学習二分木を用いて、語順を入れ替えるか否かを示すフラグを有する1以上の目的言語の二分木を取得する二分木取得部と、前記二分木取得部が取得した1以上の目的言語の各二分木のフラグが、語順を入れ替えることを示す情報である場合に、当該二分木の子ノードの語順を入れ替え、目的言語文を取得する入替部と、前記入替部が取得した目的言語文を出力する出力部とを具備する翻訳装置である。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、原言語の要素と目的言語の要素との対である2以上の要素対と、原言語の語順の二分木を示す情報である1以上の学習二分木とを格納しており、コンピュータを、原言語文を受け付ける受付部と、前記原言語文が有する2以上の各要素に対応する目的言語の2以上の要素を、前記記録媒体から取得する検索部と、原言語の語順であり、前記検索部が取得した目的言語の1以上の要素を有する文である構文解析対象を取得する構文解析対象取得部と、前記構文解析対象を構文解析し、前記記録媒体の1以上の学習二分木を用いて、語順を入れ替えるか否かを示すフラグを有する1以上の目的言語の二分木を取得する二分木取得部と、前記二分木取得部が取得した1以上の目的言語の各二分木のフラグが、語順を入れ替えることを示す情報である場合に、当該二分木の子ノードの語順を入れ替え、目的言語文を取得する入替部と、前記入替部が取得した目的言語文を出力する出力部として機能させるためのプログラム、である。
上記プログラムにおいて、前記学習二分木は、原言語の語順の二分木を示す情報であり、当該学習二分木の出現し易さを示す二分木確率情報と語順を入れ替えるか否かを示すフラグとを有する二分木の情報であり、前記二分木取得部は、前記構文解析対象を構文解析し、前記学習二分木格納部の1以上の学習二分木が有する二分木確率情報を用いて、1以上の二分木により構成される構文木の出現し易さが最大となる1以上の二分木であり、フラグを有する1以上の目的言語の二分木を、前記1以上の学習二分木を用いて取得するものとして、コンピュータを機能させることは好適である。
上記プログラムにおいて、前記学習二分木は、原言語の語順の二分木を示す情報であり、当該学習二分木の出現し易さを示す二分木確率情報を有する二分木の情報であり、前記二分木取得部は、前記原言語文をも構文解析し、原言語文の構文木である原言語構造木を取得し、当該原言語構造木を構成する1以上の対応する二分木と異なる構造である学習二分木に対応する二分木確率情報が示す出現し易さを減じて、1以上の二分木により構成される構文木の出現し易さが最大となる1以上の二分木であり、フラグを有する1以上の目的言語の二分木を取得するものとして、コンピュータを機能させることは好適である。
上記プログラムにおいて、コンピュータを記録媒体に格納されている1以上の各目的言語文を構文解析し、1以上の二分木を取得する目的言語文二分木取得部と、前記目的言語文二分木取得部が取得した1以上の各二分木に対して、機械学習のアルゴリズムを用いてフラグを決定し、当該フラグを有する1以上の学習二分木を構成し、前記学習二分木格納部に蓄積する学習部として、さらに機能させることは好適である。
上記プログラムにおいて、原言語は日本語であり、目的言語は英語であり、前記学習二分木は構文構造付きのEWJSであり、前記構文解析対象はEWJSであるものとして、コンピュータを機能させることは好適である。
(実施の形態2)
本実施の形態において、実施の形態1と比較して、学習二分木はフラグを有さず、後にフラグを決定するところが異なる。
図9は、本実施の形態における翻訳装置2のブロック図である。翻訳装置2は、目的言語文格納部101、要素対格納部102、学習二分木格納部203、目的言語文二分木取得部104、学習部105、受付部106、分割部107、検索部108、構文解析対象取得部109、二分木取得部210、入替部111、出力部112を備える。
学習二分木格納部203は、1以上の学習二分木を格納し得る。学習二分木は、原言語の語順の二分木を示す情報である。ここでの学習二分木は、フラグを有さない。学習二分木とは、例えば、親のノードの品詞を示す情報と、2つの子のノードの品詞を示す情報とを有する。また、2つの子のノードは、目的言語の要素でも良い。学習二分木は、二分木確率情報を有することは好適である。
学習二分木格納部203は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。学習二分木格納部203に学習二分木が記憶される過程は問わない。
二分木取得部210は、構文解析対象を構文解析し、学習二分木格納部203の1以上の学習二分木を用いて、語順を入れ替えるか否かを示すフラグを有する1以上の目的言語の二分木を取得する。
さらに具体的には、二分木取得部210は、構文解析対象を構文解析し、学習二分木格納部203の1以上の学習二分木が有する二分木確率情報を用いて、1以上の二分木により構成される構文木の出現し易さが最大となる1以上の二分木を取得する。次に、二分木取得部210は、取得した1以上の各二分木に対して、機械学習のアルゴリズムを用いてフラグを決定し、フラグを有する1以上の目的言語の二分木を取得する。
なお、二分木取得部210は、例えば、二分木の情報およびフラグの情報を対応付けて格納している。ここで、格納している情報を学習データと言う。そして、二分木取得部210は、取得した1以上の各二分木に対して、学習データを用いて、機械学習し、フラグを決定する。機械学習のアルゴリズムは、SVM、決定木等、問わない。また、機械学習の素性は、例えば、二分木を構成する親ノードの品詞と、2つの子ノードの品詞である。ただし、機械学習の素性も問わない。
二分木取得部210は、通常、MPUやメモリ等から実現され得る。二分木取得部210の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
以上、本実施の形態によれば、機械翻訳の訳質が高くなる。さらに具体的には、原言語と目的言語での構文構造の違いを識別するモデルを含んだ構文解析モデルを用いて構文解析し、その解析結果に基づいて構文構造の兄弟ノードの語順を入れ替えることにより、語順を入れ替えるため、語順の推定精度が向上し、機械翻訳の訳質が高くなる。
また、本実施の形態において、学習二分木格納部203で格納している学習二分木はフラグを有する必要がない。つまり、簡易な学習データを用いて、二分木の兄弟ノードの語順を入れ替えるか否かを判断できる。
なお、本実施の形態における翻訳装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、原言語の要素と目的言語の要素との対である2以上の要素対と、原言語の語順の二分木を示す情報である1以上の学習二分木とを格納しており、コンピュータを、原言語文を受け付ける受付部と、前記原言語文を分割し、1以上の要素を取得する分割部と、前記分割部が取得した1以上の各要素に対応する目的言語の1以上の要素を、前記記録媒体から取得する検索部と、原言語の語順であり、前記検索部が取得した目的言語の1以上の要素を有する文である構文解析対象を取得する構文解析対象取得部と、前記構文解析対象を構文解析し、前記記録媒体の1以上の学習二分木を用いて、語順を入れ替えるか否かを示すフラグを有する1以上の目的言語の二分木を取得する二分木取得部と、前記二分木取得部が取得した1以上の目的言語の各二分木のフラグが、語順を入れ替えることを示す情報である場合に、当該二分木の子ノードの語順を入れ替え、目的言語文を取得する入替部と、前記入替部が取得した目的言語文を出力する出力部として機能させるためのプログラム、である。
上記プログラムにおいて、前記二分木取得部は、前記構文解析対象を構文解析し、前記学習二分木格納部の1以上の学習二分木が有する二分木確率情報を用いて、1以上の二分木により構成される構文木の出現し易さが最大となる1以上の二分木を取得し、かつ、1以上の各二分木に対して、機械学習のアルゴリズムを用いてフラグを決定し、フラグを有する1以上の目的言語の二分木を取得するものとして、コンピュータを機能させることは好適である。
また、図10は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の翻訳装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図10は、このコンピュータシステム300の概観図であり、図11は、システム300のブロック図である。
図10において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図11において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、バス3014と、ROM3015と、RAM3016と、ハードディスク3017とを含む。なお、バス3014は、MPU3013やCD−ROMドライブ3012に接続されている。また、ROM3015には、ブートアッププログラム等のプログラムが記憶されている。また、RAM3016は、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのものである。また、ハードディスク3017は、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのものである。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の翻訳装置の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の翻訳装置の機能を実行させるオペレーティングシステム、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。