一、机器智能
最早提出机器智能的设想的是计算机科学之父阿兰.图灵,提出验证机器是否智能的方法称为图灵测试法。如下图所示:
二、统计语言模型
1.1 核心思想
一个句子是否合理,就是看它的可能性大小如何,至于可能性就用概率来衡量。
1.2 一个句子的二元模型
例如以下一个句子S,为一个词:
则句子的概率为
根据条件概率得
由于计算非常困难,德国数学家马尔可夫提出一种假设:
假设任意一个词出现的概率只同它前面的词
有关。
由此可得二元模型:
1.3 任意一个词的条件概率
根据条件概率定义:
现在估计联合概率和边缘概率
变得比较简单了,只要在语料库中数一数
这对词前后相邻出现了多少次,表示为#
。同样数一数词
在语料库中出现的次数,表示为#
。语料库的大小为#,即可得这些词或者二元组的相对频度:
根据大数定理,只要数据统计量足够,相对频度就等于概率:
由此可得
1.4 高阶语言模型
由二元模型扩展,假设句中的每个词和前面的N-1个词有关,而与更前面的词无关,这样词
的条件概率为:
由于N如果比较大,计算的复杂度将以指数级增加,而且N大于3之后,效果的提升就不明显了,所以实际中应用最多的是N=3的三元模型,Google的系统使用的是四元模型。
其中|V|为一种语言词典的词汇量。N元模型算法的复杂度如下:
空间复杂度为
时间复杂度为
1.5 模型的训练、零概率问题和平滑方法
在第1.3节中条件概率的计算,其中#和#
由对语料库的统计中得到,但语料库未必存在词
,或只出现一两次,此时计算的概率近乎等于零。这就是零概率问题。即使增加数据量,仍会遇到统计不足的问题。
这种用直接比值计算概率,大部分条件概率依然是零,这种模型我们称之为“不平滑”。
古德-图灵估计解决了这个问题,基本思想:
对于没有看见的事件,我们不能认为它发生的概率是零,因此从概率的总量中分配一个很小的比例给这些没看见的事件。此时已将所有看见的事件概率将小于1,至于小多少,要根据“越是不可信的统计折扣越多”的方法进行。