(57)【要約】【課題】正しい単語の並び替えが困難であるため、機械翻訳の精度が高くなかった。【解決手段】原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報であり、ノードの部分に正順または逆順または終端であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する２以上の文法を格納しており、原言語文から２以上の文法を用いて構文解析し、フラグを有する１以上のノードを含む１以上の導出候補を取得する原言語二分木取得部と、１以上の導出候補から、一の導出を取得する導出取得部と、ノードが有するフラグが逆順を示す場合のみ、当該ノードの下位である２つの葉の部分を入れ替え、目的言語語順文を取得する入替部とを具備し、目的言語語順文を翻訳し、出力する翻訳装置により、正しい単語の並び替えを実現することにより、機械翻訳の精度を向上できる。【選択図】図１
2013257660.tif 000002
【特許請求の範囲】
【請求項１】
原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報であり、ノードの部分に正順または逆順または終端であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する２以上の文法を格納し得る文法格納部と、
原言語の文を受け付ける受付部と、
前記受付部が受け付けた文を、前記２以上の文法を用いて構文解析し、正順または逆順を示すフラグを有する１以上のノードを含む原言語の二分木である１以上の導出候補を取得する原言語二分木取得部と、
前記原言語二分木取得部が取得した１以上の導出候補から、一の導出を取得する導出取得部と、
前記導出取得部が取得した導出を構成する１以上の各ノードが有するフラグが逆順を示す場合に、当該ノードの下位である２つの葉の部分を入れ替え、前記導出取得部が取得した導出を構成する１以上の各ノードが有するフラグが正順を示す場合に、当該ノードの下位である２つの葉の部分を入れ替えず、原言語の文を構成する要素の集合であり、目的言語の語順の文である目的言語語順文を取得する入替部と、
前記入替部が取得した目的言語語順文を目的言語へ翻訳し、目的言語文を取得する目的言語文取得部と、
前記目的言語文取得部が取得した目的言語文を出力する出力部とを具備する翻訳装置。
【請求項２】
前記導出取得部は、
２以上の素性に対する重みを有する重みベクトルを格納している重みベクトル格納手段と、
前記原言語二分木取得部が取得した１以上の各導出候補を構成する１以上の各ノードの２以上の素性を取得する素性取得手段と、
前記１以上の各導出候補に対して、前記２以上の各素性に対応する２以上の重みを取得し、当該２以上の重みを用いて、１以上の素性の線形結合モデルのスコアを、導出候補ごとに算出するスコア算出手段と、
前記スコア算出手段が算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する導出取得手段とを具備する請求項１記載の翻訳装置。
【請求項３】
原言語の文と当該原言語の対訳である目的言語の文とを有する対訳データを格納し得る対訳データ格納部と、
前記重みベクトルを学習し、前記重みベクトル格納手段に蓄積する学習部をさらに具備し、
前記学習部は、
前記対訳データを構成する原言語の文に対して、前記重みベクトルを用いて構文解析し、１以上の導出の集合を取得する学習導出取得手段と、
前記１以上の各導出に対して、前記重みベクトルと２以上の各素性とを用いて、導出の良さを示すスコアであるモデルスコアを、前記１以上の各導出ごとに算出するモデルスコア算出手段と、
前記対訳データを構成する目的言語の文を構成する単語または句の順序と、前記１以上の各導出を構成する終端記号に対応する単語または句の順序と、前記アライメント情報格納部の２以上のアライメント情報とを用いて、前記１以上の各導出を構成する終端記号に対応する単語または句の順序と、前記対訳データを構成する目的言語の文を構成する単語または句の順序との合致しない度合いを示す損失を、前記１以上の各導出ごとに算出する損失算出手段と、
前記モデルスコアと前記損失とをパラメータとする増加関数により算出される値が最大となる導出である第一導出を取得する第一導出取得手段と、
前記損失をパラメータとする増加関数、または前記損失の増加関数であり前記モデルスコアの減少関数である関数により算出される値が最少となる導出である第二導出を取得する第二導出取得手段と、
前記第一導出と前記第二導出とが一致するか否かを判断する判断手段と、
前記判断手段が一致しないと判断した場合に、前記モデルスコアを減少させ、かつ前記損失を増加させるように前記重みベクトルを更新する更新手段と、
前記判断手段が一致しないと判断した場合に、前記判断手段が一致すると判断するまで、前記重みベクトルの更新処理を繰り返すように、前記学習導出取得手段、モデルスコア算出手段、損失算出手段、第一導出取得手段、および第二導出取得手段に指示する制御手段とを具備する請求項２記載の翻訳装置。
原言語の文と当該原言語の対訳である目的言語の文とを有する対訳データを格納し得る対訳データ格納部と、
前記重みベクトルを学習し、前記重みベクトル格納手段に蓄積する学習部をさらに具備し、
前記学習部は、
前記対訳データを構成する原言語の文に対して、前記重みベクトルを用いて構文解析し、１以上の導出の集合を取得する学習導出取得手段と、
前記１以上の各導出に対して、前記重みベクトルと２以上の各素性とを用いて、導出の良さを示すスコアであるモデルスコアを、前記１以上の各導出ごとに算出するモデルスコア算出手段と、
前記対訳データを構成する目的言語の文を構成する単語または句の順序と、前記１以上の各導出を構成する終端記号に対応する単語または句の順序と、前記アライメント情報格納部の２以上のアライメント情報とを用いて、前記１以上の各導出を構成する終端記号に対応する単語または句の順序と、前記対訳データを構成する目的言語の文を構成する単語または句の順序との合致しない度合いを示す損失を、前記１以上の各導出ごとに算出する損失算出手段と、
前記モデルスコアと前記損失とをパラメータとする増加関数により算出される値が最大となる導出である第一導出を取得する第一導出取得手段と、
前記損失をパラメータとする増加関数、または前記損失の増加関数であり前記モデルスコアの減少関数である関数により算出される値が最少となる導出である第二導出を取得する第二導出取得手段と、
前記第一導出と前記第二導出とが一致するか否かを判断する判断手段と、
前記判断手段が一致しないと判断した場合に、前記モデルスコアを減少させ、かつ前記損失を増加させるように前記重みベクトルを更新する更新手段と、
前記判断手段が一致しないと判断した場合に、前記判断手段が一致すると判断するまで、前記重みベクトルの更新処理を繰り返すように、前記学習導出取得手段、モデルスコア算出手段、損失算出手段、第一導出取得手段、および第二導出取得手段に指示する制御手段とを具備する請求項２記載の翻訳装置。
【請求項４】
記録媒体に、
原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報であり、ノードの部分に正順または逆順または終端であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する２以上の文法を格納しており、
受付部、原言語二分木取得部、導出取得部、入替部、目的言語文取得部、および出力部により実現される翻訳方法であって、
前記受付部が、原言語の文を受け付ける受付ステップと、
前記原言語二分木取得部が、前記受付ステップで受け付けられた文を、前記２以上の文法を用いて構文解析し、非終端記号に正順または逆順を示すフラグを有する１以上のノードを含む原言語の二分木である１以上の導出候補を取得する原言語二分木取得ステップと、
前記導出取得部が、前記原言語二分木取得ステップで取得された１以上の導出候補から、一の導出を取得する導出取得ステップと、
前記入替部が、前記導出取得ステップで取得された導出を構成する１以上の各ノードが有するフラグが逆順を示す場合に、当該ノードの下位である２つの葉の部分を入れ替え、前記導出取得ステップで取得された導出を構成する１以上の各ノードが有するフラグが正順を示す場合に、当該ノードの下位である２つの葉の部分を入れ替えず、原言語の文を構成する要素の集合であり、目的言語の語順の文である目的言語語順文を取得する入替ステップと、
前記目的言語文取得部が、前記入替ステップで取得された目的言語語順文を目的言語へ翻訳し、目的言語文を取得する目的言語文取得ステップと、
前記出力部が、前記目的言語文取得ステップで取得された目的言語文を出力する出力ステップとを具備する翻訳方法。
【請求項５】
記録媒体に、
原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報であり、ノードの部分に正順または逆順または終端であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する２以上の文法を格納しており、
コンピュータを、
原言語の文を受け付ける受付部と、
前記受付部が受け付けた文を、前記２以上の文法を用いて構文解析し、非終端記号に正順または逆順を示すフラグを有する１以上のノードを含む原言語の二分木である１以上の導出候補を取得する原言語二分木取得部と、
前記原言語二分木取得部が取得した１以上の導出候補から、一の導出を取得する導出取得部と、
前記導出取得部が取得した導出を構成する１以上の各ノードが有するフラグが逆順を示す場合に、当該ノードの下位である２つの葉の部分を入れ替え、前記導出取得部が取得した導出を構成する１以上の各ノードが有するフラグが正順を示す場合に、当該ノードの下位である２つの葉の部分を入れ替えず、原言語の文を構成する要素の集合であり、目的言語の語順の文である目的言語語順文を取得する入替部と、
前記入替部が取得した目的言語語順文を目的言語へ翻訳し、目的言語文を取得する目的言語文取得部と、
前記目的言語文取得部が取得した目的言語文を出力する出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、翻訳装置等に関するものである。
【背景技術】
【０００２】
原言語の入力文を句に分割し、句単位に目的言語へ変換し、並び替えを行うことにより翻訳が生成される句に基づく統計的機械翻訳の技術が存在する（非特許文献１参照）。非特許文献１に係る技術によれば、原言語と目的言語が英語やフランス語などのように文法が近い言語の場合、高精度な翻訳を生成できることが知られているが、日本語と英語では文法が大きく異なるため、日英翻訳や英日翻訳において、語や句の正しい並び替えを行うことが困難であった。
【０００３】
また、この並び替えの問題に対して、原言語の入力文を事前に目的言語の語順に近くなるように並び替えし、並び替えた原言語を入力として翻訳することにより精度が向上する技術が存在する（非特許文献２、非特許文献３参照）。
【０００４】
また、入力文の構文解析木を基にして、人手でルールを作成することにより並び替えを実現している技術が存在する（非特許文献４、非特許文献５、特許文献１参照）。
【０００５】
また、統語情報を用いず、対訳データから自動的に並び替え規則を学習する技術が存在する。かかる技術において、構文解析器に依存しておらず、あらゆる言語対に対して適用可能な翻訳技術である（非特許文献６、非特許文献７、非特許文献８参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１７５５００号公報
【非特許文献】
【０００７】
【非特許文献１】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.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献４、５にかかる技術は、言語対に依存した手法であり、両言語に精通した専門家による書き換え規則を必要とする。また、非特許文献５にかかる技術は非常に簡単なルールで英日翻訳を実現しているが、英日翻訳に特化した手法である。非特許文献２および３、４、５にかかる技術は、構文解析器があることを前提にしており、そのようなシステムが存在しない言語に対して適用するのは不可能である。また、翻訳の精度が直接構文解析器の精度に依存することになる。
【０００９】
これに対し、非特許文献６および７、８にかかる技術は、構文解析器に依存しておらず、あらゆる言語対に対して適用可能な技術である。
【００１０】
また、非特許文献６、７にかかる技術は、原言語の単語対毎に比較をすることで並び替えを決定しているが、単語単位に決定していることから並び替えの精度は決して高くはない。
【００１１】
さらに、非特許文献８にかかる技術では、３つのステップに分け、まず単語アライメントが付与された対訳データに対して両言語を同時に解析するモデルを学習する。そして、本技術は、このモデルに基づき対訳データに対して木構造を付与し、その木構造を基にして構文および並び替えの二つのモデルを自動的に学習している。ところがこの問題分割によりシステムが複雑化し、かつ翻訳の精度が直接単語アライメントの精度に依存している結果、機械翻訳の精度は十分ではない。
【課題を解決するための手段】
【００１２】
本第一の発明の翻訳装置は、原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報であり、ノードの部分に正順または逆順または終端であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する２以上の文法を格納し得る文法格納部と、原言語の文を受け付ける受付部と、受付部が受け付けた文を、２以上の文法を用いて構文解析し、正順または逆順を示すフラグを有する１以上のノードを含む原言語の二分木である１以上の導出候補を取得する原言語二分木取得部と、原言語二分木取得部が取得した１以上の導出候補から、一の導出を取得する導出取得部と、
導出取得部が取得した導出を構成する１以上の各ノードが有するフラグが逆順を示す場合に、当該ノードの下位である２つの葉の部分を入れ替え、導出取得部が取得した導出を構成する１以上の各ノードが有するフラグが正順を示す場合に、当該ノードの下位である２つの葉の部分を入れ替えず、原言語の文を構成する要素の集合であり、目的言語の語順の文である目的言語語順文を取得する入替部と、入替部が取得した目的言語語順文を目的言語へ翻訳し、目的言語文を取得する目的言語文取得部と、目的言語文取得部が取得した目的言語文を出力する出力部とを具備する翻訳装置である。
【００１３】
かかる構成により、正しい単語の並び替えを実現でき、機械翻訳の精度を向上できる。
【００１４】
また、本第二の発明の翻訳装置は、第一の発明に対して、導出取得部は、２以上の素性に対する重みを有する重みベクトルを格納している重みベクトル格納手段と、原言語二分木取得部が取得した１以上の各導出候補を構成する１以上の各ノードの２以上の素性を取得する素性取得手段と、１以上の各導出候補に対して、２以上の各素性に対応する２以上の重みを取得し、２以上の重みを用いて、１以上の素性の線形結合モデルのスコアを、導出候補ごとに算出するスコア算出手段と、スコア算出手段が算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する導出取得手段とを具備する翻訳装置である。
【００１５】
かかる構成により、正しい単語の並び替えを実現でき、機械翻訳の精度を向上できる。
【００１６】
また、本第三の発明の翻訳装置は、第二の発明に対して、原言語の文と原言語の対訳である目的言語の文とを有する対訳データを格納し得る対訳データ格納部と、重みベクトルを学習し、重みベクトル格納手段に蓄積する学習部をさらに具備し、学習部は、対訳データを構成する原言語の文に対して、重みベクトルを用いて構文解析し、１以上の導出の集合を取得する学習導出取得手段と、１以上の各導出に対して、重みベクトルと２以上の各素性とを用いて、導出の良さを示すスコアであるモデルスコアを、１以上の各導出ごとに算出するモデルスコア算出手段と、対訳データを構成する目的言語の文を構成する単語または句の順序と、１以上の各導出を構成する終端記号に対応する単語または句の順序と、アライメント情報格納部の２以上のアライメント情報とを用いて、１以上の各導出を構成する終端記号に対応する単語または句の順序と、対訳データを構成する目的言語の文を構成する単語または句の順序との合致しない度合いを示す損失を、１以上の各導出ごとに算出する損失算出手段と、モデルスコアと損失とをパラメータとする増加関数により算出される値が最大となる導出である第一導出を取得する第一導出取得手段と、損失をパラメータとする増加関数、または損失の増加関数でありモデルスコアの減少関数である関数により算出される値が最少となる導出である第二導出を取得する第二導出取得手段と、第一導出と第二導出とが一致するか否かを判断する判断手段と、判断手段が一致しないと判断した場合に、モデルスコアを減少させ、かつ損失を増加させるように重みベクトルを更新する更新手段と、判断手段が一致しないと判断した場合に、判断手段が一致すると判断するまで、重みベクトルの更新処理を繰り返すように、学習導出取得手段、モデルスコア算出手段、損失算出手段、第一導出取得手段、および第二導出取得手段に指示する制御手段とを具備する翻訳装置である。
【００１７】
かかる構成により、正しい単語の並び替えを実現でき、機械翻訳の精度を向上できる。
【発明の効果】
【００１８】
本発明による翻訳装置によれば、正しい単語の並び替えを実現することにより、機械翻訳の精度を向上できる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態１における翻訳装置１のブロック図
【図２】同翻訳装置１の翻訳処理について説明するフローチャート
【図３】同導出取得処理について説明するフローチャート
【図４】同翻訳装置１の重みベクトルの学習処理について説明するフローチャート
【図５】同１以上の学習二分木を有する導出候補（Ｄ）の例を示す図
【図６】同損失算出処理について説明する図
【図７】同損失算出処理について説明する図
【図８】同実験で用いた情報を示す図
【図９】同実験の結果を示す図
【図１０】同ＬＡＤＥＲの実験結果を示す図
【図１１】同ＬＡＤＥＲとＯＲＩＧの翻訳の精度の評価結果を示す図
【図１２】同コンピュータシステムの概観図
【図１３】同コンピュータシステムのブロック図
【発明を実施するための形態】
【００２０】
以下、翻訳装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２１】
（実施の形態１）
本実施の形態において、構文木の終端記号に句を用いて、正しい単語の並び替えを行い、翻訳する翻訳装置について説明する。また、本翻訳装置において、ノードに正順、逆順のフラグを有し、かかるフラグを用いて正しい単語の並び替えを行い、機械翻訳する。
【００２２】
また、本実施の形態において、単語の並び替えを行う場合に、導出に対するスコアを算出し、当該スコアを用いて導出を取得する翻訳装置について説明する。そして、スコアの算出方法について詳細に説明する。
【００２３】
さらに、本実施の形態において、スコアを算出する際に使用する１以上の素性の重みの集合である重みベクトルの学習方法について説明する。
【００２４】
図１は、本実施の形態における翻訳装置１のブロック図である。翻訳装置１は、対訳データ格納部１０１、アライメント情報格納部１０２、文法格納部１０３、受付部１０４、原言語二分木取得部１０５、導出取得部１０６、入替部１０７、目的言語文取得部１０８、出力部１０９、および学習部１１０を備える。
【００２５】
導出取得部１０６は、重みベクトル格納手段１０６１、素性取得手段１０６２、スコア算出手段１０６３、および導出取得手段１０６４を備える。
【００２６】
学習部１１０は、学習導出取得手段１１００、モデルスコア算出手段１１０１、損失算出手段１１０２、第一導出取得手段１１０３、第二導出取得手段１１０４、判断手段１１０５、更新手段１１０６、および制御手段１１０７を備える。
【００２７】
対訳データ格納部１０１は、１以上の対訳データを格納し得る。対訳データとは、原言語の文と、当該原言語文の対訳である目的言語の文とを有する。対訳データ格納部１０１は、通常、２以上の対訳データを格納し得る。
【００２８】
アライメント情報格納部１０２は、２以上のアライメント情報を格納し得る。アライメント情報は、原言語の単語または句である要素と目的言語の単語または句である要素との対応を示す情報である。アライメント情報格納部１０２は、通常、原言語の句である要素と目的言語の句である要素との対応を示すアライメント情報を含む。また、アライメント情報は、原言語の要素と目的言語の要素とを有する情報でも良いし、原言語の要素へのポインタと目的言語の要素へのポインタとを有する情報等でも良い。
【００２９】
文法格納部１０３は、２以上の文法を格納し得る。文法は、構文解析で使用される規則である。文法は、原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報である。ここでのノードの部分には、正順（ｓｔｒａｉｇｈｔ）または逆順（ｉｎｖｅｒｔｅｄ）または終端（ＴＥＲＭ）であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する。
【００３０】
文法は、例えば、「ＳＴＲ−＞ＳＴＲ  ＳＴＲ」、「ＳＴＲ−＞ＩＮＶ  ＳＴＲ」、「ＳＴＲ−＞ＳＴＲ  ＩＮＶ」、「ＳＴＲ−＞ＩＮＶ  ＩＮＶ」、「ＩＮＶ−＞ＳＴＲ  ＳＴＲ」、「ＩＮＶ−＞ＩＮＶ  ＳＴＲ」、「ＩＮＶ−＞ＳＴＲ  ＩＮＶ」、「ＩＮＶ−＞ＩＮＶ  ＩＮＶ」、「ＳＴＲ−＞ＴＥＲＭ」、「ＩＮＶ−＞ＴＥＲＭ」、「ＴＥＲＭ−＞要素」等である。ここで、「ＳＴＲ」は正順、「ＩＮＶ」は逆順、「ＴＥＲＭ」は終端、「要素」は単語列を示す。また、文法「ＩＮＶ−＞ＳＴＲ  ＩＮＶ」は、ノードの部分が「ＩＮＶ」、ノードの葉の部分が「ＳＴＲ」と「ＩＮＶ」であることを示す。
【００３１】
受付部１０４は、原言語の文を受け付ける。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
【００３２】
原言語の文の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部１０４は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００３３】
原言語二分木取得部１０５は、受付部１０４が受け付けた文を、２以上の文法を用いて構文解析し、正順または逆順を示すフラグを有する１以上のノードを含む原言語の二分木である１以上の導出候補を取得する。ここでの構文解析は、例えば、標準的な動的計画法に基づくＣＫＹアルゴリズムを用いることは好適である。ＣＫＹアルゴリズムは公知技術であるので詳細な説明を省略する。
【００３４】
導出取得部１０６は、原言語二分木取得部１０５が取得した１以上の導出候補から、一の導出を取得する。なお、導出とは二分木と同意義である。導出取得部１０６は、通常、１以上の各導出候補のスコアを算出し、当該スコアが最大の導出を取得する。導出取得部１０６は、後述する重みベクトル格納手段１０６１、素性取得手段１０６２、スコア算出手段１０６３、および導出取得手段１０６４を用いて導出を取得することが好適であるが、他のアルゴリズムにより、導出を取得しても良い。また、導出取得部１０６が用いるスコアの算出方法は、後述するスコア算出手段１０６３が行うスコア算出方法が好適であるが、他のスコア算出方法でも良い。
【００３５】
導出取得部１０６を構成する重みベクトル格納手段１０６１は、重みベクトルを格納している。重みベクトルとは、２以上の素性に対する重みを有する情報である。ここで、素性とは、例えば、単語、単語クラス、形態素のタグ（品詞タグ）、単語の相対的な位置などである。素性に、単語の素性だけではなく、句単位の素性を含むことは好適である。句単位の素性は、例えば、句、句のクラス等である。なお、素性として選択する情報は問わない。
【００３６】
素性取得手段１０６２は、原言語二分木取得部１０５が取得した導出候補を構成する１以上の各ノード（ｄ）の２以上の素性を取得する。素性取得手段１０６２は、公知技術により実現可能であるので、詳細な説明を省略する。
【００３７】
スコア算出手段１０６３は、１以上の各導出候補に対して、２以上の各素性に対応する２以上の重みを取得し、当該２以上の重みを用いて、１以上の素性の線形結合モデルのスコアを、導出候補ごとに算出する。
【００３８】
スコア算出手段１０６３は、例えば、以下の数式１を用いて、各導出候補のスコアＳ（Ｄ｜Ｆ，ｗ）を算出する。
【数１】
2013257660.tif 000003
【００３９】
数式１において、Ｓはスコアを算出する式を意味する。また、Ｄは導出候補であり、Ｆは受付部１０４が受け付けた原言語の文である。また、ｗ（ベクトル）は、重みベクトルである。また、ｄは導出候補Ｄを構成するノードである。ノードは、フラグ（ラベル）付きであり、二分木の要素と呼んでも良い。また、ｗｉは、重みベクトル（ｗ）を構成するｉ番目の要素であり、ｉ番目の素性の重みである。さらに、φｉは、ｉ番目の素性の有無（１または０）を示す値である。
【００４０】
なお、スコア算出手段１０６３は、他の算出式やアルゴリズムで、導出候補Ｄのスコアを算出しても良い。他のアルゴリズムとは、例えば、導出候補Ｄを構成する１以上の各ノードｄの出現確率（または出現頻度）が大きいほど、スコアが大きくなるようなアルゴリズムである。ここで、出現確率（または出現頻度）とは、対訳データ格納部１０１の中の１以上の原言語の文を構文解析して得られた１以上のノードの中での出現確率（または出現頻度）である。
【００４１】
導出取得手段１０６４は、スコア算出手段１０６３が算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する。
【００４２】
入替部１０７は、導出取得部１０６が取得した導出を構成する１以上の各二分木のノードが有するフラグが逆順を示す場合に、ノードの葉の部分を入れ替える処理を行い、目的言語語順文を取得する。目的言語語順文は、原言語の文を構成する要素の集合であり、目的言語の語順の文である。
【００４３】
なお、入替部１０７は、二分木の各ノードが有するフラグが正順を示す場合は、ノードに対応する二分木の終端記号である要素を入れ替えない。
【００４４】
入替部１０７の処理を含む並び替えの処理は、句に基づくＩＴＧ（Ｉｎｖｅｒｓｉｏｎ  Ｔｒａｎｓｄｕｃｔｉｏｎ  Ｇｒａｍｍｅｒ）の枠組みを用いても良い。
【００４５】
目的言語文取得部１０８は、入替部１０７が取得した目的言語語順文を構成する原言語の１以上の各要素に対応する目的言語の要素を、アライメント情報格納部１０２の２以上のアライメント情報を用いて取得し、目的言語文を取得する。また、目的言語文取得部１０８は、通常、句に基づく統計的機械翻訳を行う。また、目的言語文取得部１０８は、統計的機械翻訳システムを使用した場合、対訳データ格納部１０１の対訳データの集合とは異なる対訳データを使用しても良い。目的言語文取得部１０８で使用する対訳データの集合は、対訳データ格納部１０１よりも大規模なデータであることは好適である。
【００４６】
出力部１０９は、目的言語文取得部１０８が取得した目的言語文を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００４７】
学習部１１０は、重みベクトルを学習し、重みベクトル格納手段１０６１に蓄積する。学習部１１０は、例えば、後述するオンラインマージン最大化学習法を用いて、重みベクトルを学習しても良い。オンラインマージン最大化学習法は、学習導出取得手段１１００、モデルスコア算出手段１１０１、損失算出手段１１０２、第一導出取得手段１１０３、第二導出取得手段１１０４、判断手段１１０５、更新手段１１０６、および制御手段１１０７を用いた重みベクトルの学習方法である。また、学習部１１０は、オンラインマージン最大化学習法以外の重みベクトルの学習方法を用いても良い。
【００４８】
学習部１１０を構成する学習導出取得手段１１００は、対訳データ格納部１０１に格納されている対訳データを構成する原言語の文に対して、重みベクトルを用いて構文解析し、１以上の二分木の集合（Ｂ）を取得する。学習導出取得手段１１００が行う処理は、原言語二分木取得部１０５と同一の処理で良い。なお、二分木の集合（Ｂ）は導出の集合（Ｂ）でもある。
【００４９】
モデルスコア算出手段１１０１は、学習導出取得手段１１００が取得した２以上の各導出に対して、重みベクトルと２以上の各素性とを用いて、導出の良さを示すスコアであるモデルスコアを、２以上の各導出ごとに算出する。
【００５０】
ここで、モデルスコア算出手段１１０１は、例えば、上記の数式１を用いて、モデルスコアを算出する。つまり、モデルスコア算出手段１１０１は、スコア算出手段１０６３と同じ動作で良い。かかる場合、モデルスコア算出手段１１０１は、スコア算出手段１０６３に代替される。
【００５１】
損失算出手段１１０２は、対訳データを構成する目的言語の文を構成する単語または句の順序と、２以上の各導出を構成する終端記号に対応する単語または句の順序と、アライメント情報格納部１０２の２以上のアライメント情報とを用いて、２以上の各導出を構成する終端記号に対応する単語または句の順序と、対訳データを構成する目的言語の文を構成する単語または句の順序との合致しない度合いを示す損失を、２以上の各導出ごとに算出する。
【００５２】
損失算出手段１１０２は、例えば、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.」参照）を用いて損失を算出する。かかる損失を算出する演算式（損失関数）は、Ｌ（Ｄ｜Ｆ，Ａ）で示す。ここで、Ｄは導出、Ｆは原言語文、Ａはアライメント情報である。
【００５３】
第一導出取得手段１１０３は、モデルスコアと損失とをパラメータとする増加関数により算出される値が最大となる導出である第一導出（Ｄ・）を、二分木の集合（Ｂ）を用いて取得する。ここで、増加関数とは、例えば、和である。但し、増加関数は、平均や加重平均などでも良い。第一導出（Ｄ・）はモデルパースと言っても良い。なお、Ｄ・の「・」は、Ｄの真上に存在するとする。
【００５４】
第一導出取得手段１１０３は、例えば、以下の数式２に基づいて、第一導出（Ｄ・）を取得する。数式２において、Ｌは損失を算出する演算式を示す。
【数２】
2013257660.tif 000004
【００５５】
第二導出取得手段１１０４は、損失算出手段１１０２が算出した損失およびモデルスコアをパラメータとする関数により算出される値が最少となる導出である第二導出（Ｄ＾）を、二分木の集合（Ｂ）を用いて取得する。なお、この関数は、損失をパラメータとする増加関数でありモデルスコアをパラメータとする減少関数である。また、第二導出取得手段１１０４は、損失が最少となる導出である第二導出（Ｄ＾）を取得しても良い。なお、第二導出（Ｄ＾）はオラクルパースと言っても良い。また、Ｄ＾の「＾」は、Ｄの真上に存在するとする。
【００５６】
つまり、第二導出取得手段１１０４は、例えば、以下の数式３に基づいて、第二導出（Ｄ＾）を取得する。なお、数式３は、損失の増加関数でありモデルスコアの減少関数である関数の一例である。また、数式３のαは定数である。
【数３】
2013257660.tif 000005
【００５７】
また、第二導出取得手段１１０４は、例えば、以下の数式４に基づいて、第二導出（Ｄ＾）を取得しても良い。
【数４】
2013257660.tif 000006
【００５８】
判断手段１１０５は、第一導出（Ｄ・）と第二導出（Ｄ＾）とが一致するか否かを判断する。
【００５９】
更新手段１１０６は、判断手段１１０５が一致しないと判断した場合に、モデルスコアを減少させ、かつ損失を増加させるように重みベクトルを更新する。更新手段１１０６は、例えば、以下の数式５に従って、重みベクトルを更新する。なお、数式５において、←は代入を示す。
【数５】
2013257660.tif 000007
【００６０】
また、数式５のβ、γは動的に変化する数値である。ここで、βは学習の繰り返しが増えれば、１へ近づく値である。また、γは学習の繰り返しが増えれば０へ近づく値である。
【００６１】
なお、例えば、「β＝１．０−１／（ｉ＋（ｋ−１）×対訳データの数）（ｉ，ｋは図４における変数）」「γ＝１．０／（λ×（ｉ＋（ｋ−１）×対訳データの数））（ｉ，ｋは図４における変数）」である。なお、λは定数で、例えば、１０−３である。
【００６２】
制御手段１１０７は、判断手段１１０５が一致しないと判断した場合に、判断手段１１０５が一致すると判断するまで、重みベクトルの上記の更新処理を繰り返すように、導出取得手段１０６４、モデルスコア算出手段１１０１、損失算出手段１１０２、第一導出取得手段１１０３、および第二導出取得手段１１０４に指示する。つまり、判断手段１１０５が一致すると判断するまで、重みベクトルの更新処理が繰り返されることは好適である。
【００６３】
対訳データ格納部１０１、アライメント情報格納部１０２、学習二分木格納部１０３、重みベクトル格納手段１０６１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００６４】
対訳データ格納部１０１等に、対訳データ等が記憶される過程は問わない。例えば、記録媒体を介して対訳データ等が対訳データ格納部１０１等で記憶されるようになってもよく、通信回線等を介して送信された対訳データ等が対訳データ格納部１０１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された対訳データ等が対訳データ格納部１０１等で記憶されるようになってもよい。
【００６５】
原言語二分木取得部１０５、導出取得部１０６、入替部１０７、目的言語文取得部１０８、学習部１１０は、通常、ＭＰＵやメモリ等から実現され得る。原言語二分木取得部１０５等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００６６】
出力部１０９は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部１０９は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００６７】
また、翻訳装置１を構成する複数の構成要素の処理に重複がある場合、当該複数の構成要素が一の処理手段（プログラム）を共有することは好適である。
【００６８】
次に、翻訳装置１の動作について説明する。まず、翻訳装置１の翻訳処理について、図２のフローチャートを用いて説明する。
【００６９】
（ステップＳ２０１）受付部１０４は、原言語文を受け付けたか否かを判断する。原言語文を受け付ければステップＳ２０２に行き、原言語文を受け付けなければステップＳ２０１に戻る。
【００７０】
（ステップＳ２０２）原言語二分木取得部１０５は、ステップＳ２０１で受け付けられた原言語文に対して構文解析を行う。
【００７１】
（ステップＳ２０３）原言語二分木取得部１０５は、ステップＳ２０２における構文解析の結果を用いて、１以上の導出候補（Ｂ）を取得する。なお、導出候補は二分木である。
【００７２】
（ステップＳ２０４）導出取得部１０６は、原言語二分木取得部１０５が取得した１以上の導出候補から、導出（Ｄ）を取得する。かかる処理を導出取得処理という。導出取得処理について、図３のフローチャートを用いて説明する。
【００７３】
（ステップＳ２０５）入替部１０７は、カウンタｉに１を代入する。
【００７４】
（ステップＳ２０６）入替部１０７は、ｉ番目の二分木のノードが存在するか否かを判断する。ｉ番目の二分木のノードが存在すればステップＳ２０７に行き、存在しなければステップＳ２１０に行く。
【００７５】
（ステップＳ２０７）入替部１０７は、ｉ番目の二分木のノードが有するフラグが逆順を示す情報であるか否かを判断する。フラグが逆順を示す情報であればステップＳ２０８に行き、正順を示す情報であればステップＳ２０９に行く。
【００７６】
（ステップＳ２０８）入替部１０７は、ｉ番目の二分木のノードの葉の要素の順序を入れ替える。なお、入替部１０７による入れ替え処理が完了した場合、目的言語の語順の文であり、原言語の要素を有する文が構成される。
【００７７】
（ステップＳ２０９）カウンタｉを１、インクリメントし、ステップＳ２０６に戻る。
【００７８】
（ステップＳ２１０）目的言語文取得部１０８は、入替部１０７が取得した目的言語語順文を構成する原言語の１以上の各要素に対応する目的言語の要素を、アライメント情報格納部１０２の２以上のアライメント情報を用いて取得し、目的言語文を取得する。
【００７９】
（ステップＳ２１１）出力部１０９は、ステップＳ２１０で取得された目的言語文を出力し、処理を終了する。
【００８０】
次に、ステップＳ２０４の導出取得処理について、図３のフローチャートを用いて説明する。
【００８１】
（ステップＳ３０１）導出取得部１０６は、カウンタｉに１を代入する。
【００８２】
（ステップＳ３０２）導出候補取得手段１０６１は、ｉ番目の導出候補が存在するか否かを判断する。ｉ番目の導出候補が存在すればステップＳ３０３に行き、ｉ番目の導出候補が存在しなければステップＳ３０６に行く。
【００８３】
（ステップＳ３０３）素性取得手段１０６２は、ｉ番目の導出候補を構成する１以上の各ノードの２以上の素性を取得する。
【００８４】
（ステップＳ３０４）スコア算出手段１０６３は、ｉ番目の導出候補について、ステップＳ３０３で取得された２以上の素性に対応する２以上の重みを重みベクトル格納手段１０６１から取得し、２以上の重みを用いて、スコアを算出する。ここで、スコア算出手段１０６３は、例えば、上記の数式１を用いてスコアを算出する。そして、スコア算出手段１０６３は、ｉ番目の導出候補と対応付けて、算出したスコアをバッファに一時蓄積する。
【００８５】
（ステップＳ３０５）導出取得部１０６は、カウンタｉを１、インクリメントし、ステップＳ３０２に戻る。
【００８６】
（ステップＳ３０６）導出取得手段１０６４は、ステップＳ３０５で算出されたスコアの中で最大のスコアに対応する導出候補を取得し、上位処理にリターンする。かかる導出候補が導出である。
【００８７】
次に、翻訳装置１の重みベクトルの学習処理について、図４のフローチャートを用いて説明する。
【００８８】
（ステップＳ４００）学習部１１０は、カウンタｋに１を代入する。
【００８９】
（ステップＳ４００２）学習部１１０は、ｋが予め決められた定数Ｋに一致するか否かを判断する。一致すれば処理を終了し、一致しなければステップＳ４０１に行く。
【００９０】
（ステップＳ４０１）学習部１１０は、カウンタｉに１を代入する。
【００９１】
（ステップＳ４０２）学習導出取得手段１１００は、ｉ番目の対訳データが対訳データ格納部１０１に存在するか否かを判断する。ｉ番目の対訳データが存在すればステップＳ４０３に行き、存在しなければステップＳ４２２に行く。
【００９２】
（ステップＳ４０３）学習導出取得手段１１００は、ｉ番目の対訳データが有する目的言語文を対訳データ格納部１０１から読み出す。
【００９３】
（ステップＳ４０４）学習導出取得手段１１００は、ｉ番目の対訳データが有する原言語文を対訳データ格納部１０１から読み出す。
【００９４】
（ステップＳ４０５）学習導出取得手段１１００は、ステップＳ４０４で読み出した原言語文を、重みベクトルを用いて構文解析する。
【００９５】
（ステップＳ４０６）学習導出取得手段１１００は、ステップＳ４０５における構文解析を用いて、１以上の導出を取得する。なお、ステップＳ４０５およびステップＳ４０６で行う処理は、「Ｂ←ｐａｒｓｅ（Ｆ，ｗ）」と記載できる。ここで、Ｂは、１以上の導出の集合である。
【００９６】
（ステップＳ４０７）モデルスコア算出手段１１０１は、カウンタｊに１を代入する。
【００９７】
（ステップＳ４０８）モデルスコア算出手段１１０１は、ステップＳ４０６で取得された導出の中で、ｊ番目の導出が存在するか否かを判断する。ｊ番目の導出が存在すればステップＳ４０９に行き、ｊ番目の導出が存在しなければステップＳ４１６に行く。
【００９８】
（ステップＳ４０９）モデルスコア算出手段１１０１は、重みベクトル格納手段１０６１から重みベクトルを取得する。
【００９９】
（ステップＳ４１０）モデルスコア算出手段１１０１は、ｊ番目の導出を構成する各ノードから、２以上の素性を取得する。
【０１００】
（ステップＳ４１１）モデルスコア算出手段１１０１は、ステップＳ４０９で取得した重みベクトル、およびステップＳ４１０で取得した２以上の素性を用いて、モデルスコアを算出する。なお、モデルスコアを算出する式は、例えば、数式１である。
【０１０１】
（ステップＳ４１２）損失算出手段１１０２は、アライメント情報格納部１０２の２以上のアライメント情報を用いて、ｊ番目の導出の２以上の終端記号に対応する要素（単語または句）と、ステップＳ４０３で読み出された目的言語文を構成する要素（単語または句）とのアライメントを決定する。
【０１０２】
（ステップＳ４１３）損失算出手段１１０２は、ステップＳ４１２で決定したｊ番目の導出の要素と目的言語文の要素との対応から、導出を構成する要素の順序と、目的言語文を構成する要素の順序との合致しない度合いを示す損失を算出する。なお、損失算出手段１１０２は、例えば、上述したKendall's  τ、チャンクの断片化スコアを用いて損失を算出する。
【０１０３】
（ステップＳ４１４）第一導出取得手段１１０３は、ステップＳ４１１で算出されたモデルスコア、およびステップＳ４１２で算出された損失を所定の第一関数に代入し、ｊ番目の導出の第一関数出力値を取得する。ここで、第一関数は、第一導出を決定するための関数であり、例えば、数式２を構成する「Ｓ（Ｄ｜Ｆ、ｗ）＋Ｌ（Ｄ｜Ｆ，Ａ）」である。なお、導出（Ｄ）は導出の集合（Ｂ）の一つである。そして、第一導出取得手段１１０３は、ｊ番目の導出に対応付けて、第一関数出力値をバッファに一時蓄積する。
【０１０４】
また、第二導出取得手段１１０４は、テップＳ４１１で算出されたモデルスコア、およびステップＳ４１２で算出された損失を所定の第二関数に代入し、ｊ番目の導出の第二関数出力値を取得する。ここで、第二関数は、第二導出を決定するための関数であり、例えば、数式３を構成する「Ｌ（Ｄ｜Ｆ，Ａ）−αＳ（Ｄ｜Ｆ、ｗ）」である。そして、第二導出取得手段１１０４は、ｊ番目の導出に対応付けて、第二関数出力値をバッファに一時蓄積する。
【０１０５】
（ステップＳ４１５）モデルスコア算出手段１１０１は、カウンタｊを１、インクリメントし、ステップＳ４０８に戻る。
【０１０６】
（ステップＳ４１６）第一導出取得手段１１０３は、ステップＳ４１４でバッファに一時蓄積した第一関数出力値の中で、最大の第一関数出力値に対応する導出を、第一導出（Ｄ・）として取得する。
【０１０７】
（ステップＳ４１７）第二導出取得手段１１０４は、ステップＳ４１４でバッファに一時蓄積した第二関数出力値の中で、最小の第二関数出力値に対応する導出を、第二導出（Ｄ＾）として取得する。
【０１０８】
（ステップＳ４１８）判断手段１１０５は、第一導出（Ｄ・）と第二導出（Ｄ＾）とが一致するか否かを判断する。両者が一致すればステップＳ４２１に行き、一致しなければステップＳ４１９に行く。
【０１０９】
（ステップＳ４１９）更新手段１１０６は、現在の重みベクトルに対して、モデルスコアを減少させ、かつ損失を増加させるような新しい重みベクトルを取得する。更新手段１１０６は、新しい重みベクトルを、例えば、数式５を用いて取得する。
【０１１０】
（ステップＳ４２０）更新手段１１０６は、ステップＳ４１９で取得した重みベクトルを重みベクトル格納手段１０６１に上書きし、ステップＳ４０５に戻る。
【０１１１】
（ステップＳ４２１）学習部１１０は、カウンタｉを１、インクリメントし、ステップＳ４０２に戻る。
【０１１２】
（ステップＳ４２２）学習部１１０は、カウンタｋを１、インクリメントし、ステップＳ４００２に戻る。
【０１１３】
なお、図４のフローチャートにおいて、ステップＳ４００２において、ループ回数は定数のＫ回であった。しかし、ステップＳ４１９における重みベクトルの更新の度合いが予め決められた条件を満たすほど小さくなった場合に、処理を終了しても良い。重みベクトルの更新の度合いは、重みベクトルの更新された要素の数や、更新前後の１以上の要素の値の差を用いて算出されても良い。
【０１１４】
また、図４のフローチャートのステップＳ４０８において、一つずつ導出をチェックしているが、キューブプルーニング（公知技術）により、導出の集合（Ｂ）から上記の数式３または４の目的関数を用いて、最適な導出を効率良く求めても良い。
【０１１５】
以下、本実施の形態における翻訳装置１の具体的な動作について説明する。ここでは、原言語が日本語で、目的言語が英語である場合について説明する。
【０１１６】
今、受付部１０４が「ｋａｒｅ  ｗａ  ｇｏｈａｎ  ｏ  ｔａｂｅｔａ」を受け付けた、とする。この受け付けられた原言語文をＦとする。
【０１１７】
次に、原言語二分木取得部１０５は、原言語文Ｆを構文解析し、１以上の二分木を取得する。この１以上の各二分木は、導出候補（Ｂ）である。
【０１１８】
ここで、例えば、原言語二分木取得部１０５は、図５に示す１以上のノードを有する導出候補（Ｄ）を取得した、とする。図５において、「ＳＴＲ」は正順を示すフラグであり、「ＩＮＶ」は逆順を示すフラグである。また、「ＴＥＲＭ」は終端記号であることを示す。また、原言語二分木取得部１０５は、他の導出候補も取得する。なお、図５の導出候補（Ｄ）は、導出候補の一例である。
【０１１９】
次に、素性取得手段１０６２は、各導出候補を構成する１以上の各ノードの２以上の素性φを取得する。
【０１２０】
次に、スコア算出手段１０６３は、重みベクトルｗを読み出す。そして、スコア算出手段１０６３は、重みベクトルｗ、素性φを上記の数式１に代入した後に数式１を実行し、各導出候補のスコアＳ（Ｄ｜Ｆ，ｗ）を算出する。
【０１２１】
次に、導出取得手段１０６４は、スコア算出手段１０６３が算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する。ここで、図５の導出のスコアが最大であった、とする。つまり、導出取得手段１０６４は、図５の導出を取得する。
【０１２２】
次に、入替部１０７は、導出取得部１０６が取得した導出を構成する１以上の各ノードが有するフラグが逆順を示す場合のみ、ノードの下位である２つの葉の部分を入れ替える処理を行い、目的言語語順文「ｋａｒｅ  ｈａ  ｔａｂｅｔａ  ｇｏｈａｎ  ｏ」を取得する。
【０１２３】
次に、目的言語文取得部１０８は、入替部１０７が取得した目的言語語順文を目的言語へ翻訳し、目的言語文を取得する。つまり、目的言語文取得部１０８は、目的言語文「ｈｅ  ａｔｅ  ｒｉｃｅ」を得る。なお、目的言語文取得部１０８の処理は公知の統計的機械翻訳の技術で可能である。
【０１２４】
次に、出力部１０９は、目的言語文取得部１０８が取得した目的言語文「ｈｅ  ａｔｅ  ｒｉｃｅ」を出力する。
【０１２５】
次に、翻訳装置１の重みベクトルの学習処理について説明する。
【０１２６】
まず、学習導出取得手段１１００は、対訳データが有する目的言語文を対訳データ格納部１０１から読み出す。ここで、学習導出取得手段１１００は、目的言語文（Ｅ）「ｈｅ  ａｔｅ  ｒｉｃｅ」を読み出した、とする。
【０１２７】
次に、学習導出取得手段１１００は、対訳データが有する原言語文「ｋａｒｅ  ｗａ  ｇｏｈａｎ  ｏ  ｔａｂｅｔａ」を対訳データ格納部１０１から読み出す。
【０１２８】
次に、学習導出取得手段１１００は、原言語文（Ｆ）「ｋａｒｅ  ｗａ  ｇｏｈａｎ  ｏ  ｔａｂｅｔａ」を構文解析し、原言語の１以上の導出を取得する。
【０１２９】
ここで、例えば、学習導出取得手段１１００は、「ｔａｂｅｔａ  ｋａｒｅ  ｗａ  ｇｏｈａｎ  ｏ」の語順の導出（Ｆ'）を取得した、とする。
【０１３０】
次に、モデルスコア算出手段１１０１は、重みベクトルｗを取得する。また、モデルスコア算出手段１１０１は、導出（Ｆ'）の２以上の素性を取得する。そして、モデルスコア算出手段１１０１は、取得した重みベクトル、および２以上の素性を用いて、モデルスコアを算出する。なお、モデルスコア算出手段１１０１は、例えば、数式１を用いて、モデルスコアを算出する。
【０１３１】
モデルスコア算出手段１１０１は、以上の処理をすべての導出に対して実行する。
【０１３２】
次に、損失算出手段１１０２は、アライメント情報格納部１０２の２以上のアライメント情報を用いて、導出（Ｆ'）の２以上の終端記号に対応する要素（単語または句）と、目的言語文（Ｅ）を構成する要素（単語または句）とのアライメントを決定する。
【０１３３】
そして、損失算出手段１１０２は、「Kendall's  τ」を用いて、損失「Ｌｔ＝２」を算出する。つまり、図６に基づいて、損失算出手段１１０２は、目的言語文（Ｅ）と原言語文（Ｆ）との要素のアライメントから、ランキング関数ｒ（ｆｊ）の各要素に対する値「１  １  ３  ３  ２」を付与する。次に、損失算出手段１１０２は、導出（Ｆ'）に対するランキング関数ｒ（ｆｊ'）の各要素に対する値「２  １  １  ３  ３」を付与する。そして、損失算出手段１１０２は、「Kendall's  τ」を用いて、図６に示すように、損失「Ｌｔ＝２」を算出する。
【０１３４】
なお、上述したように、損失算出手段１１０２は、他のアルゴリズムを用いて、損失を算出しても良い。他のアルゴリズムの例は、チャンクの断片化スコアである。チャンクの断片化スコアを用いる場合、図７に示すように、損失算出手段１１０２は、導出（Ｆ'）に対するランキング関数ｒ（ｆｊ'）の各要素に対する値「（０）  ２  １  １  ３  ３  （４）」を付与する。そして、損失算出手段１１０２は、損失「Ｌｃ＝３」を算出する。チャンクの断片化スコアは、直前の要素との比較において、並びの順序が異なる要素の数がスコアとなる。
【０１３５】
損失算出手段１１０２は、以上の処理をすべての導出に対して実行する。
【０１３６】
次に、第一導出取得手段１１０３は、第一関数「Ｓ（Ｄ｜Ｆ、ｗ）＋Ｌ（Ｄ｜Ｆ，Ａ）」を最大にする第一導出（Ｄ・）を取得する。
【０１３７】
次に、第二導出取得手段１１０４は、第二関数「Ｌ（Ｄ｜Ｆ，Ａ）−αＳ（Ｄ｜Ｆ、ｗ）」最小にする第二導出（Ｄ＾）を取得する。
【０１３８】
次に、判断手段１１０５は、第一導出（Ｄ・）と第二導出（Ｄ＾）とが一致するか否かを判断する。両者が一致しない場合、更新手段１１０６は、現在の重みベクトルに対して、モデルスコアを減少させ、かつ損失を増加させるような新しい重みベクトル「β（ｗ＋γ（φ（Ｄ＾，Ｆ）−φ（Ｄ・，Ｆ）」を取得する。次に、更新手段１１０６は、取得した新しい重みベクトルを重みベクトル格納手段１０６１に上書きする。
【０１３９】
また、判断手段１１０５が、両者は一致すると判断した場合、処理を終了する。そして、判断手段１１０５が、両者は一致すると判断するまで、重みベクトルを更新する上記の処理を繰り返す。
【０１４０】
また、学習部１１０は、図４のフローチャートを用いて説明したように、何度も繰り返して、上記の学習処理を行うことは好適である。
（実験）
【０１４１】
以下に、翻訳装置１の実験結果を示す。実験において、翻訳装置１が行う並び替え処理の精度、および翻訳の精度について評価を行った。また、並び替え処理のメトリクスとして、チャンクの断片化スコア（以下、適宜、Ｃｈｕｎｋと言う。）、およびKendall's  τ（以下、適宜、τと言う。）を用いた。また、翻訳のメトリクスとして、ＢＬＥＵ（「Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. 2002. BLEU: a method for automatic evaluation of machine translation. In Proc. ACL.」参照）、およびＲＩＢＥＳ（「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.」参照）を用いた。また、後述する実験のすべてのスコアは、３回の実験のスコアの平均値である（「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.」参照）。
【０１４２】
また、翻訳の実験において、Ｍｏｓｅｓ（「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.」参照）を用いた。
【０１４３】
また、並び替えの実験において、３つのタイプを比較した。第一は原言語の並び替え処理を行わないオリジナルオーダー（ＯＲＩＧ）、第二は既存技術である３−ＳＴＥＰ（非特許文献８参照）、第三は翻訳装置１の並び替え方法（ＬＡＤＥＲと言う）である。なお、ＬＡＤＥＲにおいて、通常、チャンクの断片化スコアを最小にし、キューブプルーニングのスタックポップの制限を５０とした。また、数式５のβを「β＝１．０−１／（ｉ＋（ｋ−１）×対訳データの数）（ｉ，ｋは図４における変数）」とし、γを「γ＝１．０／（λ×（ｉ＋（ｋ−１）×対訳データの数））（ｉ，ｋは図４における変数）」とし、λを１０?３とした。
【０１４４】
また、ここでは、原言語が英語で目的言語が日本語（ｅｎ−ｊａ）の場合、原言語が日本語で目的言語が英語（ｊａ−ｅｎ）の場合の、２通りの実験を行った。また、翻訳の実験において、京都フリー翻訳タスクのデータ（「Graham Neubig. 2011. The Kyoto free translation task. http://www.phontron.com/kftt.」参照）を用いた。
【０１４５】
また、翻訳モデル、言語モデルの学習のための学習セット、重みベクトルの調整のための開発セット、およびテストセットとして、図８に示す情報を用いた。図８において、「ＲＭ−ｔｒａｉｎ」は並び替えモデルの学習のために使用された単語アライメントが付与された対訳データ（対訳データ格納部１０１、およびアライメント情報格納部１０２に該当）、「ＲＭ−ｔｅｓｔ」は原言語の並び替えを評価するためのテストセット、「ＴＭ／ＬＭ」は翻訳モデルおよび言語モデルに使用されたデータ（単語アライメントが付与されていないデータ）、「Ｔｕｎｅ」は重みベクトルの調整のための開発セット、「Ｔｅｓｔ」はテストセットである。また、「ｓｅｎｔ．」は文の数、「ｗｏｒｄ（ｊａ）」は日本語の単語数、「ｗｏｒｄ（ｅｎ）」は英語の単語数を示す。
【０１４６】
また、デフォルトの素性として、φｌｅｘ（単語の位置）、φｃｌａｓｓ（単語クラス）、φｂａｌａｎｃｅ（均衡）、φｔａｂｌｅ（句テーブル）を用いた。また、付加的な素性として、φｐｏｓ（品詞タグ）、φｃｆｇ（構文解析ラベル）を用いた。
【０１４７】
また、英語の品詞タグの取得、および句構造構文解析木の取得のために、スタンフォードパーサー（「Dan Klein and Christopher D. Manning. 2003. Accurate unlexicalized parsing. In Proc. ACL, pages 423-430.」参照）を用いた。また、日本語の品詞タグの取得のためにＫｙＴｅａ（「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.」参照）を用い、依存構文解析を行い、主辞を用いて句構造解析着への変換を行った。
【０１４８】
以上の背景の元、並び替えと翻訳の実験を行った。その実験の結果を図９に示す。図９によれば、翻訳装置１の方法（ＬＡＤＥＲ）は、並び替え処理と翻訳の両方において、他の２つの方法（ＲＩＧ、３−ＳＴＥＰ）の精度を大きく上回っていることが分かる。
【０１４９】
また、損失を算出する演算式として、チャンクの断片化スコア（Ｌｃ）を用いた場合、Kendall's  τ（Ｌｔ）を用いた場合、および両方（Ｌｔ＋Ｌｃ）を用いた場合の３つの場合について、ＬＡＤＥＲの実験結果を図１０に示す。図１０によれば、Ｌｔ＋Ｌｃは、並び替えおよび翻訳で高い精度である。また、図１０によれば、ＬｃとＬｔ＋Ｌｃは、翻訳で高い精度であると言える。
【０１５０】
さらに、図１１は、単語のアライメントを手作業で行った場合と、自動的に行った場合の、ＬＡＤＥＲとＯＲＩＧの翻訳の精度の評価結果である。図１１において、「ＭＡＮ−６０２」は、手作業で６０２の単語のアライメントを行った場合を示す。また、「ＡＵＴＯ−６０２」は、自動的に６０２の単語のアライメントを行った場合を示す。また、「ＡＵＴＯ−１０ｋ」は、自動的に１０ｋの単語のアライメントを行った場合を示す。そして、図１１によれば、いずれの場合でもベースラインであるＯＲＩＧに対して、ＬＡＤＥＲの精度は大きく上回っていることが分かる。
【０１５１】
以上、本実施の形態によれば、原言語の文を構成する二分木であり、終端記号に、少なくとも一部が句である要素を有し、非終端記号に正順または逆順を示すフラグを有する二分木である２以上の学習二分木を用いて、正しい単語の並び替えを実現することにより、機械翻訳の精度を向上できる。
【０１５２】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における機械翻訳装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、原言語の文に対応する二分木を構成するノードと当該ノードの葉の部分についての情報であり、ノードの部分に正順または逆順または終端であることを示すフラグを有し、葉の部分に正順または逆順または終端であることを示すフラグ、または少なくとも一部が句である要素を有する２以上の文法を格納しており、コンピュータを、原言語の文を受け付ける受付部と、前記受付部が受け付けた文を、２以上の文法を用いて構文解析し、非終端記号に正順または逆順を示すフラグを有する１以上のノードを含む原言語の二分木である１以上の導出候補を取得する原言語二分木取得部と、前記原言語二分木取得部が取得した１以上の導出候補から、一の導出を取得する導出取得部と、前記導出取得部が取得した導出を構成する１以上の各ノードが有するフラグが逆順を示す場合に、当該ノードの下位である２つの葉の部分を入れ替え、導出取得部が取得した導出を構成する１以上の各ノードが有するフラグが正順を示す場合に、当該ノードの下位である２つの葉の部分を入れ替えず、原言語の文を構成する要素の集合であり、目的言語の語順の文である目的言語語順文を取得する入替部と、前記入替部が取得した目的言語語順文を目的言語へ翻訳し、目的言語文を取得する目的言語文取得部と、前記目的言語文取得部が取得した目的言語文を出力する出力部として機能させるためのプログラム、である。
【０１５３】
また、上記プログラムにおいて、前記導出取得部は、２以上の素性に対する重みを有する重みベクトルを格納している重みベクトル格納手段と、前記原言語二分木取得部が取得した１以上の各導出候補を構成する１以上の各ノードの２以上の素性を取得する素性取得手段と、前記１以上の各導出候補に対して、前記２以上の各素性に対応する２以上の重みを取得し、当該２以上の重みを用いて、１以上の素性の線形結合モデルのスコアを、導出候補ごとに算出するスコア算出手段と、前記スコア算出手段が算出したスコアの中で最大のスコアに対応する導出候補を、導出として取得する導出取得手段とを具備するものとして、コンピュータを機能させることは好適である。
【０１５４】
また、上記プログラムにおいて、記憶媒体に、原言語の文と当該原言語の対訳である目的言語の文とを有する対訳データをさらに格納しており、コンピュータを、前記重みベクトルを学習し、前記重みベクトル格納手段に蓄積する学習部として、さらに機能させ、前記学習部は、前記対訳データを構成する原言語の文に対して、前記重みベクトルを用いて構文解析し、１以上の導出の集合を取得する学習導出取得手段と、前記１以上の各導出に対して、前記重みベクトルと２以上の各素性とを用いて、導出の良さを示すスコアであるモデルスコアを、前記１以上の各導出ごとに算出するモデルスコア算出手段と、前記対訳データを構成する目的言語の文を構成する単語または句の順序と、前記１以上の各導出を構成する終端記号に対応する単語または句の順序と、前記アライメント情報格納部の２以上のアライメント情報とを用いて、前記１以上の各導出を構成する終端記号に対応する単語または句の順序と、前記対訳データを構成する目的言語の文を構成する単語または句の順序との合致しない度合いを示す損失を、前記１以上の各導出ごとに算出する損失算出手段と、前記モデルスコアと前記損失とをパラメータとする増加関数により算出される値が最大となる導出である第一導出を取得する第一導出取得手段と、前記損失をパラメータとする増加関数、または前記損失の増加関数であり前記モデルスコアの減少関数である関数により算出される値が最少となる導出である第二導出を取得する第二導出取得手段と、前記第一導出と前記第二導出とが一致するか否かを判断する判断手段と、前記判断手段が一致しないと判断した場合に、前記モデルスコアを減少させ、かつ前記損失を増加させるように前記重みベクトルを更新する更新手段と、前記判断手段が一致しないと判断した場合に、前記判断手段が一致すると判断するまで、前記重みベクトルの更新処理を繰り返すように、前記学習導出取得手段、モデルスコア算出手段、損失算出手段、第一導出取得手段、および第二導出取得手段に指示する制御手段とを具備するものとして、コンピュータを機能させることは好適である。
【０１５５】
また、図１２は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の翻訳装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図１２は、このコンピュータシステム３００の概観図であり、図１３は、システム３００のブロック図である。
【０１５６】
図１２において、コンピュータシステム３００は、ＣＤ−ＲＯＭドライブを含むコンピュータ３０１と、キーボード３０２と、マウス３０３と、モニタ３０４とを含む。
【０１５７】
図１３において、コンピュータ３０１は、ＣＤ−ＲＯＭドライブ３０１２に加えて、ＭＰＵ３０１３と、ＭＰＵ３０１３、ＣＤ−ＲＯＭドライブ３０１２に接続されたバス３０１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３０１５と、ＭＰＵ３０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３０１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３０１７とを含む。ここでは、図示しないが、コンピュータ３０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１５８】
コンピュータシステム３００に、上述した実施の形態の翻訳装置の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３１０１に記憶されて、ＣＤ−ＲＯＭドライブ３０１２に挿入され、さらにハードディスク３０１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３０１に送信され、ハードディスク３０１７に記憶されても良い。プログラムは実行の際にＲＡＭ３０１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３１０１またはネットワークから直接、ロードされても良い。
【０１５９】
プログラムは、コンピュータ３０１に、上述した実施の形態の翻訳装置の機能を実行させるオペレーティングシステム、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３００がどのように動作するかは周知であり、詳細な説明は省略する。
【０１６０】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１６１】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１６２】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１６３】
以上のように、本発明にかかる翻訳装置は、正しい単語の並び替えを実現することにより、機械翻訳の精度を向上できる、という効果を有し、翻訳装置等として有用である。
【符号の説明】
【０１６４】
１  翻訳装置
１０１  対訳データ格納部
１０２  アライメント情報格納部
１０３  文法格納部
１０４  受付部
１０５  原言語二分木取得部
１０６  導出取得部
１０７  入替部
１０８  目的言語文取得部
１０９  出力部
１１０  学習部
１０６１  ベクトル格納手段
１０６２  素性取得手段
１０６３  スコア算出手段
１０６４  導出取得手段
１１００  学習導出取得手段
１１０１  モデルスコア算出手段
１１０２  損失算出手段
１１０３  第一導出取得手段
１１０４  第二導出取得手段
１１０５  判断手段
１１０６  更新手段
１１０７  制御手段
【図１】
2013257660.tif 000008
【図２】
2013257660.tif 000009
【図３】
2013257660.tif 000010
【図４】
2013257660.tif 000011
【図５】
2013257660.tif 000012
【図６】
2013257660.tif 000013
【図７】
2013257660.tif 000014
【図８】
2013257660.tif 000015
【図９】
2013257660.tif 000016
【図１０】
2013257660.tif 000017
【図１１】
2013257660.tif 000018
【図１２】
2013257660.tif 000019
【図１３】
2013257660.tif 000020