'微软雅黑';">这样的方式在计算上比较麻烦,而有了一个较为偷懒的假设“马尔科夫假设”,假设后一个词的出现只与前一个词相关,公式的形状如下:
ntface="微软雅黑">
ntface="微软雅黑">P(S)=P(w1)P(w2|w1)P(w3|w2)…P(wi|wi-1)…
'微软雅黑';">这种假设的局限性在于:“
ntface="楷体">在自然语言中,上下文之间的相关性跨度可能很大,甚至可以从一个段落跨到另一个段落。因此即便再怎么提高模型的阶数,对这种情况也无可奈何.
'微软雅黑';">”
ntface="微软雅黑">
'微软雅黑';">模型的训练
'微软雅黑';">
'微软雅黑';">一个直观的表达是:“
ntface="楷体">通过对语料进行统计得到上面公式中所有的条件概率。
'微软雅黑';">”的过程即为模型训练。
'微软雅黑';">
'微软雅黑';">大数定理告诉我们:“
ntface="楷体">在试验不变的条件下,重复试验多次,随机事件的频率近似于它的概率。
'微软雅黑';">”使得当语料库越庞大时,我们能获得越精准的条件概率。就好像,我们对一个事情发展的预估,往往和我们在这件事情上的直观经验的积累相关。
'微软雅黑';">对于语料库中没有出现过的词的组合
'微软雅黑';">
'楷体';">
ntface="微软雅黑">古德-图灵估计:
'楷体';">“对于没有看见过的事件,我们不能认为它发生的概率就是零,因此我们从概率的总量中,分配一个很小的比例给这些没有看见的事件。”
-------------------------------------------------
-------------------------------------------------
第四章谈谈分词
分词的概念,即表达出什么样的组合算是一个“词”,从句子中把“词”提取出来。
分词的尝试如下:
查字典法:“ntface="楷体">把句子从左到右扫一遍,发现字典里有的词就标注出来,遇到复合词就用最长的词来匹配,遇到不认识的字串就分割为单字词,于是简单的分词就完成了。”(无法处理复杂情况)
统计语言模型的分词方法
假定一个句子有多种分词方法,那么我们看看这几种分词方式出现的概率有多大,采用出现概率最大的分词方式。
分词在中文、韩文、手写英文识别中尤为重要。
ntface="楷体">"分词的不一致性分为错误和颗粒度不一致两种,错误分为两类,一类是越界型错误,另一类是覆盖型错误。"
-------------------------------------------------
-------------------------------------------------
第五章隐含马尔科夫模型
ntface="楷体">隐含马尔科夫模型最初应用于通信领域,继而推广到语音和语言处理中,成为连接自然语言处理和通信的桥梁。同时,隐含马尔科夫模型也是机器学习的主要工具之一。和几乎所有的机器学习模型一样,它需要一个训练算法(鲍姆-韦尔奇算法)和使用时的解码算法(维特比算法),掌握了这两类算法,就基本上可以使用隐含马尔科夫模型这个工具了。
“
ntface="楷体">隐马尔可夫模型是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度
ntface="楷体">分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。”
所以,隐
马尔可夫模型
是一个双重随机过程----具有一定状态数的隐
马尔可夫链
和显示随机函数集。自20世纪80年代以来,HMM被应用于
语音识别
,取得重大成功。到了90年代,HMM还被引入计算机文字识别和移动通信核心技术“多用户的检测”。HMM在生物信息科学、故障诊断等领域也开始得到应用。——《百度百科》
暂时没有看懂算法,先在这做个记录,有个直观的感受。
1.它的状态不能直接观察到
2.能通过观测向量序列观察状态
隐含马尔科夫链是一种缺失了某些状态信息的马尔科夫链,需要通过特定的方式找出这些参数信息。
知乎上有一篇帖子:
如何用简单易懂的例子解释隐马尔可夫模型
-------------------------------------------------
-------------------------------------------------
第六章信息的度量和作用
ntface="楷体">1.“自古以来,信息和消除不确定性是有联系的。”
ntface="楷体">2.“从某种程度来说,信息量就是不确定性的多少。”(香农定理)
ntface="楷体">3.“网页搜索本质上也是利用信息消除不确定性的过程。”
ntface="楷体">“合理的利用信息,而非玩弄什么公式和机器学习的算法,是做好搜索的关键。”
ntface="微软雅黑">互信息
'微软雅黑';">
ntface="微软雅黑">互信息(MutualInformation)是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。
ntface="微软雅黑">
'微软雅黑';">一种直观的表述是:一件事情发生可能会对另一件事情的发生提供参考,即提供有用的辅助信息。
ntface="微软雅黑">
'微软雅黑';">
'微软雅黑';">互信息在自然语言处理的使用:
'微软雅黑';">
'微软雅黑';">主要用于在处理多义词的识别时,利用上下文中的词的信息来确定多义词在本文中是什么意思。
'微软雅黑';">
'微软雅黑';">书中的一个例子是:人名“布什”(Bush)的翻译,它可以译为人名也可以译为“小树丛”。那么如何确定要译为什么呢?一种方法是:分别列出和人名Bush以及“小树丛”Bush出现在一起的概率最大的词(互信息值最大),在检查看看上下文中那类词出现的次数多,哪个多久翻译为哪一个。
'微软雅黑';">哈哈,万一有个植物学家Bush喜欢在小树丛里闲逛那就有点麻烦了吧?
-------------------------------------------------
-------------------------------------------------
第八章简单之美布尔代数和搜索引擎
这一章中讲述了一个搜索引擎大致做的工作,也在这里第一次对搜索引擎有了一个技术上的概念。
在此处引入布尔代数,主要是因为其中定义了二进制的逻辑运算方式。
ntface="楷体">
ntface="楷体">“搜索引擎的原理其实非常简单,建立一个搜索引擎大致需要做这样几件事情:自动下载尽可能多的网页;建立快速有效的索引;根据相关性对网页进行公平准确的排序。”
书中分开几章来介绍,如何下载,如何索引以及如何排序的问题。
一个直观的搜索过程是,输入一个“词”比如说:“辛尼玛是个大傻瓜。”搜索引擎在已经下载好的所有网页中,进行不同颗粒度的“句词”匹配。看哪些网页中有整个句子或者这些搜索词“辛尼玛”“是个”“大傻瓜”,采用特定的网页排序方式对拥有这些关键词的网页进行排名,最终看到的便是我们看到的搜索结果。
整件事情和布尔代数相关的地方在于,布尔代数中定义的逻辑值“true”和“faulse”的运算,可以用非常简单的方法表征出一个网页是否有特定的关键词。并能进行有效的逻辑运算,而布尔代数的逻辑运算在计算机的实现上是非常简单的。
书中介绍了一种简单的索引方式,在这写一个简单的例子:
假如整个互联网有5个网页,我们需要从这5个网页中搜索出“辛尼玛”相关的网页,如何从5个网页中挑选出和我输入的搜索词相关的网页呢?
对于每一个词有一个5bit的二进制数,来表示5个网页中是否有这个词。
例如:
辛尼玛:11011那么表示只有第三个网页中没有这个词的出现。
在索引时就将四个有“辛尼玛”这个关键词的网页列出来,至于列出后如何排序则是本书后面的章节要说的内容。
“常见的搜索引擎通常会对所有的词进行索引”意味针对每一个词都有一个这样的二进制数,所以实际搜索引擎面对的就是这样一个二进制数表来进行字词的搜索。我们可以想象互联网上有多少个网页,书中假定当互联网上有100亿个网页时,保守估计词汇表的大小为30万,索引的大小是100亿×30万=3000万亿。通常的索引中会存更多的信息,因此这个大小会更大。一个服务器的内存是不可能存下整个索引的,因此,普遍的做法是:“ntface="楷体">根据网页的序号将索引分成很多份,分别存储在不同的服务器上。”OK,至此,重温下这句:ntcolor="#ff0000">“
ntcolor="#ff0000">'楷体';">简单性和模块化是软件工程的基石;分布式和容错性是互联网的生命。——蒂姆·伯纳斯·李(WWW的发明人)”
听起来,搜索引擎使用了一个很笨的办法来做搜索,与一个图书馆做对比的话,实际上是它把图书馆所有的书都记住了,并为每一个词写了一张数万亿列的表,每次有人问他,这个词在哪些书中有的时候,他就把表拿出来找一下,根据他的经验丢一堆书给你。当然,往往是你给定的修饰词越多他给出的答案就越准确(就是你给出的信息量越大,他给出的答案越准确,因为你消除了一定的不确定性,霍霍,好像绕回到信息论了)。不过,谁让人家有数以万计的脑袋,转速还比你快呢。哈哈
说到这,突然想起之前一直想学习下图书馆学,这个冲动来源于一个这样的认识:任何一个知识体系、事物的组织体系,总是从事物的分类和关联来组织的,想要去见识下人类对知识和事物的分流方式以及处理他们的关联的方式,我想一定可以在图书馆学中找到一些有用的信息。
-------------------------------------------------
-------------------------------------------------
第九章图论和网络爬虫
这一章讲搜索引擎用了什么样的数学原理,把整个互联网下载下来。
这件事情和图论相关的地方在于,需要利用图论中的遍历算法(Traverse)来下载整个互联网中的网页。
没学过图论,尴尬不过这有一篇文章我觉的挺好,我粗翻了一遍,有个大概的认识:
图论算法有图有代码万字总结向前辈致敬
能够和图论关联起来,实际上是出于这样一个认知:多数互联网网站必定能通过其他网页链接到。就是说这些网站总能从某个网站上的链接,链接过去,形成一条通路。这个时候就回到了从“七桥问题”出发的图论问题。像有一张网,一只小虫子要走过网上所有的点。
相关细节请看:“网络爬虫”
(不行了,想起惨痛的数模竞赛打酱油的经历,泣不能言)
-------------------------------------------------
-------------------------------------------------
感觉时间花太多了……还是几句话总结下使用了什么方法解决什么问题吧。
-------------------------------------------------
-------------------------------------------------
第十章PageRankgoogle的民主表决式网页排名技术
“在互联网上,如果一个网页被很多的其他网页所链接,说明它受到普遍的承认和信赖,那么它的排名就高。这就是pagerank的核心思想。当然谷歌的PageRank算法实际要复杂很多。”详情见
googlepagerank百度百科
“网页排名算法的高明之处在于它把整个互联网当作一个整体来对待。”
-------------------------------------------------
-------------------------------------------------
第十一章如何确定网页和查询的相关性
使用一个词在文章中出现的频率做出一个相关性的评价,同时将这个词的“主题”性价值作为权重加入到这个评价的生成过程中。
ntface="楷体">影响搜索引擎质量的诸多因素,出了用户点击数据之外,都可以归纳成下面四大类问题:
ntface="楷体">1.完备的索引。俗话说巧妇难为无米之炊,如果一个网页不再索引中,那么再好的算法也找不到。
ntface="楷体">2.对网页质量的度量,比如PageRank。现在看来PageRank的作用比十年前已经小了很多。今天对网页质量的衡量是全方位的,比如对网页内容权威性的衡量,一些八卦网站的PageRank可能很高,但是他们内容的权威性很低。
ntface="楷体">3.用户偏好。因为不同用户的喜好不同,因此一个好的搜索引擎会针对不同的用户,对相同的搜索给出不同的排名。
ntface="楷体">4.确定一个网页和某个查询相关性的方法。
ntface="楷体">
ntface="微软雅黑">文中说了一个TF-IDT的方式,即看一个词在整篇文章中出现的词频。
ntface="楷体">
'微软雅黑';line-height:1.6;">一个小漏洞是,对于通用词比如说“应用”和专业词汇“原子能”这样的词汇,通用词的词频一定会比主题词的词频高。这个时候就需要对不同的词进行权重的设定。
ntface="微软雅黑">
'微软雅黑';line-height:1.6;">1.一个词预测主题的能力越强,权重越大,反之越小。
'微软雅黑';line-height:1.6;">
'微软雅黑';line-height:1.6;">2.停止词的权重为0。
'微软雅黑';line-height:1.6;">
'微软雅黑';">如何使通用词获得较低权重,文中描述了这样的方式:如果一个词w在Dw个网页中出现过,Dw越大则w的权重越小,反之亦然。在信息检索中,使用最多的权重是“逆文本频率指数”IDF。
'微软雅黑';">
-------------------------------------------------
-------------------------------------------------
第十二章有限状态机和动态规划——地图与本地搜索的核心技术
ntface="微软雅黑">状态机在数字电路设计中使用的很多,刚好在课设中做过DTW的HDL设计,这一章和我的经历还蛮相关的。
'微软雅黑';line-height:1.6;">
'微软雅黑';">在有限状态机中介绍了,地址信息的解析方式:
但是在当用户地址不太标准或者有错别字时,有限状态机就会束手无策,因为它只能进行严格的匹配。为此科学家们提出了基于概率的有限状态机。
要寻找北京到广州的最短路径,使用的动态规划问题实际和DTW很像。
先计算出从北京出发到这条线上所有的城市的最短路径,最后得到一个到达广州的最短路径。
-------------------------------------------------
-------------------------------------------------
第十三章GoogleAK-47的设计者——阿密特·辛格博士
-------------------------------------------------
-------------------------------------------------
ngstyle="line-height:1.6;">第十四章余弦定理和新闻分类
余弦定理在新闻分类中的使用,实际是利用两篇新闻的主题词组成的向量之间的夹角的大小来确定新闻的归类。
ngstyle="line-height:1.6;">
在使用中有一个简单的认定,相类似的主题词出现的概率越相似的新闻,那么他们之间的相似性越大,可进行归类。如何评价多个主题词之间的相似性呢?见下文:
ngstyle="line-height:1.6;">
如何应用余弦定理呢?假设,整个网络中有64000个词,那么将这64000个词进行编号,组成一个64000维的空间,每一篇文章中指定词出现的TF/IDF值作为该文章在该空间中指定方向上的坐标值。那么,一篇文章中所有的主题词的TF/IDF值组成了这篇文章在这个64000维度空间中的一个向量。将两篇文章组成的两个向量放在一起,我们计算两个向量的夹角,以确定这两篇文章的相似性。当余弦值越接近于1时,两篇文章越相似,反之越接近于0,则越不相似。
-------------------------------------------------
-------------------------------------------------
第十五章矩阵运算和文本处理中的两个分类问题
本章解决一个问题:如果使用第十四章中引入的向量距离的方法,对数以亿计的网页进行距离计算,计算量过于巨大,而引入了矩阵的运算来计算新闻之间的相似性,一次性把多个新闻的相似性计算出来。利用了矩阵运算中的奇异值分解。
(有没有联想到《线性代数》中矩阵之间向量的线性相关的运算?)
这种方式,将多个新闻的向量组成的矩阵分解为三个小矩阵相乘,
使得计算存储量和计算量小了三个数量级以上。
效果:只要对新闻关联性矩阵进行一次奇异值分解,既可同时完成近义词分类和文章的分类。
计算方法:庞大的网页量,使得计算量非常大,因此需要很多的计算机并行处理。
google中国的张智威博士实现了奇异值分解的并行算法。
-------------------------------------------------
-------------------------------------------------
第十六章信息指纹及其应用
ntface="楷体">“所谓信息指纹,可以简单的理解为将一段信息,随机的映射到一个多维二进制空间中的一个点(一个二进制数字)。只要这个随机函数做得好,那么不同信息对应的这些点就不会重合,因此,这些二进制数字就成了原来的信息所具有的独一无二的指纹。”
ntface="微软雅黑">本章中大略介绍了信息之为在如下领域内的应用:
- '微软雅黑';line-height:1.6;">网页消重。
- ntface="微软雅黑">网络加密传输。
- ntface="微软雅黑">搜索中集合相同的判定。
- ntface="微软雅黑"color="#ff0000">检查文章抄袭的问题。
- ntface="微软雅黑">YouTube的反盗版。
'微软雅黑';">
'微软雅黑';line-height:1.6;">'微软雅黑';line-height:1.6;">1.网页消重'微软雅黑';line-height:1.6;">
'微软雅黑';line-height:1.6;">为所有的不定长的网址随机的映射为一个128bit的二进制数。
ntface="楷体">“
ntface="楷体">把网址内存需求量降低到原来的1/6不到。”ntface="微软雅黑">这个就是网址的信息指纹。ntface="楷体">“可以证明,只要产生随机数的算法足够好,就能保证几乎不可能有两个字符串的指纹相同,就如同不可能有两个人的指纹相同一样。”
'微软雅黑';line-height:1.6;">
ntface="微软雅黑">网页的信息指纹计算的方法:1.将网址字符串看成一个特殊的、很长的整数。2.使用伪随机数产生器算法(PRNG)将这个整数转换成为固定长度的伪随机数。(提及了PRNG算法和梅森旋转)
ntface="微软雅黑">
'微软雅黑';">2.网络加密传输ntface="微软雅黑">
ntface="楷体">“信息指纹的一个特征是其不可逆性,就是说无法根据信息指纹推断出原有的信息。这种性质正是网络加密传输所需要的。”
'微软雅黑';">一个网站可以根据用户本地客户端的cookie识别不同的用户,而cookie本身即为一种信息指纹。但是网站无法根据信息指纹了解用户的身份。
'微软雅黑';line-height:1.6;">cookie本身没有加密,因此通过分析cookie可以知道用户访问了哪些网站。(不知道在做购物广告推送时,有没有用到这样的方式来偷瞄我的cookie,然后推送我搜索过的内容到我看的网页上。)
'微软雅黑';line-height:1.6;">
'微软雅黑';line-height:1.6;">
'微软雅黑';">HTTPS可以对cookie进行加密,可以保障用户的隐私。
'微软雅黑';line-height:1.6;">
'微软雅黑';">
'微软雅黑';">3.搜索中集合相同的判定'微软雅黑';">
'微软雅黑';line-height:1.6;">用于解决:“北京星巴克中关村”
'微软雅黑';">“
'微软雅黑';line-height:1.6;">中关村
'微软雅黑';line-height:1.6;">北京星巴克”判定为同一个搜索的问题。
'微软雅黑';">方法1.对集合中的元素一一对比。
'微软雅黑';line-height:1.6;">
'微软雅黑';">方法2.将两个集合中的元素进行排序,然后顺序比较。
'微软雅黑';">
'微软雅黑';">方法3.完美的计算方法是,计算两个集合的指纹。
'微软雅黑';">
'微软雅黑';line-height:1.6;">
'微软雅黑';">4.'微软雅黑';line-height:1.6;">检查文章抄袭的问题'微软雅黑';">
'微软雅黑';line-height:1.6;">刚好临近毕业,查重是所有的论文需要面对的问题,了解下。
'微软雅黑';line-height:1.6;">
'微软雅黑';line-height:1.6;">”将每一篇文章切成小的片段,然后上述方法条熏这些片段的特征词集合,并计算它的指纹。只要比较这些指纹,就能找到大段相同的文字,最后根据时间先后找出原创和抄袭。“
'微软雅黑';line-height:1.6;">
'微软雅黑';line-height:1.6;">
'微软雅黑';line-height:1.6;">5.'微软雅黑';">YouTube的反盗版'微软雅黑';line-height:1.6;">
'微软雅黑';">用信息指纹来编码关键帧信息,而关键帧信息对于视频的重要性就如同主题词对于新闻的重要性一样。
-------------------------------------------------
-------------------------------------------------
第十七章谈谈密码学的数学原理
ntface="楷体">”不管怎样,我们今天用的所谓的最可靠的加密方法“……”无非是找几个大素数做一些乘除和乘方运算“
ntface="微软雅黑">之前表哥分配给了我一个关于AES加密的FPGA小项目的任务,可惜具体的知识都忘记了。大约记得矩阵乘来乘去的。
ntface="楷体">
-------------------------------------------------
-------------------------------------------------
第十八章谈谈搜索引擎反作弊问题和搜索结果的权威性问题
搜索引擎的作弊,实际是利用搜索引擎的搜索排名规则,人为的提升网页的排名的方式。
ntface="楷体">”有了网页排名(pagerank)后,作弊者发现一个网页被引用的链接越多,排名家可能越靠前,于是有了专门卖链接的生意。“
ntface="微软雅黑">提到的方法:
ntface="微软雅黑">1.判断一个网站提供的外链的相关性。如果几乎不相关,那么认定这个网站在卖链接。当然实际的处理方法更加复杂。
-------------------------------------------------
-------------------------------------------------
第十九章谈谈数学模型的重要性
- 一个正确的数学模型应当在形式上是简单的。(托勒密的模型显然太复杂。)
- 一个正确的模型在它开始的时候可能还不如一个精雕细琢过的错误的模型来的准确,但是如果我们认定大方向是对的,就应该坚持下去。(日心说开始并没有地心说准确。)
- 大量准确的数据对研发很重要。
- 正确的模型也可能受噪音干扰,而显得不准确;这时我们不应该用一种凑合的修正方法来弥补它,而是要找到噪音的根源,这也许能通往重大发现。
来源:http://www.cnblogs.com/hold/archive/2011/07/27/2286793.html