機械翻訳の評価指標

2025年12月18日

2025年12月18日

はじめに

より多くの顧客を獲得するためにWebサイトの多言語対応が必要になることがあります。そのような場合に役立つのが機械翻訳ツールです。これを利用することで多言語対応の工数を大幅に削減できますが、手動翻訳に比べて翻訳の質が低いという短所もあります。翻訳の質を定量的に評価するための指標を用いることで、要件に適した翻訳ツールを選びやすくなります。この記事では、機械翻訳の評価指標を解説し、指標ごとの違いを明らかにします。

機械翻訳の種類と性能への影響

本題に移る前に、機械翻訳の大まかな種類を示し、それが翻訳の質に与える影響を確認します。機械翻訳の代表的な分類基準としては、「翻訳アルゴリズムによる分類」、「翻訳対象のデータ構造による分類」、「翻訳対象のドメインによる分類」、「翻訳対象の言語構造による分類」などがあります。ここでは一例として、翻訳アルゴリズムによる分類について説明します。

翻訳アルゴリズムによる分類

最も古い翻訳アルゴリズムは辞書に登録されたルールに基づいて入力文を翻訳するもので、RBMT(Rule-Based Machine Translation)と呼ばれます。原文と翻訳文の要素の対応関係が分かりやすく、部分的に発生する翻訳の誤りを修正しやすいという長所がありますが、直訳によって翻訳文の表現が不自然になるという短所もあります。

この翻訳文の不自然さを軽減するために生まれた手法がSMT(Statistical Machine Translation)です。この手法は原文と翻訳文のペアを収録したデータセット(コーパス)を用いて、プログラムに統計的な翻訳パターンを学習させます。単語、句、文などの構成要素ごとに翻訳パターンを学習するため、RBMTを用いたときよりも自然な翻訳文を得られます。

SMTの翻訳精度は主にデータセットのサイズや網羅性、翻訳時の言語ペアの言語間距離に依存します。データセットのサイズが小さかったり、網羅性が低かったりすると翻訳パターンを見つけ出すのが難しくなるため、翻訳精度が低下します。また、言語間距離が遠い言語ほど翻訳パターンが不安定であるため、翻訳性能が低くなります。

文全体の文脈を反映した翻訳文を作るために生まれた手法がNMT(Neural Machine Translation)です。この手法では、初めにエンコーダーが各単語をベクトルとして表現し、単語を意味に基づいて数値化します。続いて、Bidirectional RNN(双方向RNN)を用いて文を前から読んだ場合と後ろから読んだ場合の各単語の意味を考慮し、各単語のベクトルを変換します。次に、アテンション機構を用いて原文と翻訳文の単語ペアの中から、対応関係として最も適したものを選びます。アテンション機構は、ベクトルとして表された各単語の中から類似度に基づいて最適な単語を選ぶため、固定長の文脈ベクトルを用いた場合に比べて翻訳精度が高くなります。最後に、選んだ単語ベクトルを用いてデコーダーの状態を更新し、各単語が次の訳語として選ばれる確率を計算することで、訳語として最適な単語を選びます。

機械翻訳の評価指標

このように、機械翻訳の質はそのアルゴリズムなどに大きく依存します。自然な翻訳文を生成するための全ての要素を人間が理解した上で、機械翻訳の質を評価するのは容易ではありません。そのため、機械翻訳の評価指標がいくつか提案されています。

BLEU(Bilingual Evaluation Understudy)

機械翻訳文と人間による翻訳文の間で語彙がどれだけ一致しているかを測定する指標です。機械翻訳が人間による翻訳に近いほど、その品質が高いと判断されます。

初めに、修正n-gram適合率を計算します。BLEUでは同じn-gram(語彙)が過剰にカウントされるのを防ぐため、人間による翻訳文における最大出現回数が設定されます。 pn=Countclip(n-gram)Count(n-gram)p_n = \frac{\sum \text{Count}_{\text{clip}}(n\text{-gram})}{\sum \text{Count}(n\text{-gram})} 次に、1-gramから4-gramまでの適合率を計算し、その幾何平均を取ります。 P=(p1×p2×p3×p4)14P = (p_1 \times p_2 \times p_3 \times p_4)^{\frac{1}{4}} 次に、機械翻訳文が人間による翻訳文よりも極端に短い場合にスコアが高くなるのを防ぐため、そのような場合にペナルティを課します。

BP={1if c>re(1rc)if crBP = \begin{cases} 1 & \text{if } c > r \\ e^{(1 - \frac{r}{c})} & \text{if } c \leq r \end{cases} ここで、ccは機械翻訳文の長さ、 rrは参照翻訳文の長さです。

最終的なスコアは以下の式で計算されます。 BLEU=BP×P\text{BLEU} = BP \times P

METEOR(Metric for Evaluation of Translation with Explicit ORdering)

BLEUの欠点を補うために開発された指標です。BLEUは適合率のみを使用しますが、METEORは適合率と再現率を使用します。また、単語の完全一致だけでなく、語幹や同義語なども考慮します。

この指標は、機械翻訳文と人間による翻訳文の間で段階的なマッチングを行います。例えば、初めに意味が完全に一致する単語を探し、次に語幹が一致する単語を探し、最後に同義語として一致する単語を探します。

次に、適合率と再現率を計算します。 P=mwtP = \frac{m}{w_t} R=mwrR = \frac{m}{w_r} ここで、mmはマッチした単語数、wtw_tは 機械翻訳文の単語数、wrw_rは人間による翻訳文の単語数です。

次に、適合率と再現率の調和平均を計算します。METEORでは再現率により高い重みを与えます。

Fmean=PRαP+(1α)RF_{\text{mean}} = \frac{P \cdot R}{\alpha \cdot P + (1 - \alpha) \cdot R} 通常、α=0.9\alpha = 0.9 が使用され、再現率が精度の9倍重要とされます。

次に、単語の語順を評価するためにチャンク数(マッチした単語の連続した並び)に基づくペナルティを計算します。

Penalty=γ(chunksm)β\text{Penalty} = \gamma \cdot \left(\frac{\text{chunks}}{m}\right)^\beta 通常、γ=0.5\gamma = 0.5β=3\beta = 3が使用されます。 チャンク数が少ないほど(単語が連続して並んでいるほど)ペナルティが小さくなります。

最終的なスコアは以下の式で計算されます。

METEOR=Fmean(1Penalty)\text{METEOR} = F_{\text{mean}} \cdot (1 - \text{Penalty})

COMET(Crosslingual Optimized Metric for Evaluation of Translation)

ニューラルネットワークを用いた、機械翻訳の評価指標です。人間の主観的な評価との相関が高いことが特徴です。ディープラーニングにより文脈全体から文の意味を判断するため、「辞書に書かれていない文の意味」を捉えられます。

COMETは原文ss、機械翻訳文hh、人間による翻訳文(参照翻訳文)rrを多言語モデルの入力として使用します。初めに、エンコーダーによって各トークンがベクトルに変換されます。 Es=Encoder(s)\mathbf{E}_s = \text{Encoder}(s) Eh=Encoder(h)\mathbf{E}_h = \text{Encoder}(h) Er=Encoder(r)\mathbf{E}_r = \text{Encoder}(r) ここで、Es,Eh,Er\mathbf{E}_s, \mathbf{E}_h, \mathbf{E}_rはトークンごとのベクトルを並べることで得られる行列です。

次に、先ほど得られた可変長行列を、平均プーリングを用いて固定長行列に変換します。

vs=Pooling(Es)\mathbf{v}_s = \text{Pooling}(\mathbf{E}_s) vh=Pooling(Eh)\mathbf{v}_h = \text{Pooling}(\mathbf{E}_h) vr=Pooling(Er)\mathbf{v}_r = \text{Pooling}(\mathbf{E}_r) 次に、3つの固定長ベクトルvs,vh,vr\mathbf{v}_s, \mathbf{v}_h, \mathbf{v}_rを連結し、1つのベクトルに変換します。

最後に、このベクトルをフィードフォワードニューラルネットワーク(FFN)に入力します。この過程で活性化関数による非線形変換や中間層による次元削減などが行われ、最終的に翻訳の質を表す数値が出力されます。


記事をシェア