1.一种基于图神经网络和注意力机制的会话推荐方法,其特征在于,包括以下步骤:S1、获取会话数据,并转化构建三种图数据结构:边序图、短连图和全局图;所述边序图构建方法为按照入边顺序给每个项目的入边标记序号,并标记最后一个项目;所述短连图构建方法为给图中每个顶点加上自连接,并给向后几个项目添加连接;所述全局图用于构建会话间联系,构建方法为将所有会话中项目的邻居直接相连,并将连接边的权重值表示为这条边出现的次数;
S2、对于构建所得边序图、短连图和全局图,通过图神经网络和注意力机制学习项目在会话上下文和在全局上下文中表示,并将得到的两个级别表示融合且融入位置信息;具体过程为:S21、对于边序图,先通过神经网络GRU来聚合邻居信息从而能够保留顺序信息,再结合节点表示对节点i自身进行更新,得到边序图中更新后的节点表示 l表示神经网络GRU中第l层;
S22、对于短连图,利用自注意力机制对对其节点a进行节点更新,得到更新后的节点表示S23、交叉堆叠多个处理边序图和短连图的图神经网络层,分别记为EOP层和SGA层,并且在每一层将之前所有层的输出通过拼接作为当前层的输入;经过堆叠的多层网络,得到当前会话图中项目的最终项目表示S24、对于全局图,将每个项目的邻居通过软注意力线性结合,而对应权重则通过邻居与当前会话相关性以及边权重值计算得出,得到最终项目在全局上下文表示后,将其与在会话上下文表示融合h′v;
S25、将反向位置信息融合,得到融合位置信息的项目表示mi;
N
S3、完成步骤S2的融合位置信息后,通过自注意力机制获取项目间的内在关联,即E =[e1,e2,…,eL];具体步骤如下:在融合位置信息mi之后,首先通过自注意力捕获项目间的内在关联,具体定义如下:V K Q
其中,R为经过自注意力后的会话项目表示,M=[m1,m2,…,mL],W、W 、W是可学习参数,d为自注意力中键向量维度;L为当前会话长度;
然后再经过前馈网络,使用relu函数增加非线性,并在前馈网络后添加残差连接,具体定义如下:E=W7relu(W6R+b4)+b5+R
其中,W7、W6、b4、b5皆为可学习参数,relu为激活函数;
j
经过N次自注意力层,得到多层自注意力网络最终输出E=[e1,e2,…,eL];
S4、利用软注意力机制计算不同位置的不同项目对当前会话重要性,来计算最终会话表示S,并使用最终会话表示S预测下一个点击项目,具体步骤如下:步骤S41、利用软注意力机制计算不同位置的不同项目对当前会话重要性,从而计算出最终的会话表示,具体定义如下:其中,S为最终会话表示, 为融合全局上下文和当前会话上下文的项目表示,q3、W8、W9、b6为可学习参数,βi表示节点i对应注意力系数;
s′为会话信息,通过用软注意力机制获得s′,具体定义如下:β′=softmax(∈′)
其中,q4、W2′、W3′、b′2均为可学习参数;
步骤S42、通过交叉熵损失函数将最终得到的会话表示S用于预测下一个点击项目概率,具体定义如下:其中, 为预测项目下一个被点击概率,yi表示真实值,为项目独热编码血量,n为所有项目个数。
2.根据权利要求1所述的基于图神经网络和注意力机制的会话推荐方法,其特征在于,所述步骤S21中计算更新后的节点表示 的具体公式为:其中,记di为边序图中节点i的入边数量,则1<<k<<di,jk表示节点的第k条入边所对应的起始顶点, 代表第l层第k条入边相应的起始节点表示, 和 表示GRU中的隐藏状态, 和 为可学习参数,||表示拼接操作。
3.根据权利要求1所述的基于图神经网络和注意力机制的会话推荐方法,其特征在于,所述步骤S22获得短连图更新后的节点表示 的具体方法为:首先,计算各邻居节点线性如下:
(l′)
其中,j为节点a的各个入边对应的邻居顶点,p 、 是可学习参数,是计算得到的各邻居节点的相关性得分,而 则是得分经过softmax函数归一化之后得到的比重;
然后,将各邻居节点线性结合得到更新后的节点表示:
其中,Eun(a)表示节点a的入边集合, 表示邻居节点j与节点a相关程度系数, 是可学习参数。
4.根据权利要求1所述的基于图神经网络和注意力机制的会话推荐方法,其特征在于,所述步骤S24获得融合后的最终项目表示h′v的详细过程如下:首先,计算节点i所有邻居节点聚合得到的信息 公式如下:上式中, 为邻居嵌入表示,π(vi,vj)最后表示根据不同邻居的重要性得到的系数,且π(vi,vj)=softmax(π(vi,vj))wij是与邻居相连边的权重,⊙表示两个向量对应项相乘操作,||表示拼接操作,q1和W1是可学习的参数, 表示节点vi的邻居集合,sc为当前会话信息;
当前会话信息sc通过利用软注意力计算得出,局部偏好取最后两次点击项的均值,具体定义如下:β=softmax(∈)
其中,hlocal表示局部偏好向量,∈i表示会话中各项目与当前会话局部偏好相关性得分,经过归一化后再加权求和得到当前会话信息,q2、W2、W3、b2为可学习参数;βi和hi分别表示当前会话中的各项目对应系数以及各项目向量表示;
然后,将项目表示与邻域表示结合,得到更新后的项目嵌入表示 具体定义如下:其中, 表示项目在全局图上更新后表示,W4为可学习参数, 为邻域表示,经过多层则可以聚合更高阶信息,具体定义如下:其中, 表示在全局图中聚合了z阶远距离的项目表示,agg表示聚合操作, 表示前一层项目表示, 表示前一层领域表示;
最后,得到最终项目在全局上下文表示后,通过dropout函数将其与在会话上下文表示融合,得到融合后的最终项目表示h′v,具体公式如下:
5.根据权利要求1所述的基于图神经网络和注意力机制的会话推荐方法,其特征在于,所述步骤S25的具体信息融合公式如下:其中,mT为融合位置信息的项目表示,W5、b3为可学习参数,pL‑T+1表示反向位置嵌入,L为当前会话长度,T代表会话序列中从前往后第T个位置。