BERT日本語Pretrainedモデル

(公開準備中)

近年提案されたBERTが様々なタスクで精度向上を達成しています。BERTの公式サイトでは英語pretrainedモデルや多言語pretrainedモデルが公開されており、そのモデルを使って対象タスク(例: 評判分析)でfinetuningすることによってそのタスクを高精度に解くことができます。

多言語pretrainedモデルには日本語も含まれていますので日本語タスクに多言語pretrainedモデルを利用することも可能ですが、基本単位がほぼ文字となっていることは適切ではないと考えます。そこで、入力テキストを形態素解析し、形態素をsubwordに分割したものを基本単位とし、日本語テキストのみでpretrainingしました。

ダウンロード

公式で配布されているpretrainedモデルと同様のファイル形式になっており、

が含まれています。また、pytorch版BERT (pytorch-pretrained-BERT)用に変換したモデル (pytorch_model.bin)も同梱しています。

詳細

以下に日本語Pretrainedモデルの詳細を示します。

finetuningを行う際は入力テキストを上記と同様にJuman++で形態素解析し、形態素単位に分割してください。(BPEは適用する必要はありません。finetuning時に語彙リストを参照しながら自動的にsubwordに分割されます。)

注意: BERTの公式スクリプトを用いてfinetuningする場合(run_classifier.pyなど)、tokenization.pyの以下の行をコメントアウトしてください。これを行わないと漢字が全て一文字単位になってしまいます。

# text = self._tokenize_chinese_chars(text)

また、--do_lower_case False オプションをつけてください。これをつけないと、濁点が落ちてしまいます。

なお、形態素解析を行わず、文に対してSentencepieceを用いてpretrainingしたものが https://github.com/yoheikikuta/bert-japanese (日本語Wikipediaで学習)やhttps://www.hottolink.co.jp/blog/20190311-2 (日本語twitterデータで学習)で公開されています。

参考文献

柴田 知秀, 河原 大輔, 黒橋 禎夫: BERTによる日本語構文解析の精度向上, 言語処理学会 第25回年次大会, pp.205-208, 名古屋, (2019.3).


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS