当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于图神经网络和注意力机制的上下文推荐方法技术

技术编号:23497969 阅读:38 留言:0更新日期:2020-03-13 13:06
本发明专利技术提供了一种基于图神经网络和注意力机制的上下文推荐方法,包括:步骤1,从数据库中生成包含用户特征、项目特征、推荐上下文特征及用户偏好指标的交互数据样本构成的训练集;步骤2,对训练集中的交互数据样本按交互时间进行排序;步骤3,基于排序后的交互数据样本构建用户‑项目交互图;步骤4,将训练集中的每条交互数据样本与其对应的交互图特征共同送入深度网络模型中进行训练;步骤5,对于给定的三元组实例,从数据库中获取对应的用户特征、项目特征、推荐上下文特征构建测试样本;步骤6,更新用户‑项目交互图,并为测试样本拼接其对应的交互图特征;步骤7,利用训练好的深度网络模型预估测试样本的推荐值。

A context recommendation method based on graph neural network and attention mechanism

【技术实现步骤摘要】
一种基于图神经网络和注意力机制的上下文推荐方法
本专利技术涉及一种基于图神经网络和注意力机制的上下文推荐方法。
技术介绍
随着信息化的高速发展,海量信息涌入人们的生活当中,推荐系统作为一种从纷繁的信息中过滤出人们最感兴趣的信息的工具,在当今社会扮演着越来越重要的角色,广泛应用于电子商务、互联网广告、社交媒体等领域。其中,推荐值预估,即预测特定用户对特定项目感兴趣的程度,是推荐系统的核心,直接关系到最终的推荐效果。近年来,有关推荐值预估方法的研究受到学术界和工业界的广泛关注。其中,上下文感知推荐值预估方法是最贴近实际应用场景的一类推荐值预估方法。与仅使用用户ID,项目ID,历史交互ID序列的传统方法不同,上下文感知推荐值预估方法还使用丰富的用户、项目辅助特征及推荐上下文特征,通过考虑众多特征及其复杂的交叉组合,实现对推荐值更为精准的预估。近年来,由于深度学习在自动学习高阶特征组合上的优越性,基于深度学习的上下文感知推荐值预估算法逐渐成为主流。然而,大部分上下文感知推荐值预估算法没有考虑不同特征的差异性设计神经网络结构,而是将所有特征视为同质特征使用相同的结构进行学习,这限制了历史交互特征等在预估中发挥重要作用。最近,GuoruiZhou等人提出DIN模型,针对用户历史交互序列特征与候选项目之间的关系设计了基于注意力机制的神经网络结构,使得用户兴趣及其对于推荐值的影响被充分挖掘,从而促进了推荐值预估性能的显著提升。但其不足之处在于仍没有重视项目历史交互序列特征,从而限制了项目对用户吸引力的表达。参考文献:Zhou,Guorui,etal.Deepinterestnetworkforclick-throughrateprediction.Proceedingsofthe24thACMSIGKDDInternationalConferenceonKnowledgeDiscovery&DataMining.ACM,2018:1059-1068.另一方面,在推荐系统中,项目往往呈现出典型的长尾分布:大部分项目的交互次数都很少,少数项目的交互次数非常多。交互次数较少的这部分项目被称为长尾项目。由于涉及到每一个长尾项目的样本数目都很少,长尾项目特征表示通常难以得到充分的训练,降低了最终的推荐值预估效果。综合考虑用户历史交互序列及项目历史交互序列,并引入图神经网络建立了用户特征表示与项目特征表示的联系,在一定程度上可以弥补长尾项目特征表示不充分的问题。然而,现有的基于图神经网络的方法极少关注交互图特征与当前推荐上下文之间的关系,仍未能充分利用历史交互信息度量当前用户的兴趣偏好与当前项目的吸引力之间的匹配程度。
技术实现思路
专利技术目的:克服现有上下文感知推荐值预估算法无法充分利用历史交互特征进行精确预估的不足,以及长尾项目推荐值预估效果不佳的问题,根据历史交互特征构建历史交互图,引入图神经网络及注意力机制建立用户、项目、推荐上下文及历史交互特征之间的联系,充分发掘用户兴趣偏好与项目吸引力,得到表达能力更强的特征表示,从而提升预估推荐值的准确度。为了解决上述技术问题,本专利技术公开了一种基于图神经网络和注意力机制的上下文推荐方法,该方法可以用于各类推荐系统及广告点击率预估等应用中,包括以下步骤:步骤1,从数据库中生成包含用户特征、项目特征、推荐上下文特征及用户偏好指标的交互数据样本构成的训练集;步骤2,对训练集中的交互数据样本按交互时间进行排序;步骤3,基于排序后的交互数据样本构建用户-项目交互图;步骤4,将训练集中的每条交互数据样本与其对应的交互图特征共同送入深度网络模型中进行训练;步骤5,对于给定的三元组实例,从数据库中获取对应的用户特征、项目特征、推荐上下文特征构建测试样本;步骤6,更新用户-项目交互图,并为测试样本拼接其对应的交互图特征;步骤7,利用训练好的深度网络模型预估测试样本的推荐值。步骤1中,从数据库中生成的训练集中的每一条交互数据样本包含描述用户基本信息的特征、描述项目基本信息的特征和描述推荐上下文信息的特征,描述用户基本信息的特征包括用户ID等,描述项目基本信息的特征包括项目ID等,描述推荐上下文信息的特征包括交互时间等,样本标签为用户偏好指标,常采用点击行为、浏览行为、用户评分等作为用户偏好指标,具体选择何种指标视推荐目标而定。步骤2中,对训练集中的交互数据样本按交互时间进行排序,并赋予每一条交互数据样本一个对应于时间顺序的序号,序号从0开始依次递增。步骤3包括如下步骤:步骤3-1,初始化用户-项目交互图的用户顶点集合、项目顶点集合、交互边集合为空;步骤3-2,考察未处理过的编号最小的交互数据样本,如果该样本包含的用户u对应的顶点尚未加入到用户顶点集合中,则向用户顶点集合中加入顶点vu,如果该样本包含的项目i对应的顶点尚未加入到项目顶点集合中,则向项目顶点集合中加入顶点vi;步骤3-3,向交互边集合中加入一条边表示当前交互,边的标记为当前交互数据样本的序号;步骤3-4,如果还有未处理的交互数据样本,跳转至步骤3-2;否则,结束步骤3;最终构建出的用户-项目交互图是表示用户和项目交互情况的动态二部图,用户-项目交互图的两部分顶点分别表示用户和项目,图中每条边表示一条交互,边的标记为交互数据样本的序号。步骤4包括如下步骤:步骤4-1,为每条交互数据样本拼接其对应的用户-项目交互图特征,即为每条交互数据样本拼接其包含的用户所拥有的标记最大的lu条交互对应的项目特征序列,以及其包含的项目所拥有的标记最大的li条交互对应的用户特征序列作为交互图特征,并将其作为深度学习网络模型的输入;步骤4-2,获取输入特征的嵌入表示,每个类别特征通过长度为H的可学习的实值向量进行表示,所有用户特征的嵌入表示拼接成长度为nuH的用户嵌入表示,所有项目特征的嵌入表示拼接成长度为niH的项目嵌入表示,所有推荐上下文特征的嵌入表示拼接成长度为ncH的上下文嵌入表示,其中nu,ni,nc分别表示用户特征数目、项目特征数目、推荐上下文特征数目;交互图特征中特征序列中的每一条项目特征或用户特征按同样的方式获取对应的用户交互特征序列嵌入表示及项目交互特征序列嵌入表示;步骤4-3,为步骤4-2得到的交互特征序列嵌入表示附加交互置信度嵌入表示;步骤4-3包括:提出交互置信度嵌入表示概念,用来表征交互特征序列中每一条交互的置信度信息,以用户交互置信度嵌入表示为例,该嵌入表示是长度为lu,维度为niH的可学习的实值向量序列,与用户交互特征序列一一对应,其中第k个用户交互置信度嵌入表示的第i位CEu(k,i)初始化计算方式如下:CEu(k,i)=f(k)g(k,i),其中f是一个刻画交互置信度随时间推移呈递减趋势的函数;g是一个刻画交互置信度受时序因素影响的函数;将计算得到的用户交互置信度嵌入与用户交互特征嵌入表示对应相加得到新的用户交互特征嵌入表示;类似地,可以计算项目交互置信度嵌本文档来自技高网
...

【技术保护点】
1.一种基于图神经网络和注意力机制的上下文推荐方法,其特征在于,包括如下步骤:/n步骤1,从数据库中生成包含用户特征、项目特征、推荐上下文特征及用户偏好指标的交互数据样本构成的训练集;/n步骤2,对训练集中的交互数据样本按交互时间进行排序;/n步骤3,基于排序后的交互数据样本构建用户-项目交互图;/n步骤4,将训练集中的每条交互数据样本与其对应的交互图特征共同送入深度网络模型中进行训练;/n步骤5,对于给定的三元组实例,从数据库中获取对应的用户特征、项目特征、推荐上下文特征构建测试样本;/n步骤6,更新用户-项目交互图,并为测试样本拼接其对应的交互图特征;/n步骤7,利用训练好的深度网络模型预估测试样本的推荐值。/n

【技术特征摘要】
1.一种基于图神经网络和注意力机制的上下文推荐方法,其特征在于,包括如下步骤:
步骤1,从数据库中生成包含用户特征、项目特征、推荐上下文特征及用户偏好指标的交互数据样本构成的训练集;
步骤2,对训练集中的交互数据样本按交互时间进行排序;
步骤3,基于排序后的交互数据样本构建用户-项目交互图;
步骤4,将训练集中的每条交互数据样本与其对应的交互图特征共同送入深度网络模型中进行训练;
步骤5,对于给定的三元组实例,从数据库中获取对应的用户特征、项目特征、推荐上下文特征构建测试样本;
步骤6,更新用户-项目交互图,并为测试样本拼接其对应的交互图特征;
步骤7,利用训练好的深度网络模型预估测试样本的推荐值。


2.根据权利要求1所述的方法,其特征在于,步骤1中,从数据库中生成的训练集中的每一条交互数据样本包含描述用户基本信息的特征、描述项目基本信息的特征和描述推荐上下文信息的特征,描述用户基本信息的特征包括用户ID,描述项目基本信息的特征包括项目ID,描述推荐上下文信息的特征包括交互时间,样本标签为用户偏好指标。


3.根据权利要求2所述的方法,其特征在于,步骤2中,对训练集中的交互数据样本按交互时间进行排序,并赋予每一条交互数据样本一个对应于时间顺序的序号,序号从0开始依次递增。


4.根据权利要求3所述的方法,其特征在于,步骤3包括如下步骤:
步骤3-1,初始化用户-项目交互图的用户顶点集合、项目顶点集合、交互边集合为空;
步骤3-2,考察未处理过的编号最小的交互数据样本,如果该样本包含的用户u对应的顶点尚未加入到用户顶点集合中,则向用户顶点集合中加入顶点vu,如果该样本包含的项目i对应的顶点尚未加入到项目顶点集合中,则向项目顶点集合中加入顶点vi;
步骤3-3,向交互边集合中加入一条边表示当前交互,边的标记为当前交互数据样本的序号;
步骤3-4,如果还有未处理的交互数据样本,跳转至步骤3-2;否则,结束步骤3;最终构建出的用户-项目交互图是表示用户和项目交互情况的动态二部图,用户-项目交互图的两部分顶点分别表示用户和项目,图中每条边表示一条交互,边的标记为交互数据样本的序号。


5.根据权利要求4所述的方法,其特征在于,步骤4包括如下步骤:
步骤4-1,为每条交互数据样本拼接其对应的用户-项目交互图特征,即为每条交互数据样本拼接其包含的用户所拥有的标记最大的lu条交互对应的项目特征序列,以及其包含的项目所拥有的标记最大的li条交互对应的用户特征序列作为交互图特征,并将其作为深度学习网络模型的输入;
步骤4-2,获取输入特征的嵌入表示,每个类别特征通过长度为H的可学习的实值向量进行表示,所有用户特征的嵌入表示拼接成长度为nuH的用户嵌入表示,所有项目特征的嵌入表示拼接成长度为niH的项目嵌入表示,所有推荐上下文特征的嵌入表示拼接成长度为ncH的上下文嵌入表示,其中nu,ni,nc分别表示用户特征数目、项目特征数目、推荐上下文特征数目;交互图特征中特征序列中的每一条项目特征或用户特征按同样的方式获取对应的用户交互特征序列嵌入表示及项目交互特征序列嵌入表示;
步骤4-3,为步骤4-2得到的交互特征序列嵌入表示附加交互置信度嵌入表示,交互置信度嵌入表示用来表征交互特征序列中每一条交互的置信度信息;
步骤4-4,基于步骤4-2得到的特征嵌入表示使用注意力机制分别计算交互图特征对应的每一条历史交互相对于样本对应的用户、项目、推荐上下文的重要度;
步骤4-5,结合步骤4-4得到的重要度信息,利用图神经网络生成交互式用户特征表示、交互式项目特征表示及上下文感知交互特征表示;
步骤4-6,步骤4-5得到的...

【专利技术属性】
技术研发人员:申富饶刘雅辉赵健于僡
申请(专利权)人:南京大学南京意智趣电子科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1