ACL 2020 の参加報告。BPE 系の tokenizer についての話
?Rico Sennrich, Barry Haddow, and Alexandra Birch. "Neural machine translation of rare words with subword units." In ACL, 2016.
?Taku Kudo. "Subword regularization: Improving neural network translation models with multiple subword candidates." In ACL, 2018.
?Ivan Provilkov, Dmitrii Emelianenko, and Elena Voita. "BPE-Dropout: Simple and Effective Subword Regularization." In ACL, 2020.
?Xuanli He, Gholamreza Haffari, and Mohammad Norouzi. "Dynamic Programming Encoding for Subword Segmentation in Neural Machine Translation." In ACL, 2020.
2. 2
? text tokenization について
? NLP を ML で行う際の text 分割手法
? 特に BPE に関連する ACL2020 の論文2本を紹介
今回話す内容
I stayed at home this weekend.
I s t a y e d a t h o m e t h i s w e e k e n d .
I stayed at home this weekend .
I stay ed at home this week end .
10. ? BPE tokenization の学習 (※論文由来でなく、本発表においての呼称です)
10
提案手法
① vocabulary を a, b, … 等の『文字』で初期化
② 学習用の text データを vocabulary をもとに tokenize
③ ②の token 系列において各 token の『ペア』を数える
④ ③ で最も数の多かった『ペア』について vocabulary?operation に追加
⑤ vocabulary の大きさが規定の数に達したら終了。そうでない場合 ② へ
a, b, c, ...
?T h e _ s c o r e _ b e c o m e s _ l o w e r _ a n d _ l o w e r .
?I _ h a v e _ a c h i e v e d _ b e t t e r _ r e s u l t .
※簡単のため、2 sentences
vocabulary
text データ
operation
11. ? BPE tokenization の学習 (※論文由来でなく、本発表においての呼称です)
11
提案手法
① vocabulary を a, b, … 等の『文字』で初期化
② 学習用の text データを vocabulary をもとに tokenize
③ ②の token 系列において各 token の『ペア』を数える
④ ③ で最も数の多かった『ペア』について vocabulary?operation に追加
⑤ vocabulary の大きさが規定の数に達したら終了。そうでない場合 ② へ
a, b, c, ...
?T h e _ s c o r e _ b e c o m e s _ l o w e r _ a n d _ l o w e r .
?I _ h a v e _ a c h i e v e d _ b e t t e r _ r e s u l t .
※簡単のため、2 sentences
vocabulary
text データ
operation
『er』が最多!
12. ? BPE tokenization の学習 (※論文由来でなく、本発表においての呼称です)
12
提案手法
① vocabulary を a, b, … 等の『文字』で初期化
② 学習用の text データを vocabulary をもとに tokenize
③ ②の token 系列において各 token の『ペア』を数える
④ ③ で最も数の多かった『ペア』について vocabulary?operation に追加
⑤ vocabulary の大きさが規定の数に達したら終了。そうでない場合 ② へ
er, a, b, c, ...
?T h e _ s c o r e _ b e c o m e s _ l o w e r _ a n d _ l o w e r .
?I _ h a v e _ a c h i e v e d _ b e t t e r _ r e s u l t .
※簡単のため、2 sentences
vocabulary
text データ
e-r → er
operation
『er』を追加
こちらも追加
13. ? BPE tokenization の学習 (※論文由来でなく、本発表においての呼称です)
13
提案手法
① vocabulary を a, b, … 等の『文字』で初期化
② 学習用の text データを vocabulary をもとに tokenize
③ ②の token 系列において各 token の『ペア』を数える
④ ③ で最も数の多かった『ペア』について vocabulary?operation に追加
⑤ vocabulary の大きさが規定の数に達したら終了。そうでない場合 ② へ
er, a, b, c, ...
?T h e _ s c o r e _ b e c o m e s _ l o w er _ a n d _ l o w er .
?I _ h a v e _ a c h i e v e d _ b e t t er _ r e s u l t .
※簡単のため、2 sentences
vocabulary
text データ
e-r → er
operation
以降 er をペアとして tokenize
14. ? BPE tokenization の適用
? 文字分割した後 operation を順に適用
14
提案手法
e-r → er
t-h → th
th-e → the
operation
T h e _ s c o r e _ b e c o m e s _ l o w e r _ a n d _ l o w e r .
T h e _ s c o r e _ b e c o m e s _ l o w er _ a n d _ l o w er .
...
Th e _ s c o r e _ b e c o m e s _ l o w er _ a n d _ l o w er .
The _ s c o r e _ b e c o m e s _ l o w er _ a n d _ l o w er ....
↓
↓
↓
20. 20
? 各 token が独立に生起するという仮定を置く
? token 候補は vocabulary (これが与えられている前提) の要素
? token 系列の生起確率がそれぞれの token のものの積で表現可能
? 後は token 系列の生起確率に応じて学習時にサンプリングすれば提案が実現可能
? 最も確率の高い token 系列は Viterbi algorithm で効率よく計算可能 (後ほど使用)
Unigram Language Model
I
at
a t
s
stay
stayed
ed
t a y e d
...
...
...
文の token 数
token 系列の生起確率
21. 21
? 各 token が独立に生起するという仮定を置く
? token 候補は vocabulary (これが与えられている前提) の要素
? token 系列の生起確率がそれぞれの token のものの積で表現可能
? 後は token 系列の生起確率に応じて学習時にサンプリングすれば提案が実現可能
? 最も確率の高い token 系列は Viterbi algorithm で効率よく計算可能 (後ほど使用)
Unigram Language Model
I
at
a t
s
stay
stayed
ed
t a y e d
...
...
...
文の token 数
token 系列の生起確率
① 各 token の生起確率はどうやって求める?
② vocabulary はどうやって確定させる?
28. 28
? operation を確率的に適用
? モデルの学習時のみ dropout し、推論時には通常の BPE と同様の tokenization
提案手法 (BPE-dropout)
e-r → er
t-h → th
th-e → the
operation
...
T h e _ s c o r e _ b e c o m e s _ ...
T h e _ s c o r e _ b e c o m e s _ ...
Th e _ s c o r e _ b e c o m e s _ ...
Th e _ s c o r e _ b e c o m e s _ ...
...
↓
↓
↓
例えばこれが適用され
なかった場合
The という単語は token にならない
38. 38
Kishore Papineni, Salim Roukos, Todd Ward, and Wei- Jing Zhu. 2002.
Bleu: a method for automatic evaluation of machine translation. In Proc. of ACL.
Rico Sennrich, Barry Haddow, and Alexandra Birch. 2016.
Neural machine translation of rare words with subword units. In Proc. of ACL.
Philip Gage. 1994.
A new algorithm for data compression. C Users J. 12(2):23–38.
Taku Kudo. 2018.
Subword regularization: Improving neural network translation models with multiple subword candidates.
In Proc. of ACL.
Ivan Provilkov, Dmitrii Emelianenko, and Elena Voita. 2020.
Bpe-dropout: Simple and e?ective subword regularization. In Proc. of ACL.
Xuanli He, Gholamreza Ha?ari, Mohammad Norouzi. 2020.
Dynamic Programming Encoding for Subword Segmentation in Neural Machine Translation. In Proc. of ACL.
参考文献