一种基于双模式注意力机制和社交相似度的会话推荐方法技术

技术编号:27811855 阅读:14 留言:0更新日期:2021-03-30 09:49
本发明专利技术公开了一种基于双模式注意力机制和社交相似度的会话推荐方法,属于计算机网络交互技术领域。本方法通过设计一种双模式注意力机制来捕捉用户的长期兴趣和短期兴趣之间的依赖性。其中,第一种模式为自注意力模式,用于捕捉长期兴趣和短期兴趣自身的内部依赖性。第二种模式为互注意力模式,用于捕捉长期兴趣和短期兴趣之间的相互依赖性。通过将用户的长期兴趣和短期兴趣结合,以获得用户最终的个人兴趣。最后,聚合用户的个人兴趣和朋友对用户兴趣的影响,预测用户在会话中将要交互的下一个项目,从而实现会话推荐。本方法充分考虑了朋友对用户兴趣偏好的影响,提高了对用户在会话中要交互的下一个项目的预测的全面性,同时提高了预测准确性。提高了预测准确性。提高了预测准确性。

【技术实现步骤摘要】
一种基于双模式注意力机制和社交相似度的会话推荐方法


[0001]本专利技术涉及一种会话推荐方法,尤其涉及一种基于双模式注意力机制和社交相似度的会话推荐方法,属于计算机网络交互


技术介绍

[0002]目前,基于会话的推荐,在数字商业系统中得到了广泛而成功的应用。它利用用户交互会话中的现有项目建模用户的兴趣,然后,利用这些项目进一步预测用户在会话期间将要交互的下一个项目。由于在线社交网络的出现,用户的社交信息已经可以用于推荐系统。事实证明,用户不仅倾向于与朋友有相似的兴趣爱好,而且很容易受到朋友的影响。
[0003]大多数传统的基于会话的推荐方法,是通过挖掘项目之间的关系来预测用户在会话期间下一次交互的项目。近年来,出现了将神经网络应用于基于会话的推荐。一些研究者利用递归神经网络对会话进行建模,从而获得用户的隐含兴趣。用户的兴趣通常包括长期兴趣和短期兴趣,两者相互关联,相互促进。因此,一些研究者建立了研究长期和短期兴趣之间关系的模型,捕捉长期和短期兴趣之间的动态交互作用,以便进行基于会话的推荐。另外,随着人们对社交网络的日益关注,一些研究者将社交网络引入到基于会话的推荐中。
[0004]但是,尽管现有的基于会话的推荐方法已经取得一些成效,却仍存在一些局限性和不足,尤其是在获取社会影响力方面。
[0005]第一,在捕捉朋友对用户的社交影响时,用户的兴趣可能只与某些朋友的兴趣相似,且这种相似性可能只存在于某些方面,而目前大多数研究在评估用户的社交影响力时,只是随机选择一些用户的朋友,却忽略了用户和朋友在兴趣方面上的差异。
[0006]第二,用户的个人兴趣通常包括长期兴趣和短期兴趣,这两种兴趣既有内在的依赖性,又有相互依赖性,但其中的相互依赖性在大多数的研究方法中被忽略。

技术实现思路

[0007]本专利技术的目的是为了克服现有技术存在的缺陷,为解决会话推荐领域的用户兴趣可能仅与某些朋友在某些方面的兴趣相似的技术问题,创造性地提出一种基于双模式注意力机制和社交相似度的会话推荐方法。
[0008]本专利技术方法的创新点在于:
[0009]在两个层级,即项目层级和兴趣方面层级,计算用户和朋友之间的相似度。其中,项目层级的相似度是选择有正向影响力的朋友的指南,兴趣方面层级的相似度是探索用户兴趣和所选朋友在兴趣方面上的差异的指南。
[0010]通过设计一种双模式注意力机制来捕捉用户的长期兴趣和短期兴趣之间的依赖性。其中,第一种模式为自注意力模式,用于捕捉长期兴趣和短期兴趣自身的内部依赖性。第二种模式为互注意力模式,用于捕捉长期兴趣和短期兴趣之间的相互依赖性。通过将用户的长期兴趣和短期兴趣结合,以获得用户最终的个人兴趣。最后,聚合用户的个人兴趣和朋友对用户兴趣的影响,预测用户在会话中将要交互的下一个项目,从而实现会话推荐。
[0011]本专利技术是基于以下技术方案实现的。
[0012]一种基于双模式注意力机制和社交相似度的会话推荐方法,包括如下步骤:
[0013]步骤1:计算用户的初始长期兴趣和初始短期兴趣。
[0014]具体地:
[0015]步骤1.1:将所有用户的所有会话中的项目构成一个项目集合,将该项目集合嵌入到一个向量空间中,得到每个项目的潜在向量表示;
[0016]步骤1.2:利用用户的交互历史得到用户的长期兴趣,将用户的交互历史中的项目按交互时间顺序排序,然后,将排序后的每个项目对应的潜在向量构成一个集合,该集合表示用户的初始长期兴趣。
[0017]步骤1.3:当为用户推荐在每个会话中将要交互的下一个项目时,当前会话中的项目反映了用户的短期兴趣。将当前会话中的每个项目的潜在向量依次传入循环神经网络,得到每个项目对应的隐藏状态向量,将这些隐藏状态向量构成一个集合,该集合表示用户的初始短期兴趣。
[0018]步骤2:利用自注意力模式机制,计算基于内部依赖的长期兴趣。
[0019]具体地:
[0020]步骤2.1:利用一个位置矩阵,模拟长期兴趣中用户与项目交互的时间顺序。
[0021]所述位置矩阵由所有位置向量组合而成,长期兴趣中的每个项目对应一个位置向量,位置向量同时也反映了长期兴趣中每个项目的重要性。
[0022]步骤2.2:对于步骤1.2得到的用户的初始长期兴趣中的每一个项目,计算该项目与包括该项目本身在内的其他项目之间的依赖程度,即自注意力权重。
[0023]具体地:
[0024]对于当前项目,记为a;选择一个其他项目,记为b;
[0025]首先,计算项目b与项目b对应的位置向量的乘积;然后,再乘以项目a的向量,结果为项目a与项目b之间的自注意力权重。
[0026]之后,将结果进行归一化,即,将项目a与项目b之间的自注意力权重除以项目a与所有其他项目之间的自注意力权重,得到项目a与项目b之间最终的自注意力权重。
[0027]而后,将项目a与其他项目之间的自注意力权重乘以对应的其他项目的向量。
[0028]最后,将所有乘积结果进行相加,得到包含与其他项目间依赖关系的项目a的向量。
[0029]对用户的初始长期兴趣中的每个项目都执行以上操作,得到包含与其他项目间依赖关系的每个项目的向量。
[0030]步骤2.3:将步骤2.2得到的包含与其他项目间依赖关系的每个项目组成一个新的集合,该集合表示用户的基于自身依赖的长期兴趣。
[0031]步骤3:利用自注意力模式机制,计算基于内部依赖的短期兴趣。
[0032]具体地:
[0033]步骤3.1:对于步骤1.3得到的用户的初始短期兴趣中的每一个项目,计算该项目与包括该项目本身在内的其他项目之间的依赖程度,即自注意力权重。
[0034]由于短期兴趣是利用循环神经网络得到的,包含了项目之间的交互时序关系,因此,对于短期兴趣不再引入位置矩阵。
[0035]具体为:
[0036]对于当前项目,记为a,选择一个其他项目,记为b。
[0037]首先,将项目a的向量与项目b的向量相乘,结果为项目a与项目b之间的自注意力权重。
[0038]然后,将结果进行归一化,即,将项目a与项目b之间的自注意力权重除以项目a与所有其他项目之间的自注意力权重,得到项目a与项目b之间最终的自注意力权重。
[0039]之后,将项目a与其他项目之间的自注意力权重乘以对应的其他项目的向量。
[0040]最后将所有乘积结果进行相加,得到包含与其他项目间依赖关系的项目a的向量。
[0041]对用户的初始短期兴趣中的每个项目都执行以上操作,得到包含与其他项目间依赖关系的每个项目的向量。
[0042]步骤3.2:将步骤3.1得到的包含与其他项目间依赖关系的每个项目组成一个新的集合,该集合表示用户的基于自身依赖的短期兴趣。
[0043]步骤4:利用互注意力模式机制,在步骤2和步骤3的基础上计算长期兴趣与短期兴趣之间的相互依赖关系,得到基于相互本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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,然后将所有项目得到的...

【专利技术属性】
技术研发人员:施重阳冯超群姜欣雨
申请(专利权)人:北京理工大学
类型:发明
国别省市:

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

1