0

我已经从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()

这非常有效,但是当我尝试对给定句子进行标记时,一些北欧字符(例如“ø”和“æ”)保持不变,而所有具有字符“å”的单词都被替换为“a”。例如:

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

产量:

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

谢谢

4

1 回答 1

2

它通过使用 BerttokenizerFast 并设置 strip_accents = False 来工作。它显示为错误在带重音函数中的 unicode.normalize 中。

  • 自然,必须更改 vocab.txt 文件以使其匹配 Bert 标记器格式。
于 2020-07-30T13:13:55.260 回答