Ona de Gibert, Graeme Nail, Nikolay Arefyev, Marta Bañón, Jelmer van der Linde, Shaoxiong Ji, Jaume Zaragoza-Bernabeu, Mikko Aulamo, Gema Ramírez-Sánchez, Andrey Kutuzov, Sampo Pyysalo, Stephan Oepen, Jörg Tiedemann『A New Massive Multilingual Dataset for High-Performance Language Technologies』を横目に、日本語LTG-BERTモデル「HPLT Bert for Japanese」を見つけたので、とりあえずトークナイザを試してみることにした。ただ、内蔵のtokenizer.jsonが古くて、transformersを4.39.3まで戻す必要があった。Google Colaboratoryだと、こんな感じ。
!pip install 'transformers<4.40'
from transformers import AutoTokenizer
tkz=AutoTokenizer.from_pretrained("HPLT/hplt_bert_base_ja")
print([tkz.decode(t) for t in tkz("国境の長いトンネルを抜けると雪国であった。","夜の底が白くなった。")["input_ids"]])
私(安岡孝一)の手元では、以下の結果が出力された。
['[CLS]', '国', '境', 'の', '長', 'い', 'トン', 'ネル', 'を', '抜ける', 'と', '雪', '国', 'で', 'あっ', 'た', '。', '[SEP]', '夜', 'の', '底', 'が', '白', 'く', 'なっ', 'た', '。', '[SEP]']
各トークンがかなり短いので、国語研長単位との間で矛盾は無さそうだ。HPLTは75種類の言語に挑戦してるらしいけど、LTG-BERTって本当に精度あがるのかしら。