CN105718951B - 用户相似度的估算方法及估算系统 - Google Patents
用户相似度的估算方法及估算系统 Download PDFInfo
- Publication number
- CN105718951B CN105718951B CN201610041574.2A CN201610041574A CN105718951B CN 105718951 B CN105718951 B CN 105718951B CN 201610041574 A CN201610041574 A CN 201610041574A CN 105718951 B CN105718951 B CN 105718951B
- Authority
- CN
- China
- Prior art keywords
- user
- group
- similarity
- users
- bipartite graph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种用户的相似度的估算方法及估算系统,包括:获取用户属性,并根据用户属性将不同的用户分成多个用户组;读取所述用户组中每一用户所对应的项目,以生成项目列表;将所述用户组中的用户与所述项目列表中的项目处理成二分图;通过所述二分图估算用户的组内相似度;和/或通过所述二分图估算用户的组间相似度。本发明通过二分图对用户和项目进行分析,具有算法简单、准确率高的优点,而且可以适应海量数据的环境,对系统资源占用少、且估算速度快。
Description
技术领域
本发明属于数据处理领域,尤其涉及一种用户的相似度的估算方法及估算系统。
背景技术
随着互联网的普及,信息资源呈指数膨胀,从而带来了信息过载的问题,使用户时常迷失在大量的信息空间中,无法顺利找到自己需要的信息。因此,便出现了各类的信息推荐技术,基于用户的操作习惯对用户与项目建立一定的关联,比如观看或点赞,进而生成信息推荐列表,比如,节目推荐列表、购物推荐列表、或朋友推荐列表等。
这些推荐技术的原理,主要是依据用户的相似度,为目标用户选取相似度高的已知用户的项目列表,作为推荐信息。
传统的用户相似度的估算方法,主要是将用户组的用户两两估算相似度值,然后将这些相似度值进行平均,即为组间相似度。
但随着用户、及用户操作行为的数据量越来越大,传统估算方法的估算量也越来越大,对运算资源消耗较大,且费时费力,同时传统算法中取平均值的误差也会被海量数据所放大,影响了对用户的相似度的评估的准确性,进而影响推荐信息的有效性,降低了用户体验。
发明内容
有鉴于此,本发明的目的在于提供一种用户的相似度的估算方法及估算系统,可以解决现有技术中估算方法复杂、误差大,进而影响估算速度和准确性的技术问题。
为解决上述技术问题,本发明实施例提供了如下技术方案:
一种用户的相似度的估算方法,包括:
获取用户属性,并根据用户属性将不同的用户分成多个用户组;
读取所述用户组中每一用户所对应的项目,以生成项目列表;
将所述用户组中的用户与所述项目列表中的项目处理成二分图;
通过所述二分图估算用户的组内相似度;和/或
通过所述二分图估算用户的组间相似度。
为解决上述技术问题,本发明实施例还提供了如下技术方案:
一种用户的相似度的估算系统,包括:
分组模块,用于获取用户属性,并根据用户属性将不同的用户分成多个用户组;
列表模块,用于读取所述用户组中每一用户所对应的项目,以生成项目列表;
二分图模块,用于将所述用户组中的用户与所述项目列表中的项目处理成二分图;以及
相似度模块,用于通过所述二分图估算用户的组内相似度;和/或通过所述二分图估算用户的组间相似度。
相对于现有技术,本发明实施例提供的用户的相似度的估算方法及估算系统,通过二分图对用户和项目进行分析,具有算法简单、准确率高的优点,而且可以适应海量数据的环境,对系统资源占用少、且估算速度快。
附图说明
图1是本发明实施例一提供的用户的相似度的估算方法的流程示意图;
图2是本发明实施例二提供的用户的相似度的估算方法的流程示意图;
图3是本发明实施例三提供的信息推荐方法的流程示意图;
图4是本发明实施例四提供的用户的相似度的估算系统的模块示意图;
图5是本发明实施例五提供的用户的相似度的估算系统的模块示意图;
图6是本发明实施例六提供的信息推荐系统的模块示意图;
图7是本发明实施例中的用户与项目所构成的二分图的示意图;
图8是本发明实施例中的用户之间的相似度的可视化示意图;
图9是本发明实施例中的信息推荐方法的应用环境示意图。
具体实施方式
请参照附图中的图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所示例的本发明的具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。本发明的原理使用许多其它泛用性或特定目的运算、通信环境或组态来进行操作。
本案可应用于信息推荐方法或信息推荐系统中,比如:购物网站、视频网站、新闻网站、交友网站等。请参照以下实施例,实施例一、二侧重于用户的相似度的估算方法,实施例三侧重于信息推荐方法,实施例四、五侧重于用户的相似度的估算系统,实施例六侧重于信息推荐系统。可以理解的是:虽然各实施例的侧重不同,但其设计思想是一致的。且,在某个实施例中没有详述的部分,可以参见说明书全文的详细描述,不再赘述。
实施例一
请参阅图1,所示为用户的相似度的估算方法的流程示意图。所述用户的相似度的估算方法,通常执行于服务器端,用于为信息推荐方法或系统等提供数据支持。
所述用户的相似度的估算方法,用于通过对已知用户所关联或关注的项目进行分析,以估算用户之间的相似度,其中,所述项目包括但不限于:购物清单、电视列表、和/或运动消耗等。
所述用户的相似度的估算方法,包括:
在步骤S101中,获取用户属性,并根据用户属性将不同的用户分成多个用户组。
其中,所述用户属性,是指用户的状态,比如,年龄、性别、星座、学历、婚恋状态、和/或兴趣爱好等。以年龄为例,可以将10岁的用户作为一组,11岁的用户作为另一组,以此类推。
具体而言,本步骤还包括:
(1)统计每个用户组内的用户数;
(2)判断所述用户数是否超过用户阈值;以及
(3)若所述用户数超过所述用户阈值,则从所对应的用户组中随机抽取预设个数的用户作为样本用户,以减少计算量。
可以理解的是,在上述步骤(2)中,可以通过设置用户阈值来控制计算的数量。而在上述步骤(3)中,所述预设个数的选择,还包括如下步骤:分别抽取不同个数的样本用户,通常为等间距抽取,并按照如下方式计算用户的相似度,将数量与相似度分别作为横轴和纵轴画一条曲线,找到相似度不随数量变化的点,作为一个合理抽样数的经验值,以此作为预设个数,以保障抽样计算的准确性。
在步骤S102中,读取所述用户组中每一用户所对应的项目,以生成项目列表。
具体而言,本步骤包括:
(1)设置项目的个数阈值N;以及
(2)分别读取用户组中每一用户所对应的N个项目,以生成项目列表。
其中,对样本用户而言,本步骤具体为:根据所述用户组中的样本用户所对应的项目,生成抽样项目列表。
在步骤S103中,将所述用户组中的用户与项目列表中的项目处理成二分图(Bipartite Graph)。
请同时结合图7,本步骤包括:
(1)将用户组生成为第一集合,其中用户为第一集合中的点,如用户A~E共5个;
(2)将项目列表生成为第二集合,其中项目为第二集合中的点,如项目1~4共4个;
(3)将所述用户与所述项目的对应关系生成为边,所述边连接于所述第一集合中的点与所述第二集合中的点,如8条。
在步骤S104中,通过所述二分图估算用户的之间的相似度。
其中,相似度的区间为【0,1】,在本步骤中,主要通过余弦函数进行表达。而用户之间的相似度,以组内相似度为例,其估算方式如下:
(1)获取第一集合中点的个数,并计算出用户组中的用户对数;
(2)对所述第二集合中的点进行遍历,并根据第二集合中点的个数和各点的度,计算出总相关数,其中各点的度为该点所连接的边的个数;以及
(3)根据所述总相关数、和所述用户对数,估算出组内相似度。
举例而言,某一个年龄的用户为一组,比如年龄均为n的用户为一个用户组A,里面用户集合为UA(用户数为|UA|,群内一共有个用户对),A中用户的所有兴趣视频集合为TA,dA,i(其中i∈TA)为组A内对视频i感兴趣的用户数。
具体而言,以用户集合中用户数|UA|=5,兴趣视频结合中的视频数|TA|=4为例,
预设所述用户与视频的对应关系如图7所示,则dA,i相当于右边节点的度(degree)。假如dA,i
=3,表示组A中有3个用户喜欢视频i,说明在该组个用户对中有对用户都对视频i感兴趣。以此方法遍历图7二分图右边所有视
频,则可以计算组内总的相同兴趣数:
则组内平均相同兴趣数=总的相同兴趣数/总的用户对数:
S表示相似度(similarity),即我们只需要统计图7二分图右边节点的度就可以算出组内平均相似度。
在步骤S105中,对所述组内相似度和/或组间相似度进行可视化处理。
如图8所示的用户之间的相似度的可视化示意图,其中X、Y轴表示属性,如年龄age,Z轴表示相似度sim。这样,我们就可以更直观的挖掘到用户之间的相似度,有助于用户的特征分析。
本发明实施例提供的用户的相似度的估算方法,通过二分图对用户和项目进行分析,具有算法简单、准确率高的优点,而且可以适应海量数据的环境,对系统资源占用少、且估算速度快。
实施例二
请参阅图2,所示为用户的相似度的估算方法的流程示意图。所述用户的相似度的估算方法,通常执行于服务器端,用于为信息推荐方法或系统等提供数据支持。
所述用户的相似度的估算方法,包括:
在步骤S201中,获取用户属性,并根据用户属性将不同的用户分成多个用户组。
当用户组中用户数量超过用户阈值时,可以随机抽取预设个数的样本用户。
在步骤S202中,选择两个用户组。
在步骤S203中,对所述两个用户组所对应的项目列表进行合并,并去重,以生成新列表。
其中,对样本用户而言,本步骤具体为:根据所述用户组中的样本用户所对应的项目,生成抽样项目列表。
在步骤S204中,将用户组中的用户与项目列表中的项目处理成二分图。
具体而言,本步骤包括:
(1)将所述新列表分别与所选择的两个用户组生成第一组内二分图和第二组内二分图,其中以用户组为第三集合,以新列表为第四集合,以用户组中用户与新列表中项目的对应关系为边。
在步骤S205中,通过所述第一组内二分图和所述第二组内二分图,估算用户的组间相似度。
其中,相似度的区间为【0,1】,在本步骤中,主要通过余弦函数进行表达。而用户之间的相似度,以组间相似度为例,其估算方式如下:
(1)获取第一组内二分图中第三集合的点、和第二组内二分图中第三集合的点,并计算出所述两个用户组中的总的用户对数;
(2)对所述第四集合中的点进行遍历,并根据第四集合中点的个数和各点的度,计算出组间相关数;以及
(3)根据所述组间相关数、和所述总的用户对数,估算出组间相似度。
比如年龄均为20的用户为一个用户组A,年龄为40的用户为另一个用户组B。假如dA,i=3,表示用户组A中有3个用户喜欢视频i;dB,i=4,表示组A中有4个用户喜欢视频i,则用户组A和用户组B有3*4=12对用户对视频i感兴趣。遍历所有视频,则可以计算组间总的相同兴趣数:则组间平均相同兴趣数=总的相同兴趣数/总的用户对数:
其中:UA表示用户组A中用户的数量,UB表示用户组B中用户的数量,dA,表示项目i在用户组A中的度,即该兴趣的用户数或理解为二分图中该点所连接的边的个数,dB,i表示项目i在用户组B中的度。
即,我们只需要统计每个组的视频的组内喜欢人数就可以算出组间平均相似度。
本发明实施例提供的用户的相似度的估算方法,通过二分图对用户和项目进行分析,具有算法简单、准确率高的优点,而且可以适应海量数据的环境,对系统资源占用少、且估算速度快。
实施例三
请参阅图3,所示为信息推荐方法的示意图,基于本发明所提供的用户的相似度的估算方法或估算系统。
所述信息推荐方法,包括:
在步骤S301中,获取用户属性,并根据用户属性将不同的用户分成多个用户组。
在步骤S302中,读取所述用户组中每一用户所对应的项目,以生成项目列表。
在步骤S303中,将所述用户组中的用户与所述项目列表中的项目处理成二分图。
在步骤S304中,通过所述二分图估算用户的组内相似度;和/或通过所述二分图估算用户的组间相似度。
在步骤S305中,确定目标用户或目标用户组。
在步骤S306中,根据所述组内相似度或组间相似度,为所述目标用户或目标用户组匹配相似度高的已知用户或已知用户组。
在步骤S307中,读取所述已知用户或已知用户组所对应的项目列表,为所述目标用户或目标用户组生成推荐信息。
如图9的信息推荐方法的应用环境示意图。其中,已知用户组A中包括用户A1、A2、和A3,已知用户组B中包括用户B1、和B2。目标用户D可以是用户或用户组,此处以用户为例。项目列表LA中存储关联于已知用户组A的若干项目,项目列表LB中存储关联于已知用户组B的若干项目。若通过上述计算和对比,所述已知用户组A与目标用户D的用户相似度最高,则将项目列表L中的项目推荐给目标用户或用户组D。
实施例四
请参阅图4,所示为用户的相似度的估算系统的模块示意图。所述用户的相似度的估算系统,通常执行于服务器端,用于为信息推荐提供数据支持,比如:购物清单、电视列表、新闻推荐、和/或广告推送等。
所述用户的相似度的估算系统400,包括:分组模块41、列表模块42、二分图模块43、相似度模块44、以及可视化模块45。
分组模块41,用于获取用户属性,并根据用户属性将不同的用户分成多个用户组。
具体而言,所述分组模块41包括:
获取子模块411,用于获取用户属性,比如:年龄、星座、或学历等;
分组子模块412,用于根据用户属性将不同的用户分成多个用户组;
统计子模块413,用于统计每个用户组内的用户数;
判断子模块414,用于判断用户数是否超过用户阈值,其中,此处可以通过设置用户阈值来控制计算的数量,进而控制计算时间和反应效率;以及
抽样子模块415,用于当所述用户数超过所述用户阈值时,从所对应的用户组中随机抽取预设个数的用户作为样本用户,以减少计算量。
列表模块42,连接于所述分组模块41,用于读取所述用户组中每一用户所对应的项目,以生成项目列表。
具体而言,所述列表模块42包括:
阈值子模块421,用于设置项目的个数阈值N,其中,所述项目主要是指所述用户所关联或关注的内容或产品服务,所述项目包括但不限于:购物清单、电视列表、和/或运动消耗;以及
列表子模块422,用于分别读取用户组中每一用户所对应的N个项目,以生成项目列表。其中,对样本用户而言,还用于根据所述用户组中的样本用户所对应的项目,生成抽样项目列表。
二分图模块43,连接于所述列表模块42,用于将所述用户组中的用户与项目列表中的项目处理成二分图。
请同时结合图7,所述二分图模块43,包括:
第一集合子模块431,用于将用户组生成为第一集合,其中用户为所述第一集合中的点,如用户A~E共5个;
第二集合子模块432,用于将项目列表生成为第二集合,其中项目为所述第二集合中的点,如项目1~4共4个;
关联子模块433,用于将所述用户与所述项目的对应关系生成为边,所述边连接于所述第一集合431中的点与所述第二集合432中的点,如8条。
相似度模块44,连接于二分图模块43,用于通过二分图估算用户的之间的相似度。其中,相似度的区间为【0,1】,可通过余弦函数表达。
相似度模块44包括:组内子模块441和组间子模块442。此处以组内子模块441为例,包括:
用户对数子模块4411,用于获取第一集合中点的个数,并计算出用户组中的用户对数;
总相关数子模块4412,用于对所述第二集合中的点进行遍历,并根据第二集合中点的个数和各点的度,计算出总相关数;以及
组内相似度子模块4413,根据总相关数和用户对数估算出组内相似度。
可视化模块45,连接于所述相似度模块44,用于对所述组内相似度和/或组间相似度进行可视化处理。如图8所示的用户之间的相似度的可视化示意图,这样,我们就可以更直观的挖掘到用户之间的相似度,有助于用户的特征分析。
本发明实施例提供的用户的相似度的估算系统,通过二分图对用户和项目进行分析,具有算法简单、准确率高的优点,而且可以适应海量数据的环境,对系统资源占用少、且估算速度快。
实施例五
请参阅图5,所示为用户的相似度的估算系统的流程示意图。所述用户的相似度的估算系统,通常执行于服务器端,用于为信息推荐方法或系统等提供数据支持。
所述用户的相似度的估算系统500,包括:分组模块51、选组模块52、列表模块53、二分图模块54、以及相似度模块55。
分组模块51,用于获取用户属性,并根据用户属性将不同的用户分成多个用户组。
可以理解的是,当用户组中用户数量超过用户阈值时,可以随机抽取预设个数的样本用户。
选组模块52,连接于分组模块51,用于从所述多个用户组中选选择两个用户组。
列表模块53,连接于选组模块52,对所述两个用户组所对应的项目列表进行合并,并去重,以生成新列表。其中,对样本用户而言,还用于根据所述用户组中的样本用户所对应的项目,生成抽样项目列表。
二分图模块54,连接于列表模块53和选组模块52,将用户组中的用户与项目列表中的项目处理成二分图。
具体而言,所述二分图模块54用于将所述新列表分别与所选择的两个用户组生成第一组内二分图和第二组内二分图,其中以用户组为第三集合,以新列表为第四集合,以用户组中用户与新列表中项目的对应关系为边。
相似度模块55,连接于二分图模块54,用于通过二分图估算用户的之间的相似度。其中,相似度的区间为【0,1】,可通过余弦函数表达。
相似度模块55包括:组内子模块551和组间子模块552。此处以组间子模块552为例,包括:
总用户对数子模块5521,用于获取第一组内二分图中第三集合的点、和第二组内二分图中第三集合的点,并计算出所述两个用户组中的总的用户对数;
组间相关数子模块5522,用于对所述第四集合中的点进行遍历,并根据第四集合中点的个数和各点的度,计算出组间相关数;以及
组间相似度子模块5523,用于根据所述组间相关数、和所述总的用户对数,估算出组间相似度。
本发明实施例提供的用户的相似度的估算系统,通过二分图对用户和项目进行分析,具有算法简单、准确率高的优点,而且可以适应海量数据的环境,对系统资源占用少、且估算速度快。
实施例六
请参阅图6,所示为信息推荐系统的示意图,基于本发明所提供的用户的相似度的估算方法或系统。
所述信息推荐系统600,包括:
分组模块61,用于获取用户属性,并根据用户属性将不同的用户分成多个用户组。
列表模块62,连接于所述分组模块61,用于读取所述用户组中每一用户所对应的项目,以生成项目列表。
二分图模块63,连接于所述列表模块62,用于将所述用户组中的用户与所述项目列表中的项目处理成二分图。
相似度模块64,连接于所述二分图模块63,用于通过所述二分图估算用户的组内相似度;和/或通过所述二分图估算用户的组间相似度。
目标模块65,用于确定目标用户或目标用户组。
匹配模块66,连接于所述相似度模块64和目标模块65,用于根据所述组内相似度或组间相似度,为所述目标用户或目标用户组匹配相似度高的已知用户或已知用户组。
推荐模块67,连接于所述匹配模块66和所述列表模块62,用于读取所述已知用户或已知用户组所对应的项目列表,为所述目标用户或目标用户组生成推荐信息。
如图9的信息推荐方法的应用环境示意图。其中,已知用户组A中包括用户A1、A2、和A3,已知用户组B中包括用户B1、和B2。目标用户D可以是用户或用户组,此处以用户为例。项目列表LA中存储关联于已知用户组A的若干项目,项目列表LB中存储关联于已知用户组B的若干项目。若通过上述计算和对比,所述已知用户组A与目标用户D的用户相似度最高,则将项目列表L中的项目推荐给目标用户或用户组D。
复杂度验证:
若服务器中存在k个用户组,每组m个用户,每个用户n个兴趣,预设:计算2个兴趣长度为n的用户对相似度时间复杂度为1。
直接计算法:以计算用户组间相似度为例,一共k*(k+1)/2个用户组对,每对用户组下m*m个用户对;总时间复杂度:O(k^2*m^2);
本发明的估算方法及估算系统:只需要统计每个用户组中有多少人对某个视频有兴趣,统计需要时间为:O(k*m),其中,k*k对用户组复杂度为O(k*k),则总时间复杂度为:O(k*m+k*k),远小于直接计算法,尤其在k和m值较大的时候。
本发明实施例提供的用户的相似度的估算方法及估算系统属于同一构思,其具体实现过程详见说明书全文,此处不再赘述。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
Claims (15)
1.一种用户的相似度的估算方法,其特征在于,包括:
获取用户属性,并根据用户属性将不同的用户分成多个用户组;
统计每个用户组内的用户数;
判断所述用户数是否超过用户阈值;
若所述用户数超过所述用户阈值,则分别等间距抽取不同个数的样本用户,并将数量与相似度分别作为横轴和纵轴画线,获得相似度不随数量变化的点,并将相似度不随数量变化的点对应的数值设置为预设个数;
从所对应的用户组中随机抽取预设个数的用户作为样本用户;
读取所述用户组中的样本用户所对应的项目,以生成抽样项目列表;
将所述用户组中的用户与所述抽样项目列表中的项目处理成二分图;
通过所述二分图估算用户的组内相似度;和/或
通过所述二分图估算用户的组间相似度。
2.如权利要求1所述的估算方法,其特征在于,将所述户组中的用户与所述项目列表中的项目处理成二分图,包括:
将用户组生成为第一集合,其中用户为所述第一集合中的点;
将项目列表生成为第二集合,其中项目为所述第二集合中的点;
将所述用户与所述项目的对应关系生成为边,所述边连接于所述第一集合中的点与所述第二集合中的点;
通过所述二分图估算用户的组内相似度,具体为:通过所述二分图中第一集合与第二集合中的点、和边的个数,估算组内相似度;
通过所述二分图估算用户的组间相似度,具体为:选择两个用户组,并通过所述二分图中第一集合与第二集合中的点、和边的个数,估算组间相似度。
3.如权利要求2所述的估算方法,其特征在于,通过所述二分图中第一集合与第二集合中的点、和边的个数,估算组内相似度,包括:
获取第一集合中点的个数,并计算出用户组中的用户对数;
对所述第二集合中的点进行遍历,并根据第二集合中点的个数和各点的度,计算出总相关数;以及
根据所述总相关数、和所述用户对数,估算出组内相似度。
4.如权利要求1所述的估算方法,其特征在于,
获取用户属性,并根据用户属性将不同的用户分成多个用户组,之后还包括:
选择两个用户组;
读取所述用户组中每一用户所对应的项目,以生成项目列表,具体为:
对所述两个用户组所对应的项目列表进行合并,并去重,以生成新列表;
将所述用户组中的用户与所述项目列表中的项目处理成二分图,具体为:
将所述新列表分别与所选择的两个用户组生成第一组内二分图和第二组内二分图,其中以用户组为第三集合,以新列表为第四集合,以用户组中用户与新列表中项目的对应关系为边;以及
通过所述二分图估算用户的组间相似度,具体为:
通过所述第一组内二分图和所述第二组内二分图,估算用户的组间相似度。
5.如权利要求4所述的估算方法,其特征在于,通过所述第一组内二分图和所述第二组内二分图,估算用户的组间相似度,包括:
获取第一组内二分图中第三集合的点、和第二组内二分图中第三集合的点,并计算出所述两个用户组中的总的用户对数;
对所述第四集合中的点进行遍历,并根据第四集合中点的个数和各点的度,计算出组间相关数;以及
根据所述组间相关数、和所述总的用户对数,估算出组间相似度。
6.如权利要求1所述的估算方法,其特征在于,通过所述二分图估算用户的组内相似度;和/或通过所述二分图估算用户的组间相似度,之后还包括:
对所述组内相似度和/或组间相似度进行可视化处理。
7.如权利要求1所述的估算方法,其特征在于,通过所述二分图估算用户的组内相似度;和/或通过所述二分图估算用户的组间相似度,之后还包括:
确定目标用户或目标用户组;
根据所述组内相似度或组间相似度,为所述目标用户或目标用户组匹配相似度高的已知用户或已知用户组;以及
读取所述已知用户或已知用户组所对应的项目列表,为所述目标用户或目标用户组生成推荐信息。
8.一种用户的相似度的估算系统,其特征在于,包括:
分组模块,用于获取用户属性,并根据用户属性将不同的用户分成多个用户组;
统计模块,用于统计每个用户组内的用户数;
判断模块,用于判断所述用户数是否超过用户阈值;若所述用户数超过所述用户阈值,则分别等间距抽取不同个数的样本用户,并将数量与相似度分别作为横轴和纵轴画线,获得相似度不随数量变化的点,并将相似度不随数量变化的点对应的数值设置为预设个数;
抽取模块,用于从所对应的用户组中随机抽取预设个数的用户作为样本用户;
列表模块,用于读取所述用户组中的样本用户所对应的项目,以生成抽样项目列表;
二分图模块,用于将所述用户组中的用户与所述抽样项目列表中的项目处理成二分图;以及
相似度模块,用于通过所述二分图估算用户的组内相似度;和/或通过所述二分图估算用户的组间相似度。
9.如权利要求8所述的估算系统,其特征在于:
所述二分图模块,包括:
第一集合子模块,用于将用户组生成为第一集合,其中用户为所述第一集合中的点;
第二集合子模块,用于将项目列表生成为第二集合,其中项目为所述第二集合中的点;
关联子模块,用于以所述用户与所述项目的对应关系生成为边,所述边连接于所述第一集合中的点与所述第二集合中的点;
相似度模块,包括:
组内子模块,用于通过所述二分图中第一集合与第二集合中的点、和边的个数,估算组内相似度;和/或
组间子模块,用于选择两个用户组,并通过所述二分图中第一集合与第二集合中的点、和边的个数,估算组间相似度。
10.如权利要求9所述的估算系统,其特征在于,组内子模块,包括:
用户对数子模块,用于获取第一集合中点的个数,并计算出用户组中的用户对数;
总相关数子模块,用于对所述第二集合中的点进行遍历,并根据第二集合中点的个数和各点的度,计算出总相关数;以及
组内相似度子模块,用于根据所述总相关数、和所述用户对数,估算出组内相似度。
11.如权利要求9所述的估算系统,其特征在于,还包括:
选组模块,连接于所述分组模块之后,用于从所述多个用户组中选择两个用户组;
所述列表模块,连接于所述选组模块,还用于:对所述两个用户组所对应的项目列表进行合并,并去重,以生成新列表;
所述二分图模块,连接于所述列表模块,还用于:将所述新列表分别与所选择的两个用户组生成第一组内二分图和第二组内二分图,其中以用户组为第三集合,以新列表为第四集合,以用户组中用户与新列表中项目的对应关系为边;以及
所述相似度模块包括:组间子模块,用于:通过所述第一组内二分图和所述第二组内二分图,估算用户的组间相似度。
12.如权利要求11所述的估算系统,其特征在于,所述组间子模块,包括:
总用户对数子模块,用于获取第一组内二分图中第三集合的点、和第二组内二分图中第三集合的点,并计算出所述两个用户组中的总的用户对数;
组间相关数子模块,用于对所述第四集合中的点进行遍历,并根据第四集合中点的个数和各点的度,计算出组间相关数;以及
组间相似度子模块,用于根据所述组间相关数、和所述总的用户对数,估算出组间相似度。
13.如权利要求8所述的估算系统,其特征在于,还包括:
可视化模块,连接于所述相似度模块,用于对所述组内相似度和/或组间相似度进行可视化处理。
14.如权利要求9所述的估算系统,其特征在于,还包括:
目标模块,用于确定目标用户或目标用户组;
匹配模块,连接于所述相似度模块,用于根据所述组内相似度或组间相似度,为所述目标用户或目标用户组匹配相似度高的已知用户或已知用户组;以及
推荐模块,连接于所述匹配模块和所述列表模块,用于读取所述已知用户或已知用户组所对应的项目列表,为所述目标用户或用户组生成推荐信息。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的用户的相似度的估算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610041574.2A CN105718951B (zh) | 2016-01-21 | 2016-01-21 | 用户相似度的估算方法及估算系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610041574.2A CN105718951B (zh) | 2016-01-21 | 2016-01-21 | 用户相似度的估算方法及估算系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105718951A CN105718951A (zh) | 2016-06-29 |
CN105718951B true CN105718951B (zh) | 2020-05-12 |
Family
ID=56154784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610041574.2A Active CN105718951B (zh) | 2016-01-21 | 2016-01-21 | 用户相似度的估算方法及估算系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718951B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107657048B (zh) * | 2017-09-21 | 2020-12-04 | 麒麟合盛网络技术股份有限公司 | 用户识别方法及装置 |
CN107786943B (zh) * | 2017-11-15 | 2020-09-01 | 北京腾云天下科技有限公司 | 一种用户分群方法及计算设备 |
CN109815406B (zh) * | 2019-01-31 | 2022-12-13 | 腾讯科技(深圳)有限公司 | 一种数据处理、信息推荐方法及装置 |
US10460359B1 (en) | 2019-03-28 | 2019-10-29 | Coupang, Corp. | Computer-implemented method for arranging hyperlinks on a graphical user-interface |
CN110427558B (zh) * | 2019-08-01 | 2022-04-12 | 北京明略软件系统有限公司 | 资源处理事件的推送方法及装置 |
CN112380453B (zh) * | 2021-01-15 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 物品推荐方法、装置、存储介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116639A (zh) * | 2013-02-20 | 2013-05-22 | 新浪网技术(中国)有限公司 | 基于用户-物品二分图模型的物品推荐方法及系统 |
CN104050258A (zh) * | 2014-06-15 | 2014-09-17 | 中国传媒大学 | 一种基于兴趣群组的群体推荐方法 |
CN105045916A (zh) * | 2015-08-20 | 2015-11-11 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种手机游戏推荐系统及其推荐方法 |
-
2016
- 2016-01-21 CN CN201610041574.2A patent/CN105718951B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116639A (zh) * | 2013-02-20 | 2013-05-22 | 新浪网技术(中国)有限公司 | 基于用户-物品二分图模型的物品推荐方法及系统 |
CN104050258A (zh) * | 2014-06-15 | 2014-09-17 | 中国传媒大学 | 一种基于兴趣群组的群体推荐方法 |
CN105045916A (zh) * | 2015-08-20 | 2015-11-11 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种手机游戏推荐系统及其推荐方法 |
Non-Patent Citations (2)
Title |
---|
《基于社会化标签的个性化信息服务研究》;高连花;《中国优秀硕士学位论文全文数据库 信息科技辑》;20121231;第55页及图4.3 * |
《面向个性化推荐系统的二分网络协同过滤算法研究》;李霞等;《计算机应用研究》;20130731;第1947页及图1 * |
Also Published As
Publication number | Publication date |
---|---|
CN105718951A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718951B (zh) | 用户相似度的估算方法及估算系统 | |
US10726446B2 (en) | Method and apparatus for pushing information | |
Ahmed et al. | Movie recommendation system using clustering and pattern recognition network | |
US9367603B2 (en) | Systems and methods for behavioral segmentation of users in a social data network | |
US10423648B2 (en) | Method, system, and computer readable medium for interest tag recommendation | |
US20170140058A1 (en) | Systems and Methods for Identifying Influencers and Their Communities in a Social Data Network | |
US9183293B2 (en) | Systems and methods for scalable topic detection in social media | |
EP3047392A1 (en) | System and method for actively obtaining social data | |
US10387915B2 (en) | Digital magazine recommendations by topic | |
Rakesh et al. | Personalized recommendation of twitter lists using content and network information | |
US11176586B2 (en) | Data analysis method and system thereof | |
TW201839628A (zh) | 一種基於網路媒體資料流程發現並跟蹤熱點話題的方法、系統和裝置 | |
CN112711705B (zh) | 舆情数据处理方法、设备及存储介质 | |
CN106227881B (zh) | 一种信息处理方法及服务器 | |
WO2017087833A1 (en) | Measuring influence propagation within networks | |
US20170011296A1 (en) | Weighted similarity estimation in data streams with applications to collaborative filtering and viral marketing | |
US10255300B1 (en) | Automatically extracting profile feature attribute data from event data | |
Dev et al. | Recommendation system for big data applications based on set similarity of user preferences | |
CN106933878B (zh) | 一种信息处理方法及装置 | |
CN111400546A (zh) | 一种视频召回方法、视频推荐方法及装置 | |
CN110443264A (zh) | 一种聚类的方法和装置 | |
CN110110206B (zh) | 物品间关系挖掘及推荐方法、装置、计算设备、存储介质 | |
CN105260458A (zh) | 一种用于显示装置的视频推荐方法及显示装置 | |
CN109033352B (zh) | 一种增值业务推荐方法及装置 | |
KR102323424B1 (ko) | 관측평점과 유사도 그래프를 활용한 추천 알고리즘의 평점 예측 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |