[发明专利]一种基于双模式注意力机制和社交相似度的会话推荐方法有效
申请号: | 202011551034.1 | 申请日: | 2020-12-24 |
公开(公告)号: | CN112559905B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 施重阳;冯超群;姜欣雨 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F16/9536 | 分类号: | G06F16/9536;G06F16/9535;G06N3/04 |
代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 张利萍 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 双模 注意力 机制 社交 相似 会话 推荐 方法 | ||
1.一种基于双模式注意力机制和社交相似度的会话推荐方法,其特征在于,包括如下步骤:
步骤1:计算用户的初始长期兴趣和初始短期兴趣;
步骤2:利用自注意力模式机制,计算基于内部依赖的长期兴趣;
步骤2.1:利用一个位置矩阵,模拟长期兴趣中用户与项目交互的时间顺序;
所述位置矩阵由所有位置向量组合而成,长期兴趣中的每个项目对应一个位置向量,位置向量同时反映了长期兴趣中每个项目的重要性;
步骤2.2:对于步骤1.2得到的用户的初始长期兴趣中的每一个项目,计算该项目与包括该项目本身在内的其他项目之间的依赖程度,即自注意力权重;
具体地:
对于当前项目,记为a;选择一个其他项目,记为b;
首先,计算项目b与项目b对应的位置向量的乘积;然后,再乘以项目a的向量,结果为项目a与项目b之间的自注意力权重;
之后,将结果进行归一化,即,将项目a与项目b之间的自注意力权重除以项目a与所有其他项目之间的自注意力权重,得到项目a与项目b之间最终的自注意力权重;
而后,将项目a与其他项目之间的自注意力权重乘以对应的其他项目的向量;
最后,将所有乘积结果进行相加,得到包含与其他项目间依赖关系的项目a的向量;
对用户的初始长期兴趣中的每个项目都执行以上操作,得到包含与其他项目间依赖关系的每个项目的向量;
步骤2.3:将步骤2.2得到的包含与其他项目间依赖关系的每个项目组成一个新的集合,该集合表示用户的基于自身依赖的长期兴趣;
步骤3:利用自注意力模式机制,计算基于内部依赖的短期兴趣;
步骤3.1:对于步骤1.3得到的用户的初始短期兴趣中的每一个项目,计算该项目与包括该项目本身在内的其他项目之间的依赖程度,即自注意力权重;
具体为:
对于当前项目,记为a,选择一个其他项目,记为b;
首先,将项目a的向量与项目b的向量相乘,结果为项目a与项目b之间的自注意力权重;
然后,将结果进行归一化,即,将项目a与项目b之间的自注意力权重除以项目a与所有其他项目之间的自注意力权重,得到项目a与项目b之间最终的自注意力权重;
之后,将项目a与其他项目之间的自注意力权重乘以对应的其他项目的向量;
最后将所有乘积结果进行相加,得到包含与其他项目间依赖关系的项目a的向量;
对用户的初始短期兴趣中的每个项目都执行以上操作,得到包含与其他项目间依赖关系的每个项目的向量;
步骤3.2:将步骤3.1得到的包含与其他项目间依赖关系的每个项目组成一个新的集合,该集合表示用户的基于自身依赖的短期兴趣;
步骤4:利用互注意力模式机制,在步骤2和步骤3的基础上计算长期兴趣与短期兴趣之间的相互依赖关系,得到基于相互依赖的用户长期兴趣;
具体地:
步骤4.1:对于长期兴趣中的每个项目,计算该项目对应的依赖关系向量;
首先,将步骤3得到的用户短期兴趣经过一个线性层,再乘以长期兴趣中当前项目的向量,将结果经过一个非线性层,再乘以用户的短期兴趣,最后将结果再经过一个线性层,得到长期兴趣中当前项目的依赖关系向量;
步骤4.2:将步骤4.1得到的结果作为前馈神经网络的偏移量,并将长期兴趣中的当前项目经过该前馈神经网络,此时得到的结果包含该项目与短期兴趣之间的依赖关系;
步骤4.3:将长期兴趣中的每个项目都执行步骤4.1和步骤4.2,然后将所有项目得到的结果进行求和,求和结果即为基于相互依赖的用户长期兴趣;
步骤5:利用互注意力模式机制,在步骤2和步骤3的基础上计算长期兴趣与短期兴趣之间的相互依赖关系,得到基于相互依赖的用户短期兴趣;
具体地:
步骤5.1:对于短期兴趣中的每个项目,计算该项目对应的依赖关系向量;首先将步骤2得到的用户长期兴趣经过一个线性层,再乘以短期兴趣中当前项目的向量,将结果经过一个非线性层,再乘以用户的长期兴趣,最后将结果再经过一个线性层,得到短期兴趣中当前项目的依赖关系向量;
步骤5.2:将步骤5.1得到的结果作为前馈神经网络的偏移量,并将短期兴趣中的当前项目经过该前馈神经网络,此时得到的结果包含了该项目与长期兴趣之间的依赖关系;
步骤5.3:将短期兴趣中的每个项目都执行步骤5.1和步骤5.2,然后将所有项目得到的结果进行求和,求和结果即为用户的基于相互依赖的用户短期兴趣;
步骤6:将步骤4得到的用户长期兴趣和步骤5得到的用户短期兴趣进行拼接,然后通过一个前馈神经网络,得到最终的用户兴趣;
步骤7:计算用户与其朋友之间的项目层级相似度,根据项目层级相似度选出N个的朋友;其中,N为超参数,在具体实施中,根据参数实验确定最佳值;
步骤8:计算用户与朋友之间的兴趣方面层级相似度,并计算朋友的兴趣对用户的兴趣的影响;
步骤9:将步骤6得到的用户的最终兴趣与步骤8得到的朋友对用户的影响进行拼接,然后,经过一个线性层,得到用户的向量表示;
步骤10:将步骤1得到的所有项目的潜在向量组成项目的潜在向量矩阵,将该矩阵与步骤9得到的用户的向量表示相乘,再经过一个softmax函数,得到所有项目的预测概率分布;使用真实的概率分布与预测概率分布之间的交叉熵作为损失函数;
其中,概率分布的每一项表示对应的项目成为当前用户会话的下一项的概率,取概率值最大的前K个项目作为当前用户会话的推荐项目,K自行设定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011551034.1/1.html,转载请声明来源钻瓜专利网。