tree-to-sequence attentional neural machine translation (acl 2016)
TRANSCRIPT
Tree-to-Sequence Attentional Neural Machine Translation
10/12/2016新領域 ⼈間環境学 陳研究室 D1 藤野暢
書誌情報
• タイトル: Tree-to-Sequence Attentional Neural Machine Translation
• 著者: Akiko Eriguchi, Kazuma Hashimoto and Yoshimasa Tsuruoka (鶴岡研の⽅々)
• Conference: ACL 2016• Date: 03/19/2016• 第22回 ⾔語処理学会(2016)でも⼀部発表あり
• 「句構造へのアテンションに基づくニューラル機械翻訳モデル」(若⼿奨励賞)
• Code: https://github.com/tempra28/tree2seq
概要
• やったこと• English -> Japanese におけるニューラル翻訳• Sequential な Attention に加えて, 句構造に対する
Attention を導⼊
• 系列⻑に応じた新しい beam search 法を導⼊• 結果
• 先⾏研究の Attention model を outperform• 統計的機械翻訳に匹敵
普通の 句構造に対するもの
Attention Mechanism
• Attention Mechanism1)2)
• Seq2Seq Learning において, decode の際に ⼊⼒系列のどこに注意して decode するか考慮する
• 機械翻訳や⾃動要約などでつかわれる• ⼊⼒⽂と出⼒⽂のアライメントを学習することが可能に• En-Fr, En-Ge など European ⾔語では SotA
attention
重み
重み付けの可視化
1)Luongetal.,“EffectiveApproachestoAttention-basedNeuralMachineTranslation”,EMNLP20152)Rushetal.,“ANeuralAttentionModelforSentenceSummarization”,EMNLP2015
En-Ja の場合
• En-Ja のように構造的に遠い⾔語間のタスクでは,ニューラル翻訳はSMTに匹敵するかどうかはまだわかっていない• ⾔語間の遠さの例)
• a cup of に対応する単語がない• a cup of tea -> 緑茶
としたい
Attentional Encoder-Decoder Model
• Decoder の各ステップで, ⼊⼒⽂の各隠れ層の情報を重み付けで考慮
重み
重み付け平均 (文脈ベクトル)
新しい出力ベクトル
Attentional Tree-to-Sequence Model
• ⼊⼒⽂を⼆分⽊で表現し, ⼦ノードから親ノードのベクトルを計算
• f_tree は Tree-LSTM1)
• 全ての親ノードに対して Attention の重みを同様に計算
1)K.S.Taietal.,“ImprovedSemanticRepresentationsFromTree-StructuredLongShort-TermMemoryNetworks”,ACL-IJCNLP2015
⽂脈ベクトルの計算
• 系列データ(n個)と句構造データ(n-1個)両⽅から計算
input-feeding method
• Luong et al., 20141)で提案された⼿法• decode の各隠れ層の計算の際, 前の隠れ層だけではなく attention のベクトルも考慮する
• これにより, 本論⽂でも考慮しない場合より良い結果が⽰された模様
1)Luongetal.,“EffectiveApproachestoAttention-basedNeuralMachineTranslation”,EMNLP2015
BlackOut1)
• Decoder の各 softmax の計算で 全てのボキャブラリに対する内積を計算するのは⼤変• negative sampling に基づく近似 BlackOutにより, 計算量を減らす
• の代わりに
• を計算
1)Jietal.,“BLACKOUT:SPEEDINGUPRECURRENTNEURALNETWORKLANGUAGEMODELSWITHVERYLARGEVOCABULARIES”,ICLR2016
Beam Search
• Beam Search: decode の各ステップで, 確率の⾼い k 個を計算し, 最後にスコアの⾼いパスを採⽤
1)
1)Le,“SequencetoSequenceLearningforNLPandSpeech”,DeepLearningSchool(http://www.bayareadlschool.org/)
系列⻑を考慮したBeam Search
• 普通の Beam Search だと, 出⼒が⻑い場合にスコアが低くなってうまく働かない• 系列⻑に応じたペナルティを導⼊することで, 系列⻑を考慮したスコア付が可能に
実験詳細
• mini batch でサイズは 128• SGD で lr の初期値は 1. dev loss が上がったら 半分にする• 閾値 3 で gradient clipping• CPU• 系列⻑が50以下のもののみ• ⼊⼒⽂がうまく parse されなかったものも使わない
評価
• RIBES と BLEU• BLEU: n-gram の precison に基づく指標
• RIBES: 語順(順位正解率)を考慮した指標
• En-Ja の評価においては BLEU よりも⼈⼿に近いという報告あり
1) Papineni etal.,“BLEU:aMethodforAutomaticEvaluationofMachineTranslation”,ACL20022) Isozaki etal,“AutomaticEvaluationofTranslationQualityforDistantLanguagePairs”,EMNLP2010
結果 (⼩さいデータセット)
• 先⾏研究よりも良い RIBES, BLEU• softmax のほうが BlackOut よりも結果はいい. ただ時間はかかる• ANMT では reverse input により 結果が悪くなっている (En-Ja)
結果 (⼩さいデータセット)
• 提案 Beam Search
• 良くなった
結果 (⼤きいデータセット)
• 先⾏の NMT よりも良い結果• SMT より BLEU は低いが, BLEU の性質上不利 (同義語が考慮されていないため. • ʻ⼥ʼ と ʻ⼥性ʼ など
Attention の例 (短い系列の場合)
• ʻセルʼ は ʻthe cellsʼ に 0.35 の重み付け. ⽇本語には ʻtheʼ に対応する単語がないので, これでよい
Attention の例 (⻑い系列の場合)
• ʻ⽰ʼ に対する重みは, ʻshowedʼ が 0.01, ʻshowed excellent performanceʼ が 0.25• 前(後)の⽂脈にたいする重み付けがなされている
結論
• 句構造に attention を適⽤した• 従来の attentional NMT よりも良い性能を⽰した.• 構造の違う⾔語に対して適切な Attention がなされていることが確認できた
感想
• ⽂要約など, 句・節の短縮が必要になるタスクではより有効なのではと思った