在 NLP 里,Ngram 的 PPL(Perplexity,困惑度 ) ,就是用来衡量 “语言模型好不好” 的指标,大白话拆解:
PPL 越低 → 模型越 “懂人话”,预测的句子越合理。
比如:
- 模型算 “今天吃饭” 的 PPL 低,算 “今天吃书” 的 PPL 高 → 说明模型知道 “吃饭” 合理,“吃书” 奇怪,越靠谱。
公式核心是 “句子概率的倒数,开 n 次方(n 是句子长度 )” ,人话翻译:
- 先算句子的概率(用 Ngram 模型,把每个词的条件概率相乘 );
- 再取倒数(概率越小,倒数越大 );
- 最后开 n 次方(句子越长,分母越大,避免长度影响 )。
句子 “今天 天气 不错”,用 Ngram 算概率是 0.1 → PPL = 1/0.1 的 3 次方根 ≈ 2.15 (n=3 是句子长度 )。
如果句子概率是 0.01 → PPL = 1/0.01 的 3 次方根 ≈ 4.64 ,PPL 越高,模型越困惑(觉得句子越奇怪 )。
总结:PPL 是给语言模型 “打分” 的工具,数值越低,模型越厉害,越能区分 “人话” 和 “胡话”~