CN112000873B - 基于会话的推荐系统、方法、设备及存储介质 - Google Patents
基于会话的推荐系统、方法、设备及存储介质 Download PDFInfo
- Publication number
- CN112000873B CN112000873B CN202010567939.1A CN202010567939A CN112000873B CN 112000873 B CN112000873 B CN 112000873B CN 202010567939 A CN202010567939 A CN 202010567939A CN 112000873 B CN112000873 B CN 112000873B
- Authority
- CN
- China
- Prior art keywords
- user
- session
- vector
- long
- preference
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000013598 vector Substances 0.000 claims abstract description 112
- 230000015654 memory Effects 0.000 claims abstract description 70
- 230000007774 longterm Effects 0.000 claims abstract description 68
- 230000008859 change Effects 0.000 claims abstract description 17
- 238000012549 training Methods 0.000 claims abstract description 12
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 24
- 238000004422 calculation algorithm Methods 0.000 description 28
- 238000012545 processing Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000010998 test method 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/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/045—Combinations of 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于会话的推荐系统、方法、设备及存储介质,该系统包括会话层网络、用户长期偏好记忆单元与用户层网络。会话层网络基于GGNN网络模型实现,将目标会话分解为多个子图矩阵,并使用进行模型训练,再将目标会话的信息映射到用户长期偏好记忆单元中;用户长期偏好记忆单元记录用户在目标会话中的长期偏好,并将用户偏好信息反馈至用户层网络中;用户层网络基于GRU的循环网络模型实现,通过状态向量跟踪用户在不同会话中的偏好变化,并将偏好变化信息反馈至会话层网络中。本发明将改进的GGNN双重循环网络模型应用于推荐系统,能够学习用户在多个会话间的演化规律,发现更多物品之间包含的联系,提高推荐系统的推荐效果。
Description
技术领域
本发明涉及涉及数据处理技术领域,并且更具体地,涉及基于会话的推荐系统、方法、设备及存储介质。
背景技术
推荐系统是解决信息过载的一个有效工具,旨在捕获用户的兴趣以提供个性化的推荐。近年来,基于会话的推荐系统的研究和应用在推荐系统研究领域受到越来越多的关注。其中会话指的是在给定时间内发生的用户与站点的交互,利用会话日志进行推荐主要的优势是能够推断新用户或者匿名用户的喜好。
目前已有的基于会话的推荐算法所展开的研究,主要分为两大类别。第一种为基于会话的传统推荐算法,它包含了基于协同过滤的算法和基于马尔科夫决策过程的算法;第二种为基于会话的深度学习算法,它包含了由基于循环神经网络的算法、基于注意力网络的算法和基于图网络的算法。但是目前的基于会话的推荐系统在训练时一般考虑的因素非常有效,并不能更好地提升推荐效果。
因此,目前迫切需要一种更加切实有效的推荐方案,以更好、更有效地提升推荐系统的推荐效果。
发明内容
有鉴于此,本发明提供了基于会话的推荐系统、方法、设备及存储介质,以解决目前的基于会话的推荐系统的推荐效果较差的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种基于会话的推荐系统,所述推荐系统包括:会话层网络、用户长期偏好记忆单元与用户层网络;
所述会话层网络,基于门控图神经网络GGNN网络模型实现,用于将所述目标会话分解为多个子图矩阵,并使用GGNN网络模型进行训练,得到所述目标会话的嵌入向量,将所述嵌入向量映射到所述用户长期偏好记忆单元中,作为所述目标会话的用户偏好向量;
所述用户长期偏好记忆单元,用于基于所述用户偏好向量,记录用户在所述目标会话中的长期偏好,并在所述目标会话结束后,将所述用户长期偏好记忆单元记录的信息转换为隐藏向量,反馈至所述用户层网络中;
所述用户层网络,基于门循环单元GRU的循环网络模型实现,用于根据所述隐藏向量更新所述用户层网络的状态向量,通过所述状态向量跟踪用户在不同会话中的偏好变化,并使用所述状态向量来更新所述隐藏向量,将更新后的隐藏向量反馈至所述会话层网络中,以传入下一会话中。
一种基于会话的推荐方法,采用前述的推荐系统;所述推荐方法包括:
利用所述会话层网络,获取目标会话的嵌入向量,并将所述嵌入向量映射到所述用户长期偏好记忆单元中,作为所述目标会话的用户偏好向量;
利用所述用户长期偏好记忆单元,记录用户在所述目标会话中的长期偏好,并将所述用户长期偏好记忆单元记录的信息转换为隐藏向量,反馈至所述用户层网络中;
利用所述用户层网络,根据所述隐藏向量更新所述用户层网络的状态向量,通过所述状态向量跟踪用户在不同会话中的偏好变化,并使用所述状态向量来更新所述隐藏向量,将更新后的隐藏向量反馈至所述会话层网络中。
一种基于会话的推荐设备,包括存储器与处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于调用所述存储器中存储的所述计算机程序,以执行前述的推荐方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序在被计算机设备执行时,实现前述的推荐方法的步骤。
从上述的技术方案可以看出,与传统的GGNN网络模型相比,本发明的显著优点为:本算法通过改进GGNN算法获得了HGGNN算法,算法由用户层及会话层组成,用户层采用GRU神经网络,会话层采用GGNN神经网络,并结合用户偏好矩阵来保存用户会话间的长期信息。最后结合数据集和改进型GGNN算法和HGRU算法进行对比,整体上预测的准确性都有提高,并且在长序列下预测提高效果更为明显。通过其他用户的浏览序列进行区分,可以有效地挖掘出当前会话的潜在信息,获取物品之间更为深层的联系。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的基于会话的推荐系统的结构图;
图2为本申请实施例提供的会话层网络和用户长期偏好记忆单元的结构图;
图3为本申请实施例提供的基于会话的推荐方法的流程图;
图4为本申请实施例提供的基于会话的推荐设备的硬件结构示意图;
图5为本申请实施例提供的不同算法RECALL@20随会话长度变化的曲线图;
图6为本申请实施例提供的不同算法MRR@20随会话长度变化的曲线图;
图7为本申请实施例提供的用户登录界面;
图8为本申请实施例提供的物品展示首页;
图9为本申请实施例提供的物品展示及推荐页面;
图10为本申请实施例提供的jmeter运行结果的展示图;
图11为本申请实施例提供的不同请求线程数下的QPS的曲线图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
在基于会话的推荐系统中,对于老用户,根据他的当前会话,推荐系统能够调整推荐策略适应用户的兴趣变化进而提升推荐效果,研究表明短期意图对推荐系统准确性的影响要大于用户的长期偏好。
传统的推荐算法主要包括协同过滤算法、基于内容的推荐算法和混合推荐算法。其中协同过滤算法也是目前应用最广泛的推荐算法,但是他仍面临着严重的数据稀疏和冷启动问题。基于内容的推荐算法是根据已经和用户产生过交互的项目来寻找其他与该项目具有类似属性的项目然后进行推荐。
目前,基于会话的推荐系统在训练时一般不会考虑到会话的用户属性,但很多时候在用户登录情况下数据中都会有用户属性,此时用户的信息所包含的价值就没能得到挖掘。通常而言,在用户浏览商品时,用户的浏览序列不仅受用户当时兴趣的影响,同时,也会受用户潜在兴趣的影响。也就是说,用户与用户之间是不一样的,对一个会话记录进行训练时,如果能考虑当前用户以前的浏览序列,并和其他用户的浏览序列进行区分,可以有效地挖掘出当前会话的潜在信息,获取物品之间更为深层的联系。
很多时候,系统是会记录用户的相关信息,在历史会话中不仅包含了匿名会话,也有包含了用户信息的会话。在如何利用用户信息来进行对会话型系统来进行预测的问题中,一种相对简单的方式是将一个用户的所有会话拼接起来,然后使用循环网络进行训练,但是这样在拼接的会话中,会有不相关的物品转换,这样会使得预测效果变差,因此,本发明考虑在推荐系统中通过加入用户层的方式来使用用户信息,以有效地挖掘出当前会话的潜在信息,获取物品之间更为深层的联系,提升推荐系统的推荐效果。
本发明的基于会话的推荐系统,实际上也是一种基于GGNN(Gated Graph NeuralNetworks,门控图神经网络)引入用户层的双重循环网络模型,本发明还涉及到数据挖掘、算法分析等领域,其重点更是在于数据挖掘。
本发明主要是利用改进的GGNN算法实现推荐系统,通过加入用户层GRU(GateRecurrent Unit,门循环单元)网络跟踪用户在会话之间的长期偏好,并在会话层中使用了用户长期偏好记忆单元来记录用户在一个会话中的长短期兴趣变化,并且用来跟踪用户的兴趣偏好随在不同会话间的变化。
本发明的推荐系统主要有三个部分:第一部分为GGNN网络;第二部分为用户长期偏好记忆单元,用于存储用户在当前会话中的长时偏好,同时需要将该会话包含的用户偏好信息输入到用户层网络;第三部分为用户层网络,用户层网络是基于GRU的循环网络,用于捕捉学习会话之间用户兴趣的变化。
请参阅图1,图1为本申请实施例提供的基于会话的推荐系统的结构图。
本实施例对推荐系统的改进主要在于使用了会话级和用户级的双层循环网络模型,在现有推荐系统的网络模型中加入用户层GRU网络跟踪用户在会话之间的长期偏好,并在会话层中使用了用户长期偏好记忆单元来记录用户在一个会话中的长短期兴趣变化,并且用来跟踪用户的兴趣偏好随在不同会话间的变化。本发明将推荐系统对应的该网络模型称为HGGNN(Hierarchical Gated Graph Neural Networks,分层门控图神经网络),如图1所示。
同样如图1所示,本实施例的推荐系统,包括用户层网络100、用户长期偏好记忆单元200与会话层网络300。
(一)、用户层网络100
用户层网络100,基于GRU的循环网络模型实现,用于根据所述隐藏向量更新所述用户层网络100的状态向量,通过所述状态向量跟踪用户在不同会话中的偏好变化,并使用所述状态向量来更新所述隐藏向量,将更新后的隐藏向量反馈至所述会话层网络中,以传入下一会话中。
本发明的推荐系统本身也是一个双层循环网络,在该双层循环网络中引入隐藏向量ti,以将会话层网络的信息输入到用户层网络中。除了会话级的循环网络GGNN,还增加了用户级的GRU网络来构建跨会话的双层循环网络来对用户活动进行建模,可将其命名为GRUusr。其中,会话级的循环网络GGNN就是指会话层网络,用户级的GRU网络就是指用户层网络。
ti+1=σ(Whhi+bh)
通过这个方式,用户在上一个会话中的隐藏向量就可以传入下一个会话中,此处将会话层网络的模型命名为GGNNsess,会话层网络的模型可以表示为:
ri=GGNNsess(gi)
ri=GGNNsess(gi,ti)
具体的内部实现会在下文描述的会话层网络的结构中进行详细阐述。用户层网络100用于捕捉学习会话之间用户兴趣的变化,即学习用户在多个会话间的演化规律,发现更多物品之间包含的联系。
(二)、用户长期偏好记忆单元200
用户长期偏好记忆单元200,用于基于所述用户偏好向量,记录用户在所述目标会话中的长期偏好,并在所述目标会话结束后,将所述用户长期偏好记忆单元200记录的信息转换为隐藏向量,反馈至所述用户层网络100中。
在具体应用中,所述推荐系统还可包括:记忆单元建立模块,用于为每一个会话分别建立相应的所述用户长期偏好记忆单元200,以分别记录用户在每一个会话中的长期偏好。
在一具体示例中,所述目标会话为单个用户的一个会话;所述用户长期偏好记忆单元200,具体用于保存所述目标会话的N个用户偏好向量,其中,所述N的数量是基于所述子图矩阵的个数确定的。
其中,所述用户长期偏好记忆单元200,具体用于在由所述目标会话分解得到的多个子图矩阵中,学习用户在对应时刻的短期偏好,并在所述目标会话结束后,得到用户在所述目标会话中的长期偏好。
所述推荐系统还用于:在将所述用户长期偏好记忆单元200记录的信息转换为隐藏向量,反馈至所述用户层网络100中之后,获取用户的下一个会话的用户偏好矩阵,成为所述下一个会话对应的用户长期偏好记忆单元200。
例如,对于单个用户的一个会话s,使用记忆单元Ks来保存用户的N个偏好向量,表示为:
其中是用户的第i个偏好向量,对于单个用户,记忆单元可以理解为二维矩阵,向量的N的大小根据子图的个数决定。在一个会话的多个分解子图矩阵中,记忆单元用于学习用户在这个时刻的短期的兴趣,在一个会话结束后,用户长期偏好记忆单元的信息将被反馈到用户层网络100中,而后得到用户的下一个会话的偏好矩阵(也即下一个会话对应的用户长期偏好记忆单元)。
在一个会话结束后,需要将用户的记忆单元转换为隐藏向量ti传输到用户层网络100中,所述将所述用户长期偏好记忆单元200记录的信息转换为隐藏向量,可采用以下公式实现:
(三)、会话层网络300
所述会话层网络300,基于门控图神经网络GGNN网络模型实现,用于将所述目标会话分解为多个子图矩阵,并使用GGNN网络模型进行训练,得到所述目标会话的嵌入向量,将所述嵌入向量映射到所述用户长期偏好记忆单元中,作为所述目标会话的用户偏好向量。
会话层网络300通过将用户会话转换为多个图结构作为输入,输出每个会话点击的下一个点击物品的可能性评分向量。通过数学表示可以将每一个会话表示为si=[xi,1,xi,2,……,xi,n-1,xi,n],此处i表示为第i个会话,通过si生成了会话图gi=G(si),
原始的会话级的GGNNsess模型中,计算评分向量前,得到会话的嵌入向量sb,对于在一个会话中的第j个子图,在这里则需要将sb对应到记忆单元中,所述得到所述目标会话的嵌入向量可采取以下公式实现:
还需要将其映射到用户长期记忆单元中,使得:
结合隐藏向量ti传输到用户层网络100中的计算公式,可以将用户长期偏好记忆单元中新的信息传输到用户层网络100中,这样将一个用户会话与会话之间的隐藏关联建立起来。相对现有的会话层网络,本发明不同的是在几个会话图之间添加了用户长期偏好记忆单元。
综上可知会话层网络和用户长期偏好记忆单元的详细结构如图2所示。由以上描述可知对于隐藏向量ti会在经过用户级和会话级时都会产生变化,通过这种方式,可以在训练中使得用户级和会话级里的网络单元都得到了训练,在记录了一个会话中物品关联的同时,也能发现同一个用户的潜在偏好,这对寻找物品和物品更深层的关联具有很大作用。
本发明实施例还提供了相应的基于会话的推荐方法,所述推荐方法采用前述的基于会话的推荐系统,下文描述的推荐方法的技术内容,可与上文描述的推荐系统的技术内容与相互对应参照。
请参阅图3,图3为本发明实施例提供的基于会话的推荐方法的流程图。
如图3所示,所述推荐方法具体可包括以下主要步骤:
101、利用所述会话层网络,获取目标会话的嵌入向量,并将所述嵌入向量映射到所述用户长期偏好记忆单元中,作为所述目标会话的用户偏好向量;
102、利用所述用户长期偏好记忆单元,记录用户在所述目标会话中的长期偏好,并将所述用户长期偏好记忆单元记录的信息转换为隐藏向量,反馈至所述用户层网络中;
103、利用所述用户层网络,根据所述隐藏向量更新所述用户层网络的状态向量,通过所述状态向量跟踪用户在不同会话中的偏好变化,并使用所述状态向量来更新所述隐藏向量,将更新后的隐藏向量反馈至所述会话层网络中。
本发明实施例还提供了相应的基于会话的推荐设备,所述推荐设备用于实施前述的基于会话的推荐方法,下文描述的推荐设备的技术内容,可与上文描述的推荐方法与推荐系统的技术内容相互对应参照。
请参阅图4,图4为本发明实施例提供的基于会话的推荐设备的硬件结构示意图。
如图4所示,推荐设备可以包括:处理器10,通信接口20,存储器30,与通信总线40;其中,处理器10、通信接口20与存储器30通过通信总线40完成相互间的通信。
通信接口20可以为通信模块的接口,如GSM模块的接口;
存储器30,用于存储计算机程序;
处理器10,用于调用存储器30中存储的计算机程序;
程序可以包括程序代码,所述程序代码包括处理器的操作指令。
处理器10可能是一个中央处理器CPU,或者是特定集成电路ASIC,或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器30可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
其中,所述程序代码被处理器10调用时可执行前述的基于会话的推荐方法的步骤。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序在被计算机设备执行时,实现前述的基于会话的推荐方法的步骤。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有前述的基于会话的推荐方法的步骤的程序。
一、本发明的推荐系统的性能分析:
为了验证本发明推荐系统的双层循环网络是可行的,并且相对于HGRU(Hierarchical Gated Recurrent Unit,分层门循环单元)和改进型GGNN(Gated GraphNeural Networks,门控图神经网络)算法在推荐效果上也有提高,特提供如下实验方案:
(1)、在数据集上分别使用改进型GGNN、HGRU4REC和HGGNN模型,比较三个模型推荐结果的RECALL和MRR,证明HGGNN的提升效果;
(2)、比较改进型GGNN、HGRU4REC和HGGNN模型在不同会话长度上的预测结果,比较分析三个模型在短期预测和长期预测的表现。
I、实验结果
①由于YOOCHOOSE数据集没有用户信息,因此在30Music数据集上进行测试,使用80%的数据作为训练数据集,20%的数据作为测试数据集。对于HGGNN的参数选择有:用户层隐藏节点为100,输出节点为100,隐藏层为1层,会话层隐藏节点为100,输出节点为100,隐藏层为1层,使用带正则化的交叉熵作为损失函数,学习率为0.001。对于改进型GGNN网络,参数选取等同于第三章的参数设置。在评价指标RECALL@20和MRR@20下,三个模型的表现如表1:
表1不同模型下的实验结果对比
相对于不含用户层的改进型GGNN,HGRU4REC和HGGNN的推荐效果都明显更好,相对于HGRU4REC,使用了图编码方式的HGGNN在数据集上的表现也更好一些,RECALL@20和MRR@20指标分别提高了2.1%和6.8%,MRR@20相对提高更多说明了在推荐列表中,HGGNN的正确的推荐结果会更加靠前。
②分别对比三个模型对于不同会话长度的推荐效果,实验方式是将测试数据集通过会话长度来进行分割,对比在会话长度在由小到大增长的过程中,三个模型的推荐效果的变化趋势,其中测试数据集中,每一条会话的最后一个物品将作为预测的物品,因此,表中会话长度为n的原始会话长度为n+1。实验结果如表2和图5、6所示:
表2不同会话长度下的实验结果对比
II、实验分析
通过表1可以明显看出,加入了用户层的模型HGRU和HGGNN整体上都比不加入用户层的改进型GGNN模型预测效果好,可以说明,考虑了相同用户的不同会话之间的联系能够有效改善预测的效果。对比HGRU和HGGNN的预测效果,HGGNN也相对有了一定的提升,HGGNN使用图的方式进行会话处理可以更好地挖掘出物品存在的转换关系,在计算过程中使得推荐的正确结果更为靠前,使用了用户偏好矩阵对保存物品间联系,提升预测效果具有明显作用。
通过图5和图6可以看出,在会话序列很短的情况下,HGRU4REC和HGGNN的预测效果不比改进型GGNN有明显提升,尤其是HGGNN还是效果最差的,但是当会话序列变长后,拥有用户层的模型会在推荐效果上有很大提升,相对于HGRU4,HGGNN在整体上都更为好一些,由于加入了用户潜在偏好矩阵,会话和会话之间物品的关联会更多一些,由于考虑物品关系较远的联系,因此HGGNN对短会话的推荐效果相对会低一些,但在预测序列较长的情况下,则也会由于会考虑物品远的其他物品之间的联系,但由于输入序列变长了,输出的结果也就更为准确,预测效果相对更好。由此也可以看出,图编码方式的会话层能够更好地发掘物品和物品直接存在的联系。
二、算法在实时化推荐系统中应用
系统的分布式集群搭建表3,由于计算机资源有限,采用了分布式情况下最小的机器搭建数量,可以根据未来使用情况进行灵活扩展。
表3硬件配置
系统软件版本的选取如表4:
表4软件配置
(1)登录界面
用户登录界面如图7所示,可以选择免登录查看,在未登录查看的情况下,点击物品时向后端发送的请求JSON数据中不会有用户id的字段。
(2)物品选择界面
在用户进入购物系统后,如果用户还没有点击商品,会随机展示一些热门商品给用户,如图8所示。
(3)物品展示及推荐页面
在用户点击一个物品后,会首先向后端发送一个请求(/api/getItem),并发送第二个请求(/api/getRecommendItem),后端首先响应第一个请求查询出点击物品的相关信息,如图9所示,第二个请求如果未获取后端的查询成功响应,便会在50ms后再发送一次,未获取到成功响应说明后端未计算好推荐的列表。
(4)后端页面
使用接口测试软件jmeter对后端接口进行测试,jmeter是Apache组织开发的基于Java的压力测试工具,可以用于模拟HTTP请求,通过设置请求的线程数及请求体来模拟用户点击向后台发送求,通过jmeter可以得到后端接口处理请求需要的时间,后端每秒能够处理的请求数(QPS)等信息获取,测试的结果会以图10的方式显示,其中Average代表一次请求执行的平均时间,Min代表一次请求的最小执行时间,Max代表一次请求的最大时间,单位都为毫秒,Throughput即为QPS。
对本系统的测试方法为:开启多个线程发送模拟点击请求,以一次请求发送为开始,以收到推荐列表为结束,通过调节线程数获得系统的平均处理请求时间及qps等信息,jmeter开启的每一个线程的请求流程为:
i、生成点击查看物品请求的JSON文件,其中会话ID随机生成,物品ID从物品数据库中随机选取;
ii、使用生成的JSON文件,向后台发送查看物品请求;
iii、获取点击响应后发送获取推荐列表的请求,如果获取为空,则在100ms后再次发送请求。
iv、获取推荐列表后生成新的JSON,从推荐列表中随机选取一个物品ID,会话ID不变,执行ii中流程,如果改会话ID已经发送过10个以上请求时,则执行流程i。
每次测试使用不同的线程数发送请求,运行大约3~5分钟至通过实验,获得的结果如表5,请求线程数和QPS的关系如图11所示。
表5性能测试结果
实验分析:系统在请求线程数不多时,平均处理每个请求时间为515毫秒左右,并且系统的QPS和请求线程数成线性增长的关系,当请求线程数大于64个以后,系统平均处理请求时间会变长,并且当请求线程数达到96个以后,QPS基本上不会增长,QPS最大大约为148。
由于系统集群较小,配置也相对一般,在请求前端列表时如果为请求到会等待100毫秒后继续发送请求,因此系统的平均请求时间基本合理,QPS也基本能够满足设计需求,如果需要提高QPS,可以横向扩展集群来增加系统整体的处理性能。
最后,还需要说明的是,在本文中,诸如第一和第一等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式来实现。基于这样的理解,本申请的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种基于会话的推荐系统,其特征在于,所述推荐系统包括:会话层网络、用户长期偏好记忆单元与用户层网络;
所述会话层网络,基于门控图神经网络GGNN网络模型实现,用于将目标会话分解为多个子图矩阵,并使用GGNN网络模型进行训练,得到所述目标会话的嵌入向量,将所述嵌入向量映射到所述用户长期偏好记忆单元中,作为所述目标会话的用户偏好向量;
所述用户长期偏好记忆单元,用于基于所述用户偏好向量,记录用户在所述目标会话中的长期偏好,并在所述目标会话结束后,将所述用户长期偏好记忆单元记录的信息转换为隐藏向量,反馈至所述用户层网络中,其中,所述用户长期偏好记忆单元,用于在由所述目标会话分解得到的多个子图矩阵中,学习用户在对应时刻的短期偏好,并在所述目标会话结束后,得到用户在所述目标会话中的长期偏好;
所述用户层网络,基于门循环单元GRU的循环网络模型实现,用于根据所述隐藏向量更新所述用户层网络的状态向量,通过所述状态向量跟踪用户在不同会话中的偏好变化,并使用所述状态向量来更新所述隐藏向量,将更新后的隐藏向量反馈至所述会话层网络中,以传入下一会话中, 其中,将所述用户长期偏好记忆单元记录的信息转换为隐藏向量,采用以下公式实现:
2.如权利要求1所述的推荐系统,其特征在于,所述推荐系统还包括:
记忆单元建立模块,用于为每一个会话分别建立相应的所述用户长期偏好记忆单元,以分别记录用户在每一个会话中的长期偏好。
3.如权利要求1所述的推荐系统,其特征在于,所述目标会话为单个用户的一个会话;
所述用户长期偏好记忆单元,具体用于保存所述目标会话的N个用户偏好向量,其中,所述N的数量是基于所述子图矩阵的个数确定的。
4.如权利要求1所述的推荐系统,其特征在于,所述推荐系统还用于:
在将所述用户长期偏好记忆单元记录的信息转换为隐藏向量,反馈至所述用户层网络中之后,获取用户的下一个会话的用户偏好矩阵,成为所述下一个会话对应的用户长期偏好记忆单元。
6.一种基于会话的推荐方法,其特征在于,采用如权利要求1~5任一项所述的推荐系统;所述推荐方法包括:
利用所述会话层网络,获取目标会话的嵌入向量,并将所述嵌入向量映射到所述用户长期偏好记忆单元中,作为所述目标会话的用户偏好向量;
利用所述用户长期偏好记忆单元,记录用户在所述目标会话中的长期偏好,并将所述用户长期偏好记忆单元记录的信息转换为隐藏向量,反馈至所述用户层网络中,其中,所述用户长期偏好记忆单元,用于在由所述目标会话分解得到的多个子图矩阵中,学习用户在对应时刻的短期偏好,并在所述目标会话结束后,得到用户在所述目标会话中的长期偏好;
利用所述用户层网络,根据所述隐藏向量更新所述用户层网络的状态向量,通过所述状态向量跟踪用户在不同会话中的偏好变化,并使用所述状态向量来更新所述隐藏向量,将更新后的隐藏向量反馈至所述会话层网络中,其中,将所述用户长期偏好记忆单元记录的信息转换为隐藏向量,采用以下公式实现:
7.一种基于会话的推荐设备,其特征在于,包括存储器与处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于调用所述存储器中存储的所述计算机程序,以执行如权利要求6所述的推荐方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序在被计算机设备执行时,实现如权利要求6所述的推荐方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567939.1A CN112000873B (zh) | 2020-06-19 | 2020-06-19 | 基于会话的推荐系统、方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567939.1A CN112000873B (zh) | 2020-06-19 | 2020-06-19 | 基于会话的推荐系统、方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112000873A CN112000873A (zh) | 2020-11-27 |
CN112000873B true CN112000873B (zh) | 2022-10-18 |
Family
ID=73467905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010567939.1A Expired - Fee Related CN112000873B (zh) | 2020-06-19 | 2020-06-19 | 基于会话的推荐系统、方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000873B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650942A (zh) * | 2020-12-18 | 2021-04-13 | 北京京东尚科信息技术有限公司 | 产品推荐方法、装置、计算机系统和计算机可读存储介质 |
CN112784123B (zh) * | 2021-02-25 | 2023-05-16 | 电子科技大学 | 一种图网络冷启动推荐方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106327240A (zh) * | 2016-08-11 | 2017-01-11 | 中国船舶重工集团公司第七0九研究所 | 一种基于gru神经网络的推荐方法和系统 |
CN109740743A (zh) * | 2019-03-21 | 2019-05-10 | 中国人民解放军国防科技大学 | 一种分层神经网络查询推荐方法及装置 |
CN110245299A (zh) * | 2019-06-19 | 2019-09-17 | 中国人民解放军国防科技大学 | 一种基于动态交互注意力机制的序列推荐方法及其系统 |
-
2020
- 2020-06-19 CN CN202010567939.1A patent/CN112000873B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106327240A (zh) * | 2016-08-11 | 2017-01-11 | 中国船舶重工集团公司第七0九研究所 | 一种基于gru神经网络的推荐方法和系统 |
CN109740743A (zh) * | 2019-03-21 | 2019-05-10 | 中国人民解放军国防科技大学 | 一种分层神经网络查询推荐方法及装置 |
CN110245299A (zh) * | 2019-06-19 | 2019-09-17 | 中国人民解放军国防科技大学 | 一种基于动态交互注意力机制的序列推荐方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112000873A (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Conversational contextual bandit: Algorithm and application | |
WO2020211566A1 (zh) | 一种用户推荐方法和装置以及计算设备和存储介质 | |
Zhang et al. | Multi-aspect aware session-based recommendation for intelligent transportation services | |
CN111931062B (zh) | 一种信息推荐模型的训练方法和相关装置 | |
US11314823B2 (en) | Method and apparatus for expanding query | |
US10558852B2 (en) | Predictive analysis of target behaviors utilizing RNN-based user embeddings | |
CN106716964B (zh) | 用于没有用户跟踪的个人化的隐私保护cookie | |
US9594826B2 (en) | Co-selected image classification | |
US20220391778A1 (en) | Online Federated Learning of Embeddings | |
US20100191758A1 (en) | System and method for improved search relevance using proximity boosting | |
CN112000873B (zh) | 基于会话的推荐系统、方法、设备及存储介质 | |
US20100121844A1 (en) | Image relevance by identifying experts | |
Song et al. | CBML: A cluster-based meta-learning model for session-based recommendation | |
CN114281976A (zh) | 一种模型训练方法、装置、电子设备及存储介质 | |
Mehta et al. | Collaborative personalized web recommender system using entropy based similarity measure | |
US11238103B2 (en) | Binary coding for improved semantic search | |
US7895206B2 (en) | Search query categrization into verticals | |
CN113641835A (zh) | 多媒体资源推荐方法、装置、电子设备及介质 | |
CN116956183A (zh) | 多媒体资源推荐方法、模型训练方法、装置及存储介质 | |
CN117076763A (zh) | 基于超图学习的会话推荐方法、装置、电子设备及介质 | |
CN117081941A (zh) | 基于注意力机制的流量预测方法及其装置、电子设备 | |
US20240005170A1 (en) | Recommendation method, apparatus, electronic device, and storage medium | |
Wang et al. | Top-N-targets-balanced recommendation based on attentional sequence-to-sequence learning | |
Sheng et al. | HTDA: Hierarchical time-based directional attention network for sequential user behavior modeling | |
CN117009621A (zh) | 信息搜索方法、装置、电子设备、存储介质及程序产品 |
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: 20221018 |