买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:西北师范大学
摘要:本发明公开了一种结合图神经网络的短期用户购买行为预测方法MCLRec,通过设计局部图神经网络和星图神经网络来学习不同的会话表示,通过对比学习更好地对复杂项目转换信息进行建模。具体来说,我们将传统的会话图作为局部图学习项目的顺序转换关系,为了学习到非相邻项目之间的转换关系,设计了一种新颖的会话图构建方法,引入了一个与其他项目节点都相连的中心节点,达到信息共享的效果。由于星图包含的信息量较大,容易产生过拟合问题,因此在星图神经网络的最后一层加入了高速网络,这个方法的效果类似残差,可以达到选择性获得项目嵌入的效果。最后通过对比学习最大化两个通道学习到的会话表示之间的互信息,从而提高模型的特征提取能力。最后,通过多任务联合优化学习不同视图的任务从而学习到更鲁棒的嵌入表示,准确预测出用户即将选择的下一个项目。该发明解决了短期用户购买行为预测领域中常面临的数据稀疏性问题,以及图神经网络中的过拟合问题。
主权项:1.步骤1:构造会话图。L-G:为了学习会话中项目的成对关系,我们将每个会话序列s构建为局部图L-G,用Gl=Vl,El表示。在此会话图中,每个节点表示一个项目vs,i∈Vl。每条边表示用户在会话S中点击了之后下一个点击项目是我们根据这些边捕获当前会话的成对项目转换模式。L-G的构建流程如图2所示。S-G:本发明设计了星图S-G来学习会话中跨两跳项目之间的信息传播,用Gs=Vs,Es表示。S-G通过加入一个中心节点,中心节点能够接收其他卫星节点传播的信息并保存,从而实现所有卫星节点的信息共享。星图的详细构建流程如图3所示。首先,我们利用会话中项目的独特嵌入来表示卫星节点:h0=[x1,x2,x3,...,xk]其中是项目i在星图中的d维嵌入。然后,我们通过对卫星节点的初始嵌入进行均值聚合,得到星节点的表示: 步骤2:数据预处理。我们对三个数据集进行了数据预处理。具体来说,我们将所有只有一个项目的会话和出现次数小于5的项目移除。同时将最近一周的会话信息作为测试集,其余会话信息作为训练集。此外,对于每个会话序列我们将会话序列分割成序列和标签:其中前面的序列部分作为训练,最后一项为用户将会点击的下一个物品。步骤3:构建会话表示模块。详细的模块构建分为项目嵌入学习和会话嵌入学习两个步骤,其具体构建过程在步骤3.1和步骤3.2进行说明:步骤3.1:项目嵌入学习。我们通过图神经网络来学习节点的潜在向量。门控图神经网络GGNN通过在图神经网络的基础上引入门控循环单元,非常适合短期用户行为预测,因为它可以提取到项目交互图中复杂的节点特征。同时为了缓解图神经网络中的过拟合问题,在多层门控图神经网络的最后一层添加了高速网络来计算最终的隐藏状态。门控图神经网络与高速网络的详细内容在步骤3.2.1和步骤3.2.2进行详细说明:步骤3.1.1:门控图神经网络。首先,我们利用传入和传出矩阵来获取传播信息,如下所示: 其中是一个控制权重信息的参数矩阵,是会话s中的全部节点向量的集合。xi∈Rd表示节点xs,i的潜在向量。连接矩阵决定了图中的节点如何相互传播信息,这里Xs被定义为两个邻接矩阵Xin和Xout的串联,分别表示会话图中传出边和传入边的加权连接。b是偏置向量。在获得节点的传播信息后,我们将节点xi的前一个状态输入到门控图神经网络中,如下所示: 其中和是网络中的可训练参数。上式中σ表示激活函数sigmoid,⊙是逐元素乘法。和是更新门和重置门,分别控制应保留前一状态中的多少信息以及应将前一状态中的多少信息写入候选激活中。最后,通过更新门将前一状态和当前状态进行组合,获得新的节点向量。经过不断重复以上步骤,获得最终的节点向量。步骤3.1.2:高速网络。众所周知,GNN最常见的问题之一就是过拟合。为了解决这个问题,在多层门控图神经网络的最后一层使用了一种类似残差的技术高速网络来计算最终的隐藏状态hf。具体过程如下:hf=g⊙h0+1-g⊙hL其中的大小由STGNN的输入和输出控制:g=σW5[h0;hL]其中,⊙表示元素相乘,σ表示sigmoid函数,||表示连接操作,是可训练的权重矩阵。步骤3.2:会话嵌入学习。在生成节点向量之后,我们将会话序列的最后点击的项目xn嵌入作为会话s的局部嵌入。对于全局偏好,由于不同的项目嵌入包含的信息的重要性可能不同,因此我们采用注意力机制来为项目分配不同的优先级,下面分别是LGNN和STGNN的优先级系数: 其中xn是会话序列中的最后一项,是从卫星节点学习到的项目表示与位置嵌入相加的结果,i.e.,然后,我们通过使用优先级系数计算分别计算用户的全局偏好: 最后,通过将用户的当前兴趣和全局偏好进行组合,得到最终的会话表示:sh=W8[xn;sg]uh=W9[xn;ug]其中[·]是将局部嵌入和全局嵌入进行连接,可以将矩阵压缩成d维。步骤4:构建对比模块。在上面的小节中,模型通过LGNN和SGNN捕获了项目之间成对的转换关系,同时通过引入注意力机制来获得会话表示。但是这样更容易受到数据稀疏问题的影响,导致预测性能不佳。因为两个视图获得的会话表示都仅依靠会话中特定项目的转换模式。因此,我们考虑将对比学习融入模型,通过最大化两个视图的会话表示之间的互信息来提高预测性能。模型采用InfoNCE损失函数,这是用户购买行为预测系统中常用的基于对比学习的方法。同一会话序列在LGNN和STGNN中获得的嵌入向量作为正样本,分别用和表示,这样它们可以构成一个正对同时,我们将最后一项相同的会话的所有嵌入作为负样本,用表示。这样,对比损失由下式计算得出: 步骤5:构建预测模块。在通过组合计算获取用户的最终偏好后,我们通过将会话表示与所有的项目表示相乘来计算所有候选项目的分数: 提出的模型采用交叉熵损失函数作为学习目标,该函数是用户购买行为预测系统中最广泛应用的学习函数: 其中yi表示真实项目的one-hot编码向量,如果预测与第i个项目匹配,则yi=1;否则yi=0。最后,我们将主任务和对比任务统一起来,同时对它们进行联合优化: 其中,β是用来控制对比损失大小的超参数。步骤6:模型有效性验证,我们采用两个基于相关性的指标P@K精度和MRR@K平均倒数排名来评估我们的方法。P@K表示在前K个项目中预测正确的比例。 其中N是会话总数,yi表示会话中前K个预测结果是否包含标签项。如果包含相应的标签项,则yi为1,否则为0。MRR@K表示前K个项目中正确预测项目的倒数排名的平均值。两个指标的计算方式分别如下: 其中Ranki为会话i中标签的排名,Reci为会话i中标签排名的倒数,如果排名大于20,则将Reci的值设为0。我们将K设置为20,评价指标P@20和MRR@20都是值越大代表预测性能越好。
全文数据:
权利要求:
百度查询: 西北师范大学 一种结合图神经网络的短期用户购买行为预测方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。