Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

入力文への情報の付加によるNMTの出力文の変化についてのエラー分析

412 views

Published on

10/20の関東MT勉強会で使った資料です。
後ろ3枚は発表に使わないつもりの資料なので、無視してください……

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

入力文への情報の付加によるNMTの出力文の変化についてのエラー分析

  1. 1. 入力文への情報の付加による NMTの出力文の変化についての エラー分析 首都大学東京 小町研究室 M1 山岸駿秀 @第2回 関東MT勉強会
  2. 2. 自己紹介 ● 名前: 山岸 駿秀 (Hayahide Yamagishi) ● 所属: 首都大学東京 小町研究室 修士1年 ● 研究テーマ: 機械翻訳 ○ 修士のテーマは「NMTによる文書翻訳」 ○ 文書単位の評価について悩んでいます!! ● Twitter: @hargon24 2
  3. 3. 発表の前に 前回の関東MT勉強会(秋葉原開催、聴講参加)の懇親会で 夏のインターンの行き先が決定しました! 懇親会を開いていただいたみなさま、 インターンの受け入れ先のみなさま、 ありがとうございました! 3
  4. 4. 本題 4
  5. 5. NMTの出力の問題点 ● 訳抜け ● 単語やフレーズの繰り返し ● 未知語・低頻度語 ○ Subword化が流行 ● 入力文の微妙な変化に対して敏感 5
  6. 6. NMTの出力の問題点 ● 訳抜け ● 単語やフレーズの繰り返し ● 未知語・低頻度語 ○ Subword化が流行 ● 入力文の微妙な変化に対して敏感 今回はこの問題について考えます 6
  7. 7. 例: 表記揺れ (Google Translate Ja-En(10/17現在)の結果) 美ら海水族館は、大水槽のジン ベエザメが人気の観光地であ る。 7 The Churaumi Aquarium is a popular tourist spot of whale shark in the large aquarium. 美ら海水族館は、大水槽のジン ベイザメが人気の観光地であ る。 The Churaumi Aquarium is a popular tourist destination with a large whale whale shark.
  8. 8. 考えられること ● Subword化の影響? ● ジンベエザメ、ジンベイザメのみを入力すると、 どちらも “whale shark” ○ 文脈を見る過程で何かが起きている? ● 一文字の違いによって出力が大きく変化 ○ 入力文を変化させることで出力文を操作できるのでは? ○ 入力文を変えることで、モデルが何を学習しているのかを知ることがで きる? 8
  9. 9. 1つめ 能動態・受動態の予測情報の 付加による出力文の変化 [Yamagishi+ IJCNLP2017] 9
  10. 10. 動機 ● 原言語側と目的言語側で重要視するものが違うことがある ● 原言語側では重要視されない+目的言語側で重要視 → 翻訳が難しい ○ 英独: 敬意の表現方法 [Sennrich+ NAACL2016] ○ 日英: 主語の省略、時制、態、性、数…… ○ 英日: 敬語 ● 受動文・能動文の訳し分けができるようにデータを作り、コント ロールできるようにした 10
  11. 11. 対訳コーパス中の受動文・能動文の割合 ASPEC (論文のアブストの対訳) の学習データ NTCIR (特許の対訳) の学習データ どちらも日本人が英訳したデータなので、英語ネイティブの文でどうなるのかは要確認 実験用に整形した後の文数を表示 11 言語 能動文の数 受動文の数 計 英語(be+過去分詞の有無) 604,158 499,178 1,103,336 日本語 (れる・られるの有無) 992,902 110,434 1,103,336 言語 能動文の数 受動文の数 計 英語(be+過去分詞の有無) 614,257 554,944 1,169,201 日本語(れる・られるの有無) 828,825 340,376 1,169,201
  12. 12. 態のコントロール [Yamagishi+ WAT2016] 1. 英語側から(主節の)態の情報を取り出す ○ Be動詞+過去分詞の形があれば受動、なければ能動 ○ The design of the circuit was explained. → <Passive> 2. 対応する日本語文の末尾に単語として情報を付与 ○ 回路 の 設計 を 解説 し た 。 <Passive> 3. このデータで学習する 4. 入力文の末尾に<Active>/<Passive>をつけて制御 ○ どちらが適切かは2値分類器を使って予測 [Yamagishi+ IJCNLP2017] i. 入力文の述語の情報 ii. 3文前までの出力文の態(ASPECは文書単位に戻せる) ○ 予測の正解率は67.7% …... 12
  13. 13. 実験 ● テスト1,812文のうち、参照訳が受動文のもの、能動文のもの を100文ずつ選択 ○ 制御できているかどうかを目視で確認 ○ 主語と目的語の入れ替え等は考慮しない ● モデル → [Bahdanau+ ICLR2015] ベース ○ 1層 Bi-directional LSTM ○ ASPECの学習データから110万文を用いて学習 ● 態の情報を付与したデータと付与していないデータで それぞれ別のモデルを学習 13
  14. 14. 結果 「参照と同じ態」のBLEUがこの手法での上界 ※ 能動文 + 受動文 ≠ 200 であるのは、態の判別が不能な文があったため 14 実験 能動文 受動文 参照の態との一致率 命令との一致率 BLEU テストデータ 100 100 - - - Baseline 31 163 60.5% - 20.60 全文を能動態 147 44 57.5% 73.5% 20.22 全文を受動態 6 189 51.0% 94.5% 20.18 参照と同じ態 82 113 89.0% 22.47 予測した態 74 118 64.0% 89.0% 21.05
  15. 15. わかったこと ● ASPECで学習したモデルは、受動文を生成しやすい ○ “... is described.” や、“ … is calculated.” みたいな文だらけ ● 受動文の方が制御しやすい ○ 主語を生成しやすいから? ● 高頻度な動詞のときだけ能動態に制御できる ○ 低頻度な動詞のときは、主語の選択が難しい? ● 自動詞を使うべき文に受動の命令をかけたとき ○ “It is found that”とかをつけて頑張る ● 主語と目的語の入れ替えが起こらない例も目立った 15
  16. 16. 主節でないところはどうなのか ● 従属節の傾向 ○ <Passive>をつけても能動態のまま ○ 学習データ内に、Be動詞+形容詞・名詞のパターンが多いから? ● 等位節の傾向 ○ 基本的には命令に従う ○ 主節と同様の傾向 ■ 主語がわからないと能動文になれない ■ 自動詞を使うときは受動文になれない 16 主節の態との 一致率 全文を能動態 に制御 全文を受動態 に制御 従属節 55.5% 38.2% 等位節 63.4% 77.1%
  17. 17. 2つめ 日本語の活用情報を使った翻訳 [黒澤+, YANS2017 ポスター発表(若手奨励賞受賞)] 17
  18. 18. 動機 ● NMTでは、語彙サイズに制限をかける ● 活用形は全て語彙の中に入っていなければならない ○ 入っていない場合は正しい単語を正しい形で出力できない ○ 活用形が多い場合、もったいないのでは? ● 活用形と原形を分離して、語彙サイズを圧縮 ○ 何もしない場合: 活用しない単語 + 活用する単語 × 各活用形の数 ○ 分ける場合: 活用しない単語 + 活用する単語 + 各活用形の数 ● 活用する語: 動詞、形容詞、助動詞(日本語が対象) 18
  19. 19. 手法 ● 活用する単語を基本形と活用形に分ける ○ 読み → 読む <連用形> ● 2単語扱いとして置換する ○ 私 は 本 を 読み ます 。 ○ 私 は 本 を 読む <連用形> ます <基本形> 。 ● 入力が日本語: 置換後の文を入力 ● 出力が日本語: 置換後の文を出力させ、ルールで戻す ○ 読む <連用形> ます <基本形> → 読み ます ○ 読む <連用形> <基本形>    → 読み ○ <連用形> <基本形>       → “ ” 19
  20. 20. 実験で比較するもの ● 言語対: 日英、英日 ● 辞書: MeCabを動かすために使用 ○ IPADic: 複合動詞が多く、単語のタイプ数が多い ○ UniDic: 複合動詞が少なく、単語のタイプ数が少ない ● コーパス: ○ ASPEC: 論文のアブストの対訳 ■ 長文が多く、活用する語の割合が少ない ■ Train : Test = 827,503 (UniDicで分割したときは780,112) : 1,812 ○ 田中コーパス: 教科書等の文を学生が翻訳 ■ 短文が多く、活用する語の割合が大きい ■ Train : Test = 50,000 : 500 20
  21. 21. 実験設定 ● モデル → [Luong+ EMNLP2015] をベース ○ 1層 Bi-directional LSTM ○ 語彙サイズ: ASPECは30,000、田中コーパスは5,000 ● 提案手法を適用したデータと適用していないデータで それぞれ別のモデルを学習 ● 評価 ○ 学習データに占める未知語の割合 ○ BLEU: 日本語側はJUMAN++で区切りなおす 21
  22. 22. 語彙制限後の学習データのカバー率 ● 語彙制限: 出現頻度の上位のみを使う ● 提案手法 → カバーできる語彙を増やすことができた 22 コーパス 辞書 Baseline Proposed 差分 ASPEC (30,000語制限) IPADic 18.5% 18.9% +0.4 UniDic 25.2% 26.2% +1.0 田中コーパス (5,000語制限) IPADic 46.5% 54.1% +7.6 UniDic 48.6% 60.5% +11.6
  23. 23. BLEU 23 言語対 コーパス 辞書 Baseline Proposed 差分 日英 ASPEC (30,000語制限) IPADic 20.62 21.12 +0.50 UniDic 20.71 20.89 +0.18 田中コーパス (5,000語制限) IPADic 22.78 28.89 +5.69 UniDic 30.79 32.62 +1.83 英日 ASPEC (30,000語制限) IPADic 27.55 27.82 +0.27 UniDic 26.70 26.91 +0.21 田中コーパス (5,000語制限) IPADic 22.30 28.98 +6.68 UniDic 27.08 28.07 +0.99
  24. 24. わかったこと ● 全ての実験で性能向上 ● 活用する語の多いコーパスで強い ● IPADic: 複合動詞を1語として扱う → 低頻度語が多い? ○ この手法は低頻度語が多いほど増分も大きい ○ 低頻度語をうまく扱うことができている ● Encode時、Decode時のどちらでも有用 24
  25. 25. 出力例 ● 「座れ」が学習データにない→出すことができる ○ 用法と意味を別々に学習することができた? ○ 学習データにない活用形も扱えるようになる 25 Source(田中コーパス) where should i sit ? Target どこ に 座っ たら いい です か 。 Baseline どこ で <unk> ば いい です か 。 Proposed(ルール適用前) どこ で 座る <仮定形> ば いい でしょう か 。 Proposed(ルール適用後) どこ で 座れ ば いい でしょう か 。
  26. 26. まとめ 26
  27. 27. まとめ ● 入力文に情報を追加した (1つ目) ○ 情報を使って出力文を変化させるようになる ○ 入力にいろんな情報を加えることが流行ってきている感 ● 入力文の形を少し変化させた (2つ目) ○ NMT向けの入力方法を考えるべき? ○ 意味の学習と用法の学習が別で行えるようになった? 27
  28. 28. 補足資料 (3枚、発表では使いません) 28
  29. 29. 例:「、」を抜いただけで…… 29
  30. 30. 態の予測 [山岸ら NLP2017, Yamagishi+ IJCNLP2017] ● 以下の7つの素性から出力文の適切な態を予測 1. 入力文の主語の分散表現 2. 入力文の述語の分散表現 3. 1文前の入力文の述語の分散表現 4. 1文前の出力文の目的語の分散表現 5. 3文前までの出力文の態 6. 入力文の態 (レル、ラレルの有無) 7. 入力文の述語ごとの統計データ(の多数決情報) ● ロジスティック回帰で2値分類 →1, 5, 7を使ったときがよかった(でも精度は67.7%…) 30
  31. 31. 動機その2 31 ● 単語分散表現は、意味より用法を学習している? ● 例: word2vecでの「書か」との類似度が高い単語 (ASPECのtrainでgensimのSGNSを学習) ○ 書く(書くの終止形): 0.446 ○ 書い(書くの連用形): 0.555 ○ 読ま(読むの未然形): 0.553 ○ 話さ(話すの未然形): 0.521 ○ 同じ動詞の基本形より、違う動詞の同じ活用形が近い?

×