在基础 Transformer 模型(Vaswani 等人)上训练后解码/翻译测试数据集时,我有时会在输出中看到这个标记“unk”。
这里的“unk”指的是一个未知的令牌,但我的问题是这背后的原因是什么?基于https://nlp.stanford.edu/pubs/acl15_nmt.pdf,这是否意味着我为训练集构建的词汇不包含测试集中存在的单词?
作为参考,我为德语到英语的翻译任务构建了Vocab
usingSpacy
en_core_web_sm
和de_core_news_sm
。
示例输出:
ground truth = ['a', 'girl', 'in', 'a', 'jean', 'dress', 'is', 'walking', 'along', 'a', 'raised', 'balance', 'beam', '.']
predicted = ['a', 'girl', 'in', 'a', '<unk>', 'costume', 'is', 'jumping', 'on', 'a', 'clothesline', '.', '<eos>']
正如你所看到的,牛仔裤在这里是“unk”的。