abcnn: attention-based convolutional neural network for modeling sentence pairs (tacl 2016)

23
ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs Wenpeng Yin, Hinrich Schütze, Bin Xiang, Bowen Zhou TACL 2016 ※ スススススススススススススススススススススス ススス <[email protected]> ス 8 スススス NLP ススス @ スス 2016/09/12

Upload: mamoru-komachi

Post on 06-Apr-2017

742 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

ABCNN: Attention-Based Convolutional Neural Network for Modeling

Sentence PairsWenpeng Yin, Hinrich Schütze, Bin Xiang, Bowen Zhou

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

小町守<[email protected]>

第 8 回最先端 NLP 勉強会 @ 東大2016/09/12

Page 2: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

2

文対のモデリングは応答選択・言い換え・含意関係認識に必要

※ 表層が似ていても意味が異なる場合がある

Page 3: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

3

文対モデリングの問題点 個別のタスクに特化してシステムを最適化(タスクごとに最適化したくない) ペアを考慮せずに文表現を個別にモデル化(人間はペアを考慮している) 人手で設計したタスクに特化した素性(人手で素性工学したくない)

Page 4: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

4

ABCNN: Attention Based Convolutional Neural

Network 個別のタスクに特化してシステムを最適化→ 文対モデリングが必要な様々なタスクに適用可 ペアを考慮せずに文表現を個別にモデル化→ 文ペアを考慮 人手で設計したタスクに特化した素性→ 素性設計なしに、応答選択・言い換え同定・テキスト含意関係認識タスクで state-of-the-arthttps://github.com/yinwenpeng/Answer_Selection

Page 5: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

5

自然言語処理における CNN 文(対)分類タスクでよく用いられている

(Kalchbrenner et al., 2014; Kim, 2014; Socher et al., 2011; Yin and Schütze 2015)

頑健に入力の抽象的な特徴を捉えることができる(と考えられている)

Page 6: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

6

なぜ LSTM ではなく CNN?

LSTM は文脈全体をエンコード ; CNN はローカルなフレーズを(フィルターによって)検出→attention の作用の仕方が違い、 CNN の方が attention が有効に(局所を見る CNN と全体を見る attention が相補的に)働く 畳み込み層を重ねて抽象度を上げることが可能→ (文対から、同義というよりむしろ同義でない部分を検出すべき)応答選択タスク、テキスト含意関係認識タスクでは特に有効

Page 7: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

7

BCNN の基礎Siamese architecture

文全体の平均プーリング( all-ap )とウィンドウ幅内の平均プーリング( w-ap )→全部出力層に渡す単語埋め込みは word2vec で初期化

p: フレーズ埋め込みc: 単語埋め込みの連結W: 共通の畳み込み重み

Page 8: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

8

対応する文のどこを見るかをアテンションで考慮する

アテンション特徴量マップ→W0 と W1 は学習するmatch-score はユークリッド距離を用いて 1 / (1 + | x – y |)

Page 9: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

9

ABCNN-2: アテンションを入力ではなく出力にかける

畳み込みの出力にアテンション重み(行または列で和を取ることにより、ユニットごとの重みに集約する)

Page 10: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

10

ABCNN-3: ABCNN-1 と ABCNN-2 をスタッキング

ABCNN-1 は単語レベルの対応を見ることができるABCNN-2 はフレーズレベルの抽象化ができる

Page 11: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

11

応答選択・言い換え検出・含意簡易認識タスクで評価

Adagrad + L2 正則化+ layerwise training ハイパーパラメータは dev セットでチューニング

Page 12: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

12

応答選択タスク データセット

WikiQA: オープンドメインの QA データセット 訓練 : 開発 : テスト = 20,360 : 1,130 :

2,352 アテンションに用いる類似度

cos 類似度 タスクに特化した特徴量

WordCnt: 質問と応答で共通する単語の頻度 WgtWordCnt: 上記を IDF で重み付けしたもの

Page 13: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

13

応答選択は BCNN ですでにstate-of-the-art を超えている

アテンションを工夫すればどんどん精度が上がる(ただし層は深くしてもほとんど変わらない)

Page 14: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

14

言い換え同定タスク データセット

MSRP (Microsoft Research Paraphrase) 訓練 = 2,753 T : 1,323 F, テスト = 1,147

T : 578 F; 開発データは訓練からランダムに400 事例抽出

アテンションに用いる類似度 ユークリッド距離(の逆数)

タスクに特化した特徴量 MT 評価尺度で提案されている 15 個の特徴量

(Madnani et al., 2012) 文長 , ROUGE-1, ROUGE-2, ROUGE-S スコア

Page 15: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

15

言い換え同定では BCNN はstate-of-the-art より少し悪い

応答選択と同じで、層を深くしてもほとんど変わらない

Page 16: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

16

テキスト含意関係認識タスク データセット

SICK コーパス : 含意、矛盾、中立の 3 クラス分類 訓練 : 開発 : テスト = 4,439 : 495 : 4,906

アテンションに用いる類似度 ユークリッド距離 cos 類似度

タスクに特化した特徴量 MT 評価の特徴量(言い換え同定と同じ) 文長、否定、同義語、上位下位語、対義語

Page 17: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

17

テキスト含意関係認識も BCNN で state-of-the-art を達成

※ 言語的な特徴量を除いた場合、 ABCNN-3 の精度は 84.6(それまでの state-of-the-art と同程度)

Page 18: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

18

テキスト含意関係認識タスクの unigram の可視化

単語レベルで類似しているところにアテンションされる(類似する単語がなければアテンションされない)

Page 19: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

19

テキスト含意関係認識タスクの CNN1 層目(長さ 3 )の可視化

ある種の共参照問題を解けている?( on it と building の間にアテンションが張られている)

Page 20: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

20

含意関係認識タスクの CNN2 層目(長さ 5 )の可視化

全体的にぼやっとしているが、長いフレーズを抽出( several murals on it ~= of a colorful building )

Page 21: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

21

まとめ : CNN による文対モデルにアテンションを統合

アテンションを入れることが有効

1 層か 2 層かはそれほど違いがない

言語的な特徴量も有効(ただし、 ABCNN なら言語的特徴量を使わなくても state-of-the-art を達成できる)

Page 22: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

22

所感 アテンションと CNN を組み合わせるのは自然な感じで、今後流行るかもしれない(もう手をつける人たちはつけているだろうが……) 文間類似度( MT 、 QA 、対話、 etc )や文対モデリングにアライメントやアテンションは効果が高いと考えており、ラベルありでやるならアテンションを使って NN でやるのがよさそう 著者のソースコード(そんなに読みやすくないが)に加え他の人のソースコードも公開されており、試しやすい

Page 23: ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs (TACL 2016)

23

質疑応答 含意関係認識で含意と矛盾のような異なるクラスを 1つのネットワークでいいのか?→含意関係認識だけデータの作り方を工夫している。 5.3節に詳細が書かれているが、文対の差分のみ抽出した NONOVER というデータを、元々のデータに加えて用いている。 NONOVER が矛盾に関する特徴を捉えると思われる。 含意関係認識は方向性があるのに重みが共有されていいのか?→重みは分けたいが、データが少ない(数千〜数万事例)ので、パラメータの数を増やすと過学習するかもしれない