第一天阅读《数学之美》

之前读书没有做记录,总感觉漏了些什么,决定以后每天读书后做笔记。

买书纯粹是为了凑单满减,书买来了几个月了,今天闲来没事,就拿来看看。

先上书的图

根据我看的前几章来看,这本书讲的是自然语言处理,从一开始的人与人之间的交流,到我目前看到的,对语言进行词法分析。

自然语言的应用范围就我所知而言,可以应用于语音识别、机器翻译。在20世纪前,自然语言分析发展几乎可以说是无。当时的研究路线是对自然语言使用语法分析,但是理想是丰满的,现实是骨感的。语法分析虽然看起来是非常行的通的,通过二维数据对语句的词进行语法分离,比如:小明打篮球。这个句子按照主谓宾来分,小明是主语,打篮球整体为谓语;再细分的话,打是谓语动词,而篮球是名词。对短句似乎还是没有问题的,但是对于长句的分析是非常困难的,因为对语句进行语法分析需要设定一系列的规则,需要占用大量的算力,这样的程序时间复杂的是指数级别的,一般的计算机根本无法完成这样的计算工作。

随后有人提出了利用数学统计语言模型,而不是语法分析模型。Goole翻译的成功是应用数学统计模型进行自然语言的一大助力。利用统计学建立模型是理论支持是大数定理,大数定理简单来说就是,当一个事件的样本数目足够多的时候,样本中这一事件出现的概率近似于这一事件的概率。通过大数据统计词频,来确认机器翻译时,该翻译成什么词,词的顺序该是怎么样。

统计模型的建立有分一元 二元到多元,代表的意思是模型的建立联系了多少上下文的词,两个词就二元,三个词就三元,一般使用的多是三元模型,到了四元以上的模型建立的性价比就开始下降了,Google搜索使用的是四元模型,但是使用了500多台服务器支撑。

这种基于上下文的分词器,使用了条件概率,当需要基于多个词的分析时,条件概率就会变得非常复杂,因为连条件的条件都是不清晰的。这时就用到了隐含马尔可夫模型,通俗的来说,这是一种偷懒的方法,它不去管条件的条件,它永远只会基于第i-1项求第i项的概率,然后对他们求和。

通信模型同样适用于自然语言模型,解决好编码和解码的问题,自然语言的处理问题就解决大半了。

信息对于自然语言分析是非常重要的,一个系统如果没有信息就只是相当于一个黑盒子,输入的数据量不够,输出自然就不准确;使用过搜索引擎的人都知道,搜索的关键字越多越准确,得到的结果就越是自己想要的。

自然语言处理还有一些复杂的情况,比如有些词有二义性,书中介绍的总统布什Bush就有第二个意思“灌木丛”,当时的机器翻译还不成熟,就把布什翻译成了“灌木丛”。为了解决这个问题,使用了香农提出的互信息,通俗来讲就是,在翻译Bush时,如果同时信息中还出现了总统、白宫等信息,那么就翻译成布什;而附带信息是泥土、潮湿度等信息时,就翻译成灌木丛。而随机变量之间的差别就是条件熵,条件熵越小,差别度越小,这在判断论文是否抄袭很有效,如果是抄袭的论文,会有大量词的词频相近,它们的条件熵比较小。