搜索引擎的基本原理

搜索引擎最初阶段:

  • 利用网页爬虫进行抓取,通过网页中的链接层层深入,对网页去掉Tag后进行分词,保存每个单词在网页中的位置……查询时允许多单词,只有所有单词都出现的网页才被搜索出来。没有对搜索的结果进行排序,采用的是被检索时候的自然排序。

基于网页内容的简单的排序(Content-Based Ranking):

  • 单词频度(Word frequency)
    位于查询条件中的单词在文章中出现的次数越多,说明文档的相关度越高
  • 文档位置(Document location)
    搜索单词在网页中的位置,通常,如果一个网页与待搜索的单词相关,则该单词就更有可能在靠近网页开始处的位置出现,或者甚至出现在标题中
  • 单词距离(Word distance)
    如果查询条件中有多个单词,则它们在文档中出现位置应该考的很近

利用外部回指链接(Inbound Link)

  • 简单计数(Simple Count)
    在每个网页上统计链接的数目,并将链接总数作为针对网页的度量,科研论文的评价就经常采用这样的方式
  • PageRank
    • PageRank算法有Google创始人Larry Page发明,基于这一思路的各种变体已被所有大型搜索引擎采用
    • 该算法为每个网页都赋予了一个指示网页重要程度的评价值
    • 网页的重要性是依据指向该网页的所有其他网页的重要性,以及这些网页中所包含的链接数求得的
    • PageRank在理论上是计算某个人在任意次链接点击之后到达某一个网页的可能性(拥有inbound link越多,人们无意间点到这个网页的概率越大)
    • 阻尼因子(damping factor),0.85,用户持续点击每个网页中链接的概率
    • PageRange值(PR值)的计算示例:


      搜索引擎的基本原理_第1张图片
      source: "collective intelligence programming"

      A, B, C, D为四个网页,其中B、C、D的PR值已知,分别为0.5、0.7和0.2。同时这三个网页都有一个链接指向A,而B和C还有另外指向其他页面的链接,D只有一个指向A的链接。计算A的PR值的方法为:

每个指向A的网页的PR值除以网页上的链接数,求和后,在乘以阻尼因子0.85,在加上最小值0.15
PR(A)= 0.15 + 0.85 ×(0.5/ 4 + 0.7 / 4 + 0.2 / 1) = 0.575
(由于计算网页的PageRank值需要知道其他指向它的网页的PageRank,因此在最一开始所有的网页都设置一个初始值,然后利用算法迭代计算PR值,得到真实的PR值,在迭代次数较多的情况下,初始值的设置对最后的结果没有影响)

  • 利用链接文本
    针对要指向的网页,在链接中会放入解释链接内容的相对精确的描述

实际应用
实际搜索引擎返回结果时,是综合考虑以上各种方法的结果,进行加权

你可能感兴趣的:(搜索引擎的基本原理)