我想要一些关于在现有BERT模型中添加额外单词的帮助。我有两位先生好心地指导我:
我正在为一个域做NER任务:
BERT识别为[UNK]的单词很少(不确定确切的数字(,但这些实体是模型识别所必需的。经过预训练的模型学习良好(高达80%(的精度;bert基大小写的";同时提供标记的数据并微调模型,但直观地,如果模型识别所有实体,它将学习得更好。
-
我需要在vocbs.txt中添加那些未知实体并再次训练模型吗?
-
我需要在Scratch的数据上训练BERT模型吗?
谢谢。。。
BERT运行良好,因为它是在33亿单词的大型文本数据集上预训练的。从skratch培训BERT是一项资源要求很高的工作,在大多数合理的用例中都不会得到回报。
BERT使用分词算法进行输入分割。从理论上讲,这应该确保不存在以[UNK]
结尾的词汇表外标记。分割中最坏的情况是输入令牌最终被分割成单个字符。如果分割完成正确,则只有当标记器编码不在训练数据中的UTF-8时,才应出现[UNK]
。
最可能的问题来源:
-
标记化中有一个错误,因此它生成的标记不在单词片段词汇表中。(也许是单词标记化而不是WordPiece标记化?(
-
这是一个编码问题,会生成无效或奇怪的UTF-8字符。