NICT BERT 日本語 Pre-trained モデル
概要
このページでは、日本語Wikipediaを対象に情報通信研究機構 データ駆動知能システム研究センターで事前学習を行ったBERTモデルをクリエイティブ・コモンズ 表示 4.0 国際ライセンス (CC BY
4.0)のもとで公開しています。
BERTモデル [1] の学習では、バッチサイズやステップ数を増やすことで性能が向上することが報告されています [2]。そこで本ページのモデルでは、[2] のRoBERTa-500Kと同等の計算量となるよう、ステップ数を [1]
と同様に100万に保ちつつ、バッチサイズを [1] の16倍の4,096にして学習を行いました。
作成したBERTモデルの評価として、NICTで作成した (fine-tuning用) 学習データと評価データ (これらのデータは大規模Web情報分析システムWISDOM X、対災害SNS情報分析システムDISAANA、災害状況要約システムD-SUMM、次世代音声対話システムWEKDAの研究開発でも利用) 、さらには一般に公開されている学習・評価データを用いて評価を行いました。具体的には、(1)
因果関係認識 (Hashimoto et al., ACL 2014) [3]、(2) ファクトイド質問応答のランキング (関ら, NLP 2020) [6]、(3) バイナリパタン間含意関係認識 (Kloetzer et al., EMNLP 2015) [7]、(4) 東北大 乾・鈴木研究室が公開している解答可能性付き読解 (鈴木ら, NLP 2018) [9]
の実験を行いました。いずれのタスクにおいても、すでに公開済みのBERTモデルよりも高い性能が得られており、本ページで公開するBERTモデルを利用することで他の日本語の言語処理のタスクでも性能向上を見込めると考えております(詳しい性能差については評価実験の実験結果を参照)。
ダウンロード
BERTモデルはbyte pair encoding (BPE) [10]
を使用したバージョンと使用しないバージョンの2種類を公開します。BPEを使用しないバージョンは、モデルの語彙数を10万語としています。
- BERTBASEモデル (12-layer, 768-hidden, 12-heads)
配布ファイルは、BERTオリジナル版 (Google AI Research)ならびにHugging Face版 (Transformers, pytorch-transformers,
pytorch-pretrained-bert) のpre-trainedモデルと同様に、以下のファイルを含んでいます。
- Tensorflow checkpoint (model.ckpt.meta, model.ckpt.index, model.ckpt.data-00000-of-00001, checkpoint)
- PyTorch用モデル (pytorch_model.bin)
- 語彙ファイル (vocab.txt)
- bert_configファイル (config.json)
- Hugging Face版トークナイザ用configファイル (tokenizer_config.json, special_tokens_map.json)
モデルの詳細
以下の設定でpre-trainingを行いました:
- コーパス: 日本語Wikipedia全て (タイトルを除く)
- 半角を全角に正規化し、MeCab-Juman辞書で形態素に分割、BPEありのモデルについてはさらにsubword-nmtで生成した語彙を用いてsubwordに分割
- ステップ: 計2ステップ
- バッチサイズ: 4,096 (=256×16)、max_seq_length: 128、100万ステップ
- バッチサイズ: 4,096 (=256×16)、max_seq_length: 512、10万ステップ
- Whole word maskingは使用しない
- 学習は32枚のNVIDIA Tesla V100を使用し、BPEなしで9日、BPEありで7日で完了
使用方法
本ページで公開する BERT のモデルは、BERTオリジナル版や Hugging Face版に含まれるスクリプト (run_classifier.py など)
を用いて、追加のfine-tuningを行うことができます。
注意点として、以下があります。
- 入力テキストは、事前に半角を全角に正規化し、MeCab-Juman辞書 [11,
12] で形態素に分割しておく
- オリジナル版では
--do_lower_case=False
オプションをつける。Hugging Face版では --do_lower_case
オプションをつけない
-
オリジナル版、もしくはバージョン1.0未満のHugging Face版
(pytorch-pretrained-bert) を使用する場合は、
tokenization.py
の以下の行をコメントアウトする (Hugging
Face版のバージョン1.0以降では、tokenizer_config.json
ファイルの設定が反映されるため、この対応は不要)
- なお、BPEの有無についてはいずれも
tokenization.py
等に含まれるWordpieceTokenizer
で対応できるため、特別な修正は不要です
具体的な使用例については、解答可能性付き読解データセットを利用した既存の日本語BERTモデルと比較を行った実験手順をご参照ください。
評価実験
実験の概要
以下の各タスクを用いて、現在公開されているいくつかのBERTモデルと、本ページで公開するモデルの比較を行いました。
- タスク
- 因果関係認識 (Hashimoto et al., ACL 2014; Kruengkrai et al., AAAI 2017; Kadowaki et al., EMNLP 2019) [3, 4, 5]
- ファクトイド質問応答のランキング (関ら, NLP 2020) [6]
- バイナリパタン間含意関係認識 (Kloetzer et al., EMNLP 2015; 二宮ら, NLP 2020) [7, 8]
- 解答可能性付き読解 (鈴木ら, NLP 2018) [9]
- 比較対象のモデル
- BERT-Base, Multilingual Cased (Google AI Research) (URL)
- BERT日本語Pretrainedモデル (BASE WWM版) (京都大学 黒橋・河原・村脇研究室) (URL)
- BERT日本語Pretrainedモデル (LARGE WWM版) (京都大学 黒橋・河原・村脇研究室) (URL)
- Pretrained Japanese BERT models (MeCab + WordPiece, WWM) (東北大学 乾・鈴木研究室) (URL)
- BERT with SentencePiece for Japanese text (Yohei Kikuta氏) (URL)
- hottoSNS-BERT (株式会社ホットリンク) (URL)
このうち、解答可能性付き読解データセットによる実験については、こちらの手順で再現が可能です。
実験結果
実験の結果、いずれのタスクにおいても、現在公開されている他のBERTモデルよりも高い性能が得られています。
参考文献
- [1] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training
of deep bidirectional transformers for language understanding. In Proc. of NAACL:HLT, pp. 4171-4186, 2019. (PDF)
- [2] Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy,
Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. RoBERTa: A Robustly Optimized BERT Pretraining Approach.
arXiv e-prints, arXiv:1907.11692, 2019. (PDF)
- [3] Chikara Hashimoto, Kentaro Torisawa, Julien Kloetzer, Motoki Sano, Istvan Varga,
Jong-Hoon Oh and Yutaka Kidawara. Toward Future Scenario Generation: Extracting Event Causality Exploiting
Semantic Relation, Context, and Association Features. In Proc. of the 52nd Annual Meeting of the Association for
Computational Linguistics, pp. 987-997, 2014. (PDF)
- [4] Canasai Kruengkrai, Kentaro Torisawa, Chikara Hashimoto, Julien Kloetzer, Jong-Hoon
Oh and Masahiro Tanaka. Improving Event Causality Recognition with Multiple Background Knowledge Sources using
Multi-Column Convolutional Neural Networks. In the Proc. of the 31st AAAI Conference on Artificial Intelligence,
pp. 3466-3473, 2017. (PDF)
- [5] Kazuma Kadowaki, Ryu Iida, Kentaro Torisawa, Jong-Hoon Oh and Julien Kloetzer. Event
Causality Recognition Exploiting Multiple Annotators’ Judgments and Background Knowledge. In the Proc. of the
2019 Conference on Empirical Methods in Natural Language Processing and 9th International Joint Conference on
Natural Language Processing, pp. 5820-5826, 2019. (PDF)
- [6] 関直哉, 水野淳太, 門脇一真, 飯田龍, 鳥澤健太郎. ファクトイド質問応答におけるBERTのpre-trainedモデルの影響の分析. 言語処理学会第26回年次大会
(NLP2020), 2020.
- [7] Julien Kloetzer, Kentaro Torisawa, Chikara Hashimoto, Jong-Hoon Oh. Large-Scale
Acquisition of Entailment Pattern Pairs by Exploiting Transitivity. In Proc. of EMNLP, pp. 1649-1655, 2015. (PDF)
- [8] 二宮大空, 門脇一真, 飯田龍, 鳥澤健太郎, Julien Kloetzer. BERTを用いたバイナリパタン間の含意関係認識. 言語処理学会第26回年次大会
(NLP2020), 2020.
- [9] 鈴木正敏, 松田耕史, 岡崎直観, 乾健太郎. 読解による解答可能性を付与した質問応答データセットの構築. 言語処理学会第24回年次大会 (NLP2018), pp.
702-705, 2018. (PDF)
- [10] Rico Sennrich, Barry Haddow, and Alexandra Birch. Neural Machine Translation of
Rare Words with Subword Units. In Proc. of the 54th Annual Meeting of the Association for Computational
Linguistics, pp. 1715-1725, 2016. (PDF)
- [11] Taku Kudo, Kaoru Yamamoto, and Yuji Matsumoto. Applying conditional random fields
to Japanese morphological analysis. In Proc. of the 2004 Conference on Empirical Methods in Natural Language
Processing, pp. 230–237, 2004. (PDF)
- [12] Sadao Kurohashi, Toshihisa Nakamura, Yuji Matsumoto, and Makoto Nagao. Improvements
of Japanese morphological analyzer JUMAN. In Proc. of The International Workshop on Sharable Natural Language,
pp. 22–28, 1994.
更新情報
ライセンス
このページで配布するモデルは、クリエイティブ・コモンズ 表示 4.0 国際ライセンス (CC BY
4.0)の下で利用可能です。
ご利用にあたっての注意事項
本ページで公開するモデルは、統計的機械学習を用いた言語モデルです。モデルの性格上、事実とは無関係な単語列を出力したり、公序良俗の観点で不適切な単語列を出力する可能性があります。モデルの学習は統計的機械学習を用いて行われており、その出力は国立研究開発法人
情報通信研究機構の意思決定・判断を示すものではありません。本ページで公開するモデルの使用に関連して生ずる損失、損害等について、いかなる場合においても一切責任を負いません。以上の点について十分注意した上で自己責任の下でご利用ください。
データ駆動知能システム研究センター
国立研究開発法人 情報通信研究機構
Copyright © National Institute of Information and Communications Technology (NICT). All Rights Reserved.