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') 的大小

 

posted @ 2020-09-05 18:47  ChevisZhang  阅读(130)  评论(0编辑  收藏  举报