训练关系网络嵌入模型和确定使用概率的方法及装置
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及训练关系网络的嵌入模型的方法、利用关系网络的嵌入模型确定使用概率的方法及装置。
背景技术
在各类资源发放场景中,由于资源总量有限,因此通常会根据各个用户对各资源份额的使用概率,确定向各个用户发放的资源份额,以实现资源的有效利用。
当前,主要根据用户自身的特征,确定该用户对各资源份额的使用概率,当能够获取到的用户自身的特征较少时,确定使用概率的准确性低。
因此,希望能有改进的方案,能够提高确定使用概率的准确性。
发明内容
本说明书一个或多个实施例描述了一种训练关系网络嵌入模型和确定使用概率的方法及装置,能够提高确定使用概率的准确性。
第一方面,提供了一种训练关系网络的嵌入模型的方法,所述关系网络包括与多个用户对应的多个用户节点,多个资源份额对应的多个资源节点,多个地理区域对应的多个位置节点,每个用户节点通过第一类连接边连接到向其发放过的资源份额所对应的资源节点,并通过第二类连接边连接到关联的位置节点,方法包括:
确定所述关系网络中各个节点的节点特征,各个连接边的边特征;
基于所述节点特征、所述边特征和第一参数集,确定各个节点的初级迭代的节点嵌入向量,以及各个连接边的初级迭代的边嵌入向量;
执行多级向量迭代,以确定各个连接边的多级迭代的边嵌入向量,其中所述多级向量迭代的每级向量迭代包括,对于各个连接边,至少基于该连接边所连接的两个节点各自的上一级迭代的节点嵌入向量,以及第二参数集,确定该连接边的本级迭代的边嵌入向量;
获取各个第一类连接边的标签值,所述标签值示出该连接边所连接的用户节点对应的用户对该连接边所连接的资源节点对应的资源份额是否使用过;
对于各个第一类连接边,基于该连接边的多级迭代的边嵌入向量和预测参数集,确定该连接边的预测值;
调整所述第一参数集、第二参数集和预测参数集中的参数值,使得预定义的损失函数达到最小,其中所述损失函数基于各个第一类连接边的预测值和标签值而确定。
在一种可能的实施方式中,确定各个节点的节点特征包括:
对于各个节点中的用户节点,采用该用户节点对应的用户的基础特征作为节点特征;和/或,
对于各个节点中的资源节点,采用历史发放的该资源节点对应的资源份额的个数作为节点特征;和/或,
对于各个节点中的位置节点,将该位置节点对应的地理区域内的可使用资源份额的关联信息,确定为该位置节点的节点特征。
在一种可能的实施方式中,确定各个连接边的边特征包括:
对于各个连接边中的第一类连接边,将该连接边所连接的资源节点所对应的资源份额特征作为该连接边的边特征;和/或,
对于各个连接边中的第二类连接边,将该连接边的边特征设置为空。
在一种可能的实施方式中,还包括:初始化所述第一参数集、第二参数集和预测参数集。
在一种可能的实施方式中,所述第一参数集包括第一权重参数和第二权重参数;所述确定各个节点的初级迭代的节点嵌入向量,以及各个连接边的初级迭代的边嵌入向量,包括:
基于所述第一权重参数,以及各个节点的节点特征,确定各个节点的初级迭代的节点嵌入向量;
基于所述第二权重参数,以及各个连接边的边特征,确定各个连接边的初级迭代的边嵌入向量。
在一种可能的实施方式中,所述确定该连接边的本级迭代的边嵌入向量,包括:
利用第二参数集中的参数作为权重,对该连接边的初级迭代的边嵌入向量、该连接边所连接的两个节点各自的上一级迭代的节点嵌入向量三者进行加权求和,基于求和结果确定该连接边的本级迭代的边嵌入向量。
在一种可能的实施方式中,所述每级向量迭代还包括,对于各个节点,至少基于其各个邻居节点的上一级迭代的节点嵌入向量,各个连接边的上一级迭代的边嵌入向量,以及第三参数集,确定该节点的本级迭代的节点嵌入向量。
进一步地,所述确定该节点的本级迭代的节点嵌入向量,包括:
利用第三参数集中的参数作为权重,对第一项、第二项和第三项进行加权求和,基于求和结果确定该节点的本级迭代的节点嵌入向量,
其中所述第一项包括该节点的初级迭代的节点嵌入向量;
第二项为所述各个邻居节点的上一级迭代的节点嵌入向量的加权求和;
第三项为所述各个连接边的上一级迭代的边嵌入向量的加权求和。
第二方面,提供了一种利用关系网络的嵌入模型确定使用概率的方法,所述嵌入模型通过第一方面所述的方法训练获得,从而包括具有确定值的第一参数集、第二参数集和预测参数集;所述关系网络包括与多个用户对应的多个用户节点,多个资源份额对应的多个资源节点,多个地理区域对应的多个位置节点,每个用户节点通过第一类连接边连接到向其发放过的资源份额所对应的资源节点,并通过第二类连接边连接到关联的位置节点,方法包括:
在所述关系网络中创建目标用户节点与目标资源份额之间的目标连接边;
确定所述关系网络中各个节点的节点特征,各个连接边的边特征;
基于所述节点特征、所述边特征和所述第一参数集,确定各个节点的初级迭代的节点嵌入向量,以及各个连接边的初级迭代的边嵌入向量;
执行多级向量迭代,以确定各个连接边的多级迭代的边嵌入向量,其中所述多级向量迭代的每级向量迭代包括,对于各个连接边,至少基于该连接边所连接的两个节点各自的上一级迭代的节点嵌入向量,以及第二参数集,确定该连接边的本级迭代的边嵌入向量;
基于所述目标连接边的多级迭代的边嵌入向量,和所述预测参数集,确定所述目标连接边的预测值,所述预测值作为确定的所述目标用户对所述目标资源份额的使用概率。
在一种可能的实施方式中,所述目标资源份额为第一资源份额集合中的任一资源份额,所述确定所述目标连接边的预测值之后,方法还包括:
从所述第一资源份额集合中获取预测值高于第一阈值的各资源份额构成的第二资源份额集合;
将所述第二资源份额集合中的最低资源份额确定为向所述目标用户发放的待发放资源份额。
第三方面,提供了一种训练关系网络的嵌入模型的装置,所述关系网络包括与多个用户对应的多个用户节点,多个资源份额对应的多个资源节点,多个地理区域对应的多个位置节点,每个用户节点通过第一类连接边连接到向其发放过的资源份额所对应的资源节点,并通过第二类连接边连接到关联的位置节点,装置包括:
确定单元,用于确定所述关系网络中各个节点的节点特征,各个连接边的边特征;
嵌入单元,用于基于所述确定单元确定的所述节点特征、所述边特征和第一参数集,确定各个节点的初级迭代的节点嵌入向量,以及各个连接边的初级迭代的边嵌入向量;
迭代单元,用于执行多级向量迭代,以确定各个连接边的多级迭代的边嵌入向量,其中所述多级向量迭代的每级向量迭代包括,对于各个连接边,至少基于该连接边所连接的两个节点各自的上一级迭代的节点嵌入向量,以及第二参数集,确定该连接边的本级迭代的边嵌入向量;
获取单元,用于获取各个第一类连接边的标签值,所述标签值示出该连接边所连接的用户节点对应的用户对该连接边所连接的资源节点对应的资源份额是否使用过;
预测单元,用于对于各个第一类连接边,基于所述迭代单元确定的该连接边的多级迭代的边嵌入向量和预测参数集,确定该连接边的预测值;
调整单元,用于调整所述第一参数集、第二参数集和预测参数集中的参数值,使得预定义的损失函数达到最小,其中所述损失函数基于所述预测单元确定的各个第一类连接边的预测值和所述获取单元获取的标签值而确定。
第四方面,提供了一种利用关系网络的嵌入模型确定使用概率的装置,所述嵌入模型通过第三方面所述的装置训练获得,从而包括具有确定值的第一参数集、第二参数集和预测参数集;所述关系网络包括与多个用户对应的多个用户节点,多个资源份额对应的多个资源节点,多个地理区域对应的多个位置节点,每个用户节点通过第一类连接边连接到向其发放过的资源份额所对应的资源节点,并通过第二类连接边连接到关联的位置节点,装置包括:
创建单元,用于在所述关系网络中创建目标用户节点与目标资源份额之间的目标连接边;
第一确定单元,用于确定所述关系网络中各个节点的节点特征,各个连接边的边特征;
嵌入单元,用于基于所述第一确定单元确定的所述节点特征、所述边特征和所述第一参数集,确定各个节点的初级迭代的节点嵌入向量,以及各个连接边的初级迭代的边嵌入向量;
迭代单元,用于执行多级向量迭代,以确定各个连接边的多级迭代的边嵌入向量,其中所述多级向量迭代的每级向量迭代包括,对于各个连接边,至少基于该连接边所连接的两个节点各自的上一级迭代的节点嵌入向量,以及第二参数集,确定该连接边的本级迭代的边嵌入向量;
预测单元,用于基于所述迭代单元确定的所述目标连接边的多级迭代的边嵌入向量和所述预测参数集,确定所述目标连接边的预测值,所述预测值作为确定的所述目标用户对所述目标资源份额的使用概率。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
通过本说明书实施例提供的方法和装置,提出一种嵌入模型,该模型可以对综合的关系网络进行深度学习,整合用户、资源份额和地理位置的关系,通过多级迭代,基于多级的节点特征确定出边的嵌入特征,还可以进一步给出表征使用概率的预测值。从而可以用于对关系网络进行深入的分析,确定用户对各资源份额的使用概率,能够提高确定使用概率的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为根据一个实施例的关系网络示意图;
图2示出根据一个实施例的实施场景示意图;
图3示出根据一个实施例的训练关系网络的嵌入模型的方法流程图;
图4示出基于网络嵌入的节点特征推理示意图;
图5示出基于网络嵌入的边特征推理示意图;
图6示出根据一个实施例的利用关系网络的嵌入模型确定使用概率的方法流程图;
图7示出根据一个实施例的训练嵌入模型的装置的示意性框图;
图8示出根据一个实施例的利用关系网络的嵌入模型确定使用概率的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,在各类资源发放场景中,常常面临由于用户数据不够完整、不够丰富,而难以准确的确定用户对各资源份额的使用概率的问题。为了更准确的确定使用概率,根据本说明书的实施例,借助用户的关系网络来增加其数据丰富度,关系网络体现了用户、资源份额和地理位置之间的关系,通过训练关系网络的嵌入模型学习到用户的群体特征,从而利用该嵌入模型确定使用概率准确性高。
基于以上考虑,根据本说明书一个或多个实施例,构建全面的关系网络,用于确定用户对各资源份额的使用概率。图1为根据一个实施例的关系网络示意图。在该关系网络中,包括与多个用户对应的多个用户节点,多个资源份额对应的多个资源节点,多个地理区域对应的多个位置节点,每个用户节点通过第一类连接边连接到向其发放过的资源份额所对应的资源节点,并通过第二类连接边连接到关联的位置节点。参照图1,用户可以通过用户ID标识;资源可以为各种类型的资源,例如,货币资源、电力资源、水资源、计算机处理资源、计算机存储资源、通信资源等;举例来说,当资源具体为货币资源时,资源份额具体可以为金额,例如,2元、5元、10元;当资源具体为电力资源时,资源份额具体可以为电量,例如,2度、5度、10度;用户节点与位置节点关联的情形可以包括:用户节点对应的用户其住址、学校或公司在位置节点对应的地理区域内。用户节点和资源节点之间的连接边为第一类连接边,用户节点和位置节点之间的连接边为第二类连接边。在图1中,为了示例,将第一类连接边和第二类连接边通过不同类型的连线示出。
对于这样的关系网络,常规的学习模型由于只使用每一个样本自身的特征,而无法对网络关系中的丰富特征进行整合,因此难以进行全面分析和评估。对此,根据本说明书的实施例,提出一种嵌入模型,该模型用于对上述的关系网络进行深度学习,通过多级迭代,基于多级的节点特征确定出边的嵌入特征,还可以进一步给出使用概率的预测值。
图2示出根据一个实施例的实施场景示意图。如图2所示,为了获取上述嵌入模型,首先,计算平台基于关系网络中已经标定的第一类连接边对该嵌入模型进行训练,确定模型所需的参数集。在模型训练好之后,就可以利用该嵌入模型,创建关系网络中的任意用户节点和资源节点之间的第一类连接边,给出其嵌入特征,用作进一步分析。该嵌入模型还可以直接提供边的预测值,该预测值可以直接反映出用户对资源份额的使用概率。下面描述以上嵌入模型的训练过程,和使用该嵌入模型确定使用概率的过程。
图3示出根据一个实施例的训练关系网络的嵌入模型的方法流程图。如前所述,关系网络可以是如图1所示的网络,其中包括与多个用户对应的多个用户节点,多个资源份额对应的多个资源节点,多个地理区域对应的多个位置节点,每个用户节点通过第一类连接边连接到向其发放过的资源份额所对应的资源节点,并通过第二类连接边连接到关联的位置节点。所述方法的执行主体可以是任何具有计算、处理能力的装置、设备、平台、设备集群等,例如图2所示的计算平台。
如图3所示,为了训练深度学习的嵌入模型,首先在步骤31,确定所述关系网络中各个节点的节点特征,各个连接边的边特征。可以理解的是,各个节点包括用户节点、资源节点和位置节点,各个连接边包括第一类连接边和第二类连接边,对于不同类型的节点可以采取不同的方式确定节点特征,对于不同类型的连接边也可以采取不同的方式确定边特征。
在一个示例中,确定各个节点的节点特征包括:对于各个节点中的用户节点,采用该用户节点对应的用户的基础特征作为节点特征;和/或,对于各个节点中的资源节点,采用历史发放的该资源节点对应的资源份额的个数作为节点特征;和/或,对于各个节点中的位置节点,将该位置节点对应的地理区域内的可使用资源份额的关联信息,确定为该位置节点的节点特征。举例来说,用户的基础特征可以包括年龄、性别、职业等;当资源具体为货币资源时,资源份额的个数可以为特定金额的红包的个数,上述关联信息可以为商户信息,进一步地,商户信息可以为商户个数。
在一个示例中,确定各个连接边的边特征包括:对于各个连接边中的第一类连接边,将该连接边所连接的资源节点所对应的资源份额特征作为该连接边的边特征;和/或,对于各个连接边中的第二类连接边,将该连接边的边特征设置为空。其中,资源份额特征具体可以为资源份额的one-hot编码,而边特征设置为空意味着这类边上没有特征。
本说明书实施例,对于各个节点i,可以确定出其节点特征xi,邻居节点集Ni,以及与邻居节点集Ni中各个邻居节点之间的各个连接边的边特征zij。
下面基于以上的节点特征、边特征和嵌入模型参数,来进行节点的嵌入计算。嵌入模型参数是节点嵌入向量计算过程中需要用到的参数,也是模型训练需要优化确定的参数。因此,在计算开始之前,可以首先对这些参数进行初始化。根据后续对参数的使用,可以认为嵌入模型参数至少包括第一参数集、第二参数集和预测参数集,分别用于初始嵌入向量的运算、迭代嵌入向量的运算和预测值的运算。
在一个实施例中,为嵌入模型参数随机确定初始值,也就是,随机生成一些数值,作为各参数的初始值。
在另一实施例中,利用高斯分布为各个参数确定初始值,使得各参数的初始值满足高斯分布。
还可以采用其他方式对嵌入模型参数进行初始化。
接下来,就可以对各个节点进行节点嵌入计算,以及对各个连接边进行边嵌入计算。
然后在步骤32,基于所述节点特征、所述边特征和第一参数集,确定各个节点的初级迭代的节点嵌入向量,以及各个连接边的初级迭代的边嵌入向量。
具体地,在一个实施例中,第一参数集包括第一权重参数和第二权重参数,在步骤32中,基于第一权重参数,以及各个节点的节点特征,确定各个节点的初级迭代的节点嵌入向量;并且,基于第二权重参数,以及各个连接边的边特征,确定各个连接边的初级迭代的边嵌入向量。
例如,在一个具体例子中,对于节点i,可以如下计算初始嵌入向量ui:
ui=σ(w1xi) (1)
其中,w1为第一权重参数,xi为节点i的节点特征,σ为非线性变换函数。xi特征维度可以为f维,用户特征a维、资源特征b维、位置特征c维,则f=a+b+c。
上述非线性变换函数可以使用Relu函数,Sigmoid函数,Tanh函数等等。
在一个例子中,将节点i的初始嵌入向量ui作为其初级迭代的节点嵌入向量,即:
其中
的下角标i表示对应于节点i,上角标表示迭代级数,上角标为0则指示出为初级迭代。
对于各个连接边Eij,可以如下计算其初始嵌入向量vij:
vij=σ(w2zij) (3)
其中,w2为第二权重参数,zij为连接边Eij的边特征。zij特征维度可以为e维。
在一个例子中,将连接边Eij的初始嵌入向量vij作为其初级迭代的边嵌入向量,即:
其中
的下角标ij表示对应于节点i和节点j之间的连接边,上角标表示迭代级数,上角标为0则指示出为初级迭代。
可以理解,以上示出了基于权重参数w
1以及节点特征x
i,确定初级迭代的节点嵌入向量,以及基于权重参数w
2以及边特征z
ij,确定初级迭代的边嵌入向量。在不同实施例中,还可以采用其他方式执行步骤32,例如在以上权重参数w
1和w
2基础上添加进一步的附加权重参数(例如,将节点i的初级迭代的节点嵌入向量
确定为初始嵌入向量u
i乘以附加权重参数),采用不同形式的变换函数等等。
在确定了各个节点的初级迭代的节点嵌入向量
以及各个连接边的初级迭代的边嵌入向量
的基础上,在步骤33,执行多级向量迭代,以确定各个连接边的多级迭代的边嵌入向量。
其中所述多级向量迭代的每级向量迭代包括,对于各个连接边,至少基于该连接边Eij所连接的两个节点i和j各自的上一级迭代的节点嵌入向量,以及第二参数集,确定该连接边的本级迭代的边嵌入向量。
例如,可以通过以下方式进行向量迭代,确定连接边E
ij的t级迭代的边嵌入向量
在一个示例中,连接边Eij的t级迭代的边嵌入向量通过下式计算:
即,对该连接边E
ij所连接的两个节点i和j各自的上一级迭代的节点嵌入向量进行加权求和,基于求和结果,确定t级迭代的边嵌入向量
在另一个示例中,连接边Eij的t级迭代的边嵌入向量通过下式计算:
即,利用第二参数集中的参数w
6,w
7和w
8作为权重,对该连接边E
ij的初级迭代的边嵌入向量
该连接边所连接的两个节点i和j各自的上一级迭代的节点嵌入向量
和
这三者进行加权求和,基于求和结果确定该连接边的本级迭代的边嵌入向量
在一种可能的实施方式中,执行多级向量迭代,以确定各个节点的多级迭代的节点嵌入向量
其中T为迭代级数。
在每级向量迭代中,对于各个节点i,至少基于其各个邻居节点j的上一级迭代(t-1级迭代)的节点嵌入向量
各个连接边的上一级迭代(t-1级迭代)的边嵌入向量
以及第三参数集,确定该节点i的本级迭代(第t次迭代)的节点嵌入向量
可以理解的是,对于节点i,与其具有连接边的节点均为节点i的邻居节点。
例如,可以通过以下方式进行向量迭代,确定节点i的t级迭代的节点嵌入向量
在第一示例中,节点i的t级迭代的节点嵌入向量通过下式计算:
即,对各个邻居节点j的上一级迭代(t-1级迭代)的节点嵌入向量
的向量和,以及各个连接边的上一级迭代(t-1级迭代)的边嵌入向量
的向量和,进行加权求和(以第三参数集中的参数为权重因子),基于加权求和结果确定
在第二示例中,节点i的t级迭代的节点嵌入向量
通过下式计算:
式(8)在式(7)的基础上,在对各个邻居节点j的上一级迭代的节点嵌入向量
求和时,引入了权重因子α
ij,对各个连接边的上一级迭代的边嵌入向量
进行向量求和时,引入了权重因子β
ij。这些权重因子可以根据节点ij之间的关联强度预先设定,或者根据其他因素来设定。N
i表示节点i的邻居节点构成的集合。
在第三示例中,节点i的t级迭代的节点嵌入向量
通过下式计算:
根据式(9),利用第三参数集中的参数w
3,w
4和w
5作为权重,对第一项、第二项和第三项进行加权求和,基于求和结果确定该节点i的本级迭代的节点嵌入向量
其中第一项包括节点i的初级迭代的节点嵌入向量
第二项为各个邻居节点j的上一级迭代的节点嵌入向量
的加权求和;第三项为各个连接边的上一级迭代的边嵌入向量
的加权求和。
可以理解,在进行向量迭代计算时,每进行一次向量迭代,就引入了更高阶的邻居节点的信息和更高阶的连接边的信息。例如,根据公式(2),节点i的0级迭代的节点嵌入向量
只包含本节点的节点特征,一次迭代以后,节点i的1级迭代的节点嵌入向量中就包含了其邻居节点的节点特征;二次迭代之后,节点i的2级迭代的节点嵌入向量中包含邻居节点j的1级嵌入向量,而该邻居节点j的1级嵌入向量中又包含了节点j的邻居节点k的节点特征,也就是说,节点i的2级迭代的节点嵌入向量中包含了其二阶邻居节点(即邻居节点j的邻居节点k)的节点特征。对于边特征也是如此。因此,随着迭代级数增加,节点嵌入向量和边嵌入向量中均引入了更高阶的连接信息。
图4示出了基于网络嵌入的节点特征推理示意图。在图4中,X
1,X
2到X
6表示节点1到节点6,H
1到H
6表示对应节点的嵌入特征向量,
表示向量迭代过程中,节点i的第t次迭代的节点嵌入向量,
表示向量迭代过程中,节点i和节点j之间的连接边的第t次迭代的边嵌入向量。可以看到,对于节点1来说,节点2,节点5和节点6构成其邻居节点集,在计算节点1的第1级迭代的节点嵌入向量
时,各个邻居节点(节点2,5,6)的0级迭代的节点嵌入向量
和
会传递到节点1,与各个邻居节点(节点2,5,6)之间的连接边的0级迭代的边嵌入向量
和
会传递到节点1,用于计算节点1的1级迭代的节点嵌入向量
更高阶迭代原理类似。
图5示出了基于网络嵌入的边特征推理示意图。在图5中,X
1,X
2到X
6表示节点1到节点6,H
1到H
6表示对应节点的嵌入特征向量,
表示向量迭代过程中,节点i的第t次迭代的节点嵌入向量,
表示向量迭代过程中,节点i和节点j之间的连接边的第t次迭代的边嵌入向量。可以看到,对于节点2和节点3之间的连接边来说,节点2和节点3是该连接边连接的两个节点,在计算该连接边的第1级迭代的边嵌入向量
时,该连接边连接的两个节点(节点2,3)的0级迭代的节点嵌入向量
和
会传递到该连接边,用于计算该连接边的1级迭代的边嵌入向量
更高阶迭代原理类似。
在一个实施例中,迭代级数T可以根据经验预先设定。在另一实施例中,迭代级数T可以根据损失函数的收敛状况而调整设置。
如上,经过反复的多次向量迭代运算,可以确定各个连接边的多级迭代(T级迭代)的边嵌入向量
接着在步骤34,获取各个第一类连接边的标签值,所述标签值示出该连接边所连接的用户节点对应的用户对该连接边所连接的资源节点对应的资源份额是否使用过。
在一个示例中,资源份额具体为红包金额,根据业务实际反馈,把用户没有使用过的红包金额和用户构成的边的标签值定义为Y=0,把使用过的红包金额和用户构成的边的标签值定义为Y=1。
再在步骤35,对于各个第一类连接边,基于该连接边的多级迭代的边嵌入向量和预测参数集,确定该连接边的预测值。
在一个实施例中,预测参数集包括参数w9和b,预测值根据下式计算:
如此,得到每个第一类连接边的预测值。另一方面,如前所述,每个第一类连接边还具有对应的标签值,因此,根据监督学习算法的思路,可以预先定义嵌入模型的损失函数loss,该损失函数基于标定节点的预测值和标签值而确定,即∑ijloss(predij,yij)。其中,yij表示节点i与节点j之间的连接边的标签值,具体可以为0或1。
损失函数的具体计算公式可以采用多种方式,例如各个标定节点的预测值与标签值之差的平方和,方均根,交叉熵等等。
最后在步骤36,调整所述第一参数集、第二参数集和预测参数集中的参数值,使得预定义的损失函数达到最小,其中所述损失函数基于各个第一类连接边的预测值和标签值而确定。可以理解,步骤36之前所使用的参数值是初始化的参数值。对于这样的初始参数值,可以采用例如梯度下降、反向传播等方式,逐步确定出损失函数达到最小时的参数值,将此时的参数值作为最优参数值,也就是嵌入模型的模型参数。一般地,这个过程可以表示为:
一旦确定出损失函数最小时的最优参数值,可以认为,确定出了嵌入模型的模型参数,也就完成了嵌入模型的模型训练。
与嵌入模型的训练过程相对应地,在训练好嵌入模型的基础上,就可以利用该模型,进行边嵌入,也就是通过多级迭代确定连接边的嵌入特征向量,以及还可以进一步提供边的预测值即使用概率,以进行对用户分配资源份额。
图6示出根据一个实施例的利用关系网络的嵌入模型确定使用概率的方法流程图。所述嵌入模型通过图3所示方法训练获得,从而包括具有确定值的第一参数集和第二参数集和预测参数集。
关系网络包括与多个用户对应的多个用户节点,多个资源份额对应的多个资源节点,多个地理区域对应的多个位置节点,每个用户节点通过第一类连接边连接到向其发放过的资源份额所对应的资源节点,并通过第二类连接边连接到关联的位置节点。
如图6所示,所述方法包括以下步骤。
首先在步骤61,在所述关系网络中创建目标用户节点与目标资源份额之间的目标连接边。可以理解的是,历史上可能未向目标用户节点发放过目标资源份额,因此当需要确定目标用户节点对目标资源份额的使用概率时,需要在所述关系网络中创建目标用户节点与目标资源份额之间的目标连接边。
然后在步骤62,确定所述关系网络中各个节点的节点特征,各个连接边的边特征。
接着在步骤63,基于所述节点特征、所述边特征和所述第一参数集,确定各个节点的初级迭代的节点嵌入向量,以及各个连接边的初级迭代的边嵌入向量。
然后在步骤64,执行多级向量迭代,以确定各个连接边的多级迭代的边嵌入向量。
其中所述多级向量迭代的每级向量迭代包括,对于各个连接边,至少基于该连接边所连接的两个节点各自的上一级迭代的节点嵌入向量,以及第二参数集,确定该连接边的本级迭代的边嵌入向量。
最后在步骤65,基于所述目标连接边的多级迭代的边嵌入向量,和所述预测参数集,确定所述目标连接边的预测值,所述预测值作为确定的所述目标用户对所述目标资源份额的使用概率。
以上步骤62-55的具体执行过程可以参考图3中的各步骤,在此不再赘述。
在一个示例中,所述目标资源份额为第一资源份额集合中的任一资源份额,所述确定所述目标连接边的预测值之后,从所述第一资源份额集合中获取预测值高于第一阈值的各资源份额构成的第二资源份额集合;将所述第二资源份额集合中的最低资源份额确定为向所述目标用户发放的待发放资源份额。
本说明书实施例中,可以先确定各用户对各资源份额的使用概率,然后根据经验要求选择使用概率的阙值c,给用户发放使用概率不小于c的最低资源份额以控制资源总量;或者也可以将模型计算得到的使用概率作为流控系统的输入,由流控系统决定最终给用户发放的资源份额。
本说明书实施例提供的方法,可以同时整合异构网络中的节点、边和子结构的特征,使模型考虑进用户的群体特征,对于没有历史行为信息的用户也可以通过周围用户的行为,较为准确的预测出该用户对资源份额的敏感程度,从而提高模型预测的准确率和泛化程度。
根据本说明书另一方面的实施例,还提供一种训练关系网络的嵌入模型的装置。如前所述,关系网络包括与多个用户对应的多个用户节点,多个资源份额对应的多个资源节点,多个地理区域对应的多个位置节点,每个用户节点通过第一类连接边连接到向其发放过的资源份额所对应的资源节点,并通过第二类连接边连接到关联的位置节点。
图7示出根据一个实施例的训练嵌入模型的装置的示意性框图。如图7所示,嵌入模型的训练装置700包括:
确定单元71,用于确定所述关系网络中各个节点的节点特征,各个连接边的边特征;
嵌入单元72,用于基于所述确定单元71确定的所述节点特征、所述边特征和第一参数集,确定各个节点的初级迭代的节点嵌入向量,以及各个连接边的初级迭代的边嵌入向量;
迭代单元73,用于执行多级向量迭代,以确定各个连接边的多级迭代的边嵌入向量,其中所述多级向量迭代的每级向量迭代包括,对于各个连接边,至少基于该连接边所连接的两个节点各自的上一级迭代的节点嵌入向量,以及第二参数集,确定该连接边的本级迭代的边嵌入向量;
获取单元74,用于获取各个第一类连接边的标签值,所述标签值示出该连接边所连接的用户节点对应的用户对该连接边所连接的资源节点对应的资源份额是否使用过;
预测单元75,用于对于各个第一类连接边,基于所述迭代单元73确定的该连接边的多级迭代的边嵌入向量和预测参数集,确定该连接边的预测值;
调整单元76,用于调整所述第一参数集、第二参数集和预测参数集中的参数值,使得预定义的损失函数达到最小,其中所述损失函数基于所述预测单元75确定的各个第一类连接边的预测值和所述获取单元74获取的标签值而确定。
可选地,作为一个实施例,所述确定单元71具体用于:
对于各个节点中的用户节点,采用该用户节点对应的用户的基础特征作为节点特征;和/或,
对于各个节点中的资源节点,采用历史发放的该资源节点对应的资源份额的个数作为节点特征;和/或,
对于各个节点中的位置节点,将该位置节点对应的地理区域内的可使用资源份额的关联信息,确定为该位置节点的节点特征。
可选地,作为一个实施例,所述确定单元71具体用于:
对于各个连接边中的第一类连接边,将该连接边所连接的资源节点所对应的资源份额特征作为该连接边的边特征;和/或,
对于各个连接边中的第二类连接边,将该连接边的边特征设置为空。
可选地,作为一个实施例,还包括:
初始化单元,用于初始化所述第一参数集、第二参数集和预测参数集。
可选地,作为一个实施例,所述第一参数集包括第一权重参数和第二权重参数;所述嵌入单元72,具体用于:
基于所述第一权重参数,以及所述确定单元71确定的各个节点的节点特征,确定各个节点的初级迭代的节点嵌入向量;
基于所述第二权重参数,以及所述确定单元71确定的各个连接边的边特征,确定各个连接边的初级迭代的边嵌入向量。
可选地,作为一个实施例,所述迭代单元73,具体用于:
利用第二参数集中的参数作为权重,对该连接边的初级迭代的边嵌入向量、该连接边所连接的两个节点各自的上一级迭代的节点嵌入向量三者进行加权求和,基于求和结果确定该连接边的本级迭代的边嵌入向量。
可选地,作为一个实施例,所述迭代单元73还用于:
对于各个节点,至少基于其各个邻居节点的上一级迭代的节点嵌入向量,各个连接边的上一级迭代的边嵌入向量,以及第三参数集,确定该节点的本级迭代的节点嵌入向量。
进一步地,所述确定该节点的本级迭代的节点嵌入向量,包括:
利用第三参数集中的参数作为权重,对第一项、第二项和第三项进行加权求和,基于求和结果确定该节点的本级迭代的节点嵌入向量,
其中所述第一项包括该节点的初级迭代的节点嵌入向量;
第二项为所述各个邻居节点的上一级迭代的节点嵌入向量的加权求和;
第三项为所述各个连接边的上一级迭代的边嵌入向量的加权求和。
根据又一方面的实施例,还提供一种利用关系网络的嵌入模型确定使用概率的装置。所述嵌入模型通过图3的方法,或图7的装置训练获得,从而包括具有确定值的第一参数集、第二参数集和预测参数集;所述关系网络包括与多个用户对应的多个用户节点,多个资源份额对应的多个资源节点,多个地理区域对应的多个位置节点,每个用户节点通过第一类连接边连接到向其发放过的资源份额所对应的资源节点,并通过第二类连接边连接到关联的位置节点。
图8示出根据一个实施例的利用关系网络的嵌入模型确定使用概率的装置的示意性框图,如图8所示,该装置800包括:
创建单元81,用于在所述关系网络中创建目标用户节点与目标资源份额之间的目标连接边;
第一确定单元82,用于确定所述关系网络中各个节点的节点特征,各个连接边的边特征;
嵌入单元83,用于基于所述第一确定单元82确定的所述节点特征、所述边特征和所述第一参数集,确定各个节点的初级迭代的节点嵌入向量,以及各个连接边的初级迭代的边嵌入向量;
迭代单元84,用于执行多级向量迭代,以确定各个连接边的多级迭代的边嵌入向量,其中所述多级向量迭代的每级向量迭代包括,对于各个连接边,至少基于该连接边所连接的两个节点各自的上一级迭代的节点嵌入向量,以及第二参数集,确定该连接边的本级迭代的边嵌入向量;
预测单元85,用于基于所述迭代单元84确定的所述目标连接边的多级迭代的边嵌入向量和所述预测参数集,确定所述目标连接边的预测值,所述预测值作为确定的所述目标用户对所述目标资源份额的使用概率。
可选地,作为一个实施例,所述目标资源份额为第一资源份额集合中的任一资源份额,所述装置还包括:
获取单元,用于在所述预测单元85确定所述目标连接边的预测值之后,从所述第一资源份额集合中获取预测值高于第一阈值的各资源份额构成的第二资源份额集合;
第二确定单元,用于将所述获取单元获取的所述第二资源份额集合中的最低资源份额确定为向所述目标用户发放的待发放资源份额。
通过本说明书实施例提供的装置,训练了一种嵌入模型,该模型可以对综合的关系网络进行深度学习,整合用户、资源份额和地理位置的关系,通过多级迭代,基于多级的节点特征确定出边的嵌入特征,还可以进一步给出表征使用概率的预测值。从而可以用于对关系网络进行深入的分析,确定用户对各资源份额的使用概率,能够提高确定使用概率的准确性。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3和图6所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3和图6所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。