数学常常给人一种深奥和复杂的感觉,但它的本质常常是简单而直接的。美德就如同华贵的宝石,在朴素的衬托下最显华丽。数学的美妙也恰恰在于一个好的方法,常常是最简单明了的方法。
一、文字和语言 VS 数字和信息
文字和语言与数学,从产生起原本就有相同性,虽然它们的发展一度分道扬镳,但最终还是能走到一起。
今天自然语言处理学者们研究的问题,我们的祖先在设计语言之初其实已经遇到了,并且用类似今天的方法解决了,虽然他们的认识大多是自发的,而不是自觉的。他们过去遵循的法则和我们今天探求的研究方法背后有着共同的东西,这就是数学规律。
二、自然语言处理—从规则到统计
人类对机器了解自然语言的认识走了一个大弯路。早起的研究集中采用基于规则的方法,虽然解决了一些简单的问题,但无法从根本上将自然语言理解实用化。直到20多年后,人们开始尝试用基于统计的方法进行自然语言处理,才有了突破性的进展和实用的产品。
基于统计的自然语言处理方法,在数学模型上和通信是相通的,甚至就是相同的。因此,在数学意义上自然语言处理又和语言的初衷—通信联系在一起了。但是科学家们用了几十年才认识到这个联系。
三、统计语言模型
统计语言模型是自然语言处理的基础,并广泛用于机器翻译、语音识别、印刷体或手写识别、拼写纠错、汉字输入和文献查询。
统计语言模型在形式上非常简单,也容易理解。但是里头的学问却很深,一个专家可以在这方面研究很多年。数学的魅力就在于将复杂的问题简单化。
四、谈谈分词
中文分词是中文信息处理的基础,它同样的走过了一段弯路,目前依靠统计语言模型已经基本解决了这个问题。
中文分词以语言模型为基础,经过几十年的发展和完善,今天基本上可以看做是一个已经解决的问题。当然不同人做的分词器有好有坏,这里面的差别主要在于数据的使用和工程实现的精度。
五、隐含马尔可夫模型
隐含马尔可夫模型最初应用于通信领域,继而推广到语音和语言处理中,成为连接自然语言处理和通信的桥梁。同时,隐含马尔可夫模型也是机器学习的主要工具之一。
和几乎所有的机器学习的模型一样,它需要一个训练算法和使用时的解码算法,掌握了这两类算法,就基本上可以使用隐含马尔可夫模型这个工具了。
六、信息的度量和作用
信息是可以量化度量的。信息熵不仅是对信息的量化度量,也是整个信息论的基础。它对于通信、数据压缩、自然语言处理都有很强的指导意义。
信息熵的物理含义是对一个信息系统不确定性的度量,在这一点上,它和热力学中熵的概念有相似之处,因为后者就是一个系统无序的度量,从这一角度讲也是对一种不确定性的度量。这说明科学上很多看似不同的科学之间也会有很强的相似性。
七、贾里尼克和现代语言处理
作为现代自然语言处理的奠基者,贾里尼克成功的将数学原理应用于自然语言处理领域中,他的一生富有传奇色彩。
八、简单之美—布尔代数和搜索引擎
布尔代数虽然非常简单,却是计算机科学的基础,它不仅把逻辑和数学合二为一,而且给了一个新的视角看待世界,开创了数字化时代。牛顿:发觉真理在形式从来就是简单的,而不是复杂含混的。
九、图论和网络爬虫
互联网搜索引擎在建立索引前需要用一个程序自动地将所有的网页下载到服务器上,这个程序称为网络爬虫,它的编写基于离散数学中图论的原理。
随着互联网的出现,图的遍历方法一下子有了用武之地。很多数学方法就是这样,看上去没什么实际用途,但随着时间的推移会突然派上大用场。
十、PageRank—Google的民主表决式网页排名技术
网页排名技术PageRank式早起Google的杀手锏,它的出现使得网页搜索的质量上了一个大的台阶。它的原理是图论和线性代数的矩阵运算。
今天,Google搜索引擎比最初复杂、完善了许多。但是PageRank在Google所有算法中依然是至关重要的。在学术界,这个算法被公认为文献检索中最大的贡献之一,并被很多大学列为信息检索课程的内容。
十一、如何确定网页和查询的相关性
确定网页和查询的相关性是网页搜索的根本问题,其中确定查询中每个关键词的重要性有多高是关键。TF-IDF是目前通用的关键词重要性的度量,其背后的原理是信息论。
十二、有限状态机和动态规划—地图与本地搜索的核心技术
地图和本地服务中要用到有限状态机和动态规划技术。这两项是机器智能和机器学习的工具,它们的应用非常广泛,还包括语音识别、拼写和语法纠错、拼音输入法、工业控制和生物的序列分析等。
十三、Google AK-47的设计者—阿米特辛格博士
在所有武器最有名的是AK-47冲锋枪,因为它从不卡壳,不易损坏,可在任意环境下使用,可靠性好,杀伤力大并且操作简单。Google的产品就是按照上述原理设计的。
十四、余弦定理和新闻的分类
计算机虽然读不懂新闻,却可以准确地对新闻进行分类。其数学工具是看似毫不相干的余弦定理。
这种新闻归类的方法,准确性很好,适用于被分类的文本集合在百万数量级。如果大到亿这样的数量级,那么计算时间还是比较长的。
十五、矩阵运算和文本处理中的两个分类问题
无论是词汇的聚类还是文本的分类,都可以通过线性代数中矩阵的奇异值分解来进行。这样一来,自然语言处理的问题就变成了一个数学问题。
在实际应用中,可以先进行奇异值分解,得到粗分类结果,再利用计算向量余弦的方法,在粗分类的结果的基础上,进行几次迭代,得到比较精确的结果。
十六、信息指纹及其应用
时间万物都有一个唯一标识的特征,信息也是如此。每一条信息都有它特定的指纹,通过这个指纹可以区别不同的信息。
所谓信息指纹,可以简单的理解为将一段信息随机地映射到一个多维二进制空间中的一个点。只要这个随机函数做的好,那么不同信息对应的这些点就不会重合,因此,这些二进制数字就成了原来的信息所具有的独一无二的指纹。
十七、由电视剧《暗算》所想到的—谈谈密码学的数学原理
密码学的根本是信息论和数学。没有信息论指导的密码是非常容易破解的。只有在信息论被广泛应用于密码学后,密码才真正的安全。
密码学的最高境界依然是无论敌方获取多少密文,也无法消除已方情报系统的不确定性。为了达到这个目的,就不仅要做到密文之间相互无关,同时密文还是看似随机的序列。公开密钥是目前最常用的加密办法。
十八、闪光的不一定是金子—谈谈搜索引擎反作弊问题和搜索结果权威性问题
闪光的不一定是金子,搜索引擎排名靠前的网页也未必是有用的网页。消除这些作弊的网页和通信中过滤噪音的原理相同。这说明信息的处理和通信的很多原理是相通的。
噪音存在于任何通信系统,而好的通信系统需要能过滤掉噪音,还原真实的信号。搜索引擎是一个特殊的通信系统,免不了有噪音,反作弊和确定权威性就是去噪音的过程。
十九、谈谈数学模型的重要性
正的数学模型在科学和工程中至关重要,而发现正确模型的途径常常是曲折的。正确的模型在形式上通常是简单的。
正确的模型也可能受噪音干扰,而显得不准确;这时不应该用一种凑合的修正方法加以弥补,而是要找到噪音的根源,这也许能通往重大的发现。
二十、不要把鸡蛋放到一个篮子里—谈谈最大熵模型
最大熵模型是一个完美的数学模型。它可以将各种信息整合到统一的模型中,在信息处理和机器学习中有着广泛的应用。它在形式上非常简单、优美,而在实现时需要有精深的数学基础和高超的技巧。
最大熵模型计算量巨大,在工程上实现方法的好坏决定了模型的实用与否。
二十一、拼音输入法的数学原理
汉字的输入过程本身就是人和计算机的通信。好的输入法会自觉或不自觉的遵循通信的数学模型。当然要做出最有效的输入法,应当自觉使用信息论做指导。
二十二、自然语言处理的教父马库斯和他的优秀弟子们
将自然语言处理从基本规则的研究方法转到基本统计的研究方法上,宾夕法尼亚大学的教授米奇马库斯功不可没。他创立了今天在学术界广泛使用的LCD语料库,同时培养了一大批精英人物。
二十三、布隆过滤器
日常生活中,经常要判断一个元素是否在一个集合中。布隆过滤器时计算机工程中解决这个问题最好的数学工具。
布隆过滤器背后的数学原理在于两个完全随机的数字相冲突的概率很小,因此,可以在很小的误识别率条件下,用很少的空间存储大量信息。补救误识别的常见办法就是再建立一个小的白名单,存储那些可能被误判的信息。布隆过滤器中只有简单的算术运算,因此速度很快,使用方便。
二十四、马尔可夫链的扩展—贝叶斯网络
贝叶斯网络是一个加权的有向图,是马尔可夫链的扩展。而从认识论的层面看:贝叶斯网络克服了马尔可夫链那种机械的线性约束,它可以把任何有关联的事件统一到它框架下面。它在生物统计、图像处理、决策支持系统和博弈论中都有广泛的使用。
二十五、条件随机场、文法分析及其他
条件随机场是计算联合概率分布的有效模型,而语法分析似乎是英文课上英语老师教的东西,这两者有什么联系呢?
条件随机场是一个非常灵活的用于预测的统计模型,它在模式识别、机器学习、生物统计,甚至预防犯罪等方面都有很成功的应用。
二十六、维特比和他的维特比算法
维特比算法是现代数字通信中使用最频繁的算法,同时也是很多自然语言处理的解码算法。可以毫不夸张地讲,维特比是我们今天生活的影响力最大的科学家之一,因为如今基于CMDA的3G移动通信标准主要就是他创办的高通公司制定的。
维特比不仅提供了关键性的发明,而且为了保障其效益在全社会得到最大化,他解决了所有配套的技术。所有试图另辟蹊径的公司都发现,高通公司的标准怎么也绕不开,因为高通已经把能想到的事情都想到了。
二十七、上帝的算法—期望值最大算法
只有一些训练数据,再定义一个最大化函数,采用EM算法,利用计算机经过若干次迭代,就可以得到所要的模型。这实在是太美妙了,这也许是我们造物主刻意安排的。所以我把它称为上帝算法。
二十八、逻辑回归和搜索广告
逻辑回归模型是一种将影响概率的不同因素结合在一起的指数模型,它不仅在搜索广告中起着重要的作用,而且被广泛应用于信息处理和生物统计中。
二十九、各个击破算法和Google云计算的基础
Google颇为神秘的云计算中最重要的MapReduce工具,其原理就是计算机算法的“各个击破”算法,它的原理原来这么简单—将复杂的大问题分解成很多小问题分别求解,然后再把小问题的解合并成原始问题解。由此可见,在生活中大量用到的、真正有用的方法常常都是简单朴实的。
三十、Google大脑和人工神经网络
Google大脑并不是一个什么都能思考的大脑,而是一个很能计算的人工神经网络。因此,与其说Google大脑很聪明,不如说它很算,不过,换个角度来说,随着计算能力不断提高,计算量大但简单的数学方法有时能够解决很复杂的问题。
三十一、大数据的威力—谈谈数据的重要性
如果说在过去的40年里,主导全球IT产业发展的是摩尔定律,那么今后的20年里,主导IT行业继续发展的动力则来自于数据。
虽然人们对于数据的重要性早有认识,但是过去因为存储和计算条件的限制,一般认为数据量够用即可。随着信息技术的发展,当数据计算和存储不再是问题是,人们发现超大量的数据会带来以前意想不到的惊喜,这才导致大数据的兴起。
在未来世界里,人们生活会越来越离不开数据,很多围绕数据收集和处理的工作机会将不断涌现。而掌握处理和利用数据方法的人也必将成为新时代的成功者。推而广之,无论在什么领域,从事什么样的工作,谁懂得数据的重要性,谁会在工作中善用数据,就更有可能获得成功。