掌桥专利:专业的专利平台
掌桥专利
首页

一种社交账户推荐方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 12:19:35


一种社交账户推荐方法、装置、电子设备和存储介质

技术领域

本公开涉及互联网技术领域,尤其涉及一种社交账户推荐方法、装置、电子设备和存储介质。

背景技术

相关技术中,是基于应用获取到的一维信息来向当前社交账户推荐社交账户。以在应用1中向社交账户p推荐社交账户为例。一种方案是将获取到的社交账户p的通讯录和应用1中的所有社交账户进行匹配,找到社交账户p的通讯录中同样使用应用1的社交账户,进而将这些社交账户推荐给社交账户p,然而,通讯录中的社交账户不一定与社交账户p关系亲密,社交账户p与关系不亲密的人进行互动的概率并不高,所以向社交账户p推荐社交账户的准确率并不高。另一种方案是确定应用1的所有社交账户中和社交账户p的地理位置在设定范围内的社交账户,进而将这些社交账户推荐给社交账户p,而实际上对社交账户p而言,同一地理位置中的很多社交账户都是陌生人的社交账户,社交账户p与陌生人进行互动的概率也不高,因此,向社交账户p推荐社交账户的准确率也不高。

发明内容

本公开提供一种社交账户推荐方法、装置、电子设备和存储介质,以至少解决相关技术中存在的向社交账户推荐社交账户的准确率比较低的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种社交账户推荐方法,包括:

接收用于表示第一社交账户进入指定应用中社交账户推荐界面的消息,所述消息中携带有所述第一社交账户的账户标识;

根据所述账户标识,从建立的社交关系库中获取所述第一社交账户的社交关系网,所述社交关系网中保存有与所述第一社交账户在不同应用中具有直接社交关系和间接社交关系的社交关系数据;

根据所述社交关系网,确定与所述第一社交账户在所述指定应用中具有间接社交关系的每个第二社交账户和所述第一社交账户之间的亲密度,所述亲密度用于表征所述第一社交账户和所述第二社交账户在所述指定应用中建立直接社交关系的概率;

根据确定的各第二社交账户和所述第一社交账户之间的亲密度,在所述社交账户推荐界面上向所述第一社交账户推荐社交账户。

在一种可能的实施方式下,所述社交关系数据至少包括静态社交关系数据,根据所述社交关系网,确定与所述第一社交账户在所述指定应用中具有间接社交关系的每个第二社交账户和所述第一社交账户之间的亲密度,包括:

根据所述社交关系网中的所述静态社交关系数据,确定所述第二社交账户和所述第一社交账户之间的第一社交关系值,所述第一社交关系值用于表征所述第一社交账户和所述第二社交账户通过所述静态社交关系数据在所述指定应用中建立直接社交关系的概率;

根据所述第一社交关系值,确定所述第二社交账户和所述第一社交账户之间的亲密度。

在一种可能的实施方式下,根据所述社交关系网中的所述静态社交关系数据,确定所述第二社交账户和所述第一社交账户之间的第一社交关系值,包括:

从所述社交关系网中选择从所述第一社交账户到所述第二社交账户之间的至少一条社交链路;

根据各条社交链路上的相邻社交账户在不同应用中的静态社交关系数据,确定所述第二社交账户和所述第一社交账户之间的第一社交关系值,所述相邻社交账户是指每条社交链路上具有直接社交关系的两个社交账户。

在一种可能的实施方式下,根据各条社交链路上的相邻社交账户在不同应用中的静态社交关系数据,确定所述第二社交账户和所述第一社交账户之间的第一社交关系值,包括:

根据每条社交链路上的各相邻社交账户在不同应用中的静态社交关系数据,确定所述社交链路的社交关系值,所述社交链路的社交关系值用于表征所述第一社交账户和所述第二社交账户通过所述社交链路在所述指定应用中建立直接社交关系的概率;

根据各社交链路的社交关系值,确定所述第二社交账户和所述第一社交账户之间的第一社交关系值。

在一种可能的实施方式下,根据每条社交链路上的各相邻社交账户在不同应用中的静态社交关系数据,确定所述社交链路的社交关系值,包括:

对所述社交链路上的每对相邻社交账户,根据所述相邻社交账户在不同应用中的静态社交关系数据,确定所述相邻社交账户之间的社交关系值,所述相邻社交账户之间的社交关系值用于表征所述相邻社交账户对所述社交链路的社交关系值的贡献大小;

根据各相邻社交账户之间的社交关系值,确定所述社交链路的社交关系值。

在一种可能的实施方式下,根据所述相邻社交账户在不同应用中的静态社交关系数据,确定所述相邻社交账户之间的社交关系值,包括:

根据所述相邻社交账户在每个应用中的静态社交关系数据,以及预设的所述应用中的静态社交关系数据与社交关系值之间的转换关系,确定所述相邻社交账户在所述应用中的社交关系值,所述相邻社交账户在所述应用中的社交关系值用于表征所述应用对所述相邻社交账户之间的社交关系值的贡献大小;

根据所述相邻社交账户在各应用中的社交关系值,确定所述相邻社交账户之间的社交关系值。

在一种可能的实施方式下,若所述社交关系数据还包括动态社交关系数据,则还包括:

根据所述社交关系网中的所述动态社交关系数据,确定所述第二社交账户和所述第一社交账户之间的第二社交关系值,确定所述第二社交账户和所述第一社交账户之间的第二社交关系值,所述第二社交关系值用于表征所述第一社交账户和所述第二社交账户通过所述动态社交关系数据在所述指定应用中建立直接社交关系的概率;以及

根据所述第一社交关系值,确定所述二社交账户和所述第一社交账户之间的亲密度,包括:

根据所述第一社交关系值和所述第二社交关系值,确定所述二社交账户和所述第一社交账户之间的亲密度。

根据本公开实施例的第二方面,提供一种社交账户推荐装置,包括:

接收模块,被配置为执行接收用于表示第一社交账户进入指定应用中社交账户推荐界面的消息,所述消息中携带有所述第一社交账户的账户标识;

获取模块,被配置为执行根据所述账户标识,从建立的社交关系库中获取所述第一社交账户的社交关系网,所述社交关系网中保存有与所述第一社交账户在不同应用中具有直接社交关系和间接社交关系的社交关系数据;

亲密度确定模块,被配置为执行根据所述社交关系网,确定与所述第一社交账户在所述指定应用中具有间接社交关系的每个第二社交账户和所述第一社交账户之间的亲密度,所述亲密度用于表征所述第一社交账户和所述第二社交账户在所述指定应用中建立直接社交关系的概率;

推荐模块,被配置为执行根据确定的各第二社交账户和所述第一社交账户之间的亲密度,在所述社交账户推荐界面上向所述第一社交账户推荐社交账户。

在一种可能的实施方式下,所述社交关系数据至少包括静态社交关系数据,所述亲密度确定模块具体包括:

社交关系值计算单元,被配置为执行根据所述社交关系网中的所述静态社交关系数据,确定所述第二社交账户和所述第一社交账户之间的第一社交关系值,所述第一社交关系值用于表征所述第一社交账户和所述第二社交账户通过所述静态社交关系数据在所述指定应用中建立直接社交关系的概率;

亲密度计算单元,被配置为执行根据所述第一社交关系值,确定所述第二社交账户和所述第一社交账户之间的亲密度。

在一种可能的实施方式下,所述社交关系值计算单元被具体配置为执行:

从所述社交关系网中选择从所述第一社交账户到所述第二社交账户之间的至少一条社交链路;

根据各条社交链路上的相邻社交账户在不同应用中的静态社交关系数据,确定所述第二社交账户和所述第一社交账户之间的第一社交关系值,所述相邻社交账户是指每条社交链路上具有直接社交关系的两个社交账户。

在一种可能的实施方式下,所述社交关系值计算单元被具体配置为执行:

根据每条社交链路上的各相邻社交账户在不同应用中的静态社交关系数据,确定所述社交链路的社交关系值,所述社交链路的社交关系值用于表征所述第一社交账户和所述第二社交账户通过所述社交链路在所述指定应用中建立直接社交关系的概率;

根据各社交链路的社交关系值,确定所述第二社交账户和所述第一社交账户之间的第一社交关系值。

在一种可能的实施方式下,所述社交关系值计算单元被具体配置为执行:

对所述社交链路上的每对相邻社交账户,根据所述相邻社交账户在不同应用中的静态社交关系数据,确定所述相邻社交账户之间的社交关系值,所述相邻社交账户之间的社交关系值用于表征所述相邻社交账户对所述社交链路的社交关系值的贡献大小;

根据各相邻社交账户之间的社交关系值,确定所述社交链路的社交关系值。

在一种可能的实施方式下,所述社交关系值计算单元被具体配置为执行:

根据所述相邻社交账户在每个应用中的静态社交关系数据,以及预设的所述应用中的静态社交关系数据与社交关系值之间的转换关系,确定所述相邻社交账户在所述应用中的社交关系值,所述相邻社交账户在所述应用中的社交关系值用于表征所述应用对所述相邻社交账户之间的社交关系值的贡献大小;

根据所述相邻社交账户在各应用中的社交关系值,确定所述相邻社交账户之间的社交关系值。

在一种可能的实施方式下,若所述社交关系数据还包括动态社交关系数据,则

所述社交关系值计算单元,还被配置为执行根据所述社交关系网中的所述动态社交关系数据,确定所述第二社交账户和所述第一社交账户之间的第二社交关系值,所述第二社交关系值用于表征所述第一社交账户和所述第二社交账户通过所述动态社交关系数据在所述指定应用中建立直接社交关系的概率;

所述亲密度计算单元,还被配置为执行根据所述第一社交关系值和所述第二社交关系值,确定所述二社交账户和所述第一社交账户之间的亲密度。

根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一社交账户推荐方法。

根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,所述电子设备能够执行上述任一社交账户推荐方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,该程序产品在被计算机调用执行时,可以使得计算机执行上述任一社交账户推荐方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

接收用于表示第一社交账户进入指定应用中社交账户推荐界面的消息,根据消息中携带的第一社交账户的账户标识,从建立的社交关系库中获取第一社交账户的社交关系网,其中,社交关系网中保存有与第一社交账户在不同应用中具有直接社交关系和间接社交关系的社交关系数据,根据获取的社交关系网,确定与第一社交账户在指定应用中具有间接社交关系的每个第二社交账户和第一社交账户之间的亲密度,进而根据确定的各亲密度在社交账户推荐界面上向第一社交账户推荐社交账户,这里,由于社交关系网中保存有与第一社交账户在不同应用中具有直接社交关系和间接社交关系的社交关系数据,所以第一社交账户的社交关系网比较密集,在比较密集的社交关系网中,确定与第一社交账户在指定应用中具有间接社交关系的每个第二社交账户和第一社交账户之间的亲密度,并根据确定的亲密度为第一社交账户推荐社交账户,不但可发现更多的与第一社交账户关系亲密的社交账户,而且社交账户推荐的准确率也比较高。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种社交账户a的社交关系网的示意图。

图2是根据一示例性实施例示出的又一种社交账户a的社交关系网的示意图。

图3是根据一示例性实施例示出的一种社交账户推荐方法的应用场景图。

图4是根据一示例性实施例示出的一种社交账户推荐方法的流程图。

图5是根据一示例性实施例示出的一种确定第二社交账户和第一社交账户之间的亲密度的方法流程图。

图6是根据一示例性实施例示出的一种确定第二社交账户和第一社交账户之间的第一社交关系值的方法流程图。

图7是根据一示例性实施例示出的又一种确定第二社交账户和第一社交账户之间的亲密度的方法流程图。

图8是根据一示例性实施例示出的一种社交账户b的社交关系网的示意图。

图9是根据一示例性实施例示出的一种社交账户推荐装置的框图。

图10是根据一示例性实施例示出的一种用于实现社交账户推荐方法的电子设备的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

为了便于理解本公开,本公开涉及的技术术语中:

社交账户a的社交关系网,用于保存与社交账户a在不同应用中具有直接社交关系和间接社交关系的社交关系数据。若社交账户q与社交账户a在某应用中具有直接社交关系,则在该应用中这种直接社交关系的表现形式可以为:社交账户q存在社交账户a的联系人中、社交账户q存在社交账户a的通讯录中、社交账户q和社交账户a双向关注等等。而在该应用中与社交账户a不具有直接社交关系的社交账户,则是与社交账户a具有间接社交关系的社交账户。假设社交账户n与社交账户a在该应用中具有间接社交关系,则在该应用中这种间接社交关系的表现形式可以为:社交账户q和社交账户a都存在某个社交账户的联系人中、社交账户q和社交账户a都存在某个社交账户的通讯录中、社交账户q和社交账户a都双向关注了某个社交账户等等。

图1是根据一示例性实施例示出的一种社交账户a的社交关系网的示意图,其中,社交账户f1-f8是与社交账户a在不同应用中具有直接社交关系的社交账户。类似地,图1中的每个社交账户fi(1≤i≤8)也会有自身的社交关系网,将社交账户a的社交关系网和社交账户fi的社交关系网进行连接,就可以得到社交账户a更大的社交关系网,图2是根据一示例性实施例示出的又一种社交账户a的社交关系网的示意图,其中,社交账户m1-m10是与社交账户a在不同应用中具有间接社交关系的社交账户。

另外,与社交账户a具有直接社交关系的社交账户之间也可能存在直接社交关系,如图2中的社交账户f5和f6。实际应用中,还可继续对图2中社交账户a的社交关系网进行扩充,得到社交账户a更大的社交关系网,在此不再赘述。

社交链路,是指社交关系网中从一个社交账户到另一个社交账户之间的社交关系数据,如图2中的a—>f1—>m1,a—>f1—>m2都是社交链路,并且,社交链路的长度等于社交链路上社交账户的总数减一。

图3是根据一示例性实施例示出的一种社交账户推荐方法的应用场景图,包括,终端11和与终端11通过通信网络连接的服务器12,其中:

终端11,如私人电脑、iPad、手机等。具体实施时,当终端11检测到进入指定应用中社交账户推荐界面的操作时,可向服务器12发送用于表示第一社交账户进入指定应用中社交账户推荐界面的消息。

服务器12,在接收到终端发送的该消息时,可根据消息中携带的第一社交账户的账户标识,从建立的社交关系库中获取第一社交账户的社交关系网,该社交关系网中保存有与第一社交账户在不同应用中具有直接社交关系和间接社交关系的社交关系数据,然后,根据获取的社交关系网,确定与第一社交账户在指定应用中具有间接社交关系的每个第二社交账户和第一社交账户之间的亲密度,该亲密度用于表征第一社交账户和第二社交账户在指定应用中建立直接社交关系的概率,进而根据各第二社交账户和第一社交账户之间的亲密度,在社交账户推荐界面上向第一社交账户推荐社交账户。

本公开实施例中,第一社交账户的社交关系网中保存有与第一社交账户在不同应用中具有直接社交关系和间接社交关系的社交关系数据,这样,第一社交账户的社交关系网比较密集,在比较密集的社交关系网中,确定与第一社交账户在指定应用中具有间接社交关系的每个第二社交账户和第一社交账户之间的亲密度,并根据确定的亲密度为第一社交账户推荐社交账户,不但可发现更多的与第一社交账户关系亲密的社交账户,而且社交账户推荐的准确率也比较高。

图4是根据一示例性实施例示出的一种社交账户推荐方法的流程图,如图3所示,该社交账户推荐方法用于服务器12中,该方法的流程图包括以下步骤。

S401:接收用于表示第一社交账户进入指定应用中社交账户推荐界面的消息,其中,消息中携带有第一社交账户的账户标识。

S402:根据账户标识,从建立的社交关系库中获取第一社交账户的社交关系网,其中,社交关系网中保存有与第一社交账户在不同应用中具有直接社交关系和间接社交关系的社交关系数据。

具体实施时,第一社交账户的社交关系网以第一社交账户为中心,社交关系网中第一社交账户到其它社交账户之间的社交链路的长度上限由技术人员预先设定。

实际应用中,当第一社交账户授权指定应用访问通讯录时,指定应用就可获取到第一社交账户在通讯录中的社交关系数据,如第一社交账户在通讯录中的通讯录信息。

另外,当第一社交账户将在指定应用中保存的短视频或文章分享到其它应用中时,如果其它应用中与第一社交账户具有直接关系的某个用户点击了该短视频或文章,那么,指定应用就可获取到该用户在其它应用中的账户标识,即指定应用获取到了第一社交账户在其它应用中的社交关系数据。

并且,如果该用户通过授权登录的方式登录了指定应用,那么,指定应用就可获取到该用户在指定应用和在其它应用中的账户标识之间的对应关系,利用该对应关系还可确定与第一社交账户在指定应用和在其它应用中均具有直接社交关系的社交账户。

也就是说,当两个应用之间通过第一社交账户进行授权访问时,被授权访问的应用就可获取到第一社交账户在授权访问的应用中的社交关系数据,搜集这些社交关系数据就可得到第一社交账户的社交关系网。

S403:根据获取的社交关系网,确定与第一社交账户在指定应用中具有间接社交关系的每个第二社交账户和第一社交账户之间的亲密度。

其中,亲密度用于表征第一社交账户和该第二社交账户在指定应用中建立直接社交关系的概率。

在一种可能的实施方式下,第一社交账户的社交关系网中保存的社交关系数据仅包括静态社交关系数据,此时,可根据图5所示的流程确定该第二社交账户和第一社交账户之间的亲密度,该流程包括以下步骤:

S501a:根据社交关系网中的静态社交关系数据,确定第二社交账户和第一社交账户之间的第一社交关系值。

其中,第一社交关系值用于表征第一社交账户和第二社交账户通过静态社交关系数据在指定应用中建立直接社交关系的概率。

具体实施时,可根据图6所示的流程确定第二社交账户和第一社交账户之间的第一社交关系值。

S601b:从社交关系网中选择从第一社交账户到第二社交账户之间的至少一条社交链路。

考虑到实际生活中,第一社交账户一般不会通过太多人去认识第二社交账户,所以,具体实施时,还可限定从第一社交账户到第二社交账户之间的社交链路的长度。

S602b:根据各条社交链路上的相邻社交账户在不同应用中的静态社交关系数据,确定第二社交账户和第一社交账户之间的第一社交关系值。

其中,相邻社交账户是指每条社交链路上具有直接社交关系的两个社交账户。

具体实施时,对每条社交链路上的每对相邻社交账户,可根据该对相邻社交账户在每个应用中的静态社交关系数据,以及预设的该应用中的静态社交关系数据与社交关系值之间的转换关系,确定该对相邻社交账户在该应用中的社交关系值,其中,该对相邻社交账户在该应用中的社交关系值用于表征该应用对该对相邻社交账户之间的社交关系值的贡献大小。

比如,根据以下公式将该对相邻社交账户在该应用中的静态社交关系数据,转换为该对相邻社交账户在该应用中的社交关系值s:

其中,n

再比如,根据以下公式将该对相邻社交账户在该应用中的静态社交关系数据,转换为该对相邻社交账户在该应用中的社交关系值s:

其中,n

然后,根据该对相邻社交账户在各应用中的社交关系值,确定该对相邻社交账户之间的社交关系值,其中,该对相邻社交账户之间的社交关系值用于表征该对相邻社交账户对该条社交链路的社交关系值的贡献大小。

比如,将该对相邻社交账户在各应用中的社交关系值之和,确定为该对相邻社交账户之间的社交关系值。

进一步地,根据该条社交链路上各相邻社交账户之间的社交关系值,确定该条社交链路的社交关系值,其中,该条社交链路的社交关系值用于表征第一社交账户和第二社交账户通过该条社交链路在指定应用中建立直接社交关系的概率。

比如,将该条社交链路上各相邻社交账户的社交关系值相乘,将乘积作为该条社交链路的社交关系值。

最后,根据各条社交链路的社交关系值,确定第二社交账户和第一社交账户之间的第一社交关系值。

比如,将各条社交链路的社交关系值之和,确定为第二社交账户和第一社交账户之间的第一社交关系值。

S502a:根据第二社交账户和第一社交账户之间的第一社交关系值,确定第二社交账户和第一社交账户之间的亲密度。

具体实施时,可直接将第二社交账户和第一社交账户之间的第一社交关系值,确定为第二社交账户和第一社交账户之间的亲密度,也可将第二社交账户和第一社交账户之间的第一社交关系值、与预设权重的乘积,确定为第二社交账户和第一社交账户之间的亲密度。

在另一种可能的实施方式下,第一社交账户的社交关系网中保存的社交关系数据除了包括静态社交关系数据,还可能包括动态社交关系数据,此时,可根据图7所示的流程确定该第二社交账户和第一社交账户之间的亲密度,该流程包括以下步骤:

S701a:根据社交关系网中的静态社交关系数据,确定第二社交账户和第一社交账户之间的第一社交关系值。

该步骤的实施参见S501a的实施,在此不再赘述。

S702a:根据社交关系网中的动态社交关系数据,确定第二社交账户和第一社交账户之间的第二社交关系值。

其中,第二社交关系值用于表征第一社交账户和第二社交账户通过动态社交关系数据在指定应用中建立直接社交关系的概率。

具体实施时,可以根据第二社交账户和第一社交账户在不同应用中的动态社交关系数据确定第二社交账户和第一社交账户之间的第二社交关系值,也可以仅根据第二社交账户和第一社交账户在指定应用中的动态社交关系数据,确定第二社交账户和第一社交账户之间的第二社交关系值,其中,第一种方案所考虑的动态社交关系数据更丰富,第二种方案对动态社交关系数据的搜集比较简单,具体采用哪种方式可由技术人员根据实际情况确定。

下面以第二种方案为例,对根据社交关系网中的动态社交关系数据,确定第二社交账户和第一社交账户之间的第二社交关系值的方式进行介绍。

比如,第二社交关系值的计分规则为第二社交账户和第一社交账户在指定应用中互动一次第二社交关系值加1,其中,第二社交关系值的初始值预先设定如零。

再比如,第二社交关系值的计分规则为:第一社交账户主动和第二社交账户互动一次第二社交关系值加1,第一社交账户被动和第二社交账户互动一次第二社交关系值加0.5。其中,第一社交账户主动和第二社交账户互动如第一社交账户主动给第二社交账户发消息,第一社交账户被动和第二社交账户互动如第一社交账户给第二社交账户上传的作品点赞。

S703a:根据第二社交账户和第一社交账户之间的第一社交关系值、第二社交账户和第一社交账户之间的第二社交关系值,确定第二社交账户和第一社交账户之间的亲密度。

比如,根据以下公式确定第二社交账户和第一社交账户之间的亲密度Q:

Q=α*S1+β*S2;

其中,S1为第二社交账户和第一社交账户之间的第一社交关系值,S2为第二社交账户和第一社交账户之间的第二社交关系值,α、β为预设权重,比如α=0.9,β=0.1。

S404:根据各第二社交账户和第一社交账户之间的亲密度,在社交账户推荐界面上向第一社交账户推荐社交账户。

具体实施时,可按照亲密度对各第二社交账户进行排序,选择亲密度靠前的N个社交账户组成推荐链表,进而将推荐链表中的各社交账户推荐给第一社交账户,其中,N为大于零的整数。

另外,第一社交账户之前可能拒绝过一些社交账户,因此,如果推荐链表中包含有这些社交账户,还可将这些社交账户从推荐链表中滤除,再按照亲密度排序补入其它社交账户,然后,再将推荐链表中的各社交账户推荐给第一社交账户,这样,可避免反复向第一社交账户推荐第一社交账户拒绝建立直接社交关系的社交账户,进一步提升社交账户的推荐成功率,提升用户体验。

下面结合具体实施例对本公开技术方案进行介绍。

假设服务器接收到用于表示社交账户b进入应用1中社交账户推荐界面的消息,则可根据消息中携带的社交账户b的账户标识,从建立的社交关系库中获取社交账户b的社交关系网,社交账户b的社交关系网中保存有与社交账户b在不同应用中具有直接社交关系和间接社交关系的社交关系数据。

图8是根据一示例性实施例示出的一种社交账户b的社交关系网的示意图,其中,在应用1中与社交账户b具有直接社交关系的社交账户有8个:社交账户f1-社交账户f8;在应用2中与社交账户b具有直接社交关系的社交账户有10个社交账户:社交账户f1、社交账户f2、社交账户t3-社交账户t10;在应用3中与社交账户b具有直接社交关系的社交账户有4个社交账户:社交账户f2、社交账户f3、社交账户w3、社交账户w4,社交账户m1-m11与社交账户b具有间接社交关系。

为了清楚起见,在图8中将与社交账户b在应用1中具有直接社交关系的社交账户用实线进行了标注,将与社交账户b在应用1中具有间接社交关系的社交账户用虚线进行了标注。

进一步地,对社交账户b的社交关系网中与社交账户b在应用1中具有间接社交的每个社交账户,确定该社交账户和社交账户b之间的亲密度。

下面以图8中的社交账户m1为例,说明确定社交账户m1和社交账户b之间的亲密度的过程。

首先,可确定社交关系网中从社交账户b到社交账户m1的社交链路:

社交链路1:b—>f2—>m1,表示在应用1中社交账户b可以通过社交账户f2认识社交账户m1;

社交链路2:b—>f3—>m1,表示在应用1中社交账户b可以通过社交账户f3认识社交账户m1;

社交链路3:b—>f1—>f2—>m1,表示在应用1中社交账户b可以通过社交账户f1、f2认识社交账户m1;

社交链路4:b—>f1—>m11—>m1,表示在应用1中社交账户b可以通过社交账户f1、m11认识社交账户m1;

假设限定仅推荐社交链路长度不超过2的社交账户,那么,上述社交链路只剩下社交链路1和社交链路2。

以社交链路1为例,下面介绍计算社交链路1的社交关系值的过程。

社交链路1包括两对具有直接社交关系的相邻社交账户(b,f2)和(f2,m1),其中,社交账户b和社交账户f2在应用1、应用2和应用3中均为好友关系,社交账户f2和社交账户m1在应用1中为好友关系。

具体实施时,对应用1,可将相邻社交账户在应用1中的好友关系数据转换后的社交关系值设置为指定值如0.5;对除应用1之外的其它应用,可根据以下公式将目标社交账户在该应用中的好友关系数据转换为相邻社交账户在该应用中的社交关系值s:

其中,n

对(b,f2)和(f2,m1)中的每对相邻社交账户,在确定该对相邻社交账户在每个应用中的社交关系值之后,可将该对相邻社交账户在各应用中的社交关系值之和确定为该对相邻社交账户之间的社交关系值,进而将(b,f2)和(f2,m1)的社交关系值的乘积确定为社交链路1的社交关系值。

同样的方法可计算社交链路2的社交关系值,那么,社交账户m1和社交账户b之间的第一社交关系值可为社交链路1和社交链路2的社交关系值之和。

假设社交账户b的社交关系网中保存的社交关系数据中还包括动态社交关系数据,则还可根据社交账户m1和社交账户b在应用1中的动态社交关系数据,确定社交账户m1和社交账户b之间的第二社交关系值。

进一步地,根据以下公式确定社交账户m1和社交账户b之间的亲密度Q:

Q=α*S1+β*S2;

其中,S1为社交账户m1和社交账户b之间的第一社交关系值,S2为社交账户m1和社交账户b之间的第二社交关系值,α、β为预设权重。

然后,可对确定的各亲密度进行排序,取亲密度排名靠前的10个社交账户推荐给社交账户b。

当本公开实施例中提供的方法以软件或硬件或软硬件结合实现的时候,电子设备中可以包括多个功能模块,每个功能模块可以包括软件、硬件或其结合。

具体的,图9是根据一示例性实施例示出的一种社交账户推荐装置的框图,该装置包括接收模块901,获取模块902,亲密度确定模块903和推荐模块904。

接收模块901,被配置为执行接收用于表示第一社交账户进入指定应用中社交账户推荐界面的消息,所述消息中携带有所述第一社交账户的账户标识;

获取模块902,被配置为执行根据所述账户标识,从建立的社交关系库中获取所述第一社交账户的社交关系网,所述社交关系网中保存有与所述第一社交账户在不同应用中具有直接社交关系和间接社交关系的社交关系数据;

亲密度确定模块903,被配置为执行根据所述社交关系网,确定与所述第一社交账户在所述指定应用中具有间接社交关系的每个第二社交账户和所述第一社交账户之间的亲密度,所述亲密度用于表征所述第一社交账户和所述第二社交账户在所述指定应用中建立直接社交关系的概率;

推荐模块904,被配置为执行根据确定的各第二社交账户和所述第一社交账户之间的亲密度,在所述社交账户推荐界面上向所述第一社交账户推荐社交账户。

在一种可能的实施方式下,所述社交关系数据至少包括静态社交关系数据,所述亲密度确定模块903具体包括:

社交关系值计算单元9031,被配置为执行根据所述社交关系网中的所述静态社交关系数据,确定所述第二社交账户和所述第一社交账户之间的第一社交关系值,所述第一社交关系值用于表征所述第一社交账户和所述第二社交账户通过所述静态社交关系数据在所述指定应用中建立直接社交关系的概率;

亲密度计算单元9032,被配置为执行根据所述第一社交关系值,确定所述第二社交账户和所述第一社交账户之间的亲密度。

在一种可能的实施方式下,所述社交关系值计算单元9031被具体配置为执行:

从所述社交关系网中选择从所述第一社交账户到所述第二社交账户之间的至少一条社交链路;

根据各条社交链路上的相邻社交账户在不同应用中的静态社交关系数据,确定所述第二社交账户和所述第一社交账户之间的第一社交关系值,所述相邻社交账户是指每条社交链路上具有直接社交关系的两个社交账户。

在一种可能的实施方式下,所述社交关系值计算单元9031被具体配置为执行:

根据每条社交链路上的各相邻社交账户在不同应用中的静态社交关系数据,确定所述社交链路的社交关系值,所述社交链路的社交关系值用于表征所述第一社交账户和所述第二社交账户通过所述社交链路在所述指定应用中建立直接社交关系的概率;

根据各社交链路的社交关系值,确定所述第二社交账户和所述第一社交账户之间的第一社交关系值。

在一种可能的实施方式下,所述社交关系值计算单元9031被具体配置为执行:

对所述社交链路上的每对相邻社交账户,根据所述相邻社交账户在不同应用中的静态社交关系数据,确定所述相邻社交账户之间的社交关系值,所述相邻社交账户之间的社交关系值用于表征所述相邻社交账户对所述社交链路的社交关系值的贡献大小;

根据各相邻社交账户之间的社交关系值,确定所述社交链路的社交关系值。

在一种可能的实施方式下,所述社交关系值计算单元9031被具体配置为执行:

根据所述相邻社交账户在每个应用中的静态社交关系数据,以及预设的所述应用中的静态社交关系数据与社交关系值之间的转换关系,确定所述相邻社交账户在所述应用中的社交关系值,所述相邻社交账户在所述应用中的社交关系值用于表征所述应用对所述相邻社交账户之间的社交关系值的贡献大小;

根据所述相邻社交账户在各应用中的社交关系值,确定所述相邻社交账户之间的社交关系值。

在一种可能的实施方式下,若所述社交关系数据还包括动态社交关系数据,则

所述社交关系值计算单元9031,还被配置为执行根据所述社交关系网中的所述动态社交关系数据,确定所述第二社交账户和所述第一社交账户之间的第二社交关系值,所述第二社交关系值用于表征所述第一社交账户和所述第二社交账户通过所述动态社交关系数据在所述指定应用中建立直接社交关系的概率;

所述亲密度计算单元9032,还被配置为执行根据所述第一社交关系值和所述第二社交关系值,确定所述二社交账户和所述第一社交账户之间的亲密度。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本公开各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

图10是根据一示例性实施例示出的一种电子设备的结构示意图,该电子设备包括收发器1001以及处理器1002等物理器件,其中,处理器1002可以是一个中央处理单元(central processing unit,CPU)、微处理器、专用集成电路、可编程逻辑电路、大规模集成电路、或者为数字处理单元等等。收发器1001用于电子设备和其他设备进行数据收发。

该电子设备还可以包括存储器1003用于存储处理器1002执行的软件指令,当然还可以存储电子设备需要的一些其他数据,如电子设备的标识信息、电子设备的加密信息、用户数据等。存储器1003可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1003也可以是非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1003是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1003可以是上述存储器的组合。

本公开实施例中不限定上述处理器1002、存储器1003以及收发器1001之间的具体连接介质。本公开实施例在图10中仅以存储器1003、处理器1002以及收发器1001之间通过总线1004连接为例进行说明,总线在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

处理器1002可以是专用硬件或运行软件的处理器,当处理器1002可以运行软件时,处理器1002读取存储器1003存储的软件指令,并在所述软件指令的驱动下,执行前述实施例中涉及的社交账户推荐方法。

本公开实施例还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,所述电子设备能够执行前述实施例中涉及的社交账户推荐方法。

在一些可能的实施方式中,本公开提供的社交账户推荐方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行前述实施例中涉及的社交账户推荐方法。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

本公开实施方式提供的用于社交账户推荐的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言诸如Java、C++等,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。

显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

相关技术
  • 一种社交账户推荐方法、装置、电子设备和存储介质
  • 账户推荐方法、装置、电子设备、计算机可读存储介质
技术分类

06120113255495