一种基于线性代数的个性化网页排名方法及系统技术方案

技术编号:37810811 阅读:12 留言:0更新日期:2023-06-09 09:40
本发明专利技术公开了一种基于线性代数的个性化网页排名方法及系统,将图表示为邻接矩阵并进行代数计算,实现良好的并行性从而高效计算个性化网页排名。具体为:以一组网页对应的原始图数据作为输入网页集,起始网页集为输入网页集的子集,根据原始图数据构建图邻接矩阵。在图邻接矩阵上使用代数Trim

【技术实现步骤摘要】
一种基于线性代数的个性化网页排名方法及系统


[0001]本专利技术涉及网络分析
,具体涉及一种基于线性代数的个性化网页排名方法及系统。

技术介绍

[0002]在网络分析领域,个性化网页排名具有重要意义。个性化网络排名PPR(Personalized PR)是网络排名PR(PageRank)的特殊应用,用于度量图中各个节点与给定的起始节点集的相关度大小。PPR具有广泛的应用。如在社交网络上,用户可能希望知晓哪些好友对自己更重要;在商务网络上,商家也希望知道与所卖商品相关性比较大的商品,以便改善经营策略。
[0003]经典的个性化网页排名算法是PM(Power method)迭代算法,PM算法不断迭代计算,每轮迭代中计算一个近似PPR向量,将其作为下轮迭代的输入值,之后依据图中的边关系,计算出一个新近似PPR向量,直至收敛,将最后得到的PPR向量作为结果返回。
[0004]虽然PM算法能保证较高的准确度,但算法复杂度高,计算开销大,因此一种改进策略是先计算强连通分量,之后利用强连通分量计算起始节点集的可达子图,再在数据规模变小的可达子图上使用PM算法计算个性化网页排名。但高效地并行计算强连通分量是一个尚待解决的问题。现有的技术大多基于邻接表的数据格式计算强连通分量,而图数据的不规则性,导致并行计算时会产生负载不均等问题,使得并行性不佳,影响了计算强连通分量的效率。
[0005]因此目前的基于强连通分量的个性化网页排名算法存在难以在图数据上实现高并发性。

技术实现思路

[0006]有鉴于此,本专利技术提供了一种基于线性代数的个性化网页排名方法及系统,通过将图表示为邻接矩阵并进行代数计算,可以充分利用成熟的并行矩阵计算方法以实现良好的并行性,快速得到强连通分量,从而高效计算个性化网页排名。
[0007]为达到上述目的,本专利技术的技术方案包括如下步骤:
[0008]步骤一:以一组网页对应的原始图数据作为输入网页集,起始网页集为输入网页集的子集,根据原始图数据构建图邻接矩阵。
[0009]步骤二:在图邻接矩阵上使用代数Trim

1方法发现节点数为1的强连通分量并对邻接矩阵进行重构,得到使用重构的邻接矩阵表示的图。
[0010]步骤三:使用基于代数广度优先搜索的代数FW

BW算法来寻找使用重构的邻接矩阵表示的图中的最大强连通分量。
[0011]步骤四:使用基于矩阵乘法的代数标签传播算法来寻找使用邻接矩阵表示的图中的强连通分量。
[0012]步骤五:在重构的有向无环图上利用PM算法计算个性化网页排名,每个网页排序
值的大小表明网页与起始网页集的关联紧密程度。
[0013]进一步地,根据原始图数据构建图邻接矩阵,具体步骤为:
[0014]S101:输入网页集V、网页链接关系、起始网页集V0和V0中网页的点击数量L={(v,l
v
)|v∈V0};l
v
为网页v的点击数量;起始网页集V0中有n个网页。
[0015]S102:基于输入网页、网页链接关系构建图G0,将V0对应节点进行标记。
[0016]S103:根据网页的点击数量计算起始网页的起始概率P={(v,p
v
)|v∈V0},l
u
为网页u的点击数量;p
v
为网页v起始概率。
[0017]S104:根据图G0生成稀疏矩阵FW,即为图邻接矩阵,FW的转置矩阵为BW,将FW和BW按稀疏压缩矩阵格式存储。
[0018]进一步地,在图邻接矩阵上使用代数Trim

1方法发现节点数为1的强连通分量方法为:
[0019]S201:使用全1向量分别与FW、BW进行稀疏矩阵乘法,结果分别为输入网页集V中所有节点v的入度f(v)与出度b(v),将f(v)与b(v)是否为0并用布尔向量记录。
[0020]S202:将f(v)和b(v)基于代数基元进行与运算的向量加法,即m(v)=f(v)&&b(v);m(v)为标记向量,m(v)中记录为0的节点即为节点数为1的强连通分量。
[0021]S203:将m(v)分别与FW、BW相乘,计算m(v)为1的剩余节点的入度与出度f(v)、b(v)是否为0并用布尔向量记录。
[0022]S204:重复S202和S203,直到m(v)不再变化。
[0023]S205:将m(v)中记录为0的节点对应的强连通分量id记录为其本身节点序号。
[0024]S206:遍历FW和BW中的所有边(i,j),i和j均为节点,只保留满足m(i)=1&&m(j)=1的边,即将节点数为1的强连通分量从图中剔除,得到剔除了强连通分量之后的图。
[0025]进一步地,使用基于代数广度优先搜索的代数FW

BW算法来寻找使用重构的邻接矩阵表示的图中的强连通分量,具体方法为:
[0026]S301:计算输入网页V中所有节点v的入度与出度并相乘得到n(v)向量。
[0027]S302:对n(v)进行排序,求得最大的n(v0)。
[0028]S303:从v0开始进行基于邻接矩阵FW的代数广度优先搜索,求得BFS树B。
[0029]S304:从v0开始进行基于邻接矩阵BW的代数广度优先搜索,求得BFS树F。
[0030]S305:B和F的交集S即为v0所在的强连通分量S,将S中的节点从FW和BW中剔除。
[0031]进一步地,使用基于矩阵乘法的代数标签传播算法来寻找使用邻接矩阵表示的图中的强连通分量,具体方法为:
[0032]S401:节点v赋值minf(v)=v,使用矩阵乘法将minf(v)传输给自身的可达邻居节点,节点将minf(v)更新为收到的最小值,重复此过程直到minf(v)不再更新。
[0033]S402:满足minf(v)=v的节点v赋值minb(v)=v,使用矩阵乘法将minb(v)传输给可达自身的邻居节点,节点将自身minb(v)更新为收到的最小值,重复此过程直到minb(v)不再更新。
[0034]S403:将minf(v)=minb(v)=u的一组节点的强连通分量ID标记为u,从FW和BW中剔除。
[0035]S404:重复S401、S402、S403,直到FW和BW为空。
[0036]进一步地,在重构的有向无环图上利用PM算法计算个性化网页排名的方法为:
[0037]S501:对图G0进行重构,将属于同一强连通分量的节点压缩为一个超级节点,根据强连通分量间的边关系生成新边,得到有向无环图G1并以邻接矩阵形式存储。
[0038]S502:将V0中节点所在的强连通分量记为起始分量,得到G1中对应的起始分量集V1。
[0039]S503:对V1中的节点分别进行代数广度优先搜索,再将得到的所有广本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于线性代数的个性化网页排名方法,其特征在于,该方法包括如下步骤:步骤一:以一组网页对应的原始图数据作为输入网页集,起始网页集为所述输入网页集的子集,根据原始图数据构建图邻接矩阵;步骤二:在图邻接矩阵上使用代数Trim

1方法发现节点数为1的强连通分量并对邻接矩阵进行重构,得到使用重构的邻接矩阵表示的图;步骤三:使用基于代数广度优先搜索的代数FW

BW算法来寻找使用重构的邻接矩阵表示的图中的最大强连通分量;步骤四:使用基于矩阵乘法的代数标签传播算法来寻找使用邻接矩阵表示的图中的强连通分量;步骤五:在重构的有向无环图上利用PM算法计算个性化网页排名,每个网页排序值的大小表明网页与起始网页集的关联紧密程度。2.根据权利要求1所述的一种基于线性代数的个性化网页排名方法,其特征在于,所述根据原始图数据构建图邻接矩阵,具体步骤为:S101:输入网页集V、网页链接关系、起始网页集V0和V0中网页的点击数量L={(v,l
v
)|v∈V0};l
v
为网页v的点击数量;所述起始网页集V0中有n个网页;S102:基于所述输入网页、网页链接关系构建图G0,将V0对应节点进行标记;S103:根据网页的点击数量计算起始网页的起始概率P={(v,p
v
)|v∈V0},l
u
为网页u的点击数量;p
v
为网页v起始概率;S104:根据图G0生成稀疏矩阵FW,即为图邻接矩阵,FW的转置矩阵为BW,将FW和BW按稀疏压缩矩阵格式存储。3.根据权利要求1所述的一种基于线性代数的个性化网页排名方法,其特征在于,所述在图邻接矩阵上使用代数Trim

1方法发现节点数为1的强连通分量方法为:S201:使用全1向量分别与FW、BW进行稀疏矩阵乘法,结果分别为输入网页集V中所有节点v的入度f(v)与出度b(v),将f(v)与b(v)是否为0用布尔向量记录;S202:将f(v)和b(v)基于代数基元进行与运算的向量加法,即m(v)=f(v)&&b(v);m(v)为标记向量,m(v)中记录为0的节点即为节点数为1的强连通分量;S203:将m(v)分别与FW、BW相乘,计算m(v)为1的剩余节点的入度与出度f(v)、b(v)是否为0并用布尔向量记录;S204:重复S202和S203,直到m(v)不再变化;S205:将m(v)中记录为0的节点对应的强连通分量id记录为其本身节点序号;S206:遍历FW和BW中的所有边(i,j),i和j均为节点,只保留满足m(i)=1&&m(j)=1的边,即将节点数为1的强连通分量从图中剔除,得到剔除了强连通分量之后的图。4.根据权利要求1所述的一种基于线性代数的个性化网页排名方法,其特征在于,使用基于代数广度优先搜索的代数FW

BW算法来寻找使用重构的邻接矩阵表示的图中的强连通分量,具体方法为:S301:计算输入网页V中所有节点v的入度与出度并相乘得到n(v)向量;S302:对n(v)进行排序,求得最大的n(v0);S303:从v0开始进行基于邻接矩阵FW的代数广度优先搜索,求得BFS树B;
S304:从v0开始进行基于邻接矩阵BW的代数广度优先搜索,求得BFS树F;S305:B和F的交集S即为v0所在的强连通分量S,将S中的节点节点从FW和BW中剔除。5.根据权利要求1所述的一种基于线性代数的个性化网页排名方法,其特征在于,使用基于矩阵乘法的代数标签传播算法来寻找使用邻接矩阵表示的图中的强连通分量,具体方法为:S401:节点v赋值minf(v)=v,使用矩阵乘法将minf(v)传输给自身的可达邻居节点,节点将minf(v)更新为收到的最小值,重复此过程直到minf(v)不再更新;S402:满足minf(v)=v的节点v赋值minb(v)=v,使用矩阵乘法将minb(v)传输给可达自身的邻居节点,节点将自身minb(v)更新为收到的最小值,重复此过程直到minb(v)不再更新;S403:将minf(v)=minb(v)=u的一组节点的强连通分量ID标记为u,从FW和BW中剔除;S404:重复S401、S402、S403,直到FW和BW为空。6.根据权利要求1所述的一种基于线性代数的个性化网页排名方法,其特征在于,在重构的有向无环图上利用PM算法计算个性化网页排名的方法为:S501:对图G0进行重构,将属于同一强连通分量的节点压缩为一个超级节点,根据强连通分量间的边关系生成新边,得到有向无环图G1并以邻接矩阵形式存储;S502:将V0中节点所在的强连通分量记为起始分量,得到G1中对应的起始分量集V1;S503:对V1中的节点分别进行代数广度优先搜索,再将得到的所有广度优先搜索树求并集,即可得到分量可达子图G2;S504:根据G2中节点与G0的对应关系,对G0进行重构,得到可达子图G3;S505:在G3上使用PM算法计算G3上的V0的个...

【专利技术属性】
技术研发人员:崔博远乔鹏鹏张志威袁野王国仁
申请(专利权)人:北京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1