统计语言模型

统计语言模型是自然语言处理的基础,应用于多个领域。马尔可夫假设简化了计算,提出了二元和三元模型。在处理零概率问题时,采用古德-图灵估计进行平滑。
摘要由CSDN通过智能技术生成

学习笔记1

参考书目:数学之美 吴军 著 第二版

统计语言模型

统计语言模型是自然语言处理的基础,被广泛应用于机器翻译、语音识别、印刷体或手写体识别、拼音纠错、汉字输入和文献查询等。

1.模型原型

语言的数学本质就是说话者将一串信息在头脑中做了一次编码,编码的结果是一串文字,而如果接受的人懂得这门语言,他就可以用这门语言的解码方式获得说话人想表达的信息。那么不免想到将编码规则教给计算机,这就是基于规则的自然语言处理。但是事实证明基于规则行不通,因为巨大的文法规则和语言的歧义性难以解决。所以出现了基于统计的自然语言处理(NLP)。基于统计的NLP的核心模型是通信系统加隐含马尔可夫模型。

看一个句子是否合理,就看它的合理性有多少,就是它出现的概率大小:
   假定句子         S(W1,W2,......,Wn)            Wi 代表词
   其概率为         P(S) = P(W1,W2,.......,Wn)
   根据条件概率公式,每个词出现的概率等于之前每个词出现的条件概率相乘,于是
   P(W1,W2,......,Wn) = P(W1) · P(W1 | W2) · P(W3 | W1,W2) ··· P(Wn | W1,W2,......Wn-1)
但是这样计算量太大,句子越长越麻烦,因此Andrey Markov 提出了一种偷懒的方法,即马尔可夫假设:假设任意一个词出现的概率只与它前面的一个词有关。
   因此  P(S) = P(W1) · P(W1 | W2) · P(W3 | W2) ··· P(Wn | Wn-1)        
这就是二元模型(Bigram Model), 相应的,高阶语言模型即任意一个词 Wi 出现的概率只与它前面的 i-1 个词有关。元数越高越准确,但相应越复杂,越难实现,我们一般使用三元模型就够了。
那么如何计算这个概率呢,这就是统计语言模型的核心统计了,实际上是做了近似处理,即在统计量足够大的情况下:
 因为 P(Wi | Wi-1) =  P(Wi-1,Wi) / P(Wi-1) = 联合概率 / 边缘概率
                   =两个词一起出现的次数 / 单个词出现的次数

2.零概率问题和平滑的方法

统计中可能出现没有统计到某个词(边缘概率为0)或者某两个词在一起的情况只出现了一次(联合概率为1)的情况,就会导致十分绝对的概率出现,模型就不可靠。直接的解决方法是增加统计的数据量,但是数据不够时。需要使用一个重新计算概率的公式,就是古德-图灵估计(Good-Turing Estimate)

古德-图灵估计(Good-Turing Estimate)

其原理是:对于没有出现的概率,我们从概率总量中分配一小部分给它们,看见的事件的概率总量就小于1,这样就不会出现概率为1和0的情况了。对应的语言模型也要做一些调整,最早由卡兹(S.M.Kate)提出,称为卡兹退避法(Kate backoff)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值