买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于KPHAN的序列推荐方法_湖南大学_202210416700.3 

申请/专利权人:湖南大学

申请日:2022-04-20

公开(公告)日:2024-04-30

公开(公告)号:CN114780841B

主分类号:G06F16/9535

分类号:G06F16/9535;G06F16/36;G06F16/28;G06F40/30;G06N5/022;G06N3/048;G06N3/049;G06N3/0499;G06N3/0464;G06N3/08;G06F18/22;G06F18/25;G06F18/2413;G06F18/2415;G06F17/18

优先权:

专利状态码:有效-授权

法律状态:2024.04.30#授权;2022.08.09#实质审查的生效;2022.07.22#公开

摘要:本发明涉及推荐技术领域,特别是涉及一种基于KPHAN的序列推荐方法。KPHAN主要包括KGSP以及LSPF模块。在KGSP中,使用知识嵌入技术编码项目对应实体及实体上下文;采用一种知识双向融合方式增强项目表示,对项目序列建模捕获用户全局短期偏好特征。在LSPF中,利用个性化层级注意力机制捕获用户的长期偏好,再融合用户的短期偏好完成用户偏好训练与预测。有益效果在于:为序列项目之间提供了语义关联,提高了项目辨识度并很好地揭示了项目之间的相似性。个性化层级注意力网络融合了用户的长短期偏好,获得了更加准确全面的个性化用户偏好。命中率平均提高了10.7%,归一化折损累计增益平均提高了13.5%。

主权项:1.一种基于KPHAN的序列推荐方法,其特征在于,KPHAN是指知识增强的个性化层级注意力网络;具体包括以下步骤:步骤一:通过使用知识图谱嵌入建模增强项目的表示,将知识图谱中的实体和关系在保留知识图谱结构信息及语义关联的前提下将实体和关系编码为低维稠密向量;1.1首先使用KB4Rec中的实体链接方法,在知识图谱中找到项目v对应的实体e∈Ε,其中E为知识图谱所有实体集合;1.2然后由该实体出发找到一阶子图e,r,et∈G,其中e,et分别表示一阶子图G中的头结点和尾结点,r∈R表示一阶子图中所有关系;1.3最后将一阶子图通过TransE模型进行训练得到项目对应实体的低维稠密向量一阶子图中其余实体嵌入通过TransE模型将实体和关系表示为同一空间中,使得头结点向量与关系向量之和,即e+r≈et,因此TransE的得分函数为: 其中表示L2范数1.4为了训练TransE模型,优化的目标函数使用了负采样和最大间隔策略的损失函数,使得正样本得分越来越高,负样本得分越来越低,损失函数如下: 其中dpos表示正三元组的得分,dneg表示负三元组的得分,margin表示最大间隔,max为最大值函数;步骤二:由于实体的一阶邻居,通常是提供语义关联的重要特征,因此在步骤一项目对应的实体嵌入基础上引入了上下文实体,项目对应实体的上下文实体定义为:contexte={et|e,r,et∈G}对应的上下文实体嵌入通过计算上下文实体嵌入的平均值获得 其中表示项目对应实体的上下文实体嵌入,|contexte|为上下文实体个数,∑表示求和操作;步骤三:将模型交互序列的最大长度设为n,以滑动窗口的形式对用户交互序列进行最大序列长度取值,若交互序列不足n,那么在序列的左侧补0;创建一个项目嵌入矩阵M∈R|V|×d,其中d表示项目嵌入维度,|v|表示项目的数量,每次序列建模检索出对应的输入嵌入矩阵为每个项目添加一个可学习的位置嵌入最终序列项目嵌入为以前方法直接将作为自适应注意力模块的输入,然而这种只采用项目嵌入的方式忽略了项目的语义特征,因此将步骤一的项目对应的实体嵌入和步骤二中项目对应的上下文嵌入融入项目以增强项目的表示提高项目辨识度,这里采用双向融合fBi-interaction对最终序列项目嵌入融入知识得到知识增强后的序列项目嵌入并对其使用dorpoutlayer,即训练时以一定的概率丢弃神经元,来缓解深度神经网络过拟合问题,其中leakyReLU为非线性激活函数,W1和W2为可学习参数,e表示向量对应元素乘; 其中是序列项目v对应的实体嵌入矩阵,是项目v对应实体的上下文嵌入矩阵,和将项目对应的上下文实体嵌入与上下文实体通过同一全连接网络并施加tanh非线性激活函数投影到项目同一空间中,W,W1,W2,b为可学习参数;步骤四:在步骤三的基础上将知识增强后的序列项目嵌入作为自适应注意力模块的输入来获取用户的短期兴趣;自适应注意力模块包括自注意力以及前馈神经网络FFN;其中自注意力部分采用标量点积,定义为: S=AttentionQ,K,V其中Q表示queries,K表示keys,V表示values,是可学习参数,layerNorm表示层归一化;为了确保序列的时间先后顺序,在Q,K,V计算时采用mask即掩码机制,Qi和Kj满足ij,Qi和Kj之间的注意力权重计算的是项目i和项目j之间的依赖关系,通过计算先前项目的注意力加权和来捕获序列的顺序变化;为了给模型增加非线性性,自注意力之后进行前馈神经网络获得更深层特征,采用两层前馈神经网络,具体为:F=FFNS=ReludropoutReludropoutSW1+bW2+b其中Relu为非线性激活函数,dropout是指在训练是按照一定的概率对神经元进行丢弃,W1,W2,b为神经网络的可学习参数,S为自注意力后序列表示;在自注意力模块和前馈神经网络部分都使用了残差连接,为了学习更复杂的依赖关系,堆叠ω个自注意力块,即selfattention和FFN,第b个块,且b1,定义为:Sb=AttentionFb-1Fb=FFNSb当b=1时,S=AttentionQ,K,V,F=FFNS,为最后一个块中最后一个项目的特征向量,其融合了之前所有项目的特征从而获得了更准确的当前项目特征,而当前项目特征对用户偏好预测十分重要,因此将视为用户的短期偏好;步骤五:除了用户的当前偏好对用户下一个项目的交互起作用外,用户的长期静态偏好也对预测用户下一个项目的交互起作用,用户的长期偏好存在于用户曾交互过的项目中,这里将与候选项目进行相似度计算获取用户的长期静态偏好,每一时刻项目与候选项目的相似度计算如下: 其中q为候选项目,表示堆叠ω个自适应注意力模块后的前n-1个项目表示,为用户t时刻项目的注意力得分,softmax为归一化函数,最后将用户的长期偏好表示为前n-1个时刻的加权和: 步骤六:利用注意力探索长期偏好与短期偏好在预测下一个项目时哪一种偏好更加重要: 其中是由用户曾交互的项目提取出来的隐式用户偏好,由长期偏好与短期偏好组成,为短期偏好的权重,为长期偏好的权重,q为下一个将交互的项目,softmax为归一化函数;步骤七:为了进一步提供个性化序列推荐,在步骤六的基础上引入显式用户偏好矩阵其中d表示维度,|u|表示用户数目,通过一个权重参数α融合隐式用户偏好与显式用户偏好得到最终的用户偏好表示 为了预测用户下一个可能交互的项目,对最终用户偏好和候选项目集进行点积计算获得用户对下一个项目交互的概率,其中为候选项目集,为第i个用户对候选第j个项目的得分,得分越高代表该用户与该项目交互的概率越大,对候选项目集降序排序,选取前K个作为推荐项目; 至此,整个序列推荐流程就已描述完毕;模型以端到端的方式进行训练,设计了一个序列感知的二元交叉熵损失函数: 其中k为用户ui最大可划分的序列数,j为每一个划分的序列的正样本,为用户ui在取正样本j时采样的负样本,这里为每个正例采样了100个负例,表示对模型所有参数和embedding,即项目嵌入,进行正则化; 为正样本交互概率,为负样本交互概率。

全文数据:

权利要求:

百度查询: 湖南大学 一种基于KPHAN的序列推荐方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。