ymcui / Chinese-BERT-wwm

Pre-Training with Whole Word Masking for Chinese BERT(中文BERT-wwm系列模型)
https://ieeexplore.ieee.org/document/9599397
Apache License 2.0
9.66k stars 1.39k forks source link

关于词表没有中文双引号的问题 #221

Closed Dicer-Zz closed 2 years ago

Dicer-Zz commented 2 years ago

我发现从huggingface上下载的全掩码中文Bert/RoBerta的词表(vocab.txt)中都没有中文的双引号“”,请问为什么会有这种情况呢?

我的下游任务是一个本文纠错的任务,因此当句子中出现中文双引号时,tokenizer会将其变成[UNK],非常影响纠错结果。有推荐的方法解决这个问题嘛?或许我应该手动在词表中添加中文双引号?

ymcui commented 2 years ago

1)词表用的是谷歌的中文BERT里的版本 2)可以自己在词表最后加新词

Dicer-Zz commented 2 years ago

OK,感谢回复

ymcui commented 2 years ago

顺便提醒:如果新加词的话词表会变大,导致词向量矩阵会多出若干列。因此,词向量矩阵的一部分需要加载预训练好的权重,一部分需要自己初始化(对于新加的词)。直接load预训练过的bert可能会导致词向量矩阵大小不匹配导致无法正确初始化。