一种基于用户亲密度的混合推荐系统及方法

文档序号:6377214阅读:131来源:国知局
专利名称:一种基于用户亲密度的混合推荐系统及方法
技术领域
本发明一种基于用户亲密度的混合推荐系统及方法,属于计算机领域网络数据挖掘领域。
背景技术
社交网站(Social Network Sites,即SNS)是一种线上的方便人与人之间进行社交的网站,SNS的用户可以在线上发布照片、状态、日志等,其他用户可以对这些进行评论、转发等操作,增进人与人之间交流和沟通,从而达到社交的目的。当前的SNS普遍都具有推荐功能,推荐功能的目的是向用户推荐其感兴趣并可能接受的项目。一方面,这提高了用户体验,使用户能够更快找到自己感兴趣的项目,另一方面,从商业角度考虑这能达到SNS营销的目的。因此,选择一种准确高效的推荐方法至关重要。然而,由于SNS数据稀疏、散乱等特点,单纯使用基于协同过滤的推荐或基于内容的推荐所获得的效果较差。根据SNS数 据产生的一个特点,即较大部分数据产生于用户互动的分享操作、评论操作、“O”操作的过程中。通过网站的数据库,可以很容易的获得用户间产生的分享、评论、“@”操作的频率。用户互动的频率与程度反映了用户之间亲密度的不同,依据用户间的亲密度不同,可以在成对的用户间进行推荐。将基于协同过滤、基于内容以及基于用户亲密度的推荐结合成一个混合推荐方法,更大程度地利用SNS数据向用户推荐更合适的内容。

发明内容
本发明的技术解决问题克服现有技术的不足,提供一种基于用户亲密度的混合推荐系统及方法,充分利用社交网站中的数据,通过对用户间互动操作的分析,获得用户相互的亲密度,通过亲密度关系来进行推荐,并结合已有的基于协同过滤的推荐和基于内容的推荐,使系统应用具有实用性强、准确度高、以及实现方便的优点。本发明的技术解决方案一种基于用户亲密度的混合推荐系统及方法,其充分利用SNS的数据进行推荐,如图I所示包括用户亲密度确定模块在生成对用户的推荐结果之前,扫描数据库,根据数据库中保存的用户数据,获取某用户与其他用户的互动行为,统计这些行为进行的次数,确定该用户对其他用户的亲密度,并将亲密度归一化,将结果存储在数据库中;所述用户亲密度是采用社交网站中两个用户之间发生的“O”、转发、评论操作的次数来度量,并且用户亲密度关系属于单向关系,以I (A —B)表示用户A对用户B的亲密度,有I (A —B) ^ I (B - A);基于用户亲密度的推荐结果生成模块根据用户亲密度确定模块的结果,从数据库中获取与该用户亲密度最高的前N个用户,N由本系统的输入指定,合并这些用户所关注的项目作为推荐结果E1,将该结果保存至数据库,为后续操作提供相关数据;基于协同过滤的推荐结果生成模块扫描网站数据库,根据数据库中保存的用户所关注的项目情况,获得该用户与其他用户的相似度,将与该用户相似度最高的前N个用户所关注的项目作为推荐结果E2, N由本系统的输入指定,将该结果保存至数据库,为后续操作提供相关数据;基于内容的推荐结果生成模块扫描网站数据库,获得该用户与待推荐项目的描述关键词向量,将与该用户关键词向量相似度最高的前N个项目作为推荐结果E3, N由本系统的输入指定,将该结果保存至数据库,为后续操作提供相关数据;结果整合模块从数据库中提取前面三个模块的生成结果,合并成为待推荐项目集合E,扫描该集合,确定集合中每个项目在Ep E2, E3总共出现的次数,最后将出现次数高于指定次数的项目作为结果推荐给用户,在用户访问网站时进行显示,用户根据推荐的结果选择自己感兴趣的项目进行关注。所述用户亲密度确定模块实现过程如下(I)选择需要推荐的用户,扫描该用户与其他所有用户的互动记录,确定该用户与其他用户间发生的转发、评论操作的次数;(2)使用以下公式计算用户亲密度I (A — B) = s · s (s) +c · s (c) +a · s (a)其中S(S)、S(C)、s(a)分别 代表每进行一次分享、评论、“O”操作对亲密度得分的贡献值,由系统输入确定;S、C、a分别代表该用户对另一用户的分享、评论、操作的次数,求得亲密度之后,将其保存下来,用作下一步的归一化处理;(3)使用以下公式对亲密度进行归一化N (A — B) = (I (A — B) -Imin (A — B)) / (Imax (A — B) -Imin(A — B))其中N(A —B)是归一化处理结果,I (A —B)是用户A对当前用户的亲密度得分,Ifflin(A - B)是该用户对其他用户亲密度计算中得分的最小值,Imax (A —B)该用户对其他用户亲密度计算中得分的最大值;亲密度归一化完毕后,将结果输出保存至网站数据库中。一种基于用户亲密度的混合推荐方法,实现步骤如下(I)当需要向用户推荐项目时,扫描网站数据库,获得该用户与其他用户的分享、评论、“O”操作次数,然后根据操作次数以及设定的操作贡献值计算用户与其他用户的亲密度,并将获得的用户亲密度进行归一化,然后将归一化结果保存在数据库中;(2)从数据库中选取亲密度最高的前N个用户,N由本系统的输入指定,获得这些用户所关注的项目,将这些项目合并成为没有重复项的集合,将该集合作为基于用户亲密度的推荐结果集保存于数据库中;(3)使用基于协同过滤的推荐结果生成获得基于协同过滤的推荐结果集,将其保存于数据库中;(4)使用基于内容的推荐结果生成模块获得基于内容的推荐结果集,将其保存于数据库中;(5)从数据库中获得前面三个结果集,合并成为没有重复项的待推荐结果集,扫描该结果集中的项目,计算出每个项目在三个集合中的出现总次数,将总次数高于指定次数的项目作为结果推荐给用户,在用户访问网站时进行显示,用户根据推荐的结果选择自己感兴趣的项目进行关注。本发明与现有技术相比的优点在于(I)本发明考虑了用户间关系对用户推荐的影响,使推荐结果更加具有代表性,增大了用户接受推荐结果的可能性,达到推荐的目的。
(2)本发明充分利用SNS的数据,从度量上刻画了用户间的关系,丰富推荐结果,一定程度上弥补了 SNS数据稀疏、离散的特点。(3)本发明降低网站的推荐系统的耦合度,三个推荐模块以松耦合的方式结合,模块间即可单独工作,也可协同工作。当某一模块需要维护时,其他模块仍然能支撑系统运转,不影响功能的连续性,提高了系统的可维护性和可用性。


图I为本发明系统的体系结构图;图2为本发明系统中的用户亲密度确定模块的获得用户亲密度得分的实现过程;图3为本发明系统中的用户亲密度确定模块的归一化实现过程;
图4为本发明系统中的基于用户亲密度的推荐结果生成模块的实现过程;图5为本发明系统中的结果整合模块实现过程。
具体实施例方式下面结合附图对本发明进行详细说明。如图I所示,本发明一种基于用户亲密度的混合推荐系统及方法由用户亲密度确定模块、基于用户亲密度的推荐结果生成模块、基于协同过滤的推荐结果生成模块、基于内容的推荐结果生成模块、结果整合模块构成。整个实现过程如下(I)当需要向用户推荐项目时,扫描网站数据库,获得该用户与其他用户的分享、评论、“O”操作次数,然后根据操作次数以及设定的操作贡献值计算用户与其他用户的亲密度,并将获得的用户亲密度进行归一化,然后将归一化结果保存在数据库中。(2)从数据库中选取亲密度最高的前N个的用户,N由本系统的输入指定,获得这些用户所关注的项目,将这些项目合并成为没有重复项的集合,将该集合作为基于用户亲密度的推荐结果集保存于数据库中。(3)使用基于协同过滤的推荐结果生成模块获得基于协同过滤的推荐结果集,将其保存于数据库中。(4)使用基于内容的推荐结果生成模块获得基于内容的推荐结果集,将其保存于数据库中。(5)从数据库中获得前面三个结果集合并成为没有重复项的待推荐结果集,扫描该结果集中的项目,计算出每个项目在三个集合中的出现总次数。将总次数高于指定次数的项目作为结果推荐给用户,在用户访问网站时进行显示,用户可以根据推荐的结果选择自己感兴趣的项目进行关注。。上述各模块的具体实现过程如下I.用户亲密度确定模块该模块实现过程如图2、3所示当需要向用户A进行推荐时,设用户间每进行一次分享、评论、的得分分别为s (r) =3,s (c) =1,s (a) =5,扫描数据库,根据数据库中保存的用户数据统计用户A与其他用户进行的操作次数,获得分享、评论进行的次数分别为s、c、a,然后使用
权利要求
1.一种基于用户亲密度的混合推荐系统,其特征在于包括 用户亲密度确定模块在生成对用户的推荐结果之前,扫描数据库,根据数据库中保存的用户数据,获取某用户与其他用户的互动行为,统计这些行为进行的次数,确定该用户对其他用户的亲密度,并将亲密度归一化,将结果存储在数据库中;所述用户亲密度是采用社交网站中两个用户之间发生的“O”、转发、评论操作的次数来度量,并且用户亲密度关系属于单向关系,以I (A —B)表示用户A对用户B的亲密度,有I (A —B) ^ I (B - A); 基于用户亲密度的推荐结果生成模块根据用户亲密度确定模块的结果,从数据库中获取与该用户亲密度最高的前N个用户,N由本系统的输入指定,合并这些用户所关注的项目作为推荐结果E1,将该结果保存至数据库,为后续操作提供相关数据; 基于协同过滤的推荐结果生成模块扫描网站数据库,根据数据库中保存的用户所关注的项目情况,获得该用户与其他用户的相似度,将与该用户相似度最高的前N个用户所关注的项目作为推荐结果E2, N由本系统的输入指定,将该结果保存至数据库,为后续操作提供相关数据; 基于内容的推荐结果生成模块扫描网站数据库,获得该用户与待推荐项目的描述关键词向量,将与该用户关键词向量相似度最高的前N个项目作为推荐结果E3,N由本系统的输入指定,将该结果保存至数据库,为后续操作提供相关数据; 结果整合模块从数据库中提取前面三个模块的生成结果,合并成为待推荐项目集合E,扫描该集合,确定集合中每个项目在E1、E2、E3总共出现的次数,最后将出现次数高于指定次数的项目作为结果推荐给用户,在用户访问网站时进行显示,用户根据推荐的结果选择自己感兴趣的项目进行关注。
2.根据权利要求I所述的一种基于用户亲密度的混合推荐系统及,其特征在于所述用户亲密度确定模块实现过程如下 (1)选择需要推荐的用户,扫描该用户与其他所有用户的互动记录,确定该用户与其他用户间发生的“O”、转发、评论操作的次数; (2)使用以下公式计算用户亲密度
3.一种基于用户亲密度的混合推荐方法,其特征在于步骤如下 (1)当需要向用户推荐项目时,扫描网站数据库,获得该用户与其他用户的分享、评论、“O”操作次数,然后根据操作次数以及设定的操作贡献值计算用户与其他用户的亲密度,并将获得的用户亲密度进行归一化,然后将归一化结果保存在数据库中; (2)从数据库中选取亲密度最高的前N个用户,N由本系统的输入指定,获得这些用户所关注的项目,将这些项目合并成为没有重复项的集合,将该集合作为基于用户亲密度的推荐结果集保存于数据库中; (3)使用基于协同过滤的推荐结果生成获得基于协同过滤的推荐结果集,将其保存于数据库中; (4)使用基于内容的推荐结果生成模块获得基于内容的推荐结果集,将其保存于数据库中; (5)从数据库中获得前面三个结果集,合并成为没有重复项的待推荐结果集,扫描该结果集中的项目,计算出每个项目在三个集合中的出现总次数,将总次数高于指定次数的项目作为结果推荐给用户,在用户访问网站时进行显示,用户根据推荐的结果选择自己感兴趣的项目进行关注。
全文摘要
一种基于用户亲密度的混合推荐系统及方法,该系统及方法能向社交网站中的用户推荐其感兴趣的项目。该系统由5个模块组成用户亲密度确定模块、基于用户亲密度的推荐结果生成模块、基于协同过滤的推荐结果生成模块、基于内容的推荐结果生成模块、结果整合模块。该方法通过确定用户亲密度、获得基于用户亲密度的推荐结果、获得基于协同过滤的推荐结果、获得基于内容的推荐结果、整合结果5个过程实现。该方法充分利用社交网站中的数据,弥补传统推荐系统的不足,使该系统应用具有实用性强、准确度高、以及实现方便的优点。
文档编号G06F17/30GK102880691SQ20121034919
公开日2013年1月16日 申请日期2012年9月19日 优先权日2012年9月19日
发明者李超, 余建, 吕志强 申请人:北京航空航天大学深圳研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1