logo资料库

PageRank算法的分析及实现.pdf

第1页 / 共1页
资料共1页,全文预览结束
计jl享机应用 竖些查 堡垒 坐 塑 Page Ra n k算法 的分 析及 实现 ● 金 迪 马 衍 民 摘 要:随着网络信息量的不断增长,搜索引擎技术随之诞生。如何使搜索引擎搜 索的信.E-更加准确、快速 .成为这 f1技 术主要解决的 问题之一。 Pagegank算法是 根据 网 页间链接 关 系对 网页评 分的 算 法之 一 ,本 文首 先将 对 PageRank算法 进行 分析 ;然后 对其 算 法进行 建模 。 关键 字 :PageRank算 法 ;网 页 :链接 人们在 网上 冲浪 的过程 中,常常 从一个起 始 网页开始 ,之 后被那 些带 有链接 文 的 PageRank值 用于衡量 网页的重要 性 。 字所 描述的 网页吸 引 ,从 而点击并打开 另一个 网页。并依次往 复 ,直 到对冲浪感觉 厌 倦 ,而正是 由于 网页和网页通过链 接关系构 成的这个 网络 使得网上 冲浪成 为可能 。 然而知道 Cooke提 出了 PageRank模型 ,这 种网页 问彼此链接关 系的价值 才被挖 掘 从最 后的 PageRank值 可以看 出 ,在 这 3个 网 页中 ,网 页 C的重 要性最 高 。其次 是网 页 A,最后是 网页 B。因为网页 C在这个 局部是被 “认 可”的 ,它被 网页 A和网页 B指向 ;网页 A被 更高级 别的 网页 C“认可 ”,而网 页 B被网 页 A“认 可”,这样 网页 A 出来 ,这种挖 掘过程也称为 “链接 分析”[1】。简单 的说 ,如果 网页 A链 接到 B,那么 表 示网页 A的编写者对 网页 B的一种认 可。或 者说网页 A为网页 B投 了一 票 ,网页 B 的重要性被 网页 A认 可[2】。下 面将对 PageRank算 法定义 ,PageRank算法 在计算 机 和网页 B同样具有 一个 Backlink。由于 网页 C的级别 大于 网页 A.因此 最终 网页 A 的重要性 大于网 页 B。 二 、PageRank的计 算方法 中的计算方法和软件 实现做详细 的说明。 一 、 PageRank算 法定义 PageRank的简单 计算方 法如 图 1-1所示 ,网页 1被 3个 箭头所 指 向,假 定共计 得到 了 100分 。然后 通过链 接平均将 这 1130分 均分给 它所指 向的两个 网页 ,网 页 2 和网页 3。平 均分配是 因为点击两个链 接的可能性 是相等 的。由指定关 系得 到一定 的分 数 ,通 过计算 每个 网页得 到分数 的多少评 价 网页重要性 的方法 ,就是 PageRank 的基本设 计方法 。 图 1·1PageRaak 计 算 方 法 图 网 页是彼此相 连的 ,所 以分数会 不断传 递 下去 ,但 PageRank的计 算是 收敛 的 , 如图 l一2所 示 ,通 过对三个 网页分别 计算它 们的 PageRank的一个迭代 收敛的例子 。 由图 1-2可以看 到这 3个 网页的分数 之和无 论如何 循环总 是 1,这种特 性在数 学上称 为“不变 分布”,这也是 PageRank计算收敛 的原理 。 PageRank计 算见公式 (1一1)。 ;呵页 A 页 B PRn(A)_(1一 (∑:, (1.1) 说明 。 (I)PR ):网页 A的 PageRank值。 (2)PRn一1㈣ :网页存在指 向 A的链接 . 并且网页在 上一次迭代 时的 PageRank值 。 在实 际应用 中可采用幂法来 计算 PageRank。PageRank公式 可以转换为求 解ljm A¨x的值 ,其 中矩 阵为 A=d P+(1一d)*ee~/m。d为阻尼 系数 ,P为概 率转 移矩 阵,eT为 n 维的全 1行 ,m为全部 网页个 数。 幂法计 算过程为 : x 壬意 一个初始 向量 if(1lx-r【I】<£,返 回 r else x g0t0 2 如 图 1-2的计算 过程为 : (1)P概率转移 矩阵 的计算 过程 。 初始化 一个 矩阵 P ,若 网页 i存在一 个指向 网页 J的链 接。则 。=1;否则 等于 0,则有P『.f0 0 1 f,然后将每一行除以该行非零数字之和。则得到矩阵P『_ 『0 1 1 1 【 l o o J f0 1/2 1/2 1 1 0 0 l I这个矩阵记录了每个网页跳转到其他网页的概率。采用P’的转置矩 【 l o o J f0 0 1] 阵进行计算,即 P l1/2 0 0 f也就是上面提到的概率转移矩阵 P。 【1/2 l 0 J (2)A矩阵计算过 程。 由P:I1/2 0 0 I.并且 eer/m=l1/3 I/3 1/3 I,设 d=0.5,这样得到A= f0 0 ] 【 1/2 1 0 J f1/3 1/3 113 1 【l,3 l,3 l/3 J f1『6 l,6 2,3 1 l 5/12 1/6 116 I,初始每个网页的PageRank值均为1,即x‘=(1,1,1)。 另一方面,网页存在明确的指向网页A的链接,因此 (∑:, )的分数 分配给网页 A。 PageRank可 以通 过迭代计算 的方法得到 ,图计算 的过程如 表 1-1所示 。 表 1·1 PageRank迭 代 计 算 过 程 选 代 次 数 PR(A、 PR ) PR(C) (3>循环迭代 计算 PageRank的过程 f1/6 1/6 2/3 1 『1 1 f1/6+116+2/3 1 f1 1 第1步 Ax:I 5112 116 1/6 1 I:l5/12+1/6+116 140.75 1.r L5/12 2/3 1/6 J L1 J L5/12+2/3+1/6 J L1.25 J 因为 X与 r的差别较 大。继续 迭代 。 f1/6+l/6+2/3 1 1 1 r1.125 1 第2步Ax:【5/l2+l,6+1,6 I·.75 I:lo_75 I-r' L5/12+2/3+1/6 J L1. 25 J L1. 125 J 反 复迭代后计算 结果依 次为 r1.0625 1 r1.078125 1 r1.078125 1 r1.0769 1 r1.0769 1 10.78125 I,L0.765625 1,10.769531 ,l0.76923 1,10.76923 l。 L1.15625 J L1.15625 J L1.152344 J L1.1538 J LI.1538 J 直到 最后两次 的结果相近 或相 同的情 况下迭代结 束 。 0 7 5 O ,5 O 78I25 0 76525 0 769531 0 769531 0 769043 0 769287 0 769226 l 25 l l25 I I 5625 1 l 5625 1 1 5234 1 1 5543 1 1 538l l l 538l 1 l 5387 这里的初 始向量 为 s=【l,1,l】 ,表示每 个网 页的初 始 PageRank值均 为 1,到 达第 7次迭代时 ,迭代结果 和第 6次迭代 的结果基本 相同 ,因此迭代可 以停止 。这 种稳定 以上 是对 PageRank算 法 的分析 及建模 ,其 实现 可写入建 立搜索 引擎 的 Lucene 软件包 中 ,或作 为独立开 发的搜索 引擎的排序算 法 。其算 法可使搜索 的排序结果 更 加合理 ,符合用 户的需求 。 【11李刚. ax+Lucene构建搜 索引擎.人 民邮电 出版社 .2006 【2]g PageR.ank Pro一种 改进 的网页排序 算法,吉林大 学学报 ,2003。41(2):175-179 (作者单位 :哈 尔滨商业大 学计算机与信 息工程学 院 ) l18 ·
分享到:
收藏