【面试题】OOV(未登录词)问题如何解决?
一句话金句: 子词化是终极方案,让OOV不复存在。
通俗解释:
- 传统方法 (词级): 遇到没见过的词,只能统一标记为
[UNK]
,信息彻底丢失。 - 子词方法 (现代): 几乎解决了OOV问题。因为任何新词都能被拆成更小的、模型认识的子词或字母。
例子:
假设词汇表里没有“ChatGPT”这个词。
- 糟糕情况:
[UNK]
- 子词情况: 它会被拆成
["Chat", "G", "PT"]
。模型虽然没见过“ChatGPT”,但它认识“Chat”、字母“G”和“PT”,因此它能很好地理解和生成这个词。
面试得分点:
- 强调子词化算法本身就是为了解决OOV而生的。
- 指出这种方法将OOV问题转化为已知子词的组合问题。
- 可以提一下“字符级”作为最终回退保障,确保万无一失。