经典统计语言模型 -- Statistical Language Model

模型介绍

NLP早期常用的统计方法,对于一个sequenc的句子 S ( w 1 w 2 w 3 ⋯ w n , w i S (w_1w_2w_3{\cdots}w_n, w_i S(w1w2w3wn,wi表示某个词),其出现的概率计算如下:
P ( S ) = P ( w 1 ) ⋅ P ( w 2 ∣ w 1 ) ⋅ P ( w 3 ∣ w 1 w 2 ) ⋯ P ( w n ∣ w 1 w 2 ⋯ w n − 1 ) (1) P(S)=P(w_1){\cdot}P(w_2|w_1){\cdot}P(w_3|w_1w_2){\cdots}P(w_{n}|w_1w_2{\cdots}w_{n-1}) \tag1 P(S)=P(w1)P(w2w1)P(w3w1w2)P(wnw1w2wn1)(1)
引入马尔可夫假设,任意一个词出现的概率,只和前N-1个词有关, 特别的当N=2的时候,公式1变为如下
P ( S ) = P ( w 1 ) ⋅ P ( w 2 ∣ w 1 ) ⋅ P ( w 3 ∣ w 2 ) ⋯ P ( w n ∣ w n − 1 ) (2) P(S)=P(w_1){\cdot}P(w_2|w_1){\cdot}P(w_3|w_2){\cdots}P(w_{n}|w_{n-1}) \tag2 P(S)=P(w1)P(w2w1)P(w3w2)P(wnwn1)(2)

核心思想

  1. 一个句子的合理性为该句子在语料中出现的概率
  2. 句子出现的概率为句子中词按顺序出现的概率
  3. 引入马尔可夫假设:N-gram模型为任意一个词出现的概率,和前N-1个词有关,以上公式(1)为Bigram,当前词的概率只和前一个有关

那么如何计算 P ( w n ∣ w n − 1 ) ) P(w_n|w_{n-1})) P(wnwn1))呢 , P ( w n ∣ w n − 1 ) P(w_n|w_{n-1}) P(wnwn1)为条件概率,根据定义有
P ( w n ∣ w n − 1 ) = P ( w n − 1 , w n ) P ( w n − 1 ) (3) P(w_n|w_{n-1}) =\frac{P(w_{n-1},w_n)}{P(w_{n-1})} \tag3 P(wnwn1)=P(wn1)P(wn1,wn)(3)
其中 P ( w n − 1 , w n ) P(w_{n-1},w_n) P(wn1,wn)为联合概率密度, 只要语料库够大 P ( w n − 1 , w n ) = # ( w n − 1 , w n ) # P(w_{n-1},w_n)=\frac{\#(w_{n-1}, w_n)}{\#} P(wn1,wn)=##(wn1,wn), P ( w n − 1 ) = # ( w n − 1 ) # P(w_{n-1})=\frac{\#(w_{n-1})}{\#} P(wn1)=##(wn1), # ( w n − 1 , w n ) \#(w_{n-1}, w_n) #(wn1,wn) w n − 1 w n w_{n-1}w_n wn1wn这个二元组在语料corpus中出现的次数,对 P ( w n − 1 ) P(w_{n-1}) P(wn1)为0的情况

缺点

  1. Ngram是由词频率和共同出现的频率来估计概率的,算力的问题随着Ngram的N变大而指数增大
  2. 当N不太大的时候,无法解决长文本的依赖问题
  3. 对于共现次数为0的情况, w n − 1 w n w_{n-1}w_n wn1wn出现的次数为0,需要考虑平滑处理,N越大,情况越严重
  4. N元组的共现无法体现语义相似

优点

  1. 原理简单,语料库来自人类的自然文本,数据量巨大且不用标注
  2. 奠定了之后NLP语言模型的发展基石
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值