结合节点和边进行网络图嵌入的方法和装置与流程

文档序号:18165206发布日期:2019-07-13 09:33阅读:578来源:国知局
结合节点和边进行网络图嵌入的方法和装置与流程

本说明书实施例涉及计算机信息处理技术领域,更具体地,涉及获取关系网络图中的节点的点嵌入向量和上下文嵌入向量、及边的边嵌入向量的方法和装置。



背景技术:

关系网络图是对现实世界中实体之间的关系的描述,目前广泛地应用于各种计算机信息处理中。一般地,关系网络图包含一个节点集合和一个边集合,节点表示现实世界中的实体,边表示现实世界中实体之间的联系。例如,在社交网络中,人就是实体,人和人之间的关系或联系就是边。

在许多情况下,希望将关系网络图中的每个节点(实体)用多维空间中的坐标值来表示,也就是将各个节点映射到一个多维空间中,用多维空间中的点代表图中的节点。用多维空间的坐标来表达图中的节点,可以应用于计算节点和节点之间的相似度,发现图中的社团结构,预测未来可能形成的边联系,以及对图进行可视化等。将图中的节点映射到多维空间的过程称为图嵌入。利用关系网络的图嵌入,能够挖掘出用户和商品之间在低维向量空间上的特征表示,利用空间距离或者将低维向量加入到分类器模型中,提高用户推荐商品的质量,从而提高用户的满意度和购买转化率

图嵌入是一种非常重要的基础技术能力。当前学术界已研究出多种图嵌入方法,如deepwalk,node2vec,graphrep等。但由于这些算法内部均采用了蒙特卡洛采样方法,计算效率比较低。当图的规模变得很大时(如支付宝朋友关系网络有5亿以上节点),进行图嵌入计算将耗费巨大的计算资源。

因此,需要一种更有效的对关系网络图进行图嵌入的方案。



技术实现要素:

本说明书实施例旨在提供一种更有效的结合节点和边的网络图嵌入的方案,以解决现有技术中的不足。

为实现上述目的,本说明书一个方面提供一种获取关系网络图中的节点的点嵌入向量的方法,所述点嵌入向量为预定嵌入空间中的向量,所述方法包括:

对于所述关系网络图中的第一节点,获取所述第一节点、所述第一节点的相邻节点、及预定数目的所述第一节点的不相邻节点各自的当前点嵌入向量,并获取所述第一节点的相连边、及预定数目的所述第一节点的不相连边各自的当前边嵌入向量,其中,所述当前点嵌入向量和所述当前边嵌入向量都为所述嵌入空间中的向量;

获取第一目标函数,其中,所述第一目标函数中的第一项为关于第一节点与各个所述相邻节点之间的相似性的减函数之和,所述第一目标函数中的第二项为关于第一节点与各个所述不相邻节点之间的相似性的增函数之和,其中,所述关系网络图中的任一对节点之间的相似性与该对节点各自的点嵌入向量相关;

获取第二目标函数,其中,所述第二目标函数的第一项为关于所述第一节点与各个所述相连边之间的相似性的减函数之和,所述第二目标函数的第二项为关于所述第一节点与各个所述不相连边之间的相似性的增函数之和,其中,节点与边之间的相似性与该节点的点嵌入向量和该边的边嵌入向量相关;以及

基于第一目标函数与第二目标函数的加权和、各个所述当前点嵌入向量、以及各个当前边嵌入向量,通过随机梯度下降法更新所述第一节点的点嵌入向量,以使得所述第一目标函数与第二目标函数的加权和的值减小。

在一个实施例中,所述关系网络图为有向图,其中,所述第一目标函数还包括第三项和第四项,其中,所述第三项为关于各个以第一节点为相邻节点的节点与第一节点之间的相似性的减函数之和,所述第四项为关于预定数目的不以第一节点为相邻节点的节点与第一节点之间的相似性的增函数之和。

在一个实施例中,所述第一节点还具有上下文嵌入向量,其中,所述上下文嵌入向量为所述嵌入空间中的向量,

其中,所述第一目标函数还包括第三项和第四项,其中,所述第三项为关于各个以第一节点为相邻节点的节点与第一节点之间的相似性的减函数之和,所述第四项为关于预定数目的不以第一节点为相邻节点的节点与第一节点之间的相似性的增函数之和,其中,节点i与节点j之间的相似性与该对节点各自的点嵌入向量、及节点j的上下文嵌入向量相关,其中节点i和节点j分别为所述关系网络图中的任一节点。

在一个实施例中,所述一对节点之间的相似性为该对节点各自的点嵌入向量的点积的增函数。

在一个实施例中,节点i与节点j之间的相似性为关于以下两部分的加权和的增函数:该对节点各自的点嵌入向量的点积,及节点i的点嵌入向量与节点j的上下文嵌入向量的点积。

在一个实施例中,所述第一目标函数的第一项在取负后为第一节点与各个所述相邻节点之间的相似性的对数的加权和,其中,用于获取所述加权和的权重为第一节点与相应相邻节点之间的边值。

在一个实施例中,预定数目的所述第一节点的不相邻节点从所述第一节点的全部不相邻节点中随机获取,预定数目的所述第一节点的不相连边从所述第一节点的全部不相连边随机获取。

在一个实施例中,所述方法循环进行多次直到收敛,其中,在第一次循环进行之前,各个所述当前点嵌入向量和各个所述当前边嵌入向量随机获取。

在一个实施例中,所述第一节点的上下文嵌入向量通过以下步骤获取:

获取所述第一节点、以第一节点为相邻节点的节点、及预定数目的不以第一节点为相邻节点的节点各自的当前点嵌入向量,并获取所述第一节点的当前上下文嵌入向量;

获取第三目标函数,其中,所述第三目标函数中的第一项为关于各个以第一节点为相邻节点的节点与第一节点之间的相似性的减函数之和,所述第三目标函数中的第二项为关于预定数目的不以第一节点为相邻节点的节点与第一节点之间的相似性的增函数之和;以及

基于第三目标函数、所述第一节点、以第一节点为相邻节点的节点、及预定数目的不以第一节点为相邻节点的节点各自的当前点嵌入向量、和所述第一节点的当前上下文嵌入向量,通过随机梯度下降法更新该第一节点的上下文嵌入向量,以使得所述第三目标函数的值减小。

在一个实施例中,所述第一节点的相连边及预定数目的不相连边中包括第一边,所述第一边的边嵌入向量通过以下步骤获取:

获取所述第一边、所述第一边的相邻边、及预定数目的所述第一边的不相邻边各自的当前边嵌入向量、以及所述第一边的相连节点和预定数目的所述第一边的不相连节点各自的当前点嵌入向量,其中,所述当前点嵌入向量和所述当前边嵌入向量都为所述嵌入空间中的向量;

获取第四目标函数,其中,所述第四目标函数中的第一项为关于所述第一边与其各个相邻边之间的相似性的减函数之和,所述第四目标函数中的第二项为关于所述第一边与其各个不相邻边之间的相似性的增函数之和,其中,所述关系网络图中的任一对边之间的相似性与该对边各自的边嵌入向量相关;

获取第五目标函数,其中,所述第五目标函数的第一项为关于所述第一边与其各个相连节点之间的相似性的减函数之和,所述第五目标函数的第二项为关于所述第一边与其各个不相连节点之间的相似性的增函数之和,其中,所述关系网络图中的任一节点与任一边之间的相似性与该节点的点嵌入向量和该边的边嵌入向量相关;以及

基于第四目标函数与第五目标函数的加权和、所述第一边、所述第一边的相邻边、及预定数目的所述第一边的不相邻边各自的当前边嵌入向量、以及所述第一边的相连节点和预定数目的所述第一边的不相连节点各自的当前点嵌入向量,通过随机梯度下降法更新该第一边的边嵌入向量,以使得所述第四目标函数与第五目标函数的加权和的值减小。

在一个实施例中,所述第四目标函数的第一项在取负后为第一边与各个所述相邻边之间的相似性的对数的加权和,其中,用于获取所述加权和的权重基于第一边及各个所述相邻边各自的属性特征获取。

在一个实施例中,所述属性特征为相应边对应的文本,所述第一边与各个所述相邻边之间的相似性的对数的权重基于所述第一边与各个所述相邻边的边上文本相似性获取。

本说明书另一方面提供一种向平台中用户推荐商品的方法,包括:

获取平台中多个用户之间的关系网络图,其中,所述关系网络图中的多个节点与平台中的多个用户分别对应,所述关系网络图中的边表示其连接的两个节点分别对应的用户共同购买有至少一个商品,所述关系网络图中包括与平台中第一用户对应的第一用户节点;

基于所述关系网络图,通过根据上述任一项方法,获取所述关系网络图中各个节点的点嵌入向量;

基于各个节点的点嵌入向量,计算其他用户对应的节点与第一用户节点之间的相似性;以及

基于所述相似性,向所述第一用户推荐商品。

在一个实施例中,获取所述关系网络图中各个节点的点嵌入向量包括,获取所述关系网络图中各个节点的点嵌入向量和上下文嵌入向量,其中,基于各个节点的点嵌入向量,计算其他用户对应的节点与第一用户节点之间的相似性包括,基于各个节点的点嵌入向量和上下文嵌入向量,计算其他用户对应的节点与第一用户节点之间的相似性。

本说明书另一方面提供一种向平台中用户推荐商品的方法,包括:

获取平台中多个用户之间的关系网络图,其中,所述关系网络图中的多个节点与平台中的多个用户分别对应,所述关系网络图中的边表示其连接的两个节点分别对应的用户共同购买有至少一个商品,所述关系网络图中包括与平台中第一用户对应的第一用户节点;

基于所述关系网络图,通过上述任一项嵌入向量计算方法,获取所述第一用户节点的点嵌入向量;

将第一用户节点的点嵌入向量输入预先训练的分类模型,以确定第一用户是否喜欢特定商品;以及

在基于所述模型的输出确定第一用户喜欢所述特定商品的情况中,向第一用户推荐所述特定商品。

本说明书另一方面提供一种获取关系网络图中的节点的点嵌入向量的装置,所述点嵌入向量为预定嵌入空间中的向量,所述装置包括:

第一获取单元,对于所述关系网络图中的第一节点,获取所述第一节点、所述第一节点的相邻节点、及预定数目的所述第一节点的不相邻节点各自的当前点嵌入向量,并获取所述第一节点的相连边、及预定数目的所述第一节点的不相连边各自的当前边嵌入向量,其中,所述当前点嵌入向量和所述当前边嵌入向量都为所述嵌入空间中的向量;

第二获取单元,获取第一目标函数,其中,所述第一目标函数中的第一项为关于第一节点与各个所述相邻节点之间的相似性的减函数之和,所述第一目标函数中的第二项为关于第一节点与各个所述不相邻节点之间的相似性的增函数之和,其中,所述关系网络图中的任一对节点之间的相似性与该对节点各自的点嵌入向量相关;

第三获取单元,获取第二目标函数,其中,所述第二目标函数的第一项为关于所述第一节点与各个所述相连边之间的相似性的减函数之和,所述第二目标函数的第二项为关于所述第一节点与各个所述不相连边之间的相似性的增函数之和,其中,节点与边之间的相似性与该节点的点嵌入向量和该边的边嵌入向量相关;以及

更新单元,基于第一目标函数与第二目标函数的加权和、各个所述当前点嵌入向量、以及各个当前边嵌入向量,通过随机梯度下降法更新所述第一节点的点嵌入向量,以使得所述第一目标函数与第二目标函数的加权和的值减小。

本说明书另一方面提供一种上下文嵌入向量计算装置,包括:

第一获取单元,配置为,获取所述第一节点、以第一节点为相邻节点的节点、及预定数目的不以第一节点为相邻节点的节点各自的当前点嵌入向量,并获取所述第一节点的当前上下文嵌入向量;

第二获取单元,配置为,获取第三目标函数,其中,所述第三目标函数中的第一项为关于各个以第一节点为相邻节点的节点与第一节点之间的相似性的减函数之和,所述第三目标函数中的第二项为关于预定数目的不以第一节点为相邻节点的节点与第一节点之间的相似性的增函数之和;以及

更新单元,配置为,基于第三目标函数、所述第一节点、以第一节点为相邻节点的节点、及预定数目的不以第一节点为相邻节点的节点各自的当前点嵌入向量、和所述第一节点的当前上下文嵌入向量,通过随机梯度下降法更新该第一节点的上下文嵌入向量,以使得所述第三目标函数的值减小。

本说明书另一方面提供一种边嵌入向量计算装置,包括:

第一获取单元,配置为,获取所述第一边、所述第一边的相邻边、及预定数目的所述第一边的不相邻边各自的当前边嵌入向量、以及所述第一边的相连节点和预定数目的所述第一边的不相连节点各自的当前点嵌入向量,其中,所述当前点嵌入向量和所述当前边嵌入向量都为所述嵌入空间中的向量;

第二获取单元,配置为,获取第四目标函数,其中,所述第四目标函数中的第一项为关于所述第一边与其各个相邻边之间的相似性的减函数之和,所述第四目标函数中的第二项为关于所述第一边与其各个不相邻边之间的相似性的增函数之和,其中,所述关系网络图中的任一对边之间的相似性与该对边各自的边嵌入向量相关;

第三获取单元,配置为,获取第五目标函数,其中,所述第五目标函数的第一项为关于所述第一边与其各个相连节点之间的相似性的减函数之和,所述第五目标函数的第二项为关于所述第一边与其各个不相连节点之间的相似性的增函数之和,其中,所述关系网络图中的任一节点与任一边之间的相似性与该节点的点嵌入向量和该边的边嵌入向量相关;以及

更新单元,配置为,基于第四目标函数与第五目标函数的加权和、所述第一边、所述第一边的相邻边、及预定数目的所述第一边的不相邻边各自的当前边嵌入向量、以及所述第一边的相连节点和预定数目的所述第一边的不相连节点各自的当前点嵌入向量,通过随机梯度下降法更新该第一边的边嵌入向量,以使得所述第四目标函数与第五目标函数的加权和的值减小。

在一个实施例中,所述第四目标函数的第一项在取负后为第一边与各个所述相邻边之间的相似性的对数的加权和,其中,用于获取所述加权和的权重基于第一边及各个所述相邻边各自的属性特征获取。

在一个实施例中,所述属性特征为相应边对应的文本,所述第一边与各个所述相邻边之间的相似性的对数的权重基于所述第一边与各个所述相邻边的边上文本相似性获取。

本说明书另一方面提供一种向平台中用户推荐商品的装置,包括:

第一获取单元,配置为,获取平台中多个用户之间的关系网络图,其中,所述关系网络图中的多个节点与平台中的多个用户分别对应,所述关系网络图中的边表示其连接的两个节点分别对应的用户共同购买有至少一个商品,所述关系网络图中包括与平台中第一用户对应的第一用户节点;

第二获取单元,配置为,基于所述关系网络图,通过上述任一项嵌入向量获取装置,获取所述关系网络图中各个节点的点嵌入向量;

计算单元,配置为,基于各个节点的点嵌入向量,计算其他用户对应的节点与第一用户节点之间的相似性;以及

推荐单元,配置为,基于所述相似性,向所述第一用户推荐商品。

在一个实施例中,所述第二获取单元还配置为,基于所述关系网络图,获取所述关系网络图中各个节点的点嵌入向量和上下文嵌入向量,其中,所述计算单元还配置为,基于各个节点的点嵌入向量和上下文嵌入向量,计算其他用户对应的节点与第一用户节点之间的相似性。

本说明书另一方面还提供一种向平台中用户推荐商品的装置,包括:

第一获取单元,配置为,获取平台中多个用户之间的关系网络图,其中,所述关系网络图中的多个节点与平台中的多个用户分别对应,所述关系网络图中的边表示其连接的两个节点分别对应的用户共同购买有至少一个商品,所述关系网络图中包括与平台中第一用户对应的第一用户节点;

第二获取单元,配置为,基于所述关系网络图,通过上述任一项嵌入向量获取装置,获取所述第一用户节点的点嵌入向量;

输入单元,配置为,将第一用户节点的点嵌入向量输入预先训练的分类模型,以确定第一用户是否喜欢特定商品;以及

推荐单元,配置为,在基于所述模型的输出确定第一用户喜欢所述特定商品的情况中,向第一用户推荐所述特定商品。

本说明书另一方面还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。

本说明书另一方面还提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。

通过根据本说明书实施例的嵌入方案,将节点的嵌入向量和边的嵌入向量联合起来考虑,在目标函数中将节点的目标函数、边的目标函数以及节点和边之间的目标函数综合考虑,形成总的目标函数,另外,在处理节点之间的相似度中,综合考虑了节点之间的直接相连和间接相连的信息,从而使得图嵌入数据的准确性更高。

附图说明

通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:

图1为根据本说明书实施例的关系网络图的示意图;

图2示出根据本说明书实施例的获取关系网络图中的节点的点嵌入向量的方法;

图3示出根据本说明书实施例的用于获取节点的上下文嵌入向量的方法流程图;

图4示出根据本说明书实施例的获取关系网络图中边的边嵌入向量的方法流程图;

图5示出根据本说明书实施例的一种向平台中用户推荐商品的方法流程图;

图6示出根据本说明书实施例的一种向平台中用户推荐商品的方法流程图;

图7示出根据本说明书实施例的一种获取关系网络图中的节点的点嵌入向量的装置700;

图8示出根据本说明书实施例的一种上下文嵌入向量计算装置800;

图9示出根据本说明书实施例的一种边嵌入向量计算装置900;

图10示出根据本说明书实施例的一种向平台中用户推荐商品的装置1000;

图11示出根据本说明书实施例的一种向平台中用户推荐商品的装置1100。

具体实施方式

下面将结合附图描述本说明书实施例。

图1为根据本说明书实施例的关系网络图的示意图。如图1所示,该关系网络图包括多个节点,为了清楚起见,图1中为这些节点进行了编号。在这些节点中,具有关联关系的节点之间用边进行连接。在一个例子中,图1中的节点表示电商平台中的用户,当两个用户共同购买了的相同的商品时,则在两个用户对应的两个节点之间存在边。该边的值例如对应于共同购买的商品数目、或者共同购买的商品所属的相同商品类目的数目等等。因此,例如,基于两个用户之间共同购买的商品的数目的不同,该两个用户对应的两个节点之间的边具有不同的边值。通过根据本说明书实施例的嵌入方案将该电商平台中的关系网络图中的各节点和各个边嵌入到预定嵌入空间,例如,可基于各节点之间的在嵌入空间中的空间距离,将距离第一用户节点较近的第二用户节点的购买商品推荐给第一用户,从而提高对用户推荐的商品的有效性。例如,还可以将各个节点的嵌入特征及节点对应的用户属性特征(如性别、年龄、历史偏好等)输入预定分类器模型中,该模型可对用户是否喜欢特定商品进行分类,从而可根据模型分类结果确定是否对用户推荐所述特定商品。

下面描述本说明书实施例所提供的图嵌入的方法。

图2示出根据本说明书实施例的获取关系网络图中的节点的点嵌入向量的方法,所述点嵌入向量为预定嵌入空间中的向量,所述方法包括:

在步骤s202,对于所述关系网络图中的第一节点,获取所述第一节点、所述第一节点的相邻节点、及所述第一节点的预定数目的不相邻节点各自的当前点嵌入向量,并获取所述第一节点的相连边、及所述第一节点的预定数目的不相连边各自的当前边嵌入向量,其中,所述当前点嵌入向量和所述当前边嵌入向量都为所述嵌入空间中的向量;

在步骤s204,获取第一目标函数,其中,所述第一目标函数中的第一项为关于第一节点与各个所述相邻节点之间的相似性的减函数,所述第一目标函数中的第二项为关于第一节点与各个所述不相邻节点之间的相似性的增函数,其中,所述关系网络图中的任一对节点之间的相似性与该对节点各自的点嵌入向量相关;

在步骤s206,获取第二目标函数,其中,所述第二目标函数的第一项为关于所述第一节点与各个所述相连边之间的相似性的减函数,所述第二目标函数的第二项为关于所述第一节点与各个所述不相连边之间的相似性的增函数,其中,节点与边之间的相似性与该节点的点嵌入向量和该边的边嵌入向量相关;以及

在步骤s208,基于第一目标函数与第二目标函数的加权和、各个所述当前点嵌入向量、以及各个当前边嵌入向量,通过随机梯度下降法更新所述第一节点的点嵌入向量,以使得所述第一目标函数与第二目标函数的加权和的值减小。

首先,在步骤s202,对于所述关系网络图中的第一节点,获取所述第一节点、所述第一节点的相邻节点、及所述第一节点的预定数目的不相邻节点各自的当前点嵌入向量,并获取所述第一节点的相连边、及所述第一节点的预定数目的不相连边各自的当前边嵌入向量,其中,所述当前点嵌入向量和所述当前边嵌入向量都为所述嵌入空间中的向量。

在根据本说明书实施例中,将关系网络图中的节点嵌入到预定嵌入空间中,例如,嵌入到d维嵌入空间中。所述关系网络图例如包括n个节点,其中例如包括节点i,节点i的d维点嵌入向量例如可表示为在本说明书实施例中,通过将图2所示方法循环迭代多次,例如1000次,从而使得各节点的嵌入向量得到收敛,从而获取最终的各节点的嵌入向量。例如,在开始所述循环之前,可通过随机获取而确定各个节点的初始嵌入向量,例如通过随机获取各个嵌入向量中各个维度的元素值,从而,获取各个节点的初始点嵌入向量作为第一次循环中各个节点的当前点嵌入向量。在所述循环开始之后,在当前次循环中,获取上一次循环计算的各个节点的点嵌入向量作为各个节点的当前点嵌入向量。在本说明书实施例中,在计算各节点的点嵌入向量时,需要结合边的边嵌入向量进行计算,其中,i表示第i条边。因此,在通过图2所示方法更新各节点的点嵌入向量的同时,还需要通过下文所述方法更新各个边的边嵌入向量。通常,可同时进行对节点的点嵌入向量的更新和对边的边嵌入向量的更新,从而,同样地,在开始循环之前,可随机获取各个边的边嵌入向量,在开始循环之后,可获取上一次循环获取的各个边的边嵌入向量作为当前次循环的各个边的当前边嵌入向量。

对于关系网络中的第一节点,例如节点i,其具有至少一个相邻节点j(即,一阶邻居节点)、多个非相邻节点、至少一个相连边(即节点i与其相邻节点j之间的边)、及多个非相连的边,因此,获取所述节点i、至少一个节点j、及所述节点i的预定数目的不相邻节点各自的当前点嵌入向量,并获取节点i的相连边、及所述节点i的预定数目的不相连边各自的当前边嵌入向量,以用于下文中对节点i的点嵌入向量的计算。也就是说,在本说明书实施例中,基于节点i的相邻节点、相连边及预定数目的非相邻节点和非相连边更新节点i的点嵌入向量。所述预定数目可基于模型准确度的要求而确定,例如可以为几十个、几百个等等。

在一个实施例中,上述各个节点除了具有各自的点嵌入向量之外,还具有各自的上下文嵌入向量其中i表示第i个节点。节点i的上下文嵌入向量表示节点i的上下文(context)信息,从而可如下文所述用于计算节点之间的相似性。在该情况中,在该步骤中,为了计算节点i的点嵌入向量,除了获取上述各个点嵌入向量和边嵌入向量之外,还需要获取所述至少一个节点j、及所述节点i的预定数目的不相邻节点各自的当前上下文嵌入向量,以用于后续的计算。

在一个实施例中,所述关系网络图为有向图,在该情况中,根据边的箭头指向,可能存在节点i是节点j的相邻点(相邻邻居节点),但是节点j不是节点i的相邻点的情况中。在该情况中,需要获取的用于后续计算的节点嵌入向量和边嵌入向量也相应地不同。

在步骤s204,获取第一目标函数,其中,所述第一目标函数中的第一项为关于第一节点与各个所述相邻节点之间的相似性的减函数,所述第一目标函数中的第二项为关于第一节点与各个所述不相邻节点之间的相似性的增函数,其中,所述关系网络图中的任一对节点之间的相似性与该对节点各自的点嵌入向量相关。

本说明书实施例的方案基于极大似然估计方法。例如,在上述商品推荐的场景中,当两个用户购买相同的商品时,这两个用户分别对应的节点之间存在边。也就是说,当两个节点是相邻节点时,该两个节点之间的相似性较大,而当两个节点不是相邻节点时,该两个节点之间的相似性较小。从而,在本说明书实施例中,可基于极大似然估计,对如下的公式(1)进行求解:

如公式(1)所示,(i,j)∈e表示节点i和节点j通过一条边连接,即,节点i与节点j为关系网络图中互为相邻节点的任一对节点,表示节点h和节点k为关系网络图中不是相邻节点的任意一对节点,为节点i与节点j之间的相似概率(相似性),同样地解释。这里,尽管在该具体的商品推荐场景中,将用于表示节点间的相似性,然而,在其它场景的关系网络图中,可用于表示节点间的其它关系。例如,在支付平台中,在各个用户之间的关系网络图中,各个边表示各个用户之间的各种关联性,如转账关系、好友关系等,则可用于表示节点间的关联性或者距离等。

也就是说,根据公式(1),最后解出的各个节点的点嵌入向量(或者各个节点的点嵌入向量和上下文嵌入向量)应使得,通过其计算的相邻节点之间的相似性较大、非相邻节点之间的不相似性(即,)较大,从而使得其乘积最大。

在一个实施例中,通过以下公式(2)计算上述

即,该相似概率为关于节点i和节点j各自的点嵌入向量的点积的增函数,该点积越大,表示节点i与节点j在嵌入空间中的角度越小,则节点i与节点j直接连接的可能性越大,因此,其相似性越大。

在一个实施例中,如上文所述,各个节点除了具有点嵌入向量之外,还具有上下文嵌入向量,则可通过如下公式(3)计算上述

如公式(3)所示,节点i与节点j之间的相似性为关于以下两部分的加权和的增函数:该对节点各自的点嵌入向量的点积,及节点i的点嵌入向量与节点j的上下文嵌入向量的点积。其中,如上文所述,对应于两个节点之间的直接连接概率,其值越大,说明两个节点的直接连接的可能性越大,其代表局部相连的信息。对应于两个节点之间的间接连接概率,其值越大说明两个节点的间接相连的可能性越大,其代表全局相连的信息。

可以理解,对节点间的相似性的计算不限于上述公式(2)和(3),而可以是通过本领域技术人员可获得的各种相似性计算方法,例如,所述相似性可以为余弦相似性、欧式距离等等。

对于上述对公式(1)的求解,根据本领域技术人员已知的,可通过对公式(1)取对数,从而将乘积转换为加和,以便于计算。在一个实施例中,在对公式(1)取对数并取负之后,可得到如公式(4)所示的对应于全部节点之间相似性的子目标函数lv,

在上述公式(4)中,i的取值为1至n,即,对关系网络图中的每个节点进行加和,节点j为节点i的相邻节点(相邻邻居节点),j的个数为节点i的相邻节点的个数,节点k为节点i的非相邻节点,k的个数为预定数目。通过对公式(1)取对数并取负,求解公式(1)可转变为求解公式(4)中的参数(即各个嵌入向量),以使得公式(4)的值最小,从而可通过将在下文描述的随机梯度下降法(sgd)进行求解,从而,公式(4)可理解为梯度下降法中的损失函数,而通过梯度下降法求解的过程可理解为模型训练的过程。

在一个实施例中,可根据预定规则确定预定数目的非相邻节点k,例如,通过选取节点i的预定阶数以外的预定数目的邻居节点作为节点k等等。在一个实施例中,可在节点i的全部非相邻节点中随机选取预定数目的非相邻节点作为节点k,从而节点k例如可以为节点i的二阶邻居节点、三阶邻居节点、多阶邻居节点、与节点i不相连(间接或直接)的节点等等。

在一个实施例中,在对公式(1)取对数并取负之后,还对公式(4)中加和的各项增加权重wij,从而获取公式(5)所示的对应于全部节点之间相似性的目标函数:

其中,该权重wij例如可以取为节点i与其各个相邻节点之间的边值。通过在目标函数(5)中包括权重wij,由于该权重的作用,在求解嵌入向量以使得目标函数(5)不断减小的过程中,节点i与其相邻节点之间的边值越大,使得节点i与该相邻节点之间的相似性越来越大,这也符合了关系网络图中的实际情况。因此,通过增加该权重,可使得计算结果更加准确。

与上述获取全部节点直接相似性的子目标函数过程类似地,利用关系网络图中边与边之间相似性的极大似然估计,可获取与公式(4)和(5)分别类似的对应于网络图中全部边之间相似性的子目标函数le的公式(6)和(7):

其中,i的取值为1至n,n为关系网络图中的总边数,即,对关系网络图中的每个边进行加和,j为边i的相邻边的标识,即,即边i与边j之间间隔一个节点,j的个数为1或2,k为边i的非相邻边的标识,k的个数为预定数目,其中可通过与公式(2)类似的公式计算;

其中,权重w′ij例如可以基于边i及其各个所述相邻边各自的属性特征获取。例如,在商品推荐场景中,各个边对应于其连接的两个用户节点共同购买的商品,其中,共同购买的商品越多,边的值越大,或者,共同购买的商品所属的类目越多,边的值越大。因此,例如,在边的值对应于共同购买的商品数的情况中,该边的边上文本对应于其连接的两个用户节点共同购买的商品名列表,因此,可基于边i与其各个相邻边之间的边上文本的相似性,获取所述各个权重w′ij。在其他场景中,根据具体的场景内容,边的属性特征可能不是文本特征,或者可能是其他内容的文本特征,从而,可基于具体场景设定对权重w′ij的计算。例如,也可以基于边i的边值与其各个所述相邻边各自的边值的比值获取各个权重w′ij。

最后,利用关系网络图中的节点与边之间的相似性的极大似然估计,可类似地获取如公式(8)所示的对应于全部节点和全部边中节点与边之间相似性的子目标函数lve,

其中,i的取值为1至n,即,对关系网络图中的每个节点进行加和,p为节点i的相连边的标识,即,节点i与边ep的一端直接连接,且p的个数为节点i的相邻节点的个数,q为节点i的非相连边的标识,q的个数为预定数目,其中可通过与公式(2)类似的公式计算。

在如上所述获取上述三个子目标函数lv、le和lve之后,可基于其获取如公式(9)所示的总目标函数l,

l=lv+αle+βlve(9)

其中,α和β为预定权重,以设置lv、le和lve各自的重要程度。该总目标函数可用于下面步骤中的随机梯度下降算法中。

尽管在上文中建立了关于各个节点和各个边的统一的总目标函数l,在本说明书实施例中不限于此。例如,可针对节点i,建立仅与其对应的目标函数。对于节点i,可类似地通过关于节点i的极大似然估计算法获取如公式(10)所示的对应于节点i与其它节点相似性的子目标函数

其中,在公式(10)中,右侧第一项为节点i与各个节点j的相似性的减函数f(x)之和,其中右侧第二项为节点i与各个节点k的相似性的增函数g(x)之和,其中,其中,与上文类似地,节点j为节点i的相邻节点(相邻邻居节点),j的个数节点i的相邻节点的个数,节点k为节点i的非相邻节点,k的个数为预定数目。可以理解,这里尽管采用了如公式(10)中的减函数f(x)和增函数g(x)中的具体形式,本说明书实施例不限于此,而可以根据具体数据情况及计算需要,任意设定f(x)和g(x)的具体形式。其中,f(x)中的倍数2是将之和用表示,这在无向网络图、且通过公式(2)计算节点间相似性的情况中是成立的,在有向图、或通过公式(3)计算节点间相似性的情况中可近似成立。

在一个实施例中,每个节点还具有上下文嵌入向量,从而可通过公式(3)计算节点i与节点j之间的相似性。在该情况中,节点i与节点j之间的相似性与节点j与节点i之间的相似性可能略微不同,在该情况中,为了使计算结果更加准确,还可以基于如下公式(11)获取子目标函数

公式(11)相比于公式(10)在右侧除了在第一、第二项中没有倍数2之外、还增加了第三项和第四项,其中,所述第三项为关于各个以节点i为相邻节点的节点j’与节点i之间的相似性的减函数之和,所述第四项为关于预定数目的不以节点i为相邻节点的节点k’与节点i之间的相似性的增函数之和。其中,在所述关系网络图为无向图的情况中,j’即为j,即,在节点j是节点i的相邻节点的情况中,节点i也同时是节点j的相邻节点;在所述关系网络图为有向图的情况中,j’不一定为j,即,在节点j是节点i的相邻节点的情况中,节点i不一定同时是节点j的相邻节点。

在一个实施例中,所述关系网络图为有向图,在该情况中,节点i的相邻节点j与以节点i为相邻节点的节点j’可能不完全相同,或者完全不同,从而可同样地采用公式(11)作为子目标函数即,相比于公式(10)在右侧增加了第三项和第四项,其中,所述第三项为关于各个以节点i为相邻节点的节点j’与节点i之间的相似性的减函数之和,所述第四项为关于预定数目的不以节点i为相邻节点的节点k’与节点i之间的相似性的增函数之和。另外,在有向图的情况中,wj′i也体现了边的方向性,即,wj′i与wij′为不同的边值。

在上文中,尽管获取了与公式(5)类似的节点i的子目标函数本说明书实施例不限于此,例如,也可以获取与公式(4)类似的节点i的子目标函数即,未考虑相邻节点间权重wij。

在建立了上述公式(4)、(5)、(10)、(11)中任一目标函数之后,即获取了可用于节点i的所述第一目标函数,即,该第一目标函数是对应于节点之间相似性的目标函数,且至少包括公式(10)或(11)右侧的多项。

如将在下文详细描述地,在本说明书实施例中,通过将图2所示方法循环迭代多次,从而获取最终的节点的点嵌入向量,因此,在第一次循环时,通过基于关系网络图中的节点i的网络结构建立用于节点i的第一目标函数而获取第一目标函数,在后续的多次循环中,可重复使用在第一次循环中建立的第一目标函数,而不用再次建立。

在步骤s206,获取第二目标函数,其中,所述第二目标函数的第一项为关于所述第一节点与各个所述相连边之间的相似性的减函数,所述第二目标函数的第二项为关于所述第一节点与各个所述不相连边之间的相似性的增函数,其中,节点与边之间的相似性与该节点的点嵌入向量和该边的边嵌入向量相关。

在获取节点i的对应于节点相似性的子目标函数之后,还可以类似地获取公式(12)所示的节点i的对应于节点与边之间相似性的子目标函数lie,

其中,与上文类似地,p为节点i的相连边的标识,即,节点i与边ep的一端直接连接,且p的个数为节点i的相邻节点的个数,q为节点i的非相连边的标识,q的个数为预定数目。

在建立了上述公式(8)或(12)中的目标函数之后,即获取了可用于节点i的所述第二目标函数,即,该第二目标函数是对应于节点与边之间相似性的目标函数,且至少包括公式(12)右侧的两项。

类似地,在第一次循环时,通过基于关系网络图中的节点i的网络结构建立用于节点i的第二目标函数而获取第二目标函数,在后续的多次循环中,可重复使用在第一次循环中建立的第二目标函数。

在步骤s208,基于第一目标函数与第二目标函数的加权和、各个所述当前点嵌入向量、以及各个当前边嵌入向量,通过随机梯度下降法更新所述第一节点的点嵌入向量,以使得所述第一目标函数与第二目标函数的加权和的值减小。

如上文所述,第一目标函数可以为上述公式(4)、(5)、(10)、(11)中任一目标函数,第二目标函数可以为与第一目标函数相应的公式(8)或(12)所示的目标函数。例如,第一目标函数与第二目标函数的加权和可以是公式(4)所示的lv与公式(8)所示的lve的加权和,或者可以是公式(9)所示的总目标函数l。

在一个实施例中,在如上所述获取上述子目标函数之后,可基于其获取如公式(13)所示的关于节点i的总目标函数liv,以作为第一目标函数与第二目标函数的加权和:

在获取第一目标函数与第二目标函数的加权和(例如liv)之后,可通过随机梯度下降法(sgd),如公式(14)所示更新节点i的点嵌入向量:

其中,γ为sgd中的更新步长。

在一个实施例中,节点之间的相似性通过上述公式(2)计算,从而,基于公式(14)、公式(13)、公式(10)和公式(12)可以得出,需要基于以下多项更新节点i的点嵌入向量(即当次循环将计算的):节点i的当前点嵌入向量(即上一次循环中计算的)、节点i的各个相邻节点j的当前点嵌入向量节点i的预定数目的不相邻节点k的当前点嵌入向量节点i的各个相连边的当前边嵌入向量以及节点i的预定数目的不相连边的当前边嵌入向量另外,在上述sgd计算中,还需要用到公式(10)中的wij,而如上文所述,在获取与公式(4)类似地节点i的子目标函数的情况中,则不需要用到wij。

在一个实施例中,节点之间的相似性通过上述公式(3)计算,或者所述关系网络图为有向图,在上述任一情况中,为了使计算结果更加精确,可基于公式(14)、公式(13)、公式(11)和公式(12)得出,需要基于以下多项更新节点i的点嵌入向量(即当次循环将计算的):节点i的当前点嵌入向量(即上一次循环中计算的)、节点i的各个相邻节点j的当前点嵌入向量节点i的预定数目的不相邻节点k的当前点嵌入向量节点i的各个相连边的当前边嵌入向量节点i的预定数目的不相连边的当前边嵌入向量以节点i为相邻节点的各个节点的当前点嵌入向量以及预定数目的不以节点i为相邻节点的各个节点的当前点嵌入向量

从上述公式(14)的计算可见,在计算节点i的点嵌入向量中,还需要用到与节点i相关的边的当前边嵌入向量,并且,在特定情况下,需要用到相关的各个节点的当前上下文嵌入向量,因此,还需要同时对关系网络图中各个边的边嵌入向量和各个节点的上下文嵌入向量进行求解。下面将对这两方面进行详细说明。

图3示出根据本说明书实施例的用于获取节点的上下文嵌入向量的方法流程图,包括以下步骤s302-s306。

首先,在步骤s302,获取第一节点、以第一节点为相邻节点的节点、及预定数目的不以第一节点为相邻节点的节点各自的当前点嵌入向量,并获取所述第一节点的当前上下文嵌入向量。

该第一节点例如为上述节点i,节点i除了包括点嵌入向量之外,还包括上下文嵌入向量以节点i为相邻节点的节点例如为公式(11)中的节点j’,其具有点嵌入向量不以节点i为相邻节点的节点例如为公式(11)中的节点k’,其具有点嵌入向量与参考图2所示类似地,上述几个嵌入向量的初始值可随机获取,而在多次循环中,在当次循环中获取的当前值即为上次循环计算的值。

在步骤s304,获取第三目标函数,其中,所述第三目标函数中的第一项为关于各个以第一节点为相邻节点的节点与第一节点之间的相似性的减函数之和,所述第三目标函数中的第二项为关于预定数目的不以第一节点为相邻节点的节点与第一节点之间的相似性的增函数之和。

该第三目标函数可以为上述公式(4)或(5)所示的lv、上述公式(9)所示的l,或者可以为上述公式(11)所示的或者可以为如下公式(15)所示

由于,对于节点i,仅公式(15)所示的中包括了与相关的各项,因此,第三目标函数至少包括公式(15)中的两项。

在步骤s306,基于第三目标函数、所述第一节点、以第一节点为相邻节点的节点、及预定数目的不以第一节点为相邻节点的节点各自的当前点嵌入向量、和所述第一节点的当前上下文嵌入向量,通过随机梯度下降法更新该第一节点的上下文嵌入向量,以使得所述第三目标函数的值减小。

在获取第三目标函数(例如)之后,可基于公式(16)进行对节点i的上下文嵌入向量的更新:

从而可基于在步骤s302中获取的各个当前嵌入向量,更新节点i的上下文嵌入向量

图4示出根据本说明书实施例的获取关系网络图中边的边嵌入向量的方法流程图,包括以下步骤s402-s408。

首先,在步骤s402,获取所述第一边、所述第一边的相邻边、及预定数目的所述第一边的不相邻边各自的当前边嵌入向量、以及所述第一边的相连节点和预定数目的所述第一边的不相连节点各自的当前点嵌入向量,其中,所述当前点嵌入向量和所述当前边嵌入向量都为所述嵌入空间中的向量。

例如上述节点i的相连边及预定数目的不相连边中包括边i,其具有边嵌入向量边i具有一个或两个相邻边j,其具有边嵌入向量边i还具有多个不相邻边k,其具有边嵌入向量边i与边j之间通过边i的相连节点p连接,节点p具有点嵌入向量边i具有多个不相连的节点q,节点q具有点嵌入向量与参考图2所示类似地,上述几个嵌入向量的初始值可随机获取,而在多次循环中,在当次循环中获取的当前值即为上次循环计算的值。

在步骤s404,获取第四目标函数,其中,所述第四目标函数中的第一项为关于所述第一边与其各个相邻边之间的相似性的减函数之和,所述第四目标函数中的第二项为关于所述第一边与其各个不相邻边之间的相似性的增函数之和,其中,所述关系网络图中的任一对边之间的相似性与该对边各自的边嵌入向量相关。

该第四目标函数可以为上述公式(6)所示的le,或者可以为通过与上文类似地仅针对边i获取的如下述公式(17)所示的

可以理解,在所述关系网络图为有向图的情况中,公式(17)可以作为对应于该有向图中边i与其它相关边之间相似性的近似目标函数,为了更精确地计算,还可以与公式(11)类似地,在目标函数中加入以边i为相邻边的边j’与边i之间的相似性、及不以边i为相邻边的边k’与边i之间的相似性。

在步骤s406,获取第五目标函数,其中,所述第五目标函数的第一项为关于所述第一边与其各个相连节点之间的相似性的减函数之和,所述第五目标函数的第二项为关于所述第一边与其各个不相连节点之间的相似性的增函数之和,其中,所述关系网络图中的任一节点与任一边之间的相似性与该节点的点嵌入向量和该边的边嵌入向量相关。

该第五目标函数可以为上述公式(8)所示的子目标函数lve,或者也可以为通过与上文类似地仅针对边i与节点之间的相似性获取的如下述公式(18)所示的lvi,

在步骤s408,基于第四目标函数与第五目标函数的加权和、所述第一边、所述第一边的相邻边、及预定数目的所述第一边的不相邻边各自的当前边嵌入向量、以及所述第一边的相连节点和预定数目的所述第一边的不相连节点各自的当前点嵌入向量,通过随机梯度下降法更新该第一边的边嵌入向量,以使得所述第四目标函数与第五目标函数的加权和的值减小。

第四目标函数与第五目标函数的加权和可以为公式(7)所示的le与公式(8)所示的lve的加权和,或者可以为公式(9)所示的l。

在一个实施例中,在如上所述获取上述两个目标函数和lvi之后,可基于其获取如公式(19)所示的关于边i的总目标函数lie,以作为第四目标函数与第五目标函数的加权和:

在获取第四目标函数与第五目标函数的加权和(例如lie)之后,可通过随机梯度下降法(sgd),如公式(20)所示更新边i的边嵌入向量:

从而可基于在步骤s402中获取的各个当前嵌入向量,更新边i的边嵌入向量

在一个实施例中,对于关系网络图中的全部节点和全部边,可以以预定顺序先后通过上述方法对各个节点和各个边的嵌入向量进行更新。在一个实施例中,对于关系网络图中的全部节点和全部边,可同时以上述方法对各个节点和各个边的嵌入向量进行更新。对于每个节点和每个边,可多次重复上述方法,例如1000次,即,循环多次更新,从而使得结果收敛,以获取较为准确的结果。

在如上文所述的用户商品推荐的场景中,在通过上述方法获取各个用户节点的点嵌入向量(及上下文嵌入向量)之后,可基于该嵌入向量对用户进行商品推荐。

图5示出根据本说明书实施例的一种向平台中用户推荐商品的方法流程图,包括:

在步骤s502,获取平台中多个用户之间的关系网络图,其中,所述关系网络图中的多个节点与平台中的多个用户分别对应,所述关系网络图中的边表示其连接的两个节点分别对应的用户共同购买有至少一个商品,所述关系网络图中包括与平台中第一用户对应的第一用户节点;

在步骤s504,基于所述关系网络图,通过图2所示方法,获取所述关系网络图中各个节点的点嵌入向量;

在步骤s506,基于各个节点的点嵌入向量,计算其他用户对应的节点与第一用户节点之间的相似性;以及

在步骤s508,基于所述相似性,向第一用户推荐商品。

在一个实施例中,通过上述公式(2)计算节点之间的相似性。在一个实施例中,关系网络图中的各个节点还具有上下文嵌入向量,其中,通过上述公式(3)计算节点之间的相似性,即,基于各个节点的点嵌入向量和上下文嵌入向量,计算其他用户对应的节点与第一用户节点之间的相似性。

在一个实施例中,可将其他用户中相似性高于预定阈值的用户的购买商品推荐给第一用户。在一个实施例中,可对其他用户与第一用户相似性进行排名,并将排名靠前的用户的购买商品推荐给第一用户,等等。

图6示出根据本说明书实施例的一种向平台中用户推荐商品的方法流程图,包括:

在步骤s602,获取平台中多个用户之间的关系网络图,其中,所述关系网络图中的多个节点与平台中的多个用户分别对应,所述关系网络图中的边表示其连接的两个节点分别对应的用户共同购买有至少一个商品,所述关系网络图中包括与平台中第一用户对应的第一用户节点;

在步骤s604,基于所述关系网络图,通过图2所示方法,获取所述第一用户节点的点嵌入向量;

在步骤s606,将第一用户节点的点嵌入向量输入预先训练的分类模型,以确定第一用户是否喜欢特定商品;以及

在步骤s608,在基于所述模型的输出确定第一用户喜欢所述特定商品的情况中,向第一用户推荐所述特定商品。

其中,所述预先训练的分类模型可通过多个样本进行训练,每个样本中包括通过上述方法获取的点嵌入向量及该节点对应的标签值,所述标签值指示该用户节点是否喜欢特定商品。该标签值可通过人工标定获取,例如可基于用户是否购买该特定商品、购买该特定商品的次数等交易数据进行标定。

图7示出根据本说明书实施例的一种获取关系网络图中的节点的点嵌入向量的装置700,所述点嵌入向量为预定嵌入空间中的向量,所述装置包括:

第一获取单元71,对于所述关系网络图中的第一节点,获取所述第一节点、所述第一节点的相邻节点、及预定数目的所述第一节点的不相邻节点各自的当前点嵌入向量,并获取所述第一节点的相连边、及预定数目的所述第一节点的不相连边各自的当前边嵌入向量,其中,所述当前点嵌入向量和所述当前边嵌入向量都为所述嵌入空间中的向量;

第二获取单元72,获取第一目标函数,其中,所述第一目标函数中的第一项为关于第一节点与各个所述相邻节点之间的相似性的减函数之和,所述第一目标函数中的第二项为关于第一节点与各个所述不相邻节点之间的相似性的增函数之和,其中,所述关系网络图中的任一对节点之间的相似性与该对节点各自的点嵌入向量相关;

第三获取单元73,获取第二目标函数,其中,所述第二目标函数的第一项为关于所述第一节点与各个所述相连边之间的相似性的减函数之和,所述第二目标函数的第二项为关于所述第一节点与各个所述不相连边之间的相似性的增函数之和,其中,节点与边之间的相似性与该节点的点嵌入向量和该边的边嵌入向量相关;以及

更新单元74,基于第一目标函数与第二目标函数的加权和、各个所述当前点嵌入向量、以及各个当前边嵌入向量,通过随机梯度下降法更新所述第一节点的点嵌入向量,以使得所述第一目标函数与第二目标函数的加权和的值减小。

图8示出根据本说明书实施例的一种上下文嵌入向量计算装置800,包括:

第一获取单元81,配置为,获取所述第一节点、以第一节点为相邻节点的节点、及预定数目的不以第一节点为相邻节点的节点各自的当前点嵌入向量,并获取所述第一节点的当前上下文嵌入向量;

第二获取单元82,配置为,获取第三目标函数,其中,所述第三目标函数中的第一项为关于各个以第一节点为相邻节点的节点与第一节点之间的相似性的减函数之和,所述第三目标函数中的第二项为关于预定数目的不以第一节点为相邻节点的节点与第一节点之间的相似性的增函数之和;以及

更新单元83,配置为,基于第三目标函数、所述第一节点、以第一节点为相邻节点的节点、及预定数目的不以第一节点为相邻节点的节点各自的当前点嵌入向量、和所述第一节点的当前上下文嵌入向量,通过随机梯度下降法更新该第一节点的上下文嵌入向量,以使得所述第三目标函数的值减小。

图9示出根据本说明书实施例的一种边嵌入向量计算装置900,包括:

第一获取单元91,配置为,获取所述第一边、所述第一边的相邻边、及预定数目的所述第一边的不相邻边各自的当前边嵌入向量、以及所述第一边的相连节点和预定数目的所述第一边的不相连节点各自的当前点嵌入向量,其中,所述当前点嵌入向量和所述当前边嵌入向量都为所述嵌入空间中的向量;

第二获取单元92,配置为,获取第四目标函数,其中,所述第四目标函数中的第一项为关于所述第一边与其各个相邻边之间的相似性的减函数之和,所述第四目标函数中的第二项为关于所述第一边与其各个不相邻边之间的相似性的增函数之和,其中,所述关系网络图中的任一对边之间的相似性与该对边各自的边嵌入向量相关;

第三获取单元93,配置为,获取第五目标函数,其中,所述第五目标函数的第一项为关于所述第一边与其各个相连节点之间的相似性的减函数之和,所述第五目标函数的第二项为关于所述第一边与其各个不相连节点之间的相似性的增函数之和,其中,所述关系网络图中的任一节点与任一边之间的相似性与该节点的点嵌入向量和该边的边嵌入向量相关;以及

更新单元94,配置为,基于第四目标函数与第五目标函数的加权和、所述第一边、所述第一边的相邻边、及预定数目的所述第一边的不相邻边各自的当前边嵌入向量、以及所述第一边的相连节点和预定数目的所述第一边的不相连节点各自的当前点嵌入向量,通过随机梯度下降法更新该第一边的边嵌入向量,以使得所述第四目标函数与第五目标函数的加权和的值减小。

在一个实施例中,所述第四目标函数的第一项在取负后为第一边与各个所述相邻边之间的相似性的对数的加权和,其中,用于获取所述加权和的权重基于第一边及各个所述相邻边各自的属性特征获取。

在一个实施例中,所述属性特征为相应边对应的文本,所述第一边与各个所述相邻边之间的相似性的对数的权重基于所述第一边与各个所述相邻边的边上文本相似性获取。

图10示出根据本说明书实施例的一种向平台中用户推荐商品的装置1000,包括:

第一获取单元101,配置为,获取平台中多个用户之间的关系网络图,其中,所述关系网络图中的多个节点与平台中的多个用户分别对应,所述关系网络图中的边表示其连接的两个节点分别对应的用户共同购买有至少一个商品,所述关系网络图中包括与平台中第一用户对应的第一用户节点;

第二获取单元102,配置为,基于所述关系网络图,通过图7所示装置获取所述关系网络图中各个节点的点嵌入向量;

计算单元103,配置为,基于各个节点的点嵌入向量,计算其他用户对应的节点与第一用户节点之间的相似性;以及

推荐单元104,配置为,基于所述相似性,向所述第一用户推荐商品。

在一个实施例中,所述第二获取单元还配置为,基于所述关系网络图,通过图7所示装置和图8所示装置获取所述关系网络图中各个节点的点嵌入向量和上下文嵌入向量,其中,所述计算单元还配置为,基于各个节点的点嵌入向量和上下文嵌入向量,计算其他用户对应的节点与第一用户节点之间的相似性。

图11示出根据本说明书实施例的一种向平台中用户推荐商品的装置1100,包括:

第一获取单元111,配置为,获取平台中多个用户之间的关系网络图,其中,所述关系网络图中的多个节点与平台中的多个用户分别对应,所述关系网络图中的边表示其连接的两个节点分别对应的用户共同购买有至少一个商品,所述关系网络图中包括与平台中第一用户对应的第一用户节点;

第二获取单元112,配置为,基于所述关系网络图,通过图7所示装置,获取所述第一用户节点的点嵌入向量;

输入单元113,配置为,将第一用户节点的点嵌入向量输入预先训练的分类模型,以确定第一用户是否喜欢特定商品;以及

推荐单元114,配置为,在基于所述模型的输出确定第一用户喜欢所述特定商品的情况中,向第一用户推荐所述特定商品。

本说明书另一方面还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。

本说明书另一方面还提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。

通过根据本说明书实施例的嵌入方案,将节点的嵌入向量和边的嵌入向量联合起来考虑,在目标函数中将节点的目标函数、边的目标函数以及节点和边之间的目标函数综合考虑,形成总的目标函数,另外,在处理节点之间的相似度中,综合考虑了节点之间的直接相连和间接相连的信息,从而使得图嵌入数据的准确性更高。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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