基于社交平台的数据挖掘方法及装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种基于社交平台的数据挖掘方法及装置。
背景技术
目前,在计算机技术的发展和互联网的逐渐普及,越来越多的人通过互联网来获取各种各样的资讯。而相应的,互联网上的资讯数量也随着计算机技术的发展和互联网的普及变得更加丰富起来。
近些年来,移动互联网的快速发展,人们逐渐习惯通过移动终端上的资讯客户端来获取资讯内容。这种方式使得用户在通过网络进行获取资讯的时间变得更加碎片化。在这种背景下,如何精准的为用户提供有价值,且用户感兴趣的资讯信息变得更加重要。尤其,在为新用户提供有价值且感兴趣的资讯,成为了亟待解决的问题。
在现有的技术当中,推荐系统的冷启动问题是资讯客户端这类产品应用中的一个主要挑战。其中,推荐系统的冷启动问题是指对于新用户系统缺乏足够的数据来捕获用户的兴趣并有效的推荐内容。这个问题在众多解决方案中,有一类被广泛使用的方法,就是鼓励用户用社交网络(Social Network Service:SNS)账号登陆推荐系统,例如:微博、腾讯QQ、人人网等社交账号登陆。推荐系统可以利用用户社交网络平台的信息(例如:关注关系,好友关系,兴趣标签,发布内容等)初始化用户的兴趣模型,从而进行有效推荐。
一方面,单纯利用社交网络平台的公开数据用于内容推荐(公开数据例如:视频,文章,图片,音乐,游戏,软件,好友等)在实际应用中还有不少困难。例如:在社交网络平台的发布内容往往篇幅较短,且内容杂乱,用户的标签内容往往标新立异(例如:不睡懒觉会死星人、密集恐惧症晚期患者等),较难被机器学习算法理解,对改进推荐服务帮助有限。而对于在社交网络上不活跃,社交关系薄弱的用户来说,其社交网络平台上的公开数据在改进推荐效果上作用就更加有限。另一方面,对于比较成熟,用户量较大的内容推荐服务商来说,在长期的运营过程中,往往已经积累了大量的用户行为信息,例如:用户点播的视频,看过或评论过的文章。这部分数据如果能够有效的和社交网络公开数据融合使用,有可能极大的改进用户的推荐效果。然而,现有的技术,基本将关注点都聚焦在利用社交网络平台提供的公开数据挖掘用户兴趣模型并进行推荐,此种方法实现的难度较大,且准确率较低。
针对现有技术中因新注册用户没有历史浏览记录,导致的无法提供有针对性的资讯的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种基于社交平台的数据挖掘方法及装置,以解决现有技术中因新注册用户没有历史浏览记录,导致的无法提供有针对性的资讯的问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种基于社交平台的数据挖掘方法。该方法包括:获取资讯客户端上已注册用户的兴趣标签字典;获取社交平台中与资讯客户端上已注册用户具有关注关系的第一对象,并读取已注册用户与第一对象之间的关系信息;根据已注册用户具有关注关系的第一对象,确定与已注册用户对应的第一关注集合;根据已注册用户的兴趣标签字典和第一关注集合,构建兴趣模型,其中,兴趣模型用于表征具有相同第一关注集合的已注册用户与兴趣标签的对应关系;获取资讯客户端上新注册用户在社交平台中与其具有关注关系的第二对象,并读取新注册用户与第二对象之间的关系信息;根据新注册用户具有关注关系的第二对象,确定与新注册用户的第二关注集合;将第二关注集合与兴趣模型进行匹配,根据兴趣模型确定新注册用户的推荐兴趣标签。
为了实现上述目的,根据本发明实施例的另一方面,提供了一种基于社交平台的数据挖掘装置,该装置包括:第一获取模块,用于获取资讯客户端上已注册用户的兴趣标签字典;第二获取模块,用于获取社交平台中与资讯客户端上已注册用户具有关注关系的第一对象,并读取已注册用户与第一对象之间的关系信息;第一确定模块,用于根据已注册用户具有关注关系的第一对象,确定与已注册用户对应的第一关注集合;第一处理模块,用于根据已注册用户的兴趣标签字典和第一关注集合,构建兴趣模型,其中,兴趣模型用于表征具有相同第一关注集合的已注册用户与兴趣标签的对应关系;第三获取模块,用于获取资讯客户端上新注册用户在社交平台中与其具有关注关系的第二对象,并读取新注册用户与第二对象之间的关系信息;第二确定模块,用于根据新注册用户具有关注关系的第二对象,确定与新注册用户的第二关注集合;第二处理模块,用于将第二关注集合与兴趣模型进行匹配,根据兴趣模型确定新注册用户的推荐兴趣标签。
根据发明实施例,通过获取资讯客户端上已注册用户的兴趣标签字典;获取社交平台中与资讯客户端上已注册用户具有关注关系的第一对象,并读取已注册用户与第一对象之间的关系信息;根据已注册用户具有关注关系的第一对象,确定与已注册用户对应的第一关注集合;根据已注册用户的兴趣标签字典和第一关注集合,构建兴趣模型,其中,兴趣模型用于表征具有相同第一关注集合的已注册用户与兴趣标签的对应关系;获取资讯客户端上新注册用户在社交平台中与其具有关注关系的第二对象,并读取新注册用户与第二对象之间的关系信息;根据新注册用户具有关注关系的第二对象,确定与新注册用户的第二关注集合;将第二关注集合与兴趣模型进行匹配,根据兴趣模型确定新注册用户的推荐兴趣标签,解决了现有技术中因新注册用户没有历史浏览记录,导致的无法提供有针对性的资讯的问题。实现了通过新注册用户在社交平台的关注关系为用户提供有针对性资讯的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例一的基于社交平台的数据挖掘的流程图;
图2是根据本发明实施例一的优选的基于社交平台的数据挖掘的流程图;
图3是通过微博中关注集合对已注册用户进行匹配生成已注册用户集合的流程示意图;
图4是根据本发明实施例二的基于社交平台的数据挖掘装置的结构示意图;
图5是根据本发明实施例二的优选的基于社交平台的数据挖掘装置的结构示意图;以及
图6是根据本发明实施例二的优选的基于社交平台的数据挖掘装置的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本发明实施例提供了一种基于社交平台的数据挖掘方法。
图1是根据本发明实施例一的基于社交平台的数据挖掘方法的流程图。如图1所示,该方法包括步骤如下:
步骤S11,获取资讯客户端上已注册用户的兴趣标签字典。
本申请上述步骤S11,通过对已注册用户的历史浏览行为的收集,分析得到与每个已注册用户对应的兴趣标签字典。
步骤S13,获取社交平台中与资讯客户端上已注册用户具有关注关系的第一对象,并读取已注册用户与第一对象之间的关系信息。
本申请上述步骤S13,通过读取已注册用户在社交平台上的关注关系信息,确定与已注册用户有关注关系的对象。
在实际应用当中,关注关系可以是腾讯QQ软件中的好友关系,也可以是微博中的关注关系,也可以是人人网中的朋友关系。
步骤S15,根据已注册用户具有关注关系的第一对象,确定与已注册用户对应的第一关注集合。
本申请上述步骤S15,通过分别对每个已注册用户有关注关系的第一对象进行整理,从而确定每个已注册用户的第一关注集合。
步骤S17,根据已注册用户的兴趣标签字典和第一关注集合,构建兴趣模型,其中,兴趣模型用于表征具有相同第一关注集合的已注册用户与兴趣标签的对应关系。
本申请上述步骤S17,通过对每个已注册用户的关注集合进行分析,将具有不同第一关注集合的已注册用户进行分类,分为与若干个第一关注集合分别对应的已注册用户集合,并通过已注册用户集合中的已注册用户的兴趣标签字典,生成与第一关注集合对应的用户集合标签字典。从而确定第一关注集合与兴趣标签的对应关系。
步骤S19,获取资讯客户端上新注册用户在社交平台中与其具有关注关系的第二对象,并读取新注册用户与第二对象之间的关系信息。
本申请上述步骤S19,通过读取新注册用户在社交平台上的关注关系信息,确定与新注册用户有关注关系的第二对象。
在实际应用当中,关注关系可以是腾讯QQ软件中的好友关系,也可以是微博中的关注关系,也可以是人人网中的朋友关系。
步骤S21,根据新注册用户具有关注关系的第二对象,确定新注册用户的第二关注集合。
本申请上述步骤S21,通过对新注册用户有关注关系的第二对象进行整理,从而确定新注册用户的第二关注集合。
步骤S23,将第二关注集合与兴趣模型进行匹配,根据兴趣模型确定新注册用户的推荐兴趣标签。
本申请上述步骤S23,通过新注册用户的关注第二集合与兴趣模型中的若干个第一关注集合进行匹配,得到与新注册用户的第二关注集合相匹配的第一关注集合,从而通过该第一关注集合确定新注册用户的兴趣标签。
具体的,通过步骤S11至步骤S23,对在社交平台中有相同第一关注集合的已注册用户进行分组,得到与该第一关注集合对应的已注册用户集合,根据对资讯客户端上已注册用户的兴趣标签字典的获取,得到与已注册用户集合对应的用户集合标签字典。这样,就构建了一个拥有第一关注集合与用户集合标签字典对应关系的兴趣模型。在获取新注册用户的第二关注集合之后,直接通过第二关注集合与兴趣模型中的第一关注集合进行匹配,就可以得到新注册用户的推荐兴趣标签。
在实际应用当中,一般可以认为社交平台中的关系反映了用户的兴趣相似性。基于不同的假设,我们可以采用不同的方法在社交平台上找到和一个用户兴趣相似的其它用户。不同的假设适用于不同类型的社交平台,比如,对于腾讯QQ,微信这种强调双向交流的社交平台可以假设好友之间的兴趣是类似的。而对于微博这种强调单向关注的社交平台可以假设拥有共同关注对象的用户兴趣是类似的,例如,两个用户都关注了雷军、黄章,他们很可能都对智能手机感兴趣。
社交平台以微博为例,对在资讯客户端上已注册用户的微博关注列表的内容进行筛选,筛选出粉丝数超过一定数值的关注对象或者筛选出粉丝数前几名的关注对象构成一个第一关注集合。以相同的筛选方式,对所有已注册用户的微博关注列表进行筛选,得到与每个已注册用户对应的第一关注集合,将拥有相同的第一关注集合的已注册用户归为若干个已注册用户集合,每个已注册用户集合具有不同的第一关注集合。通过收集已注册用户集合中的已注册用户的兴趣标签字典,得到与各个已注册用户集合对应的用户集合标签字典。当一个新注册用户注册资讯客户端后并授权资讯客户端调用微博公开数据之后,对该新用户的关注列表也进行同样方式的筛选,将筛选后的第二关注集合与若干个已注册用户集合的第一关注集合进行匹配,从而确定新用户所属的已注册用户集合,得到该已注册用户集合对应的用户集合标签字典,即新注册用户的推荐兴趣标签。
综上所述,本发明解决了现有技术中因新注册用户没有历史浏览记录,导致的无法提供有针对性的资讯的问题。实现了通过新注册用户在社交平台的关注关系为用户提供有针对性资讯的效果。
优选的,本申请提供的优选实施例中如图2所示,在步骤S11获取资讯客户端上已注册用户的兴趣标签字典之前,方法包括:
步骤S101,获取推荐资讯。
步骤S103,从推荐资讯的内容提取推荐资讯的兴趣标签。
步骤S105,获取已注册用户的历史行为数据,其中,历史行为数据用于记录已注册用户对推荐资讯的操作行为。
步骤S107,根据历史行为数据,确定兴趣标签的标签权重值。
步骤S109,根据标签权重值,确定与已注册用户对应的兴趣标签字典。
具体的,通过步骤S101至步骤S109,对资讯客户端中的所有推荐资讯的内容进行分析,根据推荐资讯的内容为每条推荐资讯提取兴趣标签。当已注册用户对推荐资讯进行操作时,记录已注册用户的操作行为,根据对推荐资讯的操作行为,对与该条推荐资讯对应的兴趣标签进行加权计算,计算得出与已注册用户对应的兴趣标签的权重值。当标签权重值大于阈值时,将该标签加入到与该用户对应的兴趣标签字典当中。
在实际应用当中,在资讯客户端中的推荐服务对客户端推荐的推荐资讯内容会打上兴趣标签,例如:针对内容的分类:科技、足球、篮球等,针对对应的人群的分类:技术宅、户外爱好者、青少年等,针对内容的关键词:iPhone,坦克大赛,拜仁慕尼黑等。这些兴趣标签有时是人工编辑的,有时是算法自动分析推荐资讯识别的。
在推荐服务可推荐的所有推荐资讯有兴趣标签的情况下,通过记录已注册用户使用推荐服务的行为数据,例如:浏览内容,点击/收藏/评论内容等,并根据与资讯内容对应的兴趣标签得到用户的兴趣标签字典。这个兴趣标签字典描述了用户有哪些兴趣标签,每个兴趣标签的权重是多少。这个兴趣标签字典可以作为兴趣模型在后续步骤中使用。
具体的,兴趣标签的标签权重值的计算方法可以包括:
首先,对于每种用户动作act设定一个权重w,比如点击记1分,浏览但是没有点击记-0.2分,收藏记5分。
给定一个用户动作序列[act1,act2,…,act3],用户的兴趣标签向量计算如下:
V=∑iTi·wi;
其中Ti代表第i个用户动作的兴趣标签向量,wi代表第i个用户动作的权重。
优选的,本申请提供的优选实施例中,步骤S17根据已注册用户的兴趣标签字典和第一关注集合,构建兴趣模型的步骤包括:
步骤S171,对第一关注集合进行筛选,得到与已注册用户对应的第三关注集合,其中,筛选方法至少包括:数据筛选法、指标筛选法、条件筛选法和信息筛选法。
步骤S173,通过第三关注集合对已注册用户进行匹配,生成已注册用户集合,其中,已注册用户集合包括拥有相同第三关注集合的已注册用户。
步骤S175,根据已注册用户集合中包含的已注册用户的兴趣标签字典,生成与已注册用户集合对应的用户集合标签字典。
具体的,通过步骤S171至步骤S175,首先对已注册用户的第一关注集合进行筛选,可以按关注数量和/或好友数量和/或活跃度等条件将第一关注集合进行筛选,将不活跃、好友少的用户从第一关注集合中去除,生成经过筛选的第三关注集合。
将经过筛选的已注册用户通过第三关注集合进行匹配,将第三关注集合的匹配度大于预先设置的阈值或者第三关注集合完全相同的已注册用户划分入相同的已注册用户集合。根据第三关注集合的内容差异,已注册用户集合可以由很多个。当然,第三关注集合也可以由人为定义,根据人为定义的第三关注集合,将已注册用户进行分组,分入不同的已注册用户集合当中。
根据已注册用户集合当中与各个已注册用户对应的兴趣标签字典的内容,生成与当前已注册用户集合对应的用户集合标签字典。
上述社交平台以微博为例,如图3所示,图3是通过微博中关注集合对已注册用户进行匹配生成已注册用户集合的流程示意图。
根据对已注册用户的关注列表进行获取,以粉丝数量作为筛选条件,将关注列表中粉丝数量较少的用户筛选过滤。根据筛选过的关注列表生成第三关注集合。当然,对于微博来说,也可以人为对第三关注集合进行定义。例如,将微博中的特定用户按照用户类别进行划分,可以将李开复、雷军、周鸿祎、李彦宏等计算机互联网领域的用户化为一个第三关注集合,可以讲何炅、谢娜、戴军等娱乐传媒领域的用户化为一个第三关注集合,还可以将魏克星、李娜、刘翔等体育运动领域的用户划分为一个第三关注集合。
根据第三关注集合,将已注册的用户进行分类划分,将拥有共同第三关注集合的已注册用户划分到一个已注册用户集合当中,以达到类似兴趣用户群体的目的。
优选的,本申请提供的优选实施例中,步骤S175根据已注册用户集合中包含的已注册用户的兴趣标签字典,生成与已注册用户集合对应的用户集合标签字典的步骤包括:
步骤S1751,获取资讯客户端上已注册用户的第一用户数量和已注册用户集合的第二用户数量。
步骤S1753,根据标签权重值和第一用户数量,计算各个兴趣标签的权重分布平均值。
步骤S1755,根据已注册用户集合中的已注册用户的标签权重值和第二用户数量,计算用户集合兴趣标签字典中的各个兴趣标签的集合权重平均值。
步骤S1757,根据权重分布平均值和集合权重平均值,计算得出兴趣标签在用户集合兴趣标签字典中的已注册用户集合权重值。
步骤S1759,依次将兴趣标签在用户集合兴趣标签字典中的已注册用户集合权重值与预先设定的噪声阈值进行比较。
当兴趣标签在用户集合兴趣标签字典中的已注册用户集合权重值大于预先设定的噪声阈值时,在用户集合标签字典中保留与已注册用户集合权重值对应的兴趣标签;
当兴趣标签在用户集合兴趣标签字典中的已注册用户集合权重值小于或等于预先设定的噪声阈值时,在用户集合标签字典中删除与已注册用户集合权重值对应的兴趣标签。
具体的,步骤S1751至步骤S1759在实际应用当中,社交平台以微博为例,在找到类似兴趣用户群体后,可以合并这些用户个体的兴趣标签字典获得群体兴趣模型。最简单方法就是把用户标签向量直接相加。但是在实际应用当中,发现这样做的结果有很大噪声,因为某些领域的微博大号关注者非常多,很多人仅仅是因为这个大号有名气而关注,关注行为本身无法反映自身兴趣,如果简单的把这些用户的兴趣标签向量加和,有意义的信号就容易被普遍兴趣淹没。举个实际实验中的例子,分析关注王兴(美团网创始人)的微博用户,我们发现权重最大的兴趣标签不是“互联网”,“O2O”,而是“娱乐”,“社会新闻”。这是因为“娱乐”和“社会新闻”是普遍的兴趣标签,很多有这两个标签的用户因为王兴是美团网的创始人关注了他,但其实对“互联网”和“O2O”没那么关注。最终我们如果不加区别的考虑所有这些用户,就会得到“娱乐”和“社会新闻”权重比“互联网”,“O2O”更高的结果。
如何去除背景噪声是有效挖掘群体兴趣的核心技术。在实践中,我们首先需要统计全体站的已注册用户的权重分布平均值:
其中N表示所有注册用户的数量,Vn表示一个用户的兴趣标签权重分布;
通过上述公式,进而求得全体用户在兴趣标签i上的平均权重Vbase[i];
然后对关注关系中拥有某一相同条件的已注册用户集合,(比如:在微博中,所有关注集合中,关注“王兴”的已注册用户的集合),给定这个已注册用户集合群体兴趣标签向量V,分别求得用于去除噪声的已注册用户集合权重值V’:
V’[i]=V[i]/Vbase[i];
其中V’[i]表示兴趣标签i的已注册用户集合权重值,V[i]表示兴趣标签i的兴趣标签的集合权重平均值,Vbase[i]表示全体用户在兴趣标签i上的平均权重。
通过对已注册用户集合权重值V’和预先设定的噪声阈值进行比较,当已注册用户集合权重值V’小于该噪声阈值时,证明此兴趣标签为噪声标签,应当从当前用户集合标签字典中剔除出去;而当已注册用户集合权重值V’大于等于该噪声阈值时,判断该兴趣标签为非噪声标签,将该标签保留在当前的用户集合标签字典当中。
优选的,本申请提供的优选实施例中,在步骤S23将第二关注集合与兴趣模型进行匹配,根据兴趣模型确定新注册用户的推荐兴趣标签中,步骤包括:
步骤S231,对第二关注集合进行筛选,得到与新注册用户对应的第四关注集合,其中,筛选方法至少包括:数据筛选法、指标筛选法、条件筛选法和信息筛选法。
步骤S233,将第四关注集合与第三关注集进行匹配,确定与新注册用户对应的已注册用户集合。
步骤S235,根据与新注册用户对应的已注册用户集合的用户集合标签字典,确定新注册用户的推荐兴趣标签。
具体的,通过步骤S231至步骤S235,首先对新注册用户的第二关注集合进行筛选,可以按关注数量和/或好友数量和/或活跃度等条件将第二关注集合进行筛选,将不活跃、好友少的用户从第二关注集合中去除,生成经过筛选的第四关注集合。其中,筛选的方法可以与步骤171中所使用的筛选方法相同,也可以使用其他筛选方法。只要可以达到优化第二关注集合的目的,对所使用的筛选方法不做限制。
然后将第四关注集合与各个第三关注集合进行匹配,当新注册用户的第四关注集合与第三关注集合的匹配度大于预先设置的阈值或者第三关注集合完全相同时,确定该新注册用户与该第三关注集合匹配。从而确定该新注册用户所属的已注册用户集合。
根据新注册所属的已注册用户集合的用户集合标签字典,确定对该新用户推荐的推荐标签。
在实际应用当中,挖掘出一个与新注册用户兴趣相似用户群的群体兴趣模型后,我们可以按照一定权重融合这个群体兴趣模型和用户个体兴趣模型,然后根据融合后的兴趣模型来推荐内容。具体来说,给定一个融合后的兴趣模型(兴趣标签向量),我们可以按照每一个兴趣标签的权重等比例的推荐一些该标签下最优质的内容。
需要说明的是,对于新用户,我们没有任何该用户的站内动作数据,也就无从获得其个体兴趣模型。但是如果这个新用户是用社交平台的网络账号登陆资讯客户端的,我们可以获取该新注册用户社交平台上的社交关系,通过挖掘他的站内兴趣相似用户群,通过利用这个群体兴趣模型给用户推荐内容,就可以实现有针对性的推荐资讯。实际中,这种做法比随机推荐或者推荐最热门的内容效果更好。
优选的,本申请提供的优选实施例中,在步骤S23将第二关注集合与兴趣模型进行匹配,根据兴趣模型确定新注册用户的推荐兴趣标签之后,方法还包括:
步骤S24,根据推荐兴趣标签,为新注册用户推送推荐资讯。
具体的,通过步骤S24,根据通过上述步骤为新注册用户确定的兴趣标签,向新注册用户推送与兴趣标签匹配的推荐资讯。
从技术方案可以看出,本发明有效的结合了社交网络公开数据和推荐服务私有数据共同为用户推荐内容。同仅使用社交网络公开数据或推荐服务私有数据相比,融合两种数据有助于更精准的推荐个性化内容。而且本发明提出的融合方法对于新用户也可以利用两种数据的融合(基于站内数据挖掘的站内用户兴趣模型通过社交关系转移到新注册的站外用户身上),这个也是传统方法无法达到的效果。
本发明的一个特点是越是拥有大量用户的推荐服务商,这种方法的效果会越好。因为这样的推荐服务商其用户群体对于社交网络用户群体的覆盖面会比较大,不至于出现任给一个社交账号,其好友或者粉丝大部分都不是站内用户,无法挖掘群体兴趣的情况。这对今日头条这样拥有亿级用户的产品是一个显著的竞争优势,而对于一些较小的推荐产品则是一个技术壁垒。
实施例2
本发明实施例还提供了一种基于社交平台的数据挖掘装置,如图4所示,该装置包括:第一获取模块30、第二获取模块32、第一确定模块34、第一处理模块36、第三获取模块38、第二确定模块40和第二处理模块42。
其中,第一获取模块30,用于获取资讯客户端上已注册用户的兴趣标签字典。
本申请的第一获取模块30,用于通过对已注册用户的历史浏览行为的收集,分析得到与每个已注册用户对应的兴趣标签字典。
第二获取模块32,用于获取社交平台中与资讯客户端上已注册用户具有关注关系的第一对象,并读取已注册用户与第一对象之间的关系信息。
本申请的第二获取模块32,用于通过读取已注册用户在社交平台上的关注关系信息,确定与已注册用户有关注关系的对象。
在实际应用当中,关注关系可以是腾讯QQ软件中的好友关系,也可以是微博中的关注关系,也可以是人人网中的朋友关系。
第一确定模块34,用于根据已注册用户具有关注关系的第一对象,确定与已注册用户对应的第一关注集合。
本申请的第一确定模块34,用于通过分别对每个已注册用户有关注关系的第一对象进行整理,从而确定每个已注册用户的第一关注集合。
第一处理模块36,用于根据已注册用户的兴趣标签字典和第一关注集合,构建兴趣模型,其中,兴趣模型用于表征具有相同第一关注集合的已注册用户与兴趣标签的对应关系。
本申请的第一处理模块36,用于通过对每个已注册用户的关注集合进行分析,将具有不同第一关注集合的已注册用户进行分类,分为与若干个第一关注集合分别对应的已注册用户集合,并通过已注册用户集合中的已注册用户的兴趣标签字典,生成与第一关注集合对应的用户集合标签字典。从而确定第一关注集合与兴趣标签的对应关系。
第三获取模块38,用于获取资讯客户端上新注册用户在社交平台中与其具有关注关系的第二对象,并读取新注册用户与第二对象之间的关系信息。
本申请的第三获取模块38,用于通过读取新注册用户在社交平台上的关注关系信息,确定与新注册用户有关注关系的第二对象。
在实际应用当中,关注关系可以是腾讯QQ软件中的好友关系,也可以是微博中的关注关系,也可以是人人网中的朋友关系。
第二确定模块40,用于根据新注册用户具有关注关系的第二对象,确定与新注册用户的第二关注集合。
本申请的第二确定模块40,用于通过对新注册用户有关注关系的第二对象进行整理,从而确定新注册用户的第二关注集合。
第二处理模块42,用于将第二关注集合与兴趣模型进行匹配,根据兴趣模型确定新注册用户的推荐兴趣标签。
本申请的第二处理模块42,用于通过新注册用户的关注第二集合与兴趣模型中的若干个第一关注集合进行匹配,得到与新注册用户的第二关注集合相匹配的第一关注集合,从而通过该第一关注集合确定新注册用户的兴趣标签。
具体的,通过第一获取模块30、第二获取模块32、第一确定模块34、第一处理模块36、第三获取模块38、第二确定模块40和第二处理模块42,对在社交平台中有相同第一关注集合的已注册用户进行分组,得到与该第一关注集合对应的已注册用户集合,根据对资讯客户端上已注册用户的兴趣标签字典的获取,得到与已注册用户集合对应的用户集合标签字典。这样,就构建了一个拥有第一关注集合与用户集合标签字典对应关系的兴趣模型。在获取新注册用户的第二关注集合之后,直接通过第二关注集合与兴趣模型中的第一关注集合进行匹配,就可以得到新注册用户的推荐兴趣标签。
在实际应用当中,一般可以认为社交平台中的关系反映了用户的兴趣相似性。基于不同的假设,我们可以采用不同的方法在社交平台上找到和一个用户兴趣相似的其它用户。不同的假设适用于不同类型的社交平台,比如,对于腾讯QQ,微信这种强调双向交流的社交平台可以假设好友之间的兴趣是类似的。而对于微博这种强调单向关注的社交平台可以假设拥有共同关注对象的用户兴趣是类似的,例如,两个用户都关注了雷军、黄章,他们很可能都对智能手机感兴趣。
社交平台以微博为例,对在资讯客户端上已注册用户的微博关注列表的内容进行筛选,筛选出粉丝数超过一定数值的关注对象或者筛选出粉丝数前几名的关注对象构成一个第一关注集合。以相同的筛选方式,对所有已注册用户的微博关注列表进行筛选,得到与每个已注册用户对应的第一关注集合,将拥有相同的第一关注集合的已注册用户归为若干个已注册用户集合,每个已注册用户集合具有不同的第一关注集合。通过收集已注册用户集合中的已注册用户的兴趣标签字典,得到与各个已注册用户集合对应的用户集合标签字典。当一个新注册用户注册资讯客户端后并授权资讯客户端调用微博公开数据之后,对该新用户的关注列表也进行同样方式的筛选,将筛选后的第二关注集合与若干个已注册用户集合的第一关注集合进行匹配,从而确定新用户所属的已注册用户集合,得到该已注册用户集合对应的用户集合标签字典,即新注册用户的推荐兴趣标签。
综上所述,本发明解决了现有技术中因新注册用户没有历史浏览记录,导致的无法提供有针对性的资讯的问题。实现了通过新注册用户在社交平台的关注关系为用户提供有针对性资讯的效果。
优选的,本申请提供的优选实施例中,如图5所示,装置还包括:第四获取模块281、提取模块283、第五获取模块285、第三确定模块287和第四确定模块289。
其中,第四获取模块281,用于获取推荐资讯。
提取模块283,用于从推荐资讯的内容提取推荐资讯的兴趣标签。
第五获取模块285,用于获取已注册用户的历史行为数据,其中,历史行为数据用于记录已注册用户对推荐资讯的操作行为。
第三确定模块287,用于根据历史行为数据,确定兴趣标签的标签权重值。
第四确定模块289,用于根据标签权重值,确定与已注册用户对应的兴趣标签字典。
具体的,通过第四获取模块281、提取模块283、第五获取模块285、第三确定模块287和第四确定模块289,对资讯客户端中的所有推荐资讯的内容进行分析,根据推荐资讯的内容为每条推荐资讯提取兴趣标签。当已注册用户对推荐资讯进行操作时,记录已注册用户的操作行为,根据对推荐资讯的操作行为,对与该条推荐资讯对应的兴趣标签进行加权计算,计算得出与已注册用户对应的兴趣标签的权重值。当标签权重值大于阈值时,将该标签加入到与该用户对应的兴趣标签字典当中。
在实际应用当中,在资讯客户端中的推荐服务对客户端推荐的推荐资讯内容会打上兴趣标签,例如:针对内容的分类:科技、足球、篮球等,针对对应的人群的分类:技术宅、户外爱好者、青少年等,针对内容的关键词:iPhone,坦克大赛,拜仁慕尼黑等。这些兴趣标签有时是人工编辑的,有时是算法自动分析推荐资讯识别的。
在推荐服务可推荐的所有推荐资讯有兴趣标签的情况下,通过记录已注册用户使用推荐服务的行为数据,例如:浏览内容,点击/收藏/评论内容等,并根据与资讯内容对应的兴趣标签得到用户的兴趣标签字典。这个兴趣标签字典描述了用户有哪些兴趣标签,每个兴趣标签的权重是多少。这个兴趣标签字典可以作为兴趣模型在后续步骤中使用。
具体的,兴趣标签的标签权重值的计算方法可以包括:
首先,对于每种用户动作act设定一个权重w,比如点击记1分,浏览但是没有点击记-0.2分,收藏记5分。
给定一个用户动作序列[act1,act2,…,act3],用户的兴趣标签向量计算如下:
V=∑iTi·wi;
其中Ti代表第i个用户动作的兴趣标签向量,wi代表第i个用户动作的权重。
优选的,本申请提供的优选实施例中,第一处理模块36,包括:第一子处理模块361、子匹配模块363和第一生成模块365。
其中,第一子处理模块361,用于对第一关注集合进行筛选,得到与已注册用户对应的第三关注集合,其中,筛选方法至少包括:数据筛选法、指标筛选法、条件筛选法和信息筛选法。
子匹配模块363,用于通过第三关注集合对已注册用户进行匹配,生成已注册用户集合,其中,已注册用户集合包括拥有相同第三关注集合的已注册用户。
第一生成模块365,用于根据已注册用户集合中包含的已注册用户的兴趣标签字典,生成与已注册用户集合对应的用户集合标签字典。
具体的,通过第一子处理模块361、子匹配模块363和第一生成模块365,首先对已注册用户的第一关注集合进行筛选,可以按关注数量和/或好友数量和/或活跃度等条件将第一关注集合进行筛选,将不活跃、好友少的用户从第一关注集合中去除,生成经过筛选的第三关注集合。
将经过筛选的已注册用户通过第三关注集合进行匹配,将第三关注集合的匹配度大于预先设置的阈值或者第三关注集合完全相同的已注册用户划分入相同的已注册用户集合。根据第三关注集合的内容差异,已注册用户集合可以由很多个。当然,第三关注集合也可以由人为定义,根据人为定义的第三关注集合,将已注册用户进行分组,分入不同的已注册用户集合当中。
根据已注册用户集合当中与各个已注册用户对应的兴趣标签字典的内容,生成与当前已注册用户集合对应的用户集合标签字典。
上述社交平台以微博为例,如图3所示,图3是通过微博中关注集合对已注册用户进行匹配生成已注册用户集合的流程示意图。
根据对已注册用户的关注列表进行获取,以粉丝数量作为筛选条件,将关注列表中粉丝数量较少的用户筛选过滤。根据筛选过的关注列表生成第三关注集合。当然,对于微博来说,也可以人为对第三关注集合进行定义。例如,将微博中的特定用户按照用户类别进行划分,可以将李开复、雷军、周鸿祎、李彦宏等计算机互联网领域的用户化为一个第三关注集合,可以讲何炅、谢娜、戴军等娱乐传媒领域的用户化为一个第三关注集合,还可以将魏克星、李娜、刘翔等体育运动领域的用户划分为一个第三关注集合。
根据第三关注集合,将已注册的用户进行分类划分,将拥有共同第三关注集合的已注册用户划分到一个已注册用户集合当中,以达到类似兴趣用户群体的目的。
优选的,本申请提供的优选实施例中,第一生成模块365,包括:第一子获取模块3651、第一子计算模块3652、第二子计算模块3653、第三子计算模块3654和子判断模块3655。
其中,第一子获取模块3651,用于获取资讯客户端上已注册用户的第一用户数量和已注册用户集合的第二用户数量。
第一子计算模块3652,用于根据标签权重值和第一用户数量,计算各个兴趣标签的权重分布平均值。
第二子计算模块3653,用于根据已注册用户集合中的已注册用户的标签权重值和第二用户数量,计算用户集合兴趣标签字典中的各个兴趣标签的集合权重平均值。
第三子计算模块3654,用于根据权重分布平均值和集合权重平均值,计算得出兴趣标签在用户集合兴趣标签字典中的已注册用户集合权重值。
子判断模块3655,用于依次将兴趣标签在用户集合兴趣标签字典中的已注册用户集合权重值与预先设定的噪声阈值进行比较。
当兴趣标签在用户集合兴趣标签字典中的已注册用户集合权重值大于预先设定的噪声阈值时,在用户集合标签字典中保留与已注册用户集合权重值对应的兴趣标签。
当兴趣标签在用户集合兴趣标签字典中的已注册用户集合权重值小于或等于预先设定的噪声阈值时,在用户集合标签字典中删除与已注册用户集合权重值对应的兴趣标签。
具体的,通过第一生成模块365,包括:第一子获取模块3651、第一子计算模块3652、第二子计算模块3653、第三子计算模块3654和子判断模块3655在实际应用当中的应用,社交平台以微博为例,在找到类似兴趣用户群体后,可以合并这些用户个体的兴趣标签字典获得群体兴趣模型。最简单方法就是把用户标签向量直接相加。但是在实际应用当中,发现这样做的结果有很大噪声,因为某些领域的微博大号关注者非常多,很多人仅仅是因为这个大号有名气而关注,关注行为本身无法反映自身兴趣,如果简单的把这些用户的兴趣标签向量加和,有意义的信号就容易被普遍兴趣淹没。举个实际实验中的例子,分析关注王兴(美团网创始人)的微博用户,我们发现权重最大的兴趣标签不是“互联网”,“O2O”,而是“娱乐”,“社会新闻”。这是因为“娱乐”和“社会新闻”是普遍的兴趣标签,很多有这两个标签的用户因为王兴是美团网的创始人关注了他,但其实对“互联网”和“O2O”没那么关注。最终我们如果不加区别的考虑所有这些用户,就会得到“娱乐”和“社会新闻”权重比“互联网”,“O2O”更高的结果。
如何去除背景噪声是有效挖掘群体兴趣的核心技术。在实践中,我们首先需要统计全体站的已注册用户的权重分布平均值:
其中N表示所有注册用户的数量,Vn表示一个用户的兴趣标签权重分布;
通过上述公式,进而求得全体用户在兴趣标签i上的平均权重Vbase[i];
然后对关注关系中拥有某一相同条件的已注册用户集合,(比如:在微博中,所有关注集合中,关注“王兴”的已注册用户的集合),给定这个已注册用户集合群体兴趣标签向量V,分别求得用于去除噪声的已注册用户集合权重值V’:
V’[i]=V[i]/Vbase[i];
其中V’[i]表示兴趣标签i的已注册用户集合权重值,V[i]表示兴趣标签i的兴趣标签的集合权重平均值,Vbase[i]表示全体用户在兴趣标签i上的平均权重。
通过对已注册用户集合权重值V’和预先设定的噪声阈值进行比较,当已注册用户集合权重值V’小于该噪声阈值时,证明此兴趣标签为噪声标签,应当从当前用户集合标签字典中剔除出去;而当已注册用户集合权重值V’大于等于该噪声阈值时,判断该兴趣标签为非噪声标签,将该标签保留在当前的用户集合标签字典当中。
通过对已注册用户集合权重值V’和预先设定的噪声阈值进行比较,当已注册用户集合权重值V’小于该噪声阈值时,证明此兴趣标签为噪声标签,应当从当前用户集合标签字典中剔除出去;而当已注册用户集合权重值V’大于等于该噪声阈值时,判断该兴趣标签为非噪声标签,将该标签保留在当前的用户集合标签字典当中。
优选的,本申请提供的优选实施例中,第二处理模块42,包括:第二子处理模块421、第一子确定模块423和第二子确定模块425。
其中,第二子处理模块421,用于对第二关注集合进行筛选,得到与新注册用户对应的第四关注集合,其中,筛选方法至少包括:数据筛选法、指标筛选法、条件筛选法和信息筛选法。
第一子确定模块423,用于将第四关注集合与第三关注集进行匹配,确定与新注册用户对应的已注册用户集合。
第二子确定模块425,用于根据与新注册用户对应的已注册用户集合的用户集合标签字典,确定新注册用户的推荐兴趣标签。
具体的,通过第二子处理模块421、第一子确定模块423和第二子确定模块425,首先对新注册用户的第二关注集合进行筛选,可以按关注数量和/或好友数量和/或活跃度等条件将第二关注集合进行筛选,将不活跃、好友少的用户从第二关注集合中去除,生成经过筛选的第四关注集合。其中,筛选的方法可以与步骤171中所使用的筛选方法相同,也可以使用其他筛选方法。只要可以达到优化第二关注集合的目的,对所使用的筛选方法不做限制。
然后将第四关注集合与各个第三关注集合进行匹配,当新注册用户的第四关注集合与第三关注集合的匹配度大于预先设置的阈值或者第三关注集合完全相同时,确定该新注册用户与该第三关注集合匹配。从而确定该新注册用户所属的已注册用户集合。
根据新注册所属的已注册用户集合的用户集合标签字典,确定对该新用户推荐的推荐标签。
在实际应用当中,挖掘出一个与新注册用户兴趣相似用户群的群体兴趣模型后,我们可以按照一定权重融合这个群体兴趣模型和用户个体兴趣模型,然后根据融合后的兴趣模型来推荐内容。具体来说,给定一个融合后的兴趣模型(兴趣标签向量),我们可以按照每一个兴趣标签的权重等比例的推荐一些该标签下最优质的内容。
需要说明的是,对于新用户,我们没有任何该用户的站内动作数据,也就无从获得其个体兴趣模型。但是如果这个新用户是用社交平台的网络账号登陆资讯客户端的,我们可以获取该新注册用户社交平台上的社交关系,通过挖掘他的站内兴趣相似用户群,通过利用这个群体兴趣模型给用户推荐内容,就可以实现有针对性的推荐资讯。实际中,这种做法比随机推荐或者推荐最热门的内容效果更好。
优选的,本申请提供的优选实施例中,如图6所示,装置还包括:推送模块43。
其中,推送模块43,用于根据推荐兴趣标签,为新注册用户推送推荐资讯。
具体的,通过推送模块43,根据通过上述步骤为新注册用户确定的兴趣标签,向新注册用户推送与兴趣标签匹配的推荐资讯。
从技术方案可以看出,本发明有效的结合了社交网络公开数据和推荐服务私有数据共同为用户推荐内容。同仅使用社交网络公开数据或推荐服务私有数据相比,融合两种数据有助于更精准的推荐个性化内容。而且本发明提出的融合方法对于新用户也可以利用两种数据的融合(基于站内数据挖掘的站内用户兴趣模型通过社交关系转移到新注册的站外用户身上),这个也是传统方法无法达到的效果。
本发明的一个特点是越是拥有大量用户的推荐服务商,这种方法的效果会越好。因为这样的推荐服务商其用户群体对于社交网络用户群体的覆盖面会比较大,不至于出现任给一个社交账号,其好友或者粉丝大部分都不是站内用户,无法挖掘群体兴趣的情况。这对今日头条这样拥有亿级用户的产品是一个显著的竞争优势,而对于一些较小的推荐产品则是一个技术壁垒。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。