一种多维协同推荐的系统与方法
技术领域
本发明属于计算机技术领域,具体涉及一种多维协同推荐的系统与方法。
背景技术
随着软件技术的不断发展与成熟,越来越多的服务实现了相同或者相近的功能,在服务选取的过程中,如何最大化用户的满意度,真正做到面向用户是现阶段研究的一个热点问题。
当前各类互联网应用中多包含有内容推荐功能,这些推荐多是以用户的浏览和使用历史记录为依据,向用户推荐与历史相关的同类内容。但是,用户的兴趣和关注点通常是开放的,仅基于历史数据来推荐可能会使大部分用户错过感兴趣内容,同时对于内容运营和推广也不利。而完全开放式的内容推荐,即向用户推荐任何新内容,又缺乏针对性,既不能保证内容的接收效果,同时又容易招致用户反感或使用户迷失在信息海洋中。因而,有必要寻求一种更加有效的推荐办法,既不完全依赖用户个人的浏览历史,同时又能更大限度、更大可能地推荐给用户感兴趣的内容。
发明内容
发明目的:本发明针对上述现有技术存在的问题做出改进,即本发明的第一个目的是公开了一种多维协同推荐的系统。本发明的第二个目的是公开了一种多维协同推荐的方法。
技术方案:一种多维协同推荐的系统,包括以下模块:
挖掘模块,完成主题提取、位置关系挖掘和文本分类;
推荐模块,完成各推荐内容对于各用户的推荐指数以及被阅读后的内容相对于相关用户的推荐指数,综合得出待推荐内容的推荐模型,计算过程需调用挖掘模块;
内容数据库模块,用于记录推荐内容、分类标签和内容分类;
用户数据库模块,记录用户基本信息、群组属性、交流记录、位置信息记录、浏览记录、关联用户、关注标签和推荐记录。
一种多维协同推荐的方法,包括以下步骤:
(1)、计算用户的主题关注度
(11)、根据用户浏览记录将相应内容抽取为样本集合;
(12)、对步骤(11)中的样本集合进行主题提取,
(13)、将步骤(12)提取的主题作为该用户的关注标签,以用户浏览量为权重,对各标签进行相关度赋值,用户浏览量包括浏览次数和浏览时长,其中时长转化为分钟数处理;
(2)、计算用户之间的群组相关度
根据用户分属群组和在群组中交流的频次,对用户进行群组关联赋值,第1用户与第2用户的群组相关度为累计用户在同一群组中交流的时长,时长转化为分钟数取整处理;
(3)、计算用户间话题相关度,
(31)、提取第1用户与第2用户间的交流记录做为统计样本;
(32)、从步骤(31)中的统计样本中进行主题提取;
(33)、根据用户对主题的内容贡献大小对第1用户与第2用户在每个主题上的相关度进行赋值,用户对主题的内容贡献以用户每次发言与主题的吻合度来衡量;
(4)、计算用户间位置相关度
通过位置关系挖掘,发现用户的邻居,即与用户在地理位置上经常处于邻近局域的另一用户为该用户的邻居,
(5)、组合关联用户的群组相关度、话题相关度、位置相关度及用户的主题相关度,进行分条件的赋权累加,得出最终的推荐模型;
(6)、内容分类,
(61)从样本内容集合中进行主题提取,得到对内容的分类标签;
(62)使用文本分类器,将目标内容集合按步骤(61)得到的分类标签分类;
(7)、内容推荐,分两种情况:
(71)、若推荐的内容是用户未浏览过的内容:首先根据内容的类别属性和任意用户的关注标签的匹配度进行计算,得出一个推荐指数,当某一用户的推荐指数大于阈值,则向该用户推荐,该阈值取值区间为(0,1);
(72)、若推荐的内容为用户浏览过的内容,首先确保该用户对内容产生真正的接收,然后分三种情况计算用户的关联用户的推荐指数;
(721)、位置关联用户的基础系数为r1,当分类的内容涉及物理方位信息时,则该基础系数进行放大处理,物理方位信息包括场所、卖场、地点和位置;
(722)、群组关联用户的基础系数为r2,当分类的内容覆盖到群组主题或群组标签时,则该系数进行放大处理;
(723)、话题关联用户的相关系数算法为:R=|{TC}∩{Tu1-u2}|*r,其中{Tc}为内容主题的集合,{Tu1-u2}为第1用户与第2用户之间话题的集合,取两个集合交集的度再乘以一个系数r作为话题相关系数,系数r的取值范围为[1,10];
最终相关用户推荐指数计算公式为:R u1-u2=r1*Rg+r2*Rt+r3RL,其中,r1,r2,r3的初始值均设为1,后续可根据推荐效果进行优化调整。一个相关用户可能同时是三种相关用户,也可能只是其中的两种或一种,对于不是某类相关的用户,可将相应的相关系数设为0。,Rg表示群组关联用户的群组相关度,Rt表示话题关联用户的话题相关度,RL表示位置关联用户的位置相关度;
对于第1用户阅读过的内容,当推荐指数R u1-u2大于阈值,则向第2用户推荐,阈值取1或者根据统计区间段内段的所有推荐指数的总体情况取中间值;
(8)、推荐优化
(81)、对于推荐给用户的内容,当用户进行主动接收后,记录用户的阅读时长,当阅读时长超过阈值,则认为推荐成功;否则认为推荐失败;
(82)、查看该用户的推荐模型,确定该模型中起主要作用的相关度系数,若推荐成功,则调大该系数的百分比;如果推荐失败,则调小该系数的百分比。
作为本发明中一种多维协同推荐的方法的一种优选方案:步骤(12)采用LSA文档主题模型或者LDA文档主题模型提取样本集合。
作为本发明中一种多维协同推荐的方法的一种优选方案:步骤(4)中位置关系挖掘采用聚类算法挖掘或者关联规则分析算法挖掘。
作为本发明中一种多维协同推荐的方法的一种优选方案:步骤(81)中的,阈值为30秒/100字。
有益效果:相对于当前仅基于用户历史浏览记录或仅基于用户间的社会网络关系进行推荐,本发明方法能够更大范围地查找相关内容及相关用户,并更细粒度地鉴别内容的相关性,从而使内容推荐更加充分有效、更加有针对性。
附图说明
图1为本发明公开的一种多维协同推荐的系统的结构示意框图;
图2为用户关注主题相关度计算示意框图;
图3为用户群组相关度计算示意框图;
图4为用户间话题相关度计算示意框图;
图5为用户间位置相关度计算示意框图;
图6为推荐模型的结构示意框图;
图7为内容分类示意框图;
图8为内容推荐示意框图;
图9为推荐优化示意框图。
具体实施方式:
下面对本发明的具体实施方式详细说明。
具体实施例1
本发明方法主要是在社交类软件和互联网应用环境下,通过加权计算用户在浏览记录、邻近位置、分属群组、参与话题方面的关联关系,将一个用户的关注内容向与之有共同兴趣的其他用户推荐,达到有效推荐的目的。本发明的应用目的主要通过如附图1所示的“多维协同推荐系统”来实现。
如图1所示,一种多维协同推荐的系统,包括以下模块:
挖掘模块,完成主题提取、位置关系挖掘和文本分类;
推荐模块,完成各推荐内容对于各用户的推荐指数以及被阅读后的内容相对于相关用户的推荐指数,综合得出待推荐内容的推荐模型,计算过程需调用挖掘模块;
内容数据库模块,用于记录推荐内容、分类标签和内容分类;
用户数据库模块,记录用户基本信息、群组属性、交流记录、位置信息记录、浏览记录、关联用户、关注标签和推荐记录。
一种多维协同推荐的方法,包括以下步骤:
(1)、计算用户的主题关注度(如图2所示)
(11)、根据用户浏览记录将相应内容抽取为样本集合;
(12)、对步骤(11)中的样本集合进行主题提取,
(13)、将步骤(12)提取的主题作为该用户的关注标签,以用户浏览量为权重,对各标签进行相关度赋值,用户浏览量包括浏览次数和浏览时长,其中时长转化为分钟数处理;
(2)、计算用户之间的群组相关度(如图3所示)
根据用户分属群组和在群组中交流的频次,对用户进行群组关联赋值,第1用户与第2用户的群组相关度为累计用户在同一群组中交流的时长,时长转化为分钟数取整处理;
(3)、计算用户间话题相关度(如图4所示)
(31)、提取第1用户与第2用户间的交流记录做为统计样本;
(32)、从步骤(31)中的统计样本中进行主题提取;
(33)、根据用户对主题的内容贡献大小对第1用户与第2用户在每个主题上的相关度进行赋值,用户对主题的内容贡献以用户每次发言与主题的吻合度来衡量;一种简化的处理方法为当两个用户对某主题的贡献度都超过一定阈值时,则保留该主题,系数统一为1,代表是双方真正共同关注的话题;
(4)、计算用户间位置相关度(如图5所示)
通过位置关系挖掘,发现用户的邻居,再通过线性关系公式将位置关系转换为相关度系数,即与用户在地理位置上经常处于邻近局域的另一用户为该用户的邻居,邻居可能是住宅区,也可以是办公区;
(5)、组合关联用户的群组相关度、话题相关度、位置相关度及用户的主题相关度,进行分条件的赋权累加,得出最终的推荐模型(如图6所示);
(6)、内容分类(如图7所示)
(61)从样本内容集合中进行主题提取,得到对内容的分类标签;
(62)使用文本分类器,将目标内容集合按步骤(61)得到的分类标签分类;
(7)、内容推荐,如图8所示分两种情况:
(71)、若推荐的内容是用户未浏览过的内容:首先根据内容的类别属性和任意用户的关注标签的匹配度进行计算,得出一个推荐指数,当某一用户的推荐指数大于阈值,则向该用户推荐,该阈值取值区间为(0,1);
(72)、若推荐的内容为用户浏览过的内容,首先确保该用户对内容产生真正的接收(例如:页面停留时间超过5秒/100字),然后分三种情况计算用户的关联用户的推荐指数;
(721)、位置关联用户的基础系数为r1,当分类的内容涉及物理方位信息时,则该基础系数进行放大处理(如:乘以10倍),物理方位信息包括场所、卖场、地点和位置;
(722)、群组关联用户的基础系数为r2,当分类的内容覆盖到群组主题或群组标签时,则该系数进行放大处理(如:乘以10倍);
(723)、话题关联用户的相关系数算法为:R=|{TC}∩{Tu1-u2}|*r,其中{Tc}为内容主题的集合,{Tu1-u2}为第1用户与第2用户之间话题的集合,取两个集合交集的度再乘以一个系数r作为话题相关系数,系数r的取值范围为[1,10];
最终相关用户推荐指数计算公式为:R u1-u2=r1*Rg+r2*Rt+r3RL,其中,r1,r2,r3的初始值均设为1,Rg表示群组关联用户的群组相关度,Rt表示话题关联用户的话题相关度,RL表示位置关联用户的位置相关度;一个相关用户可能同时是三种相关用户,也可能只是其中的两种或一种,对于不是某类相关的用户,可将相应的相关系数设为0;
对于第1用户阅读过的内容,当推荐指数R u1-u2大于阈值,则向第2用户推荐,阈值取1;
(8)、推荐优化(如图9所示)
(81)、对于推荐给用户的内容,当用户进行主动接收后,记录用户的阅读时长,当阅读时长超过阈值,则认为推荐成功;否则认为推荐失败;
(82)、查看该用户的推荐模型,确定该模型中起主要作用的相关度系数,若推荐成功,则调大该系数的百分比(例如增加5%或10%);如果推荐失败,则调小该系数的百分比(例如减少5%或10%)。
阅读时长阈值或调节百分比都可根据经验进行设置和调整。
本实施例中,步骤(12)采用LSA文档主题模型提取样本集合。
本实施例中,步骤(4)中位置关系挖掘采用聚类算法挖掘。
本实施例中,步骤(81)中的,阈值为30秒/100字。
具体实施例2
与具体实施例1大致相同,区别仅仅在于
本实施例中,步骤(12)采用LDA文档主题模型提取样本集合;
本实施例中,步骤(4)中位置关系挖掘采用关联规则分析算法挖掘。
本实施例中,步骤(72)中阈值根据统计区间段内段的所有推荐指数的总体情况取中间值。
上面对本发明的实施方式做了详细说明。但是本发明并不限于上述实施方式,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。