transformers.BertJapaneseTokenizer
https://github.com/huggingface/transformers/blob/v4.19.1/src/transformers/models/bert_japanese/tokenization_bert_japanese.py
fugashi を使っている
https://github.com/huggingface/transformers/blob/v4.19.1/src/transformers/models/bert_japanese/tokenization_bert_japanese.py#L231
__getstate__・__setstate__の実装が簡潔。参考にしたい
code:example.py
>> from transformers import BertJapaneseTokenizer
>> tokenizer = BertJapaneseTokenizer.from_pretrained("cl-tohoku/bert-base-japanese-whole-word-masking")
>> tokenizer.tokenize("アイの歌声を聴かせて") # word_tokenizer.tokenizeと常に同じ?(未確認)
'アイ', 'の', '歌声', 'を', '聴か', 'せ', 'て'
>> tokenizer.word_tokenizer.tokenize("アイの歌声を聴かせて")
'アイ', 'の', '歌声', 'を', '聴か', 'せ', 'て'
>> tokenizer.subword_tokenizer.tokenize("アイの歌声を聴かせて") # 1つの語としてトークナイズした?
'アイ', '##の', '##歌', '##声', '##を', '##聴', '##かせ', '##て'