HuggingFace变形金刚:BertTokenizer更改字符

时间:2020-07-29 11:05:06

标签: nlp huggingface-transformers huggingface-tokenizers

我已经从https://github.com/botxo/nordic_bert下载了挪威BERT模型,并使用以下代码加载了该模型:

import transformers as t

model_class = t.BertModel
tokenizer_class = t.BertTokenizer

tokenizer = tokenizer_class.from_pretrained(/PATH/TO/MODEL/FOLDER)
model = model_class.from_pretrained(/PATH/TO/MODEL)
model.eval()

这很好用,但是当我尝试标记给定句子时,某些北欧字符(如“ø”和“æ”)保持不变,而所有带有char“å”的单词都被替换为“ a”。 例如:

s = "æ ø å løpe få ærfugl"
print(tokenizer.tokenize(s))

收益:

['æ', 'ø', 'a', 'løp', '##e', 'fa', 'ær', '##fugl']

谢谢

1 个答案:

答案 0 :(得分:1)

通过使用BerttokenizerFast并设置strip_accents = False来工作。出现该错误的原因是带口音功能中的unicode.normalize。

  • 自然,必须更改vocab.txt文件以使其与Bert令牌生成器格式匹配。