《一种社交云媒体协同过滤推荐方法.pdf》由会员分享,可在线阅读,更多相关《一种社交云媒体协同过滤推荐方法.pdf(13页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104156436A43申请公布日20141119CN104156436A21申请号201410395409822申请日20140813G06F17/3020060171申请人福州大学地址350108福建省福州市闽侯县上街镇大学城学园路2号福州大学新区72发明人郑相涵陈国龙汪孔炤74专利代理机构福州元创专利商标代理有限公司35100代理人蔡学俊54发明名称一种社交云媒体协同过滤推荐方法57摘要本发明涉及一种社交云媒体协同过滤推荐方法,包括以下步骤获取多个微博用户及其关联用户所发微博;构建用于反映不同用户对不同项目评分大小的对应关系的用户项目评分矩阵;计算关联用户对项目的影响评。
2、分;计算微博用户的特征向量;计算微博用户的特征相似度;计算与微博用户相似的相似用户对项目的影响评分;根据关联用户对项目的影响评分以及相似用户对项目的影响评分,更新用户项目评分矩阵;挖掘网络资源,对更新后的用户项目评分矩阵进行扩展;对用户项目评分矩阵分别进行基于用户和基于项目的聚类;使用聚类得到的类簇作为近邻搜索域,采用协同过滤推荐预测评分。该方法可以准确地向用户推荐他们感兴趣的网络信息内容。51INTCL权利要求书4页说明书7页附图1页19中华人民共和国国家知识产权局12发明专利申请权利要求书4页说明书7页附图1页10申请公布号CN104156436ACN104156436A1/4页21一种社。
3、交云媒体协同过滤推荐方法,其特征在于,包括以下步骤步骤1获取多个微博用户以及与该些微博用户存在社交关系的关联用户所发微博;步骤2根据步骤1获取的微博用户所发微博,构建用于反映不同用户对不同项目评分大小的对应关系的用户项目评分矩阵;步骤3根据步骤1获取的关联用户所发微博,计算与微博用户存在社交关系的关联用户对项目的影响评分;步骤4计算微博用户的特征向量;步骤5根据步骤4得到的微博用户的特征向量,计算微博用户的特征相似度;步骤6根据步骤5得到的微博用户的特征相似度,计算与微博用户相似的相似用户对项目的影响评分;步骤7根据步骤3得到的关联用户对项目的影响评分以及步骤6得到的相似用户对项目的影响评分,。
4、更新用户项目评分矩阵;步骤8挖掘网络资源,对步骤7更新后的用户项目评分矩阵进行扩展;步骤9对步骤8得到的用户项目评分矩阵分别进行基于用户和基于项目的聚类;步骤10使用步骤9聚类得到的类簇作为近邻搜索域,采用协同过滤推荐预测评分。2根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤2中,用户项目评分矩阵的构建方法为从获取的微博中提取所有用户所感兴趣的内容,以此构建项目集;分别根据用户所发微博中是否涉及项目集中的项目,以及对项目的评价情况,得到不同用户对不同项目的评分,进而得到用户项目评分矩阵。3根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤3中,按如下。
5、方法计算关联用户对项目的影响评分记用户I对项目K评分为RIK,社交网络中存在着关注与被关注的关系,则用户I的关联用户对项目K的影响评分FIIK按如下公式计算其中,RJK为关联用户J对项目K的评分,N为用户I的关联用户中对项目K有评分的用户总数。4根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤4中,微博用户的特征向量的计算方法为首先,对获取的微博进行预处理,包括中文分词和停用词处理;中文分词的方法为采用中文分词系统,结合自定义的用户词典对微博信息进行分词,停用词处理的方法为采用HASHMAP快速索引查表法对无用信息进行过滤,从而降低微博信息的噪音;然后,采用TFIDF算法。
6、对预处理的结果进行处理,具体公式如下词频TF一个词在一用户微博中出现的次数/所述用户微博中总词数逆文档频率IDFLOG微博用户总数/微博中提到所述词的用户总数将得到的TF和IDF相乘得到TFIDF,进而得到微博用户的特征向量W1,W2,W3,其中WI即词I的TFIDF。5根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤5中,微博用户的特征相似度的计算方法为将步骤4中得到的各个用户的特征向量,按照相权利要求书CN104156436A2/4页3同的特征词排序后,代入余弦相似度公式计算用户UA与用户UB的相似度SIMUA,UB其中,WAK表示用户A对特征词K的TFIDF,N表示。
7、特征向量的长度。6根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤6中,按如下方法计算与微博用户相似的相似用户对项目的影响评分记用户I对项目K的评分为RIK,记用户I与用户J的特征相似度为SIJ,则用户I的相似用户对项目K的影响评分SIIK按如下公式计算其中,RPK为相似用户P对项目K的评分,N为相似用户总数。7根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤7中,按如下方法更新用户项目评分矩阵根据步骤3得到的关联用户对项目的影响评分,以及步骤6得到的相似用户对项目的影响评分,按如下公式更新用户项目评分矩阵;其中,RIK为更新后的用户项目评分矩阵中用。
8、户I对项目K的评分,RIK为更新前的用户项目评分矩阵中用户I对项目K的评分,为关联影响因子,为相似影响因子,通过调整关联影响因子和相似影响因子,更改待推荐用户对关联用户以及相似用户的信任度。8根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤8中,挖掘网络资源,扩展更新后的用户项目评分矩阵的方法为使用网络爬虫开源项目WEBMAGIC根据步骤7的用户项目评分矩阵的项目集从各个有评分的网站中挖掘不同用户对不同项目的评分,并将用户对所有项目集内项目的评分作为新的一行,拓展步骤7更新后的用户项目评分矩阵。9根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤9中,。
9、对用户项目评分矩阵分别进行基于用户和基于项目的聚类的方法为聚类采用KMEANS算法,算法邻近度函数为余弦相似度函数,聚类中心为类簇中向量的均值,目标为最大化对象与其聚类中心的余弦相似度和;在对用户的聚类中,向量是以用户I对项目1到N的评分RI1,RI2,RIN来表示,同时其相似度计算公式为其中,RUK表示用户U对项目K的评分,RCK表示聚类中心C对项目K的评分;SIMU,C表示用户U和聚类中心C的相似度;权利要求书CN104156436A3/4页4与之对应,在对项目的聚类中,向量是以项目I被用户1到M的评分RI1,RI2,RIM来表示,其相似度计算公式为其中,RIK表示项目I被用户K的评分,R。
10、JK表示聚类中心C被用户K的评分;SIMI,C表示项目I和聚类中心C的相似度;计算过程过程1随机选取K个用户或项目作为初始中心点;2计算剩余用户或项目与各个中心点的相似度,并将用户或项目分配给相似度最大的类簇;3计算各个类簇中所有用户或项目的均值作为新的类簇中心点;4中心点如果改变进入步骤2,否则算法结束。10根据权利要求1所述的一种社交云媒体协同过滤推荐方法,其特征在于,在步骤10中,协同过滤推荐包括基于用户的协同过滤推荐,和基于项目的协同过滤推荐;步骤10与步骤9相对应,即基于用户的协同过滤推荐采用的是基于用户的聚类结果作为近邻搜索域,反之,基于项目的协同过滤推荐采用的是基于项目的聚类结果。
11、作为近邻搜索域;在预测评分阶段,首先在聚类簇中找到目标用户或项目所属聚类簇,然后计算该用户或项目与同一聚类簇中剩余用户或项目的相似度,选择K个与目标用户或项目具有最大相似度的用户或项目,最后根据如下公式进行预测评分上式表示基于用户进行推荐,RUI表示用户U对项目I的预测评分,表示用户U对所有项目的平均评分,SIMU,V表示用户U与用户V的相似度,计算公式与步骤9的公式1相同,表示K个与目标用户相似度最大的用户,表示用户V对所有项目的平均评分;上式表示基于项目进行推荐,RIU表示项目I对应用户U的预测评分,表示项目I所有被评分的平均评分,SIMI,J表示项目I与项目J的相似度,计算公式与步骤9的。
12、公式2相同,表示K个与目标项目相似度最大的项目,表示项目J所有被评分的平均评权利要求书CN104156436A4/4页5分。权利要求书CN104156436A1/7页6一种社交云媒体协同过滤推荐方法技术领域0001本发明涉及网络信息推送技术领域,特别涉及一种应用于社交网络的社交云媒体协同过滤推荐方法。背景技术0002推荐系统的目的在于在用户和信息中建立连接,一方面帮助用户找出对自己有意义的信息,另一方面帮助信息展现在对他感兴趣的用户前,从而实现用户和信息供应商的双赢。通过对社交网络中用户数据的分析,可以得到用户的主题兴趣和用户之间的信任关系。而对应的媒体服务提供商,则可以通过对此分析有针对性的。
13、向用户进行推荐图书、音视频、商品等。这对于信息提供商来说提高了推送信息的准确度,而对用户来说也能够获取更准确的信息,帮助用户提高获取信息的效率。0003协同过滤推荐算法的基本假设是为用户推荐感兴趣的内容可通过找到与该用户偏好相似的其他用户,将他们感兴趣的内容推荐给该用户。针对信息超载问题,虽然传统个性化推荐技术已经较为成熟,但随着推荐环境的复杂化、系统中海量信息数据的不断增长和用户需求的不断提高,传统个性化推荐技术在社会化媒体平台的应用中忽略了用户的社交关系,不仅难以保证推荐的准确度,还存在管理难、分析难等问题。发明内容0004本发明的目的在于提供一种社交云媒体协同过滤推荐方法,该方法可以准确。
14、地向用户推荐他们感兴趣的网络信息内容。0005为实现上述目的,本发明采用的技术方案是一种社交云媒体协同过滤推荐方法,包括以下步骤步骤1获取多个微博用户以及与该些微博用户存在社交关系的关联用户所发微博;步骤2根据步骤1获取的微博用户所发微博,构建用于反映不同用户对不同项目评分大小的对应关系的用户项目评分矩阵;步骤3根据步骤1获取的关联用户所发微博,计算与微博用户存在社交关系的关联用户对项目的影响评分;步骤4计算微博用户的特征向量;步骤5根据步骤4得到的微博用户的特征向量,计算微博用户的特征相似度;步骤6根据步骤5得到的微博用户的特征相似度,计算与微博用户相似的相似用户对项目的影响评分;步骤7根据。
15、步骤3得到的关联用户对项目的影响评分以及步骤6得到的相似用户对项目的影响评分,更新用户项目评分矩阵;步骤8挖掘网络资源,对步骤7更新后的用户项目评分矩阵进行扩展;步骤9对步骤8得到的用户项目评分矩阵分别进行基于用户和基于项目的聚类;步骤10使用步骤9聚类得到的类簇作为近邻搜索域,采用协同过滤推荐预测评分。说明书CN104156436A2/7页70006进一步的,在步骤2中,用户项目评分矩阵的构建方法为从获取的微博中提取所有用户所感兴趣的内容,以此构建项目集;分别根据用户所发微博中是否涉及项目集中的项目,以及对项目的评价情况,得到不同用户对不同项目的评分,进而得到用户项目评分矩阵。0007进一步。
16、的,在步骤3中,按如下方法计算关联用户对项目的影响评分记用户I对项目K评分为RIK,社交网络中存在着关注与被关注的关系,则用户I的关联用户对项目K的影响评分FIIK按如下公式计算其中,RJK为关联用户J对项目K的评分,N为用户I的关联用户中对项目K有评分的用户总数。0008进一步的,在步骤4中,微博用户的特征向量的计算方法为首先,对获取的微博进行预处理,包括中文分词和停用词处理;中文分词的方法为采用中文分词系统,结合自定义的用户词典对微博信息进行分词,停用词处理的方法为采用HASHMAP快速索引查表法对无用信息进行过滤,从而降低微博信息的噪音;然后,采用TFIDF算法对预处理的结果进行处理,具。
17、体公式如下词频TF一个词在一用户微博中出现的次数/所述用户微博中总词数逆文档频率IDFLOG微博用户总数/微博中提到所述词的用户总数将得到的TF和IDF相乘得到TFIDF,进而得到微博用户的特征向量W1,W2,W3,其中WI即词I的TFIDF。0009进一步的,在步骤5中,微博用户的特征相似度的计算方法为将步骤4中得到的各个用户的特征向量,按照相同的特征词排序后,代入余弦相似度公式计算用户UA与用户UB的相似度SIMUA,UB其中,WAK表示用户A对特征词K的TFIDF,N表示特征向量的长度。0010进一步的,在步骤6中,按如下方法计算与微博用户相似的相似用户对项目的影响评分记用户I对项目K的。
18、评分为RIK,记用户I与用户J的特征相似度为SIJ,则用户I的相似用户对项目K的影响评分SIIK按如下公式计算其中,RPK为相似用户P对项目K的评分,N为相似用户总数。0011进一步的,在步骤7中,按如下方法更新用户项目评分矩阵根据步骤3得到的关联用户对项目的影响评分,以及步骤6得到的相似用户对项目的影响评分,按如下公式更新用户项目评分矩阵;说明书CN104156436A3/7页8其中,RIK为更新后的用户项目评分矩阵中用户I对项目K的评分,RIK为更新前的用户项目评分矩阵中用户I对项目K的评分,为关联影响因子,为相似影响因子,通过调整关联影响因子和相似影响因子,更改待推荐用户对关联用户以及相。
19、似用户的信任度。0012进一步的,在步骤8中,挖掘网络资源,扩展更新后的用户项目评分矩阵的方法为使用网络爬虫开源项目WEBMAGIC根据步骤7的用户项目评分矩阵的项目集从各个有评分的网站中挖掘不同用户对不同项目的评分,并将用户对所有项目集内项目的评分作为新的一行,拓展步骤7更新后的用户项目评分矩阵。0013进一步的,在步骤9中,对用户项目评分矩阵分别进行基于用户和基于项目的聚类的方法为聚类采用KMEANS算法,算法邻近度函数为余弦相似度函数,聚类中心为类簇中向量的均值,目标为最大化对象与其聚类中心的余弦相似度和;在对用户的聚类中,向量是以用户I对项目1到N的评分RI1,RI2,RIN来表示,同。
20、时其相似度计算公式为其中,RUK表示用户U对项目K的评分,RCK表示聚类中心C对项目K的评分;SIMU,C表示用户U和聚类中心C的相似度;与之对应,在对项目的聚类中,向量是以项目I被用户1到M的评分RI1,RI2,RIM来表示,其相似度计算公式为其中,RIK表示项目I被用户K的评分,RJK表示聚类中心C被用户K的评分;SIMI,C表示项目I和聚类中心C的相似度;计算过程过程1随机选取K个用户或项目作为初始中心点;2计算剩余用户或项目与各个中心点的相似度,并将用户或项目分配给相似度最大的类簇;3计算各个类簇中所有用户或项目的均值作为新的类簇中心点;4中心点如果改变进入步骤2,否则算法结束。001。
21、4进一步的,在步骤10中,协同过滤推荐包括基于用户的协同过滤推荐,和基于项目的协同过滤推荐;步骤10与步骤9相对应,即基于用户的协同过滤推荐采用的是基于用户的聚类结果作为近邻搜索域,反之,基于项目的协同过滤推荐采用的是基于项目的聚类结果作为近邻搜索域;在预测评分阶段,首先在聚类簇中找到目标用户或项目所属聚类簇,然后计算该用户或项目与同一聚类簇中剩余用户或项目的相似度,选择K个与目标用户或项目具有最大相似度的用户或项目,最后根据如下公式进行预测评分说明书CN104156436A4/7页9上式表示基于用户进行推荐,RUI表示用户U对项目I的预测评分,表示用户U对所有项目的平均评分,SIMU,V表示。
22、用户U与用户V的相似度,计算公式与步骤9的公式1相同,表示K个与目标用户相似度最大的用户,表示用户V对所有项目的平均评分;上式表示基于项目进行推荐,RIU表示项目I对应用户U的预测评分,表示项目I所有被评分的平均评分,SIMI,J表示项目I与项目J的相似度,计算公式与步骤9的公式2相同,表示K个与目标项目相似度最大的项目,表示项目J所有被评分的平均评分。0015本发明的有益效果是面向微博数据,采用推荐模型混合技术构造微博用户兴趣模型,从而实现对微博用户的媒体推荐。本发明首先对用户微博内容进行抓取、分析、构建用户项目矩阵,通过分词技术提取用户特征,根据特征值计算用户近邻,结合社交网络特性更新用户。
23、项目矩阵,在此基础上,对存在的媒体资源采用基于聚类分析的协同过滤推荐算法实现对微博用户的资源推荐,避免协同推荐中过度依赖相似度的问题,减少搜索近邻的消耗,改善了推荐算法,可以准确地向用户推荐他们感兴趣的网络信息内容。附图说明0016图1是本发明实施例的实现流程图。具体实施方式0017下面结合附图及具体实施例对本发明作进一步的详细说明。0018本发明的社交云媒体协同过滤推荐方法,如图1所示,包括以下步骤步骤1获取多个微博用户以及与该些微博用户存在社交关系的关联用户所发微博。0019步骤2根据步骤1获取的微博用户所发微博,构建用于反映不同用户对不同项目评分大小的对应关系的用户项目评分矩阵。0020。
24、在步骤2中,用户项目评分矩阵的构建方法为从步骤1获取的微博中提取所有用户所感兴趣的内容,包括电影、音乐、书籍等,以此构建项目集;分别根据用户所发微博中是否涉及项目集中的项目,以及对项目的评价情况,得到不同用户对不同项目的评分,进而得到用户项目评分矩阵。举例而言,若某一用户的微博中提及项目集中的项目,则认定此用户说明书CN104156436A5/7页10对该项目有评分;评分范围为15分,可以定义基础评分为3分,同时根据此条微博中是否表明用户对项目的态度(含不错、好看、乏味)在基础评分上适当加减分,项目集中用户未提及的则缺失该项目评分。0021步骤3根据步骤1获取的关联用户所发微博,计算与微博用户。
25、存在社交关系的关联用户对项目的影响评分。0022在步骤3中,按如下方法计算关联用户对项目的影响评分记用户I对项目K评分为RIK,社交网络中存在着关注与被关注的关系,则用户I的关联用户对项目K的影响评分FIIK按如下公式计算其中,RJK为关联用户J对项目K的评分,N为用户I的关联用户中对项目K有评分的用户总数。0023步骤4计算微博用户的特征向量。0024在步骤4中,微博用户的特征向量的计算方法为首先,对获取的微博进行预处理,包括中文分词和停用词处理;中文分词的方法为采用中文分词系统,结合自定义的用户词典对微博信息进行分词,停用词处理的方法为采用HASHMAP快速索引查表法对无用信息进行过滤,从。
26、而降低微博信息的噪音;然后,采用TFIDF算法对预处理的结果进行处理,具体公式如下词频TERMFREQUENCY,TF一个词在一用户微博中出现的次数/所述用户微博中总词数逆文档频率INVERSEDOCUMENTFREQUENCY,IDFLOG微博用户总数/微博中提到所述词的用户总数将得到的TF和IDF相乘得到TFIDF,进而得到微博用户的特征向量W1,W2,W3,其中WI即词I的TFIDF。0025步骤5根据步骤4得到的微博用户的特征向量,计算微博用户的特征相似度。0026在步骤5中,微博用户的特征相似度的计算方法为将步骤4中得到的各个用户的特征向量,按照相同的特征词排序后,代入余弦相似度公式。
27、计算用户UA与用户UB的相似度SIMUA,UB其中,WAK表示用户A对特征词K的TFIDF,N表示特征向量的长度。0027步骤6根据步骤5得到的微博用户的特征相似度,计算与微博用户相似的相似用户对项目的影响评分。0028在步骤6中,按如下方法计算与微博用户相似的相似用户对项目的影响评分两用户相似则表示其兴趣有一定的相似度,即一用户的评分对另一用户有适当参考价值;记用户I对项目K的评分为RIK,记用户I与用户J的特征相似度为SIJ,则用户I的相似用户对项目K的影响评分SIIK按如下公式计算说明书CN104156436A106/7页11其中,RPK为相似用户P对项目K的评分,N为相似用户总数。00。
28、29步骤7根据步骤3得到的关联用户对项目的影响评分以及步骤6得到的相似用户对项目的影响评分,更新用户项目评分矩阵。0030在步骤7中,按如下方法更新用户项目评分矩阵根据步骤3得到的关联用户对项目的影响评分,以及步骤6得到的相似用户对项目的影响评分,按如下公式更新用户项目评分矩阵;其中,RIK为更新后的用户项目评分矩阵中用户I对项目K的评分,RIK为更新前的用户项目评分矩阵中用户I对项目K的评分,为关联影响因子,为相似影响因子,通过调整关联影响因子和相似影响因子,更改待推荐用户对关联用户以及相似用户的信任度。0031步骤8挖掘网络资源,对步骤7更新后的用户项目评分矩阵进行扩展。0032在步骤8中。
29、,挖掘网络资源,扩展更新后的用户项目评分矩阵的方法为使用网络爬虫开源项目WEBMAGIC根据步骤7的用户项目评分矩阵的项目集从各个有评分的网站中挖掘不同用户对不同项目的评分,并将用户对所有项目集内项目的评分作为新的一行,拓展步骤7更新后的用户项目评分矩阵。0033步骤9对步骤8得到的用户项目评分矩阵分别进行基于用户和基于项目的聚类。0034在步骤9中,对用户项目评分矩阵分别进行基于用户和基于项目的聚类的方法为聚类采用KMEANS算法,算法邻近度函数为余弦相似度函数,聚类中心为类簇中向量的均值,目标为最大化对象与其聚类中心的余弦相似度和;在对用户的聚类中,向量是以用户I对项目1到N的评分RI1,。
30、RI2,RIN来表示,同时其相似度计算公式为其中,RUK表示用户U对项目K的评分,RCK表示聚类中心C对项目K的评分;SIMU,C表示用户U和聚类中心C的相似度;与之对应,在对项目的聚类中,向量是以项目I被用户1到M的评分RI1,RI2,RIM来表示,其相似度计算公式为其中,RIK表示项目I被用户K的评分,RJK表示聚类中心C被用户K的评分;SIMI,C表示项目I和聚类中心C的相似度;计算过程过程说明书CN104156436A117/7页121随机选取K个用户或项目作为初始中心点;2计算剩余用户或项目与各个中心点的相似度,并将用户或项目分配给相似度最大的类簇;3计算各个类簇中所有用户或项目的均。
31、值作为新的类簇中心点;4中心点如果改变进入步骤2,否则算法结束。0035步骤10使用步骤9聚类得到的类簇作为近邻搜索域,采用协同过滤推荐预测评分。0036在步骤10中,协同过滤推荐包括基于用户的协同过滤推荐,和基于项目的协同过滤推荐;步骤10与步骤9相对应,即基于用户的协同过滤推荐采用的是基于用户的聚类结果作为近邻搜索域,反之,基于项目的协同过滤推荐采用的是基于项目的聚类结果作为近邻搜索域;在预测评分阶段,首先在聚类簇中找到目标用户或项目所属聚类簇,然后计算该用户或项目与同一聚类簇中剩余用户或项目的相似度,选择K个与目标用户或项目具有最大相似度的用户或项目,最后根据如下公式进行预测评分上式表示。
32、基于用户进行推荐,RUI表示用户U对项目I的预测评分,表示用户U对所有项目的平均评分,SIMU,V表示用户U与用户V的相似度,计算公式与步骤9的公式1相同,表示K个与目标用户相似度最大的用户,表示用户V对所有项目的平均评分;上式表示基于项目进行推荐,RIU表示项目I对应用户U的预测评分,表示项目I所有被评分的平均评分,SIMI,J表示项目I与项目J的相似度,计算公式与步骤9的公式2相同,表示K个与目标项目相似度最大的项目,表示项目J所有被评分的平均评分。0037以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。说明书CN104156436A121/1页13图1说明书附图CN104156436A13。