1.本发明涉及深度学习及推荐系统技术领域,具体涉及一种促进购买行为的会话推荐方法、促进购买行为的会话推荐系统、计算机设备及计算机可读存储介质。
背景技术:2.在信息爆炸时代,网络平台所拥有的数据信息是非常巨大的,对于用户而言,需要在庞大的数据库中查找到自己需要的信息是非常困难的,对于平台而言,为用户提供他们所需要的信息,可以达到留存用户、吸引用户、从而提升平台效益的效果。而推荐系统正是起到这样的桥梁作用,即根据用户的个人需求从海量的数据中给出符合用户偏好的推荐结果。会话指的是用户在一段时间内和网站等平台产生的交互。会话推荐是推荐系统中一个专门的领域,专门在匿名/非登录场景下根据用户短时间内的交互行为来预测用户意图,给出符合需求的推荐结果,由于用户行为的不确定性和信息的有限性,这个问题很相比于传统的推荐场景更具有挑战性。但是通过引入深度学习技术,对大量的用户行为进行分析和建模,可以在用户信息有限的情况下,仅仅根据用户的若干次交互给出更加符合用户和平台需求的推荐结果。
3.目前的现有技术之一,论文“session
‑
based recommendations with recurrent neural networks”所提出的基于循环神经网络的会话推荐模型,将用户行为建模为序列,综合考虑用户行为在整个会话上表现出的偏好,给出推荐结果。该技术包括:(1)对数据进行预处理,得到按时间排序的会话序列;(2)将会话序列输入到rnn模型中,得到序列的向量化表示;(3)对数据集中的所有项的向量表示和当前会话序列的向量表示计算余弦相似度,将相似度高的项推荐给用户。该技术的缺点是:(1)当一个会话中用户的行为数量比较少时,也就是说会话序列很短的情况下,这种方法较难捕获用户的行为表示;(2)物品之前的转移模式在会话推荐中是十分重要的特征,但该技术只对相邻的两个物品的单项转移向量进行建模,而忽略了会话中其他的物品之间的关联程度。
4.目前的现有技术之二,论文“session
‑
based recommendation with graph neural networks”所提出的基于gnn网络的会话推荐方法,将用户的行为建模为图,综合考虑用户的交互行为中不同物品间的转移,给出推荐结果。该技术包括:(1)对数据集中的数据进行预处理,将会话数据建模为图结构的数据;(2)对会话数据输出到gnn模型中进行训练,得到会话表示向量;(3)用得到的会话表示向量和数据库中的物品表示向量进行相似度计算,得到推荐结果。该技术的缺点是:(1)将会话数据建模为图,一定程度上损失了时序信息,这个方法中没有综合考虑对于长序列而言用户的偏好可能发生变化;(2)没有考虑平台噪声的存在,比如各种各样的物品可能会由于广告等原因被链接到同一商品,但是并不代表广告物品和所有物品都具有真实意义上的相关度。
技术实现要素:5.本发明的目的是克服现有方法的不足,提出了一种促进购买行为的会话推荐方
法、系统、设备及存储介质。本发明解决的主要问题,一是如何设计历史会话的表示方式;二是如何根据当前会话从历史的含有购买行为的会话中提取出邻域会话;三是如何根据上述结果得到更合适的推荐结果。
6.为了解决上述问题,本发明提出了一种促进购买行为的会话推荐方法,所述方法包括:
7.从公开的数据集中收集包含物品信息、用户停留时间、用户购买行为在内的用户在电商平台的会话数据集;
8.对所述会话数据集进行预处理,包括:对会话数据进行时间上的排序得到按时间排列的会话序列,去除掉只有一次点击的会话、删除出现频率过低的点击项;
9.将所述预处理后的会话数据集根据是否产生购买行为划分为两个部分,点击数据集和购买数据集;
10.对所述点击数据集和所述购买数据集进行数据增强,方式是对每一个数据进行片段式截取;
11.把所述数据增强后的点击数据集和购买数据集建模为图结构,之后输入到gnn网络中,并且通过一个停留时间的注意力层,得到初步会话向量化表示数据集;
12.将所述初步会话向量化表示数据集中产生了购买行为的会话存储在历史会话向量化表示内存中;
13.对于待推荐的会话,在所述历史会话向量化表示内存中查找相似度最高的若干个邻域会话向量化表示,并且将这些邻域会话向量化表示和初步会话向量化表示数据集通过一个融合层连接到一起,得到最终会话向量化表示;
14.用所述最终会话向量化表示与所述会话数据集中的所有物品计算余弦相似度,将相似度最高的物品作为推荐结果。
15.优选地,所述会话数据集,其会话数据中的每一项还包含了物品的序号item_id和物品被点击的时间戳time_stamp。
16.优选地,所述对会话数据进行时间上的排序得到按时间排列的会话序列,具体为:
17.从会话数据集中获取共n个会话数据,用s表示会话,v表示被点击的物品项,将会话中的所有物品项v按所述物品被点击的时间戳time_stamp进行排序,则一个会话序列表示为s=<v1,v2,v3…
v
t
>,其中v的下标表示点击的先后顺序,t表示当前时间;
18.通过所述每一个物品被点击的时间戳,计算相邻相似点击的所述time_stamp之差,得到会话的停留时间sdwell=<t1,t2,t3…
0>,由于最后一项点击的停留时间未知因此将其设置为0,sdwell中的各项与s中的各项一一对应。
19.优选地,所述将所述预处理后的会话数据集根据是否产生购买行为划分为两个部分,点击数据集和购买数据集,具体为:
20.在所述预处理后的会话数据集中,将存在购买行为的会话数据集从点击数据集中筛选出来,得到购买数据集buysession和不存在购买行为的点击数据集clicksession;
21.其中,购买数据集buysession由两个部分组成,一个是会话序列集s={s1,s2,...s
n
},另一个是停留时间集sdwell={sdwell1,sdwell2,...sdwell
n
},两个部分的数据一一对应。
22.优选地,所述把所述数据增强后的点击数据集和购买数据集建模为图结构,之后
输入到gnn网络中,并且通过一个停留时间的注意力层,得到初步会话向量化表示数据集,具体为:
23.把所述数据增强后的点击数据集和购买数据集建模为图结构,输入到gnn模型中,经过训练后得到会话图中每一个图节点的向量化表示;
24.所述会话图中每一个图节点的向量化表示,代表了一个物品在综合了相邻物品特征后的向量表示x={x1,x2,...,x
n
};
25.将所述会话图中每一个图节点的向量化表示通过停留时间注意力层,按照停留时间的相对大小为权重结合起来得到每一个会话的向量化表示,其中最后一次点击的向量化表示的权值设置为1,对于会话s=<v1,v2,v3…
v
k
‑1,v
k
>,停留时间sdwell=<t1,t2,t3…
tk
‑1,0>,其中k为会话s所包含的点击次数,其初步会话向量化表示为:
[0026][0027]
优选地,所述将所述初步会话向量化表示数据集中产生了购买行为的会话存储在历史会话向量化表示内存中,具体为:
[0028]
将所述初步会话向量化表示数据集中产生了购买行为的会话向量化表示存储起来,该集合记为m,用作后续的邻域信息查找,合记为m,用作后续的邻域信息查找,其中p代表购买会话数据集中的会话个数,表示第i会话在进行了上述数据增强后长度为j的会话向量化表示。
[0029]
优选地,所述对于待推荐的会话,在所述历史会话向量化表示内存中查找相似度最高的若干个邻域会话向量化表示,并且将这些邻域会话向量化表示和初步会话向量化表示数据集通过一个融合层连接到一起,得到最终会话向量化表示,具体为:
[0030]
对于每一个待推荐的当前会话h
current
,在所述集合m的购买会话中查找相似度最高的y个会话m
neighbor
={m1,m2,...m
y
},将他们的向量化表示融合起来,得到邻域会话向量化表示:
[0031][0032]
其中权值w
r
由相似度决定,w
r
=softmax(sim(h
current
,m
r
),其中sim代表两个向量的余弦相似度计算:
[0033][0034]
将当前会话向量化表示和所述邻域会话向量化表示连接起来得到最终会话向量化表示z:
[0035]
z=αh
current
+(1
‑
α)m
neighbor
,
[0036]
其中参数α=σ(w1m
current
+w2m
neighbor
),σ代表sigmoid函数,w1,w2是可以训练的模型参数。
[0037]
优选地,用所述最终会话向量化表示与所述会话数据集中的所有物品计算余弦相似度,将相似度最高的物品作为推荐结果,具体为:
[0038]
得到所述最终会话向量化表示后,计算所述最终会话向量化表示和所述物品向量化表示x的相似度得分value作为推荐依据,相似度得分value计算如下:
[0039]
value=softmax(z
t
x),其中t表示向量转秩;
[0040]
得分最高的k个物品形成最终的推荐物品列表。
[0041]
相应地,本发明还提供了一种促进购买行为的会话推荐系统,包括:
[0042]
数据预处理单元,用于从公开的数据集中收集用户在电商平台的会话数据集,并对会话数据集进行预处理,包括:对会话数据进行时间上的排序得到按时间排列的会话序列,去除掉只有一次点击的会话、删除出现频率过低的点击项,之后将预处理后的会话数据集根据是否产生购买行为划分为点击数据集和购买数据集并进行数据增强;
[0043]
历史会话建立单元,用于把所述数据增强后的点击数据集和购买数据集建模为图结构,之后输入到gnn网络中,并且通过一个停留时间的注意力层,得到初步会话向量化表示数据集,之后将其中产生了购买行为的会话存储在历史会话向量化表示内存中;
[0044]
会话购买推荐单元,用于在所述历史会话向量化表示内存中查找相似度最高的若干个邻域会话向量化表示,并且将这些邻域会话向量化表示和初步会话向量化表示数据集通过一个融合层连接到一起,得到最终会话向量化表示,之后与所述会话数据集中的所有物品计算余弦相似度,将相似度最高的物品作为推荐结果。
[0045]
相应地,本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行上述促进购买行为的会话推荐方法的步骤。
[0046]
相应地,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述促进购买行为的会话推荐方法的步骤。
[0047]
实施本发明,具有如下有益效果:
[0048]
本发明通过对存在购买行为的历史会话进行表示和存储,利用历史购买会话作为协同信息,可以有效建模用户的购买行为模式,并且在给当前用户进行推荐时,考虑历史会话中和当前用户存在相同偏好的用户行为,给出推荐结果,使得新的推荐算法可以更有效地预测用户的真实需求,从而给出更加准确的推荐结果。
附图说明
[0049]
图1是本发明实施例的促进购买行为的会话推荐方法的总体流程图;
[0050]
图2是本发明实施例的促进购买行为的会话推荐系统的结构图。
具体实施方式
[0051]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052]
图1是本发明实施例的基于监控视频的船舶识别方法的总体流程图,如图1所示,该方法包括:
[0053]
s1,从公开的数据集中收集包含物品信息、用户停留时间、用户购买行为在内的用户在电商平台的会话数据集;
[0054]
s2,对所述会话数据集进行预处理,包括:对会话数据进行时间上的排序得到按时间排列的会话序列,去除掉只有一次点击的会话、删除出现频率过低的点击项;
[0055]
s3,将所述预处理后的会话数据集根据是否产生购买行为划分为两个部分,点击数据集和购买数据集;
[0056]
s4,对所述点击数据集和所述购买数据集进行数据增强,方式是对每一个数据进行片段式截取;
[0057]
s5,把所述数据增强后的点击数据集和购买数据集建模为图结构,之后输入到gnn网络中,并且通过一个停留时间的注意力层,得到初步会话向量化表示数据集;
[0058]
s6,将所述初步会话向量化表示数据集中产生了购买行为的会话存储在历史会话向量化表示内存中;
[0059]
s7,对于待推荐的会话,在所述历史会话向量化表示内存中查找相似度最高的若干个邻域会话向量化表示,并且将这些邻域会话向量化表示和初步会话向量化表示数据集通过一个融合层连接到一起,得到最终会话向量化表示;
[0060]
s8,用所述最终会话向量化表示与所述会话数据集中的所有物品计算余弦相似度,将相似度最高的物品作为推荐结果。
[0061]
步骤s1,具体如下:
[0062]
从公开数据平台上得到包含物品类别信息、用户停留时间、用户购买行为的会话数据集,会话数据中的每一项还包含了物品的序号item_id和物品被点击的时间戳time_stamp。
[0063]
步骤s2,具体如下:
[0064]
s2
‑
1,从会话数据集中获取共n个会话数据,用s表示会话,v表示被点击的物品项,将会话中的所有物品项v按所述物品被点击的时间戳time_stamp进行排序,则一个会话序列表示为s=<v1,v2,v3…
vt>,其中v的下标表示点击的先后顺序,t表示当前时间;
[0065]
s2
‑
2,通过所述每一个物品被点击的时间戳,计算相邻相似点击的所述time_stamp之差,得到会话的停留时间sdwell=<t1,t2,t3…
0>,由于最后一项点击的停留时间未知因此将其设置为0,sdwell中的各项与s中的各项一一对应;
[0066]
s2
‑
3,对s2
‑
1预处理后得到的会话进行进一步预处理,本实施例中,去除掉整个数据库中出现次数少于5次的项,然后去除掉会话长度少于2的数据。
[0067]
步骤s3,具体如下:
[0068]
在所述预处理后的会话数据集中,将存在购买行为的会话数据集从点击数据集中筛选出来,得到购买数据集buysession和不存在购买行为的点击数据集clicksession;
[0069]
其中,购买数据集buysession由两个部分组成,一个是会话序列集s={s1,s2,...s
n
},另一个是停留时间集sdwell={sdwell1,sdwell2,...sdwell
n
},两个部分的数据一一对应。
[0070]
步骤s4,具体如下:
[0071]
对s3得到的两个数据集进行相同方式的数据增强,采用的方式是截取序列前缀,比如对于会话s1=<v1,v2,v3,v4,v5>,经数据增强后得到4个会话序列即<v1,v2,>、<v1,v2,v3>、<v1,v2,v3,v4>,<v1,v2,v3,v4,v5>,4个停留时间序列为<t1,0>,<t1,t2,0>,<t1,t2,t3,0>,<t1,t2,t3,t4,0>。
[0072]
步骤s5,具体如下:
[0073]
s5
‑
1,把s4中数据增强后的点击数据集和购买数据集建模为图结构,输入到gnn模
型中,经过训练后得到会话图中每一个图节点的向量化表示;
[0074]
会话图中每一个图节点的向量化表示,代表了一个物品在综合了相邻物品特征后的向量表示x={x1,x2,...,x
n
};
[0075]
s5
‑
2,将s5
‑
1会话图中每一个图节点的向量化表示通过停留时间注意力层,按照停留时间的相对大小为权重结合起来得到每一个会话的向量化表示,其中最后一次点击的向量化表示的权值设置为1,对于会话s=<v1,v2,v3…
v
k
‑1,v
k
>,停留时间sdwell=<t1,t2,t3…
t
k
‑1,0>,其中k为会话s所包含的点击次数,其初步会话向量化表示为:
[0076][0077]
步骤s6,具体如下:
[0078]
将所述初步会话向量化表示数据集中产生了购买行为的会话向量化表示存储起来,该集合记为m,用作后续的邻域信息查找,合记为m,用作后续的邻域信息查找,其中p代表购买会话数据集中的会话个数,表示第i会话在进行了上述数据增强后长度为j的会话向量化表示。
[0079]
比如对于会话s1=<v1,v2,v3,v4,v5>进行数据增强后的结果是>进行数据增强后的结果是对应到m就是
[0080]
步骤s7,具体如下:
[0081]
s7
‑
1,对于每一个待推荐的当前会话h
current
,在所述集合m的购买会话中查找相似度最高的y个会话m
neighbor
={m1,m2,...m
y
},将他们的向量化表示融合起来,得到邻域会话向量化表示:
[0082][0083]
其中权值w
r
由相似度决定,w
r
=softmax(sim(h
current
,m
r
),其中sim代表两个向量的余弦相似度计算:
[0084][0085]
s7
‑
2,将当前会话向量化表示和所述邻域会话向量化表示连接起来得到最终会话向量化表示z:
[0086]
z=αh
current
+(1
‑
α)m
neighbor
,
[0087]
其中参数α=σ(w1m
current
+w2m
neighbor
),σ代表sigmoid函数,w1,w2是可以训练的模型参数。
[0088]
步骤s8,具体如下:
[0089]
得到所述最终会话向量化表示后,计算所述最终会话向量化表示和所述物品向量化表示x的相似度得分value作为推荐依据,相似度得分value计算如下:
[0090]
value=softmax(z
t
x),其中t表示向量转秩;
[0091]
得分最高的k个物品形成最终的推荐物品列表。
[0092]
相应地,本发明还提供了一种促进购买行为的会话推荐系统,如图2所示,包括:
[0093]
数据预处理单元1,用于从公开的数据集中收集用户在电商平台的会话数据集,并
对会话数据集进行预处理,包括:对会话数据进行时间上的排序得到按时间排列的会话序列,去除掉只有一次点击的会话、删除出现频率过低的点击项,之后将预处理后的会话数据集根据是否产生购买行为划分为点击数据集和购买数据集并进行数据增强;
[0094]
历史会话建立单元2,用于把所述数据增强后的点击数据集和购买数据集建模为图结构,之后输入到gnn网络中,并且通过一个停留时间的注意力层,得到初步会话向量化表示数据集,之后将其中产生了购买行为的会话存储在历史会话向量化表示内存中;
[0095]
会话购买推荐单元3,用于在所述历史会话向量化表示内存中查找相似度最高的若干个邻域会话向量化表示,并且将这些邻域会话向量化表示和初步会话向量化表示数据集通过一个融合层连接到一起,得到最终会话向量化表示,之后与所述会话数据集中的所有物品计算余弦相似度,将相似度最高的物品作为推荐结果。
[0096]
因此,本发明通过对存在购买行为的历史会话进行表示和存储,利用历史购买会话作为协同信息,可以有效建模用户的购买行为模式,并且在给当前用户进行推荐时,考虑历史会话中和当前用户存在相同偏好的用户行为,给出推荐结果,使得新的推荐算法可以更有效地预测用户的真实需求,从而给出更加准确的推荐结果。
[0097]
相应地,本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述促进购买行为的会话推荐方法的步骤。同时,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述促进购买行为的会话推荐方法的步骤。
[0098]
以上对本发明实施例所提供的促进购买行为的会话推荐方法、系统、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。