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

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

Info

Publication number
CN112559905A
CN112559905A CN202011551034.1A CN202011551034A CN112559905A CN 112559905 A CN112559905 A CN 112559905A CN 202011551034 A CN202011551034 A CN 202011551034A CN 112559905 A CN112559905 A CN 112559905A
Authority
CN
China
Prior art keywords
user
item
interest
vector
term
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.)
Granted
Application number
CN202011551034.1A
Other languages
English (en)
Other versions
CN112559905B (zh
Inventor
施重阳
冯超群
姜欣雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202011551034.1A priority Critical patent/CN112559905B/zh
Publication of CN112559905A publication Critical patent/CN112559905A/zh
Application granted granted Critical
Publication of CN112559905B publication Critical patent/CN112559905B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations 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

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

Description

一种基于双模式注意力机制和社交相似度的会话推荐方法
技术领域
本发明涉及一种会话推荐方法,尤其涉及一种基于双模式注意力机制和社交相似度的会话推荐方法,属于计算机网络交互技术领域。
背景技术
目前,基于会话的推荐,在数字商业系统中得到了广泛而成功的应用。它利用用户交互会话中的现有项目建模用户的兴趣,然后,利用这些项目进一步预测用户在会话期间将要交互的下一个项目。由于在线社交网络的出现,用户的社交信息已经可以用于推荐系统。事实证明,用户不仅倾向于与朋友有相似的兴趣爱好,而且很容易受到朋友的影响。
大多数传统的基于会话的推荐方法,是通过挖掘项目之间的关系来预测用户在会话期间下一次交互的项目。近年来,出现了将神经网络应用于基于会话的推荐。一些研究者利用递归神经网络对会话进行建模,从而获得用户的隐含兴趣。用户的兴趣通常包括长期兴趣和短期兴趣,两者相互关联,相互促进。因此,一些研究者建立了研究长期和短期兴趣之间关系的模型,捕捉长期和短期兴趣之间的动态交互作用,以便进行基于会话的推荐。另外,随着人们对社交网络的日益关注,一些研究者将社交网络引入到基于会话的推荐中。
但是,尽管现有的基于会话的推荐方法已经取得一些成效,却仍存在一些局限性和不足,尤其是在获取社会影响力方面。
第一,在捕捉朋友对用户的社交影响时,用户的兴趣可能只与某些朋友的兴趣相似,且这种相似性可能只存在于某些方面,而目前大多数研究在评估用户的社交影响力时,只是随机选择一些用户的朋友,却忽略了用户和朋友在兴趣方面上的差异。
第二,用户的个人兴趣通常包括长期兴趣和短期兴趣,这两种兴趣既有内在的依赖性,又有相互依赖性,但其中的相互依赖性在大多数的研究方法中被忽略。
发明内容
本发明的目的是为了克服现有技术存在的缺陷,为解决会话推荐领域的用户兴趣可能仅与某些朋友在某些方面的兴趣相似的技术问题,创造性地提出一种基于双模式注意力机制和社交相似度的会话推荐方法。
本发明方法的创新点在于:
在两个层级,即项目层级和兴趣方面层级,计算用户和朋友之间的相似度。其中,项目层级的相似度是选择有正向影响力的朋友的指南,兴趣方面层级的相似度是探索用户兴趣和所选朋友在兴趣方面上的差异的指南。
通过设计一种双模式注意力机制来捕捉用户的长期兴趣和短期兴趣之间的依赖性。其中,第一种模式为自注意力模式,用于捕捉长期兴趣和短期兴趣自身的内部依赖性。第二种模式为互注意力模式,用于捕捉长期兴趣和短期兴趣之间的相互依赖性。通过将用户的长期兴趣和短期兴趣结合,以获得用户最终的个人兴趣。最后,聚合用户的个人兴趣和朋友对用户兴趣的影响,预测用户在会话中将要交互的下一个项目,从而实现会话推荐。
本发明是基于以下技术方案实现的。
一种基于双模式注意力机制和社交相似度的会话推荐方法,包括如下步骤:
步骤1:计算用户的初始长期兴趣和初始短期兴趣。
具体地:
步骤1.1:将所有用户的所有会话中的项目构成一个项目集合,将该项目集合嵌入到一个向量空间中,得到每个项目的潜在向量表示;
步骤1.2:利用用户的交互历史得到用户的长期兴趣,将用户的交互历史中的项目按交互时间顺序排序,然后,将排序后的每个项目对应的潜在向量构成一个集合,该集合表示用户的初始长期兴趣。
步骤1.3:当为用户推荐在每个会话中将要交互的下一个项目时,当前会话中的项目反映了用户的短期兴趣。将当前会话中的每个项目的潜在向量依次传入循环神经网络,得到每个项目对应的隐藏状态向量,将这些隐藏状态向量构成一个集合,该集合表示用户的初始短期兴趣。
步骤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,然后将所有项目得到的结果进行求和,求和结果即为用户的基于相互依赖的用户短期兴趣。
步骤6:将步骤4得到的用户长期兴趣和步骤5得到的用户短期兴趣进行拼接,然后通过一个前馈神经网络,得到最终的用户兴趣。
至此,经过步骤1至步骤6,得到了最终的用户兴趣向量。
步骤7:计算用户与其朋友之间的项目层级相似度,根据项目层级相似度选出N个的朋友。其中,N为超参数,在具体实施中,根据参数实验确定最佳值。
具体地:
步骤7.1:将用户的历史交互记录与其朋友的历史交互记录做交集,计算交集中项目的数目;
步骤7.2:将用户的历史交互记录与其朋友的历史交互记录做并集,计算并集中项目的数目;
步骤7.3:将步骤7.1得到的交集中项目的数目除以步骤7.2得到的并集中项目的数目,结果为用户与其朋友之间的项目层级相似度。根据项目层级相似度由高到低选择N个的朋友,构成用户的朋友集合,用于后续计算朋友的兴趣对用户的兴趣的影响。
步骤8:计算用户与朋友之间的兴趣方面层级相似度,并计算朋友的兴趣对用户的兴趣的影响。
具体地:
步骤8.1:计算用户的兴趣方面偏好向量。
首先,建立一个兴趣方面矩阵,兴趣方面矩阵的每一列表示一个兴趣方面。然后,将步骤6得到的用户兴趣与兴趣方面矩阵相乘,得到用户的兴趣方面偏好向量,该向量中的每个元素表示用户对每个兴趣方面的偏好程度;
步骤8.2:计算朋友的兴趣方面偏好向量。
对于步骤7得到的用户的朋友集合中的每个朋友,都经过步骤1至步骤6,得到每个朋友的兴趣向量表示。然后,将每个朋友的兴趣向量分别乘以兴趣方面矩阵,分别得到每个朋友的兴趣方面偏好向量,每个向量中的每个元素表示每个朋友对每个兴趣方面的偏好程度;
步骤8.3:将用户的兴趣方面偏好向量分别与每个朋友的兴趣方面偏好向量相乘,得到用户与每个朋友之间的兴趣方面层级的相似度。
为不削弱用户本身的兴趣,增加计算用户与其本身之间的兴趣方面层级相似度,即,将用户的兴趣方面偏好向量乘以用户的兴趣方面偏好向量。
步骤8.4:归一化用户与朋友之间的兴趣方面层级相似度。
对于每个朋友,包括用户本身,将步骤8.3得到的用户与该朋友之间的兴趣方面层级相似度除以用户与所有朋友之间的兴趣方面层级相似度的和,得到归一化后的兴趣方面层级相似度。所有朋友包括用户与用户本身。
步骤8.5:将每个朋友,包括用户本身,与用户之间的兴趣方面层级相似度乘以该朋友的兴趣向量,并将所有乘积结果求和,然后,将求和结果经过一个前馈神经网络,得到所有朋友的兴趣对用户的兴趣的影响。
至此,经过步骤7和步骤8得到朋友对用户兴趣的影响的表示向量。
步骤9:将步骤6得到的用户的最终兴趣与步骤8得到的朋友对用户的影响进行拼接,然后,经过一个线性层,得到用户的向量表示。
步骤10:将步骤1得到的所有项目的潜在向量组成项目的潜在向量矩阵,将该矩阵与步骤9得到的用户的向量表示相乘,再经过一个softmax函数,得到所有项目的预测概率分布。使用真实的概率分布与预测概率分布之间的交叉熵作为损失函数;
其中,概率分布的每一项表示对应的项目成为当前用户会话的下一项的概率,取概率值最大的前K个项目作为当前用户会话的推荐项目,K自行设定;
至此,经过步骤1至步骤10完成了基于双模式注意力机制和社交相似度的会话推荐方法。
有益效果
本发明方法与现有会话推荐方法相比,具有以下优点:
1.本方法将用户的社交网络信息引入会话推荐,充分考虑了朋友对用户兴趣偏好的影响,提高了对用户在会话中要交互的下一个项目的预测的全面性;
2.本方法在计算用户兴趣和朋友兴趣的相似性时,考虑到用户可能只与某些朋友在某些方面有相似的兴趣,所以本方法通过计算用户与朋友在项目层级的相似度来对朋友进行筛选;并通过计算用户与朋友在兴趣方面层级的相似度,有针对地得到每个朋友对用户兴趣的影响,提高了预测的准确性;
3.本方法建立自注意力机制来捕获用户的长期兴趣和短期兴趣的内在依赖性,并建立相互注意力机制来捕获用户的长期兴趣和短期兴趣之间的相互依赖性,从而使计算到的用户兴趣更加准确。
附图说明
图1为本发明方法的原理框图。
具体实施方式
下面结合附图和实施例,对本发明方法作进一步详细说明。
实施例1
本实例将本发明提出的方法应用于会话推荐业务场景中,利用本发明提出的方法处理用户交互会话数据,根据本发明方法得到的结果,预测用户在会话中的下一个交互项,实现会话推荐。
以Douban、Delicious和Gowalla三个数据集为例进行说明,三个数据集网址分别是http://www.douban.com、https://grouplens.org/datasets/hetrec-2011/和http://snap.stanford.edu/data/loc-Gowalla.html;其中,Douban数据集包含Douban网站上用户对电影的评论和用户的社交关系,每条评论看作是用户与电影之间的交互,每个会话由一个用户在一周内评论过的电影组成;Delicious数据集包含Delicious社交书签系统的用户的书签、书签的标签和用户之间的社交关系,每个会话是用户设定给书签的一系列标签,其中,用户设定标签的操作是带有时间戳的;Gowalla包含用户的位置签到数据和用户之间社交关系,每个会话由一个用户在一周内签到过的位置组成;
对于Douban数据集,会话推荐的任务是根据会话中已知的电影信息,预测用户在该会话中要评论的下一个电影;对于Delicious数据集,会话推荐的任务是根据会话中已知的标签信息,预测用户在该会话中要给当前书签设置的下一个标签;对于Gowalla数据集,会话推荐的任务是根据会话中已知的位置签到信息,预测用户在该会话中要签到的下一个位置;
图1为本方法的框架图及本实施例的框架图;所述基于双模式注意力机制和社交相似度的会话推荐方法,具体实施时,包括如下步骤:
步骤A:对三个数据集进行预处理。
分别过滤掉三个数据集中出现次数小于5的项目和长度小于2的会话,再把两个数据集分别切分为训练集和测试集;
输入的会话数据中所有出现过的项目构成集合V={v1,v2,…,v|V|},|V|为项目总数;输入的会话数据中所有出现过的用户构成集合U={u1,u2,…,u|U|},|U|为用户总数;对于一个用户u(u为用户的通用表示,省略下标),该用户的会话集合表示为
Figure BDA0002857711760000081
集合中的会话按会话时间T′排序,其中
Figure BDA0002857711760000082
表示会话时间为t′的会话;对于用户u的每条会话su(用户u的会话的通用表示,省略下标),该会话表示为
Figure BDA0002857711760000083
其中,
Figure BDA0002857711760000084
表示用户u在时间t交互的项目;
步骤B:将项目集合V嵌入到一个向量空间
Figure BDA0002857711760000085
中,得到项目vi∈V的潜在向量表示
Figure BDA0002857711760000086
d表示向量维度,d=100;
步骤C:计算用户的初始长期兴趣和初始短期兴趣;
对于用户u和u当前的会话su,将用户u在会话su之前的交互历史表示为集合
Figure BDA0002857711760000087
其中,M表示集合Vu中的项目的总数;根据步骤B,
Figure BDA0002857711760000088
的向量初始化为
Figure BDA0002857711760000089
用户的初始兴趣由Vu中的项目的向量构成,用户的初始兴趣表示为
Figure BDA00028577117600000810
其中
Figure BDA00028577117600000811
对于会话su,利用带LSTM单元的循环神经网络来得到用户u的短时兴趣。根据步骤B,
Figure BDA00028577117600000812
的向量初始化为
Figure BDA00028577117600000813
则在t时刻,循环神经网络的输入为
Figure BDA00028577117600000814
并且更新公式如公式(1)至公式(6)所示:
Figure BDA00028577117600000815
Figure BDA00028577117600000816
Figure BDA00028577117600000817
Figure BDA00028577117600000818
Figure BDA00028577117600000819
Figure BDA00028577117600000820
其中,it表示在t时刻LSTM中的输入门向量,ft表示在t时刻LSTM中的遗忘门向量,ot表示在t时刻LSTM中的输出门向量,
Figure BDA00028577117600000821
表示在t时刻LSTM中新的记忆细胞向量,ct表示在t时刻LSTM最终的细胞向量,ct-1表示t-1时刻LSTM的细胞向量,
Figure BDA0002857711760000091
表示在t时刻LSTM的输出,
Figure BDA0002857711760000092
表示在t-1时刻LSTM的输出;
Figure BDA0002857711760000093
为循环神经网络的权重矩阵,
Figure BDA0002857711760000094
为循环神经网络的偏移向量,σ表示sigmoid函数,⊙表示元素对应相乘。
将每个时刻的隐藏状态向量构成一个集合,该集合表示用户的初始短期兴趣,则用户的初始短期兴趣表示为
Figure BDA0002857711760000095
步骤D:对于长期兴趣,利用位置矩阵模拟长期兴趣中用户与项目交互的时间顺序,位置矩阵记为P,
Figure BDA0002857711760000096
Figure BDA0002857711760000097
表示P的第i列。利用公式(7)计算长期兴趣
Figure BDA0002857711760000098
中每个项目
Figure BDA0002857711760000099
与其他项目
Figure BDA00028577117600000910
(包括该项目本身)之间的自注意力权重αij
Figure BDA00028577117600000911
其中,
Figure BDA00028577117600000912
表示长期兴趣
Figure BDA00028577117600000913
中第m个项目,pm表示位置矩阵P的第m列。
然后,利用公式(8)得到包含与其他项目间依赖关系的
Figure BDA00028577117600000914
Figure BDA00028577117600000915
将得到的
Figure BDA00028577117600000916
组合,得到用户的基于自身依赖的长期兴趣,表示为
Figure BDA00028577117600000917
Figure BDA00028577117600000918
对于短期兴趣,利用公式(9)计算短期兴趣
Figure BDA00028577117600000919
中每个项目
Figure BDA00028577117600000920
与其他项目
Figure BDA00028577117600000921
(包括该项目本身)之间的自注意力权重βij
Figure BDA00028577117600000922
然后,利用公式(10)得到包含与其他项目间依赖关系的
Figure BDA00028577117600000923
Figure BDA00028577117600000924
将得到的
Figure BDA00028577117600000925
组合,得到用户的基于自身依赖的长期兴趣,表示为
Figure BDA00028577117600000926
Figure BDA00028577117600000927
步骤E:在步骤D的基础上,利用互注意力模式机制计算长期兴趣与短期兴趣之间的相互依赖关系,得到用户的基于相互依赖的长期兴趣和短期兴趣;
对于长期兴趣
Figure BDA00028577117600000928
中的每个项目
Figure BDA00028577117600000929
计算该项目对应的依赖关系向量
Figure BDA00028577117600000930
如公式(11)所示:
Figure BDA0002857711760000101
其中,
Figure BDA0002857711760000102
是权重参数。
然后,将
Figure BDA0002857711760000103
作为前馈神经网络的偏移,并将
Figure BDA0002857711760000104
经过该前馈神经网络,如公式(12)所示:
Figure BDA0002857711760000105
其中,
Figure BDA0002857711760000106
是权重参数。
最后,将所有
Figure BDA0002857711760000107
进行求和,得到用户的基于相互依赖的长期兴趣
Figure BDA0002857711760000108
如公式(13)所示:
Figure BDA0002857711760000109
同样,对于短期兴趣
Figure BDA00028577117600001010
中的每个项目
Figure BDA00028577117600001011
计算该项目对应的依赖关系向量
Figure BDA00028577117600001012
如公式(14)所示:
Figure BDA00028577117600001013
然后,将
Figure BDA00028577117600001014
作为前馈神经网络的偏移,并将
Figure BDA00028577117600001015
经过该前馈神经网络,如公式(15)所示:
Figure BDA00028577117600001016
最后,将所有
Figure BDA00028577117600001017
进行求和,得到用户的基于相互依赖的长期兴趣
Figure BDA00028577117600001018
如公式(16)所示:
Figure BDA00028577117600001019
步骤F:拼接
Figure BDA00028577117600001020
Figure BDA00028577117600001021
并将结果经过一个前馈神经网络,得到用户最终的兴趣表示hu,如公式(17)所示:
Figure BDA00028577117600001022
其中,
Figure BDA00028577117600001023
Figure BDA00028577117600001024
是神经网络的权重参数,神经网络的激活函数使用ReLU函数。
步骤G:计算用户与其朋友之间的项目层级相似度,根据项目层级相似度选出N个朋友。用户u的社交网络记为Gu=(Uu,Eu),Uu表示用户u和用户u的朋友构成的集合,Uu∈U;Eu表示用户u和u的朋友之间的社交关联构成的集合,Eu∈E。对于在集合Uu中的朋友f,将朋友f的交互历史表示为集合,记为Vf
Figure BDA00028577117600001025
利用用户u的交互历史Vu和朋友f的交互历史Vf计算用户u和朋友f之间的项目层级相似度
Figure BDA0002857711760000111
如公式(18)所示:
Figure BDA0002857711760000112
其中,|·|表示计算集合中的项目数目。计算用户u与在集合Uu中的每个朋友之间项目层级相似度。然后将得到的所有项目层级相似度由高到低排序,选择与用户的项目层级相似度最大的N个朋友构成用户的朋友集合,在此实施例中取N=5,将朋友集合记为Fu
步骤H:计算用户的兴趣方面偏好向量。假设一共有k个兴趣方面,建立一个兴趣方面矩阵,记为A,
Figure BDA0002857711760000113
兴趣方面矩阵A的每一列表示一个兴趣方面。然后将用户最终的兴趣表示hu与兴趣方面矩阵A相乘,得到用户的兴趣方面偏好向量,记为au
Figure BDA0002857711760000114
Figure BDA0002857711760000115
Figure BDA0002857711760000116
表示用户u对兴趣方面i的偏好程度,如公式(19)所示:
au=AThu (19)
其中,AT表示将兴趣方面矩阵A进行转置。
步骤I:计算朋友的兴趣方面偏好向量。对于步骤G得到的用户的朋友集合Fu中的每个朋友f,都经过步骤A至步骤F,得到每个朋友的兴趣向量表示,记为hf。然后将每个朋友的兴趣向量hf分别乘以兴趣方面矩阵A,分别得到每个朋友的兴趣方面偏好向量,记为af
Figure BDA0002857711760000117
Figure BDA0002857711760000118
表示朋友f对兴趣方面i的偏好程度,如公式(20)所示:
af=AThf (20)
步骤J:将用户u的兴趣方面偏好向量au分别与每个朋友f的兴趣方面偏好向量af相乘,得到用户u与每个朋友之间的兴趣方面层级的相似度,记为
Figure BDA0002857711760000119
如公式(21)所示:
Figure BDA00028577117600001110
步骤K:为了不削弱用户本身的兴趣,增加计算用户与其本身之间的兴趣方面层级相似度,记为
Figure BDA00028577117600001111
如公式(22)所示:
Figure BDA00028577117600001112
其中,Fu表示由步骤G得到的朋友集合。
步骤L:将每个朋友(包括用户本身)与用户之间的兴趣方面层级相似度乘以该朋友的兴趣向量,并将所有乘积结果求和,如公式(23)所示:
Figure BDA0002857711760000121
步骤M:将步骤L得到的求和结果经过一个前馈神经网络,使用ReLU作为激活函数,得到所有朋友的兴趣对用户的兴趣的影响,记为
Figure BDA0002857711760000122
如公式(24)所示:
Figure BDA0002857711760000123
其中,
Figure BDA0002857711760000124
Figure BDA0002857711760000125
是神经网络的权重参数。
步骤N:将步骤F得到的用户的最终兴趣hu与步骤M得到的朋友对用户的影响
Figure BDA0002857711760000126
进行拼接,然后再经过一个线性层,得到用户的向量表示,记为u,如公式(25)所示:
Figure BDA0002857711760000127
其中,
Figure BDA0002857711760000128
是线性层的权重矩阵。
步骤O:将所有项目的潜在向量组成项目的潜在向量矩阵D与步骤N得到的用户的向量表示u相乘,再经过一个softmax函数,得到所有项目的预测概率分布,记为
Figure BDA0002857711760000129
如公式(26)所示:
Figure BDA00028577117600001210
其中,DT表示将项目的潜在向量矩阵D进行转置;
Figure BDA00028577117600001211
为项目vi成为用户在会话s中要交互的下一项的概率。取概率值最大的前20个项目作为当前会话的候选推荐项目,即K=20。
步骤P:使用真实的概率分布y与预测概率分布
Figure BDA00028577117600001212
之间的交叉熵作为损失函数,如公式(27)所示:
Figure BDA00028577117600001213
从均值为0、标准差为0.1的高斯分布中初始化所有参数,然后利用Adam优化器来最小化公式(27)定义的损失函数,其中,初始学习率设置为0.002,学习率衰减率设置为0.98,学习率衰减步长设置为400。此外,为防止过拟合,加入L2正则化,正则化系数设置为10-5
根据以上步骤的操作过程,即可实现会话推荐,为每个用户会话预测其可能的下一个项目。
经过上述步骤的操作,采用本发明提出的方法得到的推荐结果的准确率(Precision)和归一化折损累计增益(Normalized Discounted Cumulative Gain,NDCG)如表1中最后一行所示。
为说明本发明的推荐效果,在同等条件下,以相同的实验数据集分别采用Item-KNN、BPR-MF、TranSIV、EATNN、GRU4Rec、NARM、DCN-SR、DGRec、GRec和SR-IEM方法进行比较,得到的分类结果的Precision和NDCG在表1中的第3行到第12行显示。
通过表1能够得到以下结论:基于双模式注意力机制和社交相似度的会话推荐方法实现了比现有会话推荐方法更高的准确率和平均倒数排名,验证了本发明的有效性。
表1:11种会话推荐方式效果比较
Figure BDA0002857711760000131

Claims (4)

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,然后将所有项目得到的结果进行求和,求和结果即为用户的基于相互依赖的用户短期兴趣;
步骤6:将步骤4得到的用户长期兴趣和步骤5得到的用户短期兴趣进行拼接,然后通过一个前馈神经网络,得到最终的用户兴趣;
步骤7:计算用户与其朋友之间的项目层级相似度,根据项目层级相似度选出N个的朋友;其中,N为超参数,在具体实施中,根据参数实验确定最佳值;
步骤8:计算用户与朋友之间的兴趣方面层级相似度,并计算朋友的兴趣对用户的兴趣的影响;
步骤9:将步骤6得到的用户的最终兴趣与步骤8得到的朋友对用户的影响进行拼接,然后,经过一个线性层,得到用户的向量表示;
步骤10:将步骤1得到的所有项目的潜在向量组成项目的潜在向量矩阵,将该矩阵与步骤9得到的用户的向量表示相乘,再经过一个softmax函数,得到所有项目的预测概率分布;使用真实的概率分布与预测概率分布之间的交叉熵作为损失函数;
其中,概率分布的每一项表示对应的项目成为当前用户会话的下一项的概率,取概率值最大的前K个项目作为当前用户会话的推荐项目,K自行设定。
2.如权利要求1所述的一种基于双模式注意力机制和社交相似度的会话推荐方法,其特征在于,步骤1的具体实现方法如下:
步骤1.1:将所有用户的所有会话中的项目构成一个项目集合,将该项目集合嵌入到一个向量空间中,得到每个项目的潜在向量表示;
步骤1.2:利用用户的交互历史得到用户的长期兴趣,将用户的交互历史中的项目按交互时间顺序排序,然后,将排序后的每个项目对应的潜在向量构成一个集合,该集合表示用户的初始长期兴趣;
步骤1.3:当为用户推荐在每个会话中将要交互的下一个项目时,当前会话中的项目反映了用户的短期兴趣;将当前会话中的每个项目的潜在向量依次传入循环神经网络,得到每个项目对应的隐藏状态向量,将这些隐藏状态向量构成一个集合,该集合表示用户的初始短期兴趣。
3.如权利要求1所述的一种基于双模式注意力机制和社交相似度的会话推荐方法,其特征在于,步骤7的具体实现方法如下:
步骤7.1:将用户的历史交互记录与其朋友的历史交互记录做交集,计算交集中项目的数目;
步骤7.2:将用户的历史交互记录与其朋友的历史交互记录做并集,计算并集中项目的数目;
步骤7.3:将步骤7.1得到的交集中项目的数目除以步骤7.2得到的并集中项目的数目,结果为用户与其朋友之间的项目层级相似度;根据项目层级相似度由高到低选择N个的朋友,构成用户的朋友集合,用于后续计算朋友的兴趣对用户的兴趣的影响。
4.如权利要求1所述的一种基于双模式注意力机制和社交相似度的会话推荐方法,其特征在于,步骤8的具体实现方法如下:
步骤8.1:计算用户的兴趣方面偏好向量;
首先,建立一个兴趣方面矩阵,兴趣方面矩阵的每一列表示一个兴趣方面;然后,将步骤6得到的用户兴趣与兴趣方面矩阵相乘,得到用户的兴趣方面偏好向量,该向量中的每个元素表示用户对每个兴趣方面的偏好程度;
步骤8.2:计算朋友的兴趣方面偏好向量;
对于步骤7得到的用户的朋友集合中的每个朋友,都经过步骤1至步骤6,得到每个朋友的兴趣向量表示;然后,将每个朋友的兴趣向量分别乘以兴趣方面矩阵,分别得到每个朋友的兴趣方面偏好向量,每个向量中的每个元素表示每个朋友对每个兴趣方面的偏好程度;
步骤8.3:将用户的兴趣方面偏好向量分别与每个朋友的兴趣方面偏好向量相乘,得到用户与每个朋友之间的兴趣方面层级的相似度;
为不削弱用户本身的兴趣,增加计算用户与其本身之间的兴趣方面层级相似度,即,将用户的兴趣方面偏好向量乘以用户的兴趣方面偏好向量;
步骤8.4:归一化用户与朋友之间的兴趣方面层级相似度;
对于每个朋友,包括用户本身,将步骤8.3得到的用户与该朋友之间的兴趣方面层级相似度除以用户与所有朋友之间的兴趣方面层级相似度的和,得到归一化后的兴趣方面层级相似度;所有朋友包括用户与用户本身;
步骤8.5:将每个朋友,包括用户本身,与用户之间的兴趣方面层级相似度乘以该朋友的兴趣向量,并将所有乘积结果求和,然后,将求和结果经过一个前馈神经网络,得到所有朋友的兴趣对用户的兴趣的影响。
CN202011551034.1A 2020-12-24 2020-12-24 一种基于双模式注意力机制和社交相似度的会话推荐方法 Expired - Fee Related CN112559905B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011551034.1A CN112559905B (zh) 2020-12-24 2020-12-24 一种基于双模式注意力机制和社交相似度的会话推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011551034.1A CN112559905B (zh) 2020-12-24 2020-12-24 一种基于双模式注意力机制和社交相似度的会话推荐方法

Publications (2)

Publication Number Publication Date
CN112559905A true CN112559905A (zh) 2021-03-26
CN112559905B CN112559905B (zh) 2022-09-06

Family

ID=75033508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011551034.1A Expired - Fee Related CN112559905B (zh) 2020-12-24 2020-12-24 一种基于双模式注意力机制和社交相似度的会话推荐方法

Country Status (1)

Country Link
CN (1) CN112559905B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010796A (zh) * 2021-04-15 2021-06-22 重庆大学 用于项目推荐的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160034970A1 (en) * 2009-10-13 2016-02-04 Luma, Llc User-generated quick recommendations in a media recommendation system
CN110796313A (zh) * 2019-11-01 2020-02-14 北京理工大学 一种基于带权图卷积和项目吸引力模型的会话推荐方法
CN111222054A (zh) * 2020-01-03 2020-06-02 中国计量大学 一种基于上下文邻居关系建模的会话社交推荐方法
CN111932336A (zh) * 2020-07-17 2020-11-13 重庆邮电大学 一种基于长短期兴趣偏好的商品列表推荐方法
CN111949865A (zh) * 2020-08-10 2020-11-17 杭州电子科技大学 基于图神经网络与用户长短期偏好的兴趣点推荐方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160034970A1 (en) * 2009-10-13 2016-02-04 Luma, Llc User-generated quick recommendations in a media recommendation system
CN110796313A (zh) * 2019-11-01 2020-02-14 北京理工大学 一种基于带权图卷积和项目吸引力模型的会话推荐方法
CN111222054A (zh) * 2020-01-03 2020-06-02 中国计量大学 一种基于上下文邻居关系建模的会话社交推荐方法
CN111932336A (zh) * 2020-07-17 2020-11-13 重庆邮电大学 一种基于长短期兴趣偏好的商品列表推荐方法
CN111949865A (zh) * 2020-08-10 2020-11-17 杭州电子科技大学 基于图神经网络与用户长短期偏好的兴趣点推荐方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QIAO LIU等: "Stamp: short-term attention/memory priority model for session-based recommendation", 《IN PROCEEDINGS OF THE 24TH ACM SIGKDD INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY & DATA MINING》 *
张岩等: "SeqRec:基于长期偏好和即时兴趣的序列推荐模型", 《浙江大学学报(工学版)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010796A (zh) * 2021-04-15 2021-06-22 重庆大学 用于项目推荐的方法

Also Published As

Publication number Publication date
CN112559905B (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
CN108648049B (zh) 一种基于用户行为区别建模的序列推荐方法
CN111177575B (zh) 一种内容推荐方法、装置、电子设备和存储介质
CN110232480B (zh) 利用变分的正则化流实现的项目推荐方法及模型训练方法
US10783361B2 (en) Predictive analysis of target behaviors utilizing RNN-based user embeddings
CN110503531B (zh) 时序感知的动态社交场景推荐方法
CN108763362B (zh) 基于随机锚点对选择的局部模型加权融合Top-N电影推荐方法
CN111222332B (zh) 一种结合注意力网络和用户情感的商品推荐方法
CN110717098B (zh) 基于元路径的上下文感知用户建模方法、序列推荐方法
CN111797321B (zh) 一种面向不同场景的个性化知识推荐方法及系统
CN110929164A (zh) 一种基于用户动态偏好与注意力机制的兴趣点推荐方法
CN108665311B (zh) 一种基于深度神经网络的电商用户时变特征相似性计算推荐方法
CN110796313B (zh) 一种基于带权图卷积和项目吸引力模型的会话推荐方法
CN111061962A (zh) 一种基于用户评分分析的推荐方法
CN111222039B (zh) 一种基于长短期兴趣组合的会话推荐方法及系统
CN111428127B (zh) 融合主题匹配与双向偏好的个性化事件推荐方法及系统
CN111737578A (zh) 一种推荐方法及系统
CN111523738B (zh) 基于用户在线学习行为模式预测学习效果的系统及预测方法
CN111241425A (zh) 一种基于层次注意力机制的poi推荐方法
CN115203529A (zh) 一种基于多头自注意力机制的深度神经网络推荐模型及方法
Deng et al. Neural variational collaborative filtering with side information for top-K recommendation
CN112559905B (zh) 一种基于双模式注意力机制和社交相似度的会话推荐方法
CN113256024B (zh) 一种融合群体行为的用户行为预测方法
CN115659277A (zh) 一种基于多行为特征融合的电商会话推荐方法、系统、装置及介质
CN114117233A (zh) 一种基于用户隐式反馈的会话新闻推荐方法及推荐系统
Sridhar et al. Extending Deep Neural Categorisation Models for Recommendations by Applying Gradient Based Learning

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220906