一种基于SimRank的结点相似度计算方法技术

技术编号:12125109 阅读:70 留言:0更新日期:2015-09-25 13:22
本发明专利技术涉及一种基于SimRank的结点相似度计算方法,包括以下步骤:1)将多关系网络用邻接矩阵形式表示,采用非迭代的结点相似度矩阵S表示多关系网络的结点相似度;2)建立Eigen-SimRank模型,对计算结点相似度矩阵S所需的各相关矩阵信息进行分析;3)若网络结构不发生变化,则根据与计算该多关系网络相似度矩阵S的相关矩阵信息,对多关系网络中的结点相似度进行计算;4)若网络结构发生变化,则采用Eigen-SimRank动态更新算法对相关矩阵信息进行更新,得到网络结构变化后计算相似度矩阵所需要的新的相关矩阵信息;5)根据更新后的相关矩阵信息,对结点相似度进行计算;6)根据计算得到的相似度计算结果,对多关系网络中各结点之间的相似度值进行分析。本发明专利技术可以广泛应用于网络结构中结点相似度计算领域。

【技术实现步骤摘要】

本专利技术涉及多关系网络中相似度计算领域,特别是关于一种基于SimRank的结点 相似度计算方法。
技术介绍
近年来,由于互联网浪潮的席卷,在计算机应用领域产生了数量大量网络,而在此 基础上产生的大量应用,例如在社交网络中产生的边预测以及电子商务中产生的推荐系 统,其均是通过结点之间相似度计算技术和Top-k查询技术,根据用户结点本身的属性和 特征,为用户提供更精确、更符合用户期望的信息。然而,这些研宄也有一定的局限性,其中 之一就是这些相关研宄在进行查询时都没有考虑某个特定的视角。互联网发展到今天,一 个网络中的结点之间,已经不再单纯的只有一种关系,结点之间可能存在着很多很多的关 系。这种网络中结点之间存在着多种关系的网络即为多关系网络。采用已有的查询技术在 多关系网络中进行查询时,并没有考虑某个特定的视角,因此查询结果可能并不完全符合 用户的需求。 查询时考虑特定视角能为用户提供更符合用户需求的信息,因此能在一定程度上 满足这一要求。考虑特定视角的查询相较已有的查询技术而言虽然在一定程度上能为用 户提供更多有用的信息,但是在本质上它们都是利用相似度计算算法来计算结点之间的相 似度,并依据这个相似度值的高低返回相应的结果给用户。一般来说,两个结点之间的相 似度指的是根据这两个结点之间的路径而计算出的一个介于〇和1之间的数值。经过多 年的研宄,现在计算两个结点间相似度比较成熟的算法有谷歌公司提出的PageRank,以及 PageRank 的变式 Personalized PageRank ;Random Walk 以及 Random Walk 的变式 Random Walk with Restart,以及SimRank等。以SimRank为例,SimRank的核心思想是:两个结点 是相似的,如果它们周围的邻居结点也是相似的话。因此,原始的SimRank计算是一种迭代 计算的方法。迭代计算带来的最大的问题就是计算的效率问题。已经有研宄证实,SimRank 原始的迭代计算式当网络规模很大时是一种计算效率很低的计算方法。
技术实现思路
针对上述问题,本专利技术的目的是提供。 为实现上述目的,本专利技术采取以下技术方案:一种基于SimRank的结点相似度计 算方法,包括以下步骤:1)首先将多关系网络用邻接矩阵形式表示,将原始迭代的SimRank 计算式变式为矩阵计算式,即采用非迭代的结点相似度矩阵S表示多关系网络的结点相似 度,结点相似度矩阵S表示为: S=cWSW+(l-c)I; 其中,c是衰减系数,矩阵访为矩阵W的转置矩阵,矩阵W是多关系网络邻接矩阵 的列归一化矩阵,矩阵I是单位矩阵; 2)建立Eigen-SimRank模型,对计算结点相似度矩阵S所需的各相关矩阵信息 进行分析,得到与计算多关系网络结点相似度矩阵S的相关矩阵信息;3)若网络结构不 发生变化,则直接根据步骤2)中分析得到的与计算该多关系网络结点相似度矩阵S的 相关矩阵信息,对多关系网络中的结点相似度进行计算;4)若网络结构发生变化,则采用 Eigen-SimRank动态更新算法对步骤2)中分析得到的与计算多关系网络结点相似度矩阵S 的相关矩阵信息进行更新,得到网络结构变化后计算结点相似度矩阵所需要的新的相关矩 阵信息;5)根据步骤4)中得到的网络结构变化后计算结点相似度矩阵所需的新的相关矩 阵信息,对结点相似度进行计算,计算方法同步骤3) ;6)根据计算得到的相似度计算结果, 对多关系网络中各结点之间的相似度值进行分析,将满足预先设定的相似度阈值的各结点 返回给多关系网络的相关网络应用中。 所述步骤3)中,对多关系网络中的结点相似度进行计算时包括两种情况: ①对多关系网络G中所有结点两两间的相似度进行计算时: 若是首次计算,则首先根据多关系网络G的邻接矩阵M,计算得到与计算结点相似 度矩阵S的相关矩阵信息并进行存储;若不是首次计算,则直接根据存储的相关矩阵信息 对结点相似度矩阵S进行计算,计算公式为: vec (S) = (1-c) (vec (I)+cPLV); 其中,矩阵P=P、、?P、',矩阵L= (Q-i-cI)-1,矩阵V=P-Vecd),矩阵 ptp^l? ,矩阵Q=Q& 0Q、v,矩阵f为矩阵Q的逆矩阵,矩阵Q&和!^分别 是矩阵#的特征值对角矩阵和特征向量矩阵,矩阵是矩阵Pw的逆矩阵,矩阵 、、Q、、、匕1、L和矩阵V均为与计算结点相似度矩阵S的相关矩阵信息; ②对多关系网络G中任意指定的两个结点i和j之间的相似度进行计算时: 若是首次计算,则首先根据多关系网络G的邻接矩阵M,计算得到与计算结点相似 度矩阵S相关矩阵信息并进行存储;若不是首次计算,则直接根据存储的相关矩阵信息对 结点相似度进行计算,计算公式如下: S(i,j) = (1-c) (I (i, j)+cP((i-l)n+j, :)LV);其中,P((i_l)n+j,:)表示矩阵 P 的第(i_l)n+j 行。 所述步骤4)中,采用Eigen-SimRank动态更新算法对所述步骤2)中分析得到的 与计算多关系网络结点相似度矩阵S的相关矩阵信息进行更新的方法为: 假设当前时刻为t时刻,前一时刻是t_l时刻,矩阵你t4表示t_l时刻多关系网络 G的列归一化邻接矩阵的转置,则t时刻多关系网络G的列归一化邻接矩阵的转置矩阵 为: 其中,矩阵A私为从t-1时刻到t时刻网络结构变化的增量; 利用t_l时刻计算相似度矩阵所需的相关矩阵信息PH、LH、VH以及A访,得到: 在上式左右两端分别左乘矩阵卩!^-〒-1,右乘矩阵,得到: 对上式进行进一步处理,得到更新后的各相关矩阵信息为: 其中,矩阵X=x?x,矩阵Y=y?y,矩阵Z=z?z。 本专利技术由于采取以上技术方案,其具有以下优点:1、本专利技术由于采用了非迭代的 计算方式来计算多关系网络中各结点之间的相似度,相较于原有采用迭代式的计算方式, 在时间效率上有了大大的提升。2、本专利技术由于可以将与计算多关系网络中结点相似度的相 关矩阵信息存储到磁盘中,当网络结构发生变化时,根据原有相关矩阵信息以及网络结构 变化的增量,即可获得网络结构变化后计算结点相似度的相关矩阵信息,不仅仅适用于静 态网络,还适应网络结构动态变化的情况,大大的提高了其适用性。本专利技术可以广泛应用于 网络结构中结点相似度计算领域。【具体实施方式】 下面结合实施例对本专利技术进行详细的描述。 本专利技术包括以下步骤: 1)首先将多关系网络用邻接矩阵形式表示,将原始迭代的SimRank计算式变式为 矩阵计算式,即采用非迭代的结点相似度矩阵S表示多关系网络的结点相似度。 多关系网络表不为: G= (V,E) (1) 其中,V是多关系网络中的结点集,结点集V中的每个结点v表示多关系网络中的 一个实体;E是多关系网络中的边,代表着结点间的关系,一条E中的边连接两个V中的结 点。 SimRank是以迭代的方式去计算多关系网络中各结点之间的相似度,其计算式表 示为: 其中,c是衰减系数,是取值为(0,1)之间的一个常数;I (a)表示结点a的入度 结点集合,I (b)表不结点b的入度结点集合,11 (a) |和1当前第1页1 2 3 本文档来自技高网
...

【技术保护点】
一种基于SimRank的结点相似度计算方法,包括以下步骤:1)首先将多关系网络用邻接矩阵形式表示,将原始迭代的SimRank计算式变式为矩阵计算式,即采用非迭代的结点相似度矩阵S表示多关系网络的结点相似度,结点相似度矩阵S表示为:其中,c是衰减系数,矩阵为矩阵W的转置矩阵,矩阵W是多关系网络邻接矩阵的列归一化矩阵,矩阵I是单位矩阵;2)建立Eigen‑SimRank模型,对计算结点相似度矩阵S所需的各相关矩阵信息进行分析,得到与计算多关系网络结点相似度矩阵S的相关矩阵信息;3)若网络结构不发生变化,则直接根据步骤2)中分析得到的与计算该多关系网络结点相似度矩阵S的相关矩阵信息,对多关系网络中的结点相似度进行计算;4)若网络结构发生变化,则采用Eigen‑SimRank动态更新算法对步骤2)中分析得到的与计算多关系网络结点相似度矩阵S的相关矩阵信息进行更新,得到网络结构变化后计算结点相似度矩阵所需要的新的相关矩阵信息;5)根据步骤4)中得到的网络结构变化后计算结点相似度矩阵所需的新的相关矩阵信息,对结点相似度进行计算,计算方法同步骤3);6)根据计算得到的相似度计算结果,对多关系网络中各结点之间的相似度值进行分析,将满足预先设定的相似度阈值的各结点返回给多关系网络的相关网络应用中。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李翠平
申请(专利权)人:中国人民大学
类型:发明
国别省市:北京;11

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

1