Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bilingual Subword Segmentation for Neural Machine Translation

Bilingual Subword Segmentation for Neural Machine Translation

2020/12/22 論文紹介
COLING2020 (https://aclanthology.org/2020.coling-main.378/)

Hiroto Tamura

July 06, 2021
Tweet

More Decks by Hiroto Tamura

Other Decks in Research

Transcript

  1. Introduction 1 • サブワード化は NMT において open vocabulary problems (未

    知語) の解決策として広く使われている. ØBPE [Sennrich et al., 2016]: 元々分割されている⾔語⽤に設計 Ø unigram LM に基づく分割法 [Kudo, 2018]: 分割されてなくても良い (中 国語,⽇本語) • 以上の⽅法は翻訳⽂を考慮して分割されてない ØNMT において最適でないかも 2
  2. Introduction 2 • “Bilingual Subword Segmentation” を提案 Ø分割されてない⾔語での翻訳性能向上を⽬指す→ unigram LM

    をベー スにしている Ø対訳⽂ (training data): 分割候補の中からソースとターゲットで分割数 が等しくなるようにサブワード列のペアを選ぶ Ø単⾔語⽂ (test data): 上で分割された対訳コーパスで学習された LSTM-based segmenter でトークン化 3
  3. Introduction 3 • 提案⼿法は⾔語間の各サブワードユニットの one-to-one mapping を促す Øソースとターゲットの分割数を同じにするように分割しているため ØNMT にとってはより効果的と思われる

    4 設計法 (design method) 計測装置 (measurement instrument) 計測法 (measurement method) 設計 (design) 法 (method) 計測 (measurement) 装置 (instrument) 計測 (measurement) 法 (method) • Training data において“設計法” と “計測装置” は頻出語 Ø 従来の分割法ではこれらをさらに分割しない Ø “計測法” の翻訳が困難 • 提案⼿法: 下のようにさらに分割できる Ø ソースとターゲットで同じ分割数にするため Ø “計測法” の翻訳可能 n “計測 (measurement)” と “法 (method)” の翻訳を知っているため
  4. Subword Segmentation based on the Unigram Language Model • Unigram

    LM ではそれぞれのサブワードが独⽴に出現することを想定. サブワード列の ⽣成確率 𝑃(𝒙) は以下: • サブワード⽣起確率 𝑝(𝑥!) は以下の周辺尤度を最⼤化する EM アルゴリズムで推定 • 最も⾼い⽣成確率を持つサブワード列を以下の式で獲得 • 𝑃(𝒙|𝑋) を計算することで,⼊⼒⽂ X に対する k-best サブワード列を取得可能 5 𝒙 = (𝑥! , 𝑥" , . . . , 𝑥# ): サブワード列 𝒱: 語彙集合 𝑝(𝑥$ ): サブワード⽣起確率 𝐷: 対訳コーパス 𝑋(&): D 中の s 番⽬の⽂ 𝑆(𝑋(&)): 𝑋(&) から作られたサブワード列候補の集合 𝑋: ⼊⼒⽂
  5. Proposed Model: Bilingual Subword Segmentation • ソース⽂とその翻訳⽂のサブワードのユニット数 が等しくなるように (差を最⼩化) トークナイズ

    • Training data Ø 翻訳⽂を参照しながらトークナイズできる • Test data Ø 参照⽂⾒れない 6 ü 提案⼿法は NMT のモデルや訓練⽅法に依存しない
  6. Segmentation for Training Data • 最初に上位 k 個の分割候補をソースとターゲットそれぞれで獲得 ℬ"(𝑓), ℬ"(𝑒)

    • 以下の式でサブワード分割ペア (, 𝒇, / 𝒆) を⾒つけて ,それを対訳⽂ (𝑓, 𝑒) のサブワード列 として出⼒ 7 対訳⽂ペア (𝑓, 𝑒) ∈ 𝐷 len(): サブワード数を返す関数 𝒇∗/𝒆∗: source/target の最も確率の⾼いサブワード列 (i.e., best subword sequence) 𝒗∗ を 𝒇∗ と 𝒆∗ の⻑いほうとする 1 𝒖 は 𝒗∗ と⻑さが近い分割候補の中から最も確率の⾼いサブワード列を探すことで獲得 NMT モデルはこのようにして分割された training data 3 𝐷 = {(5 𝒇 & , 6 𝒆(&))}&)! |+| で学習される
  7. Segmentation for Test Data • 分割に参照⽂が使えない Ø Character-based BiLSTM segmenter

    を上で得られた training data 3 𝐷 のソース側で学習 Ø この訓練された分割機を⽤いて単⾔語⽂ (test data) をトークナイズ • Character-based BiLSTM segmenter は n ⽂字の⽂ 𝐜 = (𝑐#, 𝑐$, . . . , 𝑐%) の サブワード境 界を決定するもの 8 𝐳 ∈ ℝ,×., 𝐡: hidden states, 𝑊 ∈ ℝ.×{0,!}: parameter matrix, 𝐛3 = (𝑏3,0 , 𝑏3,! ): t 番⽬の⽂字がサブワードの始点 (𝑏3,0 )か そうでないか (𝑏3,! ) を表す,確率分布 … そ の 計 測 法 で … (0.8, 0.2) (0.3, 0.7) (0.7, 0.3) (0.9 0.1) (0.4, 0.6) (0.65, 0.35) Beginning point
  8. Training and decoding of character-based BiLSTM • Character-based LSTM は以下の

    ℒ&'()'%* を最⼤化することで学習 • ⽂ 𝑓 における上位 k 個のサブワード分割集合 ℬ"(𝑓) を unigram LM で最初に獲得し,そ の候補中のそれぞれのサブワード列 (𝒇 ∈ ℬ"(𝑓)) に対して分割スコア (score(𝒇)) を計算 する • 最後に,最もスコアの⾼いサブワード列が選択される 9 こうして得られたサブワード列を翻訳する
  9. Experimental Setup • 提案⼿法 “bilingual subword segmentation” を “unigram language

    model”[Kudo, 2018], “subword regularization” [Kudo, 2018] と⽐較 • Unigram LM: Sentencepiece を⽤いて複数の分割候補を獲得 • NMT system: Transformer (base) • Data (WAT ASPEC En↔Ja tasks) Ø Vocab size: 16,000 (separately for En and Ja) Ø training set: 1.5 m examples n (first part of original training data) Ø dev set: 1,790 examples Ø test set: 1,812 examples 10 • Hyperparameters Ø NMT n Optimizer: Adam (𝛽! = 0.9, 𝛽" = 0.98) n Warm up steps: 4,000 n Initial learning rate: 5e-4 n Dropout rate: 0.1 n Batch size: 10,000 tokens n Beam size: 4 Ø BiLSTM n Optimizer: Adam (𝛽! = 0.9, 𝛽" = 0.98) n Embedding dims: 256 n Learning rate: 5e-4 n Dropout rate: 0.1 n Batch size: 256 Ø k=5 u サブワード正則化では one-best decoding を採⽤ Ø 提案⼿法は 1 つのサブワード列しか使⽤して いないため
  10. Results 11 • Unigram LM と⽐較して ü Ja-En: 0.81↑, En-Ja:

    0.10↑ • Subword Regularization と⽐較して ü Ja-En: 0.53↑, En-Ja: 0.19↑
  11. Comparison with Oracle Bilingual Segmentation • Character-based BiLSTM segmenter の性能を⾒たい

    ØTraining data に施したような提案⼿法の分割を test data に施す n Test data の参照⽂を⽤いて (つまり test data の対訳コーパスを持っている) n これを gold bilingual segmentationとする • Oracle translation の性能評価 ØGold bilingual segmentation を施したソース⽂を翻訳した時の性能評価 12
  12. Necessity of Character-Based BiLSTM Segmenter • Bilingual-subword-segmented training data で訓練された

    NMT モデルで unigram LM で得られたベストなサブワード列 (𝒇∗) を翻訳すると性能はどうなるか? Ø Training data を分割する時,𝒗∗ を 𝒇∗ に固定する n Training, test data の分布のギャップを埋めるため Ø ソース側の unigram LM を⽤いてベストなサブワード列 𝒇∗ を獲得.それと近い⻑さのターゲット⽂のサ ブワード列を探す. 13 ü ターゲット側だけに注⽬してサブワード列を探すのは良くない ü 双⽅向にサブワード列を探すこととCharacter-based BiLSTM segmenter は NMT に必要
  13. Sensitivity to Hyperparameter 𝑘 • サブワード分割候補を選ぶときに上位何個を選ぶかに使⽤ • ASPEC Ja-En task

    での dev での翻訳性能で評価 • 𝑘 = 2, 10 , 15, 20, 50, 100 と変化させた 15 ü 例外はあるものの (𝑘 = 6, 7),𝑘 = 50 ぐらいまでは性能向上が期待できる
  14. Likelifood-based Bilingual Subword Segmentation • シャノンの符号化定理: Ø あるシンボル 𝑠 の最適

    (最短) な符号⻑は − log 𝑝& (𝑝& は 𝑠 の出現確率) • 仮説: サブワード列のセグメント数と尤度に関係があるか? • ⽂中のセグメント数よりも unigram LM で得られる尤度を基にサブワード列のペアを選 ぶ⼿法 (likelifood-based method) Ø 関数 len() を − log 𝑃() に置換 Ø ソースとターゲットとの尤度の差を最⼩化する 16 • おそらく,セグメント数と尤度とに関連はあ るが,完全にマッチするわけではない. • unigram LM の性能に依存する
  15. (再掲) Segmentation for Training Data • 最初に上位 k 個の分割候補をソースとターゲットそれぞれで獲得 ℬ"(𝑓),

    ℬ"(𝑒) • 以下の式でサブワード分割ペア (, 𝒇, / 𝒆) を⾒つけて ,それを対訳⽂ (𝑓, 𝑒) のサブワード列 として出⼒ 17 対訳⽂ペア (𝑓, 𝑒) ∈ 𝐷 len(): サブワード数を返す関数 𝒇∗/𝒆∗: source/target の最も確率の⾼いサブワード列 (i.e., best subword sequence) 𝒗∗ を 𝒇∗ と 𝒆∗ の⻑いほうとする 1 𝒖 は 𝒗∗ と⻑さが近い分割候補の中から最も確率の⾼いサブワード列を探すことで獲得 NMT モデルはこのようにして分割された training data 3 𝐷 = {(5 𝒇 & , 6 𝒆(&))}&)! |+| で学習される
  16. Effectiveness for Segmented Language Pair • 提案⼿法は分割されてない⾔語向け • どちらも分割されている⾔語ペアだとどうなるか? •

    WMT 14 En↔De で実験 Ø Vocab size: 37 k (with a joined dictionary) Ø Batch size: 25 k tokens Ø k: 2 18 ü 分割されている⾔語ペアでも有効