CN110879864B - 一种基于图神经网络和注意力机制的上下文推荐方法 - Google Patents
一种基于图神经网络和注意力机制的上下文推荐方法 Download PDFInfo
- Publication number
- CN110879864B CN110879864B CN201911035702.2A CN201911035702A CN110879864B CN 110879864 B CN110879864 B CN 110879864B CN 201911035702 A CN201911035702 A CN 201911035702A CN 110879864 B CN110879864 B CN 110879864B
- Authority
- CN
- China
- Prior art keywords
- user
- interaction
- item
- interactive
- context
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于图神经网络和注意力机制的上下文推荐方法,包括:步骤1,从数据库中生成包含用户特征、项目特征、推荐上下文特征及用户偏好指标的交互数据样本构成的训练集;步骤2,对训练集中的交互数据样本按交互时间进行排序;步骤3,基于排序后的交互数据样本构建用户‑项目交互图;步骤4,将训练集中的每条交互数据样本与其对应的交互图特征共同送入深度网络模型中进行训练;步骤5,对于给定的三元组实例,从数据库中获取对应的用户特征、项目特征、推荐上下文特征构建测试样本;步骤6,更新用户‑项目交互图,并为测试样本拼接其对应的交互图特征;步骤7,利用训练好的深度网络模型预估测试样本的推荐值。
Description
技术领域
本发明涉及一种基于图神经网络和注意力机制的上下文推荐方法。
背景技术
随着信息化的高速发展,海量信息涌入人们的生活当中,推荐系统作为一种从纷繁的信息中过滤出人们最感兴趣的信息的工具,在当今社会扮演着越来越重要的角色,广泛应用于电子商务、互联网广告、社交媒体等领域。其中,推荐值预估,即预测特定用户对特定项目感兴趣的程度,是推荐系统的核心,直接关系到最终的推荐效果。近年来,有关推荐值预估方法的研究受到学术界和工业界的广泛关注。
其中,上下文感知推荐值预估方法是最贴近实际应用场景的一类推荐值预估方法。与仅使用用户ID,项目ID,历史交互ID序列的传统方法不同,上下文感知推荐值预估方法还使用丰富的用户、项目辅助特征及推荐上下文特征,通过考虑众多特征及其复杂的交叉组合,实现对推荐值更为精准的预估。近年来,由于深度学习在自动学习高阶特征组合上的优越性,基于深度学习的上下文感知推荐值预估算法逐渐成为主流。然而,大部分上下文感知推荐值预估算法没有考虑不同特征的差异性设计神经网络结构,而是将所有特征视为同质特征使用相同的结构进行学习,这限制了历史交互特征等在预估中发挥重要作用。
最近,Guorui Zhou等人提出DIN模型,针对用户历史交互序列特征与候选项目之间的关系设计了基于注意力机制的神经网络结构,使得用户兴趣及其对于推荐值的影响被充分挖掘,从而促进了推荐值预估性能的显著提升。但其不足之处在于仍没有重视项目历史交互序列特征,从而限制了项目对用户吸引力的表达。参考文献:Zhou, Guorui,etal.Deep interest network for click-through rate prediction.Proceedings of the24th ACM SIGKDD International Conference on Knowledge Discovery&Data Mining.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个用户交互置信度嵌入表示的第j位CEu(k,j)初始化计算方式如下:
CEu(k,j)=f(k)g(k,j),
其中f是一个刻画交互置信度随时间推移呈递减趋势的函数;g是一个刻画交互置信度受时序因素影响的函数;将计算得到的用户交互置信度嵌入与用户交互特征嵌入表示对应相加得到新的用户交互特征嵌入表示;类似地,可以计算项目交互置信度嵌入表示,并与项目交互特征嵌入表示对应相加得到新的项目交互特征嵌入表示;
步骤4-4,基于步骤4-2得到的特征嵌入表示使用注意力机制分别计算交互图特征对应的每一条历史交互相对于样本对应的用户、项目、推荐上下文的重要度;
步骤4-4包括:采用如下公式计算交互图特征对应的每一条历交互相对于样本对应的用户、项目、推荐上下文的重要度:
其中eu,ei,ec分别代表用户嵌入表示、项目嵌入表示、上下文嵌入表示,分别代表第l条用户交互特征嵌入表示及第l条项目交互特征嵌入表示,Attuu,Attui,Attuc,Attiu,Attii,Attic分别表示不同的注意力计算函数,可选用内积函数或前馈神经网络等,softmax 为归一化指数函数,用来保证结果是合法的概率分布,分别表示第l条用户交互对于样本对应的用户、项目、推荐上下文的重要度,分别表示第l条项目交互对于样本对应的用户、项目、推荐上下文的重要度;
步骤4-5,结合步骤4-4得到的重要度信息,利用图神经网络生成交互式用户特征表示、交互式项目特征表示及上下文感知交互特征表示,
步骤4-5包括:
步骤4-5-1,按照重要度加权求和得到聚合向量表示:
其中,*可以取i,u,c,最终得到六种聚合向量hui、hii、huu、hiu、huc、hic,hu*表示聚合用户交互对于样本所对应**的重要度信息生成的聚合向量,hi*表示聚合项目交互对于样本所对应**的重要度信息生成的聚合向量,当*取i时,**表示项目,当*取u时, **表示用户,当*取c时,**表示推荐上下文;
步骤4-5-2,基于4-5-1得到的聚合向量,通过前馈神经网络计算交互式用户特征表示、交互式项目特征表示及上下文感知交互特征表示:
hu=Act(Wu[eu||huu]+bu),
hi=Act(Wi[ei||hii]+bi),
huca=Act(Wuca[huu||hui||huc]+buca),
hica=Act(Wica[hiu||hii||hic]+bica),
其中,Wu,Wi,Wuca,Wica分别为计算交互式用户特征表示的神经网络的权重、交互式项目特征表示、上下文感知用户交互特征表示的神经网络的权重、上下文感知项目交互特征表示的神经网络的权重,bu,bi,buca,bica分别为计算交互式用户特征表示的神经网络的偏置、交互式项目特征表示的神经网络的偏置、上下文感知用户交互特征表示的神经网络的偏置、上下文感知项目交互特征表示的神经网络的偏置,|| 表示拼接操作,Act表示激活函数,hu,hi,huca,hica分别代表交互式用户特征表示、交互式项目特征表示、上下文感知用户交互特征表示、上下文感知项目交互特征表示。
步骤4-6,步骤4-5得到的特征表示拼接后经多层前馈网络模块计算得到预估推荐值作为深度模型的输出;
训练过程的最小化二分类交叉熵损失函数L如下:
步骤5中,对于给定的三元组实例,所述三元组实例的形式为(用户,项目,交互时间),从数据库中获取与步骤1中生成的训练样本属性相同的用户特征、项目特征、推荐上下文特征,构造包含上述所有特征的测试样本。
步骤6中,按照与步骤3相同的方法处理当前测试样本并更新用户-项目交互图,并为测试样本拼接其对应的交互图特征作为完整的测试样本。
步骤6具体包括如下步骤:
步骤6-1,考察测试样本,如果该样本包含的用户u对应的顶点尚未加入到用户顶点集合中,则向用户顶点集合中加入顶点vu,如果该样本包含的项目i对应的顶点尚未加入到项目顶点集合中,则向项目顶点集合中加入顶点vi;
步骤6-2,向交互边集合中加入一条边表示当前交互,边的标记为交互边集合中边的总数;
步骤6-3,为测试样本拼接其包含的用户所拥有的标记最大的lu条交互对应的项目特征序列,以及其包含的项目所拥有的标记最大的li条交互对应的用户特征序列作为完整的测试样本。
步骤7中,使用步骤4中训练好的深度模型预估测试样本的推荐值。
有益效果:本发明的显著优点是充分考虑历史交互特征与当前用户、项目、推荐上下文之间的联系,动态构建有效的用户兴趣与项目吸引力表示,增强了特征表示的表达能力,提升了推荐值预估的准确度;特别地,通过增强与交互用户及推荐上下文之间的联系,弥补了长尾项目特征表示不准确的不足,获得推荐值预估准确度的显著提升。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/ 或其他方面的优点将会变得更加清楚。
图1为本发明预估推荐值的流程图。
图2为本发明中用于预估推荐值的深度模型的计算流程图。
图3为本发明在3个推荐系统数据集上进行实例验证时的AUC评分。
具体实施方式
图1是本发明预估推荐值的流程图,包括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个用户交互置信度嵌入表示的第j位初始化计算方式如下:
CEu(k,j)=f(k)g(k,j),
其中f是一个刻画交互置信度随时间推移呈递减趋势的函数,使得越晚发生的交互具有越大的交互置信度,可选用指数函数、二次函数等;g是一个刻画交互置信度受时序因素影响的函数,可选用正弦函数、余弦函数等;将计算得到的用户交互置信度嵌入与用户交互特征嵌入表示对应相加得到新的用户交互特征嵌入表示;类似地,可以计算项目交互置信度嵌入表示,并与项目交互特征嵌入表示对应相加得到新的项目交互特征嵌入表示;
步骤4-4,基于步骤4-2得到的特征嵌入表示使用注意力机制分别计算交互图特征对应的每一条历史交互相对于样本对应的用户、项目、推荐上下文的重要度;
步骤4-4包括:采用如下公式计算交互图特征对应的每一条历史交互相对于样本对应的用户、项目、推荐上下文的重要度:
其中eu,eu,eu分别代表用户嵌入表示、项目嵌入表示、上下文嵌入表示,分别代表第l条用户交互特征嵌入表示及第l条项目交互特征嵌入表示,Attuu,Attui,Attuc,Attiu,Attii,Attic分别表示不同的注意力计算函数,可选用内积函数或前馈神经网络等,softmax 为归一化指数函数,用来保证结果是合法的概率分布,分别表示第l条用户交互对于样本对应的用户、项目、推荐上下文的重要度,分别表示第l条项目交互对于样本对应的用户、项目、推荐上下文的重要度;
步骤4-5,结合步骤4-4得到的重要度信息,利用图神经网络生成交互式用户特征表示、交互式项目特征表示及上下文感知交互特征表示,
步骤4-5包括:
步骤4-5-1,按照重要度加权求和得到聚合向量表示:
其中,*可以取i,u,c,最终得到六种聚合向量;
步骤4-5-2,基于4-5-1得到的聚合向量,通过前馈神经网络计算交互式用户特征表示、交互式项目特征表示及上下文感知交互特征表示:
hu=Act(Wu[eu||huu]+bu),
hi=Act(Wi[ei||hii]+bi),
huca=Act(Wuca[huu||hui||huc]+buca),
hica=Act(Wica[hiu||hii||hic]+bica),
其中,Wu,Wi,Wuca,Wica分别为计算交互式用户特征表示的神经网络的权重、交互式项目特征表示、上下文感知用户交互特征表示的神经网络的权重、上下文感知项目交互特征表示的神经网络的权重,bu,bi,buca,bica分别为计算交互式用户特征表示的神经网络的偏置、交互式项目特征表示的神经网络的偏置、上下文感知用户交互特征表示的神经网络的偏置、上下文感知项目交互特征表示的神经网络的偏置,|| 表示拼接操作,Act表示激活函数,可选用ReLU,LeakyReLU,Sigmoid等函数, hu,hi,huca,hica分别代表交互式用户特征表示、交互式项目特征表示、上下文感知用户交互特征表示、上下文感知项目交互特征表示;参考文献:Nair,Vinod,and Geoffrey E.Hinton.Rectified linear units improverestricted boltzmann machines.Proceedings of the 27th internationalconference on machine learning(ICML-10).2010:807-814;Maas, Andrew L.,AwniY.Hannun,and Andrew Y.Ng.Rectifier nonlinearities improve neural networkacoustic models.In ICML,volume 30,2013.No.1.2013;
步骤4-6,步骤4-5得到的特征表示拼接后经多层前馈网络模块计算得到预估推荐值作为深度模型的输出;
训练过程最小化二分类交叉熵损失函数:
步骤5中,对于给定的(用户,项目,交互时间)三元组实例,从数据库中获取与步骤1中生成的训练样本属性相同的用户特征、项目特征、推荐上下文特征,构造包含上述所有特征的测试样本。
步骤6包括如下步骤:
步骤6-1,考察测试样本,如果该样本包含的用户u对应的顶点尚未加入到用户顶点集合中,则向用户顶点集合中加入顶点vu,如果该样本包含的项目i对应的顶点尚未加入到项目顶点集合中,则向项目顶点集合中加入顶点vi;
步骤6-2,向交互边集合中加入一条边表示当前交互,边的标记为交互边集合中边的总数;
步骤6-3,为测试样本拼接其包含的用户所拥有的标记最大的lu条交互对应的项目特征序列,以及其包含的项目所拥有的标记最大的li条交互对应的用户特征序列作为完整的测试样本。
步骤7中,使用步骤4中训练好的深度模型预估测试样本的推荐值。
实施例
为了验证模型的有效性,在2个推荐系统基准数据集及1个推荐系统竞赛数据集上进行实例验证。对每个数据集,按4∶1的比例对交互数据按时间顺序进行划分,得到训练集实例与测试集实例,然后按照如图1所示的6个步骤进行推荐值预估。
以这5个数据集中的Byte-Recommend数据集为例,该数据集来源于字节跳动公司旗下的TikTok(抖音海外版)短视频APP的真实数据,包含19622340条交互数据记录,涉及73974名用户及4122689个短视频(项目),平均每名用户拥有277.5条交互数据记录,平均每个项目拥有5.3条交互数据记录,按如下步骤进行模型训练与评估:
1、对于每一条训练集实例,从数据库中生成一条对应的训练集交互数据样本,包含用户ID、用户所在城市等描述用户基本信息的特征,项目ID、作者、项目发布城市、背景音乐、项目时长等描述项目基本信息的特征,以及交互时间、观看来源、观看设备等描述推荐上下文信息的特征;样本标签为用户是否浏览完项目。
2、根据上下文特征中的交互时间进行排序,并赋予每一条交互数据样本一个对应于时间顺序的序号。
3、依次处理训练集中每条交互数据样本,构建出表示用户和项目交互情况的动态二部图,其中包括73974个用户顶点及4122689个项目顶点,19622340条表示交互的边,边的标记为交互数据样本的序号。
4、为训练集中的每条交互数据样本拼接用户最近的10条交互及项目最近的10条交互对应的交互图特征,共同送入如图2所示深度网络模型中进行训练,其中,计算交互置信度的公式中的f选用指数函数,g选用余弦函数,注意力计算函数选用3层全连接层构成的前馈神经网络,激活函数选用ReLU;训练过程最小化二分类交叉熵损失函数:
5、对于给定的(用户,项目,交互时间)三元组实例,从数据库中获取与步骤1 中生成的训练样本属性相同的用户特征、项目特征、推荐上下文特征,构造包含上述所有特征的测试样本。
6、为测试样本拼接用户最近的10条交互与项目最近的10条交互对应的交互图特征按作为完整的测试样本。
7、使用4中训练好的深度模型预估测试样本的推荐值。
使用推荐值预估任务的主流评价指标AUC(接受者操作特性曲线下方面积)作为评价指标,对测试集上得到的预估推荐值进行评估,结果达到了0.7422的AUC评分,好于主流上下文感知推荐值预估算法DIN,DeepFM,FM等;针对长尾项目的推荐值预估 AUC评分较其他方法均取得超过0.0028的提升,所以本发明用于推荐值预估相关应用时,具备预估准确率高的优点,并且对于长尾项目的推荐值预估准确率有显著提升。参考文献:Zhou,Guorui,et al.Deep interest network for click-through rate prediction. Proceedings ofthe 24th ACM SIGKDD International Conference on Knowledge Discovery &DataMining.ACM,2018:1059-1068;Guo,Huifeng,et al.DeepFM:a factorization-machinebased neural network for CTR prediction.Proceedings of the 26th InternationalJoint Conference on Artificial Intelligence.AAAI Press,2017:1725-1731;Rendle,Steffen.Factorization machines.2010IEEE International Conference onData Mining.IEEE,2010:995-1000。
图3列出了本发明与其他7中推荐值预估算法在3个数据集上的分类准确率,其中,表的第一列列出了不同的方法,本发明方法列于最后一行,其余的每一列列出了所有方法在某个数据集上的AUC评分。结果显示,本发明在推荐值预估任务上具有优异的表现,在3个数据集上的AUC评分均超过了其他推荐值预估算法。由于本发明基于图神经网络及注意力机制设计深度模型进行推荐值预估,将历史交互特征与用户特征、项目特征及推荐上下文特征联系起来,并考虑了不同历史交互特征的置信度信息,在更好地表达用户兴趣及项目吸引力的同时考察其对推荐值预估的影响,得到表达能力更强的特征表示向量,大大提升了推荐值预估的效果。
本发明提供了一种基于图神经网络和注意力机制的上下文推荐方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (6)
1.一种基于图神经网络和注意力机制的上下文推荐方法,其特征在于,包括如下步骤:
步骤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-4,基于步骤4-2得到的特征嵌入表示使用注意力机制分别计算交互图特征对应的每一条历史交互相对于样本对应的用户、项目、推荐上下文的重要度;
步骤4-5,结合步骤4-4得到的重要度信息,利用图神经网络生成交互式用户特征表示、交互式项目特征表示及上下文感知交互特征表示;
步骤4-6,步骤4-5得到的特征表示拼接后经多层前馈网络模块计算得到预估推荐值作为深度模型的输出;
训练过程的最小化二分类交叉熵损失函数L如下:
2.根据权利要求1所述的方法,其特征在于,步骤4-3包括:提出交互置信度嵌入表示概念,用来表征交互特征序列中每一条交互的置信度信息,对于用户交互置信度嵌入表示,该嵌入表示是长度为lu,维度为niH的可学习的实值向量序列,与用户交互特征序列一一对应,其中第k个用户交互置信度嵌入表示的第j位CEu(k,j)初始化计算方式如下:
CEu(k,j)=f(k)g(k,j),
其中f是一个刻画交互置信度随时间推移呈递减趋势的函数;g是一个刻画交互置信度受时序因素影响的函数;将计算得到的用户交互置信度嵌入与用户交互特征嵌入表示对应相加得到新的用户交互特征嵌入表示。
4.根据权利要求3所述的方法,其特征在于,步骤4-5包括:
步骤4-5-1,按照重要度加权求和得到聚合向量表示:
其中,*取i,u,c,最终得到六种聚合向量hui、hii、huu、hiu、huc、hic,hu*表示聚合用户交互对于样本所对应**的重要度信息生成的聚合向量,hi*表示聚合项目交互对于样本所对应**的重要度信息生成的聚合向量,当*取i时,**表示项目,当*取u时,**表示用户,当*取c时,**表示推荐上下文;
步骤4-5-2,基于4-5-1得到的聚合向量,通过前馈神经网络计算交互式用户特征表示、交互式项目特征表示及上下文感知交互特征表示:
hu=Act(Wu[eu||huu]+bu),
hi=Act(Wi[ei||hii]+bi),
huca=Act(Wuca[huu||hui||huc]+buca),
hica=Act(Wica[hiu||hii||hic]+bica),
其中,Wu,Wi,Wuca,Wica分别为计算交互式用户特征表示的神经网络的权重、交互式项目特征表示的神经网络的权重、上下文感知用户交互特征表示的神经网络的权重、上下文感知项目交互特征表示的神经网络的权重,bu,bi,buca,bica分别为计算交互式用户特征表示的神经网络的偏置、交互式项目特征表示的神经网络的偏置、上下文感知用户交互特征表示的神经网络的偏置、上下文感知项目交互特征表示的神经网络的偏置,||表示拼接操作,Act表示激活函数,hu,hi,huca,hica分别代表交互式用户特征表示、交互式项目特征表示、上下文感知用户交互特征表示、上下文感知项目交互特征表示。
5.根据权利要求4所述的方法,其特征在于,步骤5中,对于给定的三元组实例,所述三元组实例的形式为(用户,项目,交互时间),从数据库中获取与步骤1中生成的训练样本属性相同的用户特征、项目特征、推荐上下文特征,构造包含上述所有特征的测试样本。
6.根据权利要求5所述的方法,其特征在于,步骤6中,按照与步骤3相同的方法处理当前测试样本并更新用户-项目交互图,并为测试样本拼接其对应的交互图特征作为完整的测试样本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911035702.2A CN110879864B (zh) | 2019-10-29 | 2019-10-29 | 一种基于图神经网络和注意力机制的上下文推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911035702.2A CN110879864B (zh) | 2019-10-29 | 2019-10-29 | 一种基于图神经网络和注意力机制的上下文推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110879864A CN110879864A (zh) | 2020-03-13 |
CN110879864B true CN110879864B (zh) | 2022-06-07 |
Family
ID=69728014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911035702.2A Active CN110879864B (zh) | 2019-10-29 | 2019-10-29 | 一种基于图神经网络和注意力机制的上下文推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110879864B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488524B (zh) * | 2020-04-08 | 2022-08-16 | 吉林大学 | 一种面向注意力的语义敏感的标签推荐方法 |
CN111582443B (zh) * | 2020-04-22 | 2021-02-02 | 成都信息工程大学 | 一种基于Mask机制和层次注意力机制的推荐方法 |
CN111667158B (zh) * | 2020-05-26 | 2022-06-10 | 南开大学 | 一种基于多图神经网络联合学习的工作技能预测方法 |
CN111782765A (zh) * | 2020-06-24 | 2020-10-16 | 安徽农业大学 | 一种基于图注意力机制的推荐方法 |
CN112486467B (zh) * | 2020-11-27 | 2022-04-29 | 武汉大学 | 一种双重交互关系和注意力机制的交互式服务推荐方法 |
CN112434184B (zh) * | 2020-12-15 | 2022-03-01 | 四川长虹电器股份有限公司 | 基于历史影视海报的深度兴趣网络的排序方法 |
CN112541639B (zh) * | 2020-12-22 | 2023-07-07 | 宜宾电子科技大学研究院 | 基于图神经网络和注意力机制的推荐系统评分预测方法 |
CN112529637B (zh) * | 2020-12-22 | 2022-12-06 | 烟台大学 | 基于情景感知的服务需求动态预测方法及系统 |
CN112650945B (zh) * | 2020-12-29 | 2022-09-06 | 齐鲁工业大学 | 一种基于gcn和ain的上下文感知推荐方法 |
CN114925279A (zh) * | 2022-06-07 | 2022-08-19 | 支付宝(杭州)信息技术有限公司 | 推荐模型训练方法、推荐方法以及装置 |
CN114780863B (zh) * | 2022-06-21 | 2022-09-13 | 平安科技(深圳)有限公司 | 基于人工智能的项目推荐方法、装置、计算机设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241412A (zh) * | 2018-08-17 | 2019-01-18 | 深圳先进技术研究院 | 一种基于网络表示学习的推荐方法、系统及电子设备 |
CN109299373A (zh) * | 2018-10-20 | 2019-02-01 | 上海交通大学 | 基于图卷积技术的推荐系统 |
CN109446413A (zh) * | 2018-09-25 | 2019-03-08 | 上海交通大学 | 基于物品关联关系的序列化推荐方法 |
CN110275964A (zh) * | 2019-06-26 | 2019-09-24 | 程淑玉 | 基于知识图谱与循环神经网络的推荐模型 |
CN110288436A (zh) * | 2019-06-19 | 2019-09-27 | 桂林电子科技大学 | 一种基于游客偏好建模的个性化景点推荐方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10963941B2 (en) * | 2017-09-08 | 2021-03-30 | Nec Corporation | Method and system for combining user, item and review representations for recommender systems |
-
2019
- 2019-10-29 CN CN201911035702.2A patent/CN110879864B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241412A (zh) * | 2018-08-17 | 2019-01-18 | 深圳先进技术研究院 | 一种基于网络表示学习的推荐方法、系统及电子设备 |
CN109446413A (zh) * | 2018-09-25 | 2019-03-08 | 上海交通大学 | 基于物品关联关系的序列化推荐方法 |
CN109299373A (zh) * | 2018-10-20 | 2019-02-01 | 上海交通大学 | 基于图卷积技术的推荐系统 |
CN110288436A (zh) * | 2019-06-19 | 2019-09-27 | 桂林电子科技大学 | 一种基于游客偏好建模的个性化景点推荐方法 |
CN110275964A (zh) * | 2019-06-26 | 2019-09-24 | 程淑玉 | 基于知识图谱与循环神经网络的推荐模型 |
Non-Patent Citations (3)
Title |
---|
Deep Interest Network for Click-Through Rate Prediction;Guorui Zhou等;《https://arxiv.org/pdf/1706.06978.pdf》;20180913;全文 * |
Graph Neural Networks for Social Recommendation;Wenqi Fan等;《https://arxiv.org/pdf/1902.07243v1.pdf》;20190219;全文 * |
深度学习视角下的个性化学习资源推荐方法;李浩君等;《现代远程教育研究》;20190725;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110879864A (zh) | 2020-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110879864B (zh) | 一种基于图神经网络和注意力机制的上下文推荐方法 | |
US20190392330A1 (en) | System and method for generating aspect-enhanced explainable description-based recommendations | |
CN111339415B (zh) | 一种基于多交互式注意力网络的点击率预测方法与装置 | |
CN104935963B (zh) | 一种基于时序数据挖掘的视频推荐方法 | |
WO2017216980A1 (ja) | 機械学習装置 | |
US20110289025A1 (en) | Learning user intent from rule-based training data | |
US20100250526A1 (en) | Search System that Uses Semantic Constructs Defined by Your Social Network | |
CN109389442A (zh) | 商品推荐方法及装置、存储介质及电子终端 | |
CN112632403B (zh) | 推荐模型的训练方法、推荐方法、装置、设备和介质 | |
Lee et al. | $ l $-Injection: toward effective collaborative filtering using uninteresting items | |
CN111488524B (zh) | 一种面向注意力的语义敏感的标签推荐方法 | |
CN110033097B (zh) | 基于多个数据域确定用户与物品的关联关系的方法及装置 | |
CN106127506B (zh) | 一种基于主动学习解决商品冷启动问题的推荐方法 | |
CN110321473B (zh) | 基于多模态注意力的多样性偏好信息推送方法、系统、介质及设备 | |
CN111651678B (zh) | 一种基于知识图谱的个性化推荐方法 | |
Dery et al. | BoostLR: a boosting-based learning ensemble for label ranking tasks | |
CN115344698A (zh) | 标签处理方法、装置、计算机设备、存储介质和程序产品 | |
Neve et al. | Hybrid reciprocal recommender systems: Integrating item-to-user principles in reciprocal recommendation | |
CN117251622A (zh) | 对象推荐的方法、装置、计算机设备和存储介质 | |
US11120067B2 (en) | Present controlled heterogeneous digital content to users | |
CN111340605A (zh) | 训练用户行为预测模型、用户行为预测的方法和装置 | |
CN114912031A (zh) | 基于聚类和协同过滤的混合推荐方法和系统 | |
CN113641915A (zh) | 对象的推荐方法、装置、设备、存储介质和程序产品 | |
JP2013029896A (ja) | アイテム推薦装置及び方法及びプログラム | |
CN110825967A (zh) | 一种提高推荐系统多样性的推荐列表重排名方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |