这一章终于涉及到了模型(Model),我最喜欢的东西。统计学来分析句子的句法,并非舍弃了语言规则,明显这里用到的就是各种词语或者词语组合在句子中出现的概率。
假设S为某一个有意义的句子,由一连串特定顺序排列的词
组成,这里的n是句子的长度。我们想知道S在文本中出现的可能性,也就是数学上所说的S的概率P(S)。既然
,那么
,利用条件概率的公式,S这个序列出现的概率等于每一个词出现的条件概率相乘,于是:
这里
表示第一个词
出现的概率,
表示已知第一个词的前提下,第二个词出现的概率,这样第n个词
出现的概率取决于它前面所有的词。
俄罗斯数学家马尔科夫给了个偷懒却有效的方法,每当遇到这种情况时,就假设任意一个词
出现的概率只同它前面的词
有关,于是这种问题就变得简单了。这种假设数学上称为马尔科夫假设。
这样S出现的概率便变得非常简单了。
这个公式对应的统计语言模型是二元模型。如果假设一个词由前面的N-1个词决定,对应的模型称为N元模型。而条件概率又等于联合概率除以边缘概率,最终得到了条件概率如下:
即这两个词在统计的文本中前后相邻出现了多少次
;以及
本身在同样的文本中出现了多少次
。
一个复杂的问题居然可以变得如此简单,这就是数学的美妙之处。
本章的延伸阅读部分,给出了高阶语言模型,这里的高阶,其实就是假定当前的词语与之前的N-1个词语有关,而不是跟之前所有的词语有关。一般用三元的就够了,因为即使模型的阶数再高,也有无法处理的情况,即上下文跨度非常大的情况。
另外由于涉及到部分出现概率很少的情况,所以图灵和古德两位科学家提出了古德-图灵估计,即对暂时没有看见的事件,我们也不能认为它发生的概率为0,就从概率的总量中,分配一个很小的比例给那些没有看见的时间,这样一来,看得见的时间概率总和就小于1,因此,需要将当前看见的事件的概率调小一些。至于小多少,根据“越是不可信的统计折扣越多”。
假定在语料库中,出现r次的单词有Nr个,特别的,未出现的词数量为N0,语料库的大小为N,那么有
当r较小时,它的统计可能不可靠,那么出现r次的词语在计算它们概率的时候要用更小一点的次数,用
表示,而不用r,古德-图灵公式为:
一般来说,出来一次的词的数量比出现两次的多,出现两次的词的数量比出现三次的多,也就是Nr是递减的,这样一般情况下,
且
,就解决了零概率的问题。
这时仍然有:
这一章的内容并不复杂,虽然用到了概率论的一些知识,倒数第二小节是估计二元和三元模型概率的公式,这里不再摘录,但给了一个阈值,频率超过阈值的,直接采用它们在语料库中的相对频度,频率小于阈值的,就采用古德-图灵公式计算相对频度,剩下的则满足总和为1就可以了。
第4章是中文分词,比较简单,第5章涉及到隐马尔科夫模型,这个是自己工程项目中完全可以用到的,真的是越看越有兴趣了。不过现在感受很少,纯粹是学习和了解为主,希望后面能有更多的感悟和心得了。