1.一种会话推荐方法,其特征在于,包括步骤:
S1:根据会话序列构建会话图;
S2:根据所述会话图聚合L阶邻居节点特征,获得物品嵌入向量;其中,L为正整数;
S3:捕获所述物品嵌入向量中的序列信息,获得会话序列特征向量;
S4:根据所述会话序列特征向量计算当前兴趣和全局兴趣,再根据所述当前兴趣和所述全局兴趣进行兴趣融合计算得到最终会话表示向量;
S5:根据所述最终会话表示向量计算所有候选物品的点击概率,并输出所述点击概率最高的K个候选物品作为最终的推荐物品;其中,K为正整数;
其中,步骤S2具体为:
采用图同构网络来聚合所述会话图中的L阶邻居节点特征,从而获得所述物品嵌入向量;其中,所述图同构网络执行步骤:S21:根据所述会话图的(l‑1)阶嵌入向量计算l阶嵌入向量;其中,l∈[1,L],当l=1时,(l‑1)阶嵌入向量即为初始嵌入向量;
S22:判断所述l阶嵌入向量的计算次数是否达到预设阶次,若否,则将所述l阶嵌入向量作为所述(l‑1)阶嵌入向量,返回步骤S21,若是,则将所述l阶嵌入向量作为L阶嵌入向量,执行步骤S23;其中,预设阶次设为L;
S23:根据L阶嵌入向量计算物品嵌入向量;
其中,步骤S3具体为:
采用门控多层感知机算法一次性捕获所述物品嵌入向量的序列信息,从而计算得到所述会话序列特征向量;其中,所述门控多层感知机执行步骤:S31:采用空间投影矩阵一次性捕获所述物品嵌入向量的序列位置信息,并使所述序列位置信息与物品嵌入信息融合得到会话序列中间向量;
S32:将所述物品嵌入向量和所述会话序列中间向量进行残差连接,获得所述会话序列特征向量;
S33:判断所述会话序列特征向量的计算次数是否达到预设循环次数,若否,则将所述会话序列特征向量作为所述物品嵌入向量,返回步骤S31,若是,则直接输出所述会话序列特征向量;其中,预设循环次数设为N;其中,N为正整数。
2.根据权利要求1所述的会话推荐方法,其特征在于:
所述会话序列中间向量的计算过程为:
zs=Dropout[SGU(zh)W4+b4] (12)式中,zs表示所述会话序列中间向量,zh表示会话嵌入向量;hf表示所述物品嵌入向量,表示层归一化的物品嵌入向量;LayerNorm()表示LayerNorm正则化技术,Dropout()表示Dropout正则化技术,GeLU()表示GeLU激活函数,SGU(zh)表示空间门控单元算法对所述会话嵌入向量进行序列信息学习;W3表示第三参数矩阵,W4表示第四参数矩阵,b3表示第三参数向量,b4表示第四参数向量;
所述SGU(zh)的计算过程为:
[z1;z2]=zh (13)
zr=z1⊙zp (16)
式中,zr表示会话序列表示向量;zp表示序列位置向量,包含会话序列的序列位置信息;
z1、z2分别表示由所述会话嵌入向量沿嵌入维度对半分割得到的第一半会话嵌入向量和第二半会话嵌入向量,二者均包含会话序列的物品嵌入信息; 表示层归一化的第二半会话嵌入向量;Ws表示空间投影矩阵,bs表示空间参数向量;⊙表示哈达玛乘积;
所述会话序列特征向量的计算公式为:
式中, 表示所述会话序列特征向量。
3.根据权利要求1所述的会话推荐方法,其特征在于:
所述l阶嵌入向量的计算过程为:
l l‑1
h=MLP{[Ain+Aout+I×(1+∈)]×h } (6)l l‑1
式中, 表示所述l阶嵌入向量,h 表示l阶嵌入中间向量,h 表示(l‑1)阶嵌入中间向量;Aout表示邻接矩阵中的出度矩阵,Ain表示邻接矩阵中的入度矩阵,I表示单位矩阵;∈表示初始的映射误差;ReLU()表示ReLU激活函数;Dropout()表示Dropout正则化技术;MLP()表示多层感知机算法;
所述物品嵌入向量的计算过程为:
0 L
gh=σ(Wg[h;h]) (8)
0 L
hf=gh⊙h+(1‑gh)⊙h (9)L
式中,hf表示所述物品嵌入向量,h 表示所述L阶嵌入向量;gh表示门控嵌入参数,由所述初始嵌入向量和所述L阶嵌入向量共同决定;[;]表示将所述初始嵌入向量和到点L阶嵌入向量进行拼接;Wg表示门控参数矩阵;σ()表示sigmoid激活函数;⊙表示哈达玛乘积。
4.根据权利要求3所述的会话推荐方法,其特征在于,步骤S4具体为:根据所述会话序列特征向量,通过平均池化计算得到所述当前兴趣,通过聚合池化计算得到所述全局兴趣;然后将当前兴趣和全局兴趣进行自适应融合,从而计算得到最终会话表示向量。
5.根据权利要求4所述的会话推荐方法,其特征在于:
最终会话表示向量的计算过程为:
gz=σ(W5zlocal+W6zglobal) (20)zf=gz⊙zlocal+(1‑gz)⊙zglobal (21)式中,zf表示所述最终会话表示向量, 表示所述会话序列特征向量;zlocal表示所述当前兴趣,zglobal表示所述全局兴趣;gz表示门控融合参数,由所述当前兴趣和所述全局兴趣决定;mean()表示平均池化,sum()表示聚合池化;W5表示第五参数矩阵,W6表示第六参数矩阵。
6.根据权利要求5所述的会话推荐方法,其特征在于,还包括参数优化步骤:S6:将会话数据集中的会话序列进行预处理,然后将预处理后的会话序列按照9:1的比例随机划分成训练集和测试集,将所述训练集中的会话序列随机分为多个批次;
S7:初始化步骤S2~S4的网络参数,按批次对所述训练集的会话序列执行步骤S1~S5来优化所述网络参数;优化过程中,采用自适应动量算法优化所述网络参数,并采用交叉熵损失函数进行损失计算;
所述交叉熵损失函数的表达式为:
式中,表示所述点击概率; 表示所述点击概率的第i个值,即在会话序列中第i个物品为下一次点击物品的概率值;yi为第i个物品的独热编码向量,其取值为1或0;yi=1表示第i个物品为正样例,即下一个点击的物品是第i个物品;yi=0表示第i个物品为负样例,即下一个点击的物品不是第i个物品;
S8:每次迭代后,对所述测试集的会话序列执行步骤S1~S5来进行性能测试,重复多个迭代直至性能不再提升。
7.一种会话推荐装置,其特征在于:
包括依次堆叠的构图模块、物品嵌入信息提取模块、序列信息提取模块、兴趣融合模块和预测模块;
所述构图模块根据会话序列构建会话图;
所述物品嵌入信息提取模块聚合所述会话图中的L阶邻居节点特征,获得物品嵌入向量;
所述序列信息提取模块捕获所述物品嵌入向量中的序列信息,获得会话序列特征向量;
所述兴趣融合模块根据到点会话序列特征向量计算当前兴趣和全局兴趣,并对所述当前兴趣和所述全局兴趣进行兴趣融合,得到最终会话表示向量;
所述预测模块根据是最终会话表示向量计算所有候选物品的点击概率,并输出所述点击概率最高的K个候选物品作为最终的推荐物品;
其中,所述会话图由初始嵌入向量和邻接矩阵组成;
所述物品嵌入信息提取模块包括依次堆叠的L层图同构网络和高速公路网络;第l层图同构网络根据会话图的(l‑1)阶嵌入向量计算l阶嵌入向量;l∈[1,L],L为正整数;当l=1时,(l‑1)阶嵌入向量即为初始嵌入向量;当l=L时,l阶嵌入向量即为L阶嵌入向量;高速公路网络根据初始嵌入向量和L阶嵌入向量计算得到物品嵌入向量;
所述序列信息提取模块包括依次堆叠的N层门控多层感知机;每个所述门控多层感知机包括依次堆叠的第一LayerNorm层、第一线性映射层、GeLU激活函数层、空间门控单元和第二线性映射层和残差连接层;所述第一LayerNorm层、所述第一线性映射层、所述GeLU激活函数层顺次处理所述物品嵌入向量,计算得到会话嵌入向量;所述空间门控单元根据所述会话嵌入向量计算得到会话序列中间向量;所述第二线性映射层和所述残差连接层顺次处理所述会话序列中间向量,计算得到所述会话序列特征向量;
其中,所述空间门控单元包括向量对半分割层、第二LayerNorm层、时序维度的线性映射层和门控融合层;所述向量对半分割层将所述会话嵌入向量对半分割成第一半会话嵌入向量和第二半会话嵌入向量;所述第二LayerNorm层对所述第二半会话嵌入向量进行层归一化;到点时序维度的线性映射层通过一个空间投影矩阵一次性捕获层归一化的第二半会话嵌入向量的序列位置信息,计算得到序列位置向量;到点门控融合层将到点第一半会话嵌入向量和到点序列位置向量进行融合,从而得到到点会话序列中间向量;
所述兴趣融合模块包括平均池化层、聚合池化层和门控融合网络;所述平均池化层根据所述会话序列特征向量计算得到所述当前兴趣,所述聚合池化层根据所述会话序列特征向量计算得到所述全局兴趣,所述门控融合网络将所述当前兴趣和所述全局兴趣进行融合,获得所述最终会话表示向量。