CN112559905A - 一种基于双模式注意力机制和社交相似度的会话推荐方法 - Google Patents
一种基于双模式注意力机制和社交相似度的会话推荐方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000007246 mechanism Effects 0.000 title claims abstract description 25
- 230000007774 longterm Effects 0.000 claims abstract description 66
- 230000003993 interaction Effects 0.000 claims abstract description 25
- 239000013598 vector Substances 0.000 claims description 112
- 238000013528 artificial neural network Methods 0.000 claims description 30
- 239000011159 matrix material Substances 0.000 claims description 22
- 230000000306 recurrent effect Effects 0.000 claims description 8
- 238000002474 experimental method Methods 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims 1
- 230000004931 aggregating effect Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 9
- 239000000126 substance Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000008846 dynamic interplay Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/9536—Search customisation based on social or collaborative filtering
-
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- 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
本发明公开了一种基于双模式注意力机制和社交相似度的会话推荐方法,属于计算机网络交互技术领域。本方法通过设计一种双模式注意力机制来捕捉用户的长期兴趣和短期兴趣之间的依赖性。其中,第一种模式为自注意力模式,用于捕捉长期兴趣和短期兴趣自身的内部依赖性。第二种模式为互注意力模式,用于捕捉长期兴趣和短期兴趣之间的相互依赖性。通过将用户的长期兴趣和短期兴趣结合,以获得用户最终的个人兴趣。最后,聚合用户的个人兴趣和朋友对用户兴趣的影响,预测用户在会话中将要交互的下一个项目,从而实现会话推荐。本方法充分考虑了朋友对用户兴趣偏好的影响,提高了对用户在会话中要交互的下一个项目的预测的全面性,同时提高了预测准确性。
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为用户的通用表示,省略下标),该用户的会话集合表示为集合中的会话按会话时间T′排序,其中表示会话时间为t′的会话;对于用户u的每条会话su(用户u的会话的通用表示,省略下标),该会话表示为其中,表示用户u在时间t交互的项目;
步骤C:计算用户的初始长期兴趣和初始短期兴趣;
其中,it表示在t时刻LSTM中的输入门向量,ft表示在t时刻LSTM中的遗忘门向量,ot表示在t时刻LSTM中的输出门向量,表示在t时刻LSTM中新的记忆细胞向量,ct表示在t时刻LSTM最终的细胞向量,ct-1表示t-1时刻LSTM的细胞向量,表示在t时刻LSTM的输出,表示在t-1时刻LSTM的输出;为循环神经网络的权重矩阵,为循环神经网络的偏移向量,σ表示sigmoid函数,⊙表示元素对应相乘。
步骤E:在步骤D的基础上,利用互注意力模式机制计算长期兴趣与短期兴趣之间的相互依赖关系,得到用户的基于相互依赖的长期兴趣和短期兴趣;
步骤G:计算用户与其朋友之间的项目层级相似度,根据项目层级相似度选出N个朋友。用户u的社交网络记为Gu=(Uu,Eu),Uu表示用户u和用户u的朋友构成的集合,Uu∈U;Eu表示用户u和u的朋友之间的社交关联构成的集合,Eu∈E。对于在集合Uu中的朋友f,将朋友f的交互历史表示为集合,记为Vf,利用用户u的交互历史Vu和朋友f的交互历史Vf计算用户u和朋友f之间的项目层级相似度如公式(18)所示:
其中,|·|表示计算集合中的项目数目。计算用户u与在集合Uu中的每个朋友之间项目层级相似度。然后将得到的所有项目层级相似度由高到低排序,选择与用户的项目层级相似度最大的N个朋友构成用户的朋友集合,在此实施例中取N=5,将朋友集合记为Fu。
步骤H:计算用户的兴趣方面偏好向量。假设一共有k个兴趣方面,建立一个兴趣方面矩阵,记为A,兴趣方面矩阵A的每一列表示一个兴趣方面。然后将用户最终的兴趣表示hu与兴趣方面矩阵A相乘,得到用户的兴趣方面偏好向量,记为au, 表示用户u对兴趣方面i的偏好程度,如公式(19)所示:
au=AThu (19)
其中,AT表示将兴趣方面矩阵A进行转置。
步骤I:计算朋友的兴趣方面偏好向量。对于步骤G得到的用户的朋友集合Fu中的每个朋友f,都经过步骤A至步骤F,得到每个朋友的兴趣向量表示,记为hf。然后将每个朋友的兴趣向量hf分别乘以兴趣方面矩阵A,分别得到每个朋友的兴趣方面偏好向量,记为af, 表示朋友f对兴趣方面i的偏好程度,如公式(20)所示:
af=AThf (20)
其中,Fu表示由步骤G得到的朋友集合。
步骤L:将每个朋友(包括用户本身)与用户之间的兴趣方面层级相似度乘以该朋友的兴趣向量,并将所有乘积结果求和,如公式(23)所示:
从均值为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种会话推荐方式效果比较
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:将每个朋友,包括用户本身,与用户之间的兴趣方面层级相似度乘以该朋友的兴趣向量,并将所有乘积结果求和,然后,将求和结果经过一个前馈神经网络,得到所有朋友的兴趣对用户的兴趣的影响。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010796A (zh) * | 2021-04-15 | 2021-06-22 | 重庆大学 | 用于项目推荐的方法 |
Citations (5)
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 | 杭州电子科技大学 | 基于图神经网络与用户长短期偏好的兴趣点推荐方法 |
-
2020
- 2020-12-24 CN CN202011551034.1A patent/CN112559905B/zh not_active Expired - Fee Related
Patent Citations (5)
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)
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)
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 |