一种个性化会话推荐方法和系统

文档序号:27131702发布日期:2021-10-29 21:40阅读:126来源:国知局
一种个性化会话推荐方法和系统

1.本发明属于数据挖掘和推荐技术领域,更具体地,涉及一种个性化会话推荐方法和系统。


背景技术:

2.近年来,随着互联网信息的不断增长,用户在面对大量无关信息时会出现信息过载的问题,因此人们提出了使用个性化推荐系统来解决该问题。而随着算法理论的不断发展,推荐系统已经进入了人们生活的许多方面,从网上购物到资讯浏览等诸多领域,推荐系统都扮演着极其重要的角色。
3.在许多场景下,网站服务器无法得到足够多的用户个人信息,只能以会话记录的形式储存用户的一系列交互操作,针对此类场景实现的推荐系统则被称为基于会话的推荐系统。在一次会话中,当用户和网站进行交互时会留下一系列操作记录,记录中保存并体现了用户的偏好和目的,因此会话推荐的目的就是根据用户在当前会话中的操作记录,分析并提取此次会话的目的,对用户的下一步可能感兴趣的相关物品进行推荐。
4.与其他推荐任务相比,会话推荐任务具有更高的挑战性,因为在会话记录中并未体现用户对每个物品的评价信息,而且也无法获取到用户的详细画像信息,因此可以认为会话推荐是一种基于隐式反馈的推荐问题,这给推荐策略带来了一定挑战。
5.通过循环神经网络(rnn)建立模型是解决序列问题的常用方法,而rnn通常难以对点击序列中的长距离复杂转移模式进行建模。而且以rnn为基础的模型只能建模序列中的单向转移模式,从而导致丢失序列中物品之间的一部分转移信息。
6.长久以来,在对会话推荐进行研究时,通常都会笼统地将所有的会话场景认为是匿名的,因此在进行建模时,很少会考虑当前用户的长久偏好对系统的影响。这样并不能充分的挖掘当前用户的历史会话序列所提供的有效信息,从而不能更好的进行个性化推荐。


技术实现要素:

7.针对相关技术的缺陷,本发明的目的在于提供一种个性化会话推荐方法及系统,旨在解决传统推荐方法不能充分挖掘当前用户的历史会话序列所含有效信息导致推荐效果不好的问题。
8.为实现上述目的,本发明的第一方面提供了一种个性化会话推荐方法,包括以下步骤:
9.s1.获取当前会话和历史会话数据,利用历史会话数据构建历史会话集合;
10.s2.将当前会话转换成图结构表示,并输入到图神经网络计算得到当前会话中每一个物品的特征表示,利用注意力机制对每个物品的特征表示进行综合得到当前会话目的的特征表示;从当前会话所有物品的特征表示中选择当前会话最后一个物品的特征作为当前用户的实时目的特征表示;
11.s3.将当前用户的历史会话集合转换成图结构表示,并输入到图神经网络计算得
到历史会话集合中每一个物品的特征表示,利用注意力机制对每个物品的特征表示进行综合得到当前用户的历史偏好特征表示;
12.s4.将当前会话目的的特征表示、当前用户的历史偏好特征表示以及当前用户的实时目的特征表示进行融合,得到最终的总特征表示,并根据所述总特征表示生成用户感兴趣的物品列表,从而进行推荐。
13.进一步地,所述步骤s2和步骤s3中的图神经网络均为门控图神经网络。
14.进一步地,所述步骤s2具体包括:
15.将当前会话转换成图结构表示:根据每个物品之间的先后顺序得到图结构g
s
,所述图结构g
s
中每一条边表示在原始会话序列中有一个相应的相邻先后关系;
16.通过图结构g
s
得到其中每一个节点的出度和入度,然后对出度和入度分别进行归一化处理,得到第一邻接矩阵;
17.将所述第一邻接矩阵输入到图神经网络,计算得到当前会话中每一个物品的特征表示,利用注意力机制综合每个物品的特征得到当前会话目的的特征表示。
18.进一步地,所述步骤s3具体包括:
19.将当前用户的历史会话集合转换成图结构表示,根据每个历史会话中每个物品之间的先后顺序得到一个总的图结构;
20.通过所述总的图结构得到每一个历史访问物品节点的出度和入度,然后对出度和入度分别进行归一化处理,得到第二邻接矩阵;
21.将所述第二邻接矩阵输入到图神经网络计算得到历史会话集合中每一个物品的特征表示,利用注意力机制综合每个物品的特征得到当前用户的历史偏好特征表示。
22.本发明的另一方面还提供了一种个性化会话推荐系统,包括:
23.获取模块,获取当前会话和历史会话数据,利用历史会话数据构建历史会话集合;
24.会话编码器,将当前会话转换成图结构表示,并输入到图神经网络计算得到当前会话中每一个物品的特征表示,利用注意力机制对每个物品的特征表示进行综合得到当前会话目的的特征表示;从当前会话所有物品的特征表示中选择当前会话最后一个物品的特征作为当前用户的实时目的特征表示;
25.用户编码器,将当前用户的历史会话集合转换成图结构表示,并输入到图神经网络计算得到历史会话集合中每一个物品的特征表示,利用注意力机制对每个物品的特征表示进行综合得到当前用户的历史偏好特征表示;
26.融合解码器,将当前会话目的的特征表示、当前用户的历史偏好特征表示以及当前用户的实时目的特征表示进行融合,得到最终的总特征表示,并根据所述总特征表示生成用户感兴趣的物品列表,从而进行推荐。
27.进一步地,所述会话编码器和用户编码器中的图神经网络均为门控图神经网络。
28.进一步地,所述会话编码器中,将当前会话转换成图结构表示:根据每个物品之间的先后顺序得到图结构g
s
,所述图结构g
s
中每一条边表示在原始会话序列中有一个相应的相邻先后关系;
29.通过图结构g
s
得到其中每一个节点的出度和入度,然后对出度和入度分别进行归一化处理,得到第一邻接矩阵;
30.将所述第一邻接矩阵输入到图神经网络,计算得到当前会话中每一个物品的特征
表示,利用注意力机制综合每个物品的特征得到当前会话目的的特征表示。
31.进一步地,所述用户编码器中,将当前用户的历史会话集合转换成图结构表示,根据每个历史会话中每个物品之间的先后顺序得到一个总的图结构;
32.通过所述总的图结构得到每一个历史访问物品节点的出度和入度,然后对出度和入度分别进行归一化处理,得到第二邻接矩阵;
33.将所述第二邻接矩阵输入到图神经网络计算得到历史会话集合中每一个物品的特征表示,利用注意力机制综合每个物品的特征得到当前用户的历史偏好特征表示。
34.通过本发明所构思的以上技术方案,与现有技术相比,能够取得以下有益效果:
35.(1)本发明使用会话编码器和用户编码器同时考虑了用户当前的会话目的和历史的个人偏好,由此设计的个性化会话推荐方法能够融合用户的长期偏好、短期爱好、实时目的等多重特征,从而更有效的分析用户的喜好信息,提高了推荐效果。
36.(2)本发明利用门控图神经网络替代传统的循环神经网络对会话进行建模,能够更加充分地挖掘会话序列中隐藏的用户喜好信息。
附图说明
37.图1是本发明实施例提供的一种基于双编码器的个性化会话推荐方法的流程示意图;
38.图2为本发明实施例提供的当前会话序列转成图结构示意图;图2中的(a)为当前会话序列,图2中的(b)为图结构,图2中的(c)为邻接矩阵。
39.图3为本发明实施例提供的历史会话序列转成图结构示意图;图3中的(a)为历史会话序列,图3中的(b)为图结构,图3中的(c)为邻接矩阵。
40.图4为本发明实施例提供的会话编码器结构示意图。
41.图5为本发明实施例提供的用户编码器结构示意图。
42.图6为本发明实施例提供的个性化会话推荐系统的结构示意图。
具体实施方式
43.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
44.本发明实施例提供了一种个性化会话推荐模型方法及系统,使用图结构表示会话序列,更加完善的保存会话中所呈现的信息,并同时对当前会话和当前用户的历史会话进行建模,提高推荐效果。尤其是利用门控图神经网络(gated graph neural network,ggnn)替代传统的循环神经网络对会话进行建模,能够更加充分地挖掘会话序列中隐藏的用户喜好信息。
45.图神经网络采用门控图神经网络(gated graph neural network,ggnn),在ggnn中,需要通过多次迭代学习每个节点的特征表示,其中每一轮的信息传递具体过程如公式(1)至(6)所示。
46.[0047][0048][0049][0050][0051][0052]
式(1)中x
v
表示节点v的初始向量表示,则为其对应的隐向量(维度为d),当x
v
的维度小于d时,则需对其进行补0得到式(2)中,a
v:
表示该图结构的邻接矩阵a
in
和a
out
中对应节点v的一列,经过式(2)的计算后,可以得到每个节点的初始输入表示式(3)至(6)表示每一时间步中信息传递的计算过程,其中和分别表示更新门和重置门,则表示经过本轮迭代后节点v的向量表示。经过多轮迭代计算后,即可得到所有节点最终的向量表示h
t

[0053]
如图1所示为本发明实施例提供的一种个性化会话推荐方法的流程示意图,包括以下步骤:
[0054]
(s1)收集数据及数据预处理:
[0055]
通过网站后台服务器收集到所有用户的所有访问记录,对每个用户的访问数据以一定时间间隔划分成多个会话,从而得到当前用户的当前会话记录s
c
和历史会话记录s
h

[0056]
(s2)通过会话编码器得到当前会话目的特征:
[0057]
首先将当前会话sc按照图2所示的流程转换成图结构表示。对于图2中的(a)所示的会话序列,首先根据每个物品之间的先后顺序得到其图结构g
s
,如图2中的(b)所示,g
s
中每一条边表示在原始会话序列中有一个相应的相邻先后关系。通过g
s
可以得到其中每一个节点的出度和入度,然后按照公式(7)和(8)对出度和入度分别进行归一化处理,最终得到图2中的(c)所示的邻接矩阵a
out
和a
in

[0058][0059][0060]
式中表示当前会话图中所有节点,其中m1表示图中节点的数量,和分别表示a
out
和a
in
中第i个节点到第j个节点的权重,count(v
i
,v
j
)表示对第i个节点到第j个节点的边进行计数。
[0061]
得到当前会话的邻接矩阵后,即可通过ggnn对其进行建模得到会话编码器,其结构如图4所示。在ggnn中,每个节点的信息更新过程如式(9)至(15)所示。
[0062][0063]
[0064][0065][0066][0067][0068][0069]
式中代表当前会话s
c
中第i个节点在时间步t的向量表示,维度为d,a
out,i:t
和a
out,i:t
分别表示邻接矩阵中节点i所对应的一列,h
out
,h
in
,w
z
,w
r
,w
o
,u
z
,u
r
,u
o
代表模型训练过程中需要更新的权重矩阵,和分别表示更新单元和重置单元,b表示偏置项,表示对和进行拼接,σ表示非线性sigmoid函数,

表示按元素乘法。对于每个会话图,图中所有节点都同时更新,循环更新t轮后即可得到当前会话中每个物品的向量表示n1表示当前会话的长度。
[0070]
在对用户进行物品推荐时,用户当前正在浏览的物品通常会对其下一个点击物品具有最大影响,因此可以将会话序列中的最后一个物品特征作为当前会话的实时局部特征,然后通过公式(16)所示的注意力机制计算当前会话的全局特征h
g

[0071][0072]
式中权重因子α
i
表示会话序列中每一个物品对当前会话全局特征的决定程度,其计算过程如公式(17)所示。
[0073][0074]
w1、w2代表模型训练过程中需要更新的权重矩阵,c为偏置项。得到当前会话的局部特征和全局特征后,即可通过将二者拼接得到当前会话的最终向量表示h
s
,其计算如公式(18)所示,w3代表模型训练过程中需要更新的权重矩阵。
[0075][0076]
(s3)通过用户编码器得到用户个人偏好特征:
[0077]
将输入s
h
按照图3所示的过程聚合成一个图结构,并得到历史会话图的邻接矩阵aout和ain,于是就可以利用ggnn对其进行建模,得到图5所示的用户编码器。
[0078]
每个节点的信息更新过程如式(19)至(25)所示。
[0079][0080][0081][0082][0083]
[0084][0085][0086]
式中m2表示所有历史会话合并后物品节点的总数,代表历史会话s
h
中第i个节点在时间步t的向量表示,维度为d,a
out,i:t
和a
out,i:t
分别表示邻接矩阵中节点i所对应的一列,h
out
,h
in
,w
z
,w
r
,w
o
,u
z
,u
r
,u
o
代表模型训练过程中需要更新的权重矩阵,和分别表示更新单元和重置单元。对于每个会话图,图中所有节点都同时更新,循环更新t轮后即可得到当前会话中每个物品的向量表示n2表示所有历史会话合并后的长度。
[0087]
为了得到当前用户的个人偏好特征,可通过公式(26)所示的注意力机制将所有历史会话物品的向量表示进行聚合。
[0088][0089]
式中权重因子α
i
表示合并的会话序列中每一个物品对当前会话目的特征的决定程度,因此其计算过程如公式(27)所示。
[0090]
α
i
=q
t
σ(w1h
s
+w2h
i
+c)
ꢀꢀ
(27)
[0091]
通过上面的计算就可得到当前用户的个人偏好特征表示h
u

[0092]
(s4)融合多重特征进行推荐:
[0093]
在一个会话中,当用户浏览了很多物品后,其目的有可能发生一定转移,而当前正在浏览的物品往往最能反映其实时目的,因此本系统模型除了融合会话编码器的输出h
c
和用户编码器的输出h
u
外,还包含了当前会话最后一个物品的特征表示由此得到模型的总体结构如图6所示,其编码器部分即为上文所述的会话编码器和用户编码器,在解码器部分,按公式(28)所示的方式融合用户的个人偏好、用户的会话目的以及用户的当前实时目的。
[0094][0095]
在获得最终的向量表示h
c
后,即可按公式(29)所示的方式对每个物品的得分进行计算。
[0096][0097]
式中h={h1,h2,...,h
n
}表示所有物品的向量表示。然后再通过公式(30)所示的softmax层即可得到每个物品在下一次点击时出现的概率。
[0098][0099]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1