JP6103573B2 - 翻訳装置、翻訳方法、およびプログラム - Google Patents

翻訳装置、翻訳方法、およびプログラム Download PDF

Info

Publication number
JP6103573B2
JP6103573B2 JP2012132311A JP2012132311A JP6103573B2 JP 6103573 B2 JP6103573 B2 JP 6103573B2 JP 2012132311 A JP2012132311 A JP 2012132311A JP 2012132311 A JP2012132311 A JP 2012132311A JP 6103573 B2 JP6103573 B2 JP 6103573B2
Authority
JP
Japan
Prior art keywords
derivation
sentence
unit
acquisition unit
target language
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012132311A
Other languages
English (en)
Other versions
JP2013257660A (ja
Inventor
グラム ニュービッグ
グラム ニュービッグ
渡辺 太郎
太郎 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2012132311A priority Critical patent/JP6103573B2/ja
Publication of JP2013257660A publication Critical patent/JP2013257660A/ja
Application granted granted Critical
Publication of JP6103573B2 publication Critical patent/JP6103573B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Description

本発明は、翻訳装置等に関するものである。
原言語の入力文を句に分割し、句単位に目的言語へ変換し、並び替えを行うことにより翻訳が生成される句に基づく統計的機械翻訳の技術が存在する(非特許文献1参照)。非特許文献1に係る技術によれば、原言語と目的言語が英語やフランス語などのように文法が近い言語の場合、高精度な翻訳を生成できることが知られているが、日本語と英語では文法が大きく異なるため、日英翻訳や英日翻訳において、語や句の正しい並び替えを行うことが困難であった。
また、この並び替えの問題に対して、原言語の入力文を事前に目的言語の語順に近くなるように並び替えし、並び替えた原言語を入力として翻訳することにより精度が向上する技術が存在する(非特許文献2、非特許文献3参照)。
また、入力文の構文解析木を基にして、人手でルールを作成することにより並び替えを実現している技術が存在する(非特許文献4、非特許文献5、特許文献1参照)。
また、統語情報を用いず、対訳データから自動的に並び替え規則を学習する技術が存在する。かかる技術において、構文解析器に依存しておらず、あらゆる言語対に対して適用可能な翻訳技術である(非特許文献6、非特許文献7、非特許文献8参照)。
特開2011−175500号公報
Phillip Koehn, Franz Josef Och, and Daniel Marcu. 2003. Statistical phrase-based translation. In Proc. HLT. Fei Xia and Michael McCord. 2004. Improving a statistical MT system with automatically learned rewrite patterns. In Proc. COLING. Chi-Ho Li, Minghui Li, Dongdong Zhang, Mu Li, Ming Zhou, and Yi Guan. 2007. A probabilistic approach to syntax-based reordering for statistical machine translation. In Proc. ACL. Michael Collins, Philipp Koehn, and Ivona Kucerova. 2005. Clause restructuring for statistical machine translation. In Proc. ACL Hideki Isozaki, Katsuhito Sudoh, Hajime Tsukada, and Kevin Duh. 2010. Head finalization: A simple reordering rule for sov languages. In Proc. WMT and MetricsMATR. Roy Tromble and Jason Eisner. 2009. Learning linear ordering problems for better translation. In Proc. EMNLP. Karthik Visweswariah, Rajakrishnan Rajkumar, Ankur Gandhe, Ananthakrishnan Ramanathan, and Jiri Navratil. 2011. A word reordering model for improved machine translation. In Proc. EMNLP. John DeNero and Jakob Uszkoreit. 2011. Inducing sentence structure from parallel corpora for reordering. In Proc. EMNLP.
しかしながら、非特許文献4、5にかかる技術は、言語対に依存した手法であり、両言語に精通した専門家による書き換え規則を必要とする。また、非特許文献5にかかる技術は非常に簡単なルールで英日翻訳を実現しているが、英日翻訳に特化した手法である。非特許文献2および3、4、5にかかる技術は、構文解析器があることを前提にしており、そのようなシステムが存在しない言語に対して適用するのは不可能である。また、翻訳の精度が直接構文解析器の精度に依存することになる。
これに対し、非特許文献6および7、8にかかる技術は、構文解析器に依存しておらず、あらゆる言語対に対して適用可能な技術である。
また、非特許文献6、7にかかる技術は、原言語の単語対毎に比較をすることで並び替えを決定しているが、単語単位に決定していることから並び替えの精度は決して高くはない。
さらに、非特許文献8にかかる技術では、3つのステップに分け、まず単語アライメントが付与された対訳データに対して両言語を同時に解析するモデルを学習する。そして、本技術は、このモデルに基づき対訳データに対して木構造を付与し、その木構造を基にして構文および並び替えの二つのモデルを自動的に学習している。ところがこの問題分割によりシステムが複雑化し、かつ翻訳の精度が直接単語アライメントの精度に依存している結果、機械翻訳の精度は十分ではない。
本第一の発明の翻訳装置は、原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報であり、ノードの部分に正順または逆順または終端であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する2以上の文法を格納し得る文法格納部と、原言語の文を受け付ける受付部と、受付部が受け付けた文を、2以上の文法を用いて構文解析し、正順または逆順を示すフラグを有する1以上のノードを含む原言語の二分木である1以上の導出候補を取得する原言語二分木取得部と、原言語二分木取得部が取得した1以上の導出候補から、一の導出を取得する導出取得部と、
導出取得部が取得した導出を構成する1以上の各ノードが有するフラグが逆順を示す場合に、当該ノードの下位である2つの葉の部分を入れ替え、導出取得部が取得した導出を構成する1以上の各ノードが有するフラグが正順を示す場合に、当該ノードの下位である2つの葉の部分を入れ替えず、原言語の文を構成する要素の集合であり、目的言語の語順の文である目的言語語順文を取得する入替部と、入替部が取得した目的言語語順文を目的言語へ翻訳し、目的言語文を取得する目的言語文取得部と、目的言語文取得部が取得した目的言語文を出力する出力部とを具備する翻訳装置である。
かかる構成により、正しい単語の並び替えを実現でき、機械翻訳の精度を向上できる。
また、本第二の発明の翻訳装置は、第一の発明に対して、導出取得部は、2以上の素性に対する重みを有する重みベクトルを格納している重みベクトル格納手段と、原言語二分木取得部が取得した1以上の各導出候補を構成する1以上の各ノードの2以上の素性を取得する素性取得手段と、1以上の各導出候補に対して、2以上の各素性に対応する2以上の重みを取得し、2以上の重みを用いて、1以上の素性の線形結合モデルのスコアを、導出候補ごとに算出するスコア算出手段と、スコア算出手段が算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する導出取得手段とを具備する翻訳装置である。
かかる構成により、正しい単語の並び替えを実現でき、機械翻訳の精度を向上できる。
また、本第三の発明の翻訳装置は、第二の発明に対して、原言語の文と原言語の対訳である目的言語の文とを有する対訳データを格納し得る対訳データ格納部と、重みベクトルを学習し、重みベクトル格納手段に蓄積する学習部をさらに具備し、学習部は、対訳データを構成する原言語の文に対して、重みベクトルを用いて構文解析し、1以上の導出の集合を取得する学習導出取得手段と、1以上の各導出に対して、重みベクトルと2以上の各素性とを用いて、導出の良さを示すスコアであるモデルスコアを、1以上の各導出ごとに算出するモデルスコア算出手段と、対訳データを構成する目的言語の文を構成する単語または句の順序と、1以上の各導出を構成する終端記号に対応する単語または句の順序と、アライメント情報格納部の2以上のアライメント情報とを用いて、1以上の各導出を構成する終端記号に対応する単語または句の順序と、対訳データを構成する目的言語の文を構成する単語または句の順序との合致しない度合いを示す損失を、1以上の各導出ごとに算出する損失算出手段と、モデルスコアと損失とをパラメータとする増加関数により算出される値が最大となる導出である第一導出を取得する第一導出取得手段と、損失をパラメータとする増加関数、または損失の増加関数でありモデルスコアの減少関数である関数により算出される値が最少となる導出である第二導出を取得する第二導出取得手段と、第一導出と第二導出とが一致するか否かを判断する判断手段と、判断手段が一致しないと判断した場合に、モデルスコアを減少させ、かつ損失を増加させるように重みベクトルを更新する更新手段と、判断手段が一致しないと判断した場合に、判断手段が一致すると判断するまで、重みベクトルの更新処理を繰り返すように、学習導出取得手段、モデルスコア算出手段、損失算出手段、第一導出取得手段、および第二導出取得手段に指示する制御手段とを具備する翻訳装置である。
かかる構成により、正しい単語の並び替えを実現でき、機械翻訳の精度を向上できる。
本発明による翻訳装置によれば、正しい単語の並び替えを実現することにより、機械翻訳の精度を向上できる。
実施の形態1における翻訳装置1のブロック図 同翻訳装置1の翻訳処理について説明するフローチャート 同導出取得処理について説明するフローチャート 同翻訳装置1の重みベクトルの学習処理について説明するフローチャート 同1以上の学習二分木を有する導出候補(D)の例を示す図 同損失算出処理について説明する図 同損失算出処理について説明する図 同実験で用いた情報を示す図 同実験の結果を示す図 同LADERの実験結果を示す図 同LADERとORIGの翻訳の精度の評価結果を示す図 同コンピュータシステムの概観図 同コンピュータシステムのブロック図
以下、翻訳装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、構文木の終端記号に句を用いて、正しい単語の並び替えを行い、翻訳する翻訳装置について説明する。また、本翻訳装置において、ノードに正順、逆順のフラグを有し、かかるフラグを用いて正しい単語の並び替えを行い、機械翻訳する。
また、本実施の形態において、単語の並び替えを行う場合に、導出に対するスコアを算出し、当該スコアを用いて導出を取得する翻訳装置について説明する。そして、スコアの算出方法について詳細に説明する。
さらに、本実施の形態において、スコアを算出する際に使用する1以上の素性の重みの集合である重みベクトルの学習方法について説明する。
図1は、本実施の形態における翻訳装置1のブロック図である。翻訳装置1は、対訳データ格納部101、アライメント情報格納部102、文法格納部103、受付部104、原言語二分木取得部105、導出取得部106、入替部107、目的言語文取得部108、出力部109、および学習部110を備える。
導出取得部106は、重みベクトル格納手段1061、素性取得手段1062、スコア算出手段1063、および導出取得手段1064を備える。
学習部110は、学習導出取得手段1100、モデルスコア算出手段1101、損失算出手段1102、第一導出取得手段1103、第二導出取得手段1104、判断手段1105、更新手段1106、および制御手段1107を備える。
対訳データ格納部101は、1以上の対訳データを格納し得る。対訳データとは、原言語の文と、当該原言語文の対訳である目的言語の文とを有する。対訳データ格納部101は、通常、2以上の対訳データを格納し得る。
アライメント情報格納部102は、2以上のアライメント情報を格納し得る。アライメント情報は、原言語の単語または句である要素と目的言語の単語または句である要素との対応を示す情報である。アライメント情報格納部102は、通常、原言語の句である要素と目的言語の句である要素との対応を示すアライメント情報を含む。また、アライメント情報は、原言語の要素と目的言語の要素とを有する情報でも良いし、原言語の要素へのポインタと目的言語の要素へのポインタとを有する情報等でも良い。
文法格納部103は、2以上の文法を格納し得る。文法は、構文解析で使用される規則である。文法は、原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報である。ここでのノードの部分には、正順(straight)または逆順(inverted)または終端(TERM)であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する。
文法は、例えば、「STR−>STR STR」、「STR−>INV STR」、「STR−>STR INV」、「STR−>INV INV」、「INV−>STR STR」、「INV−>INV STR」、「INV−>STR INV」、「INV−>INV INV」、「STR−>TERM」、「INV−>TERM」、「TERM−>要素」等である。ここで、「STR」は正順、「INV」は逆順、「TERM」は終端、「要素」は単語列を示す。また、文法「INV−>STR INV」は、ノードの部分が「INV」、ノードの葉の部分が「STR」と「INV」であることを示す。
受付部104は、原言語の文を受け付ける。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
原言語の文の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部104は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
原言語二分木取得部105は、受付部104が受け付けた文を、2以上の文法を用いて構文解析し、正順または逆順を示すフラグを有する1以上のノードを含む原言語の二分木である1以上の導出候補を取得する。ここでの構文解析は、例えば、標準的な動的計画法に基づくCKYアルゴリズムを用いることは好適である。CKYアルゴリズムは公知技術であるので詳細な説明を省略する。
導出取得部106は、原言語二分木取得部105が取得した1以上の導出候補から、一の導出を取得する。なお、導出とは二分木と同意義である。導出取得部106は、通常、1以上の各導出候補のスコアを算出し、当該スコアが最大の導出を取得する。導出取得部106は、後述する重みベクトル格納手段1061、素性取得手段1062、スコア算出手段1063、および導出取得手段1064を用いて導出を取得することが好適であるが、他のアルゴリズムにより、導出を取得しても良い。また、導出取得部106が用いるスコアの算出方法は、後述するスコア算出手段1063が行うスコア算出方法が好適であるが、他のスコア算出方法でも良い。
導出取得部106を構成する重みベクトル格納手段1061は、重みベクトルを格納している。重みベクトルとは、2以上の素性に対する重みを有する情報である。ここで、素性とは、例えば、単語、単語クラス、形態素のタグ(品詞タグ)、単語の相対的な位置などである。素性に、単語の素性だけではなく、句単位の素性を含むことは好適である。句単位の素性は、例えば、句、句のクラス等である。なお、素性として選択する情報は問わない。
素性取得手段1062は、原言語二分木取得部105が取得した導出候補を構成する1以上の各ノード(d)の2以上の素性を取得する。素性取得手段1062は、公知技術により実現可能であるので、詳細な説明を省略する。
スコア算出手段1063は、1以上の各導出候補に対して、2以上の各素性に対応する2以上の重みを取得し、当該2以上の重みを用いて、1以上の素性の線形結合モデルのスコアを、導出候補ごとに算出する。
スコア算出手段1063は、例えば、以下の数式1を用いて、各導出候補のスコアS(D|F,w)を算出する。
Figure 0006103573
数式1において、Sはスコアを算出する式を意味する。また、Dは導出候補であり、Fは受付部104が受け付けた原言語の文である。また、w(ベクトル)は、重みベクトルである。また、dは導出候補Dを構成するノードである。ノードは、フラグ(ラベル)付きであり、二分木の要素と呼んでも良い。また、wは、重みベクトル(w)を構成するi番目の要素であり、i番目の素性の重みである。さらに、φは、i番目の素性の有無(1または0)を示す値である。
なお、スコア算出手段1063は、他の算出式やアルゴリズムで、導出候補Dのスコアを算出しても良い。他のアルゴリズムとは、例えば、導出候補Dを構成する1以上の各ノードdの出現確率(または出現頻度)が大きいほど、スコアが大きくなるようなアルゴリズムである。ここで、出現確率(または出現頻度)とは、対訳データ格納部101の中の1以上の原言語の文を構文解析して得られた1以上のノードの中での出現確率(または出現頻度)である。
導出取得手段1064は、スコア算出手段1063が算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する。
入替部107は、導出取得部106が取得した導出を構成する1以上の各二分木のノードが有するフラグが逆順を示す場合に、ノードの葉の部分を入れ替える処理を行い、目的言語語順文を取得する。目的言語語順文は、原言語の文を構成する要素の集合であり、目的言語の語順の文である。
なお、入替部107は、二分木の各ノードが有するフラグが正順を示す場合は、ノードに対応する二分木の終端記号である要素を入れ替えない。
入替部107の処理を含む並び替えの処理は、句に基づくITG(Inversion Transduction Grammer)の枠組みを用いても良い。
目的言語文取得部108は、入替部107が取得した目的言語語順文を構成する原言語の1以上の各要素に対応する目的言語の要素を、アライメント情報格納部102の2以上のアライメント情報を用いて取得し、目的言語文を取得する。また、目的言語文取得部108は、通常、句に基づく統計的機械翻訳を行う。また、目的言語文取得部108は、統計的機械翻訳システムを使用した場合、対訳データ格納部101の対訳データの集合とは異なる対訳データを使用しても良い。目的言語文取得部108で使用する対訳データの集合は、対訳データ格納部101よりも大規模なデータであることは好適である。
出力部109は、目的言語文取得部108が取得した目的言語文を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
学習部110は、重みベクトルを学習し、重みベクトル格納手段1061に蓄積する。学習部110は、例えば、後述するオンラインマージン最大化学習法を用いて、重みベクトルを学習しても良い。オンラインマージン最大化学習法は、学習導出取得手段1100、モデルスコア算出手段1101、損失算出手段1102、第一導出取得手段1103、第二導出取得手段1104、判断手段1105、更新手段1106、および制御手段1107を用いた重みベクトルの学習方法である。また、学習部110は、オンラインマージン最大化学習法以外の重みベクトルの学習方法を用いても良い。
学習部110を構成する学習導出取得手段1100は、対訳データ格納部101に格納されている対訳データを構成する原言語の文に対して、重みベクトルを用いて構文解析し、1以上の二分木の集合(B)を取得する。学習導出取得手段1100が行う処理は、原言語二分木取得部105と同一の処理で良い。なお、二分木の集合(B)は導出の集合(B)でもある。
モデルスコア算出手段1101は、学習導出取得手段1100が取得した2以上の各導出に対して、重みベクトルと2以上の各素性とを用いて、導出の良さを示すスコアであるモデルスコアを、2以上の各導出ごとに算出する。
ここで、モデルスコア算出手段1101は、例えば、上記の数式1を用いて、モデルスコアを算出する。つまり、モデルスコア算出手段1101は、スコア算出手段1063と同じ動作で良い。かかる場合、モデルスコア算出手段1101は、スコア算出手段1063に代替される。
損失算出手段1102は、対訳データを構成する目的言語の文を構成する単語または句の順序と、2以上の各導出を構成する終端記号に対応する単語または句の順序と、アライメント情報格納部102の2以上のアライメント情報とを用いて、2以上の各導出を構成する終端記号に対応する単語または句の順序と、対訳データを構成する目的言語の文を構成する単語または句の順序との合致しない度合いを示す損失を、2以上の各導出ごとに算出する。
損失算出手段1102は、例えば、Kendall's τ(「Maurice G. Kendall. 1938. A new measure of rank correlation. Biometrika, 30(1/2):81-93.」参照)、チャンクの断片化スコア(「David Talbot, Hideto Kazawa, Hiroshi Ichikawa, Jason Katz-Brown, Masakazu Seno, and Franz Och. 2011. A lightweight evaluation framework for machine translation reordering. In Proc. WMT.」参照)を用いて損失を算出する。かかる損失を算出する演算式(損失関数)は、L(D|F,A)で示す。ここで、Dは導出、Fは原言語文、Aはアライメント情報である。
第一導出取得手段1103は、モデルスコアと損失とをパラメータとする増加関数により算出される値が最大となる導出である第一導出(D)を、二分木の集合(B)を用いて取得する。ここで、増加関数とは、例えば、和である。但し、増加関数は、平均や加重平均などでも良い。第一導出(D)はモデルパースと言っても良い。なお、Dの「」は、Dの真上に存在するとする。
第一導出取得手段1103は、例えば、以下の数式2に基づいて、第一導出(D)を取得する。数式2において、Lは損失を算出する演算式を示す。
Figure 0006103573
第二導出取得手段1104は、損失算出手段1102が算出した損失およびモデルスコアをパラメータとする関数により算出される値が最少となる導出である第二導出(D^)を、二分木の集合(B)を用いて取得する。なお、この関数は、損失をパラメータとする増加関数でありモデルスコアをパラメータとする減少関数である。また、第二導出取得手段1104は、損失が最少となる導出である第二導出(D^)を取得しても良い。なお、第二導出(D^)はオラクルパースと言っても良い。また、D^の「^」は、Dの真上に存在するとする。
つまり、第二導出取得手段1104は、例えば、以下の数式3に基づいて、第二導出(D^)を取得する。なお、数式3は、損失の増加関数でありモデルスコアの減少関数である関数の一例である。また、数式3のαは定数である。
Figure 0006103573
また、第二導出取得手段1104は、例えば、以下の数式4に基づいて、第二導出(D^)を取得しても良い。
Figure 0006103573
判断手段1105は、第一導出(D)と第二導出(D^)とが一致するか否かを判断する。
更新手段1106は、判断手段1105が一致しないと判断した場合に、モデルスコアを減少させ、かつ損失を増加させるように重みベクトルを更新する。更新手段1106は、例えば、以下の数式5に従って、重みベクトルを更新する。なお、数式5において、←は代入を示す。
Figure 0006103573
また、数式5のβ、γは動的に変化する数値である。ここで、βは学習の繰り返しが増えれば、1へ近づく値である。また、γは学習の繰り返しが増えれば0へ近づく値である。
なお、例えば、「β=1.0−1/(i+(k−1)×対訳データの数)(i,kは図4における変数)」「γ=1.0/(λ×(i+(k−1)×対訳データの数))(i,kは図4における変数)」である。なお、λは定数で、例えば、10−3である。
制御手段1107は、判断手段1105が一致しないと判断した場合に、判断手段1105が一致すると判断するまで、重みベクトルの上記の更新処理を繰り返すように、導出取得手段1064、モデルスコア算出手段1101、損失算出手段1102、第一導出取得手段1103、および第二導出取得手段1104に指示する。つまり、判断手段1105が一致すると判断するまで、重みベクトルの更新処理が繰り返されることは好適である。
対訳データ格納部101、アライメント情報格納部102、学習二分木格納部103、重みベクトル格納手段1061は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
対訳データ格納部101等に、対訳データ等が記憶される過程は問わない。例えば、記録媒体を介して対訳データ等が対訳データ格納部101等で記憶されるようになってもよく、通信回線等を介して送信された対訳データ等が対訳データ格納部101等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された対訳データ等が対訳データ格納部101等で記憶されるようになってもよい。
原言語二分木取得部105、導出取得部106、入替部107、目的言語文取得部108、学習部110は、通常、MPUやメモリ等から実現され得る。原言語二分木取得部105等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部109は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部109は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
また、翻訳装置1を構成する複数の構成要素の処理に重複がある場合、当該複数の構成要素が一の処理手段(プログラム)を共有することは好適である。
次に、翻訳装置1の動作について説明する。まず、翻訳装置1の翻訳処理について、図2のフローチャートを用いて説明する。
(ステップS201)受付部104は、原言語文を受け付けたか否かを判断する。原言語文を受け付ければステップS202に行き、原言語文を受け付けなければステップS201に戻る。
(ステップS202)原言語二分木取得部105は、ステップS201で受け付けられた原言語文に対して構文解析を行う。
(ステップS203)原言語二分木取得部105は、ステップS202における構文解析の結果を用いて、1以上の導出候補(B)を取得する。なお、導出候補は二分木である。
(ステップS204)導出取得部106は、原言語二分木取得部105が取得した1以上の導出候補から、導出(D)を取得する。かかる処理を導出取得処理という。導出取得処理について、図3のフローチャートを用いて説明する。
(ステップS205)入替部107は、カウンタiに1を代入する。
(ステップS206)入替部107は、i番目の二分木のノードが存在するか否かを判断する。i番目の二分木のノードが存在すればステップS207に行き、存在しなければステップS210に行く。
(ステップS207)入替部107は、i番目の二分木のノードが有するフラグが逆順を示す情報であるか否かを判断する。フラグが逆順を示す情報であればステップS208に行き、正順を示す情報であればステップS209に行く。
(ステップS208)入替部107は、i番目の二分木のノードの葉の要素の順序を入れ替える。なお、入替部107による入れ替え処理が完了した場合、目的言語の語順の文であり、原言語の要素を有する文が構成される。
(ステップS209)カウンタiを1、インクリメントし、ステップS206に戻る。
(ステップS210)目的言語文取得部108は、入替部107が取得した目的言語語順文を構成する原言語の1以上の各要素に対応する目的言語の要素を、アライメント情報格納部102の2以上のアライメント情報を用いて取得し、目的言語文を取得する。
(ステップS211)出力部109は、ステップS210で取得された目的言語文を出力し、処理を終了する。
次に、ステップS204の導出取得処理について、図3のフローチャートを用いて説明する。
(ステップS301)導出取得部106は、カウンタiに1を代入する。
(ステップS302)導出候補取得手段1061は、i番目の導出候補が存在するか否かを判断する。i番目の導出候補が存在すればステップS303に行き、i番目の導出候補が存在しなければステップS306に行く。
(ステップS303)素性取得手段1062は、i番目の導出候補を構成する1以上の各ノードの2以上の素性を取得する。
(ステップS304)スコア算出手段1063は、i番目の導出候補について、ステップS303で取得された2以上の素性に対応する2以上の重みを重みベクトル格納手段1061から取得し、2以上の重みを用いて、スコアを算出する。ここで、スコア算出手段1063は、例えば、上記の数式1を用いてスコアを算出する。そして、スコア算出手段1063は、i番目の導出候補と対応付けて、算出したスコアをバッファに一時蓄積する。
(ステップS305)導出取得部106は、カウンタiを1、インクリメントし、ステップS302に戻る。
(ステップS306)導出取得手段1064は、ステップS305で算出されたスコアの中で最大のスコアに対応する導出候補を取得し、上位処理にリターンする。かかる導出候補が導出である。
次に、翻訳装置1の重みベクトルの学習処理について、図4のフローチャートを用いて説明する。
(ステップS400)学習部110は、カウンタkに1を代入する。
(ステップS4002)学習部110は、kが予め決められた定数Kに一致するか否かを判断する。一致すれば処理を終了し、一致しなければステップS401に行く。
(ステップS401)学習部110は、カウンタiに1を代入する。
(ステップS402)学習導出取得手段1100は、i番目の対訳データが対訳データ格納部101に存在するか否かを判断する。i番目の対訳データが存在すればステップS403に行き、存在しなければステップS422に行く。
(ステップS403)学習導出取得手段1100は、i番目の対訳データが有する目的言語文を対訳データ格納部101から読み出す。
(ステップS404)学習導出取得手段1100は、i番目の対訳データが有する原言語文を対訳データ格納部101から読み出す。
(ステップS405)学習導出取得手段1100は、ステップS404で読み出した原言語文を、重みベクトルを用いて構文解析する。
(ステップS406)学習導出取得手段1100は、ステップS405における構文解析を用いて、1以上の導出を取得する。なお、ステップS405およびステップS406で行う処理は、「B←parse(F,w)」と記載できる。ここで、Bは、1以上の導出の集合である。
(ステップS407)モデルスコア算出手段1101は、カウンタjに1を代入する。
(ステップS408)モデルスコア算出手段1101は、ステップS406で取得された導出の中で、j番目の導出が存在するか否かを判断する。j番目の導出が存在すればステップS409に行き、j番目の導出が存在しなければステップS416に行く。
(ステップS409)モデルスコア算出手段1101は、重みベクトル格納手段1061から重みベクトルを取得する。
(ステップS410)モデルスコア算出手段1101は、j番目の導出を構成する各ノードから、2以上の素性を取得する。
(ステップS411)モデルスコア算出手段1101は、ステップS409で取得した重みベクトル、およびステップS410で取得した2以上の素性を用いて、モデルスコアを算出する。なお、モデルスコアを算出する式は、例えば、数式1である。
(ステップS412)損失算出手段1102は、アライメント情報格納部102の2以上のアライメント情報を用いて、j番目の導出の2以上の終端記号に対応する要素(単語または句)と、ステップS403で読み出された目的言語文を構成する要素(単語または句)とのアライメントを決定する。
(ステップS413)損失算出手段1102は、ステップS412で決定したj番目の導出の要素と目的言語文の要素との対応から、導出を構成する要素の順序と、目的言語文を構成する要素の順序との合致しない度合いを示す損失を算出する。なお、損失算出手段1102は、例えば、上述したKendall's τ、チャンクの断片化スコアを用いて損失を算出する。
(ステップS414)第一導出取得手段1103は、ステップS411で算出されたモデルスコア、およびステップS412で算出された損失を所定の第一関数に代入し、j番目の導出の第一関数出力値を取得する。ここで、第一関数は、第一導出を決定するための関数であり、例えば、数式2を構成する「S(D|F、w)+L(D|F,A)」である。なお、導出(D)は導出の集合(B)の一つである。そして、第一導出取得手段1103は、j番目の導出に対応付けて、第一関数出力値をバッファに一時蓄積する。
また、第二導出取得手段1104は、テップS411で算出されたモデルスコア、およびステップS412で算出された損失を所定の第二関数に代入し、j番目の導出の第二関数出力値を取得する。ここで、第二関数は、第二導出を決定するための関数であり、例えば、数式3を構成する「L(D|F,A)−αS(D|F、w)」である。そして、第二導出取得手段1104は、j番目の導出に対応付けて、第二関数出力値をバッファに一時蓄積する。
(ステップS415)モデルスコア算出手段1101は、カウンタjを1、インクリメントし、ステップS408に戻る。
(ステップS416)第一導出取得手段1103は、ステップS414でバッファに一時蓄積した第一関数出力値の中で、最大の第一関数出力値に対応する導出を、第一導出(D)として取得する。
(ステップS417)第二導出取得手段1104は、ステップS414でバッファに一時蓄積した第二関数出力値の中で、最小の第二関数出力値に対応する導出を、第二導出(D^)として取得する。
(ステップS418)判断手段1105は、第一導出(D)と第二導出(D^)とが一致するか否かを判断する。両者が一致すればステップS421に行き、一致しなければステップS419に行く。
(ステップS419)更新手段1106は、現在の重みベクトルに対して、モデルスコアを減少させ、かつ損失を増加させるような新しい重みベクトルを取得する。更新手段1106は、新しい重みベクトルを、例えば、数式5を用いて取得する。
(ステップS420)更新手段1106は、ステップS419で取得した重みベクトルを重みベクトル格納手段1061に上書きし、ステップS405に戻る。
(ステップS421)学習部110は、カウンタiを1、インクリメントし、ステップS402に戻る。
(ステップS422)学習部110は、カウンタkを1、インクリメントし、ステップS4002に戻る。
なお、図4のフローチャートにおいて、ステップS4002において、ループ回数は定数のK回であった。しかし、ステップS419における重みベクトルの更新の度合いが予め決められた条件を満たすほど小さくなった場合に、処理を終了しても良い。重みベクトルの更新の度合いは、重みベクトルの更新された要素の数や、更新前後の1以上の要素の値の差を用いて算出されても良い。
また、図4のフローチャートのステップS408において、一つずつ導出をチェックしているが、キューブプルーニング(公知技術)により、導出の集合(B)から上記の数式3または4の目的関数を用いて、最適な導出を効率良く求めても良い。
以下、本実施の形態における翻訳装置1の具体的な動作について説明する。ここでは、原言語が日本語で、目的言語が英語である場合について説明する。
今、受付部104が「kare wa gohan o tabeta」を受け付けた、とする。この受け付けられた原言語文をFとする。
次に、原言語二分木取得部105は、原言語文Fを構文解析し、1以上の二分木を取得する。この1以上の各二分木は、導出候補(B)である。
ここで、例えば、原言語二分木取得部105は、図5に示す1以上のノードを有する導出候補(D)を取得した、とする。図5において、「STR」は正順を示すフラグであり、「INV」は逆順を示すフラグである。また、「TERM」は終端記号であることを示す。また、原言語二分木取得部105は、他の導出候補も取得する。なお、図5の導出候補(D)は、導出候補の一例である。
次に、素性取得手段1062は、各導出候補を構成する1以上の各ノードの2以上の素性φを取得する。
次に、スコア算出手段1063は、重みベクトルwを読み出す。そして、スコア算出手段1063は、重みベクトルw、素性φを上記の数式1に代入した後に数式1を実行し、各導出候補のスコアS(D|F,w)を算出する。
次に、導出取得手段1064は、スコア算出手段1063が算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する。ここで、図5の導出のスコアが最大であった、とする。つまり、導出取得手段1064は、図5の導出を取得する。
次に、入替部107は、導出取得部106が取得した導出を構成する1以上の各ノードが有するフラグが逆順を示す場合のみ、ノードの下位である2つの葉の部分を入れ替える処理を行い、目的言語語順文「kare ha tabeta gohan o」を取得する。
次に、目的言語文取得部108は、入替部107が取得した目的言語語順文を目的言語へ翻訳し、目的言語文を取得する。つまり、目的言語文取得部108は、目的言語文「he ate rice」を得る。なお、目的言語文取得部108の処理は公知の統計的機械翻訳の技術で可能である。
次に、出力部109は、目的言語文取得部108が取得した目的言語文「he ate rice」を出力する。
次に、翻訳装置1の重みベクトルの学習処理について説明する。
まず、学習導出取得手段1100は、対訳データが有する目的言語文を対訳データ格納部101から読み出す。ここで、学習導出取得手段1100は、目的言語文(E)「he ate rice」を読み出した、とする。
次に、学習導出取得手段1100は、対訳データが有する原言語文「kare wa gohan o tabeta」を対訳データ格納部101から読み出す。
次に、学習導出取得手段1100は、原言語文(F)「kare wa gohan o tabeta」を構文解析し、原言語の1以上の導出を取得する。
ここで、例えば、学習導出取得手段1100は、「tabeta kare wa gohan o」の語順の導出(F')を取得した、とする。
次に、モデルスコア算出手段1101は、重みベクトルwを取得する。また、モデルスコア算出手段1101は、導出(F')の2以上の素性を取得する。そして、モデルスコア算出手段1101は、取得した重みベクトル、および2以上の素性を用いて、モデルスコアを算出する。なお、モデルスコア算出手段1101は、例えば、数式1を用いて、モデルスコアを算出する。
モデルスコア算出手段1101は、以上の処理をすべての導出に対して実行する。
次に、損失算出手段1102は、アライメント情報格納部102の2以上のアライメント情報を用いて、導出(F')の2以上の終端記号に対応する要素(単語または句)と、目的言語文(E)を構成する要素(単語または句)とのアライメントを決定する。
そして、損失算出手段1102は、「Kendall's τ」を用いて、損失「L=2」を算出する。つまり、図6に基づいて、損失算出手段1102は、目的言語文(E)と原言語文(F)との要素のアライメントから、ランキング関数r(f)の各要素に対する値「1 1 3 3 2」を付与する。次に、損失算出手段1102は、導出(F')に対するランキング関数r(f ')の各要素に対する値「2 1 1 3 3」を付与する。そして、損失算出手段1102は、「Kendall's τ」を用いて、図6に示すように、損失「L=2」を算出する。
なお、上述したように、損失算出手段1102は、他のアルゴリズムを用いて、損失を算出しても良い。他のアルゴリズムの例は、チャンクの断片化スコアである。チャンクの断片化スコアを用いる場合、図7に示すように、損失算出手段1102は、導出(F')に対するランキング関数r(f ')の各要素に対する値「(0) 2 1 1 3 3 (4)」を付与する。そして、損失算出手段1102は、損失「L=3」を算出する。チャンクの断片化スコアは、直前の要素との比較において、並びの順序が異なる要素の数がスコアとなる。
損失算出手段1102は、以上の処理をすべての導出に対して実行する。
次に、第一導出取得手段1103は、第一関数「S(D|F、w)+L(D|F,A)」を最大にする第一導出(D)を取得する。
次に、第二導出取得手段1104は、第二関数「L(D|F,A)−αS(D|F、w)」最小にする第二導出(D^)を取得する。
次に、判断手段1105は、第一導出(D)と第二導出(D^)とが一致するか否かを判断する。両者が一致しない場合、更新手段1106は、現在の重みベクトルに対して、モデルスコアを減少させ、かつ損失を増加させるような新しい重みベクトル「β(w+γ(φ(D^,F)−φ(D,F)」を取得する。次に、更新手段1106は、取得した新しい重みベクトルを重みベクトル格納手段1061に上書きする。
また、判断手段1105が、両者は一致すると判断した場合、処理を終了する。そして、判断手段1105が、両者は一致すると判断するまで、重みベクトルを更新する上記の処理を繰り返す。
また、学習部110は、図4のフローチャートを用いて説明したように、何度も繰り返して、上記の学習処理を行うことは好適である。
(実験)
以下に、翻訳装置1の実験結果を示す。実験において、翻訳装置1が行う並び替え処理の精度、および翻訳の精度について評価を行った。また、並び替え処理のメトリクスとして、チャンクの断片化スコア(以下、適宜、Chunkと言う。)、およびKendall's τ(以下、適宜、τと言う。)を用いた。また、翻訳のメトリクスとして、BLEU(「Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. 2002. BLEU: a method for automatic evaluation of machine translation. In Proc. ACL.」参照)、およびRIBES(「Hideki Isozaki, Tsutomu Hirao, Kevin Duh, Katsuhito Sudoh, and Hajime Tsukada. 2010a. Automatic evaluation of translation quality for distant language pairs. In Proc. EMNLP, pages 944-952.」参照)を用いた。また、後述する実験のすべてのスコアは、3回の実験のスコアの平均値である(「Jonathan H. Clark, Chris Dyer, Alon Lavie, and Noah A. Smith. 2011. Better hypothesis testing for statistical machine translation: Controlling for optimizer instability. In Proc. ACL, pages176-181.」参照)。
また、翻訳の実験において、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 Proc. ACL, pages 177-180.」参照)を用いた。
また、並び替えの実験において、3つのタイプを比較した。第一は原言語の並び替え処理を行わないオリジナルオーダー(ORIG)、第二は既存技術である3−STEP(非特許文献8参照)、第三は翻訳装置1の並び替え方法(LADERと言う)である。なお、LADERにおいて、通常、チャンクの断片化スコアを最小にし、キューブプルーニングのスタックポップの制限を50とした。また、数式5のβを「β=1.0−1/(i+(k−1)×対訳データの数)(i,kは図4における変数)」とし、γを「γ=1.0/(λ×(i+(k−1)×対訳データの数))(i,kは図4における変数)」とし、λを10?3とした。
また、ここでは、原言語が英語で目的言語が日本語(en−ja)の場合、原言語が日本語で目的言語が英語(ja−en)の場合の、2通りの実験を行った。また、翻訳の実験において、京都フリー翻訳タスクのデータ(「Graham Neubig. 2011. The Kyoto free translation task. http://www.phontron.com/kftt.」参照)を用いた。
また、翻訳モデル、言語モデルの学習のための学習セット、重みベクトルの調整のための開発セット、およびテストセットとして、図8に示す情報を用いた。図8において、「RM−train」は並び替えモデルの学習のために使用された単語アライメントが付与された対訳データ(対訳データ格納部101、およびアライメント情報格納部102に該当)、「RM−test」は原言語の並び替えを評価するためのテストセット、「TM/LM」は翻訳モデルおよび言語モデルに使用されたデータ(単語アライメントが付与されていないデータ)、「Tune」は重みベクトルの調整のための開発セット、「Test」はテストセットである。また、「sent.」は文の数、「word(ja)」は日本語の単語数、「word(en)」は英語の単語数を示す。
また、デフォルトの素性として、φlex(単語の位置)、φclass(単語クラス)、φbalance(均衡)、φtable(句テーブル)を用いた。また、付加的な素性として、φpos(品詞タグ)、φcfg(構文解析ラベル)を用いた。
また、英語の品詞タグの取得、および句構造構文解析木の取得のために、スタンフォードパーサー(「Dan Klein and Christopher D. Manning. 2003. Accurate unlexicalized parsing. In Proc. ACL, pages 423-430.」参照)を用いた。また、日本語の品詞タグの取得のためにKyTea(「Graham Neubig, Yosuke Nakata, and Shinsuke Mori. 2011. Pointwise prediction for robust, adaptable Japanese morphological analysis. In Proc. ACL,pages 529-533, Portland, USA, June.」参照)を用いた。さらに、EDA word-based dependency parser(「Daniel Flannery, Yusuke Miyao, Graham Neubig,and Shinsuke Mori. 2011. Training dependency parsers from partially annotated corpora. In Proc.IJCNLP, pages 776-784, Chiang Mai, Thailand,November.」参照)を用い、依存構文解析を行い、主辞を用いて句構造解析着への変換を行った。
以上の背景の元、並び替えと翻訳の実験を行った。その実験の結果を図9に示す。図9によれば、翻訳装置1の方法(LADER)は、並び替え処理と翻訳の両方において、他の2つの方法(RIG、3−STEP)の精度を大きく上回っていることが分かる。
また、損失を算出する演算式として、チャンクの断片化スコア(L)を用いた場合、Kendall's τ(L)を用いた場合、および両方(L+L)を用いた場合の3つの場合について、LADERの実験結果を図10に示す。図10によれば、L+Lは、並び替えおよび翻訳で高い精度である。また、図10によれば、LとL+Lは、翻訳で高い精度であると言える。
さらに、図11は、単語のアライメントを手作業で行った場合と、自動的に行った場合の、LADERとORIGの翻訳の精度の評価結果である。図11において、「MAN−602」は、手作業で602の単語のアライメントを行った場合を示す。また、「AUTO−602」は、自動的に602の単語のアライメントを行った場合を示す。また、「AUTO−10k」は、自動的に10kの単語のアライメントを行った場合を示す。そして、図11によれば、いずれの場合でもベースラインであるORIGに対して、LADERの精度は大きく上回っていることが分かる。
以上、本実施の形態によれば、原言語の文を構成する二分木であり、終端記号に、少なくとも一部が句である要素を有し、非終端記号に正順または逆順を示すフラグを有する二分木である2以上の学習二分木を用いて、正しい単語の並び替えを実現することにより、機械翻訳の精度を向上できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における機械翻訳装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報であり、ノードの部分に正順または逆順または終端であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する2以上の文法を格納しており、コンピュータを、原言語の文を受け付ける受付部と、前記受付部が受け付けた文を、2以上の文法を用いて構文解析し、非終端記号に正順または逆順を示すフラグを有する1以上のノードを含む原言語の二分木である1以上の導出候補を取得する原言語二分木取得部と、前記原言語二分木取得部が取得した1以上の導出候補から、一の導出を取得する導出取得部と、前記導出取得部が取得した導出を構成する1以上の各ノードが有するフラグが逆順を示す場合に、当該ノードの下位である2つの葉の部分を入れ替え、導出取得部が取得した導出を構成する1以上の各ノードが有するフラグが正順を示す場合に、当該ノードの下位である2つの葉の部分を入れ替えず、原言語の文を構成する要素の集合であり、目的言語の語順の文である目的言語語順文を取得する入替部と、前記入替部が取得した目的言語語順文を目的言語へ翻訳し、目的言語文を取得する目的言語文取得部と、前記目的言語文取得部が取得した目的言語文を出力する出力部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記導出取得部は、2以上の素性に対する重みを有する重みベクトルを格納している重みベクトル格納手段と、前記原言語二分木取得部が取得した1以上の各導出候補を構成する1以上の各ノードの2以上の素性を取得する素性取得手段と、前記1以上の各導出候補に対して、前記2以上の各素性に対応する2以上の重みを取得し、当該2以上の重みを用いて、1以上の素性の線形結合モデルのスコアを、導出候補ごとに算出するスコア算出手段と、前記スコア算出手段が算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する導出取得手段とを具備するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、記憶媒体に、原言語の文と当該原言語の対訳である目的言語の文とを有する対訳データをさらに格納しており、コンピュータを、前記重みベクトルを学習し、前記重みベクトル格納手段に蓄積する学習部として、さらに機能させ、前記学習部は、前記対訳データを構成する原言語の文に対して、前記重みベクトルを用いて構文解析し、1以上の導出の集合を取得する学習導出取得手段と、前記1以上の各導出に対して、前記重みベクトルと2以上の各素性とを用いて、導出の良さを示すスコアであるモデルスコアを、前記1以上の各導出ごとに算出するモデルスコア算出手段と、前記対訳データを構成する目的言語の文を構成する単語または句の順序と、前記1以上の各導出を構成する終端記号に対応する単語または句の順序と、前記アライメント情報格納部の2以上のアライメント情報とを用いて、前記1以上の各導出を構成する終端記号に対応する単語または句の順序と、前記対訳データを構成する目的言語の文を構成する単語または句の順序との合致しない度合いを示す損失を、前記1以上の各導出ごとに算出する損失算出手段と、前記モデルスコアと前記損失とをパラメータとする増加関数により算出される値が最大となる導出である第一導出を取得する第一導出取得手段と、前記損失をパラメータとする増加関数、または前記損失の増加関数であり前記モデルスコアの減少関数である関数により算出される値が最少となる導出である第二導出を取得する第二導出取得手段と、前記第一導出と前記第二導出とが一致するか否かを判断する判断手段と、前記判断手段が一致しないと判断した場合に、前記モデルスコアを減少させ、かつ前記損失を増加させるように前記重みベクトルを更新する更新手段と、前記判断手段が一致しないと判断した場合に、前記判断手段が一致すると判断するまで、前記重みベクトルの更新処理を繰り返すように、前記学習導出取得手段、モデルスコア算出手段、損失算出手段、第一導出取得手段、および第二導出取得手段に指示する制御手段とを具備するものとして、コンピュータを機能させることは好適である。
また、図12は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の翻訳装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図12は、このコンピュータシステム300の概観図であり、図13は、システム300のブロック図である。
図12において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図13において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、MPU3013、CD−ROMドライブ3012に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の翻訳装置の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の翻訳装置の機能を実行させるオペレーティングシステム、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上のように、本発明にかかる翻訳装置は、正しい単語の並び替えを実現することにより、機械翻訳の精度を向上できる、という効果を有し、翻訳装置等として有用である。
1 翻訳装置
101 対訳データ格納部
102 アライメント情報格納部
103 文法格納部
104 受付部
105 原言語二分木取得部
106 導出取得部
107 入替部
108 目的言語文取得部
109 出力部
110 学習部
1061 ベクトル格納手段
1062 素性取得手段
1063 スコア算出手段
1064 導出取得手段
1100 学習導出取得手段
1101 モデルスコア算出手段
1102 損失算出手段
1103 第一導出取得手段
1104 第二導出取得手段
1105 判断手段
1106 更新手段
1107 制御手段

Claims (5)

  1. 原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報であり、ノードの部分に正順または逆順または終端であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する2以上の文法を格納し得る文法格納部と、
    原言語の文を受け付ける受付部と、
    前記受付部が受け付けた文を、前記2以上の文法を用いて構文解析し、正順または逆順を示すフラグを有する1以上のノードを含む原言語の二分木である1以上の導出候補を取得する原言語二分木取得部と、
    前記原言語二分木取得部が取得した1以上の導出候補から、一の導出を取得する導出取得部と、
    前記導出取得部が取得した導出を構成する1以上の各ノードが有するフラグが逆順を示す場合に、当該ノードの下位である2つの葉の部分を入れ替え、前記導出取得部が取得した導出を構成する1以上の各ノードが有するフラグが正順を示す場合に、当該ノードの下位である2つの葉の部分を入れ替えず、原言語の文を構成する要素の集合であり、目的言語の語順の文である目的言語語順文を取得する入替部と、
    前記入替部が取得した目的言語語順文を目的言語へ翻訳し、目的言語文を取得する目的言語文取得部と、
    前記目的言語文取得部が取得した目的言語文を出力する出力部とを具備し、
    前記導出取得部は、
    2以上の素性に対する重みを有する重みベクトルを格納している重みベクトル格納手段と、
    前記原言語二分木取得部が取得した1以上の各導出候補を構成する1以上の各ノードの2以上の素性を取得する素性取得手段と、
    前記1以上の各導出候補に対して、前記2以上の各素性に対応する2以上の重みを取得し、当該2以上の重みを用いて、1以上の素性の線形結合モデルのスコアを、導出候補ごとに算出するスコア算出手段と、
    前記スコア算出手段が算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する導出取得手段とを具備し、
    原言語の文と当該原言語の対訳である目的言語の文とを有する対訳データ、および原言語の単語または句である要素と目的言語の単語または句である要素との対応を示す2以上のアライメント情報を用いて、重みベクトルを取得し、前記重みベクトル格納手段に蓄積する学習部とをさらに具備する翻訳装置。
  2. 前記学習部は、
    前記対訳データを構成する原言語の文に対して構文解析し、1以上の導出の集合を取得する学習導出取得手段と、
    前記1以上の各導出に対して、前記重みベクトルと2以上の各素性とを用いて、導出の良さを示すスコアであるモデルスコアを、前記1以上の各導出ごとに算出するモデルスコア算出手段と、
    前記対訳データを構成する目的言語の文を構成する単語または句の順序と、前記1以上の各導出を構成する終端記号に対応する単語または句の順序と、前記2以上のアライメント情報とを用いて、前記1以上の各導出を構成する終端記号に対応する単語または句の順序と、前記対訳データを構成する目的言語の文を構成する単語または句の順序との合致しない度合いを示す損失を、前記1以上の各導出ごとに算出する損失算出手段と、
    前記モデルスコアと前記損失とをパラメータとする増加関数により算出される値が最大となる導出である第一導出を取得する第一導出取得手段と、前記損失をパラメータとする増加関数、または前記損失の増加関数であり前記モデルスコアの減少関数である関数により算出される値が最少となる導出である第二導出を取得する第二導出取得手段と、
    前記第一導出と前記第二導出とが一致するか否かを判断する判断手段と、
    前記判断手段が一致しないと判断した場合に、前記モデルスコアを減少させ、かつ前記損失を増加させるように前記重みベクトルを更新する更新手段と、
    前記判断手段が一致しないと判断した場合に、前記判断手段が一致すると判断するまで、前記重みベクトルの更新処理を繰り返すように、前記学習導出取得手段、モデルスコア算出手段、損失算出手段、第一導出取得手段、および第二導出取得手段に指示する制御手段とを具備する請求項1記載の翻訳装置。
  3. 前記2以上の文法のうちの少なくとも1以上の文法が有する葉の部分に、句である要素を有する請求項1または請求項2記載の翻訳装置。
  4. 記録媒体に、
    原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報であり、ノードの部分に正順または逆順または終端であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する2以上の文法を格納しており、
    受付部、原言語二分木取得部、導出取得部、入替部、目的言語文取得部、出力部、および学習部により実現される翻訳方法であって、
    前記受付部が、原言語の文を受け付ける受付ステップと、
    前記原言語二分木取得部が、前記受付ステップで受け付けられた文を、前記2以上の文法を用いて構文解析し、非終端記号に正順または逆順を示すフラグを有する1以上のノードを含む原言語の二分木である1以上の導出候補を取得する原言語二分木取得ステップと、前記導出取得部が、前記原言語二分木取得ステップで取得された1以上の導出候補から、一の導出を取得する導出取得ステップと、
    前記入替部が、前記導出取得ステップで取得された導出を構成する1以上の各ノードが有するフラグが逆順を示す場合に、当該ノードの下位である2つの葉の部分を入れ替え、前記導出取得ステップで取得された導出を構成する1以上の各ノードが有するフラグが正順を示す場合に、当該ノードの下位である2つの葉の部分を入れ替えず、原言語の文を構成する要素の集合であり、目的言語の語順の文である目的言語語順文を取得する入替ステップと、
    前記目的言語文取得部が、前記入替ステップで取得された目的言語語順文を目的言語へ翻訳し、目的言語文を取得する目的言語文取得ステップと、
    前記出力部が、前記目的言語文取得ステップで取得された目的言語文を出力する出力ステップとを具備し、
    前記導出取得ステップは、
    前記原言語二分木取得ステップで取得された1以上の各導出候補を構成する1以上の各ノードの2以上の素性を取得する素性取得サブステップと、
    前記1以上の各導出候補に対して、前記2以上の各素性に対応する2以上の重みを取得し、当該2以上の重みを用いて、1以上の素性の線形結合モデルのスコアを、導出候補ごとに算出するスコア算出サブステップと、
    前記スコア算出サブステップが算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する導出取得サブステップとを具備し、
    前記学習部が、原言語の文と当該原言語の対訳である目的言語の文とを有する対訳データ、および原言語の単語または句である要素と目的言語の単語または句である要素との対応を示す2以上のアライメント情報を用いて、重みベクトルを取得し、前記重みベクトル格納手段に蓄積する学習ステップをさらに具備する翻訳方法。
  5. 記録媒体に、
    原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報であり、ノードの部分に正順または逆順または終端であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する2以上の文法を格納しており、
    コンピュータを、
    原言語の文を受け付ける受付部と、
    前記受付部が受け付けた文を、前記2以上の文法を用いて構文解析し、非終端記号に正順または逆順を示すフラグを有する1以上のノードを含む原言語の二分木である1以上の導出候補を取得する原言語二分木取得部と、
    前記原言語二分木取得部が取得した1以上の導出候補から、一の導出を取得する導出取得部と、
    前記導出取得部が取得した導出を構成する1以上の各ノードが有するフラグが逆順を示す場合に、当該ノードの下位である2つの葉の部分を入れ替え、前記導出取得部が取得した導出を構成する1以上の各ノードが有するフラグが正順を示す場合に、当該ノードの下位である2つの葉の部分を入れ替えず、原言語の文を構成する要素の集合であり、目的言語の語順の文である目的言語語順文を取得する入替部と、
    前記入替部が取得した目的言語語順文を目的言語へ翻訳し、目的言語文を取得する目的言語文取得部と、
    前記目的言語文取得部が取得した目的言語文を出力する出力部として機能させるためのプログラムであって、
    前記導出取得部は、
    前記原言語二分木取得部が取得した1以上の各導出候補を構成する1以上の各ノードの2以上の素性を取得する素性取得手段と、
    前記1以上の各導出候補に対して、前記2以上の各素性に対応する2以上の重みを取得し、当該2以上の重みを用いて、1以上の素性の線形結合モデルのスコアを、導出候補ごとに算出するスコア算出手段と、
    前記スコア算出手段が算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する導出取得手段とを具備するものとして、コンピュータを機能させ、
    コンピュータを、
    原言語の文と当該原言語の対訳である目的言語の文とを有する対訳データ、および原言語の単語または句である要素と目的言語の単語または句である要素との対応を示す2以上のアライメント情報を用いて、重みベクトルを取得し、前記重みベクトル格納手段に蓄積する学習部としてさらに機能させるためのプログラム
JP2012132311A 2012-06-11 2012-06-11 翻訳装置、翻訳方法、およびプログラム Expired - Fee Related JP6103573B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012132311A JP6103573B2 (ja) 2012-06-11 2012-06-11 翻訳装置、翻訳方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012132311A JP6103573B2 (ja) 2012-06-11 2012-06-11 翻訳装置、翻訳方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2013257660A JP2013257660A (ja) 2013-12-26
JP6103573B2 true JP6103573B2 (ja) 2017-03-29

Family

ID=49954068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012132311A Expired - Fee Related JP6103573B2 (ja) 2012-06-11 2012-06-11 翻訳装置、翻訳方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6103573B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6590723B2 (ja) * 2016-02-12 2019-10-16 日本電信電話株式会社 単語並べ替え学習方法、単語並べ替え方法、装置、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4829702B2 (ja) * 2006-07-06 2011-12-07 日本電信電話株式会社 機械翻訳装置、機械翻訳方法、および生成規則作成装置、生成規則作成方法、ならびにそれらのプログラムおよび記録媒体
JP5410334B2 (ja) * 2010-02-25 2014-02-05 日本電信電話株式会社 語順変換装置、機械翻訳用統計モデル作成装置、機械翻訳装置、語順変換方法、機械翻訳用統計モデル作成方法、機械翻訳方法、プログラム

Also Published As

Publication number Publication date
JP2013257660A (ja) 2013-12-26

Similar Documents

Publication Publication Date Title
US10025778B2 (en) Training markov random field-based translation models using gradient ascent
CA2480398C (en) Phrase-based joint probability model for statistical machine translation
JP5484317B2 (ja) 機械翻訳における大規模言語モデル
US9176936B2 (en) Transliteration pair matching
WO2014196375A1 (ja) 翻訳装置、学習装置、翻訳方法、および記録媒体
CN105144149A (zh) 翻译词序信息输出装置、翻译词序信息输出方法及存储介质
JP5007977B2 (ja) 機械翻訳装置、機械翻訳方法、及びプログラム
US20170031900A1 (en) Automatic training of a syntactic and semantic parser using a genetic algorithm
Tsvetkov et al. Cross-lingual bridges with models of lexical borrowing
JP6712644B2 (ja) 音響モデル学習装置、その方法、及びプログラム
JP5911098B2 (ja) 翻訳装置、およびプログラム
WO2019129775A1 (en) A hierarchical entity recognition and semantic modeling framework for information extraction
Blain et al. Incremental adaptation using translation informations and post-editing analysis
US20150081273A1 (en) Machine translation apparatus and method
JP5552101B2 (ja) 並べ替え規則学習装置、方法、及びプログラム、並びに翻訳装置、方法、及びプログラム
JP6103573B2 (ja) 翻訳装置、翻訳方法、およびプログラム
JP5791097B2 (ja) 対訳フレーズ学習装置、フレーズベース統計的機械翻訳装置、対訳フレーズ学習方法、および対訳フレーズ生産方法
JP5924677B2 (ja) 機械翻訳装置、機械翻訳方法、およびプログラム
Wang et al. Kernel regression based machine translation
US20180011833A1 (en) Syntax analyzing device, learning device, machine translation device and storage medium
JP7194759B2 (ja) 翻訳用データ生成システム
WO2020241039A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2011243087A (ja) 自動単語対応付け装置とその方法とプログラム
JP5302784B2 (ja) 機械翻訳方法、及びシステム
Mohamed et al. Automatic creation of a word aligned Sinhala-Tamil parallel corpus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170222

R150 Certificate of patent or registration of utility model

Ref document number: 6103573

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees