一种好友推荐方法与流程

文档序号:11134142阅读:590来源:国知局
一种好友推荐方法与制造工艺

本发明涉及互联网信息技术领域,特别涉及一种好友推荐方法。



背景技术:

社交网络随着Intenet用户的普及已经逐渐替代传统的信息获取渠道。例如Facebook,微博等。大家通过发消息和状态,发布自己所要表达的信息。当然,个人的精力是有限的,不可能通过自己去寻找,然后手动地关注所有可能感兴趣的内容或结点。所以互联网信息服务方需要研究如何去有效地向用户推荐他们会感兴趣的内容或结点。

现实生活中有很多人喜欢运动,例如慢走,跑步,骑行。但是也许他的身边没有合适他的朋友,即使有相同兴趣,例如都喜欢慢走,但是也可能因为运动时间和位置的冲突而无法一起相约运动。也有可能虽然运动时间和位置吻合,但是由于运动强度不同,一个人每天能走10万步以上,而另一个人每天只能走1万步,这也是不合适的,两人也无法一起相约运动。

因此,如何根据相似的运动规律有效推荐好友,成为需要解决的问题。



技术实现要素:

本发明的目的在于提供了一种好友推荐方法,能够基于相似的运动规律有效推荐好友。

本发明实施例提供了一种好友推荐方法,该方法包括:

根据网络中预定数量个用户的运动时间向量、运动空间向量以及运动形态向量,对目标用户第一次聚类,确定目标用户所在的至少一个初始待推荐好友列表;

根据初始待推荐好友列表中每个用户的运动强度向量和运动效果向量,对目标用户第二次聚类,确定目标用户所在的最终待推荐好友列表。

对目标用户第二次聚类之后,该方法还包括:

根据运动效果向量对所述最终待推荐好友列表中的用户进行排序。

所述根据运动强度向量和运动效果向量对所述最终待推荐好友列表中的用户进行排序的方法包括:

对所述最终待推荐好友列表中的用户按运动效果向量计算到目标用户的距离,距离目标用户越近,则该用户在最终待推荐好友列表中的排序越靠前。

所述根据网络中预定数量个用户的运动时间向量、运动空间向量以及运动形态向量,对目标用户第一次聚类,确定目标用户所在的至少一个初始待推荐好友列表,包括:

计算目标用户的运动时间向量、运动空间向量以及运动形态向量与每个用户的相似度,将相似度大于第一预设阈值的用户以及该目标用户加入到同一初始待推荐好友列表。

所述根据初始待推荐好友列表中每个用户的运动强度向量和运动效果向量,对目标用户第二次聚类,确定目标用户所在的最终待推荐好友列表,包括:

计算目标用户的运动强度向量和运动效果向量与初始待推荐好友列表中每个用户的相似度,将相似度大于第二预设阈值的用户以及该目标用户加入到同一最终待推荐好友列表。

当网络中预定数量个用户各自属于不同社区,则,

根据网络中预定数量个用户的运动时间向量、运动空间向量以及运动形态向量,对目标用户第一次聚类,确定目标用户所在的至少一个初始待推荐好友列表,包括:

对于其中任意一个社区,计算目标用户的运动时间向量、运动空间向量以及运动形态向量与该社区中的每个用户的相似度;

计算目标用户与该社区中的每个用户的相似度的平均值;

将相似度平均值大于第三预设阈值的目标用户加入该社区,形成一个初始待推荐好友列表。

当初始待推荐好友列表为多个时,

所述根据初始待推荐好友列表中每个用户的运动强度向量和运动效果向量,对目标用户第二次聚类,确定目标用户所在的最终待推荐好友列表,包括:

计算目标用户的运动强度向量和运动效果向量与每个初始待推荐好友列表中每个用户的相似度,将相似度大于第四预设阈值的用户以及该目标用户加入到同一最终待推荐好友列表。

所述运动形态向量包括散步、慢跑、骑行;

所述运动强度向量包括目标步数、达标率;

所述运动效果向量包括体脂率、身体年龄、身体质量指数。

本发明的有益效果在于,第一次筛选相似运动时间,运动空间,以及运动形态的用户形成初始待推荐好友列表,进一步第二次筛选相似运动强度和运动效果的用户形成最终待推荐好友列表。通过两次筛选,使具有相似运动规律的用户有机会聚在一起,成为相约一起运动的好朋友。

附图说明

图1为本发明一种好友推荐方法的流程示意图。

图2为目标用户运动轨迹范围示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。

本发明把每个用户ui对应一个n维向量,每一维对应于一个运动向量,具体地,本发明中定义每个ui对应一个五维向量:(Vi,1,Vi,2,Vi,3,Vi,4,Vi,5,)。Vi,1表示运动时间向量,Vi,2表示运动空间向量,Vi,3表示运动形态向量,Vi,4表示运动强度向量,Vi,5表示运动效果向量。第一次筛选相似运动时间,运动空间,以及运动形态的用户形成初始待推荐好友列表,进一步第二次筛选相似运动强度和运动效果的用户形成最终待推荐好友列表。

本发明提供的一种好友推荐方法的流程示意图如图1所示,该方法包括:

步骤11、根据网络中预定数量个用户的运动时间向量、运动空间向量以及运动形态向量,对目标用户第一次聚类,确定目标用户所在的至少一个初始待推荐好友列表;

步骤12、根据初始待推荐好友列表中每个用户的运动强度向量和运动效果向量,对目标用户第二次聚类,确定目标用户所在的最终待推荐好友列表。

其中,所述运动形态向量包含但不限于散步、慢跑、骑行;所述运动强度向量包含但不限于目标步数、达标率;所述运动效果向量包含但不限于体脂率、身体年龄、身体质量指数。不同的运动向量可以根据具体运动进行相应的设定,不限于上述内容。

为了向目标用户从最终待推荐好友列表中推荐运动效果好的榜样用户,本发明在步骤12对目标用户第二次聚类之后,该方法还包括:根据运动效果向量对所述最终待推荐好友列表中的用户进行排序。具体实现为:对所述最终待推荐好友列表中的用户按运动效果向量计算到目标用户的距离,距离目标用户越近,则该用户在最终待推荐好友列表中的排序越靠前。

一种可以实现的实施例中,所述根据网络中预定数量个用户的运动时间向量、运动空间向量以及运动形态向量,对目标用户第一次聚类,确定目标用户所在的至少一个初始待推荐好友列表,包括:计算目标用户的运动时间向量、运动空间向量以及运动形态向量与每个用户的相似度,将相似度大于第一预设阈值的用户以及该目标用户加入到同一初始待推荐好友列表。

所述根据初始待推荐好友列表中每个用户的运动强度向量和运动效果向量,对目标用户第二次聚类,确定目标用户所在的最终待推荐好友列表,包括:计算目标用户的运动强度向量和运动效果向量与初始待推荐好友列表中每个用户的相似度,将相似度大于第二预设阈值的用户以及该目标用户加入到同一最终待推荐好友列表。

一种可以实现的实施例中,当网络中预定数量个用户各自属于不同社区,则,根据网络中预定数量个用户的运动时间向量、运动空间向量以及运动形态向量,对目标用户第一次聚类,确定目标用户所在的至少一个初始待推荐好友列表,包括:对于其中任意一个社区,计算目标用户的运动时间向量、运动空间向量以及运动形态向量与该社区中的每个用户的相似度;计算目标用户与该社区中的每个用户的相似度的平均值;将相似度平均值大于第三预设阈值的目标用户加入该社区,形成一个初始待推荐好友列表。

当初始待推荐好友列表为多个时,所述根据初始待推荐好友列表中每个用户的运动强度向量和运动效果向量,对目标用户第二次聚类,确定目标用户所在的最终待推荐好友列表,包括:计算目标用户的运动强度向量和运动效果向量与每个初始待推荐好友列表中每个用户的相似度,将相似度大于第四预设阈值的用户以及该目标用户加入到同一最终待推荐好友列表。

至此,完成了本发明的好友推荐方法,最终待推荐好友列表和目标用户不仅有相似的运动空间、运动时间以及运动形态,而且有相似的运动强度和运动效果,将用户在现实生活中认识的可能性达到最大,从而有效达到好友推荐的效果。

为清楚说明本发明,下面列举具体场景进行详细阐述。

实施例一

1)假设网络中有100个会员用户,目标用户作为新加入的会员,要形成最终待推荐好友列表,则,需要采集每个用户的运动数据,得到每个用户的多个运动向量。

具体实现可以为:以1个月的时间来统计,

采集每个用户的运动空间数据,可以是每个用户的运动轨迹范围。得到每个用户这个月每天的运动轨迹范围。

如果用1、2、3、4、5、6分别对应表示运动时间(6,8)点,(8,12)点,(12,14)点,(14,17)点,(18,20)点,(20,24)点,则,采集每个用户的运动时间数据,得到每个用户这个月落入每个时间段的次数。

如果用1、2、3分别对应表示运动形态散步、慢跑和骑行,则,采集每个用户的运动形态数据,得到每个用户这个月进行不同运动形态的次数。

对于目标用户,可以通过预设目标用户的各运动向量,在目标用户一加入网络时,就确定该目标用户所在最终待推荐好友列表;也可以对目标用户进行一段时间的运动数据采集,根据采集的运动数据,决定该目标用户所在最终待推荐好友列表。

本实施例中,目标用户运动轨迹范围如图2所示。运动时间向量为[(1,7),(2,2),(3,0),(4,0),(5,3),(6,1)],表示在同一个月内,(6,8)点的运动次数为7次,(8,12)点的运动次数为2次,(12,14)点的运动次数为0次,(14,17)点的运动次数为0次,(18,20)点的运动次数为3次,(20,24)点的运动次数为1次。运动形态向量为[(1,20),(2,5),(3,0)],表示在同一个月内,散步的次数为20次,慢跑的次数为5次,骑行的次数为0次。

对100个会员用户中任意三个用户的运动向量进行举例:

用户1:运动空间向量用这个月落入目标用户运动轨迹范围的次数来表示,同一天落入目标用户运动轨迹范围的次数只统计一次。本实施例中用户1的运动空间向量为15,表示在同一个月内,用户1与目标用户运动轨迹范围重叠的次数为15。

运动时间向量为[(1,10),(2,0),(3,0),(4,0),(5,3),(6,1)],表示在同一个月内,(6,8)点的运动次数为10次,(8,12)点的运动次数为0次,(12,14)点的运动次数为0次,(14,17)点的运动次数为0次,(18,20)点的运动次数为3次,(20,24)点的运动次数为1次。

运动形态向量为[(1,19),(2,6),(3,0)],表示在同一个月内,散步的次数为19次,慢跑的次数为6次,骑行的次数为0次。

用户2:运动空间向量用这个月落入目标用户运动轨迹范围的次数来表示,同一天落入目标用户运动轨迹范围的次数只统计一次。本实施例中用户2的运动空间向量为1,表示在同一个月内,用户2与目标用户运动轨迹范围重叠的次数为1。

运动时间向量为[(1,8),(2,0),(3,0),(4,0),(5,1),(6,0)],表示在同一个月内,(6,8)点的运动次数为8次,(8,12)点的运动次数为0次,(12,14)点的运动次数为0次,(14,17)点的运动次数为0次,(18,20)点的运动次数为1次,(20,24)点的运动次数为0次。

运动形态向量为[(1,10),(2,5),(3,0)],表示在同一个月内,散步的次数为10次,慢跑的次数为5次,骑行的次数为0次。

用户3:运动空间向量用这个月落入目标用户运动轨迹范围的次数来表示,同一天落入目标用户运动轨迹范围的次数只统计一次。本实施例中用户3的运动空间向量为0,表示在同一个月内,用户3与目标用户运动轨迹范围重叠的次数为0。

运动时间向量为[(1,0),(2,0),(3,0),(4,0),(5,3),(6,10)],表示在同一个月内,(6,8)点的运动次数为0次,(8,12)点的运动次数为0次,(12,14)点的运动次数为0次,(14,17)点的运动次数为0次,(18,20)点的运动次数为3次,(20,24)点的运动次数为10次。

运动形态向量为[(1,0),(2,5),(3,10)],表示在同一个月内,散步的次数为0次,慢跑的次数为5次,骑行的次数为10次。

Φ1为预先设定的第一相似度阈值,如果目标用户的运动时间向量、运动空间向量以及运动形态向量与网络中任意用户的相似度大于Φ1,则确定目标用户与该用户具有高相似度;反之,如果小于Φ1,则确定目标用户与该用户具有低相似度。

本发明中计算目标用户的运动时间向量、运动空间向量以及运动形态向量与用户1的相似度,得到的相似度大于Φ1,则确定目标用户与用户1具有高相似度;计算目标用户的运动时间向量、运动空间向量以及运动形态向量与用户2的相似度,得到的相似度小于Φ1,则确定目标用户与用户2具有低相似度;计算目标用户的运动时间向量、运动空间向量以及运动形态向量与用户3的相似度,得到的相似度小于Φ1,则确定目标用户与用户3具有低相似度;依此类推,遍历100个会员用户,计算目标用户的运动时间向量、运动空间向量以及运动形态向量与每个用户的相似度,将目标用户,以及包括用户1在内的,与目标用户具有高相似度的用户都加入到同一初始待推荐好友列表。假设该初始待推荐好友列表中包括目标用户在内,一共有20个好友。

2)采集每个用户的运动强度数据,包括每天的目标步数;每个月完成目标的天数,即达标率等。

采集每个用户的运动效果数据,包括体脂率、身体年龄、身体质量指数等。

对于由具体数值表示的数据,比如运动强度中的每天目标步数、达标率,运动效果中的体脂率、身体年龄、身体质量指数等,首先进行归一化,然后再转化为-1、0和1表示。

对于运动强度,可用-1表示弱,0表示一般,1表示强。

对于体脂率,将大于22%的体脂率用-1表示,将10%~15%的体脂率用0表示,将小于15%的体脂率用1表示。

对于身体年龄,与运动强度有关,将与实际年龄相比大于5岁的用-1表示,将与实际年龄相比大于1~5岁的0表示,将与实际年龄相比小于5岁的用1表示。

对于身体质量指数,可以由体脂率和体重得到,将大于30的指数用-1表示肥胖,将小于19,或者在25~30范围内的指数用0表示偏瘦或偏胖,将在19~25范围内的指数用1表示正常范围。

综上,通过量化每个用户的运动强度数据和运动效果数据,从而获得每个用户的运动强度向量和运动效果向量。

本实施例中,目标用户运动强度向量为1,表示运动强度强。目标用户运动效果向量集合为[1,0,1],表示目标用户体脂率小于15%,身体年龄与实际年龄相比大于1~5岁,身体质量指数在正常范围。

初始待推荐好友列表中,除目标用户外,19个用户的运动强度向量和运动效果向量如表1所示。

Φ2为预先设定的第二相似度阈值,如果目标用户的运动强度向量、运动效果向量与初始待推荐好友列表中任意用户的相似度大于Φ2,则确定目标用户与该用户具有高相似度;反之,如果小于Φ2,则确定目标用户与该用户具有低相似度。

表1

由表1可以看出,初始待推荐好友列表中有11个用户与目标用户的相似度高,因此,将该11个用户和目标用户加入到最终待推荐好友列表。这11个用户和目标用户不仅有相似的运动空间、运动时间以及运动形态,而且有相似的运动强度和运动效果。

需要说明的是,本发明实施例中对于各运动向量的具体设定可以灵活处理,不限于上述情形,只要能够计算目标用户与各用户的相似度,以确定初始待推荐好友列表以及最终待推荐好友列表,都在本发明的保护范围内。各运动向量可以由智能手环、体脂器等硬件设备统计得到。

3)对最终待推荐好友列表中的11个用户按运动效果向量计算到目标用户的距离,距离目标用户越近,则该用户在最终待推荐好友列表中的排序越靠前。由此,可以寻找到最终待推荐好友列表中运动效果较好的用户为目标用户起到运动榜样的作用。

实施例二

假设网络中有100个会员用户,且,每个会员用户已经各自属于不同社区,目标用户作为新加入的会员,要形成最终待推荐好友列表,则,需要采集每个用户的运动数据,得到每个用户的多个运动向量。

1)对于其中任意一个社区,计算目标用户的运动时间向量、运动空间向量以及运动形态向量与该社区中的每个用户的相似度;

2)计算目标用户与该社区中的每个用户的相似度的平均值;

3)Φ3为预先设定的第三相似度平均值阈值,如果目标用户的运动时间向量、运动空间向量以及运动形态向量与该社区中每个用户的相似度平均值大于Φ3,则确定目标用户与该社区具有高相似度,目标用户可以加入该社区;反之,如果小于Φ3,则确定目标用户与该社区具有低相似度。

4)由于社区有多个,由此计算出的目标用户可以加入的社区也可以有多个,即,目标用户属于重叠社区,这些社区中的用户与目标用户有相似的运动时间、运动空间以及运动形态。将与目标用户具有高相似度的每个社区作为一个初始待推荐好友列表,如此,就可以形成多个初始待推荐好友列表。

5)计算目标用户的运动强度向量和运动效果向量与每个初始待推荐好友列表中每个用户的相似度。

6)Φ4为预先设定的第四相似度阈值,如果目标用户的运动强度向量、运动效果向量与初始待推荐好友列表中任意用户的相似度大于Φ4,则确定目标用户与该用户具有高相似度;反之,如果小于Φ4,则确定目标用户与该用户具有低相似度。

7)将相似度大于Φ4的用户以及该目标用户加入到同一最终待推荐好友列表。

至此,完成了本实施例的好友推荐方法。其中,阈值的数值可以根据具体应用灵活设置。

综上,本发明的有益效果是,

一、相似的运动时间,运动轨迹,以及运动形态能够使推荐的好友经常聚在一起,而相似的运动强度和运动效果使推荐得到的好友更能够成为好朋友,进而相约一起运动。

二、通过将最终待推荐好友列表中的用户进行排序,推荐出好的有运动效果的朋友可以更好地成为榜样。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1