确切的来说,《数学之美》并不是一本书,它是谷歌黑板报中的一系列文章,介绍数学在信息检索和自然语言处理中的主导作用和奇妙应用,每一篇文章都不长,但小中见大,从看似高深的高科技中用通俗易懂的案例展示了数学之美。
看了数学之美,立即联想到了金庸小说中的武林高人,总是把一套大多数人都会的入门功夫使得威力无比,击溃众多敌者。东西放在那,它的威力如何,并键在于使用者,武术如此,数学同样如此。于我而言,语音视别是一类高科技,作为非专业人土,深觉高奥。但看完数学之美之后,顿感惊诧,原来如此深奥东西的解决方法自己也学过,并且理工科读过大学的人都学过,那就是统计学中的条件概率p(a/b),即b事件发生条件下a事件发生的概率。如果s表示一连串特定顺序排列的词w1,w2,…,wn,换句话说,s可以表示某一个由一连串特定顺序排练的词而组成的一个有意义的句子。现在,机器对语言的识别从某种角度来说,就是想知道s在文本中出现的可能性,也就是数学上所说的s的概率用p(s)来表示。利用条件概率的公式,s这个序列出现的概率等于每一个词出现的概率相乘,于是p(s)可展开为:p(s)=p(w1)p(w2|w1)p(w3|w1w2)…p(wn|w1w2…wn-1)其中p(w1)表示第一个词w1出现的概率;p(w2|w1)是在已知第一个词的前提下,第二个词出现的概率;以次类推。不难看出,到了词wn,它的出现概率取决于它前面所有词。从计算上来看,各种可能性太多,无法实现。因此我们假定任意一个词wi的出现概率只同它前面的词wi-1有关(即马尔可夫假设),于是问题就变得很简单了。现在,s出现的概率就变为:p(s)=p(w1)p(w2|w1)p(w3|w2)…p(wi|wi-1)…(当然,也可以假设一个词又前面n-1个词决定,模型稍微复杂些。)接下来的问题就是如何估计p(wi|wi-1)。现在有了大量机读文本后,这个问题变得很简单,只要数一数这对词(wi-1,wi)在统计的文本中出现了多少次,以及wi-1本身在同样的文本中前后相邻出现了多少次,然后用两个数一除就可以了,p(wi|wi-1)=p(wi-1,wi)/p(wi-1)。也许很多人不相信用这么简单的数学模型能解决复杂的语音识别、机器翻译等问题。其实不光是常人,就连很多语言学家都曾质疑过这种方法的有效性,但事实证明,统计语言模型比任何已知的借助某种规则的解决方法都有效。比如在google的中英文自动翻译中,用的最重要的就是这个统计语言模型。去年美国标准局(nist)对所有的机器翻译系统进行了评测,google的系统是不仅是全世界最好的,而且高出所有基于规则的系统很多。