吃透 “平滑问题”:
N-gram 模型靠 “统计词串出现的次数” 算概率,但 “没见过的词串(比如新组合)” ,直接算的话概率是 0 。但理论上,再奇怪的词组合(比如 “苹果吃电脑” ),也不能说 “完全不可能出现”(万一有人脑洞大开这么写呢 ),所以得给它们 “很低但不是 0 的概率” 。
就是解决 “没见过的词串咋分配概率”—— 从 “见过的词串” 里 “抠出一点概率”,分给 “没见过的”,让所有可能的词串概率都 > 0 ,但又很小。
举个栗子:
假设语料里只有 “今天天气”“今天吃饭”,没 “今天喝水”。正常算 “今天喝水” 概率是 0 ,但平滑后,会从 “今天天气”“今天吃饭” 的概率里,匀一点给 “今天喝水”(比如给 0.0001 ),这样所有组合都有概率,模型更合理。
- 折扣(discounting) :因为要从 “见过的词串” 里 “扣一点概率”(打折 ),分给没见过的。
- 平滑(smoothing) :原本 “见过的词串概率高,没见过的概率 0”,现在让概率曲线更 “平滑”(不会突然掉成 0 )。
总结:你说的 “没出现给很低的概率” 完全正确!平滑问题就是干这个的 —— 给没见过的词串分配一个极小(但 > 0 )的概率,让模型更科学~