内容纲要
趁热打铁,继续写语言建模系列第 2 篇文章:《统计语言模型 vs 神经语言模型》。
一、语言模型的起点:让机器理解语言的概率世界
语言模型(Language Model, 简称 LM)本质上是用于计算一个词序列概率的模型,即:
P(w_1, w_2, ..., w_n)
它的目标是回答两个关键问题:
- 一段文字是否自然、合理?
- 下一个词最可能是什么?
所有文本生成系统(输入法、搜索建议、对话机器人、翻译模型)都基于语言模型。
二、第一代选手:统计语言模型(Statistical Language Model)
统计语言模型是早期的 NLP 主力,核心代表是:
- n-gram 模型
- 马尔可夫链语言模型
- 最大熵语言模型
以 n-gram 为例,它通过词频估算下一个词的概率:
P(w_i | w_{i-n+1}, ..., w_{i-1}) = \frac{count(w_{i-n+1}, ..., w_i)}{count(w_{i-n+1}, ..., w_{i-1})}
✅ 优点
- 简单高效
- 可解释性强
- 少量数据也能训练
❌ 缺点
- 稀疏性问题严重:高阶组合数据少,概率为 0
- 长依赖无能为力:只能看固定窗口
- 泛化能力弱:未见过的组合完全无法建模
三、接班人登场:神经语言模型(Neural Language Model)
2003 年,Yoshua Bengio 等人首次提出基于神经网络的语言模型(NNLM),彻底改变了 NLP 的发展轨迹。
它的核心思路:
不再统计词频,而是将词“向量化”,再通过神经网络建模上下文之间的关系。
后续发展出了:
- Feedforward 神经语言模型(NNLM)
- 循环神经网络语言模型(RNNLM)
- 长短期记忆网络(LSTM)
- Transformer 语言模型(BERT、GPT)
四、代表模型对比
模型类型 | 代表 | 上下文建模 | 是否支持长依赖 | 是否预训练 | 推理速度 |
---|---|---|---|---|---|
n-gram | 传统模型 | 固定窗口 | ❌ 否 | ❌ 否 | ⚡ 快 |
RNN/LSTM | RNNLM | 序列上下文 | ✅ 是 | ❌ 否 | ⏳ 较慢 |
Transformer | GPT/BERT | 全局注意力 | ✅ 是 | ✅ 是 | 🚀 较快(可并行) |
五、案例演示:Who wins?
输入上下文
I have a pen. I have an...
模型输出对比
-
n-gram 模型:
"apple"(若在训练语料中常出现 "an apple")
缺点是:没有意识到“我”前面提到了“pen” -
神经语言模型(如 GPT):
"apple" ✅ ✅
是因为它理解了上下文是“PPAP”(Pen-Pineapple-Apple-Pen),具备更强的语义联想能力
六、从统计模型到神经模型的跃迁意义
项目 | 统计语言模型 | 神经语言模型 |
---|---|---|
建模方式 | 频率统计 + 平滑 | 向量嵌入 + 非线性映射 |
语义理解 | 基本不支持 | 支持上下文 + 词义泛化 |
未登录词(OOV) | 无法处理 | 子词模型(BPE、WordPiece)处理 |
表达能力 | 静态 | 动态建模 + 迁移学习能力 |
可解释性 | 强 | 弱(黑箱) |
七、不是你死我活,而是“融合共生”
实际上,在许多系统中:
- 统计模型仍可作为先验特征输入
- 神经模型可借助 n-gram 提高训练稳定性
- 一些模型(如 GPT2)也借助了 BPE 子词切分,本质上就是字符级 n-gram
现代 NLP 更倾向于:
“语言模型 = 大规模数据 + 神经网络 + 高质量 token 处理方式(含统计信息)”
总结
- n-gram 开启了语言建模时代,但局限明显;
- 神经语言模型借助表示学习能力,实现长依赖、语义理解、迁移泛化;
- 未来语言建模更重视“多模态、多任务、数据驱动”的深度融合。
引用资料
- Bengio, Y., Ducharme, R., Vincent, P., & Jauvin, C. (2003). A Neural Probabilistic Language Model. Journal of Machine Learning Research.
- Mikolov, T. et al. (2010). Recurrent neural network based language model.
- Vaswani, A. et al. (2017). Attention is All You Need.
- Jurafsky, D. & Martin, J. H. (2020). Speech and Language Processing.
- Manning, C. D. et al. (2008). Foundations of Statistical Natural Language Processing.