账号推荐方法及装置转让专利

申请号 : CN201610234497.2

文献号 : CN107301181B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 任杰

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明公开了一种账号推荐方法及装置。其中,该方法包括:获取与第一账号具有直接或者间接关联关系的多个关联账号;从多个关联账号中选择目标账号,其中,目标账号与多个关联账号中的部分或者全部账号具有直接关联关系,目标账号与第一账号具有间接关联关系,并且,多个关联账号中与目标账号具有直接关联关系的账号的数量满足第一预设数量;向第一账号推荐目标账号。本发明解决了现有技术中为用户推荐的好友不准确的技术问题。

权利要求 :

1.一种账号推荐方法,其特征在于,包括:

获取与第一账号具有直接或者间接关联关系的多个关联账号;

从所述多个关联账号中选择目标账号,其中,所述目标账号与所述多个关联账号中的部分或者全部账号具有直接关联关系,所述目标账号与所述第一账号具有间接关联关系,并且,所述多个关联账号中与所述目标账号具有直接关联关系的账号的数量满足第一预设数量;

向所述第一账号推荐所述目标账号;

获取与第一账号具有直接或者间接关联关系的多个关联账号包括:获取用于登录第一平台,且与所述第一账号具有直接或者间接关联关系的多个关联账号,其中,所述第一账号用于登录第二平台,所述第二平台与所述第一平台不同;

从多个所述关联账号中选择目标账号包括:采用N-gram模型从多个所述关联账号中选择目标账号。

2.根据权利要求1所述的方法,其特征在于,

获取与第一账号具有直接或者间接关联关系的多个关联账号包括:获取所述第一账号的多个第一关系链,其中,所述第一关系链包括多个第一关联账号,并且以所述第一账号为起始的账号,所述多个第一关联账号中的每个第一关联账号具有至多两个与所述第一关联账号具有直接关联关系的第一关联账号;

从所述多个关联账号中选择目标账号包括:根据每个所述第一关联账号在多个所述第一关系链中出现的次数选择所述第一关联账号中的账号,并将选择的账号作为所述目标账号,其中,所述选择的账号的数量满足所述第一预设数量。

3.根据权利要求1所述的方法,其特征在于,

获取与第一账号具有直接或者间接关联关系的多个关联账号包括:获取所述第一账号的多条第二关系链,其中,所述第二关系链包括多个第二关联账号,并且以所述第一账号为起始的账号,所述多条第二关系链中每个所述第二关系链包括的第二关联账号的数量小于或者等于第二预设数量,从所述多个关联账号中选择目标账号包括:根据每个所述第二关联账号在多个所述第二关系链中出现的次数选择所述第二关联账号中的账号,并将选择的账号作为所述目标账号,其中,所述选择的账号的数量满足所述第一预设数量。

4.根据权利要求3所述的方法,其特征在于,根据每个所述第二关联账号在多个所述第二关系链中出现的次数选择所述第二关联账号中的账号,并将选择的账号作为所述目标账号包括:获取每个所述第二关系链中具有直接关联关系的多个关联账号组,其中,每个所述关联账号组中包括两个具有直接关联关系的关联账号;

获取每个关联账号在多个所述第二关系链中出现的次数;

按照每个关联账号在多个所述第二关系链中出现的次数由大到小的顺序选择所述第一预设数量的账号作为所述目标账号。

5.根据权利要求1所述的方法,其特征在于,在向所述第一账号推荐所述目标账号之后,所述方法还包括:向第二账号推荐所述目标账号,其中,与所述第二账号具有直接关联关系的部分或者全部账号和与所述目标账号所对应的多个关联账号相同。

6.一种账号推荐装置,其特征在于,包括:

获取单元,用于获取与第一账号具有直接或者间接关联关系的多个关联账号;

选择单元,用于从所述多个关联账号中选择目标账号,其中,所述目标账号与所述多个关联账号中的部分或者全部账号具有直接关联关系,所述目标账号与所述第一账号具有间接关联关系,并且,所述多个关联账号中与所述目标账号具有直接关联关系的账号的数量满足第一预设数量;

第一推荐单元,用于向所述第一账号推荐所述目标账号;

所述获取单元包括:第三获取模块,用于获取用于登录第一平台,且与所述第一账号具有直接或者间接关联关系的多个关联账号,其中,所述第一账号用于登录第二平台,所述第二平台与所述第一平台不同;

所述选择单元包括:第三选择模块,用于采用N-gram模型从多个所述关联账号中选择目标账号。

7.根据权利要求6所述的装置,其特征在于,

所述获取单元包括:第一获取模块,用于获取所述第一账号的多个第一关系链,其中,所述第一关系链包括多个第一关联账号,并且以所述第一账号为起始的账号,所述多个第一关联账号中的每个第一关联账号具有至多两个与所述第一关联账号具有直接关联关系的第一关联账号;

所述选择单元包括:第一选择模块,用于根据每个所述第一关联账号在多个所述第一关系链中出现的次数选择所述第一关联账号中的账号,并将选择的账号作为所述目标账号,其中,所述选择的账号的数量满足所述第一预设数量。

8.根据权利要求6所述的装置,其特征在于,

所述获取单元包括:第二获取模块,用于获取所述第一账号的多条第二关系链,其中,所述第二关系链包括多个第二关联账号,并且以所述第一账号为起始的账号,所述多条第二关系链中每个所述第二关系链包括的第二关联账号的数量小于或者等于第二预设数量,所述选择单元包括:第二选择模块,用于根据每个所述第二关联账号在多个所述第二关系链中出现的次数选择所述第二关联账号中的账号,并将选择的账号作为所述目标账号,其中,所述选择的账号的数量满足所述第一预设数量。

9.根据权利要求8所述的装置,其特征在于,所述第二选择模块包括:

第一获取子模块,用于获取每个所述第二关系链中具有直接关联关系的多个关联账号组,其中,每个所述关联账号组中包括两个具有直接关联关系的关联账号;

第二获取子模块,用于获取每个关联账号在多个所述第二关系链中出现的次数;

选择子模块,用于按照每个关联账号在多个所述第二关系链中出现的次数由大到小的顺序选择所述第一预设数量的账号作为所述目标账号。

10.根据权利要求6所述的装置,其特征在于,所述装置还包括:

第二推荐单元,用于在向所述第一账号推荐所述目标账号之后,向第二账号推荐所述目标账号,其中,与所述第二账号具有直接关联关系的部分或者全部账号和与所述目标账号所对应的多个关联账号相同。

说明书 :

账号推荐方法及装置

技术领域

[0001] 本发明涉及数据处理领域,具体而言,涉及一种账号推荐方法及装置。

背景技术

[0002] 近些年来,伴随着各大社交工具(即时通讯应用)的飞速发展,用户可以通过即时通讯应用与好友进行在线交流,还可以通过用户自身的即时通讯应用好友添加新的好友。例如,现有添加好友的方式中,QQ或者微信客户端可以用户自身好友B的好友A推荐给用户,例如,可以提示用户与上述好友A具有一个共同好友B。
[0003] 采用上述为用户推荐好友的方式,虽然可以为用户推荐新的好友,但是,为用户的多个新的好友中,推荐的大多数好友与用户其实并不认识,因此,通过上述为用户推荐新的好友的方法,为用户带了一定的烦恼。例如,用户为户外运动爱好者,希望寻找一个具有同样爱好的好友,但是,可能由于该用户的朋友圈较为复杂,因此,为用户推荐的好友中大多数并非是与用户具有相同爱好的用户。
[0004] 针对上述的问题,目前尚未提出有效的解决方案。

发明内容

[0005] 本发明实施例提供了一种账号推荐方法及装置,以至少解决现有技术中为用户推荐的好友不准确的技术问题。
[0006] 根据本发明实施例的一个方面,提供了一种账号推荐方法,包括:获取与第一账号具有直接或者间接关联关系的多个关联账号;从所述多个关联账号中选择目标账号,其中,所述目标账号与所述多个关联账号中的部分或者全部账号具有直接关联关系,所述目标账号与所述第一账号具有间接关联关系,并且,所述多个关联账号中与所述目标账号具有直接关联关系的账号的数量满足第一预设数量;向所述第一账号推荐所述目标账号。
[0007] 根据本发明实施例的另一方面,还提供了一种账号推荐装置,包括:获取单元,用于获取与第一账号具有直接或者间接关联关系的多个关联账号;选择单元,用于从所述多个关联账号中选择目标账号,其中,所述目标账号与所述多个关联账号中的部分或者全部账号具有直接关联关系,所述目标账号与所述第一账号具有间接关联关系,并且,所述多个关联账号中与所述目标账号具有直接关联关系的账号的数量满足第一预设数量;第一推荐单元,用于向所述第一账号推荐所述目标账号。
[0008] 在本发明实施例中,采用获取与第一账号具有直接或者间接关联关系的多个关联账号;从多个关联账号中选择目标账号,其中,目标账号与多个关联账号中的部分或者全部账号具有直接关联关系,目标账号与第一账号具有间接关联关系,并且,多个关联账号中与目标账号具有直接关联关系的账号的数量满足第一预设数量;向第一账号推荐目标账号的方式,根据第一账号出现之后多个关联账号中与第一账号具有间接关联关系的账号出现的概率来选择目标账号,相对于现有技术中基于各个账号之间的概率来为第一账号推荐账号的方法,达到了为用户精确推荐好友的目的,从而实现了提高好友推荐的精确度的技术效果,进而解决了现有技术中为用户推荐的好友不准确的技术问题。

附图说明

[0009] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0010] 图1是根据本发明实施例的硬件结构的架构图;
[0011] 图2是根据本发明实施例的一种账号推荐方法的流程图;
[0012] 图3是根据本发明实施例的一种可选的多个账号之间的关系示意图;
[0013] 图4是根据本发明实施例的另一种可选的多个账号之间的关系示意图;
[0014] 图5是根据本发明实施例的一种账号推荐装置的示意图;以及
[0015] 图6是根据本发明实施例的终端的硬件结构图。

具体实施方式

[0016] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0017] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0018] 实施例1
[0019] 根据本发明实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0020] 根据本发明实施例,提供了一种账号推荐方法。
[0021] 可选地,在本实施例中,上述的账号推荐方法可以应用于如图1所示的服务器104和终端102所构成的硬件环境中。图1是根据本发明实施例的硬件环境的示意图,如图1所示,服务器104通过网络与终端102进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端102并不限定于计算机、手机、平板电脑等。
[0022] 图2是根据本发明实施例的一种账号推荐方法的流程图,以下结合图2对本发明实施例所提供的账号推荐方法做具体介绍,如图2所示,该账号推荐方法主要包括如下步骤S202至步骤S206:
[0023] 步骤S202,获取与第一账号具有直接或者间接关联关系的多个关联账号。
[0024] 在本发明下述实施例中,上述账号可以是即时通讯应用的账号(如QQ账号,微信账号),手机号码,还可以是其他社交平台的账号。假设,第一账号为QQ账号,则与第一账号具有直接或者间接关联关系的多个关联账号可以是跨平台的微信账号,还可以是相同平台的QQ号码。
[0025] 例如,第一账号和第一账号的多个关联账号均为QQ账号。如图3所示,第一账号可以是账号A,账号A的具有直接关联关系的QQ好友是账号B和账号C,账号B的QQ好友是账号B1和账号B2,其中,账号B1和账号B2均不是账号A的QQ好友,账号C的QQ好友是账号C1和账号B1,则账号B、账号C、账号B1、账号B2和账号C1为第一账号的多个关联账号。
[0026] 步骤S204,从多个关联账号中选择目标账号,其中,目标账号与多个关联账号中的部分或者全部账号具有直接关联关系,目标账号与第一账号具有间接关联关系,并且,多个关联账号中与目标账号具有直接关联关系的账号的数量满足第一预设数量。
[0027] 如图3所示,账号A(即,第一账号)的多个关联账号为账号B、账号C、账号B1、账号B2和账号C1,那么目标账号为上述账号B、账号C、账号B1、账号B2和账号C1中一个账号或者多个账号。由于目标账号满足的条件是:与账号B、账号C、账号B1、账号B2和账号C1中的部分或者全部账号具有直接关联关系,并且目标账号与账号A具有间接关联关系。因此,目标账号只能是账号B1、账号B2和账号C1中的一个或者多个账号,其中,选择的目标账号的数量可以根据第一预设数量的取值来确定。例如,第一预设数量的取值为1,表明在上述账号B1、账号B2和账号C1中选取一个账号为目标账号,此时,由于账号A出现之后,出现账号B1的概率高于账号A出现之后出现账号B2和账号C的概率,因此,账号B1选取为目标账号。
[0028] 步骤S206,向第一账号推荐目标账号。
[0029] 确定目标账号为账号B1之后,可以将账号B1推荐给账号A,因为,账号A出现之后出现账号B1的概率高于账号A出现之后出现账号B2和账号C的概率,也即,账号B1与账号A为好友的可能性高于账号B2和账号C与账号A为好友的可能性,或者,可以理解为账号B1所属的用户与账号A所属的用户可能是相识的,然而,账号B2和账号C所属的用户与账号A所属的用户可能是不相识的。因此,采用上述方法可以提高为用户(即第一账号)推荐好友(目标账号)的精确度,避免了为用户推荐的好友中与用户为好友的可能性不高的现象发生。
[0030] 在本发明实施例中,根据第一账号出现之后多个关联账号中与第一账号具有间接关联关系的账号出现的概率来选择目标账号,相对于现有技术中基于各个账号之间的概率来为第一账号推荐账号的方法,达到了为用户精确推荐好友的目的,从而实现了提高好友推荐的精确度的技术效果,进而解决了现有技术中为用户推荐的好友不准确的技术问题。
[0031] 可选地,获取与第一账号具有直接或者间接关联关系的多个关联账号包括步骤:获取第一账号的多个第一关系链,其中,第一关系链包括多个第一关联账号,并且以第一账号为起始的账号,多个第一关联账号中的每个第一关联账号具有至多两个与第一关联账号具有直接关联关系的第一关联账号。
[0032] 如图3所示,第一账号为账号A,与账号A具有直接关联关系的账号为账号B和账号C,与账号B具有直接关联关系的账号为账号B1、账号B2,并且与账号C具有直接关联关系的账号为账号B1和账号C1。其中,账号B、账号C、账号B1、账号B2,与账号C1为账号A的多个第一关联账号。
[0033] 此时,账号A的多个第一关系链为关系链1:账号A→账号B→账号B1→账号C→账号C1,关系链2:账号A→账号B→账号B2,关系链3:账号A→账号C→账号B1→账号B,以及关系链4:账号A→账号C→账号C1。其中,上述关系链1至关系链4中每个关系链均包括多个第一关联账号;并且关系链1至关系链4中的起始账号均为账号A;以及多个第一关联账号中的每个第一关联账号具有至多两个与第一关联账号具有直接关联关系的第一关联账号,例如,关系链1中与账号B具有直接关联关系的账号为账号A和账号B1,与账号B1具有直接关联关系的账号为账号B,关系链2中与账号B具有直接关联关系的账号为账号A和账号B2,与账号B2具有直接关联关系的账号为账号B。由此可知,在每个关系链中,第一关联账号最多有两个具有直接关联关系的账号。
[0034] 获取第一账号的多个第一关系链之后,可以根据每个第一关联账号在多个第一关系链中出现的次数选择第一关联账号中的账号,并将选择的账号作为目标账号,其中,选择的账号的数量满足第一预设数量。其中,根据第一关联账号在多个第一关系链中出现的次数选择第一关联账号,并将选择的账号作为目标账号具体为:获取每个第一关系链中具有直接关联关系的多个关联账号组,其中,每个关联账号组中包括两个具有直接关联关系的关联账号;获取每个关联账号在多个第一关系链中出现的次数;按照每个关联账号在多个第一关系链中出现的次数由大到小的顺序选择第一预设数量的账号作为目标账号。
[0035] 例如,上述关系链1至关系链4分别为:关系链1:账号A→账号B→账号B1→账号C→账号C1,关系链2:账号A→账号B→账号B2,关系链3:账号A→账号C→账号B1→账号B,以及关系链4:账号A→账号C→账号C1,则根据关系链1可以得到的关联账号组为:账号A→账号B、账号B→账号B1、账号B1→账号C和账号C→账号C1;根据关系链2得到的关联账号组为:账号A→账号B和账号B→账号B2;根据关系链3得到的关联账号组为:账号A→账号C、账号C→账号B1和账号B1→账号B;根据关系链4得到的关联账号组为:账号A→账号C和账号C→账号C1。
[0036] 多个第一关联账号在上述多个关联组中出现的次数为:账号B出现的次数为5次,账号C出现的次数为6次,账号B1出现的次数为4次,账号B2出现的次数为1次,账号C1出现的次数为2次。由于目标账号与账号A(即,第一账号)为具有间接关联关系的账号,因此,目标账号仅能是账号B1、账号B2和账号C1中的任一个。由于,账号B1在多个关联组中出现的次数最多,由此可知,账号A出现之后出现账号B1的概率大于出现账号B2和账号C1的概率,因此,将账号B1作为目标账号推荐给账号A。需要说明的是,在本发明是实施例中,可以根据第一预设数量确定目标账号的数量,例如,多个第一关联账号中与第一账号具有间接关联关系的账号为账号B1、账号B2和账号C1,其中,账号B1、账号B2和账号C1出现次数分别为4次,2次和1次,用户已预设设定好在上述三个账号中仅选取一个账号为目标账号,则可以将账号B1作为目标账号推荐给第一账号。
[0037] 需要说明的是,上述举例说明了当第一关系链中包括3个第一关联账号时,获取与第一账号具有直接或者间接关联关系的多个关联账号,以及从所述多个关联账号中选择目标账号的方法。但是在本发明上述实施例中,并未限制每个第一关系链中第一关联账号的数量,因此,第一关联账号的数量可以为10个,还可以为20个等。但是,如果第一关联账号的数量较多,在安装有该客户端的终端设备中执行该账号推荐方法的相应程序时,会带来大量的计算,与此同时,过多的关系链中包含过多的关联账号将会降低为第一账号推荐目标账号的精确度。
[0038] 因此,可以设定每个关系链中关联账号的数量小于或者等于一定的数量(例如,下述的第二预设数量),具体地,当关系链中的关联账号小于或者等于第二预设数量时,获取与第一账号具有直接或者间接关联关系的多个关联账号,以及从多个关联账号中选择目标账号的方法可以在下述实施例中进行说明。
[0039] 获取与第一账号具有直接或者间接关联关系的多个关联账号具体为:获取第一账号的多条第二关系链,其中,第二关系链包括多个第二关联账号,并且以第一账号为起始的账号,多条第二关系链中每个第二关系链包括的第二关联账号的数量小于或者等于第二预设数量。
[0040] 在本发明实施例中,每个关系链中的关联账号的数量小于或者等于第二预设数量,下面结合图4,以第二预设数量为4进行说明。
[0041] 如图4所示,假设第一账号为账号A,与账号A具有直接关联关系的账号为账号B和账号C,与账号B具有直接关联关系的账号为账号B1、账号B2,并且与账号C具有直接关联关系的账号为账号B1和账号C1,与账号B1具有直接关联的账号为账号B11和账号B12,与账号B2具有直接关联的账号为账号B11和账号B21,与账号C1具有直接关联的账号为账号B21。其中,账号B、账号C、账号B1、账号B2,账号C1、账号B11、账号B12以及账号B21均为账号A的多个第一关联账号。
[0042] 此时,账号A的多个第一关系链为关系链1:账号A→账号B→账号B1→账号B11,关系链2:账号A→账号B→账号B1→账号B12,关系链3:账号A→账号B→账号B2→账号B11,关系链4:账号A→账号B→账号B2→账号B21,关系链5:账号A→账号C→账号B1→账号B11,关系链6:账号A→账号C→账号B1→账号B12,关系链7:账号A→账号C→账号C1→账号B21;关系链8:账号A→账号B→账号B1→账号C→账号C1;关系链9:账号A→→账号C→账号B1→账号B。
[0043] 其中,上述关系链1至关系链9中每个关系链均包括多个第一关联账号;并且关系链1至关系链9中的起始账号均为账号A;以及多个第一关联账号中的每个第一关联账号具有至多两个与第一关联账号具有直接关联关系的第一关联账号,例如,关系链1中与账号B具有直接关联关系的账号为账号A和账号B1,与账号B1具有直接关联关系的账号为账号B,关系链2中与账号B具有直接关联关系的账号为账号A和账号B2,与账号B2具有直接关联关系的账号为账号B。由此可知,在每个关系链中,第一关联账号最多有两个具有直接关联关系的账号。
[0044] 获取第一账号的多个第二关系链之后,可以根据每个第二关联账号在多个第二关系链中出现的次数选择第二关联账号中的账号,并将选择的账号作为目标账号,其中,选择的账号的数量满足第一预设数量。其中,获取每个第二关系链中具有直接关联关系的多个关联账号组,其中,每个关联账号组中包括两个具有直接关联关系的关联账号;获取每个关联账号在多个第二关系链中出现的次数;按照每个关联账号在多个第二关系链中出现的次数由大到小的顺序选择第一预设数量的账号作为目标账号。
[0045] 例如,根据关系链1至关系链9得到的关联账号组分别为:账号A→账号B、账号B→账号B1和账号B1→账号B11;账号A→账号B、账号B→账号B1、账号B1→账号B12;账号A→账号B、账号B→账号B2、账号B2→账号B11;账号A→账号B、账号B→账号B2、账号B2→账号B21;账号A→账号C、账号C→账号B1、账号B1→账号B11;账号A→账号C、账号C→账号B1、账号B1→账号B12;账号A→账号C、账号C→账号C1、账号C1→账号B21;账号A→账号B→账号B1→账号C→账号C1;账号A→账号C、账号C→账号B1、账号B1→账号B。
[0046] 账号B1出现的次数为11次,账号B2出现的次数为4次,账号C1出现的次数为3次,账号B11出现的次数为3次,账号B12出现的次数为2次,账号B21出现的次数为2次,账号C12出现的次数为2次。如果第一预设数量为2,则可以将账号B1和账号B2推荐给账号A。
[0047] 可选地,获取与第一账号具有直接或者间接关联关系的多个关联账号包括:获取用于登录第一平台,且与第一账号具有直接或者间接关联关系的多个关联账号,其中,第一账号用于登录第二平台,第二平台与第一平台不同。
[0048] 在本发明实施例中,第一账号的多个关联账号可以通过第一平台登录,第一账号可以通过与第一平台不相同的第二平台登录。例如,多个关联账号可以通过支付宝的客户端登录,第一账号可以通过QQ登录。例如,账号A通过QQ登录,在QQ中与账号A具有直接关联关系的账号B通过支付宝的客户端登录,其中账号B在支付宝中的账号与在QQ中的账号为相同的账号,根据本发明实施例提供的方法,则可以在支付宝平台中查找与账号B具有直接关联关系账号C,然后将账号C推荐给账号A,其中,账号C满足目标账号的相关条件。
[0049] 可选地,在向第一账号推荐目标账号之后,该方法还包括:向第二账号推荐目标账号,其中,与第二账号具有直接关联关系的部分或者全部账号和与目标账号所对应的多个关联账号相同。
[0050] 将目标账号B1推荐给账号D(即,第二账号),该账号D的直接关联账号也是账号B和账号C,账号C的直接关联账号是账号B1和账号C2,账号B的直接关联账号是账号B1和账号B2,其中,账号B1、账号B2和账号C2不是账号D的直接关联账号。即可以理解为,账号D的多个关联账号与账号A的多个关联账号相同。
[0051] 具体将目标账号B1推荐给账号D的方法与上述实施例中将账号B1推荐给第一账号A的方法相同,此处不再进行详细描述。
[0052] 可选地,从多个关联账号中选择目标账号包括:采用N-gram模型从多个关联账号中选择目标账号。
[0053] 在本发明实施例中,可以采用N-gram模型从多个关联账号中选择目标账号,其中,N-gram模型的思想是根据n度好友关系的重合度确认具有间接关联关系的多个用户之间是好友的可能性。下面,先用个简单的例子介绍一下该N-gram模型的思想。例如,某一个人说“跳水皇后”,大家可能首先想到的下一个词是“郭晶晶”或者“伏明霞”,基本上没什么人会联想到“牛顿”、“爱因斯坦”,此时,“郭晶晶”或者“伏明霞”与上一个词“跳水皇后”是相关的,然而,“牛顿”、“爱因斯坦”与“跳水皇后”是不相关的。因此,N-gram的思想就是当前第n个词与前n-1个词是相关的。
[0054] 本发明实施例中可以通过二元的Bi-Gram或者三元的Tri-Gram模型,根据一个社交平台中的某个人(即,上述第一账号或者第二账号)的好友关系统计出,当该人(即,上述第一账号或者第二账号)出现时,在社交平台中最有可能是他好友的人的概率排序,从而根据确定出的概率排序定义出人与人之间的是还有关系的可能性。例如,采用二元的Bi-Gram模型,当用户a有10个好友时,该10个好友中有9个都有一个共同好友c,那么用户a和用户c就很有可能具有亲密关系,因为当这9个好友同时出现时,那么出现用户c的可能性就很大,因此可以把用户c推荐给用户a。当然如果用户b有11个好友,其中9个好友恰巧是刚才的a的那9个好友,这是也可以把用户c推荐给用户b,同时用户c和用户b的是还有的可能性应该也很高。
[0055] 如果一个词的出现仅依赖于它前面出现的一个词,那么我们就称之为二元的Bi-Gram模型;如果一个词的出现仅依赖于它前面出现的前两个词,那么我们就称之为三元的Tri-Gram模型。在本发明实施例中,可以采用Bi-Gram模型或者Tri-Gram模型中的任一个模型确定第一账号(或者第二账号)和多个关联账号之间的是好友关系的可能性。由于,采用Bi-Gram模型或者Tri-Gram模型在多个关联账号中为第一账号(或者第二账号)推荐目标账号的精确度已达到要求,因此可以不用采用四元的N-Gram。
[0056] 如果一个词的出现依赖于它前面出现的一个词或者如果一个词的出现依赖于它前面出现的前两个词可以通过概率的形式来实现,即P(T)=P(W1W2W3…Wn)=P(W1)P(W2|W1)P(W3|W1W2)…P(Wn|W1W2…Wn-1)≈P(W1)P(W2|W1)P(W3|W2)…P(Wn|Wn-1),其中,P(Wn|W1W2…Wn-1)为出现W1W2W3…Wn-1之后,出现Wn的概率。
[0057] 此时,可以通过最大似然估计算法(Maximum Likelihood Estimate)确定上述公式中的P(Wn|W1W2…Wn-1),即P(Wn|W1W2…Wn-1)=(C(W1W2…Wn))/(C(W1W2…Wn-1)),接下来,可以统计序列C(W1W2…Wn)出现的次数和序列C(W1W2…Wn-1)出现的次数,根据统计得到的次数即可确定出第一账号(或者第二账号)与多个关联账号之间的是好友关系的可能性,其中,计算出的概率越高,表示在出现W1W2W3…Wn-1之后,出现Wn的概率越高。
[0058] 下面,以二元的Bi-Gram模型为例进行说明。假设,在一个语义库中,用户A,用户B和用户C出现的频次如下述表1所示:
[0059] 表1
[0060]A 85
B 248
C 13
[0061] 经过统计发现用户A,用户B和用户C出现的序列频率如表2所示:
[0062] 表2
[0063]  A B C
A 0 132 18
B 16 0 12
C 61 12 0
[0064] 如表2所示,当用户A出现之后,出现用户B的次数为132次,出现用户C的次数为18次;当用户B出现之后,出现用户A的次数为16次,出现用户C的次数为12次;当用户C出现之后,出现用户A的次数为61次,出现用户B的次数为12次。将上述数值套用到上述计算P(T)的公式中,即可知,用户A出现之后,出现用户B的概率高于用户C出现的概率,因此,可以将用户B推荐给用户A;用户B出现之后,出现用户A的概率高于用户C出现的概率,因此,可以将用户A推荐给用户B;用户C出现之后,出现用户A的概率高于用户B出现的概率,因此,可以将用户A推荐给用户C。
[0065] 在本发明实施例中,可以将上述账号推荐方法应用在社交应用好友关系推荐的场景上,在社交应用的推广中,采用上述方法可以更精准的为用户推荐好友。进一步地,如果用户新添加了具有直接关联关系的好友时,还可以采用上述N-Gram模型进行动态调整,实时更新最新状态,不断迭代地为用户推荐成为好友可能性高的用户,从成本和用户体验的角度都优化了社交应用推荐时的代价。
[0066] 例如,在金融平台上用户A申请贷款30万元,用户B为用户A的借贷担保人,其中,用户A与用户B在第一平台中为具有直接关联关系的好友。如果仅用户B为用户A做担保人,则用户B将担保全部的30万元,此时,可以为用户A推荐其他的担保人,具体地,可以通过上述的方法为用户A推荐用户C和用户D,其中,用户C和用户D可以是该金融平台上的用户。在该金融平台上用户C和用户D与B具有直接关联关系,与用户A有较大概率是好友,或者,在即时通讯平台上用户C和用户D与用户A具有直接关联关系,即用户C和用户D与用户A在即时通讯平台上具有好友关系,或者,在即时通讯平台上用户C和用户D与用户B具有直接关联关系。此时,用户B、用户C和用户D可以为用户A分别担保10万元。
[0067] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0068] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0069] 实施例2
[0070] 根据本发明实施例,还提供了一种用于实施上述账号推荐方法的账号推荐装置,该账号推荐装置主要用于执行本发明实施例上述内容所提供的账号推荐方法,以下对本发明实施例所提供的账号推荐装置做具体介绍:
[0071] 图5是根据本发明实施例的账号推荐装置的示意图,如图5所示,该账号推荐装置主要包括:
[0072] 获取单元51,用于获取与第一账号具有直接或者间接关联关系的多个关联账号。
[0073] 具体地,在本发明下述实施例中,账号可以是的QQ账号,微信账号,手机号码,还可以是其他社交平台的账号。假设,第一账号为QQ账号,则与第一账号具有直接或者间接关联关系的多个关联账号可以是跨平台的微信账号,还可以是相同平台的QQ号码。
[0074] 例如,第一账号和第一账号的多个关联账号均为QQ账号。第一账号可以是账号A,账号A的QQ好友是账号B和账号C,账号B的QQ好友是账号B1和账号B2,其中,账号B1和账号B2均不是账号A的QQ好友,账号C的QQ好友是账号C1和账号B1,则账号B、账号C、账号B1、账号B2和账号C1为第一账号的多个关联账号。
[0075] 选择单元53,用于从多个关联账号中选择目标账号,其中,目标账号与多个关联账号中的部分或者全部账号具有直接关联关系,目标账号与第一账号具有间接关联关系,并且,多个关联账号中与目标账号具有直接关联关系的账号的数量满足第一预设数量。
[0076] 具体地,在本发明下述实施例中,账号可以是的QQ账号,微信账号,手机号码,还可以是其他社交平台的账号。假设,第一账号为QQ账号,则与第一账号具有直接或者间接关联关系的多个关联账号可以是跨平台的微信账号,还可以是相同平台的QQ号码。
[0077] 例如,第一账号和第一账号的多个关联账号均为QQ账号。第一账号可以是账号A,账号A的QQ好友是账号B和账号C,账号B的QQ好友是账号B1和账号B2,其中,账号B1和账号B2均不是账号A的QQ好友,账号C的QQ好友是账号C1和账号B1,则账号B、账号C、账号B1、账号B2和账号C1为第一账号的多个关联账号。
[0078] 第一推荐单元55,用于向第一账号推荐目标账号。
[0079] 具体地,确定目标账号为账号B1之后,可以将账号B1推荐给账号A,因为,当第一预设数量为2时,账号B1与账号A的概率高于账号B2和账号C与账号A的概率,也可以理解为账号B1所属的用户与账号A所属的用户可能是相识的,然而,账号B2和账号C所属的用户与账号A所属的用户可能是不相识的。因此,采用上述方法可以提高为用户(即第一账号)推荐好友(目标账号)的精确度,减少了为用户推荐概率不高的用户的现象。
[0080] 在本发明实施例中,通过在与第一账号具有关联关系的多个关联账号中选择与第一账号具有间接关联关系的目标账号,然后将目标账号推荐给第一账号,其中,该目标账号与多个关联账号中的部分或者全部账号具有直接关联关系,相对于现有技术中基于各个账号之间的概率来为第一账号推荐账号的方法,达到了为用户精确推荐好友的目的,从而实现了提高好友推荐的精确度的技术效果,进而解决了现有技术中为用户推荐的好友不准确的技术问题。
[0081] 可选地,获取单元包括:第一获取模块,用于获取第一账号的多个第一关系链,其中,第一关系链包括多个第一关联账号,并且以第一账号为起始的账号,多个第一关联账号中的每个第一关联账号具有至多两个与第一关联账号具有直接关联关系的第一关联账号;选择单元包括:第一选择模块,用于根据每个第一关联账号在多个第一关系链中出现的次数选择第一关联账号中的账号,并将选择的账号作为目标账号,其中,选择的账号的数量满足第一预设数量。
[0082] 可选地,获取单元包括:第二获取模块,用于获取第一账号的多条第二关系链,其中,第二关系链包括多个第二关联账号,并且以第一账号为起始的账号,多条第二关系链中每个第二关系链包括的第二关联账号的数量小于或者等于第二预设数量;选择单元包括:第二选择模块,用于根据每个第二关联账号在多个第二关系链中出现的次数选择第二关联账号中的账号,并将选择的账号作为目标账号,其中,选择的账号的数量满足第一预设数量。
[0083] 可选地,第二选择模块包括:第一获取子模块,用于获取每个第二关系链中具有直接关联关系的多个关联账号组,其中,每个关联账号组中包括两个具有直接关联关系的关联账号;第二获取子模块,用于获取每个关联账号在多个第二关系链中出现的次数;选择子模块,用于按照每个关联账号在多个第二关系链中出现的次数由大到小的顺序选择第一预设数量的账号作为目标账号。
[0084] 可选地,获取单元包括:第三获取模块,用于获取用于登录第一平台,且与第一账号具有直接或者间接关联关系的多个关联账号,其中,第一账号用于登录第二平台,第二平台与第一平台不同。
[0085] 可选地,该装置还包括:第二推荐单元,用于在向第一账号推荐目标账号之后,向第二账号推荐目标账号,其中,与第二账号具有直接关联关系的部分或者全部账号和与目标账号所对应的多个关联账号相同。
[0086] 可选地,选择单元包括:第三选择模块,用于采用N-gram模型从多个关联账号中选择目标账号。
[0087] 实施例3
[0088] 根据本发明实施例,还提供了一种用于实施上述账号推荐方法的移动终端,如图6所示,该移动终端主要包括处理器501、显示器502、数据接口503、存储器504和网络接口505,其中:
[0089] 显示器502主要用于显示为第一账号推荐的目标账号。
[0090] 数据接口503则主要通过数据传输的方式将第一账号的多个关联账号传输给处理器501。
[0091] 存储器504主要用于存储为第一账号推荐的目标账号和第一账号的多个关联账号。
[0092] 网络接口505主要用于与服务器进行网络通信,为第一账号推荐目标账号提供数据支持。
[0093] 处理器501主要用于执行如下操作:
[0094] 获取与第一账号具有直接或者间接关联关系的多个关联账号;从所述多个关联账号中选择目标账号,其中,所述目标账号与所述多个关联账号中的部分或者全部账号具有直接关联关系,所述目标账号与所述第一账号具有间接关联关系,并且,所述多个关联账号中与所述目标账号具有直接关联关系的账号的数量满足第一预设数量;向所述第一账号推荐所述目标账号。
[0095] 处理器501还用于获取所述第一账号的多个第一关系链,其中,所述第一关系链包括多个第一关联账号,并且以所述第一账号为起始的账号,所述多个第一关联账号中的每个第一关联账号具有至多两个与所述第一关联账号具有直接关联关系的第一关联账号;根据每个所述第一关联账号在多个所述第一关系链中出现的次数选择所述第一关联账号中的账号,并将选择的账号作为所述目标账号,其中,所述选择的账号的数量满足所述第一预设数量。
[0096] 处理器501还用于获取所述第一账号的多条第二关系链,其中,所述第二关系链包括多个第二关联账号,并且以所述第一账号为起始的账号,所述多条第二关系链中每个所述第二关系链包括的第二关联账号的数量小于或者等于第二预设数量;根据每个所述第二关联账号在多个所述第二关系链中出现的次数选择所述第二关联账号中的账号,并将选择的账号作为所述目标账号,其中,所述选择的账号的数量满足所述第一预设数量。
[0097] 处理器501还用于获取每个所述第二关系链中具有直接关联关系的多个关联账号组,其中,每个所述关联账号组中包括两个具有直接关联关系的关联账号;获取每个关联账号在多个所述第二关系链中出现的次数;按照每个关联账号在多个所述第二关系链中出现的次数由大到小的顺序选择所述第一预设数量的账号作为所述目标账号。
[0098] 处理器501还用于获取用于登录第一平台,且与所述第一账号具有直接或者间接关联关系的多个关联账号,其中,所述第一账号用于登录第二平台,所述第二平台与所述第一平台不同。
[0099] 处理器501还用于向第二账号推荐所述目标账号,其中,与所述第二账号具有直接关联关系的部分或者全部账号和与所述目标账号所对应的多个关联账号相同。
[0100] 处理器501还用于采用N-gram模型从多个所述关联账号中选择目标账号。
[0101] 可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
[0102] 实施例4
[0103] 本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例的账号推荐方法的程序代码。
[0104] 可选地,在本实施例中,上述存储介质可以位于移动通信网络、广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。
[0105] 可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
[0106] S1,获取与第一账号具有直接或者间接关联关系的多个关联账号;
[0107] S2,从多个关联账号中选择目标账号,其中,目标账号与多个关联账号中的部分或者全部账号具有直接关联关系,目标账号与第一账号具有间接关联关系,并且,多个关联账号中与目标账号具有直接关联关系的账号的数量满足第一预设数量;
[0108] S3,向第一账号推荐目标账号。
[0109] 可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0110] 可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
[0111] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0112] 上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0113] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0114] 在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0115] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0116] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0117] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。