一种基于用户个性化建模的会话推荐方法、装置及介质

文档序号:31053971发布日期:2022-08-06 10:18阅读:105来源:国知局
一种基于用户个性化建模的会话推荐方法、装置及介质

1.本发明涉及人工智能、深度学习及推荐系统技术领域,尤其涉及一种基于用户个性化建模的会话推荐方法、装置及介质。


背景技术:

2.随着互联网上信息量的快速增长,对于广大用户来说,从庞大的信息海洋中查找到自己需要的信息是非常困难的;对于提供服务的网络平台来说,最终目的是提供用户感兴趣的内容,最大限度地留存用户,从而提升平台收益。而推荐系统成为帮助用户缓解信息过载问题和在许多web应用程序(例如搜索、电子商务和流媒体站点)中选择感兴趣的信息的基础。会话推荐是推荐系统中一个专门的领域,大多数现有的推荐系统都假设不断记录用户个人资料和过去的活动。然而,在许多服务中,用户身份可能是未知的,并且只有正在进行的会话期间的用户行为历史是可用的。因此,在一个会话中对有限行为进行建模并相应地生成推荐非常重要。相反,在这种情况下,依赖于足够的用户-项目交互的传统推荐方法在产生准确的会话推荐结果方面存在问题。但是通过引入深度学习技术,对大量的用户行为进行分析和建模,可以在用户信息匿名的情况下,仅根据用户的若干次交互给出符合用户和平台需求的推荐结果。
3.现有的一种会话推荐技术中,通过将序列化的问题转换为图的问题,对所有的会话序列通过有向图进行建模,然后通过图神经网络来学习每个商品的隐向量表示,进而通过一个注意力网络架构模型来捕捉用户的短期兴趣,以达到捕获长期与短期兴趣共存的向量表示。该技术特点包括:(1)对会话数据进行预处理,将会话数据建模为图结构的数据;(2)利用gnn模型对会话数据进行建模,得到会话向量表示;(3)使用最后的会话表示向量和商品的向量进行相似度计算,得到推荐结果。该技术的缺点是:(1)由于将会话数据建成图,在一定程度上损失了序列的时序信息;(2)直接把序列连成图结构表示,对序列中高阶交互信息的建模过于简单。
4.现有的另一种会话推荐技术中,通过循环神经网络网络对会话数据进行时序性建模,再利用注意力机制对序列中信息进行建模,得到会话的向量表示。该技术特点包括:(1)使用循环神经网络,对商品序列进行时序性建模,可以得到更完整的会话向量表示。(2)着重考虑了序列中最后一个商品对于用户意图的重要性。该技术的缺点是:(1)没有考虑用户意图的高阶性;(2)对于用户意图的提取过于简单,并没有考虑用户意图的多样性。


技术实现要素:

5.为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种基于用户个性化建模的会话推荐方法、装置及介质。
6.本发明所采用的技术方案是:
7.一种基于用户个性化建模的会话推荐方法,包括以下步骤:
8.获取用户在电商平台的会话数据集,所述会话数据集包括物品信息、用户购买时
间戳以及用户购买行为;
9.对所述会话数据集进行数据增强;
10.将数据增强后的会话数据集建模为序列结构,并输入到rnn网络中,获得初步会话向量化表示数据集;
11.将所述初步会话向量化表示数据集中的会话存储在历史会话向量化表示内存中;
12.使用多意图网络进行用户意图提取,得到表达用户多意图的会话向量化表示h
interest

13.使用transformer网络对会话向量化表示h
interest
进行全局信息建模,得到表示全局信息的会话向量化表示h
global

14.使用convolution网络对会话向量化表示h
interest
进行局部信息建模,得到表示局部信息的会话向量化表示h
local

15.将全局会话向量表示h
global
和局部会话向量表示h
local
通过一个融合层连接到一起,得到最终会话向量化表示;
16.计算所述最终会话向量化表示与所述会话数据集中的所有物品计算余弦相似度,将相似度最高的物品作为推荐结果。
17.进一步地,在获得会话数据集后,还包括对所述会话数据集进行预处理的步骤,包括:
18.根据时间戳对会话数据进行排序,得到按时间排序的会话序列,去除只有一次点击的会话,以及删除出现频率过低的点击项;
19.其中,会话数据的每一项包括了商品的序号item_id和商品被点击的时间戳time_stamp。
20.进一步地,所述根据时间戳对会话数据进行排序,得到按时间排序的会话序列,包括:
21.从会话数据集中获取共n个会话数据,用s表示会话,v表示被点击的商品项,将该会话中的所有商品项v按商品被点击的时间戳time_stamp进行排序,则一个会话序列可以表示为s=《v1,v2,v3…
vc》,其中v的下标c用来区分商品点击的先后顺序。
22.进一步地,所述使用transformer网络对会话向量化表示h
interest
进行全局信息建模,得到表示全局信息的会话向量化表示h
global
,包括:
23.将提取用户意图后的会话向量化表示建模为序列结构,输入到transformer网络中,经过训练后,得到会话序列中每一个商品的向量化表示;所述会话序列中每一个节点的向量化表示,代表一个商品在综合了序列中其他商品特征后的向量表示x=《x1,x2,x3…
xn》;
24.将所述会话序列中所有商品节点的向量化表示,取平均得到每一个会话的向量化表示,对于会话s=《v1,v2,v3…
vn》,其中n为会话s包含的商品个数,其会话的全局向量化表示为h
global

25.进一步地,所述使用convolution网络对会话向量化表示h
interest
进行局部信息建模,得到表示局部信息的会话向量化表示h
local
包括:
26.将提取用户意图后的会话向量化表示建模为序列结构,输入到convolution网络中,经过训练后,得到会话序列中每一个商品的向量化表示;所述会话序列中每一个节点的
向量化表示,代表一个商品在综合了序列中其他商品特征后的向量表示y=《y1,y2,y3…yn
》;
27.将所述会话序列中所有商品节点的向量化表示,取最后一个商品的向量作为会话的向量化表示,对于会话序列s=《v1,v2,v3…
vn》,其中n为会话s包含的商品个数,其会话的局部表示向量化表示h
local

28.进一步地,所述将全局会话向量表示h
global
和局部会话向量表示h
local
通过一个融合层连接到一起,得到最终会话向量化表示,包括:
29.将全局会话向量表示h
global
和局部会话向量表示h
local
中的会话存储在历史会话向量化表示内存中,获得最终会话向量化表示集合,记为m;
30.其中,p表示用户购买会话数据集中的会话个数,t表示会话长度,表示在第i会话在进行了上述数据增强后长度为j的会话向量化表示。
31.进一步地,所述最终会话向量化表示z的表达式如下:
32.z=αh
local
+(1-a)h
global
33.其中,参数α=σ(w1h
local
+w2h
global
),σ代表sigmoid函数,w1,w2是可以训练的模型参数。
34.进一步地,所述余弦相似度的计算公式如下:
35.value=softmax(z
t
x)
36.其中,z为最终会话向量化表示,x为物品向量化表示,t表示向量转置;得分最高的k个物品形成最终的推荐物品列表。
37.本发明所采用的另一技术方案是:
38.一种基于用户个性化建模的会话推荐装置,包括:
39.至少一个处理器;
40.至少一个存储器,用于存储至少一个程序;
41.当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
42.本发明所采用的另一技术方案是:
43.一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。
44.本发明的有益效果是:本发明通过对用户历史购买行为的历史会话进行表示和存储,利用历史购买会话作为协同信息,可以有效捕捉相似用户的消费模式,同时在给当前用户进行推荐时,考虑用户在会话序列中存在多种意图和当前会话序列中行为模式的局部性和全局性,分别使用不同的网络对其进行建模,使得新的推荐算法可以更有效地预测用户的真实需求,从而给出更加准确的推荐结果。
附图说明
45.为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅
仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
46.图1是本发明实施例中一种基于用户个性化建模的会话推荐方法的步骤流程图;
47.图2是本发明实施例中一种基于用户个性化建模的会话推荐方法的总体流程图。
具体实施方式
48.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
49.在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
50.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
51.本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
52.如图1和图2所示,本实施例提供一种会话推荐方法,利用历史购买信息作为协同信息,可以有效建模用户的消费行为,并且在给用户进行推荐时,考虑历史会话中和用户存在相同偏好的用户行为,使得推荐算法可以更有效地预测用户的真实消费意图,从而给出更加准确的推荐结果。该方法具体包括以下步骤:
53.s1、获取用户在电商平台的会话数据集,所述会话数据集包括物品信息、用户购买时间戳以及用户购买行为。
54.具体地,步骤s1具体如下:从公开数据平台上得到包含物品类别信息、用户购买时间、用户购买行为的会话数据集,会话数据中的每一项还包含了商品的序号item_id和商品被点击的时间戳time_stamp。
55.s2、对所述会话数据集进行预处理。步骤包括:对会话数据进行时间戳上的排序得到按时间排序的会话序列,去除只有一次点击的会话、删除出现频率过低的点击项。
56.其中,步骤s2具体包括步骤s21-s22:
57.s21、从会话数据集中获取共n个会话数据,用s表示会话,v表示被购买的商品项,将会话中的所有商品项v按所述商品被购买的时间戳time_stamp进行排序,则一个会话序列表示为s=《v1,v2,v3,

,v
t
》,其中v的下标表示点击的先后顺序,t表示当前时间;
58.s22、对步骤s21中预处理后得到的会话执行更进一步的预处理,本实施例中,去掉整个会话数据库中出现次数少于5次的会话,然后去掉会话长度少于2的会话。
59.s3、将所述经过预处理后的会话数据集根据时间戳划分为训练数据集和测试数据集,分别用作模型训练和测试。
60.作为可选的所述方式,步骤s3具体如下:在所述预处理后的会话数据集中,根据时间戳划分为训练集和测试集,比如对于会话s=《v1,v2,v3,v4,v5》,经过划分,训练集为《v1,v2,v3》,标签为《v2,v3,v4》;测试集为《v1,v2,v3,v4》,标签为《5》。
61.s4、对所述会话数据集进行数据增强,方式是对每一个数据进行片段式截取。
62.作为可选的所述方式,步骤s4具体如下:对步骤s3得到的训练集进行数据增强,目的是扩充数据集,采用的方式是截取序列前缀,比如对于会话s1=《v1,v2,v3,v4,v5》,经数据增强后得到4个会话序列即《v1,v2》、《v1,v2,v3》、《v1,v2,v3,v4》、《v1,v2,v3,v4,v5》。
63.s5、把所述数据增强后的购买数据集建模为序列结构,之后输入到rnn网络中,得到初步会话向量化表示数据集。
64.s6、将所述初步会话向量化表示数据集中的会话存储在历史会话向量化表示内存中。
65.s7、对于待推荐的会话,使用多意图注意力层来提取用户多层次意图,生成h
interest

66.s8、使用convolution网络进行局部信息抽取,得到表示序列局部意图的向量化表示h
local

67.将提取用户意图后的会话数据集建模为序列结构,并输入到convolution网络中,进行局部信息提取,获得会话向量化表示数据集y,具体包括:
68.将提取用户意图后的会话向量化表示建模为序列结构,输入到convolution网络中,经过训练后,得到会话序列中每一个商品的向量化表示;所述会话序列中每一个节点的向量化表示,代表一个商品在综合了序列中其他商品特征后的向量表示y=《y1,y2,y3…yn
》;
69.将所述会话序列中所有商品节点的向量化表示,取最后一个商品的向量作为会话的向量化表示,对于会话序列s=《v1,v2,v3…
vn》,其中n为会话s包含的商品个数,其会话的局部表示向量化表示h
local

70.s9、使用transformer网络进行全局信息抽取,得到表示序列全局意图的向量化表示h
global

71.将提取用户意图后的会话数据集建模为序列结构,并输入到transformer网络中,进行全局信息提取,获得会话向量化表示数据集x,具体包括:
72.将提取用户意图后的会话向量化表示建模为序列结构,输入到transformer网络中,经过训练后,得到会话序列中每一个商品的向量化表示;所述会话序列中每一个节点的向量化表示,代表一个商品在综合了序列中其他商品特征后的向量表示x=《x1,x2,x3…
xn》;
73.将所述会话序列中所有商品节点的向量化表示,取平均得到每一个会话的向量化表示,对于会话s=《v1,v2,v3…
vn》,其中n为会话s包含的商品个数,其会话的全局向量化表示为h
global

74.s10、将局部会话向量表示h
local
和全局会话向量表示h
global
通过一个融合层连接到一起,得到最终会话向量化表示。
75.将步骤s8和步骤s9中两种会话向量化表示数据集中的会话存储在历史会话向量化表示内存中,包括:
76.将所述初步会话向量化表示数据集中的用户消费行为的会话向量化表示存储起来,该集合记为m,其中p表示用户购买会话数据集中的会话个数,t表示会话长度,表示在第i会话在进行了上述数据增强后长度为j的会话向量化表示。
77.将当前会话向量化表示和所述邻域会话向量化表示连接起来得到最终会话向量化表示z:
78.z=αh
local
+(1-a)h
global
79.其中参数α=σ(w1h
local
+w2h
global
),σ代表sigmoid函数,w1,w2是可以训练的模型参数。
80.s11、用所述最终会话向量化表示与所述会话数据集中的所有物品计算余弦相似度,将相似度最高的物品作为推荐结果。
81.得到所述最终会话向量化表示后,计算所述最终会话向量化表示和所述物品向量化表示x的相似度得分value作为推荐依据,相似度得分value计算如下:
82.value=softmax(z
t
x)
83.其中t表示向量转置;得分最高的k个物品形成最终的推荐物品列表。
84.综上所述,本实施例方法相对于现有技术,具有如下的优点及有益效果:
85.本实施例方法通过对用户历史购买行为的历史会话进行表示和存储,首先考虑用户在购买商品时可能表达的意图,设计了一种多意图提取模块对用户意图进行多层次提取;考虑了商品序列中的局部性特征和全局性特征,分别设计相应的网络进行建模,使得新的推荐算法可以更有效地预测用户的真实需求,从而给出更加准确的推荐结果。
86.本实施例还提供一种基于用户个性化建模的会话推荐装置,包括:
87.至少一个处理器;
88.至少一个存储器,用于存储至少一个程序;
89.当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图1所示方法。
90.本实施例的一种基于用户个性化建模的会话推荐装置,可执行本发明方法实施例所提供的一种基于用户个性化建模的会话推荐方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
91.本技术实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
92.本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种基于用户个性化建模的会话推荐方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
93.在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提
到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
94.此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
95.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
96.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
97.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
98.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场
可编程门阵列(fpga)等。
99.在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
100.尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
101.以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1