Encoder-Decoderモデルの問題は, 原言語文中の全ての情報を一つの固定長のベクトルに圧縮する点である.
Encoder-Decoderモデルでは対訳学習文中で用いられている文よりも長い原言語文が入力された場合に, 極端に精度が低下することが報告されている.
これは, 長い原言語文の全情報が一つの固定長のベクトルに圧縮されるために, 目的言語文を生成する際に必要な情報が損失することが原因である.
Attentionモデル[6]はこの問題を改善するために提案されたNMTの手法である.
AttentionモデルのEncoderでは入力単語を前後両方向からRNNに渡す手法
(bidirectionalRNN)を用いている.
Encoderは, 入力文を前から読み込んだノードと後ろから読み込んだノードを組み合わせて各単語を符号化(encode)する.
Decoderでは, モデルが出力文中のある単語を生成する際に, その単語が最も相関する原言語文中の単語に相当する
符号を探索する.その後, 探索により得られた原言語単語の文中の位置情報を有した文脈ベクトル, および既に生成された全ての目的言語単語を参照し, 次の目的言語単語を予測する.
AttentionモデルはEncoder-Decoderモデルと異なり, 原言語文の情報を一つの固定長のベクトルに圧縮せずに目的言語文中の単語生成時に参照することで, より長い文における精度の向上を実現している.
Subsections