语言模型就是用于评估文本符合语言使用习惯程度的模型。

一、定义

我们目前所说的语言模型主要指的是统计语言模型。
统计语言模型是一个单词序列上的概率分布,对于一个给定长度为m的序列,它可以为整个序列产生一个概率 P(w1,w2,…,wm)。其实就是想办法找到一个概率分布,它可以表示任意一个句子或序列出现的概率。

二、建立统计语言模型

对于一个由T个词按顺序构成的句子s=w1w2w3...wt,p(s)实际上求解的是字符串w1w2w3...wt的联合概率,利用贝叶斯公式,链式分解如下:
P(s)=P(w1w2w3...wt)=P(w1)P(w2w1)P(w3w1w2)P(wTw1...wT1)
从上面可以看到,一个统计语言模型可以表示成,给定前面的的词,求后面一个词出现的条件概率。我们在求p(s)时实际上就已经建立了一个模型,这里的p(*)就是模型的参数,如果这些参数已经求解得到,那么很容易就能够得到字符串s的概率。

由于上式中的参数过多,因此需要近似的计算方法。常见的方法有n-gram模型方法、决策树方法、最大熵模型方法、最大熵马尔科夫模型方法、条件随机域方法、神经网络方法,等等。

10-07 17:56