搜索引擎技术 ——链接分析

这篇具有很好参考价值的文章主要介绍了搜索引擎技术 ——链接分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Web图

Web图是对互联网的一种抽象,我们把每个网页看做点,网页之间的超链接看成线,那么整个互联网构成的点线连接图就是Web图。其中A->B是A的出链,D->A是A的入链
搜索引擎技术 ——链接分析

链接模型

随机游走模型

互联网在上网时,往往浏览网页的时候是顺着网页链接浏览的。随机游走模型就是针对浏览网页的用户建立创建的抽象概念模型

随机游走模型的假设是:当某一个时刻1的时候,用户在浏览网页A,在浏览完之后,其会等概率的选择网页A的出链进行点击,跳转浏览界面,这个过程称之为直接跳转。之后会不断的迭代这个过程,不断的在界面中跳转。假设的Web图中没有该用户感兴趣的界面之后,用户就会在浏览器中输入另外一个网址直接到达该网页,这个行为称之为远程跳转随机游走模型其是也就是一个对直接跳转和远程跳转两种浏览行为进行抽象的概念模型

搜索引擎技术 ——链接分析

子集传播模型

子集传播模型是从诸多链接分析分析算法中抽象出来的概念模型。其基本思想是在做算法设计的时候,把互联网网页按照一定规则划分,分为两个甚至多个子集合。其中某个子集是具有特殊性质的,其会被赋予一个初值,之后根据这个特殊子集合和其他网页的链接关系,按照一定的方式将权值传递给到其它网页。
搜索引擎技术 ——链接分析

链接分析算法

PageRank算法

PageRank是谷歌提出的一种链接分析算法。在其提出之前,有很多研究者提出利用网页的入链数量来进行链接分析计算,其假设某个网页的入链越多,这个网页越重要。而PageRank在入链数量之上还参考了网页质量因素。其基于这两个因素提出了以下两个假设:

  • 数量假设:如果一个页面节点接收到其他网页指向的入链数量越多,这个网页越重要
  • 质量假设:越是质量高的页面指向页面,页面越重要

利用上面的两个假设,PageRank算法刚开始赋予每个网页相同的重要性得分,通过迭代递归计算来更新每个页面的PageRank得分,直到得分稳定。
搜索引擎技术 ——链接分析
而在每一轮的更新计算中,每个页面将其当前的PageRank值平均分配给本页面包含的出链上,这样每个连接会获得相应的权值,之后和当前的PageRank值相加就可。
搜索引擎技术 ——链接分析

如果在新一轮的PageRank计算之后,发现总体而言,页面节点的PageRank值基本问题,不再发生较大变化,即可结束此次PageRank计算。

链接陷阱

但是PageRank算法并不是万能的,对于某些特殊的链接结构,按照PageRank算法计算会导致问题,比如下面的Web图:
搜索引擎技术 ——链接分析
对于网页B和C来说,其只吸收外面传入的PageRank分值,但是不往外面传,最终导致网页B、网页C的权值非常高。这就是链接陷阱。

而远程跳转时解决链接陷阱的通用方式,其在网页向外传递分值的时候,不限于向出链所指网页传递,也可以以一定的概率向任意其他网页跳转。

HITS算法

Hub页面和Authority页面

  • Authority页面:指与某个领域或者某个话题相关的高质量网页
  • Hub页面:指的是包含了很多指向高质量Authority页面链接的网页

HITS算的的目的就是在海量的网页中找到和用户查询主题相关的高质量Authority和Hub页面

相互增强关系

HITS算法基于下面两个假设:

  • 假设1:一个好的Authority页面会被很多好的Hub页面指向
  • 假设2:一个好的Hub页面会指向很多好的Authority页面

基于以上的两个基本假设可以推导出Hub页面和Authority页面之间的相互增强关系。一个网页的Hub质量越高,其链接指向的页面的Authority质量越好;反之一样。通过这样相互增强关系不断迭代计算,就可以找出哪些页面时高质量的Hub页面,哪些时高质量的Authority页面。

HITS算法

HITS算法和用户输入的查询请求密切相关,其后续的计算步骤都是在接收到用户的查询之后展开的,即是和查询相关的链接分析算法。

HITS算法接收到用户查询之后,将查询提交给某个现有的搜索引擎,并在返回的搜索结果中提取排名靠前的网页,得到一组和用户查询相关度较高的初始网页集合,其叫做根集

之后,在根集的基础上,HITS算法对网页集合进行扩充。其根据以下规则:凡是与根集内网页有直接链接指向关系的网页都被扩充进来,无论是有链接指向根集内页面还是根集内页面有链接指向的页面,都被扩充进来,形成扩展网页集合
搜索引擎技术 ——链接分析
对于扩展网页集合的每个页面都设立两个权值,分别指定其Hub值和Authority值。之后利用上面提到的两个基本假设,以及相互增强关系等原则进行多轮迭代计算,每轮迭代计算更新每个页面的两个权值,直到权值稳定不再发生明显变化为止。

下图中A(i)表示某个网页的Authority值,H(i)表示某个网页的Hub值。在每一轮迭代中的Authority值即为所有指向网页的Hub权值之和;同样的对于Hub值也是一样。直到每个网页都获得了更新,则表示一轮迭代计算完成。
搜索引擎技术 ——链接分析

SALSA算法

SALSA算法的初衷是希望能够结合两者的主要特点,既可以利用HITS算法与查询相关的特点,也可以采纳PageRank的随机游走模型。其大致分为两个阶段:

  • 首先是确定计算对象集合的阶段,这一阶段和HITS算法基本相同
  • 第二阶段是链接关系传播过程,这个过程则是采用随机游走模型

确定对象集合

SALSA算法会先得到扩展网页集合,之后将网页关系转换为二分图的形式。其在接收用户查询之后利用现有搜索引擎或者检索系统,获得一批和用户查询在内容上高度相关的网页,以此为根集。并再次基础上,将与根集内网页有直接链接关系的网页纳入,形成扩展网络集合。
搜索引擎技术 ——链接分析

转换为无向二分图

SALAS根据集合内的网页链接关系,将网页集合转换为一个二分图。这个过程会把网页划分到两个子集合中,一个子集合是Hub集合,另外一个子集是Authority集合,划分基于如下规则:

  • 如果一个网页包含出链,这些出链指向扩展网页集合内其他节点,则这个网页被归入Hub集合
  • 如果一个网页包含扩展网页集合内其他节点指向的入链,则可被归入Authority集合

这样来说一个网页就可能有多种身份,比如网页C就既属于Hub集合,也属于Authority集合
搜索引擎技术 ——链接分析

链接关系传播

在链接传播模型中,假设会有某个用户从某个子集中随机选择一个结点出发,如果这个节点包含多个边,则以等概率随机选择一条边,从一个集合跳转到另外一个集合,或者再从另外的集合跳回来,不断的重复在集合中跳转。最终形成SALSA自身的链接关系传播模式。
搜索引擎技术 ——链接分析
虽然看起来和PageRank的传播模型不一样,但是关键点都一样:其从某个节点跳到另外一个节点的时候,如果包含多个可供选择的链接,则以等概率随机选择一条路径。
而对于Hub-Authority模型来说,SALSA更加关注Hub-HubAuthority-Authority之间的节点关系,另外一个子集合节点只是充当中转桥梁的作用。

下面是由上面二分图转换成的Authority节点关系图,其中权值分配按照平均分配的归结进行分配。以网页C为例,在上面二分图中处于A集合出发,有四条路可走:C-C、C-C、C-D、C-E,每一个的概率都可以看成0.25。
搜索引擎技术 ——链接分析
建立好Authority节点关系图之后,就可以利用随机游走模型来计算每个节点的Authority的权值。在实际计算的过程中SALSA将搜索结果排序问题进一步转换为求Authority节点矩阵的主秩问题,矩阵的主秩即为每个节点的相应的Authority得分,按照Authority得分由高到低排列。

下面是SALSA与求矩阵主秩等价的Authority权值计算公式:
搜索引擎技术 ——链接分析

  • Aj :联通图中节点的个数,这里节点肯定有个指向自己的连接线
  • A:Authority子集合中节点个数
  • B(i):节点入链个数
  • E(j):联通图中入链的个数

搜索引擎技术 ——链接分析

主题敏感PageRank

主题敏感的PageRank是PageRank算法的改进版本,其大多用于个性化搜索。其主要由两个步骤组成:

  1. 离线的分类主题PageRank数值计算
  2. 在线利用算法的主题PageRank分值来评估网页和用户查询的相似度

分类主题PageRank计算

主题敏感PageRank会定义16个大的主题分类,涵盖科技、娱乐、商业等为主题类型。其会依次计算该类别的PageRank分值。在计算某个类别的PageRank分值时,会把所有网页划分为两个集合,一个集合是人工精选的高质量网页,被称为集合S;其他的网页王如另外一个集合,称之为集合T。
搜索引擎技术 ——链接分析
假设一个网页在集合S里面,那么在商业分类计算结束后该网页会获得PageRank分值为0.5,在科技和娱乐分别获得0.1和0.05的分值。这样其就获得(0.5,0.1,0.05)这个PageRank分类向量。每个值都表示这个网页属于这个类别的概率。

在线相似度计算

在这一步,收索系统会首先利用用户查询分类器对查询进行分类,计算用户查询隶属于定义好的各个类别的概率是多少。在进行用户查询分类计算的同时,搜索系统读取索引,找出包含用户查询的所有网页,并获得上一步计算的网页的PageRank值,这两个的乘积就是某网页和用户查询词的相似度。假设一个网页A属于(科技、商业、娱乐)类别的概率是(0.3,0.2,0.3),查询词CSDN属于(科技、商业、娱乐)类别的概率是(0.5,0.2,0.1),那么查询词CSDN和网页A的相似度为0.3*0.5+0.2*0.2+0.3*0.1=0.22

Hilltop算法

Hilltop算法融合了HITS和PageRank两个算法的基本思想。一方面Hilltop是与用户查询请求相关的链接分析算法,吸收了HITS算法根据用户查询获得高质量相关网页子集的思想,利用子集传播模型;另一方面,在权值传播的过程中,Hilltop算法也采纳了PageRank的基本直到思想,会通过页面入链的数量和质量来确定搜索结果的排序权重

非从属组织页面和专家页面时Hilltop算法的两个重要定义。Hilltop算法会将互联网页面划分为这两类子集合,最重要的子集合时由专家页面构成的互联网页面子集,不在这个集合的页面被称为目标页面集合。


非从属组织页面:如果两个页面不属于从属网站,则为非从属组织页面。而对于主机的网络号或者主域名相同那么就被认为是从属网站。
专家页面:是和某个主题高度相关的高质量页面,同时也需要满足这些页面的链接所指向的页面相互之间都是非从属组织页面。

Hilltop算法会首先从海量的互联网网页中通过一定的规则筛选出专家页面子集合,并单独为这个页面建立索引。之后在接收到用户发出的某个查询请求时,首先根据用户查询的主题,从专家页面子集合中找出部分相关性最强的专家页面,并对每个专家页面计算相关性得分,然后根据目标页面和这些专家页面的链接关系来对目标页面进行排序。最后返回排序结果的TopK返回给用户。

搜索引擎技术 ——链接分析

专家页面搜索

Hilltop算法筛选出过百万的网页作为专家页面集合,其需要满足以下两个条件:

  • 页面至少包含K个出链
  • K个出链指向的所有页面相互之间的关系符合非从属组织页面的要求

这两个条件只是基本条件,还可以设置其他条件来控制专家页面集合的规模。

根据以上条件筛选出专家页面后,就可以对专家页面单独建立索引。这个过程会对网页标题、H1标签文件和URL锚文字这三个网页关键片段建立索引。

而在用户接收到用户查询之后,假设查询包含了多个单词,其就会根据以下三类信息进行打分:

  1. 关键片段查询词的数量
  2. 关键片段本身的类型信息决定其权值,标题、H1、锚文字权值由高到低
  3. 用户查询和关键片段的不匹配率,就是关键片段中查询词没出现的频率

目标页面排序

Hilltop算法包含一个基本假设:认为一个目标页面如果是满足用户查询的高质量搜索结果,其充分必要条件是该目标页面有高质量专家页面链接指向

Hilltop在本阶段是基于专家页面和目标页面之间的链接关系来进行,在此基础上,将专家页面的得分传递给有链接关系的目标页面。而传递分值的前提是页面需要满足以下两点要求:

  • 至少需要两个专家页面有链接指向目标页面,而且这两个专家页面不能是从属组织页面
  • 专家页面和所指向的目标页面也不能是从属组织页面

而计算其中某个专家页面传递给目标页面权值计算如下:

  1. 找到专家页面中能够支配目标页面的关键片段集合S
  2. 统计S中包含用户查询词的关键片段个数T,T越大权值越大
  3. 专家页面传递给目标页面的分值为:E*T,E为专家页面本身在第一阶段计算得到的相关得分,b为2步骤计算的分值

参考文献

[1] 这就是搜索引擎文章来源地址https://www.toymoban.com/news/detail-447498.html

到了这里,关于搜索引擎技术 ——链接分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NLP技术如何为搜索引擎赋能

    在全球化时代,搜索引擎不仅需要为用户提供准确的信息,还需理解多种语言和方言。本文详细探讨了搜索引擎如何通过NLP技术处理多语言和方言,确保为不同地区和文化的用户提供高质量的搜索结果,同时提供了基于PyTorch的实现示例,帮助您更深入地理解背后的技术细节。

    2024年02月08日
    浏览(42)
  • spark案例分析-搜索引擎日志分析案例

    1.业务分析 2.数据截图 3.代码实现:         main.py:         defs.py:

    2024年02月08日
    浏览(46)
  • 网络爬虫技术在搜索引擎中的应用

    网络爬虫技术在搜索引擎中扮演着非常重要的角色,主要应用在以下几个方面: 网页抓取:搜索引擎需要从互联网上抓取大量的网页,以建立自己的索引库。网络爬虫技术可以帮助搜索引擎快速、高效地抓取网页。 网页解析:搜索引擎需要从抓取的网页中提取出有用的信息

    2024年02月08日
    浏览(61)
  • 分布式搜索分析引擎ES

    es是实时的分布式搜索分析引擎: 实时表现在新增到ES中的数据1s中就可以被检索到,这种新增数据对搜索的可见性成为“准实时搜索”。 分布式意味着可以动态调整集群规模,弹性扩容,支持上百个节点,相比 HDFS 等上千台的集群,更适合中等数据量的业务,不适合存储海

    2024年03月12日
    浏览(46)
  • 【前沿技术】 阿里开源搜索引擎 Havenask 的消息系统

    作者:闻意 Havenask 是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。本文针对性介绍了 Havenask 的消息系统--Swift,它是一个设计用于处理大规模的数据流和实时消息传递的高性能、可靠的

    2024年03月16日
    浏览(45)
  • Elasticsearch搜索分析引擎本地部署与远程访问

    Elasticsearch是一个基于Lucene库的分布式搜索和分析引擎,它提供了一个分布式、多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档,同时也是是一个非常强大的工具,可以用于各种用途,例如日志分析、搜索引擎、安全分析等等。 远程连接的好处在于可以让用户从远程位

    2024年02月05日
    浏览(46)
  • 使用Elasticsearch构建强大的搜索和分析引擎

    Elasticsearch是一个基于Lucene的分布式搜索和分析引擎,被广泛用于处理大规模的文本数据。无论是构建全文搜索引擎、进行日志分析还是实现实时数据可视化,Elasticsearch都是一个强大而灵活的工具。本文将带您逐步了解如何使用Elasticsearch,并构建您自己的搜索和分析应用。

    2024年02月04日
    浏览(57)
  • 使用宝塔面板如何查看网站日志分析搜索引擎蜘蛛数据

    网站日志(确切的讲应该是服务器日志)是记录WEB服务器接收处理请求以及运行错误等各种原始信息的文件。通过查看网站日志分析数据我们可以获得很有有用的数据,例如蜘蛛访问、是否被恶意访问、网站访客来源等等网站访客在寻找什么?哪个页面最受欢迎?网站访客从

    2024年02月09日
    浏览(58)
  • 解密Elasticsearch:深入探究这款搜索和分析引擎

    作者:京东保险 管顺利 最近使用Elasticsearch实现画像系统,实现的dmp的数据中台能力。同时调研了竞品的架构选型。以及重温了redis原理等。特此做一次es的总结和回顾。网上没看到有人用Elasticsearch来完成画像的。我来做第一次尝试。 背景说完,我们先思考一件事,使用内存

    2024年02月03日
    浏览(38)
  • Elasticsearch (ES) 搜索引擎: 文本搜索:分析器/分词器、同义词/停用词、拼音搜索、高亮显示、拼写纠错

    原文链接:https://xiets.blog.csdn.net/article/details/132349032 版权声明:原创文章禁止转载 专栏目录:Elasticsearch 专栏(总目录) 文本搜索主要指的就是全文搜索,全文搜索是搜索引擎的核心功能,与精确匹配的结构化数据不同,文本(text)数据在构建索引和搜索时都需要进行额外的处

    2024年02月03日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包