当前位置: 首页 > 专利查询>福州大学专利>正文

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

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

【技术实现步骤摘要】
一种社交云媒体协同过滤推荐方法
本专利技术涉及网络信息推送
,特别涉及一种应用于社交网络的社交云媒体协同过滤推荐方法。
技术介绍
推荐系统的目的在于在用户和信息中建立连接,一方面帮助用户找出对自己有意义的信息,另一方面帮助信息展现在对他感兴趣的用户前,从而实现用户和信息供应商的双赢。通过对社交网络中用户数据的分析,可以得到用户的主题兴趣和用户之间的信任关系。而对应的媒体服务提供商,则可以通过对此分析有针对性的向用户进行推荐图书、音视频、商品等。这对于信息提供商来说提高了推送信息的准确度,而对用户来说也能够获取更准确的信息,帮助用户提高获取信息的效率。协同过滤推荐算法的基本假设是:为用户推荐感兴趣的内容可通过找到与该用户偏好相似的其他用户,将他们感兴趣的内容推荐给该用户。针对信息超载问题,虽然传统个性化推荐技术已经较为成熟,但随着推荐环境的复杂化、系统中海量信息数据的不断增长和用户需求的不断提高,传统个性化推荐技术在社会化媒体平台的应用中忽略了用户的社交关系,不仅难以保证推荐的准确度,还存在管理难、分析难等问题。
技术实现思路
本专利技术的目的在于提供一种社交云媒体协同过滤推荐方法,该方法可以准确地向用户推荐他们感兴趣的网络信息内容。为实现上述目的,本专利技术采用的技术方案是:一种社交云媒体协同过滤推荐方法,包括以下步骤:步骤1:获取多个微博用户以及与该些微博用户存在社交关系的关联用户所发微博;步骤2:根据步骤1获取的微博用户所发微博,构建用于反映不同用户对不同项目评分大小的对应关系的用户项目评分矩阵;步骤3:根据步骤1获取的关联用户所发微博,计算与微博用户存在社交关系的关联用户对项目的影响评分;步骤4:计算微博用户的特征向量;步骤5:根据步骤4得到的微博用户的特征向量,计算微博用户的特征相似度;步骤6:根据步骤5得到的微博用户的特征相似度,计算与微博用户相似的相似用户对项目的影响评分;步骤7:根据步骤3得到的关联用户对项目的影响评分以及步骤6得到的相似用户对项目的影响评分,更新用户项目评分矩阵;步骤8:挖掘网络资源,对步骤7更新后的用户项目评分矩阵进行扩展;步骤9:对步骤8得到的用户项目评分矩阵分别进行基于用户和基于项目的聚类;步骤10:使用步骤9聚类得到的类簇作为近邻搜索域,采用协同过滤推荐预测评分。进一步的,在步骤2中,用户项目评分矩阵的构建方法为:从获取的微博中提取所有用户所感兴趣的内容,以此构建项目集;分别根据用户所发微博中是否涉及项目集中的项目,以及对项目的评价情况,得到不同用户对不同项目的评分,进而得到用户项目评分矩阵。进一步的,在步骤3中,按如下方法计算关联用户对项目的影响评分:记用户i对项目k评分为Rik,社交网络中存在着关注与被关注的关系,则用户i的关联用户对项目k的影响评分FIik按如下公式计算:其中,Rjk为关联用户j对项目k的评分,n为用户i的关联用户中对项目k有评分的用户总数。进一步的,在步骤4中,微博用户的特征向量的计算方法为:首先,对获取的微博进行预处理,包括中文分词和停用词处理;中文分词的方法为:采用中文分词系统,结合自定义的用户词典对微博信息进行分词,停用词处理的方法为:采用HashMap快速索引查表法对无用信息进行过滤,从而降低微博信息的噪音;然后,采用TF-IDF算法对预处理的结果进行处理,具体公式如下:词频TF=一个词在一用户微博中出现的次数/所述用户微博中总词数逆文档频率IDF=log(微博用户总数/微博中提到所述词的用户总数)将得到的TF和IDF相乘得到TF-IDF,进而得到微博用户的特征向量(W1,W2,W3….),其中Wi即词i的TF-IDF。进一步的,在步骤5中,微博用户的特征相似度的计算方法为:将步骤4中得到的各个用户的特征向量,按照相同的特征词排序后,代入余弦相似度公式计算用户Ua与用户Ub的相似度Sim(Ua,Ub):其中,Wak表示用户a对特征词k的TF-IDF,n表示特征向量的长度。进一步的,在步骤6中,按如下方法计算与微博用户相似的相似用户对项目的影响评分:记用户i对项目k的评分为Rik,记用户i与用户j的特征相似度为Sij,则用户i的相似用户对项目k的影响评分SIik按如下公式计算:其中,Rpk为相似用户p对项目k的评分,N为相似用户总数。进一步的,在步骤7中,按如下方法更新用户项目评分矩阵:根据步骤3得到的关联用户对项目的影响评分,以及步骤6得到的相似用户对项目的影响评分,按如下公式更新用户项目评分矩阵;其中,R’ik为更新后的用户项目评分矩阵中用户i对项目k的评分,Rik为更新前的用户项目评分矩阵中用户i对项目k的评分,ε为关联影响因子,θ为相似影响因子,通过调整关联影响因子和相似影响因子,更改待推荐用户对关联用户以及相似用户的信任度。进一步的,在步骤8中,挖掘网络资源,扩展更新后的用户项目评分矩阵的方法为:使用网络爬虫开源项目WebMagic根据步骤7的用户项目评分矩阵的项目集从各个有评分的网站中挖掘不同用户对不同项目的评分,并将用户对所有项目集内项目的评分作为新的一行,拓展步骤7更新后的用户项目评分矩阵。进一步的,在步骤9中,对用户项目评分矩阵分别进行基于用户和基于项目的聚类的方法为:聚类采用K-means算法,算法邻近度函数为余弦相似度函数,聚类中心为类簇中向量的均值,目标为最大化对象与其聚类中心的余弦相似度和;在对用户的聚类中,向量是以用户i对项目1到n的评分(Ri1,Ri2,…,Rin)来表示,同时其相似度计算公式为:其中,Ruk表示用户U对项目k的评分,Rck表示聚类中心C对项目K的评分;Sim(U,C)表示用户U和聚类中心C的相似度;与之对应,在对项目的聚类中,向量是以项目i被用户1到m的评分(Ri1,Ri2,…,Rim)来表示,其相似度计算公式为:其中,Rik表示项目I被用户k的评分,Rjk表示聚类中心C被用户k的评分;Sim(I,C)表示项目I和聚类中心C的相似度;计算过程过程:1)随机选取k个用户或项目作为初始中心点;2)计算剩余用户或项目与各个中心点的相似度,并将用户或项目分配给相似度最大的类簇;3)计算各个类簇中所有用户或项目的均值作为新的类簇中心点;4)中心点如果改变进入步骤2),否则算法结束。进一步的,在步骤10中,协同过滤推荐包括基于用户的协同过滤推荐,和基于项目的协同过滤推荐;步骤10与步骤9相对应,即基于用户的协同过滤推荐采用的是基于用户的聚类结果作为近邻搜索域,反之,基于项目的协同过滤推荐采用的是基于项目的聚类结果作为近邻搜索域;在预测评分阶段,首先在聚类簇中找到目标用户或项目所属聚类簇,然后计算该用户或项目与同一聚类簇中剩余用户或项目的相似度,选择K个与目标用户或项目具有最大相似度的用户或项目,最后根据如下公式进行预测评分:上式表示基于用户进行推荐,Rui表示用户u对项目i的预测评分,表示用户u对所有项目的平均评分,Sim(u,v)表示用户u与用户v的相似度,计算公式与步骤9的公式1相同,表示k个与目标用户相似度最大的用户,表示用户v对所有项目的平均评分;上式表示基于项目进行推荐,Riu表示项目i对应用户u的预测评分,表示项目i所有被评分的平均评分,Sim(i,j)表示项目i与项目j的相似度,本文档来自技高网...
一种社交云媒体协同过滤推荐方法

【技术保护点】
一种社交云媒体协同过滤推荐方法,其特征在于,包括以下步骤:步骤1:获取多个微博用户以及与该些微博用户存在社交关系的关联用户所发微博;步骤2:根据步骤1获取的微博用户所发微博,构建用于反映不同用户对不同项目评分大小的对应关系的用户项目评分矩阵;步骤3:根据步骤1获取的关联用户所发微博,计算与微博用户存在社交关系的关联用户对项目的影响评分;步骤4:计算微博用户的特征向量;步骤5:根据步骤4得到的微博用户的特征向量,计算微博用户的特征相似度;步骤6:根据步骤5得到的微博用户的特征相似度,计算与微博用户相似的相似用户对项目的影响评分;步骤7:根据步骤3得到的关联用户对项目的影响评分以及步骤6得到的相似用户对项目的影响评分,更新用户项目评分矩阵;步骤8:挖掘网络资源,对步骤7更新后的用户项目评分矩阵进行扩展;步骤9:对步骤8得到的用户项目评分矩阵分别进行基于用户和基于项目的聚类;步骤10:使用步骤9聚类得到的类簇作为近邻搜索域,采用协同过滤推荐预测评分。

【技术特征摘要】
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评分为Rik,社交网络中存在着关注与被关注的关系,则用户i的关联用户对项目k的影响评分FIik按如下公式计算:其中,Rjk为关联用户j对项目k的评分,n为用户i的关联用户中对项目k有评分的用户总数。4.根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤4中,微博用户的特征向量的计算方法为:首先,对获取的微博进行预处理,包括中文分词和停用词处理;中文分词的方法为:采用中文分词系统,结合自定义的用户词典对微博信息进行分词,停用词处理的方法为:采用HashMap快速索引查表法对无用信息进行过滤,从而降低微博信息的噪音;然后,采用TF-IDF算法对预处理的结果进行处理,具体公式如下:词频TF=一个词在一用户微博中出现的次数/所述用户微博中总词数逆文档频率IDF=log(微博用户总数/微博中提到所述词的用户总数)将得到的TF和IDF相乘得到TF-IDF,进而得到微博用户的特征向量(W1,W2,W3….),其中Wi即词i的TF-IDF。5.根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤5中,微博用户的特征相似度的计算方法为:将步骤4中得到的各个用户的特征向量,按照相同的特征词排序后,代入余弦相似度公式计算用户Ua与用户Ub的相似度Sim(Ua,Ub):其中,Wak表示用户a对特征词k的TF-IDF,n表示特征向量的长度。6.根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤6中,按如下方法计算与微博用户相似的相似用户对项目的影响评分:记用户i对项目k的评分为Rik,记用户i与用户j的特征相似度为Sij,则用户i的相似用户对项目k的影响评分SIik按如下公式计算:其中,Rpk为相似用户p对项目k的评分,N为相似用户总数。7.根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤7中,按如下方法更新用户项目评分矩阵:根据步骤3得到的关联用户对项目的影响评分,以及步骤6得到的相似用户对项目的影响评分,按如下公式更新用户项目...

【专利技术属性】
技术研发人员:郑相涵陈国龙汪孔炤
申请(专利权)人:福州大学
类型:发明
国别省市:福建;35

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

1