sequence-to-dependency neural machine translation

27
Sequence - to - Dependency Neural Machine Translation Shuangzhi Wu, Dongdong Zhang, Nan Yang, Mu Li, Ming Zhou ACL 2017 スライド中の図表は論文から引用されたもの 小町守 <[email protected]> ACL2017 読み会 @ 東工大すずかけ台キャンパス 2017/09/19

Upload: mamoru-komachi

Post on 21-Jan-2018

323 views

Category:

Engineering


7 download

TRANSCRIPT

Page 1: Sequence-to-Dependency Neural Machine Translation

Sequence-to-Dependency Neural Machine TranslationShuangzhi Wu, Dongdong Zhang, Nan Yang, Mu Li, Ming Zhou

ACL 2017

※スライド中の図表は論文から引用されたもの

小町守

<[email protected]>

ACL2017 読み会@東工大すずかけ台キャンパス

2017/09/19

Page 2: Sequence-to-Dependency Neural Machine Translation

深層学習により機械翻訳の質が近年著しく向上しています

2https://research.googleblog.com/2016/09/a-neural-

network-for-machine.html

Page 3: Sequence-to-Dependency Neural Machine Translation

依存構造は単語予測の役に立つ

3

Page 4: Sequence-to-Dependency Neural Machine Translation

ターゲット言語の依存構造をNMT に入れるのは難しい RNN に依存構造木のような統語構造を入れるのはどのようにモデル化すればいいか?

1つのニューラルネットワークでターゲットの単語生成と統語構造の構築をするに当たって、どのようにすれば効率的か?

ターゲットの統語構造を考慮した文脈をどのように効率的に単語生成に活用するか?

4

Page 5: Sequence-to-Dependency Neural Machine Translation

Sequence-to-dependency NMT で依存構造を活用

エンコーダは普通のアテンションつきbidirectional RNN

デコーダは翻訳の単語生成と依存構造木を同時に解析するモデル

1つの RNN で単語生成(こちらは普通)

もう1つの RNN で arc-standard shift-reduce アルゴリズムによる依存構造解析

中英、日英翻訳で NMT/SMT ベースラインより統計的に有意な性能向上

5

Page 6: Sequence-to-Dependency Neural Machine Translation

入力: 𝑋 = 𝑥1, … , 𝑥𝑚

出力: 𝑌 = 𝑦1, … , 𝑦𝑛

入力の隠れベクトル:

𝐻 = ℎ1, … , ℎ𝑚

出力隠れ層: 𝑠𝑗

文脈: 𝑐𝑗

Eq. (3)-(5) はアテンションの計算

2017年現在ふつうの NMT(Sutskever et al., 2014; Bahdanau et al., 2015)

6

Page 7: Sequence-to-Dependency Neural Machine Translation

ふつうの arc-standard 依存構造解析 (Nivre, 2004)

スタック中の一番上の2つの単語: 𝑤0, 𝑤1

入力中の新しい単語: 𝑤

3つのアクション

7

Page 8: Sequence-to-Dependency Neural Machine Translation

Seq2dep NMT は依存構造木 T を shift-reduce の系列で表現

𝐴 = 𝑎1, … , 𝑎𝑙 ただし 𝑙 = 2n(n は X の長さ)※アテンションの a とは別

𝑎𝑗𝜖 SH, RR 𝑑 , LR(𝑑)

※ここではラベルつき依存構造

8

Page 9: Sequence-to-Dependency Neural Machine Translation

単語 RNN と依存構造解析 RNN を同時に用いて解析

アクションが shift のときだけ単語 RNN で生成

単語 RNN が EOS を出力し、かつスタックの中の全単語が reduce されたときに終了 9

Page 10: Sequence-to-Dependency Neural Machine Translation

SD-NMT モデル(点線は前の状態のコピー、灰色の箱は連結)

10

Page 11: Sequence-to-Dependency Neural Machine Translation

ターゲットの単語生成に係り受けの文脈を考慮する

左右の係関係にある単語をbigram 素性として考慮

利用できない場合は 0 ベクトルでパディング

隠れ状態 sの更新には Kは用いない

11

Page 12: Sequence-to-Dependency Neural Machine Translation

SD-NMTは単語生成RNNと依存構造解析RNNを同時に最適化

目的関数

デコーディングの時に使うスコア

12

Page 13: Sequence-to-Dependency Neural Machine Translation

中英・日英翻訳で実験

データ

中英: LDCから200万文対を訓練、NIST2003を開発、NIST2005, NIST2006, NIST2008, NIST2012

をテスト

日英: ASPECから100万文対を訓練、1,790文対を開発、1,812文対をテスト

ツール

依存構造は arc-eager 依存構想解析 (Zhang and

Nivre, 2011)

13

Page 14: Sequence-to-Dependency Neural Machine Translation

SD-NMT の実験設定

語彙サイズ: 30,000単語(両側)

未知語処理: unk置換と後処理 (Luong et al., 2015)

単語埋め込みとアクション埋め込み: 512次元

RNN の隠れ状態: 1024次元

初期化: 正規分布 (Glorot and Bengio, 2010)

最適化: SGD(学習率=1.0)と Adadelta

バッチサイズ: 96

ビームサイズ: 12(単語予測とアクション予測両方)14

Page 15: Sequence-to-Dependency Neural Machine Translation

ベースラインはどちらも著者らが実装したモデル SMT

階層的フレーズベースモデル (Chiang, 2005)

English Gigawordとターゲット側のコーパスで訓練した4-gram 言語モデル(Kneser-Ney スムージング)

NMT

RNNsearch (Bahdanau et al., 2015)

パラメータは SD-NMT と同じ

評価

中英: BLEU-4(Bootstrap resampling で有意差検定)

日英: BLEU+RIBES15

Page 16: Sequence-to-Dependency Neural Machine Translation

SD-NMT が SMT と NMT ベースラインよりも高性能

SD-NMT¥K は target bigram dependency を考慮しないモデル

太字はベースラインと比較して統計的有意(p<0.05)

16

Page 17: Sequence-to-Dependency Neural Machine Translation

SD-NMT の方が言語モデル性能も(最初は悪いが)高くなる

17

Page 18: Sequence-to-Dependency Neural Machine Translation

日英翻訳でもSD-NMTがベースラインより強い

Cromieres (2016) は先行研究の数字のコピペ

SD-NMT はアンサンブルしていないモデル

18

Page 19: Sequence-to-Dependency Neural Machine Translation

アクションのビームサイズを増やせば翻訳性能は上がる

19

Page 20: Sequence-to-Dependency Neural Machine Translation

RNNsearchは長距離の依存関係のある翻訳が苦手

20

Page 21: Sequence-to-Dependency Neural Machine Translation

機械翻訳の目的言語側の統語構造は扱いにくい

SMT では string-to-tree (Liu et al., 2006) や目的言語で依存構造を使う言語モデル (Shen et al.,

2008) が提案されていた→SMT では大体において tree-to-string の方が高性能だったが……

NMT では tree-to-sequence アテンション NMT

モデル (Eriguchi et al., 2016) が提案されていた→ソースと比べてターゲットの方が統語情報を入れにくい

21

Page 22: Sequence-to-Dependency Neural Machine Translation

まとめと今後の課題: string-to-dependency NMT

まとめ

単語生成と arc-standard な依存構造解析を同時に解析する string-to-dependency NMT

今後の課題

他の事前知識(意味)を NMT に統合

他の seq2seq タスク(文書要約)に適用

22

Page 23: Sequence-to-Dependency Neural Machine Translation

所感

シンプルな方法だが、依存構造解析を考慮したstring-to-dependency NMT モデルでいい感じ。

単語生成 RNN と依存構造解析 RNN は本当にちゃんと協調して動くのだろうか?

依存構想解析器の性格によって、統合可能かどうかが変わってくるのでは?

アンサンブルの仕方が実は自明ではない?

出力側があまり頑健ではなさそう

23

Page 24: Sequence-to-Dependency Neural Machine Translation

質疑応答①

Q: bigram embeddingsとは何をしていることに相当するのか?

A: bigram という名前が付いているが、普通の単語 N-gram のような bigram ではなく、依存構造解析の bigram を用いる。単語の共起を見ていることに相当する。実験結果を見ると、bigram embeddingsを用いなくても RNNsearchより向上しているが、上がり幅は SD-NMT より bigram embeddingsの方が大きい

24

Page 25: Sequence-to-Dependency Neural Machine Translation

質疑応答②

Q: 依存構造を考慮するようなモデルは長い文に効果がありそうだが、そのような議論は論文に書かれているのか?

A: 特にない。比較した方がいいと思う。ただ、「所感」に書いたように、自動でパラレルコーパスに依存構造を付与する依存構想解析器の性格によって性能が変わりそうだとは感じた。

25

Page 26: Sequence-to-Dependency Neural Machine Translation

参考文献①

Wu et al. Sequence-to-Dependency Neural

Machine Translation. ACL 2017.

Eriguchi et al. Tree-to-Sequence Attentional

Neural Machine Translation. ACL 2016.

Joakim Nivre. Incrementality in Deterministic

Dependency Parsing. Workshop on Incrementral

Parsing: Bringing Engineering and Cognition

Together. 2004.

Shen et al. A New String-to-Dependency

Machine Translation Algorithm with a Target

Dependency Language Model. ACL 2008. 26

Page 27: Sequence-to-Dependency Neural Machine Translation

参考文献②

Luong et al. Addressing the Rare Word Problem in

Neural Machine Translation. ACL 2015.

Zhang and Nivre. Transition-based Dependency

Parsing with Rich Non-local Features. ACL 2011.

David Chiang. A Hierarchical Phrase-based Model for

Statistical Machine Translation. ACL 2005.

Fabien Cromieres. Kyoto-NMT: A Neural Machine

Translation Implementation in Chainer. COLING 2016.

27