You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Transformer机器翻译输出<unk>未知token的原因及是否与训练集词表缺失有关

德英翻译Transformer模型输出 token的原因说明

核心成因

  • 最常见原因:词表未覆盖对应词汇(OOV问题)
    你本次使用Spacy的en_core_web_sm和de_core_news_sm语料构建词表,这两个轻量语料的词汇覆盖范围有限,若训练集未出现过目标词汇、或是测试集对应译词不在你构建的词表范围内,预处理阶段该词汇就会被替换为标识,解码时自然会输出该token。你给出的示例中jean被替换为就属于这类典型情况。
  • 解码概率偏移问题
    哪怕对应词汇确实在词表中,也可能出现输出。这一结论在经典神经机器翻译研究中已被证实:当模型遇到训练集未出现过的罕见搭配、或是训练过程中的权重学习出现偏差时,词表概率分布中的计算概率会高于正确目标词,最终被贪心解码或集束搜索选为输出结果。
  • 分词错误导致的伪OOV
    Spacy的预训练分词模型对罕见词、拼写变体、德语复合词的拆分可能出现错误,导致原本在词表中的词汇被拆分为不存在的单元,最终被判定为未知词输出。

常见疑问解答

你提到的「是否代表训练集构建的词表没有包含测试集对应词汇」,答案是绝大多数情况符合该判断,但存在例外:上述第二种解码概率偏移的场景,就属于词表已覆盖但模型未正确选择的情况。

可选优化方案

  • 扩大词表构建的语料范围,不要仅依赖Spacy自带的轻量语料,加入本次任务的训练集文本共同统计生成词表,优先覆盖任务域的高频词汇
  • 替换单词语分词方案为BPE、WordPiece这类子词分词方法,将罕见词拆分为多个存在的子词单元,从根源上降低的出现概率
  • 训练时调整的标签平滑权重,推理阶段可在集束搜索中加入优先级压制规则,避免低概率正确词被替换

内容的提问来源于stack exchange,提问作者Dametime

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:30:00