数学之美3 - 统计语言模型

Welcome to MyBlog!
部分借鉴于博客


1. 统计语言模型的提出

1.1 20世纪70年代以前

统计语言模型产生初衷就是为了解决语言识别问题。

一个语音识别系统,听到一下句子:The apple and 「pear」 salad is delicious.
系统它应该如何翻译:The apple and 「pear」 salad is delicious.
还是:The apple and 「pair」 salad is delicious.(pear和pair在英文里发音相同)

科学家们解决以上问题,是通过判断这个文字序列是否合乎语法、含义是否正确。

1.2 20世纪70年代之后

贾里尼克从另外一个角度看待问题,用一个简单的统计模型非常漂亮地搞定了它。

他的想法是:一个句子是否合理,就看看他的可能性大小如何,至于可能性就用概率来衡量。比如上面的“苹果梨和沙拉很好吃”的语音问题,第一个句子出现的概率是10的-20次分,第二个句子出现的概率是10的-25次方。那么,第一个句子是最有可能的。

2. 统计语言模型的数学表示

2.1 贾里尼克提出了一个简单的统计模型

假定S表示某一个有意义的句子,由一串特定顺序排列的词w1,w2,w3….Wn构成的,这里n是句子的长度。那么P(S)就表示S在文本中出现的可能性。

只要把人类自诞生以来说过的话全部统计下,就知道这句话出现的概率了。但是这种方法显然是不可行。因此,需要一个模型来估算P(S)。

但是这里有一个问题,前面的词P(w1),P(w2)都很容易计算,但到了最后一个词Wn,P(Wn|W1,W2,W3,…,Wn-1)的可能性太多,无法估算

2.2 马尔可夫假设

他给出了一个方法,就是假设任意一个词Wt出现的概率只同他前面的词Wt-1有关,于是问题就变得很简单了。

2.2.1 计算过程

2.3 补充:N元模型、高阶模型

2.3.1 n元模型的概念

所谓n元模型,就是假设一个词由前面n-1个词决定。

所以在2.2中提到的马尔可夫假设,就是二元模型。

2.3.2 N一般取值都很小

主要有两个原因:


2.3.3 马尔可夫假设的局限性

在自然语言中,上下文之间的相关性可能跨度非常大,甚至一个段落跨越到另一个段落。三元、四元、甚至是更高阶的模型都不能覆盖所有的语言现象。

3. 模型训练

3.1 “不平滑”现象

3.1.1 原因:零概率和一概率

3.1.2 解决方法1: 卡茨退避法

3.1.3 解决方法2: 删除差值

3.2 语料选取

  • 训练语料和模型应用的领域,不能相脱节
  • 训练数据通常越多越好
  • 在成本不高的情况下,过滤训练数据是需要的

4 扩展