【技术实现步骤摘要】
基于Spark的节点相似度计算方法、装置及终端
本专利技术涉及数据处理
,尤其涉及一种基于Spark的节点相似度计算方法、装置及终端。
技术介绍
Simrank是一种用于计算图中节点之间相似度的技术,如在二部图中,图中有两种类型的节点,同一种类型的节点之间没有边相连,两种不同类型的节点之间才有边相连,Simrank算法可以计算同一种类型节点之间的相似度。如电商场景的个性化推荐中,用户集合与商品集合的关系可以抽象为二部图,用户点击过商品,则该用户与点击的商品之间可以有边相连,通过Simrank可以计算二部图中用户之间或者商品之间的相似度;在搜索广告场景中,用户搜索并点击过广告,用户使用过的检索内容(称作query)的集合与广告(称作ad)的集合的关系可以抽象为二部图,指定的query检索得到的ad列表中有ad被点击,则指定的query与被点击的ad之间可以有边相连,通过Simrank可以计算二部图中query之间或者ad之间的相似度。Simrank这种基于图的结构关系计算节点间的相似度,以及相似度传播的特点,常常被应用在 ...
【技术保护点】
1.一种基于Spark的节点相似度计算方法,其特征在于,包括:/n获取待处理的二部图中的节点数据,对所述节点数据进行序列化处理;/n根据处理后的所述节点数据生成概率转移矩阵和相似度矩阵;/n对所述概率转移矩阵和相似度矩阵进行多级自适应分片迭代处理,获得中间结果矩阵;/n将所述中间结果矩阵与预先设置的衰减系数做乘积运算,获得最终结果矩阵;/n根据所述最终结果矩阵获得节点之间的相似度。/n
【技术特征摘要】 【专利技术属性】
1.一种基于Spark的节点相似度计算方法,其特征在于,包括:
获取待处理的二部图中的节点数据,对所述节点数据进行序列化处理;
根据处理后的所述节点数据生成概率转移矩阵和相似度矩阵;
对所述概率转移矩阵和相似度矩阵进行多级自适应分片迭代处理,获得中间结果矩阵;
将所述中间结果矩阵与预先设置的衰减系数做乘积运算,获得最终结果矩阵;
根据所述最终结果矩阵获得节点之间的相似度。
2.根据权利要求1所述的方法,其特征在于,对所述概率转移矩阵和相似度矩阵进行多级自适应分片迭代处理,获得中间结果矩阵,包括:
对所述概率转移矩阵和相似度矩阵进行多级自适应分片迭代处理;
计算处理后的所述概率转移矩阵的转置与相似度矩阵的乘积,获得过渡矩阵;
根据所述过渡矩阵和相似度矩阵获得中间结果矩阵。
3.根据权利要求2所述的方法,其特征在于,根据所述过渡矩阵和相似度矩阵获得中间结果矩阵,包括:
对所述过渡矩阵和相似度矩阵进行多级自适应分片迭代处理;
计算处理后的所述过渡矩阵与相似度矩阵的乘积,获得中间结果矩阵。
4.根据权利要求1所述的方法,其特征在于,根据所述最终结果矩阵获得节点之间的相似度,包括:
将所述最终结果矩阵的对角线置为1;
对所述最终结果矩阵中的相似对中节点进行反序列化处理,获得节点之间的相似度。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述多级自适应分片迭代处理,包括:
将矩阵按照预设的矩阵行和/或矩阵列进行迭代切割处理,获得多个矩阵分片。
6.根据权利要求1-4中任意一项所述的方法,其特征在于,在获得中间结果矩阵之前,所述方法还包括:
获取对所述概率转移矩阵和相似度矩阵进行多级迭代自适应分片处理的迭代次数;
若所述迭代次数大于或等于预设的次数阈值,则停止对所述概率转移矩阵和相似度矩阵进行多级迭代自适应分片处理;或者,
若所述迭代次数小于预设的次数阈值,则继续对所述概率转移矩阵和相似度矩阵进行多级迭代自适应分片处理。
7.一种基于Spark的节点相似度计算装置,其特征在于,包括:
获取模块,用于获取待处理的二部图中的节点数据,并对所述节点数据进行序列化处理;
生成模块,用于根据处理后的所述节点数据生成概率转移矩阵和相似度矩阵;
技术研发人员:魏红亮,
申请(专利权)人:优视科技中国有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。