PageRank算法改进

article/2025/9/25 19:40:14

PageRank算法的应用

PageRank 算法是 Google 搜索引擎进行网页排名的一种算法,那么它如何映射到其他领域?

比如,我们如何在文献排名中应用PageRank算法呢?

对文献的质量进行排序是对文献价值进行评估的一种重要手段,目的是为了方便人员在检索时查阅。

统计文献的被引次数是一种非常直观的统计方式,在此基础之上,我们引入了 PageRank算法:该算法基于网页之间的链接关系评估网页的价值,由于互联网与文献引用网络之间存在着较大的相似性,所以基于文献之间的引用网络使用 PageRank 算法可以更合理的对于文献的价值评估。

该算法基于一种投票关系:A 文对 B 文进行了引用是因为 A 文认为 B 文质量较高,即通过引用的方式给B文投票,之后再通过投票关系对文献进行排名。

根据PageRank的原理,在文献排名的过程中,PageRank 算法同样遵循以下两个基本假设:

  1. 数量假设。如果一篇文献 A 被其他文献引用,说明其他文献认为文献 A 比较重要,也就是其他文献将自己的 PageRank 值贡献给 A。表明 A 是一篇有质量的文献,所以文献 A 的 PageRank 值会比较高。
  2. 质量假设。如果一篇高 PageRank 值的文献引用了一篇其他的文献,则被引用的文献的 PageRank 值也因此而提高。

算法的公式形式不变,如下所示,但是其中各个量的含义会发生变化。

其中 p 代表某个待评价的学术文献, d 是阻尼系数。 CTotal 是文献总量。 N 表示 N 篇引用了 p 的文献, Xi 表示第 i 个引用了 p 的文献, C(Xi) 表示 Xi 这篇文献总的参考文献数目。

看下面的例子,假如这是迭代过程中的一个片段,PR值的分配传递过程如下图所示:

伪代码如下:

PageRank算法基于时间的改进和迭代优化

针对传统 PageRank 算法迭代过程复杂、时效性不强、执行速度慢等缺点,可以进行了优化迭代过程、增加时间因子影响函数、并行化三点改进。

我们将改进的算法称为NTMP 算法——在优化迭代过程时,通过对于被引文献的特征进行统计,按照权威度的方式进行 NTMP 值分配。根据文献被引半衰期这一特征,使用时间因子影响函数更好的对文献价值进行评价。最后将改进后的算法进行了基于MapReduce 计算框架的并行化处理,最终构成 NTMP 算法。

加入时间影响因子

NTMP 算法进行文献评价时有如下三点假设:

1)数量假设

2)质量假设

3)影响力衰减假设:一篇文章的影响力不是一成不变的,其影响力会根据时间的推移进行适当衰减。如果不对文献的影响力在时间上进行约束,就会造成在文献排名时,影响力较大的总是那些发表时间久远、被引次数多的文献,新发表的文献不能被很好的评价,这就导致了新发表的文献在排名时一直处于比较靠后的位置,不能受到很好的重视。所以仅考虑文献之间的引用关系而忽略时间因素在文献排名过程中的不利影响是不够的。尤其研究者们应该重视那些新发表的文献,这些文献代表着当前研究趋势、研究热点。

这里引入了文献半衰期的概念。

半衰期是指放射性元素的原子核有半数发生衰变时所需要的时间。

这里给出的定义如下:在 N 年(某一年时间内)被引用的文献中,较新的一半是在最近 X 内发表的。这个 X 就是文献被引半衰期。例如某一年,整个数据集中共发表文献 176922 篇,其中累积引用计算机学科文献 289421 频次,再根据定义求得文献被引半衰期为 6.78 年。

根据定义:

其中, W 是所求的被引半衰期, U 是累积百分比小于且最接近 50% 的年数, X 为统计年至 U 年的被引累积百分比, Y 为统计年至 U+1 年的被引累计百分比。

有了这个半衰期的定义,我们建立一个时间影响因子函数:

其中,HL(t)为文献价值剩余百分比,CTotal 代表的是该数据集中初始时刻 (t=0 ) 所有文献的数量, t 是衰变时间, T 为计算机学科文献被引半衰期。时间因子影响函数 HL(t) 的含义是在计算机学科中,某一篇文献从发表 (t=0 ) 开始,经过 t 时间后,文献的剩余价值变为原来的 HL(t) 倍。

迭代优化

在进行 PR 值的传递时,传统算法会将每篇文献的 PR 值平均分给该文献所引用的其他文献。

 NTMP算法的改进:将NTMP 值向着那些重要的文献流动,提升分配效率和收敛速度。

BC_Sum是文献集合R(X)中所有文献 Pj 的被引次数之和。

W(X,p)是计算集合R(X)某一篇文献 P 被引次数的所占比重,可以理解为文献 P 在分配 X 的 NTMP 值时所占权重。

NTMP 算法的输入是基础文献信息,包括文献发表时间,文献引用关系等,输出是各待评价样本的 NTMP 值,可以根据 NTMP 值对待评价样本进行排名。

根据上述改进方法,NTMP 算法的公式为:

其中 xi 引用了文献 P 的施引文献,NTMP(xi)表示上一次迭代结束后 x 的 NTMP值,函数 W(Xi,P)是之前提出的 NTMP 值分配方式,函数 HL(t)是时间因子影响函数,d 是阻尼系数一般取 0.85,CTotal 是数据集中的文献总量。

PageRank算法在分布式集群中的应用

Map阶段:计算出每条样本给其参考文献所贡献的 NTMP 值

Reduce阶段:将 Map 阶段所传出的每一篇 Xi 为 P所贡献的 NTMP 值相加,再乘以阻尼 d,之后加上调整项即为文献 P 的 NTMP 值

具体过程如下:

map阶段:

reduce阶段:

本文参考论文《基于Hadoop的学术文献排名及作者影响力评价算法》崔景洋


http://chatgpt.dhexx.cn/article/dMkMriN7.shtml

相关文章

什么是Pagerank?Pagerank算法介绍与计算公式

一、什么是Pagerank? PageRank,网页排名,又称网页级别、Google左侧排名或佩奇排名,是一种由根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,而我们SEO简称为PR,以Google公司创办…

PageRank算法 -- 从原理到实现

本文整理自博文PageRank算法 – 从原理到实现 1. 算法来源 这个要从搜索引擎的发展讲起。最早的搜索引擎采用的是 分类目录1的方法,即通过人工进行网页分类并整理出高质量的网站。那时 Yahoo 和国内的 hao123 就是使用的这种方法。 后来网页越来越多,人工分类已经不现实了…

第4关: 网页排序——PageRank算法

要求:编写实现网页数据集PageRank算法的程序,对网页数据集进行处理得到网页权重排序。 ####相关知识 ######PageRank算法原理 1.基本思想: 如果网页T存在一个指向网页A的连接,则表明T的所有者认为A比较重要,从而把T的一…

PageRank算法--从原理到实现

本文将介绍PageRank算法的相关内容,具体如下: 算法来源算法原理算法证明PR值计算方法 1 幂迭代法2 特征值法3 代数法 算法实现 1 基于迭代法的简单实现2 MapReduce实现 PageRank算法的缺点写在最后参考资料 1. 算法来源 这个要从搜索引擎的发展讲起。最…

PageRank算法原理与实现

正文共835个字,8张图,预计阅读时间6分钟。 1、PageRank 1.1.简介 PageRank,又称网页排名、谷歌左侧排名,是一种由搜索引擎根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,以Google公司创办人…

PageRank算法原理及代码

本文内容出自帅器学习的课程内容,讲得原理清晰,概念深入,链接: PANKRANK算法视频 另有一篇知乎文章,PAGERANK讲得系统透彻,链接在此:关键词提取和摘要算法TextRank详解与实战 PAGERANK算法是一…

PageRank算法 -- 图算法

一、简述: PageRank算法是一个迭代求解算法,可以处理网页排名(根据网页的重要性进行排序)、社会影响力分析、文本摘要 等问题。 PageRank算法在1996年由Page和Brin提出 PageRank适用于解决用有向图表示的图数据 二、各节点重要性…

PageRank算法

一、算法原理: 1、如果一个网页被很多其他网页链接到的话说明这个网页比较重要,也就是PageRank值会相对较高 2、如果一个PageRank值很高的网页链接到一个其他的网页,那么被链接到的网页PageRank值也会相应提高。 例子: 如果一…

pagerank算法详解

目录 一、pagerank简介两个重要假设 二、pagerank算法公式定义计算演示矩阵化计算 三、存在的两个问题问题1.Dead Ends问题2.Spider Traps 一、pagerank简介 PageRank算法的基本想法是在有向图上定义一个随机游走模型,即一阶马尔可夫链,描述随机游走者沿…

整车CAN网络拓扑图

什么是智能硬件与ECU ? 何为智能硬件, 就是包含智能控制单元的硬件, 比如发动机, 发动机上有一块儿专门负责控制发动机进气量, 喷油量, 排气量的控制单元, 这块单元相当于发动机的大脑. 他具有信号发送, 信号接收, 参数存储等基本功能, 这个控制单元就是ECU. ECU(Electronic …

如何利用CANoe在两路CAN通道之间创建网关(gateway)

1 目的 利用CANoe在两路CAN通道之间创建一个网关,通过CAPL实现CAN1、CAN2通道间的报文转发,并进行故障注入测试(通过改变某些信号的值)。 (本实例仅用于博主学习记录) 2 步骤 创建一个两路通道&#xf…

CANoe-如何模拟CAN总线网关通信(满满都是细节)

网络上有不少的文章介绍使用canoe工具模拟网关把can1总线上的报文转发到can2上,那我为什么要写这篇文章呢?大家知道,我的文章不可能完全照搬别人的内容,肯定要夹带私货,有自己的理解的。所以我会从网关在can总线中的工作方式到所起的作用进行分析,学习如何在canoe中实现模…

CAN/CANopen转PROFINET网关TCO-151

型号:TCO-151 基本说明:TCO-151可实现 PROFINET网络与CANopen或CAN网络之间的数据通信。网关在PROFINET网络作为从站,CANopen端既可以做主站也可以做从站,CAN端支持CAN2.0A/CAN2.0B协议,支持对CAN帧进行过滤处理。 特…

CAN总线网关设备

南京来可电子科有限公司 CAN总线网关设备

嘴哥有料系列-can教程2:CAN网关及CAN信号转发机制

原文章:https://mp.weixin.qq.com/s/qbUcZngSDClx9Ll5aKvlLg 上节课, 我们讲到了CAN网关, 其实准确的说不能叫CAN网关, 应该叫网关或者汽车网关, 因为网关不仅处理CAN网络, 还处理LIN网络. 主要是为了配合本系列教程及区分于以太网网关, 所以才取名叫CAN网关. CAN…

CAN总线车联网透传云网关简介

车联网透传云网关 CANIOT-222W/G车联网透传云网关 功能说明 透传功能:串口透传、网口透传、CAN口透传 云端功能:设备管理、OTA升级、远程调试、远程监控 云平台 主要通过互联网(2G/3G/4G)将不同区域的车辆或工程机械接入共有…

CAN网关远程OTA升级方案详解(工程机械控制器远程升级)

CAN网关远程OTA升级方案详解 背景; 现今中国基建全面开花,工程车辆的需求量越来越大,工作环境也越来越复杂。工程车辆配置升级需求也越来越多,所需要的的工程师数量也越来越多,导致工程师数量严重不做,影响…

CAN云网关透传CANIOTCAN物联网云网关系列基本介绍

来可电子的CANIOT透传网关可以实现串口,网口和CAN口的远程数据传输。 CANIOT透传网关 实现的原理为网关通过4g或者WiFi连接到服务器,再由服务器将接收到的网关数据转发到网关配套的客户端上,客户端再通过对应的上位机软件将接收到的数据显示出…

【N32G457 】基于RT-Thread和N32G457的CAN网关

本文是RT-Thread用户xiere 原创发布,是用于参加RT-Thread与国民技术联手推出N32G457 RT-Thread设计大赛,原文:https://club.rt-thread.org/ask/article/3422.html 基于RT-Thread系统和N32G457开发板开发的一款CAN网关;硬件部分由…

S32G CAN网关测试

canutils 使用 ./cansend can0 -e 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88发送默认ID为0x1的can标准帧,数据为0x11 22 33 44 55 66 77 88, 每次最大8个byte ./cansend can0 -i 0x800 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 -e-e 表示扩展帧,CAN_ID最…