[发明专利]一种基于社会网络结构的并行推荐方法有效
| 申请号: | 201510860628.3 | 申请日: | 2015-11-30 |
| 公开(公告)号: | CN105512242B | 公开(公告)日: | 2018-09-21 |
| 发明(设计)人: | 江颉;温瑞龙;陈铁明;王小号;陈波 | 申请(专利权)人: | 浙江工业大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 王利强 |
| 地址: | 310014 浙江省杭州市*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 社会 网络 结构 并行 推荐 方法 | ||
1.一种基于社会网络结构的并行推荐方法,其特征在于:所述推荐方法包括如下步骤:
1)根据活跃节点选择策略,选取k个活跃节点作为中心节点;
2)以k个中心节点为初始聚类中心,对剩余的所有节点进行聚类,将所有节点划分为以k个中心节点为中心的k个社区;
3)根据上一步得到的k个社区,使用SimRank算法分别计算每个社区内所有用户间的相似度,过程如下:
3.1)节点p和节点q的相似性通过所有p的入邻居节点和q的入邻居节点之间的相似性的平均值来衡量,如果用s(p,q)表示节点p和节点q的相似性,那么SimRank的数学表达式写成如下形式:
其中c是一个0-1之间的常量,I(p)表示所有指向p的节点,或者称作节点p的入邻居节点;I(q)表示所有指向q的节点,或者称作节点q的入邻居节点,当或者时,s(p,q)=0
3.2)假设第t次迭代的SimRank值为st(p,q),SimRank值初始化为:
然后通过式(1)迭代更新,第t次迭代的SimRank值st由t-1次迭代的SimRank值st-1通过式(1)得到,最终的迭代结果st也将收敛于(1)式中SimRank值,即:
3.3)使用MapReduce并行框架进行处理,过程如下:
3.3.1)预处理阶段
图的边(p,in:a,b,...|out:i,j,...),p表示图中的节点,in:后表示节点p的入邻居节点,out:后表示节点p的出邻居节点;
在Map阶段,将输入的(p,q)转化为(p,out:q)和(q,in:p);在Reduce阶段,将具有相同key值的记录进行整合,得到(p,in:a,b,...|out:i,j,...),整个预处理阶段后形成的结果文件存放在分布式文件系统中,该文件描述了图的整个拓扑结构,用于后续SimRank计算阶段使用;
3.3.2)SimRank迭代计算过程
每一次迭代都通过一个MapReduce任务完成,每次迭代的输入就是上次迭代的输出;
4)计算与某用户最为相似的用户列表;
5)重复4)得到任意用户的相似用户列表;
6)对于目标用户,分析其相似用户列表中用户的兴趣喜好对目标用户进行个性化推荐。
2.如权利要求1所述的一种基于社会网络结构的并行推荐方法,其特征在于:所述步骤3.3.2)中,在SimRank迭代计算过程中,Map的输入是上次迭代计算的SimRank值,格式为<(p,q),s(p,q)>,由于节点与它本身的相似性为1,所以初始的记录为<p,p,1>,其余节点间的相似性为0;Map阶段中,寻找节点p,q各自的所有出邻居节点;Reduce阶段,对key值相同记录的相似性分数汇总求和,并且更新所有节点对的SimRank值。
3.如权利要求1或2所述的一种基于社会网络结构的并行推荐方法,其特征在于:所述步骤3)中,对SimRank算法进行改写得到Delta-SimRank算法,利用Δ改写(1)式,得到:
其中Δt(p,q)表示第t次迭代相似性分数的增量;至此,就把计算SimRank问题转化为计算SimRank增量的Δ,根据Δ就能得到最终的SimRank值:
st+1(p,q)=st(p,q)+Δt+1(p,q) (5)
Delta-SimRank算法将更新后的Δ值进行累加以得到最终的SimRank值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510860628.3/1.html,转载请声明来源钻瓜专利网。





