NPL笔记——语言模型

语言模型总结:

1、含义
表示一个句子出现的概率,即一个句子中每个单词出现的概率。概率越高,表示越有可能构成一个句子。
2、原理
对联合概率链公式,利用马尔可夫链进行简化。马尔可夫链假设认为,每个词会依赖前面1个或多个词。最简单的时unigram,bigram,复杂点的trigram。
联合概率链公式:
P(x1,x2…xn) = P(x1)P(x2|x1)P(x3|x1,x2)P(x4|x1,x2,x3)…P(xn)P(x1,x2…xn-1)
2-gram:
P(x1,x2…xn) = P(x1)P(x2|x1)P(x3|x2)P(x4|x3)P(x5|x4)…P(xn|xn-1)
3、如何选区N-gram中的N

  • 一般tri-gram用的较多
  • 当n更大时:对下一个此的约束信息更多
  • 当n更小时:在训练语料库中出现的次数更多,更具有可靠的统计信息。避免零概率(稀疏矩阵)出现。

4、N-gram的应用

  • 词性标注?
  • 垃圾邮件识别
  • 中文分词
  • 机器翻译与语音识别

5、N-gram优缺点:
优点:可以表示单词与几个单词之间的联系
缺点:缺乏长程的依赖性(eg.上下文直接);缺乏可靠性(eg.wi-1与wi相邻,P(wi-1|wi)=N(wi-1,wi)同时在文本中出现的次数/N(wi)在文本中出现的次数),如果N(wi-1,Nwi)=0,是否意味P(wi-1|wi)=0?如果N(wi-1,wi))与N(wi)出现次数相等,是否认为P(wi-1|wi)=1?
==>在数理统计中,之所以敢用采样数据进行观测的结果来预测概率,是因为有大数定理支持。要求有足够多的观测值。(现实中,汉语词汇量20万数量级,训练三元模型就有200000^3种参数,但训练数据可能只有10的13次.)
6、解决零概率问题采用的方式。平滑技术
(1)拉普拉斯平滑(加1平滑)
(2)古德-图灵估计(认为没看见的时间,不能认为发生概率为0;将看到的概率调小一点。一般是对出现次数小于某一阈值的词下调频率,然后把下调得到的频率综合给未出现的词)
(3)卡茨退避法
(4)线性插值
7、统计语言模型:
训练语言模型的意义在于解决统计样本不足时的概率估计问题。
(1)前馈神经网络FFLM(用前N-1各词,预估第N各词)
前馈神经网络,包嵌入层、全连接层、输出层
(2)RNN语言模型

  • LMST
  • 损失函数BPTT
  • 评估方法(迷糊度。迷糊度越小,softmax得到的概率越大,模型越好)

你可能感兴趣的:(NLP)