首页 / 专利库 / 人工智能 / 人工智能 / 机器学习 / 人工神经网络 / 前馈神经网络 / 一种基于图神经网络和注意力机制的上下文推荐方法

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

阅读:173发布:2020-05-15

专利汇可以提供一种基于图神经网络和注意机制的上下文推荐方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种基于图神经网络和注意 力 机制的上下文推荐方法,包括:步骤1,从 数据库 中生成包含用户特征、项目特征、推荐上下文特征及用户偏好指标的交互数据样本构成的训练集;步骤2,对训练集中的交互数据样本按交互时间进行排序;步骤3,基于排序后的交互数据样本构建用户-项目交互图;步骤4,将训练集中的每条交互数据样本与其对应的交互图特征共同送入深度网络模型中进行训练;步骤5,对于给定的三元组实例,从数据库中获取对应的用户特征、项目特征、推荐上下文特征构建测试样本;步骤6,更新用户-项目交互图,并为测试样本拼接其对应的交互图特征;步骤7,利用训练好的深度网络模型预估测试样本的推荐值。,下面是一种基于图神经网络和注意机制的上下文推荐方法专利的具体信息内容。

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得到的特征表示拼接后经多层前馈网络模计算得到预估推荐值作为深度模型的输出;
训练过程的最小化二分类交叉熵损失函数L如下:
其中,y为样本标签,为深度模型输出的预估推荐值。
6.根据权利要求5所述的方法,其特征在于,步骤4-3包括:提出交互置信度嵌入表示概念,用来表征交互特征序列中每一条交互的置信度信息,对于用户交互置信度嵌入表示,该嵌入表示是长度为lu,维度为niH的可学习的实值向量序列,与用户交互特征序列一一对应,其中第k个用户交互置信度嵌入表示的第i位CEu(k,i)初始化计算方式如下:
CEu(k,i)=f(k)g(k,i),
其中f是一个刻画交互置信度随时间推移呈递减趋势的函数;g是一个刻画交互置信度受时序因素影响的函数;将计算得到的用户交互置信度嵌入与用户交互特征嵌入表示对应相加得到新的用户交互特征嵌入表示。
7.根据权利要求6所述的方法,其特征在于,步骤4-4包括:采用如下公式计算交互图特征对应的每一条历史交互相对于样本对应的用户、项目、推荐上下文的重要度:
其中eu,ei,ec分别代表用户嵌入表示、项目嵌入表示、上下文嵌入表示, 分别代表第l条用户交互特征嵌入表示及第l条项目交互特征嵌入表示,Attuu,Attui,Attuc,Attiu,Attii,Attic分别表示不同的注意力计算函数,Softmax为归一化指数函数,用来保证结果是合法的概率分布, 分别表示第l条用户交互对于样本对应的用户、项目、推荐上下文的重要度, 分别表示第l条项目交互对于样本对应的用户、项目、推荐上下文的重要度。
8.根据权利要求7所述的方法,其特征在于,步骤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分别代表交互式用户特征表示、交互式项目特征表示、上下文感知用户交互特征表示、上下文感知项目交互特征表示。
9.根据权利要求8所述的方法,其特征在于,步骤5中,对于给定的三元组实例,所述三元组实例的形式为(用户,项目,交互时间),从数据库中获取与步骤1中生成的训练样本属性相同的用户特征、项目特征、推荐上下文特征,构造包含上述所有特征的测试样本。
10.根据权利要求9所述的方法,其特征在于,步骤6中,按照与步骤3相同的方法处理当前测试样本并更新用户-项目交互图,并为测试样本拼接其对应的交互图特征作为完整的测试样本。

说明书全文

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

技术领域

[0001] 本发明涉及一种基于图神经网络和注意力机制的上下文推荐方法。

背景技术

[0002] 随着信息化的高速发展,海量信息涌入人们的生活当中,推荐系统作为一种从纷繁的信息中过滤出人们最感兴趣的信息的工具,在当今社会扮演着越来越重要的色,广泛应用于电子商务、互联网广告、社交媒体等领域。其中,推荐值预估,即预测特定用户对特定项目感兴趣的程度,是推荐系统的核心,直接关系到最终的推荐效果。近年来,有关推荐值预估方法的研究受到学术界和工业界的广泛关注。
[0003] 其中,上下文感知推荐值预估方法是最贴近实际应用场景的一类推荐值预估方法。与仅使用用户ID,项目ID,历史交互ID序列的传统方法不同,上下文感知推荐值预估方法还使用丰富的用户、项目辅助特征及推荐上下文特征,通过考虑众多特征及其复杂的交叉组合,实现对推荐值更为精准的预估。近年来,由于深度学习在自动学习高阶特征组合上的优越性,基于深度学习的上下文感知推荐值预估算法逐渐成为主流。然而,大部分上下文感知推荐值预估算法没有考虑不同特征的差异性设计神经网络结构,而是将所有特征视为同质特征使用相同的结构进行学习,这限制了历史交互特征等在预估中发挥重要作用。
[0004] 最近,Guorui Zhou等人提出DIN模型,针对用户历史交互序列特征与候选项目之间的关系设计了基于注意力机制的神经网络结构,使得用户兴趣及其对于推荐值的影响被充分挖掘,从而促进了推荐值预估性能的显著提升。但其不足之处在于仍没有重视项目历史交互序列特征,从而限制了项目对用户吸引力的表达。参考文献:Zhou,Guorui,et al.Deep interest network for click-through rate prediction.Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery&Data 
Mining.ACM,2018:1059-1068.
[0005] 另一方面,在推荐系统中,项目往往呈现出典型的长尾分布:大部分项目的交互次数都很少,少数项目的交互次数非常多。交互次数较少的这部分项目被称为长尾项目。由于涉及到每一个长尾项目的样本数目都很少,长尾项目特征表示通常难以得到充分的训练,降低了最终的推荐值预估效果。综合考虑用户历史交互序列及项目历史交互序列,并引入图神经网络建立了用户特征表示与项目特征表示的联系,在一定程度上可以弥补长尾项目特征表示不充分的问题。然而,现有的基于图神经网络的方法极少关注交互图特征与当前推荐上下文之间的关系,仍未能充分利用历史交互信息度量当前用户的兴趣偏好与当前项目的吸引力之间的匹配程度。

发明内容

[0006] 发明目的:克服现有上下文感知推荐值预估算法无法充分利用历史交互特征进行精确预估的不足,以及长尾项目推荐值预估效果不佳的问题,根据历史交互特征构建历史交互图,引入图神经网络及注意力机制建立用户、项目、推荐上下文及历史交互特征之间的联系,充分发掘用户兴趣偏好与项目吸引力,得到表达能力更强的特征表示,从而提升预估推荐值的准确度。
[0007] 为了解决上述技术问题,本发明公开了一种基于图神经网络和注意力机制的上下文推荐方法,该方法可以用于各类推荐系统及广告点击率预估等应用中,包括以下步骤:
[0008] 步骤1,从数据库中生成包含用户特征、项目特征、推荐上下文特征及用户偏好指标的交互数据样本构成的训练集;
[0009] 步骤2,对训练集中的交互数据样本按交互时间进行排序;
[0010] 步骤3,基于排序后的交互数据样本构建用户-项目交互图;
[0011] 步骤4,将训练集中的每条交互数据样本与其对应的交互图特征共同送入深度网络模型中进行训练;
[0012] 步骤5,对于给定的三元组实例,从数据库中获取对应的用户特征、项目特征、推荐上下文特征构建测试样本;
[0013] 步骤6,更新用户-项目交互图,并为测试样本拼接其对应的交互图特征;
[0014] 步骤7,利用训练好的深度网络模型预估测试样本的推荐值。
[0015] 步骤1中,从数据库中生成的训练集中的每一条交互数据样本包含描述用户基本信息的特征、描述项目基本信息的特征和描述推荐上下文信息的特征,描述用户基本信息的特征包括用户ID等,描述项目基本信息的特征包括项目ID等,描述推荐上下文信息的特征包括交互时间等,样本标签为用户偏好指标,常采用点击行为、浏览行为、用户评分等作为用户偏好指标,具体选择何种指标视推荐目标而定。
[0016] 步骤2中,对训练集中的交互数据样本按交互时间进行排序,并赋予每一条交互数据样本一个对应于时间顺序的序号,序号从0开始依次递增。
[0017] 步骤3包括如下步骤:
[0018] 步骤3-1,初始化用户-项目交互图的用户顶点集合、项目顶点集合、交互边集合为空;
[0019] 步骤3-2,考察未处理过的编号最小的交互数据样本,如果该样本包含的用户u对应的顶点尚未加入到用户顶点集合中,则向用户顶点集合中加入顶点vu,如果该样本包含的项目i对应的顶点尚未加入到项目顶点集合中,则向项目顶点集合中加入顶点vi;
[0020] 步骤3-3,向交互边集合中加入一条边表示当前交互,边的标记为当前交互数据样本的序号;
[0021] 步骤3-4,如果还有未处理的交互数据样本,跳转至步骤3-2;否则,结束步骤3;最终构建出的用户-项目交互图是表示用户和项目交互情况的动态二部图,用户-项目交互图的两部分顶点分别表示用户和项目,图中每条边表示一条交互,边的标记为交互数据样本的序号。
[0022] 步骤4包括如下步骤:
[0023] 步骤4-1,为每条交互数据样本拼接其对应的用户-项目交互图特征,即为每条交互数据样本拼接其包含的用户所拥有的标记最大的lu条交互对应的项目特征序列,以及其包含的项目所拥有的标记最大的li条交互对应的用户特征序列作为交互图特征,并将其作为深度学习网络模型的输入;
[0024] 步骤4-2,获取输入特征的嵌入表示,每个类别特征通过长度为H的可学习的实值向量进行表示,所有用户特征的嵌入表示拼接成长度为nuH的用户嵌入表示,所有项目特征的嵌入表示拼接成长度为niH的项目嵌入表示,所有推荐上下文特征的嵌入表示拼接成长度为ncH的上下文嵌入表示,其中nu,ni,nc分别表示用户特征数目、项目特征数目、推荐上下文特征数目;交互图特征中特征序列中的每一条项目特征或用户特征按同样的方式获取对应的用户交互特征序列嵌入表示及项目交互特征序列嵌入表示;
[0025] 步骤4-3,为步骤4-2得到的交互特征序列嵌入表示附加交互置信度嵌入表示;
[0026] 步骤4-3包括:提出交互置信度嵌入表示概念,用来表征交互特征序列中每一条交互的置信度信息,以用户交互置信度嵌入表示为例,该嵌入表示是长度为lu,维度为niH的可学习的实值向量序列,与用户交互特征序列一一对应,其中第k个用户交互置信度嵌入表示的第i位CEu(k,i)初始化计算方式如下:
[0027] CEu(k,i)=f(k)g(k,i),
[0028] 其中f是一个刻画交互置信度随时间推移呈递减趋势的函数;g是一个刻画交互置信度受时序因素影响的函数;将计算得到的用户交互置信度嵌入与用户交互特征嵌入表示对应相加得到新的用户交互特征嵌入表示;类似地,可以计算项目交互置信度嵌入表示,并与项目交互特征嵌入表示对应相加得到新的项目交互特征嵌入表示;
[0029] 步骤4-4,基于步骤4-2得到的特征嵌入表示使用注意力机制分别计算交互图特征对应的每一条历史交互相对于样本对应的用户、项目、推荐上下文的重要度;
[0030] 步骤4-4包括:采用如下公式计算交互图特征对应的每一条历史交互相对于样本对应的用户、项目、推荐上下文的重要度:
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037] 其中eu,ei,ec分别代表用户嵌入表示、项目嵌入表示、上下文嵌入表示, 分别代表第l条用户交互特征嵌入表示及第l条项目交互特征嵌入表示,Attuu,Attui,Attuc,Attiu,Attii,Attic分别表示不同的注意力计算函数,可选用内积函数或前馈神经网络等,Softmax为归一化指数函数,用来保证结果是合法的概率分布, 分别表示第l条用户交互对于样本对应的用户、项目、推荐上下文的重要度, 分别表示第l条项
目交互对于样本对应的用户、项目、推荐上下文的重要度;
[0038] 步骤4-5,结合步骤4-4得到的重要度信息,利用图神经网络生成交互式用户特征表示、交互式项目特征表示及上下文感知交互特征表示,
[0039] 步骤4-5包括:
[0040] 步骤4-5-1,按照重要度加权求和得到聚合向量表示:
[0041]
[0042]
[0043] 其中,*可以取i,u,c,最终得到六种聚合向量hui、hii、huu、hiu、huc、hic,hu*表示聚合用户交互对于样本所对应**的重要度信息生成的聚合向量,hi*表示聚合项目交互对于样本所对应**的重要度信息生成的聚合向量,当*取i时,**表示项目,当*取u时,**表示用户,当*取c时,**表示推荐上下文;
[0044] 步骤4-5-2,基于4-5-1得到的聚合向量,通过前馈神经网络计算交互式用户特征表示、交互式项目特征表示及上下文感知交互特征表示:
[0045] hu=Act(Wu[eu||huu]+bu),
[0046] hi=Act(Wi[ei||hii]+bi),
[0047] huca=Act(Wuca[huu||hui||huc]+buca),
[0048] hica=Act(Wica[hiu||hii||hic]+bica),
[0049] 其中,Wu,Wi,Wuca,Wica分别表示对应神经网络的权重,bu,bi,buca,bica分别表示对应神经网络的偏置,||表示拼接操作,Act表示激活函数,hu,hi,huca,hica分别代表交互式用户特征表示、交互式项目特征表示、上下文感知用户交互特征表示、上下文感知项目交互特征表示。
[0050] 步骤4-6,步骤4-5得到的特征表示拼接后经多层前馈网络模计算得到预估推荐值作为深度模型的输出;
[0051] 训练过程的最小化二分类交叉熵损失函数L如下:
[0052]
[0053] 其中,y为样本标签,为深度模型输出的预估推荐值。
[0054] 步骤5中,对于给定的三元组实例,所述三元组实例的形式为(用户,项目,交互时间),从数据库中获取与步骤1中生成的训练样本属性相同的用户特征、项目特征、推荐上下文特征,构造包含上述所有特征的测试样本。
[0055] 步骤6中,按照与步骤3相同的方法处理当前测试样本并更新用户-项目交互图,并为测试样本拼接其对应的交互图特征作为完整的测试样本。
[0056] 步骤6具体包括如下步骤:
[0057] 步骤6-1,考察测试样本,如果该样本包含的用户u对应的顶点尚未加入到用户顶点集合中,则向用户顶点集合中加入顶点vu,如果该样本包含的项目i对应的顶点尚未加入到项目顶点集合中,则向项目顶点集合中加入顶点vi;
[0058] 步骤6-2,向交互边集合中加入一条边表示当前交互,边的标记为交互边集合中边的总数;
[0059] 步骤6-3,为测试样本拼接其包含的用户所拥有的标记最大的lu条交互对应的项目特征序列,以及其包含的项目所拥有的标记最大的li条交互对应的用户特征序列作为完整的测试样本。
[0060] 步骤7中,使用步骤4中训练好的深度模型预估测试样本的推荐值。
[0061] 有益效果:本发明的显著优点是充分考虑历史交互特征与当前用户、项目、推荐上下文之间的联系,动态构建有效的用户兴趣与项目吸引力表示,增强了特征表示的表达能力,提升了推荐值预估的准确度;特别地,通过增强与交互用户及推荐上下文之间的联系,弥补了长尾项目特征表示不准确的不足,获得推荐值预估准确度的显著提升。附图说明
[0062] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0063] 图1为本发明预估推荐值的流程图
[0064] 图2为本发明中用于预估推荐值的深度模型的计算流程图。
[0065] 图3为本发明在3个推荐系统数据集上进行实例验证时的AUC评分。

具体实施方式

[0066] 图1是本发明预估推荐值的流程图,包括7个步骤。
[0067] 步骤1中,从数据库中生成的每一条训练集交互数据样本包含用户ID等描述用户基本信息的特征、项目ID等描述项目基本信息的特征,以及交互时间等描述推荐上下文信息的特征;样本标签为用户偏好指标,常采用点击行为、浏览行为、用户评分等作为用户偏好指标,具体选择何种指标视推荐目标而定。
[0068] 步骤2中,根据上下文特征中的交互时间进行排序,并赋予每一条交互数据样本一个对应于时间顺序的序号,序号从0开始依次递增。
[0069] 步骤3包括如下步骤:
[0070] 步骤3-1,初始化用户-项目交互图的用户顶点集合、项目顶点集合、交互边集合为空;
[0071] 步骤3-2,考察未处理过的编号最小的交互数据样本,如果该样本包含的用户u对应的顶点尚未加入到用户顶点集合中,则向用户顶点集合中加入顶点vu,如果该样本包含的项目i对应的顶点尚未加入到项目顶点集合中,则向项目顶点集合中加入顶点vi;
[0072] 步骤3-3,向交互边集合中加入一条边表示当前交互,边的标记为当前交互数据样本的序号;
[0073] 步骤3-4,如果还有未处理的交互数据样本,跳转至步骤3-2;否则,结束步骤3;最终构建出的用户-项目交互图是表示用户和项目交互情况的动态二部图,用户-项目交互图的两部分顶点分别表示用户和项目,图中每条边表示一条交互,边的标记为交互数据样本的序号。
[0074] 步骤4包括如下步骤:
[0075] 步骤4-1,为每条交互数据样本拼接其包含的用户所拥有的标记最大的lu条交互对应的项目特征序列,以及其包含的项目所拥有的标记最大的li条交互对应的用户特征序列作为交互图特征,并将其作为深度学习网络模型的输入;
[0076] 步骤4-2,获取输入特征的嵌入表示,每个类别特征通过长度为H的可学习的实值向量进行表示所有用户特征的嵌入表示拼接成长度为nuH的用户嵌入表示,所有项目特征的嵌入表示拼接成长度为niH的项目嵌入表示,所有推荐上下文特征的嵌入表示拼接成长度为ncH的上下文嵌入表示,其中nu,ni,nc分别表示用户特征数目、项目特征数目、推荐上下文特征数目;交互图特征中特征序列中的每一条项目特征或用户特征按同样的方式获取对应的用户交互特征序列嵌入表示及项目交互特征序列嵌入表示;
[0077] 步骤4-3,为步骤4-2得到的交互图特征嵌入表示附加交互置信度嵌入表示;
[0078] 步骤4-3包括,提出交互置信度嵌入表示概念,用来表征交互特征序列中每一条交互的置信度信息,以用户交互置信度嵌入表示为例,该嵌入表示是长度为lu,维度为niH的可学习的实值向量序列,与用户交互特征序列一一对应,其中第k个用户交互置信度嵌入表示的第i位初始化计算方式如下:
[0079] CEu(k,i)=f(k)g(k,i),
[0080] 其中f是一个刻画交互置信度随时间推移呈递减趋势的函数,使得越晚发生的交互具有越大的交互置信度,可选用指数函数、二次函数等;g是一个刻画交互置信度受时序因素影响的函数,可选用正弦函数、余弦函数等;将计算得到的用户交互置信度嵌入与用户交互特征嵌入表示对应相加得到新的用户交互特征嵌入表示;类似地,可以计算项目交互置信度嵌入表示,并与项目交互特征嵌入表示对应相加得到新的项目交互特征嵌入表示;
[0081] 步骤4-4,基于步骤4-2得到的特征嵌入表示使用注意力机制分别计算交互图特征对应的每一条历史交互相对于样本对应的用户、项目、推荐上下文的重要度;
[0082] 步骤4-4包括:采用如下公式计算交互图特征对应的每一条历史交互相对于样本对应的用户、项目、推荐上下文的重要度:
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089] 其中eu,eu,eu分别代表用户嵌入表示、项目嵌入表示、上下文嵌入表示, 分别代表第l条用户交互特征嵌入表示及第l条项目交互特征嵌入表示,Attuu,Attui,Attuc,Attiu,Attii,Attic分别表示不同的注意力计算函数,可选用内积函数或前馈神经网络等,Softmax为归一化指数函数,用来保证结果是合法的概率分布, 分别表示第l条用户交互对于样本对应的用户、项目、推荐上下文的重要度, 分别表示第l条项
目交互对于样本对应的用户、项目、推荐上下文的重要度;
[0090] 步骤4-5,结合步骤4-4得到的重要度信息,利用图神经网络生成交互式用户特征表示、交互式项目特征表示及上下文感知交互特征表示,
[0091] 步骤4-5包括:
[0092] 步骤4-5-1,按照重要度加权求和得到聚合向量表示:
[0093]
[0094]
[0095] 其中,*可以取i,u,c,最终得到六种聚合向量;
[0096] 步骤4-5-2,基于4-5-1得到的聚合向量,通过前馈神经网络计算交互式用户特征表示、交互式项目特征表示及上下文感知交互特征表示:
[0097] hu=Act(Wu[eu||huu]+bu),
[0098] hi=Act(Wi[ei||hii]+bi),
[0099] huca=Act(Wuca[huu||hui||huc]+buca),
[0100] hica=Act(Wica[hiu||hii||hic]+bica),
[0101] 其中,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  improve  restricted  boltzmann machines.Proceedings of the 27th international conference on machine learning(ICML-10).2010∶807-814;Maas,Andrew L.,Awni Y.Hannun,and Andrew Y.Ng.Rectifier nonlinearities improve neural network acoustic models.In ICML,volume 30,
2013.No.1.2013;
[0102] 步骤4-6,步骤4-5得到的特征表示拼接后经多层前馈网络模块计算得到预估推荐值作为深度模型的输出;
[0103] 训练过程最小化二分类交叉熵损失函数:
[0104]
[0105] 其中,y为样本标签,为深度模型输出的预估推荐值。
[0106] 步骤5中,对于给定的(用户,项目,交互时间)三元组实例,从数据库中获取与步骤1中生成的训练样本属性相同的用户特征、项目特征、推荐上下文特征,构造包含上述所有特征的测试样本。
[0107] 步骤6包括如下步骤:
[0108] 步骤6-1,考察测试样本,如果该样本包含的用户u对应的顶点尚未加入到用户顶点集合中,则向用户顶点集合中加入顶点vu,如果该样本包含的项目i对应的顶点尚未加入到项目顶点集合中,则向项目顶点集合中加入顶点vi;
[0109] 步骤6-2,向交互边集合中加入一条边表示当前交互,边的标记为交互边集合中边的总数;
[0110] 步骤6-3,为测试样本拼接其包含的用户所拥有的标记最大的lu条交互对应的项目特征序列,以及其包含的项目所拥有的标记最大的li条交互对应的用户特征序列作为完整的测试样本。
[0111] 步骤7中,使用步骤4中训练好的深度模型预估测试样本的推荐值。
[0112] 实施例
[0113] 为了验证模型的有效性,在2个推荐系统基准数据集及1个推荐系统竞赛数据集上进行实例验证。对每个数据集,按4:1的比例对交互数据按时间顺序进行划分,得到训练集实例与测试集实例,然后按照如图1所示的6个步骤进行推荐值预估。
[0114] 以这5个数据集中的Byte-Recommend数据集为例,该数据集来源于字节跳动公司旗下的TikTok(抖音海外版)短视频APP的真实数据,包含19622340条交互数据记录,涉及73974名用户及4122689个短视频(项目),平均每名用户拥有277.5条交互数据记录,平均每个项目拥有5.3条交互数据记录,按如下步骤进行模型训练与评估:
[0115] 1、对于每一条训练集实例,从数据库中生成一条对应的训练集交互数据样本,包含用户ID、用户所在城市等描述用户基本信息的特征,项目ID、作者、项目发布城市、背景音乐、项目时长等描述项目基本信息的特征,以及交互时间、观看来源、观看设备等描述推荐上下文信息的特征;样本标签为用户是否浏览完项目。
[0116] 2、根据上下文特征中的交互时间进行排序,并赋予每一条交互数据样本一个对应于时间顺序的序号。
[0117] 3、依次处理训练集中每条交互数据样本,构建出表示用户和项目交互情况的动态二部图,其中包括73974个用户顶点及4122689个项目顶点,19622340条表示交互的边,边的标记为交互数据样本的序号。
[0118] 4、为训练集中的每条交互数据样本拼接用户最近的10条交互及项目最近的10条交互对应的交互图特征,共同送入如图2所示深度网络模型中进行训练,其中,计算交互置信度的公式中的f选用指数函数,g选用余弦函数,注意力计算函数选用3层全连接层构成的前馈神经网络,激活函数选用ReLU;训练过程最小化二分类交叉熵损失函数:
[0119]
[0120] 其中,y为样本标签,为深度模型输出的预估推荐值。
[0121] 5、对于给定的(用户,项目,交互时间)三元组实例,从数据库中获取与步骤1中生成的训练样本属性相同的用户特征、项目特征、推荐上下文特征,构造包含上述所有特征的测试样本。
[0122] 6、为测试样本拼接用户最近的10条交互与项目最近的10条交互对应的交互图特征按作为完整的测试样本。
[0123] 7、使用4中训练好的深度模型预估测试样本的推荐值。
[0124] 使用推荐值预估任务的主流评价指标AUC(接受者操作特性曲线下方面积)作为评价指标,对测试集上得到的预估推荐值进行评估,结果达到了0.7422的AUC评分,好于主流上下文感知推荐值预估算法DIN,DeepFM,FM等;针对长尾项目的推荐值预估AUC评分较其他方法均取得超过0.0028的提升,所以本发明用于推荐值预估相关应用时,具备预估准确率高的优点,并且对于长尾项目的推荐值预估准确率有显著提升。参考文献:Zhou,Guorui,et al.Deep interest network for click-through rate prediction.Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery&Data 
Mining.ACM,2018:1059-1068;Guo,Huifeng,et al.DeepFM:a factorization-machine based neural network for CTR prediction.Proceedings of the 26th International Joint Conference on Artificial Intelligence.AAAI Press,2017:1725-1731;Rendle,Steffen.Factorization machines.2010IEEE International Conference on Data Mining.IEEE,2010:995-1000。
[0125] 图3列出了本发明与其他7中推荐值预估算法在3个数据集上的分类准确率,其中,表的第一列列出了不同的方法,本发明方法列于最后一行,其余的每一列列出了所有方法在某个数据集上的AUC评分。结果显示,本发明在推荐值预估任务上具有优异的表现,在3个数据集上的AUC评分均超过了其他推荐值预估算法。由于本发明基于图神经网络及注意力机制设计深度模型进行推荐值预估,将历史交互特征与用户特征、项目特征及推荐上下文特征联系起来,并考虑了不同历史交互特征的置信度信息,在更好地表达用户兴趣及项目吸引力的同时考察其对推荐值预估的影响,得到表达能力更强的特征表示向量,大大提升了推荐值预估的效果。
[0126] 本发明提供了一种基于图神经网络和注意力机制的上下文推荐方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈