个人见解:数学起源于数,来自于对物质世界精确的观测,可以精确的运算。所以数学更接近物理世界;哲学起源于人们用自己的语言(英语,汉语……)来概括世界,所以哲学更接近生活,或者说更接近“正常人”的思考习惯。
第一章 文字和语言VS数字和信息
不同的文明,因为地域的原因,历史上相互隔绝 便会有不同的文字,随着文明的融合和冲突 不同文明下的人们需要进行交流 或者说通信 那么翻译的需求便产生了,翻译这件事之所以能够达成 仅仅是因为不同的文字系统在记录信息上的能力是等价的。文字只是信息的载体 而非信息本身。
文字本身的载体是石头还是纸张并不重要 它所承载的信息才是最重要的。
我们的祖先很聪明 他们发明了进位制 也就是我们今天说的逢十进一
解码的规则、语法
在中国 解码的规则是乘法:二百万=2 * 100 * 10000;
在罗马 解码的规则是减法:IV V VII 小数字出现在大数字左边为减,右边为加。
古印度人发明了包括0在内的10个阿拉伯数字。
将日常的白话口语写成精简的文言文本身是信道压缩的的过程 而将文言文解释清楚是解压缩的过程。
在蔡伦发明纸张之前 书写文字是很困难的问题 要惜墨如金。所以古文非常简洁 但非常难懂 但同时期的口语却和今天的白话差别不大 语句较长但是易懂。 这种现象非常符合今天信息科学(和工程)的一些基本原理,就是在通信时,若信道较宽 信息不必压缩就可以直接传递;而如果信道很窄 信息在传递前需要尽可能压缩 然后再接收端进行解压缩。
当犹太学者抄完一页《圣经》时 需要把每一行的文字加起来,看看新的校验码是不是和原文相同,然后对每一页进行同样的处理。类似于今天计算机和通信中校检码的方法。
第二章 自然语言处理——从规则到统计
语言的出现是为了人类之间的通信。任何一种语言都是一种编码的方式 而语言的语法规则时编解码的算法。表达一种意思 就是用这种语言的编码方式对头脑中的信息做了一次编码,编码的结果就是一串文字。而如果对方懂得这门语言 他就可以用这门语言的解码方法获得说话人要表达的信息。这就是语言的数学本质
1956年的夏天 在“达特茅斯夏季人工智能研究会议”提出了人工智能这个提法。(真是可怕 六十多年前 科学家就在讨论人工智能、神经网络等技术)该会议的一一超过10个图灵奖。这十位被称为时20世纪it领域最优秀的科学家 开创了很多今天依然活跃的研究领域。
即使学了十年的语法 也不能涵盖所有的英语。
自然语言
自然语言通常是指一种自然地随文化演化的语言。英语、汉语、日语为自然语言的例子,而世界语则为人造语言,即是一种由人蓄意为某些特定目的而创造的语言。 不过,有时所有人类使用的语言(包括上述自然地随文化演化的语言,以及人造语言)都会被视为"自然"语言,以相对于如编程语言等为计算机而设的"人造"语言。这一种用法可见于自然语言处理一词中。自然语言是人类交流和思维的主要工具。
自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的。随着计算机和互联网的广泛应用,,也随之衍生出了一系列的产品。相对而言,截止到2012年,国外在该领域的研究投入和成果都相对领先于国内,尤其汉语天然就相对于其他语种更为复杂,更为难以分析。
基于规则的句法很快就走到了尽头。统计语言学的出现使得自然语言处理得到重生。
基于规则的自然语言处理和基于统计的自然语言处理的争执持续了15年左右的原因:
1.一种新的研究方法的成熟需要很多年。
2.需要等原有一批语言学家退休。
老科学家可以理解为“老的科学家”和“老科学的家”两种。若是后者 他们年纪不算老 但是已经落伍 大家必须耐心等待他们退休让出位子。毕竟不是所有人都乐意改变自己的观点,无论对错。
第三章 统计语言模型
贾利尼克出发点:一个句子是否合理 就看看它的可能性大小如何。至于可能性就用概率来衡量。
基本原理:N元模型(假设前提:句中的每个词和前面的所有词有关)和二元模型(假设前提:句中的每个词只和前面的一个词有关)
大数定律,只要统计量够足 相对频率就等于概率
当N从1上升到2 再从2到3时 模型的效果上升显著。而当模型从3到4时 效果的提升就不是很显著了 而资源耗费的特别快 所以 除非是不惜资源为了做到极致 很少有人使用四元以上的模型。Google的罗塞塔翻译系统和语言搜索系统 使用的是四元模型 。
训练数据通常是越多越好。
数学的魅力就在于将复杂的问题简单化。
第四章 谈谈中文分词
中文分词方法可以帮助判别英语单词的边界。
任何方法都有其局限性 统计语言模型很大程序上时依照“大众的想法”或者“多数句子的用法” 而在特定情况下可能是错的。
分词器的选用的所谓正确的人工粉刺的数据是如何得来的。不能讲一个准确率在97%的分词器就比95%的要好 只能讲与人工分词结果的吻合度稍微高一点而已。人工分词不一样的原因主要在于人们对词的颗粒度的认识问题。
最好的方法是让一个分词器同时支持不同层次的词的切分。由不同的应用自行决定采用哪个颗粒度的划分。
第五章 隐含马尔可夫模型
语音识别就是听话的人去猜测说话者要表达的意思。这其实就像通信中 根据接收端收到的信号去分析、理解、还原发送端传送过来的信息。
我们平时在说话时 脑子就是一个信息源。我们的喉咙(声带)、空气 就是如电线和光缆一般的信道。听众的耳朵就是接收器 而听到的声音就是传送过来的信号。根据声学信号来推测说话者的意思 就是语音识别。若接收端时一台计算机而不是人 那么计算机要做的就是语音的自动识别。
第六章 信息的度量和作用
信息熵 (shang) 量化信息 解决了信息的度量问题。
信息熵:信息是个很抽象的概念。人们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。比如一本五十万字的中文书到底有多少信息量。通常,一个信源发送出什么符号是不确定的,衡量它可以根据其出现的概率来度量。概率大,出现机会多,不确定性小;反之就大。
不确定性函数f是概率P的单调递降函数;两个独立符号所产生的不确定性应等于各自不确定性之和,即f(P1,P2)=f(P1)+f(P2),这称为可加性。同时满足这两个条件的函数f是对数函数,即
在信源中,考虑的不是某一单个符号发生的不确定性,而是要考虑这个信源所有可能发生情况的平均不确定性。若信源符号有n种取值:U 1…U i…U n,对应概率为:P 1…Pi…P n,且各种符号的出现彼此独立。这时,信源的平均不确定性应当为单个符号不确定性-logP i的统计平均值(E),可称为信息熵,即
式中对数一般取2为底,单位为比特。但是,也可以取其它对数底,采用其它相应的单位,它们间可用换底公式换算。
直到1948年,香农提出了“信息熵”的概念,才解决了对信息的量化度量问题。信息熵这个词是C.E.香农从热力学中借用过来的。热力学中的热熵是表示分子状态混乱程度的物理量。香农用信息熵的概念来描述信源的不确定度。
信息论之父 克劳德·艾尔伍德·香农第一次用数学语言阐明了概率与信息冗余度的关系。
《博弈圣经》
信息熵:信息的基本作用就是消除人们对事物的不确定性。多数粒子组合之后,在它似像非像的形态上押上有价值的数码,具体地说,这就是一个在博弈对局中现象信息的混乱。
香农指出,它的准确信息量应该是
-(p1*log(2,p1) + p2 * log(2,p2) + ... +p32 *log(2,p32)),
信息熵
其中,p1,p2 , ...,p32 分别是这 32 个球队夺冠的概率。香农把它称为“信息熵” (Entropy),一般用符号 H 表示,单位是比特。
有兴趣的读者可以推算一下当 32 个球队夺冠概率相同时,对应的信息熵等于五比特。有数学基础的读者还可以证明上面公式的值不可能大于五。对于任意一个随机变量 X(比如得冠军的球队),它的熵定义如下:
变量的不确定性越大,熵也就越大,把它搞清楚所需要的信息量也就越大。
信息熵是信息论中用于度量信息量的一个概念。一个系统越是有序,信息熵就越低;
反之,一个系统越是混乱,信息熵就越高。所以,信息熵也可以说是系统有序化程度的一个度量。
一条信息的信息量和它的不确定性有着直接的关系。
比如我们要搞清楚意见非常不确定的事情 或是我们一无所知的事情 需要了解大量的信息。相反 如果我们对一件事已经有了较多的了解 那么就不需要太多的信息就能把它搞清楚。所以 从这个角度看 信息量就等于不确定的多少。
香农用“比特”(bit)这个概念来度量信息量。
冗余度:
如果一本书重复的内容很多 它的信息量就小 冗余度就大.
简单地说,所谓冗余度,就是从安全角度考虑多余的一个量,这个量就是为了保障仪器、设备或某项工作在非正常情况下也能正常运转。目前大多现代产品和工程设计中都应用了冗余度这个思想和理论。在许多医疗单位中药品存量不足,卫生材料存量不够,一遇突发事件,就会造成缺货,造成涨价风波,影响社会安定。在我们的医院中,由于各项费用都与经济效益挂钩,医疗设备等卫生装备冗余度很不够,基本上只能按平时的正常运转设置,甚至有的都没达到。一遇突发事件,这点装备就显得严重不足。
冗余度,通俗的讲就是数据的重复度。在一个数据集合中重复的数据称为数据冗余
在数据传输中,由于衰减或干扰会使数据代码发生突变,此时就要提高数据代码的抗干扰能力.
这必须在原二进制代码长度的基础上增加几位二进制代码的长度,使相应数据具有一定的冗余度,也称做富裕度.
在地理信息系统中,数据冗余度的计算公式是:
R=1-(Q/mn)
式中:Q为相邻属性值变化次数的累加和
m为行数
n为列数
汉语在所有语言中冗余度是相对小的。一本英文书 翻译成汉语 若字体大小相同 那么中译本一般都会薄很多。汉语相对是比较简洁的语言。
信息是消除系统不确定性的唯一办法 (在没有获得任何信息前 一个系统就像是一个黑盒子 引入信息 就可以了解黑盒子系统的内部结构)
第7章 贾利尼克和现代语言处理
每当弗莱德和我谈论起各自少年时的教育时,我们都同意这样几个观点。首先 小学生和中学生其实没必要花这么多时间读书 而他们的社会经验、生活能力以及在那时树立起的志向将帮助他们的一生,第二 中学阶段可以花很多时间比同伴多读的课程 在大学以后用非常短的时间就可以读完 因为在大学阶段 人的理解能力要强得多,举个例子 在中学需要花500个小时才能学会的内容 在大学可能花100个小时就够了。一次 一个学生在中小学阶段建立的那一点点优势在大学很快就会丧失殆尽。第三 学习(和教育)是一个人一辈子的过程 很多成绩好的亚裔学生进入名校后表现明显不如那些因兴趣而读书的美国同伴 因为前者不断读书的动力不足。第四 书本的内容可以早学 也可以晚学 但是错过了成长阶段却是无法弥补过来的。(因此 少年班的做法不可取)
我一直认为 一个人想要在自己的领域中做到世界一流 他的周围必须有非常多的一流人物。
大多数时候 很多的历史偶然性背后有着它必然的原因 统计自然语言处理诞生于IBM看似有些偶然 但是当时只有IBM才有这样的计算能力 又有物质条件同时聚集起一大批世界上最聪明的头脑。
贾利尼克从头做起 他主要做了两件大事 两件小事。两件大事是 首先 从美国正读主管研究的部门里申请到了很多研究经费 然后每年夏天 他用一部分惊飞 邀请世界上20-30名顶级的科学家和学生到CLSP一起工作 使得CLSP成为世界上语音和语言处理的中心之一。 两件小事是指:首先他招募了一批当时很有潜力的年轻学者 利用自己的影响力 在暑期把他们派到世界上最好的公司去实习 通过学生的优异表现 树立起CLSP在培养人才方面的声誉。
第8章 布尔代数和搜索引擎的索引
文献索引和布尔运算的关系。对于一个用户输入的关键词,搜索引擎要判断每篇文献是否含有这个关键词 若一篇文献中含有它 我们相应的就给这篇文献一个逻辑值——真(TRUE或1) 否则 给一个逻辑值——假 (FALSE或0)。
布尔代数对于数学的意义等同于量子力学对于物理学的意义 它们将我们对世界的认识从连续状态扩展到离散状态。
搜索引擎在零点零几秒钟找到成千上万甚至上亿的搜索结果。暗藏的技巧就是建索引 可以联系到图书馆的索引 基于数据库的 至今如此 数据库的查询语句(SQL)支持各种负责的逻辑组合 但背后的基本原理都是基于布尔运算的。
当索引特别大的时候 这些索引需要通过分布式的方式存储到不同的服务器上,普遍的做法就是根据王爷的序号将索引分成很多份 分别存储在不同的服务器中。每当接受一个查询时 这个查询就被分到=发到许许多多服务器中 这些服务器同时并行处理用户请求 并把结果送到主服务器进行合并处理 最后将结果返回给用户。
“(人们)发觉真理在形式上从来是简单的 而不是复杂和含混的。”
第9章 图论和网络爬虫
这里来介绍图论和互联网自动下载工具网络爬虫 之间的关系。
图论的起源可追溯到大数学家欧拉诞生的那个年代。
广度优先搜索
深度优先搜索
互联网可以看成一张大图——可以把每一个网页当作一个节点 把那些超链接当作连接网络的弧。
有了超链接 我们可以从任何一个网页出发 用图的遍历算法 自动的访问到每一个网页并把它们存起来 完成这个功能的程序叫做网络爬虫 或者在一些文献中称为“机器人”。
假定从一家门户网站的首页触发 先下载这个网页 也就知道了这家猛虎网站首页所直接链接的全部网页 诸如雅虎邮件、雅虎财经 雅虎新闻等。接下来访问、下载并分析这家门户网站的邮件等网页 又能找到其他相连的网页。让计算机不停的做下去 就能下载整个的互联网。当然也要记录哪个网页下载过了 在网络爬虫中 使用一个称为“哈希表”的列表来记录。
定理:如果一个图能够从一个顶点出发 每条边不重复的遍历一遍回到这个顶点 那么每一顶点的度必须为偶数。
搜索引擎的网络爬虫问题更应该定义为“如何在有限时间内最多的爬下最重要的网页”。显然各个网站最重要的应该是它的首页。如果爬虫特别小 只能下载非常有限的网页 那么应该下载的是所有网站的首页 如果把爬虫再扩大些 应该爬下从首页直接链接的网页。在这个前提下 显然BFS(广度优先)明显优于DFS(深度优先)。
在图论出现后的很长一段时间 现实世界中图的大小都是在几千个街店以下的规模。那时候图的遍历是一件很简单的事情 因此再工业界没有多少人专门研究这个问题。过去 即使是计算机专业的学生 大部分人也体会不到这个领域的研究有什么实际用处 因为大家在工作中可能一辈子都用不到它。
很多数学方法就是这样 看上去没有什么实际用途 但是随着时间的推移会一下子派上大用场。这恐怕是世界上还有很多人毕生研究数学的原因。
第10章 PageRank——Google的民主表决式网页排名技术
对于大部分用户的查询 今天的搜索引擎 都会返回成千上万条结果 那么应该如何排序 把用户最想看到的结果排在前面呢?这个问题很大程度上决定了搜索引擎的质量。
总的来说 对于一个特定的查询 搜索结果的排名取决于两组信息 关于网页的质量信息(quality),和这个查询与每个网页的相关性信息(relevance)。这一章介绍衡量网页质量的方法 下一张介绍度量搜索关键词和网页相关性的方法。
PageRank的核心思想:在互联网上 如果一个网页被很多其他网页所链接 说明它受到普遍的承认和信赖 那么它的排名就高。于是要给这些链接以较大的权重。
网页排名的高明之处在于它把整个互联网当作一个整体来对待。
第11章 如何确定网页和查询的相关性
如何度量网页和查询的相关性
需要根据网页的长度 对关键词的次数进行归一化 也就是用关键词的次数除以网页的总字数。我们把这个商称为“关键词的频率”。
度量网页和查询的相关性 有一个较简单的方法 就是直接使用各个关键词在网页中出现的总词频。
一个小漏洞 “的”这种类型的词占了词频的80%以上 而他对确定网页的主题几乎没什么用处。我们称这种词为“停止词”。也就是说 在度量相关性时 不应考虑它们的频率。
权重的设定必须满足下面两个条件:
1.一个词预测主题的能力越强 权重越大 反之 权重越小。
2.停止词的权重为0.
第12章 地图和本地搜索的最基本技术——有限状态机和动态规划
智能手机的定位和导航功能 里面的关键技术只有三个:第一时利用卫星定位;第二是地址的识别;第三 根据用户输入的起点和终点 在地图上规划最短路线或者最快路线。
一个有限的状态机是一个特殊的有向图 包括一些状态(节点)和连接这些状态的有向弧。
有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。
使用有限状态机识别地址 关键要解决两个问题 即通过一些有效的地址建立状态机 以及给定一个有限状态机后 地址字串的匹配算法。
第14章 余弦定理和新闻的分类
TF-IDF
英语:term frequency–inverse document frequency)
向量距离的度量
若两个新闻属于同一类 它们的特征向量在某几个维度的值都比较大 而在其他维度的值就比较小。
可以通过计算两个向量的夹角来判断对应的新闻主题的接近程度。余弦=1时,两向量夹角为零 两条新闻完全相同。
第15章 信息指纹及其应用
只要产生随机数的算法足够好 就能保证几乎不可能有两个字符串的指纹相同 就如同不可能有两个人的指纹相同一样。
首先 将这个字符串看成是一个特殊的 长度很长的整数。一个产生信息指纹的关键算法:伪随机数产生器算法 通过它能将任意很长的整数转换成特定长度的伪随机数。
信息指纹的用途远不止网址的消重 它的孪生兄弟是密码。信息指纹的一个特征是不可逆性 也就是无法根据信息指纹推出原有信息。这种性质 正是网络加密所需要的。
这本书的目的是讲“道”,而不是去讲多么具体的“术”。因为很多具体的技术很快就会变得落伍。追求“术”的人,一辈子都会很辛苦。只有掌握了技术的本质和精髓,做事才能游刃有余。
阿米特·辛格。他是美国工程院院士,谷歌公司内的一位技术大神。辛格做事情的哲学,是先帮助用户解决80%的问题,再慢慢解决剩下20%的问题,这就让他总是能在较短的时间里较好的解决问题。阿米特·辛格还奉行简单的哲学,他认为最简单的东西往往是最好的。因为他认为越简单的事情越容易解释道理,这样可以方便查找错误。