基于人工智能的产品推荐方法、装置、电子设备及介质转让专利

申请号 : CN202111469251.0

文献号 : CN113869992B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 于佳玉

申请人 : 平安科技(深圳)有限公司

摘要 :

本发明涉及人工智能技术领域,提供一种基于人工智能的产品推荐方法及相关设备,构建以用户、代理人、产品为节点的图神经网络,并在获取用户向量表示、代理人向量表示及产品向量表示之后,对所述图神经网络进行迭代训练,并在每次迭代训练时更新所述用户向量表示、更新所述代理人向量表示及更新所述产品向量表示,根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数,基于所述交叉熵损失函数及所述无监督损失函数对所述图神经网络进行优化训练,得到产品推荐模型,最后使用所述产品推荐模型为待推荐用户推荐产品。本发明提高了产品的推荐效果。

权利要求 :

1.一种基于人工智能的产品推荐方法,其特征在于,所述方法包括:基于用户信息获取用户向量表示,基于代理人信息获取代理人向量表示,基于产品信息获取产品向量表示;

构建以用户、代理人、产品为节点的图神经网络,包括:构建初始网络结构图,所述初始网络结构图中的节点为代理人、用户及产品;在同一时间段内购买过相同产品的用户对应的节点之间建立一条边;在同属于一个单位的代理人对应的节点之间建立一条边;在同一个类别的产品对应的节点之间建立一条边;在具有购买关系的用户与产品对应的节点之间建立一条边;在具有互动关系的代理人与用户对应的节点之间建立一条边,得到图神经网络;

对所述图神经网络进行迭代训练,并在每次迭代训练时更新所述用户向量表示、更新所述代理人向量表示及更新所述产品向量表示,其中,所述更新所述用户向量表示包括:确定所述用户节点的同类邻居节点及异类邻居节点,所述用户节点的同类邻居节点是指与所述用户节点之间建立有边的其他用户节点,所述用户节点的异类邻居节点是指与所述用户节点之间建立有边的产品节点;获取所述用户节点的同类邻居节点在上一轮训练结束的第一向量表示,及获取所述用户节点的异类邻居节点在上一轮训练结束的第二向量表示;计算所述用户节点的同类邻居节点在本轮训练时的第一注意权重,及计算所述用户节点的异类邻居节点在本轮训练时的第二注意权重;根据所述用户节点的第一向量表示及所述用户节点的第一注意权重计算得到所述用户节点的第一聚合向量表示;根据所述用户节点的第二向量表示及所述用户节点的第二注意权重计算得到所述用户节点的第二聚合向量表示;

对所述用户节点的第一聚合向量表示及所述用户节点的第二聚合向量表示进行融合,得到更新后的用户向量表示;所述更新所述代理人向量表示包括:确定所述代理人节点的同类邻居节点及异类邻居节点,所述代理人节点的同类邻居节点是指与所述代理人节点之间建立有边的其他代理人节点,所述代理人节点的异类邻居节点是指与所述代理人节点之间建立有边的用户节点及产品节点;获取所述代理人节点的同类邻居节点在上一轮训练结束的第三向量表示,及获取所述代理人节点的异类邻居节点在上一轮训练结束的第四向量表示;计算所述代理人节点的同类邻居节点在本轮训练时的第三注意权重,及计算所述代理人节点的异类邻居节点在本轮训练时的第四注意权重;根据所述代理人节点的第三向量表示及所述代理人节点的第三注意权重计算得到所述代理人节点的第三聚合向量表示;根据所述代理人节点的第四向量表示及所述代理人节点的第四注意权重计算得到所述代理人节点的第四聚合向量表示;对所述代理人节点的第三聚合向量表示及所述代理人节点的第四聚合向量表示进行融合,得到更新后的代理人向量表示;所述更新所述产品向量表示包括:确定所述产品节点的同类邻居节点及异类邻居节点,所述产品节点的同类邻居节点是指与所述产品节点之间建立有边的其他产品节点,所述产品节点的异类邻居节点是指与所述产品节点之间建立有边的用户节点及代理人节点;获取所述产品节点的同类邻居节点在上一轮训练结束的第五向量表示,及获取所述产品节点的异类邻居节点在上一轮训练结束的第六向量表示;计算所述产品节点的同类邻居节点在本轮训练时的第五注意权重,及计算所述产品节点的异类邻居节点在本轮训练时的第六注意权重;根据所述产品节点的第五向量表示及所述产品节点的第五注意权重计算得到所述产品节点的第五聚合向量表示;根据所述产品节点的第六向量表示及所述产品节点的第六注意权重计算得到所述产品节点的第六聚合向量表示;对所述产品节点的第五聚合向量表示及所述产品节点的第六聚合向量表示进行融合,得到更新后的产品向量表示;

根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数;

基于所述交叉熵损失函数及所述无监督损失函数对所述图神经网络进行优化训练,得到产品推荐模型;

使用所述产品推荐模型为待推荐用户推荐产品。

2.如权利要求1所述的基于人工智能的产品推荐方法,其特征在于,所述第一注意权重通过如下公式计算:

其中,No(u)表示用户节点的同类邻居节点, 表示用户节点u在t‑1轮训练结束时的用户向量表示,bu,t是用户节点u第t轮训练时求解的同类邻居节点的注意力权重的参数,是模型训练时学习参数,k表示用户节点u的邻居节点,||表示向量拼接;

所述第二注意权重 通过如下公式计算:其中,Ne(u)表示用户节点的异类邻居节点, 表示用户节点u在t一1轮训练结束时的用户向量表示,Cu,t是用户节点u第t轮训练时的求解的异类邻居节点的注意力权重的参数,是模型训练时的学习参数;

T表示总的轮次, 表示第i个同类邻居节点在第t‑1轮训练结束时的向量表示,表示第j个异类邻居节点在第t‑1轮训练结束时的向量表示,WUP表示用户节点u到产品节点P的异构邻居变换矩阵,是模型训练时的学习参数, 表示用户节点u的邻居节点在第t一1轮训练结束时的向量表示。

3.如权利要求2所述的基于人工智能的产品推荐方法,其特征在于,所述对所述第一聚合向量表示及所述第二聚合向量表示进行融合,得到更新后的用户向量表示包括:计算所述同类邻居节点在本轮训练时的第一计算权重;

计算所述异类邻居节点在本轮训练时的第二计算权重;

以所述第一计算权重及所述第二计算权重对所述第一聚合向量表示及所述第二聚合向量表示进行融合,得到目标融合向量表示;

对所述目标融合向量表示及所述用户节点在上一轮训练结束的用户向量表示进行非线性变换,得到所述更新后的用户向量表示。

4.如权利要求1所述的基于人工智能的产品推荐方法,其特征在于,所述根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数包括:

根据所述更新后的用户向量表示及对应的所述更新后的代理人向量表示生成目标用户向量表示;

确定所述目标用户向量表示对应的目标用户及确定所述更新后的产品向量表示对应的目标产品;

根据所述目标用户向量表示及所述更新后的产品向量表示计算所述目标用户购买所述目标产品的预测购买概率;

基于所述预测购买概率及对应的真实购买标签构建交叉熵损失函数;

对所述图神经网络进行随机负采样,并基于负采样的节点向量表示构建无监督损失函数。

5.如权利要求1至4中任意一项所述的基于人工智能的产品推荐方法,其特征在于,所述使用所述产品推荐模型为待推荐用户推荐产品包括:获取所述待推荐用户的用户向量表示;

确定与所述待推荐用户互动的目标代理人;

获取所述图神经网络最后一次迭代训练时所述目标代理人对应的更新后的代理人向量表示及多个更新后的产品向量表示;

根据所述待推荐用户的用户向量表示、所述目标代理人的代理人向量表示、所述多个更新后的产品向量表示生成输入向量表示;

输入所述输入向量表示至所述产品推荐模型中,并获取所述产品推荐模型输出的多个预测概率;

根据所述多个预测概率为所述待推荐用户推荐产品。

6.一种基于人工智能的产品推荐装置,其特征在于,所述装置包括:获取模块,用于基于用户信息获取用户向量表示,基于代理人信息获取代理人向量表示,基于产品信息获取产品向量表示;

第一构建模块,用于构建以用户、代理人、产品为节点的图神经网络,包括:构建初始网络结构图,所述初始网络结构图中的节点为代理人、用户及产品;在同一时间段内购买过相同产品的用户对应的节点之间建立一条边;在同属于一个单位的代理人对应的节点之间建立一条边;在同一个类别的产品对应的节点之间建立一条边;在具有购买关系的用户与产品对应的节点之间建立一条边;在具有互动关系的代理人与用户对应的节点之间建立一条边,得到图神经网络;

更新模块,用于对所述图神经网络进行迭代训练,并在每次迭代训练时更新所述用户向量表示、更新所述代理人向量表示及更新所述产品向量表示,其中,所述更新所述用户向量表示包括:确定所述用户节点的同类邻居节点及异类邻居节点,所述用户节点的同类邻居节点是指与所述用户节点之间建立有边的其他用户节点,所述用户节点的异类邻居节点是指与所述用户节点之间建立有边的产品节点;获取所述用户节点的同类邻居节点在上一轮训练结束的第一向量表示,及获取所述用户节点的异类邻居节点在上一轮训练结束的第二向量表示;计算所述用户节点的同类邻居节点在本轮训练时的第一注意权重,及计算所述用户节点的异类邻居节点在本轮训练时的第二注意权重;根据所述用户节点的第一向量表示及所述用户节点的第一注意权重计算得到所述用户节点的第一聚合向量表示;根据所述用户节点的第二向量表示及所述用户节点的第二注意权重计算得到所述用户节点的第二聚合向量表示;对所述用户节点的第一聚合向量表示及所述用户节点的第二聚合向量表示进行融合,得到更新后的用户向量表示;所述更新所述代理人向量表示包括:确定所述代理人节点的同类邻居节点及异类邻居节点,所述代理人节点的同类邻居节点是指与所述代理人节点之间建立有边的其他代理人节点,所述代理人节点的异类邻居节点是指与所述代理人节点之间建立有边的用户节点及产品节点;获取所述代理人节点的同类邻居节点在上一轮训练结束的第三向量表示,及获取所述代理人节点的异类邻居节点在上一轮训练结束的第四向量表示;计算所述代理人节点的同类邻居节点在本轮训练时的第三注意权重,及计算所述代理人节点的异类邻居节点在本轮训练时的第四注意权重;根据所述代理人节点的第三向量表示及所述代理人节点的第三注意权重计算得到所述代理人节点的第三聚合向量表示;根据所述代理人节点的第四向量表示及所述代理人节点的第四注意权重计算得到所述代理人节点的第四聚合向量表示;对所述代理人节点的第三聚合向量表示及所述代理人节点的第四聚合向量表示进行融合,得到更新后的代理人向量表示;所述更新所述产品向量表示包括:确定所述产品节点的同类邻居节点及异类邻居节点,所述产品节点的同类邻居节点是指与所述产品节点之间建立有边的其他产品节点,所述产品节点的异类邻居节点是指与所述产品节点之间建立有边的用户节点及代理人节点;获取所述产品节点的同类邻居节点在上一轮训练结束的第五向量表示,及获取所述产品节点的异类邻居节点在上一轮训练结束的第六向量表示;计算所述产品节点的同类邻居节点在本轮训练时的第五注意权重,及计算所述产品节点的异类邻居节点在本轮训练时的第六注意权重;根据所述产品节点的第五向量表示及所述产品节点的第五注意权重计算得到所述产品节点的第五聚合向量表示;根据所述产品节点的第六向量表示及所述产品节点的第六注意权重计算得到所述产品节点的第六聚合向量表示;对所述产品节点的第五聚合向量表示及所述产品节点的第六聚合向量表示进行融合,得到更新后的产品向量表示;

第二构建模块,用于根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数;

优化模块,用于基于所述交叉熵损失函数及所述无监督损失函数对所述图神经网络进行优化训练,得到产品推荐模型;

推荐模块,用于使用所述产品推荐模型为待推荐用户推荐产品。

7.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至5中任意一项所述基于人工智能的产品推荐方法。

8.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任意一项所述基于人工智能的产品推荐方法。

说明书 :

基于人工智能的产品推荐方法、装置、电子设备及介质

技术领域

[0001] 本发明涉及人工智能技术领域,具体涉及一种基于人工智能的产品推荐方法、装置、电子设备及介质。

背景技术

[0002] 寿险代理人通常需要通过给客户推荐一些锁客产品来促成客户消费,从而达到锁客的目的,提高客户的用户粘性,为后续的长险销售做好铺垫。
[0003] 发明人在实现本发明的过程中发现,寿险代理人在面对众多的可售产品时,一般通过用户之间的相似性来为相似的用户推荐相同的锁客产品,然而这种推荐方式无法精准
的挑选出符合要求的锁客产品,产品推荐效果较差。

发明内容

[0004] 鉴于以上内容,有必要提出一种基于人工智能的产品推荐方法、装置、电子设备及存储介质,能够提高产品的推荐效果。
[0005] 本发明的第一方面提供一种基于人工智能的产品推荐方法,所述方法包括:
[0006] 基于用户信息获取用户向量表示,基于代理人信息获取代理人向量表示,基于产品信息获取产品向量表示;
[0007] 构建以用户、代理人、产品为节点的图神经网络;
[0008] 对所述图神经网络进行迭代训练,并在每次迭代训练时更新所述用户向量表示、更新所述代理人向量表示及更新所述产品向量表示;
[0009] 根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数;
[0010] 基于所述交叉熵损失函数及所述无监督损失函数对所述图神经网络进行优化训练,得到产品推荐模型;
[0011] 使用所述产品推荐模型为待推荐用户推荐产品。
[0012] 在一个可选的实施方式中,所述在每次迭代训练时更新所述用户向量表示包括:
[0013] 确定所述用户节点的同类邻居节点及异类邻居节点;
[0014] 获取所述同类邻居节点在上一轮训练结束的第一向量表示,及获取所述异类邻居节点在上一轮训练结束的第二向量表示;
[0015] 计算所述同类邻居节点在本轮训练时的第一注意权重,及计算所述异类邻居节点在本轮训练时的第二注意权重;
[0016] 根据所述第一向量表示及所述第一注意权重计算得到第一聚合向量表示;
[0017] 根据所述第二向量表示及所述第二注意权重计算得到第二聚合向量表示;
[0018] 对所述第一聚合向量表示及所述第二聚合向量表示进行融合,得到更新后的用户向量表示。
[0019] 在一个可选的实施方式中,所述第一注意权重 通过如下公式计算:
[0020] ,
[0021] 表示用户节点 在 轮训练结束时的用户向量表示, 是用户节点第 轮训练时求解的同类邻居节点的注意力权重的参数,是模型训练时学习参数, 表示
用户节点 的邻居节点,||表示向量拼接;
[0022] 所述第二注意权重 通过如下公式计算:
[0023] ,
[0024] 表示用户节点 在 轮训练结束时的用户向量表示, 是用户节点第 轮训练时的求解的异类邻居节点的注意力权重的参数,是模型训练时的学习参数。
[0025] 在一个可选的实施方式中,所述对所述第一聚合向量表示及所述第二聚合向量表示进行融合,得到更新后的用户向量表示包括:
[0026] 计算所述同类邻居节点在本轮训练时的第一计算权重;
[0027] 计算所述异类邻居节点在本轮训练时的第二计算权重;
[0028] 以所述第一计算权重及所述第二计算权重对所述第一聚合向量表示及所述第二聚合向量表示进行融合,得到目标融合向量表示;
[0029] 对所述目标融合向量表示及所述用户节点在上一轮训练结束的用户向量表示进行非线性变换,得到所述更新后的用户向量表示。
[0030] 在一个可选的实施方式中,所述根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数包括:
[0031] 根据更新后的用户向量表示及对应的更新后的代理人向量表示生成目标用户向量表示;
[0032] 确定所述目标用户向量表示对应的目标用户及确定所述更新后的产品向量表示对应的目标产品;
[0033] 根据所述目标用户向量表示及所述更新后的产品向量表示计算所述目标用户购买所述目标产品的预测购买概率;
[0034] 基于所述预测购买概率及对应的真实购买标签构建交叉熵损失函数;
[0035] 对所述图神经网络进行随机负采样,并基于负采样的节点向量表示构建无监督损失函数。
[0036] 在一个可选的实施方式中,所述构建以用户、代理人、产品为节点的图神经网络包括:
[0037] 构建初始网络结构图,所述初始网络结构图中的节点为代理人、用户及产品;
[0038] 在同一时间段内购买过相同产品的用户对应的节点之间建立一条边;
[0039] 在同属于一个单位的代理人对应的节点之间建立一条边;
[0040] 在同一个类别的产品对应的节点之间建立一条边;
[0041] 在具有购买关系的用户与产品对应的节点之间建立一条边;
[0042] 在具有互动关系的代理人与用户对应的节点之间建立一条边,得到图神经网络。
[0043] 在一个可选的实施方式中,所述使用所述产品推荐模型为待推荐用户推荐产品包括:
[0044] 获取所述待推荐用户的用户向量表示;
[0045] 确定与所述待推荐用户互动的目标代理人;
[0046] 获取所述图神经网络最后一次迭代训练时所述目标代理人对应的更新后的代理人向量表示及多个更新后的产品向量表示;
[0047] 根据所述待推荐用户的用户向量表示、所述目标代理人的代理人向量表示、所述多个更新后的产品向量表示生成输入向量表示;
[0048] 输入所述输入向量表示至所述产品推荐模型中,并获取所述产品推荐模型输出的多个预测概率;
[0049] 根据所述多个预测概率为所述待推荐用户推荐产品。
[0050] 本发明的第二方面提供一种基于人工智能的产品推荐装置,所述装置包括:
[0051] 获取模块,用于基于用户信息获取用户向量表示,基于代理人信息获取代理人向量表示,基于产品信息获取产品向量表示;
[0052] 第一构建模块,用于构建以用户、代理人、产品为节点的图神经网络;
[0053] 更新模块,用于对所述图神经网络进行迭代训练,并在每次迭代训练时更新所述用户向量表示、更新所述代理人向量表示及更新所述产品向量表示;
[0054] 第二构建模块,用于根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数;
[0055] 优化模块,用于基于所述交叉熵损失函数及所述无监督损失函数对所述图神经网络进行优化训练,得到产品推荐模型;
[0056] 推荐模块,用于使用所述产品推荐模型为待推荐用户推荐产品。
[0057] 本发明的第三方面提供一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述基于人工智能的产品推荐方法。
[0058] 本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于人工智能的产品推荐方
法。
[0059] 综上所述,本发明所述的基于人工智能的产品推荐方法、装置、电子设备及存储介质,构建以用户、代理人、产品为节点的图神经网络,图神经网络的信息表达较为丰富,并在
获取用户向量表示、代理人向量表示及产品向量表示之后,对所述图神经网络进行迭代训
练,并在每次迭代训练时更新所述用户向量表示、更新所述代理人向量表示及更新所述产
品向量表示,从而使得节点的向量表示更优,根据更新后的用户向量表示、更新后的代理人
向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数,结合交叉熵损
失函数和无监督损失函数共同训练图神经网络,使得图神经网络能够更高效地捕捉到图拓
扑逻辑中的信息,从而提高图神经网络的训练效果,得到性能较佳的产品推荐模型,最后使
用所述产品推荐模型为待推荐用户推荐产品时,提高了产品的推荐效果,推荐准确度较高。

附图说明

[0060] 图1是本发明实施例一提供的基于人工智能的产品推荐方法的流程图。
[0061] 图2是本发明构建的图神经网络的示意图。
[0062] 图3是本发明实施例二提供的基于人工智能的产品推荐装置的结构图。
[0063] 图4是本发明实施例三提供的电子设备的结构示意图。

具体实施方式

[0064] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例
中的特征可以相互组合。
[0065] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述在
一个可选的实施方式中实施例的目的,不是旨在于限制本发明。
[0066] 本发明实施例提供的基于人工智能的产品推荐方法由电子设备执行,相应地,基于人工智能的产品推荐装置运行于电子设备中。
[0067] 实施例一
[0068] 图1是本发明实施例一提供的基于人工智能的产品推荐方法的流程图。所述基于人工智能的产品推荐方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可
以改变,某些可以省略。
[0069] S11,基于用户信息获取用户向量表示,基于代理人信息获取代理人向量表示,基于产品信息获取产品向量表示。
[0070] 用户信息、代理人信息及产品信息可以从电子设备的本地存储的数据库中获取,所述数据库包括用户信息数据库、代理人信息数据库及产品信息数据库,其中,用户信息数
据库中记录了用户的第一信息,代理人信息数据库中记录了代理人的第二信息,产品数据
库中记录了产品的第三信息。
[0071] 第一信息可以包括:性别、年龄、职业、财富水平、个人喜好等能够用于刻画用户画像的数据,第二信息可以包括:性别、年龄、从业年限、职级、销售额等能够用于客户代理人
画像的数据,第三信息可以包括:产品生产商、生产日期、批次、保质期、产地、原材料等能够
用来描述产品的数据。
[0072] 将第一信息中的多个数据进行数据清洗及归一化后进行拼接得到用户向量表示,将第二信息中的多个数据进行数据清洗及归一化后进行拼接得到代理人向量表示,将第三
信息中的多个数据进行数据清洗及归一化后进行拼接得到产品向量表示。
[0073] S12,构建以用户、代理人、产品为节点的图神经网络。
[0074] 在寿险推荐场景中,代理人、用户、产品之间存在购买、销售、互动等多种关联关系,电子设备的本地中还存储有代理人与用户、用户与产品、用户与用户、产品与产品、代理
人与产品之间的关联关系。
[0075] 将代理人、用户、产品分别作为图神经网络中的节点,图神经网络中节点与节点之间存在关联关系,则在存在关联关系的节点之间建立一条边。
[0076] 在一个可选的实施方式中,所述构建以用户、代理人、产品为节点的图神经网络包括:
[0077] 构建初始网络结构图,所述初始网络结构图中的节点为代理人、用户及产品;
[0078] 在同一时间段内购买过相同产品的用户对应的节点之间建立一条边;
[0079] 在同属于一个单位的代理人对应的节点之间建立一条边;
[0080] 在同一个类别的产品对应的节点之间建立一条边;
[0081] 在具有购买关系的用户与产品对应的节点之间建立一条边;
[0082] 在具有互动关系的代理人与用户对应的节点之间建立一条边,得到图神经网络。
[0083] 同一时间段可以是指每周内,也可以指每月内,或者每季度内。单位可以是小组,部门或者群级。
[0084] 如图2所示,假设电子设备的本地数据库中记录了用户1、用户2、用户3、代理人1、代理人2、产品1、产品2、产品3,用户1购买过产品1及产品3,用户1与代理人1互动过并购买
过产品1和产品3,用户2与代理人2互动过并购买过产品3,用户1购买产品3的时间与用户2
购买产品3的时间在同一时间段,用户3与代理人2互动过并购买过产品2,产品1与产品2为
同一类别的产品,则建立的图神经网络包括用户1节点、用户2节点、用户3节点、代理人1节
点、代理人2节点、产品1节点、产品2节点、产品3节点。
[0085] 由于用户1与用户2在同一时间段内购买过产品3,则在用户1节点与用户2节点之间建立一条边,用户1节点与产品3节点之间建立一条边,用户2节点与产品3节点之间建立
一条边。用户1还购买过产品1,用户1节点与产品1节点之间建立一条边,用户3购买过产品
2,用户3节点与产品2节点之间建立一条边。
[0086] 代理人1与代理人2属于两个不同的单位,则代理人1节点与代理人2节点之间不建立一条边。
[0087] 产品1与产品2为同一类别的产品,则在产品1节点与产品2节点之间建立一条边。
[0088] 代理人1与用户1产生过互动,代理人2与用户3及用户2产生过互动,则在代理人1节点与用户1节点之间建立一条边,代理人2节点与用户3节点之间及与用户2节点之间分别
建立一条边。
[0089] 该可选的实施方式,充分利用代理人、用户、产品之间存在的购买、销售、互动等关联关系来构建异构图结构,图神经网络的信息表达更为丰富。
[0090] S13,对所述图神经网络进行迭代训练,并在每次迭代训练时更新所述用户向量表示、更新所述代理人向量表示及更新所述产品向量表示。
[0091] 可以基于用户向量表示、代理人向量表示及产品向量表示对图神经网络进行第一轮训练;在对图神经网络进行第二轮训练时,更新第一轮训练时的用户向量表示、代理人向
量表示及产品向量表示;在对图神经网络进行第三轮训练结束时,更新第二轮训练结束时
得到的用户向量表示、代理人向量表示及产品向量表示;在对图神经网络进行第四轮训练
结束时,更新第三轮训练结束时得到的用户向量表示、代理人向量表示及产品向量表示;以
此类推;在对图神经网络进行最后一轮训练结束时,对倒数第二轮训练结束时得到的用户
向量表示、代理人向量表示及产品向量表示进行更新。
[0092] 在一个可选的实施方式中,所述在每次迭代训练时更新所述用户向量表示包括:
[0093] 确定所述用户节点的同类邻居节点及异类邻居节点;
[0094] 获取所述同类邻居节点在上一轮训练结束的第一向量表示,及获取所述异类邻居节点在上一轮训练结束的第二向量表示;
[0095] 计算所述同类邻居节点在本轮训练时的第一注意权重,及计算所述异类邻居节点在本轮训练时的第二注意权重;
[0096] 根据所述第一向量表示及所述第一注意权重计算得到第一聚合向量表示;
[0097] 根据所述第二向量表示及所述第二注意权重计算得到第二聚合向量表示;
[0098] 对所述第一聚合向量表示及所述第二聚合向量表示进行融合,得到更新后的用户向量表示。
[0099] 其中,所述用户节点的同类邻居节点是指与所述用户节点之间建立有边的其他用户节点,所述用户节点的同类邻居节点的向量表示则是指所述其他用户节点的用户向量表
示。例如,对于用户1节点而言,用户1节点的同类邻居节点是指用户2节点,用户1节点的同
类邻居节点的向量表示为用户2节点的用户向量表示。对于用户2节点而言,用户2节点的同
类邻居节点是指用户1节点,用户2节点的同类邻居节点的向量表示为用户1节点的用户向
量表示。对于用户3节点而言,用户3节点的同类邻居节点则为空。
[0100] 其中,所述用户节点的异类邻居节点是指与所述用户节点之间建立有边的产品节点,所述用户节点的异类邻居节点的向量表示则是指产品节点的产品向量表示。需要说明
的是,由于一个用户通常和一个代理人进行互动,因此对于用户节点的异类邻居节点则只
包括产品节点,不包括代理人节点。即,不对代理人邻居节点的代理人向量表示进行聚合,
只对产品邻居节点的产品向量表示进行聚合。
[0101] 下文将以用户节点 为例来说明本轮迭代训练结束后得到的更新的用户节点向量表示的过程, 表示总的轮次。
[0102] 定义所述用户节点的同类邻居节点为 ,所述用户节点的异类邻居节点为。
[0103] 用户节点 在第 轮的用户向量表示 聚合了邻居节点(同类邻居节点和异类邻居节点)的向量表示和用户节点 在第 轮的向量表示 。
[0104] 为了区分邻居节点对用户节点 的影响,对用户节点 的同类邻居节点和异类邻居节点分别进行聚合计算。对用户节点 的同类邻居节点进行聚合计算得到第一聚合向
量,对用户节点 的异类邻居节点进行聚合计算得到第二聚合向量。
[0105] 其中,用户节点 的第一聚合向量表示 为:
[0106] ,
[0107] 表示用户节点 的第 个同类邻居节点在第 轮训练的第一注意权重,表示第 个同类邻居节点在第 轮训练结束时的用户向量表示(第一向量表示)。
[0108] 第一注意权重 通过如下公式计算:
[0109] ,
[0110] 表示用户节点 在 轮训练结束时的用户向量表示, 是用户节点第 轮训练时求解的同类邻居节点的注意力权重的参数,是模型训练时学习参数, 表示
用户节点 的邻居节点(包括同类邻居节点和异类邻居节点),||表示向量拼接。
[0111] 其中,用户节点 的第二聚合向量表示 为:
[0112] ,
[0113] 表示用户节点 的第 个异类邻居节点在第 轮训练的第二注意权重,表示第 个异类邻居节点在第 轮训练结束时的产品向量表示(第二向量表示), 表
示用户节点 到产品 的变换矩阵。
[0114] 第二注意权重 通过如下公式计算:
[0115] ,
[0116] 表示用户节点 在 轮训练结束时的用户向量表示, 是用户节点第 轮训练时的求解的异类邻居节点的注意力权重的参数,是模型训练时的学习参数。
[0117] 因为用户向量表示和产品向量表示属于不同的向量空间,因此,需要设置一个用户节点 到产品节点 的异构邻居变换矩阵 ,异构邻居变换矩阵 是模型训练
时的学习参数。
[0118] 在一个可选的实施方式中,所述对所述第一聚合向量表示及所述第二聚合向量表示进行融合,得到更新后的用户向量表示包括:
[0119] 计算所述同类邻居节点在本轮训练时的第一计算权重;
[0120] 计算所述异类邻居节点在本轮训练时的第二计算权重;
[0121] 以所述第一计算权重及所述第二计算权重对所述第一聚合向量表示及所述第二聚合向量表示进行融合,得到目标融合向量表示;
[0122] 对所述目标融合向量表示及所述用户节点在上一轮训练结束的用户向量表示进行非线性变换,得到所述更新后的用户向量表示。
[0123] 在得到用户节点 的第一聚合向量表示 和用户节点 的第二聚合向量表示 后,将同类节点对应的第一聚合向量表示 和异类节点对应的第二聚合向
量表示 进行融合,得到用户节点 融合了所有邻居节点的向量表示,即目标融合向
量表示 。
[0124] 目标融合向量表示 通过如下公式计算得到:
[0125] ,
[0126] ,
[0127] ,
[0128] 其中, 表示用户节点 在第 轮训练时同类邻居节点的向量表示的第一计算权重, 表示用户节点 在第 轮训练时异类邻居节点的向量表示的第二计算权
重。 是求解计算权重所需的训练参数, 表示用户节点 的邻居节点的目标融合向量
表示。
[0129] 第一计算权重和第二计算权重可以通过注意力机制求得。
[0130] 获取用户节点 在第 轮训练结束时的用户向量表示 ,则将用户节点在第 轮训练结束时的用户向量表示 与用户节点 在第 轮训练时的目标融
合向量表示 进行拼接,并对拼接后的向量表示进行非线性变换,得到用户节点 的
更新后的用户向量表示 。
[0131] 用 户节点 的更 新后的 用 户向 量 表示 使用如 下公式 表示 :, 为激活函数, 是用
于做线性变换的矩阵,是模型需要训练的学习参数。
[0132] 同理,在每次迭代训练时更新所述代理人向量表示的过程中,定义所述代理人节点的同类邻居节点为 及异类邻居节点为 ,确定所述代理人节点的同类邻居
节点及异类邻居节点,所述代理人节点的同类邻居节点是指与所述代理人节点之间建立有
边的其他代理人节点,所述代理人节点的异类邻居节点是指与所述代理人节点之间建立有
边的用户节点及产品节点。
[0133] 在每次迭代训练时更新所述产品向量表示的过程中,定义所述产品节点的同类邻居节点为 及异类邻居节点为 ,确定所述产品节点的同类邻居节点及异类
邻居节点,所述产品节点的同类邻居节点是指与所述产品节点之间建立有边的其他产品节
点,所述产品节点的异类邻居节点是指与所述产品节点之间建立有边的用户节点及代理人
节点。
[0134] 对代理人向量表示和产品向量表示进行更新的过程同对用户向量表示进行更新的过程,本发明在此不再详细阐述。
[0135] 该可选的实施方式,通过汇聚邻居节点的向量表示,提高了用户节点、产品节点、代理人节点的向量表示的准确度;此外,使用异构邻居变换矩阵 缓解了异类节点在同
一向量空间进行训练导致的信息丢失问题,进一步提高了节点的向量表示的准确度。
[0136] 在对图神经网络进行迭代训练的过程中,通过更新用户向量表示、代理人向量表示及产品向量表示,将更新后的用户向量表示与更新后的代理人向量表示进行拼接得到了
最终的用户向量表示(即,目标用户向量表示),适应了具有代理人介入的锁客产品推荐场
景。并且代理人向量表示还可以用于代理人聚类分析等其他业务场景。
[0137] S14,根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数。
[0138] 在每轮训练结束时,都会得到一个更新后的用户向量表示,一个更新后的代理人向量表示,一个更新后的产品向量表示。为了确定迭代训练结束的条件,则需要根据更新后
的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建损失函数,通过
使得损失函数最小来结束迭代训练的过程。
[0139] 在一个可选的实施方式中,所述根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数包括:
[0140] 根据更新后的用户向量表示及对应的更新后的代理人向量表示生成目标用户向量表示;
[0141] 确定所述目标用户向量表示对应的目标用户及确定所述更新后的产品向量表示对应的目标产品;
[0142] 根据所述目标用户向量表示及所述更新后的产品向量表示计算所述目标用户购买所述目标产品的预测购买概率;
[0143] 基于所述预测购买概率及对应的真实购买标签构建交叉熵损失函数;
[0144] 对所述图神经网络进行随机负采样,并基于负采样的节点向量表示构建无监督损失函数。
[0145] 将更新后的用户向量表示及对应的更新后的代理人向量表示进行拼接即可得到目标用户向量表示。
[0146] 对目标用户向量表示和对应的更新后的产品向量表示分别输入MLP中,得到维度相同的向量表达后将两向量做内积运算,得到与代理人 互动的用户 购买的产品 的预
测购买概率 。
[0147] 构建的交叉熵损失函数 表示如下:
[0148] ,
[0149] 其中, 是与代理人 互动的用户 是否购买过产品 的真实购买标签,与代理人 互动的用户 购买过产品 ,则对应的真实购买标签为1,与代理人 互动的用户
没有购买过产品 ,则对应的真实购买标签为0。
[0150] 根据图神经网络中相邻节点相似的原则,从图神经网络中随机负采样多个节点,从而构建节点向量 的无监督损失函数 ,表示如下:
[0151] ,
[0152] 其中, 是随机负采样的一个节点的向量表示, 是 的邻居节点的向量表示,两向量点乘后经过一个激活函数 ,然后做log变换, 是 的非邻居节点的向量表示,
是负采样的节点数目。
[0153] 随机负采样是指,对于任意一个节点,获取这个节点的相邻节点及获取这个节点的不相邻节点,即,获取与这个节点之间建立有边的节点及与这个节点之间没有建立边的
节点,计算这个节点的相邻节点的数量,然后从不相邻节点中进行随机采样,使得随机采样
的不相邻节点的数量与相邻节点的数量相同。
[0154] 该可选的实施方式,在构建了交叉熵损失函数的基础上,通过基于相邻节点更相近的原则构建无监督损失函数,从而结合交叉熵损失函数和无监督损失函数共同训练图神
经网络,使得图神经网络能够更高效地捕捉到图拓扑逻辑中的信息,从而提高图神经网络
的训练效果。
[0155] S15,基于所述交叉熵损失函数及所述无监督损失函数对所述图神经网络进行优化训练,得到产品推荐模型。
[0156] 将所述交叉熵损失函数及所述无监督损失函进行加和计算,得到最终的损失函数,基于最终的损失函数最小化为训练目标,对图神经网络进行优化训练,将最终的损失函
数最小时对应的图神经网络确定为产品推荐模型。
[0157] 本实施方式将图神经网络训练得到的向量表示直接用于预测用户是或否购买产品,即通过是否购买作为有监督训练的标签去训练图神经网络,区别于node2vec等两阶段
的训练方式(将节点的表达作为单独的训练阶段,不与最终是否购买的预测任务关联),能
得到更优的节点向量表示,得到的产品推荐模型的推荐效果更佳。
[0158] S16,使用所述产品推荐模型为待推荐用户推荐产品。
[0159] 电子设备在训练得到产品推荐模型之后,即可使用产品推荐模型进行产品推荐,从而提高了产品推荐的准确度。
[0160] 在一个可选的实施方式中,所述使用所述产品推荐模型为待推荐用户推荐产品包括:
[0161] 获取所述待推荐用户的用户向量表示;
[0162] 确定与所述待推荐用户互动的目标代理人;
[0163] 获取所述图神经网络最后一次迭代训练时所述目标代理人对应的更新后的代理人向量表示及多个更新后的产品向量表示;
[0164] 根据所述待推荐用户的用户向量表示、所述目标代理人的代理人向量表示、所述多个更新后的产品向量表示生成输入向量表示;
[0165] 输入所述输入向量表示至所述产品推荐模型中,并获取所述产品推荐模型输出的多个预测概率;
[0166] 根据所述多个预测概率为所述待推荐用户推荐产品。
[0167] 其中,待推荐用户是指需要进行产品推荐的用户,可以获取待推荐用户的性别、年龄、职业、财富水平、个人喜好等能够用于刻画待推荐用户的用户画像的数据,对这些用于
刻画待推荐用户的用户画像的数据进行数据清洗及归一化后进行拼接得到待推荐用户的
用户向量表示。图神经网络在迭代训练结束时,会得到每个代理人节点的更新后的代理人
向量表示,每个产品节点的更新后的产品向量表示。
[0168] 确定与待推荐用户有互动的目标代理人,然后确定目标代理人的更新后的代理人向量表示,将待推荐用户的用户向量表示、目标代理人的更新后的代理人向量表示及每个
产品节点的更新后的产品向量表示组成三元组(待推荐用户的用户向量表示,目标代理人
的更新后的代理人向量表示及更新后的产品向量表示)。输入每个三元组至产品推荐模型
中,从而通过产品推荐模型输出预测概率。
[0169] 预测概率用以表示与目标代理人与互动的待推荐用户购买对应产品的可能性,预测概率越大,表明购买对应产品的可能性越大,预测概率越小,表明购买对应产品的可能性
越小。将最大的预测概率对应的产品推荐给待推荐用户。
[0170] 本发明所述的基于人工智能的产品推荐方法,构建以用户、代理人、产品为节点的图神经网络,图神经网络的信息表达较为丰富,并在获取用户向量表示、代理人向量表示及
产品向量表示之后,对所述图神经网络进行迭代训练,并在每次迭代训练时更新所述用户
向量表示、更新所述代理人向量表示及更新所述产品向量表示,从而使得节点的向量表示
更优,根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构
建交叉熵损失函数及无监督损失函数,结合交叉熵损失函数和无监督损失函数共同训练图
神经网络,使得图神经网络能够更高效地捕捉到图拓扑逻辑中的信息,从而提高图神经网
络的训练效果,得到性能较佳的产品推荐模型,最后使用所述产品推荐模型为待推荐用户
推荐产品时,提高了产品的推荐效果,推荐准确度较高。
[0171] 实施例二
[0172] 图3是本发明实施例二提供的基于人工智能的产品推荐装置的结构图。
[0173] 在一些实施例中,所述基于人工智能的产品推荐装置30可以包括多个由计算机程序段所组成的功能模块。所述基于人工智能的产品推荐装置30中的各个程序段的计算机程
序可以存储于电子设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)基
于人工智能的产品推荐的功能。
[0174] 本实施例中,所述基于人工智能的产品推荐装置30根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:获取模块301、第一构建模块302、更新模块
303、第二构建模块304、优化模块305及推荐模块306。本发明所称的模块是指一种能够被至
少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。
在本实施例中,关于各模块的功能将在后续的实施例中详述。
[0175] 所述获取模块301,用于基于用户信息获取用户向量表示,基于代理人信息获取代理人向量表示,基于产品信息获取产品向量表示。
[0176] 用户信息、代理人信息及产品信息可以从电子设备的本地存储的数据库中获取,所述数据库包括用户信息数据库、代理人信息数据库及产品信息数据库,其中,用户信息数
据库中记录了用户的第一信息,代理人信息数据库中记录了代理人的第二信息,产品数据
库中记录了产品的第三信息。
[0177] 第一信息可以包括:性别、年龄、职业、财富水平、个人喜好等能够用于刻画用户画像的数据,第二信息可以包括:性别、年龄、从业年限、职级、销售额等能够用于客户代理人
画像的数据,第三信息可以包括:产品生产商、生产日期、批次、保质期、产地、原材料等能够
用来描述产品的数据。
[0178] 将第一信息中的多个数据进行数据清洗及归一化后进行拼接得到用户向量表示,将第二信息中的多个数据进行数据清洗及归一化后进行拼接得到代理人向量表示,将第三
信息中的多个数据进行数据清洗及归一化后进行拼接得到产品向量表示。
[0179] 所述第一构建模块302,用于构建以用户、代理人、产品为节点的图神经网络。
[0180] 在寿险推荐场景中,代理人、用户、产品之间存在购买、销售、互动等多种关联关系,电子设备的本地中还存储有代理人与用户、用户与产品、用户与用户、产品与产品、代理
人与产品之间的关联关系。
[0181] 将代理人、用户、产品分别作为图神经网络中的节点,图神经网络中节点与节点之间存在关联关系,则在存在关联关系的节点之间建立一条边。
[0182] 在一个可选的实施方式中,所述第一构建模块302构建以用户、代理人、产品为节点的图神经网络包括:
[0183] 构建初始网络结构图,所述初始网络结构图中的节点为代理人、用户及产品;
[0184] 在同一时间段内购买过相同产品的用户对应的节点之间建立一条边;
[0185] 在同属于一个单位的代理人对应的节点之间建立一条边;
[0186] 在同一个类别的产品对应的节点之间建立一条边;
[0187] 在具有购买关系的用户与产品对应的节点之间建立一条边;
[0188] 在具有互动关系的代理人与用户对应的节点之间建立一条边,得到图神经网络。
[0189] 同一时间段可以是指每周内,也可以指每月内,或者每季度内。单位可以是小组,部门或者群级。
[0190] 如图2所示,假设电子设备的本地数据库中记录了用户1、用户2、用户3、代理人1、代理人2、产品1、产品2、产品3,用户1购买过产品1及产品3,用户1与代理人1互动过并购买
过产品1和产品3,用户2与代理人2互动过并购买过产品3,用户1购买产品3的时间与用户2
购买产品3的时间在同一时间段,用户3与代理人2互动过并购买过产品2,产品1与产品2为
同一类别的产品,则建立的图神经网络包括用户1节点、用户2节点、用户3节点、代理人1节
点、代理人2节点、产品1节点、产品2节点、产品3节点。
[0191] 由于用户1与用户2在同一时间段内购买过产品3,则在用户1节点与用户2节点之间建立一条边,用户1节点与产品3节点之间建立一条边,用户2节点与产品3节点之间建立
一条边。用户1还购买过产品1,用户1节点与产品1节点之间建立一条边,用户3购买过产品
2,用户3节点与产品2节点之间建立一条边。
[0192] 代理人1与代理人2属于两个不同的单位,则代理人1节点与代理人2节点之间不建立一条边。
[0193] 产品1与产品2为同一类别的产品,则在产品1节点与产品2节点之间建立一条边。
[0194] 代理人1与用户1产生过互动,代理人2与用户3及用户2产生过互动,则在代理人1节点与用户1节点之间建立一条边,代理人2节点与用户3节点之间及与用户2节点之间分别
建立一条边。
[0195] 该可选的实施方式,充分利用代理人、用户、产品之间存在的购买、销售、互动等关联关系来构建异构图结构,图神经网络的信息表达更为丰富。
[0196] 所述更新模块303,用于对所述图神经网络进行迭代训练,并在每次迭代训练时更新所述用户向量表示、更新所述代理人向量表示及更新所述产品向量表示。
[0197] 可以基于用户向量表示、代理人向量表示及产品向量表示对图神经网络进行第一轮训练;在对图神经网络进行第二轮训练时,更新第一轮训练时的用户向量表示、代理人向
量表示及产品向量表示;在对图神经网络进行第三轮训练结束时,更新第二轮训练结束时
得到的用户向量表示、代理人向量表示及产品向量表示;在对图神经网络进行第四轮训练
结束时,更新第三轮训练结束时得到的用户向量表示、代理人向量表示及产品向量表示;以
此类推;在对图神经网络进行最后一轮训练结束时,对倒数第二轮训练结束时得到的用户
向量表示、代理人向量表示及产品向量表示进行更新。
[0198] 在一个可选的实施方式中,所述更新模块303在每次迭代训练时更新所述用户向量表示包括:
[0199] 确定所述用户节点的同类邻居节点及异类邻居节点;
[0200] 获取所述同类邻居节点在上一轮训练结束的第一向量表示,及获取所述异类邻居节点在上一轮训练结束的第二向量表示;
[0201] 计算所述同类邻居节点在本轮训练时的第一注意权重,及计算所述异类邻居节点在本轮训练时的第二注意权重;
[0202] 根据所述第一向量表示及所述第一注意权重计算得到第一聚合向量表示;
[0203] 根据所述第二向量表示及所述第二注意权重计算得到第二聚合向量表示;
[0204] 对所述第一聚合向量表示及所述第二聚合向量表示进行融合,得到更新后的用户向量表示。
[0205] 其中,所述用户节点的同类邻居节点是指与所述用户节点之间建立有边的其他用户节点,所述用户节点的同类邻居节点的向量表示则是指所述其他用户节点的用户向量表
示。例如,对于用户1节点而言,用户1节点的同类邻居节点是指用户2节点,用户1节点的同
类邻居节点的向量表示为用户2节点的用户向量表示。对于用户2节点而言,用户2节点的同
类邻居节点是指用户1节点,用户2节点的同类邻居节点的向量表示为用户1节点的用户向
量表示。对于用户3节点而言,用户3节点的同类邻居节点则为空。
[0206] 其中,所述用户节点的异类邻居节点是指与所述用户节点之间建立有边的产品节点,所述用户节点的异类邻居节点的向量表示则是指产品节点的产品向量表示。需要说明
的是,由于一个用户通常和一个代理人进行互动,因此对于用户节点的异类邻居节点则只
包括产品节点,不包括代理人节点。即,不对代理人邻居节点的代理人向量表示进行聚合,
只对产品邻居节点的产品向量表示进行聚合。
[0207] 下文将以用户节点 为例来说明本轮迭代训练结束后得到的更新的用户节点向量表示的过程。
[0208] 定义所述用户节点的同类邻居节点为 ,所述用户节点的异类邻居节点为。
[0209] 用户节点 在第 轮的用户向量表示 聚合了邻居节点(同类邻居节点和异类邻居节点)的向量表示和用户节点 在第 轮的向量表示 。
[0210] 为了区分邻居节点对用户节点 的影响,对用户节点 的同类邻居节点和异类邻居节点分别进行聚合计算。对用户节点 的同类邻居节点进行聚合计算得到第一聚合向
量,对用户节点 的异类邻居节点进行聚合计算得到第二聚合向量。
[0211] 其中,用户节点 的第一聚合向量表示 为:
[0212] ,
[0213] 表示用户节点 的第 个同类邻居节点在第 轮训练的第一注意权重,表示第 个同类邻居节点在第 轮训练结束时的用户向量表示(第一向量表示)。
[0214] 第一注意权重 通过如下公式计算:
[0215] ,
[0216] 表示用户节点 在 轮训练结束时的用户向量表示, 是用户节点第 轮训练时求解的同类邻居节点的注意力权重的参数,是模型训练时学习参数, 表示
用户节点 的邻居节点(包括同类邻居节点和异类邻居节点),||表示向量拼接。
[0217] 其中,用户节点 的第二聚合向量表示 为:
[0218] ,
[0219] 表示用户节点 的第 个异类邻居节点在第 轮训练的第二注意权重,表示第 个异类邻居节点在第 轮训练结束时的产品向量表示(第二向量表示),
表示用户节点 到产品 的变换矩阵。
[0220] 第二注意权重 通过如下公式计算:
[0221] ,
[0222] 表示用户节点 在 轮训练结束时的用户向量表示, 是用户节点第 轮训练时的求解的异类邻居节点的注意力权重的参数,是模型训练时的学习参数。
[0223] 因为用户向量表示和产品向量表示属于不同的向量空间,因此,需要设置一个用户节点 到产品节点 的异构邻居变换矩阵 ,异构邻居变换矩阵 是模型训练
时的学习参数。
[0224] 在一个可选的实施方式中,所述对所述第一聚合向量表示及所述第二聚合向量表示进行融合,得到更新后的用户向量表示包括:
[0225] 计算所述同类邻居节点在本轮训练时的第一计算权重;
[0226] 计算所述异类邻居节点在本轮训练时的第二计算权重;
[0227] 以所述第一计算权重及所述第二计算权重对所述第一聚合向量表示及所述第二聚合向量表示进行融合,得到目标融合向量表示;
[0228] 对所述目标融合向量表示及所述用户节点在上一轮训练结束的用户向量表示进行非线性变换,得到所述更新后的用户向量表示。
[0229] 在得到用户节点 的第一聚合向量表示 和用户节点 的第二聚合向量表示 后,将同类节点对应的第一聚合向量表示 和异类节点对应的第二聚合向
量表示 进行融合,得到用户节点 融合了所有邻居节点的向量表示,即目标融合向
量表示 。
[0230] 目标融合向量表示 通过如下公式计算得到:
[0231] ,
[0232] ,
[0233] ,
[0234] 其中, 表示用户节点 在第 轮训练时同类邻居节点的向量表示的第一计算权重, 表示用户节点 在第 轮训练时异类邻居节点的向量表示的第二计算权重。
是求解计算权重所需的训练参数, 表示用户节点 的邻居节点的目标融合向量表
示。
[0235] 第一计算权重和第二计算权重可以通过注意力机制求得。
[0236] 获取用户节点 在第 轮训练结束时的用户向量表示 ,则将用户节点在第 轮训练结束时的用户向量表示 与用户节点 在第 轮训练时的目标融
合向量表示 进行拼接,并对拼接后的向量表示进行非线性变换,得到用户节点 的更
新后的用户向量表示 。
[0237] 用 户节点 的更新 后的 用户向量 表示 使 用如下公 式表示 :, 为激活函数, 是用
于做线性变换的矩阵,是模型需要训练的学习参数。
[0238] 同理,在每次迭代训练时更新所述代理人向量表示的过程中,定义所述代理人节点的同类邻居节点为 及异类邻居节点为 ,确定所述代理人节点的同类邻居
节点及异类邻居节点,所述代理人节点的同类邻居节点是指与所述代理人节点之间建立有
边的其他代理人节点,所述代理人节点的异类邻居节点是指与所述代理人节点之间建立有
边的用户节点及产品节点。
[0239] 在每次迭代训练时更新所述产品向量表示的过程中,定义所述产品节点的同类邻居节点为 及异类邻居节点为 ,确定所述产品节点的同类邻居节点及异类
邻居节点,所述产品节点的同类邻居节点是指与所述产品节点之间建立有边的其他产品节
点,所述产品节点的异类邻居节点是指与所述产品节点之间建立有边的用户节点及代理人
节点。
[0240] 对代理人向量表示和产品向量表示进行更新的过程同对用户向量表示进行更新的过程,本发明在此不再详细阐述。
[0241] 该可选的实施方式,通过汇聚邻居节点的向量表示,提高了用户节点、产品节点、代理人节点的向量表示的准确度;此外,使用异构邻居变换矩阵 缓解了异类节点在
同一向量空间进行训练导致的信息丢失问题,进一步提高了节点的向量表示的准确度。
[0242] 在对图神经网络进行迭代训练的过程中,通过更新用户向量表示、代理人向量表示及产品向量表示,将更新后的用户向量表示与更新后的代理人向量表示进行拼接得到了
最终的用户向量表示(即,目标用户向量表示),适应了具有代理人介入的锁客产品推荐场
景。并且代理人向量表示还可以用于代理人聚类分析等其他业务场景。
[0243] 所述第二构建模块304,用于根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数。
[0244] 在每轮训练结束时,都会得到一个更新后的用户向量表示,一个更新后的代理人向量表示,一个更新后的产品向量表示。为了确定迭代训练结束的条件,则需要根据更新后
的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建损失函数,通过
使得损失函数最小来结束迭代训练的过程。
[0245] 在一个可选的实施方式中,所述第二构建模块304根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数
包括:
[0246] 根据更新后的用户向量表示及对应的更新后的代理人向量表示生成目标用户向量表示;
[0247] 确定所述目标用户向量表示对应的目标用户及确定所述更新后的产品向量表示对应的目标产品;
[0248] 根据所述目标用户向量表示及所述更新后的产品向量表示计算所述目标用户购买所述目标产品的预测购买概率;
[0249] 基于所述预测购买概率及对应的真实购买标签构建交叉熵损失函数;
[0250] 对所述图神经网络进行随机负采样,并基于负采样的节点向量表示构建无监督损失函数。
[0251] 将更新后的用户向量表示及对应的更新后的代理人向量表示进行拼接即可得到目标用户向量表示。
[0252] 对目标用户向量表示和对应的更新后的产品向量表示分别输入MLP中,得到维度相同的向量表达后将两向量做内积运算,得到与代理人 互动的用户 购买的产品 的预
测购买概率 。
[0253] 构建的交叉熵损失函数 表示如下:
[0254] ,
[0255] 其中, 是与代理人 互动的用户 是否购买过产品 的真实购买标签,与代理人 互动的用户 购买过产品 ,则对应的真实购买标签为1,与代理人 互动的用户
没有购买过产品 ,则对应的真实购买标签为0。
[0256] 根据图神经网络中相邻节点相似的原则,从图神经网络中随机负采样多个节点,从而构建节点向量 的无监督损失函数 ,表示如下:
[0257] ,
[0258] 其中, 是随机负采样的一个节点的向量表示, 是 的邻居节点的向量表示,两向量点乘后经过一个激活函数 ,然后做log变换, 是 的非邻居节点的向量表示,
是负采样的节点数目。
[0259] 随机负采样是指,对于任意一个节点,获取这个节点的相邻节点及获取这个节点的不相邻节点,即,获取与这个节点之间建立有边的节点及与这个节点之间没有建立边的
节点,计算这个节点的相邻节点的数量,然后从不相邻节点中进行随机采样,使得随机采样
的不相邻节点的数量与相邻节点的数量相同。
[0260] 该可选的实施方式,在构建了交叉熵损失函数的基础上,通过基于相邻节点更相近的原则构建无监督损失函数,从而结合交叉熵损失函数和无监督损失函数共同训练图神
经网络,使得图神经网络能够更高效地捕捉到图拓扑逻辑中的信息,从而提高图神经网络
的训练效果。
[0261] 所述优化模块305,用于基于所述交叉熵损失函数及所述无监督损失函数对所述图神经网络进行优化训练,得到产品推荐模型。
[0262] 将所述交叉熵损失函数及所述无监督损失函进行加和计算,得到最终的损失函数,基于最终的损失函数最小化为训练目标,对图神经网络进行优化训练,将最终的损失函
数最小时对应的图神经网络确定为产品推荐模型。
[0263] 本实施方式将图神经网络训练得到的向量表示直接用于预测用户是或否购买产品,即通过是否购买作为有监督训练的标签去训练图神经网络,区别于node2vec等两阶段
的训练方式(将节点的表达作为单独的训练阶段,不与最终是否购买的预测任务关联),能
得到更优的节点向量表示,得到的产品推荐模型的推荐效果更佳。
[0264] 所述推荐模块306,用于使用所述产品推荐模型为待推荐用户推荐产品。
[0265] 电子设备在训练得到产品推荐模型之后,即可使用产品推荐模型进行产品推荐,从而提高了产品推荐的准确度。
[0266] 在一个可选的实施方式中,所述推荐模块306使用所述产品推荐模型为待推荐用户推荐产品包括:
[0267] 获取所述待推荐用户的用户向量表示;
[0268] 确定与所述待推荐用户互动的目标代理人;
[0269] 获取所述图神经网络最后一次迭代训练时所述目标代理人对应的更新后的代理人向量表示及多个更新后的产品向量表示;
[0270] 根据所述待推荐用户的用户向量表示、所述目标代理人的代理人向量表示、所述多个更新后的产品向量表示生成输入向量表示;
[0271] 输入所述输入向量表示至所述产品推荐模型中,并获取所述产品推荐模型输出的多个预测概率;
[0272] 根据所述多个预测概率为所述待推荐用户推荐产品。
[0273] 其中,待推荐用户是指需要进行产品推荐的用户,可以获取待推荐用户的性别、年龄、职业、财富水平、个人喜好等能够用于刻画待推荐用户的用户画像的数据,对这些用于
刻画待推荐用户的用户画像的数据进行数据清洗及归一化后进行拼接得到待推荐用户的
用户向量表示。图神经网络在迭代训练结束时,会得到每个代理人节点的更新后的代理人
向量表示,每个产品节点的更新后的产品向量表示。
[0274] 确定与待推荐用户有互动的目标代理人,然后确定目标代理人的更新后的代理人向量表示,将待推荐用户的用户向量表示、目标代理人的更新后的代理人向量表示及每个
产品节点的更新后的产品向量表示组成三元组(待推荐用户的用户向量表示,目标代理人
的更新后的代理人向量表示及更新后的产品向量表示)。输入每个三元组至产品推荐模型
中,从而通过产品推荐模型输出预测概率。
[0275] 预测概率用以表示与目标代理人与互动的待推荐用户购买对应产品的可能性,预测概率越大,表明购买对应产品的可能性越大,预测概率越小,表明购买对应产品的可能性
越小。将最大的预测概率对应的产品推荐给待推荐用户。
[0276] 本发明所述的基于人工智能的产品推荐装置,构建以用户、代理人、产品为节点的图神经网络,图神经网络的信息表达较为丰富,并在获取用户向量表示、代理人向量表示及
产品向量表示之后,对所述图神经网络进行迭代训练,并在每次迭代训练时更新所述用户
向量表示、更新所述代理人向量表示及更新所述产品向量表示,从而使得节点的向量表示
更优,根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构
建交叉熵损失函数及无监督损失函数,结合交叉熵损失函数和无监督损失函数共同训练图
神经网络,使得图神经网络能够更高效地捕捉到图拓扑逻辑中的信息,从而提高图神经网
络的训练效果,得到性能较佳的产品推荐模型,最后使用所述产品推荐模型为待推荐用户
推荐产品时,提高了产品的推荐效果,推荐准确度较高。
[0277] 实施例三
[0278] 本实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述基于人工智能的产品推荐方法实施例中的步
骤,例如图1所示的S11‑S16:
[0279] S11,基于用户信息获取用户向量表示,基于代理人信息获取代理人向量表示,基于产品信息获取产品向量表示;
[0280] S12,构建以用户、代理人、产品为节点的图神经网络;
[0281] S13,对所述图神经网络进行迭代训练,并在每次迭代训练时更新所述用户向量表示、更新所述代理人向量表示及更新所述产品向量表示;
[0282] S14,根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数;
[0283] S15,基于所述交叉熵损失函数及所述无监督损失函数对所述图神经网络进行优化训练,得到产品推荐模型;
[0284] S16,使用所述产品推荐模型为待推荐用户推荐产品。
[0285] 或者,该计算机程序被处理器执行时实现上述装置实施例中各模块/单元的功能,例如图3中的模块301‑306:
[0286] 所述获取模块301,用于基于用户信息获取用户向量表示,基于代理人信息获取代理人向量表示,基于产品信息获取产品向量表示;
[0287] 所述第一构建模块302,用于构建以用户、代理人、产品为节点的图神经网络;
[0288] 所述更新模块303,用于对所述图神经网络进行迭代训练,并在每次迭代训练时更新所述用户向量表示、更新所述代理人向量表示及更新所述产品向量表示;
[0289] 所述第二构建模块304,用于根据更新后的用户向量表示、更新后的代理人向量表示及更新后的产品向量表示构建交叉熵损失函数及无监督损失函数;
[0290] 所述优化模块305,用于基于所述交叉熵损失函数及所述无监督损失函数对所述图神经网络进行优化训练,得到产品推荐模型;
[0291] 所述推荐模块306,用于使用所述产品推荐模型为待推荐用户推荐产品。
[0292] 实施例四
[0293] 参阅图4所示,为本发明实施例三提供的电子设备的结构示意图。在本发明较佳实施例中,所述电子设备4包括存储器41、至少一个处理器42、至少一条通信总线43及收发器
44。
[0294] 本领域技术人员应该了解,图4示出的电子设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备4还可以包括比图示更多或
更少的其他硬件或者软件,或者不同的部件布置。
[0295] 在一些实施例中,所述电子设备4是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程
门阵列、数字处理器及嵌入式设备等。所述电子设备4还可包括客户设备,所述客户设备包
括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机
交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
[0296] 需要说明的是,所述电子设备4仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
[0297] 在一些实施例中,所述存储器41中存储有计算机程序,所述计算机程序被所述至少一个处理器42执行时实现如所述的基于人工智能的产品推荐方法中的全部或者部分步
骤。所述存储器41包括只读存储器(Read‑Only Memory,ROM)、可编程只读存储器
(Programmable Read‑Only Memory,PROM)、可擦除可编程只读存储器(Erasable 
Programmable Read‑Only  Memory,EPROM)、一次可编程只读存储器(One‑time 
Programmable  Read‑Only  Memory,OTPROM)、电子擦除式可复写只读存储器
(Electrically‑Erasable Programmable Read‑Only Memory,EEPROM)、只读光盘(Compact 
Disc Read‑Only Memory,CD‑ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够
用于携带或存储数据的计算机可读的任何其他介质。
[0298] 进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区
块链节点的使用所创建的数据等。
[0299] 本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用
密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验
证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品
服务层以及应用服务层等。
[0300] 在一些实施例中,所述至少一个处理器42是所述电子设备4的控制核心(Control Unit),利用各种接口和线路连接整个电子设备4的各个部件,通过运行或执行存储在所述
存储器41内的程序或者模块,以及调用存储在所述存储器41内的数据,以执行电子设备4的
各种功能和处理数据。例如,所述至少一个处理器42执行所述存储器中存储的计算机程序
时实现本发明实施例中所述的基于人工智能的产品推荐方法的全部或者部分步骤;或者实
现基于人工智能的产品推荐装置的全部或者部分功能。所述至少一个处理器42可以由集成
电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能
封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、
微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
[0301] 在一些实施例中,所述至少一条通信总线43被设置为实现所述存储器41以及所述至少一个处理器42等之间的连接通信。
[0302] 尽管未示出,所述电子设备4还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器42逻辑相连,从而通过电源管理装
置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交
流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意
组件。所述电子设备4还可以包括多种传感器、蓝牙模块、Wi‑Fi模块等,在此不再赘述。
[0303] 上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机
设备(可以是个人计算机,电子设备,或者网络设备等)或处理器(processor)执行本发明各
个实施例所述方法的部分。
[0304] 在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅
仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0305] 所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目
的。
[0306] 另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0307] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论
从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权
利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有
变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此
外,显然“包括”一词不排除其他单元或,单数不排除复数。说明书中陈述的多个单元或装置
也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并
不表示任何特定的顺序。
[0308] 最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的
技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。