next up previous contents
次へ: GIZA++ 上へ: 句に基づく統計翻訳 戻る: 翻訳モデル   目次

IBM翻訳モデル

統計翻訳における単語対応を得るための代表的なモデルとして,IBM翻訳モデル[5]がある.IBM翻訳モデルは,仏英翻訳を前提としている.しかし,本研究では日英翻訳を扱うため,原言語文を日本語文$J$,目的言語文を英語文$E$と定義する.IBM翻訳モデルにおいて,日本語文$J$と英語文$E$の翻訳モデル$P(J\vert E)$を計算するため,アライメント$a$と呼ばれる概念を導入する.アライメントはある日本語単語$j$と英単語$e$の対応関係を意味する.IBM翻訳モデルの基本的な計算式を(2.3)式に示す.


$\displaystyle P(J\vert E) = \sum P(J,a\vert E)$     (2.3)

IBM翻訳モデルにおいて,各日本語単語に対応する英単語は1つであるのに対し,各英単語に対応する日本語単語は0から$n$個あると仮定する.また,日本語単語に対応する適切な英単語がない場合,英語文の先頭に特殊文字$e_{0}$があると仮定し,日本語単語と対応させる.

モデル1

(2.3)式は,以下の式に分解することができる.$m$は日本語文の長さ,\(a_1^{i-1}\)は日本語文における,1番目から\(i-1\)番目までのアライメント,\(j_1^{i-1}\)は日本語文における,1番目から\(i-1\)番目まで単語を表している.


$\displaystyle P(J, a\vert E) = P(m\vert E) \prod_{i=1}^m P(a_i\vert a_1^{i-1}, j_1^{i-1}, m, E)
P(j_i\vert a_1^i, j_1^{i-1}, m, E)$     (2.4)

(2.4)式は,とても複雑であるので計算が困難である.そこで,モデル1では以下の仮定により,パラメータの簡略化を行う.

パラメータの簡略化を行うことで,\(P(J, a\vert E)\)\(P(J,E)\)は以下の式で表される.


$\displaystyle P(J, a\vert E)$ $\textstyle =$ $\displaystyle \frac{\epsilon}{(l+1)^m} \prod^m_{i=1} t(j_i\vert e_{a_i})$ (2.5)
$\displaystyle P(J\vert E)$ $\textstyle =$ $\displaystyle \frac{\epsilon}{(l+1)^m} \sum^l_{a_1=0} \cdots
\sum^l_{a_m=0} \prod^m_{i=1} t(j_i\vert e_{a_i})$ (2.6)
  $\textstyle =$ $\displaystyle \frac{\epsilon}{(l+1)^m} \prod^m_{i=1} \sum^l_{k=0} t(j_i\vert e_{a_i})$ (2.7)

モデル1では翻訳確率\(t(j\vert e)\)の初期値が0以外の場合,Expectation-Maximization(EM)アルゴリズムを繰り返し行うことで得られる,期待値を用いて最適解を推定する.EMアルゴリズムの手順を以下に示す.

手順1
翻訳確率\(t(j\vert e)\)の初期値を設定する.
手順2
日英対訳対 \((J^{(s)}, E^{(s)})\)(但し, \(1\leq s \leq S\))において,日本語単語\(j\)と英単語\(e\)が対応する回数の期待値を以下の式により計算する.


$\displaystyle c(j\vert e;J,E) = \frac{t(j\vert e)}{t(j\vert e_0) + \cdots + t(j\vert e_l)} \sum^m_{i=1}
\delta(j, j_i) \sum^l_{k=0} \delta(e, e_k)$     (2.8)

\(\delta(j, j_i)\)は日本語文\(J\)中で日本語単語\(j\)が出現する回数, \(\delta(e, e_j)\)は英語文\(E\)中で英単語\(e\)が出現する回数を表している.

手順3
英語文\(E^{(s)}\)の中で1回以上出現する英単語\(e\)に対して,翻訳確率\(t(j\vert e)\)を計算する.

  1. 定数\(\lambda_e\)を以下の式により計算する.


    $\displaystyle \lambda_e = \sum_j \sum^S_{s=1} c(j\vert e; J^{(s)}, E^{(s)})$     (2.9)

  2. (2.9)式より求めた\(\lambda_e\)を用いて,翻訳確率\(t(j\vert e)\)を再計算する.


    $\displaystyle t(j\vert e)$ $\textstyle =$ $\displaystyle \lambda^{-1}_e \sum^S_{s=1} c(j\vert e; J^{(s)}, E^{(s)})$  
      $\textstyle =$ $\displaystyle \frac{\sum^S_{s=1} c(j\vert e; J^{(s)}, E^{(s)})}{\sum_j \sum^S_{s=1} c(j\vert e; J^{(s)}, E^{(s)})}$ (2.10)

手順4
翻訳確率\(t(j\vert e)\)が収束するまで手順2と手順3を繰り返す.

モデル2

モデル1では,全ての単語の対応に対して,英語文の長さ\(l\)にのみ依存し,単語対応の確率を一定としている.そこで,モデル2では,\(i\)番目の日本語単語\(j_i\)と対応する英単語の位置\(a_i\)は英語文の長さ\(l\)に加えて,\(i\)と,日本語文の長さ\(m\)に依存し,以下のような関係とする.


$\displaystyle a(a_i\vert i, m, l) \equiv P(a_i\vert a^{i-1}_1, j^{i-1}_1, m, l)$     (2.11)

この関係からモデル1における(2.6)式は,以下の式に変換できる.


$\displaystyle P(J\vert E)$ $\textstyle =$ $\displaystyle \epsilon \sum^l_{a_1=0} \cdots \sum^l_{a_m=0} \prod^m_{i=1}
t(j_i\vert e_{a_i})a(a_i\vert i, m, l)$ (2.12)
  $\textstyle =$ $\displaystyle \epsilon \prod^m_{i=1} \sum^l_{k=0} t(j_i\vert e_{a_i})a(a_i\vert i, m, l)$ (2.13)

モデル2では,期待値は\(c(j\vert e;J,e)\) \(c(k\vert i,m,l;J,E)\)の2つが存在する.以下の式から求められる.


$\displaystyle c(j\vert e;J,E)$ $\textstyle =$ $\displaystyle \frac{t(j\vert e)}{t(j\vert e_0) + \cdots + t(j\vert e_l)}
\sum^m_{i=1} \delta(j,j_i) \sum^l_{k=1} \delta(e,e_k)$ (2.14)
  $\textstyle =$ $\displaystyle \sum^m_{i=1} \sum^l_{k=0} \frac{t(j\vert e) a(k\vert i,m,l)
\del...
...e_k)} {t(j\vert e_0) a(0\vert i,m,l) + \cdots
+ t(j\vert e_l) a(l\vert i,m,l)}$ (2.15)
$\displaystyle c(k\vert i,m,l;J,E)$ $\textstyle =$ $\displaystyle \sum_a P(a\vert E,J) \delta(k,a_i)$ (2.16)
  $\textstyle =$ $\displaystyle \frac{t(j_i\vert e_k) a(k\vert i,m,l)}{t(j_i\vert e_0) a(0\vert i,m,l) +
\cdots + t(j_i\vert e_l)a(l\vert i,m,l)}$ (2.17)


\(c(j\vert e;J,E)\)は対訳文中の英単語\(e\)と日本語単語\(j\)が対応付けされる回数の期待値,
\(c(k\vert i,m,l;J,E)\)は英単語の位置\(k\)が日本語単語の位置\(i\)に対応付けされる回数の期待値を表している.

モデル2では,EMアルゴリズムで計算すると複数の極大値が算出され,最適解が得られない可能性がある.モデル1では \(a(k\vert i,m,l)=({l+1})^{-1}\)となるモデル2の特殊な場合であると考えられる.したがって,モデル1を用いることで最適解を得ることができる.

モデル3

モデル3は,モデル1とモデル2とは異なり,1つの単語が複数対応する単語の繁殖数や単語の翻訳位置の歪みについて考慮する.またモデル3では単語の位置を絶対位置として考える.モデル3では以下のパラメータを用いる.

さらに,英単語が日本語単語に翻訳されない個数を\(\phi_0\)とし,その確率\(p_0\)を以下の式で求める.このとき,歪み確率は \(\frac{1}{\phi_0!}\)で,\(p_0 + p_1 = 1\)\(p_0\)\(p_1\)は0より大きいとする.


$\displaystyle P(\phi_0\vert\phi^l_1,E) = \left(\begin{array}{c}\phi_1 + \cdots ...
...
\phi_0\end{array}\right) p_0^{\phi_1 + \cdots + \phi_l - \phi_0} p_1^{\phi_0}$     (2.18)

したがって,モデル3は以下の式で求められる.


$\displaystyle P(J\vert E)$ $\textstyle =$ $\displaystyle \sum^l_{a_1=0} \cdots \sum^l_{a_m=0} P(J,a\vert E)$ (2.19)
  $\textstyle =$ $\displaystyle \sum^l_{a_1=0} \cdots \sum^l_{a_m=0} \left(\begin{array}{c}m - \p...
...ay}\right)p_0^{m-2\phi_0} p_1^{\phi_0} \prod^l_{k=1} \phi_k! n(\phi_k\vert e_k)$  
  $\textstyle \times$ $\displaystyle \prod^m_{i=1} t(j_i\vert e_{a_i}) d(i\vert a_i,m,l)$ (2.20)

モデル3では,全てのアライメントを計算するため,計算量が膨大となるので期待値を近似により求める.

モデル4

モデル4では,モデル3と異なり,単語の位置を絶対位置ではなく,相対位置で考える.またモデル3では考慮されていない各単語の位置,例えば形容詞と名詞の関係を考慮する.モデル4では歪み確率\(d(i\vert k.m,l)\)を2つの場合で考える.

モデル5

モデル4では,単語の位置に関して直前の単語以外は考慮されていない.したがって,複数の単語が同じ位置に生じたり,単語の存在しない位置が生成される.モデル5では,この問題を避けるために,単語を空白部分に配置するよう改善が施されている.


next up previous contents
次へ: GIZA++ 上へ: 句に基づく統計翻訳 戻る: 翻訳モデル   目次
s122025 平成28年3月21日