bertの分かち書きとmecabの分かち書きを比較してみる

 書いてる理由

昨日pytorchでbertを使ってみて、分かち書きがあった。  

mecab分かち書きと比較したくなった。

 

やったこと

bertの分かち書きmecab分かち書きを出力して比較。

 

詳細

[https://github.com/ys201810/bert_work/blob/master/src/compare_mecab_bert_wakatigaki.py]を作って確認。

 

結果

```

bert wakatigaki:['明日', 'は', '雨', 'が', '降り', 'そう', 'だ', 'から', '家', 'から', '出', 'ない', 'で', 'いよ', 'う']
mecab wakatigaki:['明日', 'は', '雨', 'が', '降り', 'そう', 'だ', 'から', '家', 'から', '出', 'ない', 'で', 'いよ', 'う'] 

 

bert wakatigaki:['ギター', 'を', '教え', 'て', 'もらっ', 'たら', '上', '##達', 'でき', 'た']
mecab wakatigaki:['ギター', 'を', '教え', 'て', 'もらっ', 'たら', '上達', 'でき', 'た']

 

bert wakatigaki:['憧れ', 'の', '車', 'を', '買っ', 'て', '、', 'いい', '気分', 'で', 'ドライブ', 'を', 'し', 'て', 'いる']
mecab wakatigaki:['憧れ', 'の', '車', 'を', '買っ', 'て', '、', 'いい', '気分', 'で', 'ドライブ', 'を', 'し', 'て', 'いる']

 

bert wakatigaki:['ジム', 'で', '走っ', 'て', '汗', 'かい', 'て', '気持ち', '##い', '##い', 'いい', 'いい', 'いい', 'い']
mecab wakatigaki:['ジム', 'で', '走っ', 'て', '汗', 'かい', 'て', '気持ちいい', 'いい', 'いい', 'いい', 'い']

 

bert wakatigaki:['私', 'が', '学生', '時代', 'に', '頑', '##張っ', 'た', 'こと', 'は', '、', '生徒', '会', 'の', '副', '会長', 'として', '色々', 'な', '生徒', 'から', '意見', 'を', '聞い', 'て', '、', 'それ', 'を', '取り入れ', 'た', 'イベント', 'を', '実行', 'し', 'た', 'こと', 'です', '。']
mecab wakatigaki:['私', 'が', '学生', '時代', 'に', '頑張っ', 'た', 'こと', 'は', '、', '生徒', '会', 'の', '副', '会長', 'として', '色々', 'な', '生徒', 'から', '意見', 'を', '聞い', 'て', '、', 'それ', 'を', '取り入れ', 'た', 'イベント', 'を', '実行', 'し', 'た', 'こと', 'です', '。']

```

 

感想 

ほぼ変わらないことがわかった。  

bertの「##」は一単語を綺麗に分けられなかった時に発生する??ってことがわかった。  

 

'頑', '##張っ',  

'上', '##達'  

というかここまで似ていると、裏側で動いているのはMecab??次はその辺調べたい。  

 

ところでマークダウンで書けてない・・・。

 

### 2020/2/28追記

https://github.com/huggingface/transformers/blob/master/src/transformers/tokenization_bert_japanese.py

 

bert-base-japanese-whole-word-maskingをプレトレインでロードすると、mecabが使われてるw

一緒だった