Slide 1

Slide 1 text

最長一致法のためのサブワード正則化手法 (MaxMatch-Dropout) …とその周辺の話 平岡達也 ※ 本トークの内容は東⼯⼤在籍時の成果です。 2022/12/14 NLPコロキウム

Slide 2

Slide 2 text

私 •平岡達也 • @7a7hi •経歴 • 2017年 早稲⽥⼤(⽂学学⼠) • 2019年 NAIST(⼯学修⼠) • 2022年 東⼯⼤(⼯学博⼠) • 同年4⽉より 富⼠通株式会社(現職) •最近の気づき • 年次⼤会@沖縄のホテルは今すぐ抑えたほうが良い 2022/12/14 NLPコロキウム 2

Slide 3

Slide 3 text

tokenization 2022/12/14 NLPコロキウム 3

Slide 4

Slide 4 text

token i za tion 2022/12/14 NLPコロキウム 4

Slide 5

Slide 5 text

token i za tion tok en iza t ion token iz at ion 2022/12/14 NLPコロキウム 5

Slide 6

Slide 6 text

さっそくですが 2022/12/14 NLPコロキウム 6

Slide 7

Slide 7 text

さっそくですが 「良い」Tokenizationって何でしょうか 2022/12/14 NLPコロキウム 7

Slide 8

Slide 8 text

さっそくですが 「良い」Tokenizationって何でしょうか エンコード・デコードの 効率が良いもの (情報圧縮的な観点) ⼈間にとって読みやすいもの (形態論的な観点) あるタスクでの 処理性能が⾼くなるもの (応⽤的な観点) 特徴的な系列を トークンとして認識できるもの (特徴抽出的な観点) 2022/12/14 NLPコロキウム 8

Slide 9

Slide 9 text

さっそくですが 「良い」Tokenizationって何でしょうか エンコード・デコードの 効率が良いもの (情報圧縮的な観点) ⼈間にとって読みやすいもの (形態論的な観点) あるタスクでの 処理性能が⾼くなるもの (応⽤的な観点) 特徴的な系列を トークンとして認識できるもの (特徴分析な観点) 2022/12/14 NLPコロキウム 9

Slide 10

Slide 10 text

さっそくですが 「良い」Tokenizationって何でしょうか エンコード・デコードの 効率が良いもの (情報圧縮的な観点) ⼈間にとって読みやすいもの (形態論的な観点) あるタスクでの 処理性能が⾼くなるもの (応⽤的な観点) 特徴的な系列を トークンとして認識できるもの (特徴抽出的な観点) 2022/12/14 NLPコロキウム 10

Slide 11

Slide 11 text

さっそくですが 「良い」Tokenizationって何でしょうか エンコード・デコードの 効率が良いもの (情報圧縮的な観点) ⼈間にとって読みやすいもの (形態論的な観点) あるタスクでの 処理性能が⾼くなるもの (応⽤的な観点) 特徴的な系列を トークンとして認識できるもの (特徴抽出的な観点) 2022/12/14 NLPコロキウム 11

Slide 12

Slide 12 text

さっそくですが 「良い」Tokenizationって何でしょうか エンコード・デコードの 効率が良いもの (情報圧縮的な観点) ⼈間にとって読みやすいもの (形態論的な観点) あるタスクでの 処理性能が⾼くなるもの (応⽤的な観点) 特徴的な系列を トークンとして認識できるもの (特徴抽出的な観点) 2022/12/14 NLPコロキウム 12

Slide 13

Slide 13 text

さっそくですが 「良い」Tokenizationって何でしょうか エンコード・デコードの 効率が良いもの (情報圧縮的な観点) ⼈間にとって読みやすいもの (形態論的な観点) あるタスクでの 処理性能が⾼くなるもの (応⽤的な観点) 特徴的な系列を トークンとして認識できるもの (特徴抽出的な観点) 今回のトピック 2022/12/14 NLPコロキウム 13

Slide 14

Slide 14 text

解決されていない課題 「 良 い 」Tokenizationがわからない タスクでの性能が上がる 2022/12/14 NLPコロキウム 14

Slide 15

Slide 15 text

解決されていない課題と対処法 「 良 い 」Tokenizationがわからない タスクでの性能が上がる 可能なあらゆる Tokenizationをすべて 使ってタスクを学習 ありえそうな Tokenizationをいくつか 使ってタスクを学習 良いTokenizationに 向かって最適化 サブワード正則化 Lattice LSTMなど OpTokなど Zhang+, 2018. Chinese NER Using Lattice LSTM. Kudo, 2018. Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. Hiraoka+, 2020. Optimizing word segmentation for downstream task. ⼒こそパワー型 2022/12/14 NLPコロキウム 15

Slide 16

Slide 16 text

解決されていない課題と対処法 「 良 い 」Tokenizationがわからない タスクでの性能が上がる 可能なあらゆる Tokenizationをすべて 使ってタスクを学習 ありえそうな Tokenizationをいくつか 使ってタスクを学習 良いTokenizationに 向かって最適化 サブワード正則化 Lattice LSTMなど OpTokなど Zhang+, 2018. Chinese NER Using Lattice LSTM. Kudo, 2018. Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. Hiraoka+, 2020. Optimizing word segmentation for downstream task. ⼒こそパワー型 効率的で賢い! 2022/12/14 NLPコロキウム 16

Slide 17

Slide 17 text

解決されていない課題と対処法 「 良 い 」Tokenizationがわからない タスクでの性能が上がる 可能なあらゆる Tokenizationをすべて 使ってタスクを学習 ありえそうな Tokenizationをいくつか 使ってタスクを学習 良いTokenizationに 向かって最適化 サブワード正則化 Lattice LSTMなど OpTokなど Zhang+, 2018. Chinese NER Using Lattice LSTM. Kudo, 2018. Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. Hiraoka+, 2020. Optimizing word segmentation for downstream task. ⼒こそパワー型 効率的で賢い! ロマン型 2022/12/14 NLPコロキウム 17

Slide 18

Slide 18 text

解決されていない課題と対処法 「 良 い 」Tokenizationがわからない タスクでの性能が上がる 可能なあらゆる Tokenizationをすべて 使ってタスクを学習 ありえそうな Tokenizationをいくつか 使ってタスクを学習 良いTokenizationに 向かって最適化 サブワード正則化 Lattice LSTMなど OpTokなど Zhang+, 2018. Chinese NER Using Lattice LSTM. Kudo, 2018. Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. Hiraoka+, 2020. Optimizing word segmentation for downstream task. ⼒こそパワー型 効率的で賢い! ロマン型 2022/12/14 NLPコロキウム 18

Slide 19

Slide 19 text

解決されていない課題と対処法 「 良 い 」Tokenizationがわからない タスクでの性能が上がる 可能なあらゆる Tokenizationをすべて 使ってタスクを学習 ありえそうな Tokenizationをいくつか 使ってタスクを学習 良いTokenizationに 向かって最適化 サブワード正則化 Lattice LSTMなど OpTokなど Zhang+, 2018. Chinese NER Using Lattice LSTM. Kudo, 2018. Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. Hiraoka+, 2020. Optimizing word segmentation for downstream task. ⼒こそパワー型 効率的で賢い! ロマン型 2022/12/14 NLPコロキウム 19

Slide 20

Slide 20 text

サブワード正則化の方法 Tokenizer Subword Regularization Method Unigram SentencePieceʼs option Byte Pair Encoding BPE-Dropout 最⻑⼀致法 (WordPiece) BERT-baseなどで 広く使われる Tokenization⼿法 最⻑⼀致法向けのサブワード正則化があれば、 BERTなどでも性能がもっと上がるかも 2022/12/14 NLPコロキウム 20

Slide 21

Slide 21 text

最長一致法のためのサブワード正則化 Tokenizer Subword Regularization Method Unigram SentencePieceʼs option Byte Pair Encoding BPE-Dropout 最⻑⼀致法 (WordPiece) MaxMatch-Dropout (今回のメイントピック) BERT-baseなどで 広く使われる Tokenization⼿法 最⻑⼀致法向けのサブワード正則化があれば、 BERTなどでも性能がもっと上がるかも 2022/12/14 NLPコロキウム 21

Slide 22

Slide 22 text

最長一致法でのTokenization word wor / d w, o, r, d, or, rd, wor Vocabulary 前から後ろへ貪欲に 最⻑⼀致⽂字列を分割 最⻑⼀致法を⽤いた Tokenization 2022/12/14 NLPコロキウム 22

Slide 23

Slide 23 text

w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d 最長一致法でのTokenization(Trieで書くと…) 2022/12/14 NLPコロキウム 23

Slide 24

Slide 24 text

w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Initial state 最長一致法でのTokenization(Trieで書くと…) 2022/12/14 NLPコロキウム 24

Slide 25

Slide 25 text

w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Initial state Read “w” 最長一致法でのTokenization(Trieで書くと…) 2022/12/14 NLPコロキウム 25

Slide 26

Slide 26 text

w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Initial state Read “w” Read “o” 最長一致法でのTokenization(Trieで書くと…) 2022/12/14 NLPコロキウム 26

Slide 27

Slide 27 text

w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Initial state Read “w” Read “o” Read “r” 最長一致法でのTokenization(Trieで書くと…) 2022/12/14 NLPコロキウム 27

Slide 28

Slide 28 text

最長一致法でのTokenization(Trieで書くと…) w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Initial state Read “w” Read “o” Read “r” No transition to “d”, yield “wor” 2022/12/14 NLPコロキウム 28

Slide 29

Slide 29 text

最長一致法でのTokenization(Trieで書くと…) w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Initial state Read “w” Read “o” Read “r” No transition to “d”, yield “wor” 2022/12/14 NLPコロキウム 29

Slide 30

Slide 30 text

最長一致法でのTokenization(Trieで書くと…) w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Read “w” Read “o” Read “r” No transition to “d”, yield “wor” Initial state Read “d” 2022/12/14 NLPコロキウム 30

Slide 31

Slide 31 text

最長一致法でのTokenization(Trieで書くと…) w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Read “w” Read “o” Read “r” No transition to “d”, yield “wor” Initial state Read “d” Input ends, yield “d” 2022/12/14 NLPコロキウム 31

Slide 32

Slide 32 text

最長一致法は決定的な分割方法(当たり前) word wor / d 同じ⼊⼒は必ず同じ系列に分割される 2022/12/14 NLPコロキウム 32

Slide 33

Slide 33 text

最長一致法は決定的な分割方法(当たり前) word wor / d 同じ⼊⼒は必ず同じ系列に分割される Q. 最⻑⼀致法の仕組みの中で、確率的な分割を得るにはどうしたらよいか? サブワード正則化のためには 確率的な分割を⾏う必要がある ⼀⽅で… 2022/12/14 NLPコロキウム 33

Slide 34

Slide 34 text

MaxMatch-Dropoutのアイディア 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! word wor / d 同じ⼊⼒は必ず同じ系列に分割される Q. 最⻑⼀致法の仕組みの中で、確率的な分割を得るにはどうしたらよいか? サブワード正則化のためには 確率的な分割を⾏う必要がある ⼀⽅で… 2022/12/14 NLPコロキウム 34

Slide 35

Slide 35 text

MaxMatch-Dropout w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Dropped state Randomly removed state 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 35

Slide 36

Slide 36 text

MaxMatch-Dropout w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Dropped state Initial state Randomly removed state 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 36

Slide 37

Slide 37 text

MaxMatch-Dropout w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Dropped state Initial state Read “w” Randomly removed state 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 37

Slide 38

Slide 38 text

MaxMatch-Dropout w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Dropped state Initial state Read “w” Read “o” Randomly removed state 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 38

Slide 39

Slide 39 text

MaxMatch-Dropout w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word wor / d Dropped state Initial state Read “w” Read “o” Read “r” Randomly removed state 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 39

Slide 40

Slide 40 text

MaxMatch-Dropout w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word w / or / d Dropped state Initial state Read “w” Read “o” Read “r” Randomly removed state No transition to “word”, yield final accpeted token “w” 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 40

Slide 41

Slide 41 text

MaxMatch-Dropout w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word w / or / d Dropped state Initial state Read “w” Read “o” Read “r” Randomly removed state No transition to “word”, yield final accpeted token “w” 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 41

Slide 42

Slide 42 text

MaxMatch-Dropout w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word w / or / d Dropped state Initial state Read “w” Read “o” Read “r” Randomly removed state No transition to “word”, yield final accpeted token “w” Read “o” 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 42

Slide 43

Slide 43 text

MaxMatch-Dropout w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word w / or / d Dropped state Initial state Read “w” Read “o” Read “r” No transition to “word”, yield final accpeted token “w” Read “r” Read “o” 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 43

Slide 44

Slide 44 text

MaxMatch-Dropout w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word w / or / d Dropped state Read “w” Read “o” Read “r” No transition to “word”, yield final accpeted token “w” Read “r” Yield “or” Read “o” Initial state 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 44

Slide 45

Slide 45 text

MaxMatch-Dropout w o o r r d d r Accepting state (words in vocabulary) Non-accepting state word w / or / d Dropped state Read “w” Read “o” Read “r” No transition to “word”, yield final accpeted token “w” Read “r” Yield “or” Read “d” Input ends, yield “d” Read “o” Initial state 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 45

Slide 46

Slide 46 text

サブワード正則化としてのMaxMatch-Dropout 学習step/epochごとに異なるTokenizationが利⽤できる ⇒サブワード正則化! 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる! 2022/12/14 NLPコロキウム 46

Slide 47

Slide 47 text

サブワード正則化としてのMaxMatch-Dropout 学習step/epochごとに異なるTokenizationが利⽤できる ⇒サブワード正則化! Dropout率によるサブワード正則化の強さ characteristics characteristic_s char_acter_istics ch_a_r_acter_i_s_t_i_c_s 0.1 0.5 0.9 2022/12/14 NLPコロキウム 47 最⻑⼀致探索において語彙をランダムに削除する →Tokenizationをサンプリングできる!

Slide 48

Slide 48 text

MaxMatch-Dropoutによる性能向上 Tokenization ⽂書分類 平均 F1* +BERT 平均 F1* 機械翻訳 平均 BLEU** Unigram 66.74 - 27.88 + サブワード正則化 68.60 - 29.35 BPE 65.86 - 27.06 + BPE-Dropout 66.98 - 28.71 Maximum Matching (WordPiece) 64.62 82.50 26.84 + MaxMatch-Dropout 66.37 82.96 28.41 +1.47 +1.65 +1.57 他のサブワード正則化の⼿法と同様に、 MaxMatch-Dropoutも性能の向上に貢献 * 英語GLEU・韓国語KLEU・⽇本語Twitterデータセット ** IWSLT14 De-En, En-De, IWSLT15 Vi-En, En-Vi, Zh-En, En-Zh 2022/12/14 NLPコロキウム 48 +1.86 +1.13 +1.74 +0.46

Slide 49

Slide 49 text

Easy to Try! Official implementation is available at: https://github.com/tatHi/maxmatch_dropout from transformers import BertTokenizer tknzr = BertTokenizer.from_pretrained('bert-base-cased’) import maxMatchTokenizer mmt = maxMatchTokenizer.MaxMatchTokenizer() mmt.loadBertTokenizer(tknzr, doNaivePreproc=True) mmt.tokenize(‘hello, wordpiece!’, p=0.5) # outputs: ['hello', ',', 'w', '##ord', '##piece', '!'] BertTokenizer can be directly loaded! BertTokenizerに組み込んでpull request出したいなあと思いつつ半年が経っている 2022/12/14 NLPコロキウム 49

Slide 50

Slide 50 text

ポエム • なぜサブワード正則化で性能が上がるのか? • perturbationの効果 • いろんなEmbeddingに学習の機会が回ってくるので、学習効率が良さそう • augmentationの効果 • ⼀つの⽣⽂から、「似てるけどちょっと違う系列」を⼤量に作ることができる • ハイパラによる性能差が「なぜ」出るのかを深堀りしても良い • Embeddingの学習頻度などと関係があるのか、共起頻度などにヒントが有るのかなど… • サブワード正則化の⽅法による性能差が出てきても⾯⽩いと思う • ⽣⽂を「可逆圧縮する」やり⽅にバリエーションをつければよいので、 いろいろなやり⽅がありそう • ⾔語モデルに基づいたサンプリングや、Dropoutに基づいたサンプリングとは違う視点から、 Tokenizationのバリエーションをつける⽅法が出てくると楽しそう • どのバリエーションの付け⽅が、 「良い」サブワード正則化なのかを議論できたら楽しい 2022/12/14 NLPコロキウム 50