(57)【特許請求の範囲】
【請求項１】
原文を他の言語に翻訳した正解翻訳文を記憶するリファレンス記憶部と、
入力される機械翻訳文と上記正解翻訳文の前後の単語の情報を用いて上記正解翻訳文と上記機械翻訳文との間の単語を対応付け、当該機械翻訳文の単語の順番を当該正解翻訳文の単語の順番を示す整数で表した整数リストを生成する単語対応付け部と、
上記整数リストから正規化順位相関係数を計算する順位相関係数計算部と、
上記正規化順位相関係数に、機械翻訳文の単語数で正解翻訳文に含まれる機械翻訳文の単語数を除して得られる訳語適合率Ｐを底とし指数α、αは０より大で１以下の範囲の予め決められた定数とする指数関数Ｐαを乗じた値を評価スコアとして計算する評価スコア計算部と、
を具備する翻訳品質自動評価装置。
【請求項２】
原文を他の言語に翻訳した正解翻訳文を記憶するリファレンス記憶部と、
入力される機械翻訳文と上記正解翻訳文の前後の単語の情報を用いて上記正解翻訳文と上記機械翻訳文との間の単語を対応付け、当該機械翻訳文の単語の順番を当該正解翻訳文の単語の順番を示す整数で表した整数リストを生成する単語対応付け部と、
上記整数リストを、上記機械翻訳文の単語の並びに対応する上記正解翻訳文の単語の順番を、抜けのない連続した整数で再付番する再付番部と、
上記配列から順位相関係数を求め更にその順位相関係数を正規化した正規化順位相関係数を計算する順位相関係数計算部と、
上記正規化順位相関係数に、機械翻訳文の単語数で正解翻訳文に含まれる機械翻訳文の単語数を除して得られる訳語適合率Ｐを底とし指数α、αは０より大で１以下の範囲の予め決められた定数とする指数関数Ｐαを乗じた値を評価スコアとして計算する評価スコア計算部と、
を具備する翻訳品質自動評価装置。
【請求項３】
請求項１又は２に記載した翻訳品質自動評価装置において、
上記単語対応付け部は、
上記正解翻訳文の単語と一対一で対応する上記機械翻訳文の単語であるユニグラム単語の対応付けを行い、整数リストの要素である当該機械翻訳文の当該ユニグラム単語の位置に対応する当該正解翻訳文の当該ユニグラム単語の位置を出力するユニグラム単語対応付け手段と、
上記ユニグラム単語では無い当該機械翻訳文の順方向に隣接する２単語が、上記正解翻訳文の２単語と順方向に一対一で対応するバイグラム単語の対応付けを行い、整数リストの要素である当該対応付けられたバイグラム単語の当該機械翻訳文の単語の位置に対応する当該正解翻訳文の単語の位置を出力するバイグラム単語順方向対応付け手段と、
上記ユニグラム単語では無い当該機械翻訳文の逆方向に隣接する２単語が、上記正解翻訳文の２単語と逆方向に一対一で対応するバイグラム単語の対応付けを行い、整数リストの要素である当該対応付けられたバイグラム単語の当該機械翻訳文の単語の位置に対応する当該正解翻訳文の単語の位置を出力するバイグラム単語逆方向対応付け手段と、
を備えることを特徴とする翻訳品質自動評価装置。
【請求項４】
請求項１乃至３の何れかに記載した翻訳品質自動評価装置において、
上記順位相関係数は、ケンドールの順位相関係数τであることを特徴とする翻訳品質自動評価装置。
【請求項５】
請求項２又は３に記載した翻訳品質自動評価装置において、
上記順位相関係数は、スピアマンの順位相関係数ρであることを特徴とする翻訳品質自動評価装置。
【請求項６】
原文テキストデータを入力として機械翻訳文を出力する統計的機械翻訳装置と、上記機械翻訳文を入力とする請求項１乃至５の何れかに記載した翻訳品質自動評価装置と、を具備する語順最適化機械翻訳装置であって、
上記翻訳品質自動評価装置が出力する評価スコアを参照して、当該評価スコアが大きくなるように上記統計的機械翻訳装置の翻訳パラメタを自動調整する翻訳パラメタ最適化部と、
を具備する語順最適化機械翻訳学習装置。
【請求項７】
単語対応付け部が、入力される機械翻訳文と、リファレンス記憶部に記憶された原文を他の言語に翻訳した正解翻訳文の前後の単語の情報を用いて上記正解翻訳文と上記機械翻訳文との間の単語を対応付け、当該機械翻訳文の単語の順番を当該正解翻訳文の単語の順番を示す整数で表した整数リストを生成する単語対応付け過程と、
順位相関係数計算部が、上記整数リストから正規化順位相関係数を計算する順位相関係数計算過程と、
評価スコア計算部が、上記正規化順位相関係数に、機械翻訳文の単語数で正解翻訳文に含まれる機械翻訳文の単語数を除して得られる訳語適合率Ｐを底とし指数α、αは０より大で１以下の範囲の予め決められた定数とする指数関数Ｐαを乗じた値を評価スコアとして計算する評価スコア計算過程と、
を含む翻訳品質自動評価方法。
【請求項８】
請求項７に記載した翻訳品質自動評価方法において、
上記単語対応付け過程は、
ユニグラム単語対応付け手段が、上記正解翻訳文の単語と一対一で対応する上記機械翻訳文の単語であるユニグラム単語の対応付けを行い、整数リストの要素である当該機械翻訳文の単語の位置に対応する当該正解翻訳文の単語の位置を出力するユニグラム単語対応付けステップと、
バイグラム単語順方向対応付け手段が、上記ユニグラム単語では無い当該機械翻訳文の順方向に隣接する２単語が、上記正解翻訳文の２単語と順方向に一対一で対応するバイグラム単語の対応付けを行い、整数リストの要素である当該機械翻訳文の単語の位置に対応する当該正解翻訳文の単語の位置を出力するバイグラム単語順方向対応付けステップと、
バイグラム単語逆方向対応付け手段が、上記ユニグラム単語では無い当該機械翻訳文の逆方向に隣接する２単語が、上記正解翻訳文の２単語と逆方向に一対一で対応するバイグラム単語の対応付けを行い、整数リストの要素である当該機械翻訳文の単語の位置に対応する当該正解翻訳文の単語の位置を出力するバイグラム単語逆方向対応付けステップと、
を含むことを特徴とする翻訳品質自動評価方法。
【請求項９】
統計的機械翻訳装置が、原文テキストデータを入力として機械翻訳文を出力する統計的機械翻訳過程と、上記機械翻訳文を入力とする請求項７又は８に記載した翻訳品質自動評価方法と、を備えた語順最適化機械翻訳学習方法であって、
上記翻訳品質自動評価方法が出力する評価スコアを参照して、当該評価スコアが大きくなるように上記統計的機械翻訳方法の翻訳パラメタを自動調整する翻訳パラメタ最適化過程と、
を備える語順最適化機械翻訳学習方法。
【請求項１０】
請求項１乃至５の何れかに記載した翻訳品質自動評価装置としてコンピュータを機能させるためのプログラム。
【請求項１１】
請求項６に記載した語順最適化機械翻訳学習装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、英語と日本語の間の翻訳のように、語順が大幅に変化する言語間の翻訳品質を自動評価する翻訳品質自動評価装置とその方法、及び語順最適化機械翻訳学習装置とプログラムに関する。
【背景技術】
【０００２】
近年、統計的機械翻訳（SMT :Statistical Machine Translation）技術が急速な発展を見せており、ヨーロッパ圏の言語のように語順の近い言語間の翻訳では、ルールベース翻訳（RBMT : Rule-Based Machine Translation）を上回る性能が出ており、インターネット上で無料の機械翻訳サービスも行われている。
【０００３】
SMTでは、人間の評価になるべく近い自動評価法を採用して、その自動評価の結果がよい訳を探索する方法を採用する。また、なるべく良い訳が得られるように、機械翻訳システムのチューニングが行われる。
【０００４】
SMTにせよRBMTにせよ、自動翻訳システムを改良するためには、翻訳結果の品質を短時間で的確に評価することが必要である。品質を人間が直接評価できれば良いが、人間による評価には膨大な人件費がかかるので大量・頻繁には行えない。そのため、自動評価が用いられる。人間の評価に近い自動評価法として、現在、事実上の標準となっている方法としてBLEU (Bilingual Evaluation Understudy)がある（非特許文献１）。また、他の自動評価方法としてPosition Independent Error Rate (PER、非特許文献２）やTranslation Edit(Error) Rate (TER、非特許文献３）が知られている。
【０００５】
これらの自動評価法は、「リファレンス（以降、正解翻訳文と称する）」と呼ばれる、人間が作った的確な翻訳文を予め用意しておき、正解翻訳文と機械翻訳の結果（以降、機械翻訳文）とが、どれくらい近いかを数値化することで機械翻訳文の品質を評価する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu: BLEU: a method for automatic evaluation of machine translation, Proceedings of the Annual Meeting of the Association for Computational Linguistics, pp. 311-318, 2002.
【非特許文献２】Franz Josef Och and Hermann Ney: Statistical Multi-Source Translation, Proceedings of MT Summit VIII, 2001.
【非特許文献３】Matthew Snover, Bonnie Dorr, Richard Schwartz, Linnea Micciulla, John Makhoul: A Study of Translation Edit Rate with Targeted Human Annotation, Proceedings of Association for Machine Translation in the Americas, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
SMTでは、膨大な翻訳文候補の中から、自動評価法のスコアがなるべく高い文を探索する。しかし、１文中にn個の単語が含まれていれば、その語順は、単純に考えてn！通りある。３０単語もあれば、30！＝2.65×1032通りの語順が考えられる。
【０００８】
このように、様々な語順の訳文を調べると、探索空間が膨大になり、計算量が増大するのでSMTは普通、数語程度の範囲でしか語順の入れ替えを調べない。欧米言語間であれば、語順の大きな入れ替えが少ないことから、SMTが広く使われている。
【０００９】
しかし、日英翻訳のように語順が大幅に変わってしまうのが普通の言語間では、探索に膨大な時間が必要になるが、それでは実用的でない。よって、探索範囲を数語程度の範囲に限定している。その結果、最適でない翻訳で妥協することになり、日英翻訳のSMTは、しばしば語順のおかしな翻訳文を出力する。
【００１０】
これまでのSMTの研究は、そのほとんどが欧米言語間、少し違っても中国語など、SVOと言われる語順の近い言語間で主に研究されて来たため、既存の自動評価方法も、翻訳する前の言語（原言語）と、翻訳した後の言語（目的言語）の語順が近いことが暗黙のうちに仮定されている。そのため、大局的な語順の間違いの評価について十分考慮されていなかった。
【００１１】
SMTでよくある誤訳として、次の例を取り上げる。
原文：彼はその本を読んだので、その有名な会社に興味があった。
正解翻訳文：he was interested in the famous company because he read the book
機械翻訳文：he read the book because he was interested in the famous company
【００１２】
この機械翻訳文を、非特許文献２のPERで評価すると、語順は無視して文を単語の頻度付き単語集合と見なしたときの間違いの割合で評価する。これは、SVO言語間の翻訳では、訳語選択が適切に行えれば内容がほぼ分かるため、語順まで評価する必要性が低いからである。上記した例文の場合、単語集合としての間違いはゼロであり、最高の評価であるスコア0.0が得られる。
【００１３】
非特許文献３に記載されているTERは、機械翻訳の結果を翻訳家が修正する手間を評価する方法であり、簡単に編集ができるブロック単位の移動に対するペナルティを１と低く設定している。上記した例文の場合、２回のブロック移動で機械翻訳文と正解翻訳文が一致するので、高いスコア2／12＝0.167が得られる。
【００１４】
現在、自動評価方法の標準として良く使われるBLEUも、１〜４グラム(gram)、つまり、たかだか４つまでの単語の並び方しか調べないので、上記した例のように大局的な語順の間違いがあっても、スコアはあまり低下しない。機械翻訳文の中に含まれるn-gram(n=1,2,3,4)の精度をpnとすると、BLEUは式（１）に示す幾何平均に、Brevity Penalty(BP)と呼ばれる機械翻訳の文が短いときのペナルティを掛けた数値で表される。
【００１５】
【数１】
0005285676.tif 000002
【００１６】
上記した例文の場合、機械翻訳文は正解翻訳文と同じ語数であり、短くは無いのでペナルティは掛からずBP=1.0である。
【００１７】
上記した例の1-gramの精度は、機械翻訳文の全ての単語が正解翻訳文に出現するので、p1=12/12となる。2-gramは、”he read” “read the” “the book” “book because”など１１個あるが、“book because”以外のものは正解翻訳文にあるのでp2=10/11となる。同様に3-gramの精度はp3=7/10、同様に4-gramの精度p4=5/9である。式（１）より、幾何平均は0.771となる。
【００１８】
BLEUの値域は０以上１以下なので、この0.771は比較的に高い評価であり、BLEUも大局的な語順の間違いによる不適切さを十分に検出できていないことが分かる。このように、従来の自動評価方法の多くは、語順の適切さを十分考慮していないため、語順が大きく異なる日英翻訳などでは、不適切な評価しか出来ない課題を持つ。例えば、日英特許翻訳の評価では、IMPACTやWERと呼ばれる自動評価方法の方が、標準的に使われるBLEUよりも人間の評価に近いことが明らかにされている（参考文献、江原暉将、越前谷博、下畑さより、藤井敦、内山将夫、山本幹雄、宇津呂武仁、神門典子：機械翻訳精度の各種自動評価の比較、JAPIO 2009 Year Book, pp. 272-275,日本特許情報機構、2009.）
この発明は、このような課題に鑑みてなされたものであり、大局的な語順の違いに対する感度の低さを解決した翻訳品質自動評価装置とその方法、及び語順最適化機械翻訳装置とプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
この発明の翻訳品質自動評価装置は、リファレンス記憶部と、単語対応付け部と、対応単語内順位付け部と、順位相関係数計算部と、評価スコア計算部と、を具備する。リファレンス記憶部は、原文を他の言語に翻訳した正解翻訳文を記憶する。単語対応付け部は、入力される機械翻訳文と正解翻訳文の前後の単語の情報を用いて正解翻訳文と機械翻訳文との間の単語を対応付け、当該機械翻訳文の単語の順番を当該正解翻訳文の単語の順番を示す整数で表した整数リストを生成する。順位相関係数計算部は、整数リストから正規化順位相関係数を計算する。評価スコア計算部は、正規化順位相関係数に、機械翻訳文の単語数で正解翻訳文に含まれる機械翻訳文の単語数を除して得られる訳語適合率Ｐを底とし指数α、αは０より大で１以下の範囲の予め決められた定数とする指数関数Ｐαを乗じた値を評価スコアとして計算する。
【００２０】
また、この発明の語順最適化機械翻訳学習装置は、上記した翻訳品質自動評価装置と、その翻訳品質自動評価装置が出力する評価スコアを参照して、機械翻訳システムの翻訳パラメタを最適な値に自動調整する翻訳パラメタ最適化部と、を具備する。
【発明の効果】
【００２１】
この発明の翻訳品質自動評価装置は、正解翻訳文と機械翻訳文の間の語順の近さを「順位相関係数」を用いて測定し、その値を機械翻訳文の評価スコアに反映するので、大局的な語順の違いに対する感度の低さを解決することができる。
【００２２】
また、この発明の語順最適化機械翻訳学習装置は、上記したこの発明の翻訳品質自動評価装置で求めた評価スコアを参照して統計的機械翻訳システムの翻訳パラメタを最適化するので、統計的機械翻訳システムの性能を向上させることができる。
【図面の簡単な説明】
【００２３】
【図１】この発明の翻訳品質自動評価装置１００、２００の機能構成例を示す図。
【図２】翻訳品質自動評価装置１００の動作フローを示す図。
【図３】単語対応付け部２０の機能構成例を示す図。
【図４】単語対応付け部２０の動作フローを示す図。
【図５】正解翻訳文と機械翻訳文の一例を示す図。
【図６】図５の”he”と”the”が逆に対応した場合の正解翻訳文と機械翻訳文の一例を示す図。
【図７】他の機械翻訳文の例を示す図。
【図８】機械翻訳文配列部３０の機能構成例を示す図
【図９】機械翻訳文配列部３０の動作フローを示す図。
【図１０】この発明の語順最適化機械翻訳学習装置３００の機能構成例を示す図。
【発明を実施するための形態】
【００２４】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。実施例の説明の前に、この発明の考えを説明する。
〔この発明の考え〕
この発明は、「順位相関係数」(参考文献、Maurice G. Kendall: “Rank Correlation Methods,” Charles Griffin, 1975.)によって、正解翻訳文と機械翻訳文の語順の近さを測定し、その測定結果を機械翻訳文の評価スコアに反映するものである。
【００２５】
正解翻訳文refと機械翻訳文hypの対応する文をそれぞれ単語に区切って、正解翻訳文refと機械翻訳文hypにおける単語の語順の近さを、「順位相関係数」で測定する。順位相関係数には、「スピアマンの順位相関係数ρ」と「ケンドールの順位相関係数τ」のどちらかを用いる。
【００２６】
図５に、上記した正解翻訳文refと機械翻訳文hypの単語の語順と、それぞれの対応関係を示す。機械翻訳文を構成する単語の下に示す数字は、正解翻訳文の語順を表す。対応する単語同士を線で結んで表している。この例の機械翻訳文の語順は［9,10,11,12,8,1,2,3,4,5,6,7］という整数リストで表すことができる。
【００２７】
ケンドールの順位相関係数τは、この整数リストの中で２つの数字のペアを作り、それらが昇順か降順かを調べることで式（２）により与えられる。
【００２８】
【数２】
0005285676.tif 000003
【００２９】
整数リストの要素数をnとすると、全ペア数はnC2で与えられる。この例の場合の昇順ペアは、9,10,11,12から得られる4C2=6個と、1,2,…,7から得られる7C2=21個である。よって、ケンドールの順位相関係数τは、下記のように-0.182となる。
【００３０】
【数３】
0005285676.tif 000004
【００３１】
スピアマンの順位相関係数ρは、正解翻訳文refと機械翻訳文hypとの間で単語の移動した距離diの二乗の和（式（４））を用いて式（５）で求めることができる。
【００３２】
【数４】
0005285676.tif 000005
【００３３】
この例の場合、整数リストの9,10,11,12が前に８単語移動しており、1,2,…,7が後ろに５単語移動している。そして、その間にあるbecauseが３単語前に移動しているので、移動した距離diの二乗の和は82×4+52×7+32=440となる。よってρ=１-440/13Ｃ3=-0.538となる。
【００３４】
このように、順位相関係数は何れもマイナスとなっていて、機械翻訳文hypが正解翻訳文refのほぼ逆の語順になっていることが検出されている。但し、順位相関係数は、上記したBLEUと異なり値域が-1以上1以下である。そこで、この発明では以下のような線形変換を行って、BLEUの値域[0,1]にそろえる。
【００３５】
正規化後のケンドールの順位相関係数τを正規化ケンドール順位相関係数NKT、正規化後のスピアマンの順位相関係数ρを正規化スピアマン順位相関係数NSRと称する。
【００３６】
【数５】
0005285676.tif 000006
【００３７】
この例の場合、正規化ケンドール順位相関係数NKT=0.409、正規化スピアマン順位相関係数NSR=0.231となり、従来の評価値BLEU=0.771よりも小さく、大局的な語順の間違いが厳しく評価されている。
【００３８】
このように、順位相関係数を機械翻訳文hypの評価に導入することで、機械翻訳文hypの品質をより適切に評価することができる。なお、順位相関係数を語順の評価に利用しようとすると問題が発生する。順位相関係数を計算するには、正解翻訳文refと評価対象の機械翻訳文hypの文において、単語が一対一に対応していなければならないが、通常、正解翻訳文refと機械翻訳文hypとの間では単語数が異なる場合もある。また、同じ単語が複数回出現する場合や、一方にある単語が他方には無い場合もある。この発明の翻訳品質自動評価装置では、これらの問題を解決する工夫を施している。その工夫については、実施例の説明の中で説明する。
【実施例１】
【００３９】
図１に、この発明の翻訳品質自動評価装置１００の機能構成例を示す。その動作フローを図２に示す。翻訳品質自動評価装置１００は、リファレンス記憶部１０と、単語対応付け部２０と、順位相関係数計算部４０と、評価スコア計算部５０と、制御部６０と、を備える。その各部の機能は、例えばＲＯＭ、ＲＡＭ、ＣＰＵ等で構成されるコンピュータに所定のプログラムが読み込まれて、ＣＰＵがそのプログラムを実行することで実現されるものである。
【００４０】
リファレンス記憶部１０は、ある言語で書かれた原文と、その原文を予め人手で第２言語に翻訳した正解翻訳文を大量に記憶したデータベースである。単語対応付け部２０は、入力される機械翻訳文とリファレンス記憶部１０に記憶された正解翻訳文の前後の単語の情報を用いて正解翻訳文と機械翻訳文との間の単語を対応付けた整数リストを生成する（ステップＳ２０）。
【００４１】
順位相関係数計算部４０は、単語対応付け部２０で生成された整数リストから正規化順位相関係数を計算する（ステップＳ４０）。
【００４２】
評価スコア計算部５０は、正規化順位相関係数に訳語適合率を底とし指数α、αは０〜１の範囲の予め決められた定数とする指数関数を乗じた値を評価スコアとして計算する（ステップＳ５０）。制御部６０は、各機能部を統合的に制御し、各機能部が翻訳品質自動評価装置１００として動作するように制御する。
【００４３】
翻訳品質自動評価装置１００は、対応単語内順位付け部３０で正解翻訳文と機械翻訳文の間で対応付けられた単語の語順を、順位相関係数で評価するので、原文と翻訳先言語の語順が異なる場合でも翻訳先の文法による正しい語順を考慮した評価スコアを計算することが可能である。なお、制御部６０の機能は、各機能構成部に分散させて持たせても良い。
【００４４】
以降、各機能部の動作を更に詳しく説明する。
〔単語対応付け部〕
図３に、単語対応付け部２０のより具体的な機能構成例を示す。その動作フローを図４に示す。単語対応付け部２０は、ユニグラム単語対応付け手段２１と、バイグラム単語順方向対応付け手段２２と、バイグラム単語逆方向対応付け手段２３と、を備える。
【００４５】
図５に示す例では、正解翻訳文と機械翻訳文のどちらにも、heが２回、theが２回出現している。したがって、これらの単語の対応関係は曖昧である。図６に示すように、単語が逆に対応していると考えると、整数リストは[1,10,5,12,8,9,2,3,4,11,6,7]となり、正規化ケンドール順位相関係数NKT=0.530（図５、NKT=0.409）、正規化スピアマン順位相関係数NSR=0.497（図５、NSR=0.497）となって、かなり違う値になる。したがって、このように複数回出現する単語もできるだけ対応を付けたい。複数回出現する単語は、前後の単語を参考にすることで対応関係を正確に決められる場合がある。
【００４６】
図５のheについて考えると、機械翻訳文でheに後続する単語は、readとwasなので、“he read”と“he was”という順方向のバイグラムが得られる。これらのバイグラムは正解翻訳文の中にある。“he read”のheは正解翻訳文の９番目の単語に対応し、“he was”のheは正解翻訳文の１番目の単語に対応することが分かる。“the”も同様に、バイグラム“the book”と“the famous”を考えることにより対応付けることが可能である。このように、単語対応付け部２０は、前後の単語の情報（N-gram）を用いて正解翻訳文と機械翻訳文の間の単語を対応付けた整数リストを生成する。以降の説明では、xというN-gramが正解翻訳文の中に出現する回数をrefcount(x)で、機械翻訳文の中に出現する回数をhypcount(x)で表す。
【００４７】
ユニグラム単語対応付け手段２１は、機械翻訳文の単語が、正解翻訳文の単語と一対一で対応するユニグラム単語の対応付けを行う（ステップＳ２１）。バイグラム単語順方向対応付け手段２２は、機械翻訳文の隣接する２単語が、正解翻訳文の２単語と順方向に一対一で対応するバイグラム単語の対応付けを行う（ステップＳ２２）。バイグラム単語逆方向対応付け手段２３は、機械翻訳文の隣接する２単語が、正解翻訳文の２単語と逆方向に一対一で対応するバイグラム単語の対応付けを行う（ステップＳ２３）。
【００４８】
単語対応付け部２０は、正解翻訳文refがref=r1r2…rm、機械翻訳文hypがhyp=h1h2…hn
という単語列であるとして、機械翻訳文hypの各単語hiに対して正解翻訳文refで対応する単語の位置loc[i]を求めるものである。
【００４９】
単語対応付け部２０は、機械翻訳文hypにおけるN-gram（Nは自然数）x=hihi+1…hi+N-1について、機械翻訳文hypの中の数が1個 (hypcount(x)=1)であり、xと同じN-gramとなる正解翻訳文refの中の単語の並びy=rjrj+1…rj+N-1の中の数が１個 (refcount(y)=1)、つまり、N-gram xとN-gram ｙが一対一に対応する単語を対応付ける（loc[i]=j）。それ以外の場合には、対応する単語が存在しないことを表す値、例えばloc[i]=-1を設定する。
【００５０】
Nは任意の値を用いることができるが、ここでは、ユニグラム（N=1）とバイグラム(N=2)を用いた場合の具体的処理を説明する（図４）。
【００５１】
先ず、ユニグラム（N=1）について、正解翻訳文refと機械翻訳文hypとに一対一に対応する単語hi=rjが在るか否かを判定（ステップＳ２１）し、ある場合にはloc[i]=j（ステップＳ６１）とする。
【００５２】
次に、ユニグラムにおいて対応する単語が見つからなかった単語hi(i=1,2,…,n-1)について、正解翻訳文refの中にhihi+1と順方向で一対一に対応するバイグラムriri+1が在るか否かを判定（ステップＳ２２）し、ある場合にはloc[i]=j（ステップＳ６１）とする。
【００５３】
ない場合はさらに、逆方向のバイグラムhi-1hi(i=2,3, …,n)について、一対一に対応するバイグラムrj-1rjが在るか否かを判定し、ある場合にはloc[i]＝jとする（ステップＳ２３）。なお、順方向のバイグラム処理（ステップＳ２２）と逆方向のバイグラム処理（ステップＳ２３）は、順序を入れ替えて実行しても良い。
【００５４】
ステップＳ２１〜Ｓ２３の処理を終えても対応する単語が見つからない単語hiについては、loc［i］=-１を設定する（ステップＳ６２）。以上の処理を、全ての機械翻訳文hypの中の単語（i=1,2,…,n）について繰り返す（ステップＳ６３とＳ６４のループ）。ステップＳ６０〜Ｓ６４の処理は、この例では制御部６０が行う。
【００５５】
図７に示す機械翻訳文の例を参照して、単語対応付け部２０の動作を具体的に説明する。
機械翻訳文hypの最初の単語h1=”he”を考えると、refcount(“he”)=hypcount(“he”)=2なので、ユニグラムは一対一対応ではない。そこで、順方向のバイグラム”he read”を調べると、hypcount(“he read”)=1、refcount(“he read”)=1で、一対一対応である。“he read”が正解翻訳文refで始まる位置reflocはrefloc(“he read”)=9なので、loc[1]=9がセットされる。
【００５６】
機械翻訳文hypの２番目の単語h2=”read”を考えると、refcount(“read”)=hypcount(“read”)=1なので、ユニグラムが一対一対応である。”read”の正解翻訳文refにおける位置reflocはrefloc(“read”)=10なので、loc[2]=10がセットされる。
【００５７】
機械翻訳文hypの3番目の単語h1=”the”を考えると、refcount(“the”)=hypcount(“the”)=2なので、ユニグラムは一対一対応ではない。順方向のバイグラム”the journal”を考えると、refcount(“the journal”)=0なので、やはり一対一対応しない。そこで、逆方向のバイグラム”read the”を考えると、refcount(“read the”)=hypcount(“read the”)=1で一対一対応する。“read the”が正解翻訳文refで始まる位置reflocはrefloc(“read the”)=10なので、loc[3]=10+1=11がセットされる。
【００５８】
機械翻訳文hypの4番目の単語h4=”journal”を考えると、refcount(“journal”)=0であり、その前後の単語を含めた順方向バイグラムも逆方向バイグラムもrefcount(“journal”)=0である。したがって、loc[4]=-1となり、対応する単語が決まらなかったことを表す。
【００５９】
以下同様にしてloc[5]=-1,loc[6]=-1,loc[7]=1,loc[8]=2,loc[9]=3,loc[10]=4,loc[11]=5,loc[12]=6,loc[13]=7,となり、機械翻訳文hypの整数リストloc[・]は、loc=[9,10,11,-1,-1,-1,1,2,3,4,5,6,7]となる。
【００６０】
〔順位相関係数計算部〕
順位相関係数計算部４０は、単語対応付け部２０が生成した整数リストloc[・]から正規化順位相関係数を計算する。
順位相関係数計算部４０は、正解翻訳文refに存在しない単語を意味するインデックス-1を無視した整数リストloc=[9,10,11,1,2,3,4,5,6,7]から、上記した式（２）と式（６）から正規化ケンドール順位相関係数NKTを計算する。
【００６１】
〔評価スコア計算部〕
順位相関係数計算部４０において正規化ケンドール順位相関係数NKTが求まったが、このままだと対応する単語が存在しない単語を無視しているので、評価結果が過大評価になってしまう恐れがある。例えば正解翻訳文refと機械翻訳文hypの単語がそれぞれ５０語ずつ在って、その間で２個の単語しか共有していない場合には、その２単語のみの語順だけで全体を評価することになる。
【００６２】
そこで、訳語適合率(precision,P∈[0,1])によって、高すぎる順位相関係数を減ずることにする。図７に示す例の場合、機械翻訳文hypの単語は１３語であり、その内１０語が正解翻訳文refに在るので、訳語適合率Pは、P=10÷13=0.769となる。この訳語適合率Pを、正規化ケンドール順位相関係数NKTに直接乗算しても良い。しかし、実際には同義語で置きかわっているだけで、実際には対応する単語があることも多い。そのため、これでは逆に評価スコアが小さくなり過ぎる傾向がある。
【００６３】
そこで、この発明の評価スコア計算部５０は、訳語適合率Pをα乗（ここで、α∈（0,1]）することにより、評価スコアがあまり小さくなり過ぎないようにする。つまり、評価スコア計算部５０は、正規化ケンドール順位相関係数NKTに訳語適合率Pを底とし指数αの指数関数Pαを乗じた値を評価スコアとして出力する。指数αは、正解翻訳文refの数などに依存すると考えられるので、実験により予め求めておく。
【実施例２】
【００６４】
実施例１は、単語の前後関係だけを計算に用いるNKTの計算には使えるが、各単語の移動距離を計算に用いるNSRに用いると問題が発生する。例えば-1を除いた整数リストlocが[9,4]であるとき、ｄ１=9-1=8,d2=4-2=2としてρを求めると、ρ=1-(82+22)/3C3=-67,NSR=(1-67)/2=-33.0となってしまい、NSR∈[0,1]を満たしていない。これは、対応する単語が存在しないものがあるために、NSRの前提である一対一の条件が満たされておらず、数字が飛び飛びになってしまっているためである。これを解決するため改良を加えたものが実施例２である。図１に、この発明の翻訳品質自動評価装置２００の機能構成例を示す。その動作フローを図２に示す。翻訳品質自動評価装置２００は、翻訳品質自動評価装置１００に対して再付番部３０を備える点と、順位相関係数計算部４０′が順位相関係数にスピアマンの順位相関係数ρを用いる点で異なる。再付番部３０は、単語対応付け部２０が生成した[1,3,9,8,10,4,6]のような抜けのある整数リストから、[1,2,6,5,7,3,4]のように抜けをなくした整数リストに変換する。
【００６５】
以降、翻訳品質自動評価装置１００と異なる部分のみを説明する。
〔再付番部〕
スピアマンの順位相関係数ρは、機械翻訳文hypと正解翻訳文ref間における単語の移動距離を利用する関係から、この順番を番号順に整列し直す必要がある。そこで、再付番部３０では、抜けのない整数リストになるように番号を付け替える処理を行う。
この処理には、いくつかの手法が考えられるが、ここでは、そのうちのひとつの手法を、例を用いて説明する。同じ結果が得られれば、他の手法を採用してもよい。
【００６６】
＜形態１＞
再付番したい整数リストをloc=[1,3,9,8,10,4,6]とする。-1の要素はすでに除いてあるものとする。最初にリストの中の最大値を探す。そして、その最大値の長さの整数配列rankを確保し、ゼロで初期化する。この場合の最大値は１０なので、長さが１０の配列rankを確保する。rank=[0,0,0,0,0,0,0,0,0,0]
そして、locに整数iが含まれていれば、rankの第i要素を１に書き換える。この場合、rank=[1,0,1,1,0,1,0,1,1,1]となる。このリストにおいて、左から１を数えた数を１のかわりに書き込む。するとrank=[1,0,2,3,0,4,0,5,6,7]となる。
【００６７】
最後にlocの各要素iのかわりに、rank[i]を書き込めば、再付番した結果が得られる。例えば、loc[3]=9のかわりに、rank[9]=6を書き込む。すると、整数リストlocは次のようになる。loc=[1,2,6,5,7,3,4]
以上のようにして整数リストlocを書き換えると、locの中の整数に飛びがなくなり、連続した整数になるのでρやNSRを計算しても異常な数値にならない。
【００６８】
＜形態２＞
図８に、形態２の再付番部３０の機能構成例を示す。図９にその動作フローを示す。再付番部３０は、正解翻訳文インデックス対配列手段３１と、昇順正解インデックス対配列手段３２と、再付番正解インデックス対配列手段３３と、機械翻訳文順位付け手段３４と、機械翻訳文配列出力手段３５と、を備える。
【００６９】
まず、正解翻訳文インデックス対配列手段３１は、単語対応付け部２０で求めた整数リストloc[・]から、対応する単語が正解翻訳文に存在しない単語を除いて、その整数リストloc[・]の各要素と、その要素の先頭からの位置を表すインデックスとの組からなる配列loci[i]=(loc[i],i)を作成する（ステップＳ３１）。ここで、iは機械翻訳文hypにおける対応単語の位置を表すインデックスであり、loc[i]は正解翻訳文refにおける対応単語の位置を表すインデックスである。
【００７０】
次に、昇順正解インデックス対配列手段３２は、loci[i]=(loc[i],i)を、正解翻訳文refにおける対応単語の位置（loc[i]に対応する要素）について昇順に並べ替え、新たに正解翻訳文refの昇順に機械翻訳文hypの対応する単語を表すインデックスを並べた配列sloci[・]を作成する（ステップＳ３２）。
【００７１】
そして、再付番正解インデックス対配列手段３３が、配列sloci[・]の正解翻訳文refのインデックスを、連続する番号にふり直して整列させた新たな配列ir[r]=[(i,r)]を作成する（ステップＳ３３）。
【００７２】
次に、機械翻訳文順位付け手段３４が、配列ir[r]=[(i,r)]を、配列の第一成分で昇順に並べた配列sir[・]を作成する（ステップＳ３４）。最後に機械翻訳文配列出力手段３５が、sir[・]の第二成分を、第一成分の番号順に配列したloc[・]を出力する（ステップＳ３５）。
【００７３】
loc[・]は、機械翻訳文hypの単語の並びを、正解翻訳文refの対応する単語の順番を表すインデックスで表したものになる。
【００７４】
図７に機械翻訳文hypと正解翻訳文refの具体例を示して、対応単語内順位付け部３０の動作を具体的に説明する。
【００７５】
単語対応付け部２０で求めた機械翻訳文hypの配列を、正解翻訳文refの単語の位置を表すインデックスで表した整数リストloc[・]は、loc=[9,10,11,-1,-1,-1,1,2,3,4,5,6,7]である。正解翻訳文refに対応する単語が存在しないことを表すインデックス-1を除くと、その配列はloc=[9,10,11,1,2,3,4,5,6,7]となる。この配列だと、8が飛んでおり、対応する単語の数が10個であるのに対してその数よりも大きな順番の11が存在する。
【００７６】
スピアマンの順位相関係数ρは、機械翻訳文hypと正解翻訳文ref間における単語の移動距離を利用する関係から、この順番を番号順に整列し直す必要がある。loc=[9,10,11,1,2,3,4,5,6,7]から、移動距離diをdi=loc[i]-iとして計算すると、スピアマンの順位相関係数ρの値が[-1,1]から出てしまう場合がある。そこで、機械翻訳文配列部３０により順位を付け直して番号順に整列された配列に変換する。
【００７７】
まず、正解翻訳文refに存在しない単語を表す-1を除いた配列loc=[9,10,11,1,2,3,4,5,6,7]から、そのインデックスloc[i]（正解翻訳文refにおける対応単語の位置）の先頭からの順番を表すインデックスiとの組からなる配列loci[i]=(loc[i],i)を作成する。
【００７８】
【数６】
0005285676.tif 000007
【００７９】
lociを、それぞれの要素の第一成分で昇順に並べた配列slociを作成する。
【００８０】
【数７】
0005285676.tif 000008
【００８１】
配列slociは、上記したように欠番や対応する単語の数よりも大きな数を含む場合があるので、次に、配列slociの各要素を番号順に付番し直した配列irを作成する。
【００８２】
【数８】
0005285676.tif 000009
【００８３】
次に、配列irの第二成分で昇順に並べた配列sirを作成する。
【００８４】
【数９】
0005285676.tif 000010
【００８５】
この配列sirの第二成分の配列が、機械翻訳文hypの単語の並びに対応する正解翻訳文refの単語の順番を表す整列されたインデックスの配列となる。再付番部３０は、最後にこの配列loc[・]を再付番した結果として出力する。
【００８６】
【数１０】
0005285676.tif 000011
【００８７】
〔順位相関係数計算部４０′〕
順位相関係数計算部４０′は、再付番部３０で書き換えた整数リストlocに基づいてdiを、式（１３）で求め、これを上記した式（５）式（７）に代入して正規化スピアマン順位相関係数NSRを求める。
【００８８】
【数１１】
0005285676.tif 000012
【００８９】
なお、翻訳品質自動評価装置２００において、NSRのかわりにNKTを用いても構わない。
〔応用例〕
図１０に、この発明の翻訳品質自動評価装置１００、２００を利用した語順最適化機械翻訳学習装置３００の機能構成例を示す。語順最適化機械翻訳学習装置３００は、この発明の翻訳品質自動評価装置１００、２００と、既存の統計的機械翻訳装置３０１とを組み合わせたものである。語順最適化機械翻訳学習装置３００は、統計的機械翻訳装置３０１と、翻訳品質自動評価装置１００、２００と、翻訳パラメタ最適化部３０２と、を具備する。
【００９０】
統計的機械翻訳システムは、多数の調整可能なパラメタがあるのが普通であり、Minimum Error Rate Training (MERT、参考文献、Franz Josef Och: Minimum Error Rate Training for Statistical Machine Translation, Proceedings of the Annual Meeting of the Association for Computational Linguistics, pp. 160-167, 2003.) などの手法によ
り、機械翻訳システムのパラメタを最適な値に自動調整する。通常、MERTでは、BLEUのスコアが大きくなるように調整が行われるが、上記したように、日英翻訳などの語順の入れ替わりの大きい言語対の機械翻訳において、BLEUは人間との相関が低い。そこで、翻訳パラメタ最適化部３０２が、BLEUの代わりにこの発明の翻訳品質自動評価装置１００,２０
０を用いて、評価スコアが大きくなるように機械翻訳システムのパラメタの調整を自動的に行う。
【００９１】
このように語順最適化機械翻訳学習装置３００は、適切な評価スコアに基づいて統計的機械翻訳システムの翻訳パラメタを最適化するので、統計的機械翻訳システムの性能を向上させることができる。
【００９２】
〔評価結果〕
この発明の翻訳品質自動評価装置１００、２００で求めた評価スコアの有効性を確認する目的で、この発明の方法で求めた評価スコアと従来法で求めた評価スコアの比較を行った。表１にその結果を示す。
【００９３】
表１は、日英翻訳のタスク（参考文献、Atsushi Fujii, Masao Utiyama, Mikio Yamamoto, Takehito Utsuro: Overview of the Patent Translation Task at the NTCIR-7 Workshop, Working Notes of the NTCIR Workshop Meeting , pp. 389-400, 2008.）に提出された１５システムの翻訳結果の内、人間による評価結果がある１００文に対して、人間によるランキングと、この発明の方法及び従来の自動評価手法によるランキングがどれ位一致しているかを、Spearmanの順位相関係数ρにより求めたものである。これは、評価法の評価であり、メタ評価と呼ばれるものであって、翻訳文の評価法であるNSRより上位のレベルの評価である。各文の正解翻訳文は一つである。表１の上半分がこの発明の方法、下半分が従来方法である。ただし、WER,TER,PERはいずれも間違いの割合で、その相関は一般に負になるので、符号を反転している。
【００９４】
【表１】
0005285676.tif 000013
【００９５】
表１の結果から、機械翻訳の分野で、人間の評価に近い自動評価法として標準的に使われているBLEU (0.515)よりも、提案手法の方が、人間の評価に近いことが分かる。また、他の従来法と比べても、この発明の評価方法の８種類全てで上回っており、本発明の方が人間の評価に近いことが分かる。翻訳の妥当性についてはNSR×P1/4が最も良く、流暢さについてはNSR×P1/2が最も良い。翻訳においては、表面的に流暢であることよりも、妥当な訳であることの方がより重要であることから、この結果からはNSR×P1/4が最も良いことが分かる。ただし、NKT×PαとNSR×Pαのメタ評価による性能の差は小さく、どちらを用いてもよい。このように、この発明の翻訳品質自動評価装置は、従来法よりも人の評価に近い評価を行うことができる。
【００９６】
なお、上記した説明では、入力される機械翻訳文が一つの場合について説明を行ったが、複数の翻訳システムの性能を比較できるように、各翻訳システムの出力する複数の翻訳結果を入力として、それぞれの翻訳システムごとに、スコアの平均を算出する構成としても良い。その複数の翻訳システムの平均スコアを、例えばディスプレイ等に表示することで、利用者が自分に適した翻訳システムを選択することが可能である。
【００９７】
NTCIR-7PATMTでは英日翻訳についても、人手評価の結果がある。この人手評価に基づいて行ったメタ評価の結果を表２に示す。
【００９８】
【表２】
0005285676.tif 000014
【００９９】
英日翻訳の結果は、人手評価されたシステム数が少ないので、同点が多いが、やはり、提案手法が従来手法を上まわっている。英日翻訳においても、日英翻訳と同様に、提案手法であるNKT×P1/4あるいはNSR×P1/4が人手評価と高い相関を示している。
【０１００】
なお、参考文献（Alexandra Birch, Miles Osborne, Phil Blunsom: Metrics for MT evaluation: evaluating reordering, Machine Translation, vol.24, No.1, pp.15-26, Springer, 2010.）では、中英翻訳の評価にτを利用することが試みられている。しかし、SVO言語同士の中英翻訳では、語順の問題が日英翻訳ほど深刻でないため、本発明の「翻訳の妥当性」と対応する「翻訳のわかりやすさ（comprehensibility）」で従来手法と並ぶ0.6程度の弱い相関にとどまっている。
【０１０１】
本発明では、中英翻訳よりもさらに語順の問題が深刻なSVO型とSOV型の間の翻訳である英日・日英翻訳を主な対象として、弱めた適合率Pαを利用して過大評価の問題を緩和す
ることにより、NKT（τと等価）よりも、さらに高い性能（人手評価との順位相関）を得
ることができている。本発明は、英語と日本語に限らず、同様に語順が大幅に入れかわる言語対である日本語に似た語順の韓国語と、英語に似た語順のスウェーデン語の間の翻訳の評価などにも利用することができる。
また、上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
【０１０２】
また、上記方法及び装置において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【０１０３】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD（Digital Versatile Disc）、DVD-RAM（Random Access Memory）、CD-ROM（Compact Disc Read Only Memory）、CD-R（Recordable）/RW（ReWritable）等を、光磁気記録媒体として、MO（Magneto Optical disc）等を、半導体メモリとしてEEP-ROM（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１０４】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１０５】
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0005285676.tif 000015
【図２】
0005285676.tif 000016
【図３】
0005285676.tif 000017
【図４】
0005285676.tif 000018
【図５】
0005285676.tif 000019
【図６】
0005285676.tif 000020
【図７】
0005285676.tif 000021
【図８】
0005285676.tif 000022
【図９】
0005285676.tif 000023
【図１０】
0005285676.tif 000024