一种社交云媒体协同过滤推荐方法

文档序号:6623277阅读:306来源:国知局
一种社交云媒体协同过滤推荐方法
【专利摘要】本发明涉及一种社交云媒体协同过滤推荐方法,包括以下步骤:获取多个微博用户及其关联用户所发微博;构建用于反映不同用户对不同项目评分大小的对应关系的用户项目评分矩阵;计算关联用户对项目的影响评分;计算微博用户的特征向量;计算微博用户的特征相似度;计算与微博用户相似的相似用户对项目的影响评分;根据关联用户对项目的影响评分以及相似用户对项目的影响评分,更新用户项目评分矩阵;挖掘网络资源,对更新后的用户项目评分矩阵进行扩展;对用户项目评分矩阵分别进行基于用户和基于项目的聚类;使用聚类得到的类簇作为近邻搜索域,采用协同过滤推荐预测评分。该方法可以准确地向用户推荐他们感兴趣的网络信息内容。
【专利说明】一种社交云媒体协同过滤推荐方法

【技术领域】
[0001] 本发明涉及网络信息推送【技术领域】,特别涉及一种应用于社交网络的社交云媒体 协同过滤推荐方法。

【背景技术】
[0002] 推荐系统的目的在于在用户和信息中建立连接,一方面帮助用户找出对自己有意 义的信息,另一方面帮助信息展现在对他感兴趣的用户前,从而实现用户和信息供应商的 双赢。通过对社交网络中用户数据的分析,可以得到用户的主题兴趣和用户之间的信任关 系。而对应的媒体服务提供商,则可以通过对此分析有针对性的向用户进行推荐图书、音视 频、商品等。这对于信息提供商来说提高了推送信息的准确度,而对用户来说也能够获取更 准确的信息,帮助用户提高获取信息的效率。
[0003] 协同过滤推荐算法的基本假设是:为用户推荐感兴趣的内容可通过找到与该用户 偏好相似的其他用户,将他们感兴趣的内容推荐给该用户。针对信息超载问题,虽然传统个 性化推荐技术已经较为成熟,但随着推荐环境的复杂化、系统中海量信息数据的不断增长 和用户需求的不断提高,传统个性化推荐技术在社会化媒体平台的应用中忽略了用户的社 交关系,不仅难以保证推荐的准确度,还存在管理难、分析难等问题。


【发明内容】

[0004] 本发明的目的在于提供一种社交云媒体协同过滤推荐方法,该方法可以准确地向 用户推荐他们感兴趣的网络信息内容。
[0005] 为实现上述目的,本发明采用的技术方案是:一种社交云媒体协同过滤推荐方法, 包括以下步骤: 步骤1 :获取多个微博用户以及与该些微博用户存在社交关系的关联用户所发微博; 步骤2:根据步骤1获取的微博用户所发微博,构建用于反映不同用户对不同项目评分 大小的对应关系的用户项目评分矩阵; 步骤3 :根据步骤1获取的关联用户所发微博,计算与微博用户存在社交关系的关联用 户对项目的影响评分; 步骤4 :计算微博用户的特征向量; 步骤5 :根据步骤4得到的微博用户的特征向量,计算微博用户的特征相似度; 步骤6 :根据步骤5得到的微博用户的特征相似度,计算与微博用户相似的相似用户对 项目的影响评分; 步骤7 :根据步骤3得到的关联用户对项目的影响评分以及步骤6得到的相似用户对 项目的影响评分,更新用户项目评分矩阵; 步骤8 :挖掘网络资源,对步骤7更新后的用户项目评分矩阵进行扩展; 步骤9 :对步骤8得到的用户项目评分矩阵分别进行基于用户和基于项目的聚类; 步骤10 :使用步骤9聚类得到的类簇作为近邻搜索域,采用协同过滤推荐预测评分。
[0006] 进一步的,在步骤2中,用户项目评分矩阵的构建方法为:从获取的微博中提取所 有用户所感兴趣的内容,以此构建项目集;分别根据用户所发微博中是否涉及项目集中的 项目,以及对项目的评价情况,得到不同用户对不同项目的评分,进而得到用户项目评分矩 阵。
[0007] 进一步的,在步骤3中,按如下方法计算关联用户对项目的影响评分:记用户i对 项目k评分为R ik,社交网络中存在着关注与被关注的关系,则用户i的关联用户对项目k的 影响评分FIik按如下公式计算:

【权利要求】
1. 一种社交云媒体协同过滤推荐方法,其特征在于,包括以下步骤: 步骤1 :获取多个微博用户以及与该些微博用户存在社交关系的关联用户所发微博; 步骤2 :根据步骤1获取的微博用户所发微博,构建用于反映不同用户对不同项目评分 大小的对应关系的用户项目评分矩阵; 步骤3 :根据步骤1获取的关联用户所发微博,计算与微博用户存在社交关系的关联用 户对项目的影响评分; 步骤4 :计算微博用户的特征向量; 步骤5 :根据步骤4得到的微博用户的特征向量,计算微博用户的特征相似度; 步骤6 :根据步骤5得到的微博用户的特征相似度,计算与微博用户相似的相似用户对 项目的影响评分; 步骤7 :根据步骤3得到的关联用户对项目的影响评分以及步骤6得到的相似用户对 项目的影响评分,更新用户项目评分矩阵; 步骤8 :挖掘网络资源,对步骤7更新后的用户项目评分矩阵进行扩展; 步骤9 :对步骤8得到的用户项目评分矩阵分别进行基于用户和基于项目的聚类; 步骤10 :使用步骤9聚类得到的类簇作为近邻搜索域,采用协同过滤推荐预测评分。
2. 根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤2 中,用户项目评分矩阵的构建方法为:从获取的微博中提取所有用户所感兴趣的内容,以此 构建项目集;分别根据用户所发微博中是否涉及项目集中的项目,以及对项目的评价情况, 得到不同用户对不同项目的评分,进而得到用户项目评分矩阵。
3. 根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤3 中,按如下方法计算关联用户对项目的影响评分:记用户i对项目k评分为R ik,社交网络中 存在着关注与被关注的关系,则用户i的关联用户对项目k的影响评分FIik按如下公式计 算:
其中,I^_k为关联用户j对项目k的评分,η为用户i的关联用户中对项目k有评分的 用户总数。
4. 根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤4 中,微博用户的特征向量的计算方法为: 首先,对获取的微博进行预处理,包括中文分词和停用词处理;中文分词的方法为:采 用中文分词系统,结合自定义的用户词典对微博信息进行分词,停用词处理的方法为:采用 HashMap快速索引查表法对无用信息进行过滤,从而降低微博信息的噪音; 然后,采用TF-IDF算法对预处理的结果进行处理,具体公式如下: 词频TF= -个词在一用户微博中出现的次数/所述用户微博中总词数 逆文档频率IDF=log(微博用户总数/微博中提到所述词的用户总数) 将得到的TF和IDF相乘得到TF-IDF,进而得到微博用户的特征向量W2, W,..),其 中Wi即词i的TF-IDF。
5. 根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤5 中,微博用户的特征相似度的计算方法为:将步骤4中得到的各个用户的特征向量,按照相 同的特征词排序后,代入余弦相似度公式计算用户ua与用户队的相似度Sim(Ua,Ub):
其中,Wak表示用户a对特征词k的TF-IDF,η表示特征向量的长度。
6. 根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤6 中,按如下方法计算与微博用户相似的相似用户对项目的影响评分:记用户i对项目k的评 分为R ik,记用户i与用户j的特征相似度为Su,贝U用户i的相似用户对项目k的影响评分 si ik按如下公式计算:
其中,Rpk为相似用户P对项目k的评分,N为相似用户总数。
7. 根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤7 中,按如下方法更新用户项目评分矩阵: 根据步骤3得到的关联用户对项目的影响评分,以及步骤6得到的相似用户对项目的 影响评分,按如下公式更新用户项目评分矩阵;
其中,R' ik为更新后的用户项目评分矩阵中用户i对项目k的评分,Rik为更新前的用 户项目评分矩阵中用户i对项目k的评分,ε为关联影响因子,Θ为相似影响因子,通过调 整关联影响因子和相似影响因子,更改待推荐用户对关联用户以及相似用户的信任度。
8. 根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤 8中,挖掘网络资源,扩展更新后的用户项目评分矩阵的方法为:使用网络爬虫开源项目 WebMagic根据步骤7的用户项目评分矩阵的项目集从各个有评分的网站中挖掘不同用户 对不同项目的评分,并将用户对所有项目集内项目的评分作为新的一行,拓展步骤7更新 后的用户项目评分矩阵。
9. 根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步 骤9中,对用户项目评分矩阵分别进行基于用户和基于项目的聚类的方法为:聚类采用 K-means算法,算法邻近度函数为余弦相似度函数,聚类中心为类簇中向量的均值,目标为 最大化对象与其聚类中心的余弦相似度和; 在对用户的聚类中,向量是以用户i对项目1到η的评分(Rn,Ri2,…,Rin)来表示, 同时其相似度计算公式为:
其中,Ruk表示用户U对项目k的评分,表示聚类中心C对项目K的评分;Sim(U,C) 表示用户U和聚类中心C的相似度; 与之对应,在对项目的聚类中,向量是以项目i被用户1到m的评分(Rn,Ri2,…,R im) 来表示,其相似度计算公式为:
其中,Rik表示项目I被用户k的评分,表示聚类中心C被用户k的评分;Sim(I,C) 表示项目I和聚类中心C的相似度; 计算过程过程: 1) 随机选取k个用户或项目作为初始中心点; 2) 计算剩余用户或项目与各个中心点的相似度,并将用户或项目分配给相似度最大的 类簇; 3) 计算各个类簇中所有用户或项目的均值作为新的类簇中心点; 4) 中心点如果改变进入步骤2),否则算法结束。
10.根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤 10中,协同过滤推荐包括基于用户的协同过滤推荐,和基于项目的协同过滤推荐;步骤10 与步骤9相对应,即基于用户的协同过滤推荐采用的是基于用户的聚类结果作为近邻搜索 域,反之,基于项目的协同过滤推荐采用的是基于项目的聚类结果作为近邻搜索域; 在预测评分阶段,首先在聚类簇中找到目标用户或项目所属聚类簇,然后计算该用户 或项目与同一聚类簇中剩余用户或项目的相似度,选择K个与目标用户或项目具有最大相 似度的用户或项目,最后根据如下公式进行预测评分:
上式表示基于用户进行推荐,Rui表示用户u对项目i的预测评分,&表示用户u对 所有项目的平均评分,Sim(u,v)表示用户u与用户v的相似度,计算公式与步骤9的公式 1相同,表示k个与目标用户相似度最大的用户,i表示用户v对所有项目的平均评 分;
上式表示基于项目进行推荐,Riu表示项目i对应用户u的预测评分,f表示项目i所 有被评分的平均评分,Sim(i,j)表示项目i与项目j的相似度,计算公式与步骤9的公式 2相同表示k个与目标项目相似度最大的项目,表示项目j所有被评分的平均评
【文档编号】G06F17/30GK104156436SQ201410395409
【公开日】2014年11月19日 申请日期:2014年8月13日 优先权日:2014年8月13日
【发明者】郑相涵, 陈国龙, 汪孔炤 申请人:福州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1