BERT base Japanese 字符级分词模型介绍
BERT base Japanese (character-level tokenization with whole word masking, CC-100 and jawiki-20230102)是一个经过日语文本预训练的BERT模型。这个模型采用了基于Unidic 2.1.2词典的词级分词,然后再进行字符级分词的处理方式。同时,在掩码语言建模(MLM)任务中使用了整词掩码技术。
模型架构
该模型沿用了原始BERT base模型的架构,包含12层,768维隐藏状态,以及12个注意力头。这种架构设计使其能够有效捕捉日语文本的语义和语法特征。
训练数据
模型的训练数据来自两个主要来源:
- CC-100数据集中的日语部分
- 日语维基百科
其中,维基百科数据是基于2023年1月2日的Wikipedia Cirrussearch转储文件生成的。CC-100语料库和维基百科语料库的文件大小分别为74.3GB和4.9GB,包含约3.92亿和3400万个句子。这些海量的日语文本数据为模型提供了丰富的语言知识。
分词方法
模型采用了两步分词策略:
- 首先使用MeCab配合Unidic 2.1.2词典进行词级分词
- 然后将分词结果进一步拆分为字符
这种方法的词汇表大小为7027,能够很好地平衡词汇覆盖率和模型复杂度。
训练过程
模型的训练分为两个阶段:
- 在CC-100语料库上训练100万步
- 在维基百科语料库上再训练100万步
在MLM任务中,研究者引入了整词掩码技术,即同时掩盖对应单个词(由MeCab分词)的所有子词标记。这种方法有助于模型学习更好的语义表示。
训练使用了由TPU Research Cloud项目提供的Cloud TPUs v3-8实例,充分利用了高性能计算资源。
许可证和致谢
该预训练模型采用Apache License 2.0许可证发布。模型的训练得到了TPU Research Cloud项目提供的Cloud TPUs的支持,这为研究者提供了宝贵的计算资源。
总的来说,这个BERT base Japanese模型通过结合字符级分词、整词掩码等技术,并利用大规模日语语料库进行训练,为日语自然语言处理任务提供了一个强大的基础模型。它可以在各种下游任务中发挥重要作用,如文本分类、命名实体识别等。
使用示例
研究者可以使用以下代码片段来快速测试模型:
from transformers import pipeline
fill_mask = pipeline(
"fill-mask",
model="cl-tohoku/bert-base-japanese-char-v3"
)
result = fill_mask("東北大学で[MASK]の研究をしています。")
print(result)
这个例子展示了如何使用模型来完成填空任务,可以帮助用户理解模型的基本功能和使用方法。