语言模型的定义
语言模型估计文本序列的概率:P(w_1, w_2, ..., w_n)。核心任务:判断一段文本是否"合理",预测下一个词是什么。
n-gram统计模型
n-gram假设词只依赖前n-1个词:P(w_i|w_1...w_{i-1}) ≈ P(w_i|w_{i-n+1}...w_{i-1})。简化计算,但忽略长程依赖。
n-gram的挑战
- 数据稀疏:未见的n-gram组合概率为零
- 平滑技术:Add-k、Good-Turing、Kneser-Ney缓解稀疏
- n值选择:大n更准确但稀疏更严重
神经语言模型
神经网络语言模型(Bengio, 2003)用连续表示代替离散计数。词向量输入,神经网络预测下一个词概率。
架构演进
前馈神经网络:固定窗口输入。循环神经网络(LSTM):处理任意长度序列。Transformer:自注意力机制,并行计算。
预训练语言模型的革命
BERT:双向编码,理解上下文。GPT:单向生成,预测下一个词。大规模预训练+微调成为NLP新范式。
模型选择
小数据用n-gram;中等数据用LSTM;大数据用Transformer。预训练模型适合大多数应用场景。
语言模型是NLP的基石,几乎所有任务都依赖语言理解能力。