9.5 NLP slide: 第二课 语言模型
1. Language Model: 预测一个句子或短语出现的概率
句子出现概率 -> 单词的联合概率 -> 条件很长的条件概率
通过马尔可夫假设缩短条件 - > 某单词出现概率只与该单词前n个单词出现概率有关 -> Uni-gram Bi-gram Tri-Gram model PPT T8
用来平衡数据的稀疏性,n-gram中n越高,数据集越稀疏,一般使用Bi-gram
2. Bi-gram Uni-gram中的单个单词出现概率的计算方法:
Uni-gram : ‘w’ 在语料库中出现次数 / 语料库中总单词 T14
Bi-gram: P(W2 | W1) = C(W2,W1)/ C(W1) 有多少次出现了W1时,下一个单词是W2 / 出现W1的总数 T16
Tri-gram: P(W3 | W1,W2) = C(W1,W2,W3)/C (W1,W2) T17
整个句子出现的概率 = 这些单词概率的累乘,其中可能出现某单词出现概率为0,则用 laplace smoothing 分子+1
3. 所以语言模型的训练过程,就是统计语料库中出现单词频率的过程,再经过MLE 极大似然估计
4. 对于不同语言模型的效果,需要评估方式去衡量: perplexity : 2^(-x) x : average log likelihood
生成通顺句子的概率越大越好
LM:最简单的生成模型,训练好后可以不断生成文本
5. Laplace smoothing 对于每个单词的概率P ,对其分子+1,对其分母+V,其中V为词库中单词的个数,这样完成归一化
add-1 smoothing / add-k smoothing
6. spelling correction (语言模型的应用):
1) 比起遍历所有单词,寻找编辑距离为1-2的单词,不如直接生成,比如 插入/缺失/修改/乱序
2)结合上下文筛选1)中生成的上下文
3)P(C|W) 正比于 P(W|C)*P(C), P(W|C)为(W,C)相关分数,P(C)来自语言模型 T35
P(W|C) 来自于次数统计,P(C) 比如 'appl' 统计上下文中 P('I EAT AN APP') 与 P('I EAT AN APPLE') 的大小