• home > OMD > SEO >

    搜索引擎技术原理(0):Google PageRank专利和李彦宏超链分析

    Author:zhoulujun Date:

    超链分析超链分析要解决的是文件与搜索关键词的相关性。李彦宏提出的方法是,除了文件本身对关键词的引用外,还需要考虑反向链接中的关键词。当一个关键词被搜索的时候,含有以关键词为链接文字的反向链接数目最多的

    本文整合个人所查阅的关于搜索引擎关键技术:PageRank与宏超链分析 ,然后整合分析,写了个随笔。

    超链分析

    超链分析要解决的是文件与搜索关键词的相关性。李彦宏提出的方法是,除了文件本身对关键词的引用外,还需要考虑反向链接中的关键词。

    具体来说,

    • 网页内容被索引进数据库的时候,会连同指向这个网页的超链接,以及每个超链接当中使用的锚文字(链接文字),一同记录在案

    • 搜索词也会建立一个数据库,每个词连同含有这个词的超链接,以及这些超链接所指向的文件一同被记录在案

    当一个关键词被搜索的时候,含有以关键词为链接文字的反向链接数目最多的那个文件或网页,将被作为最相关的结果排在前面

    如今外链对SEO的作用确实下降了,但到目前为止,外链还是SEO的最重要部分之一。如果10多年前外链占到SEO的百分之六七十,现在可能下降到百分之三四十,依然非常重要。只能说,单纯靠外链已经过时!因为内容始终是SEO的第一要素。同时,比如Google不仅考虑网站本身优化和链接,同时也把用户在网站上的反应考虑进去。比如停留时长,加入书签等模式。

    这是基本思路,当然还有其他变量考虑进去。比如说搜索字符串含有几个词的时候,每一个词都是搜索矢量的一个维度。

    在这篇专利申请中已经提到了词干技术,而且提到了不同文字文件的相关性。

    超链分析的渊源

    1996年,李彦宏在一家叫IDD Enterprises的公司工作,负责为华尔街日报做金融新闻的检索系统。对于几十万篇的新闻内容,如何查找出用户想要的,是需要解决的问题。他想到了评价论文质量好坏的引用数这一方法。一篇论文的引用数越多,说明质量越好。

    对于网页,会有超文本链接(HyperText Link)这么一个东西。一个超链接会包括两个部分:锚点文字(Anchor Text)和目标网址。通过点击锚点文字,就会跳转到目标网址。锚点文字和目标网址都可以加以利用。

    • 第一,锚点文字正常情况下,是会描述目标网址的页面内容的。比如,“李彦宏的专利文档”,我们虽然不用阅读目标页面,通过锚点文字也就知道它是干什么的了。当然,像“点击此处”之类的无意义描述,需要排除在外。

    • 第二,借鉴论文引用数的思想,指向某个目标网址的超链接越多,就说明这个目标网址质量越高

    那个时候想到第二点的,不只是李彦宏,还有Larry Page,以及另外一个不知名的研究员。

    对于利用锚点文字来判断目标页面的内容这一思路,有人想到的更早。在1994年,有人做了个基于锚点文字的搜索,就是你输入一个单词,系统去遍历所有的锚点文字,如果能够字符串匹配,就返回对应的目标网址。这个其实和现代搜索引擎差别太大。

    现代搜索引擎的基本原理

    我们随便拿一本专业书籍,最后都有个索引表,一般会按照字母顺序列举出整本书里的关键字。比如,“刘德华 P22,P108,P203”,“女朋友 P13,P66,P108”。如果我们要找“刘德华的女朋友”,那就会先对这个句子分出有意义的词,“刘德华”和“女朋友”。我们分别找到“刘德华”所对应的页码表,以及“女朋友”对应的页码表,然后取两者的交集,也就是“P108”。我们就可能在第108页找到刘德华的女朋友是谁。这里只是举了个最简单的例子,如果只有这一条结果,那么返回给用户就是了。但如果交集的页码表有100万个,那就要考虑把谁排在最前面了,一般来说前3页之外的结果可能都没有人去点。

    内容爬取

    原理方面推荐阅读《这就是搜索引擎-核心技术详解》,本文概括性选择《腾讯面试题: 百度搜索为什么那么快?》 ,摘录点回顾下。当然,这部分可以完全跳过。

    百度爬取网页然后,将他们进行编号,然后对文档进行扫描分词,因为百度内部有词库,匹配上的词将被切分【关键词切分,提取】,然后对切分出来的单词进行倒排处理,形成倒排列表

    搜索引擎倒排处理-图-韩丹

    倒排列表所做的,就是保存对应单词所出现过的文档编号,搜素引擎就可以根据你的关键词在倒排列表中找到含有这个关键词的文档集合,然后根据关键词在文档集合中各个文档出现的频率和位置综合判断返回给你排序后的文档。

    但实际上,世界上有亿万个文档,此时,问题的性质已经变了,不是找不找得到的问题,而是怎么找更快,更准的问题,这需要算法

    我们哈希算法、冲突表、红黑树 、冲突表,这些在下一篇讲

    搜索引擎工作步骤概要

    • 从网络爬取相关网页,保存网页数据,以及网页对他链接数据。

    • 扫描文档集合,找到文档数量N, 文档集合内所包含的不同单词数M,和每个单词出现的频率DF(如下图),以及一些别的必要信息,这些东西所占内存加起来,得到需要开辟的内存空间,

    • 边扫描,匹配对应的文档编号(三元组中的第一个数),载入内存,那就是文档集合有多大,内存就有多大。但凡设计到读取,一定有两种以上的方法,空间优先或是时间优先,第二种就是时间换空间——排序法

    搜索引擎工作原理搜索硬气索引搜索原理

    实际上很多搜索引擎基本就是这样做的,只不过各家还有别的参考标准,比如百度还会参考热度,你的搜索记录,还有网站给的钱(你懂的)等等综合打分,按评分高低返回搜索结果的排序

    如何改善搜索结果

    在利用超链接信息之前,搜索引擎的实现一般就是如上面所说计算搜索词和网页内容词汇的匹配度,结果太多时效果很不理想。特别是还会有人利用这种搜索方法的漏洞,直接制造垃圾页面,和搜索词非常匹配,排到最前面。在1996年的亚特兰大奥运会,在当时的搜索引擎里输入“Olympics”,展现在前面的都是垃圾信息。有没有可以改进的方案?

    李彦宏的解决方案是只使用锚点文字做计算,不关心网页内容本身(这一点就是我没看专利详细内容时,一直不确定的歧义词组)。具体来说,比如有10万个超链接的锚点文字是“Olympics”,并且指向官网A。还有一个只有10个链接(部分链接包含Olympics)指向的内容全是Olympics的页面B。那么用户在搜索“Olympics”时,会将用户的搜索词与所有锚点文字的词做匹配(方法是TF*IDF的计算方式,这里不详细介绍),并将匹配的分数项叠加。哪个页面的得分高,就会排在前面。

    这里一个好处是减少了大量的网页内容和搜索词的匹配计算,只需要匹配锚点文字和搜索词。当然,最大的好处是在搜索结果好。为什么结果会好?还是用到了链接数多的页面,质量就更好的假设。那些链接数多的,有更多的锚点文字参与到了分数计算,就得分更高。

    根据链接数来衡量网页质量的点子

    如果只是把链接不分好坏做一个总计数,那这个点子的影响就没那么大了,因为太直接了。并且它存在一个显著的问题,一个权威网站上的一个链接网址,显然比一个不知名的小网站上的一个链接网址,更有可能是用户想要的。也就是要给这个链接关系一个权重,一个网页的质量评分,取决于指向它的源头网页的评分,源头网页的质量越高,那么它的得分就越高

    搜索引擎最核心要解决的问题,就是在满足条件的结果较多时,把谁排到前面去的问题。而通过PageRank算法,就可以做一个区分,得分高的排前面去。

    Larry Page与李彦宏的专利关键点对比:

    • 李彦宏使用了锚点文字作为判断相关性的重要引子,而Larry Page的PageRank并没有使用这一点。

    • Larry Page的专利核心创新点在于对整个网页库做了排名,李彦宏的专利做不到这一点。

    Larry Page就是大家悉知的 PageRank

    PageRank

    Google的PR专利显然是专注在已经应用了超链分析之后还不能解决的问题。

    在Google的专利申请中,明确提到即使在考虑了指向文件的链接及链接锚文字之后,搜索引擎还有重要问题需要解决,那就是来自不同文件的链接有不同的权重值

    政府官网的连接和我个人博客链接,信赖肯定是政府机构的,但是,我朝官谣 另当别论。

    现在很多人相信搜索引擎都给网页赋予一个权威度值,名称有不同的看法,不管叫重要性值,还是叫信任级别,还是叫权威度,还是叫强度,或者叫能量。甭管叫什么,很多排名的研究表明,网页本身除了PR值之外,还有一个综合了很多因素所构成的一个与搜索词无关的权威度值。

    Google PageRank就是衡量网页重要性的一个方法。指向一个网页的链接越多,而这些链接本身的权重越高,那么这个被指向的网页的重要性及PageRank就越高。个人觉得这里貌似和比特币解决信赖问题的异曲同工。

    Google的专利申请当中给出了具体怎样计算这一重要性指标,他们取名为网页级别。网页级别的计算需要进行多个循环的替代计算,才能得到近似于最终结果的PR值。

    Google PR是与搜索词无关的,或者说与文件相关性无关的。PR只是描述某一个网页的重要性或地位

    虽然Google一直以PR为旗号,很少介绍它们的其他技术。但近一两年来, Google算法中对链接分析,锚文字分析,词干技术的重视越来越多。


    参考内容:

    李彦宏和Larry Page的搜索专利有何异同 https://zhuanlan.zhihu.com/p/20176994?columnSlug=sangwf#!

    Google PageRank专利和李彦宏超链分析专利的区别 https://www.seozac.com/google/google-baidu-patent/

    腾讯面试题: 百度搜索为什么那么快? https://blog.csdn.net/qq_37465638/article/details/105978867

    《这就是搜索引擎-核心技术详解》简单梳理+一些知识图谱的知识 https://blog.csdn.net/u013527419/article/details/76851809



    转载本站文章《搜索引擎技术原理(0):Google PageRank专利和李彦宏超链分析》,
    请注明出处:https://www.zhoulujun.cn/html/Operation/seo/2020_0716_8516.html