在学习过程中生成的样本包含像“艾姆斯”这样的序列,其中“??”是单个Unicode字符。
看起来这个字符是在模型不能完成一个单词/句子的时候使用的,但是我很确定它应该能够完成从“艾姆斯”到“James”的转换,词汇量为50000,输入文本中包含“James”很多次。
另一方面,它似乎是相当一致的,在不学习“J”。我看到“jujus”以及“jujudging”。
在其他一些地方,“”站在两个词之间,没有任何暗示它应该代表什么。
我100%确定,词汇表是从我作为输入使用的相同文本中生成的。
如果是词汇表的问题:有没有一个选项可以为训练好的模型修复它?
2条答案
按热度按时间ao218c7q1#
这是一个未知的词。
mznpcxlj2#
我也这么想,但为什么会这样呢?
我认为Xcepiece会将源文本分割成N个标记,可以用来恢复源文本。在上面的例子中,它将是“J”+“艾姆斯”。当我查看
sp.vocab
时,似乎标记“J”完全丢失。我认为它至少应该包含字母表,这样它就可以重建任何文本,例如,当我决定稍后使用包含先前未知单词的源文本来优化网络时。但即使它没有,它至少应该能够重建生成词汇表的输入,不是吗?