CN114925270A - 一种会话推荐方法和模型 - Google Patents
一种会话推荐方法和模型 Download PDFInfo
- Publication number
- CN114925270A CN114925270A CN202210497302.9A CN202210497302A CN114925270A CN 114925270 A CN114925270 A CN 114925270A CN 202210497302 A CN202210497302 A CN 202210497302A CN 114925270 A CN114925270 A CN 114925270A
- Authority
- CN
- China
- Prior art keywords
- vector
- session
- sequence
- conversation
- representing
- 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 86
- 239000013598 vector Substances 0.000 claims abstract description 337
- 238000004364 calculation method Methods 0.000 claims abstract description 51
- 230000004927 fusion Effects 0.000 claims abstract description 38
- 239000013604 expression vector Substances 0.000 claims abstract description 10
- 230000004931 aggregating effect Effects 0.000 claims abstract description 8
- 239000011159 matrix material Substances 0.000 claims description 81
- 230000008569 process Effects 0.000 claims description 34
- 238000011176 pooling Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 24
- 238000013507 mapping Methods 0.000 claims description 24
- 238000000605 extraction Methods 0.000 claims description 22
- 238000012549 training Methods 0.000 claims description 17
- 230000004913 activation Effects 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 230000002776 aggregation Effects 0.000 claims description 11
- 238000004220 aggregation Methods 0.000 claims description 11
- 238000010606 normalization Methods 0.000 claims description 11
- 150000001875 compounds Chemical class 0.000 claims description 9
- 239000000203 mixture Substances 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 8
- 238000005457 optimization Methods 0.000 claims description 6
- 238000011056 performance test Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 4
- 230000008901 benefit Effects 0.000 abstract description 4
- 239000010410 layer Substances 0.000 description 73
- 230000007774 longterm Effects 0.000 description 15
- 238000013528 artificial neural network Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 5
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000009466 transformation Effects 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/047—Probabilistic or stochastic 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/048—Activation functions
-
- 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)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种会话推荐方法,其包括步骤:S1:根据会话序列构建会话图;S2:根据所述会话图聚合L阶邻居节点特征,获得物品嵌入向量;其中,L为正整数;S3:捕获所述物品嵌入向量中的序列信息,获得会话序列特征向量;S4:根据所述会话序列特征向量计算当前兴趣和全局兴趣,再根据所述当前兴趣和所述全局兴趣进行兴趣融合计算得到最终会话表示向量;S5:根据所述最终会话表示向量计算候选物品的点击概率,并输出所述点击概率最高的K个候选物品作为最终的推荐物品;其中,K为正整数。本发明所述的会话推荐方法具有简单高效、准确性高、性能稳定、运行速度快的优点。
Description
技术领域
本发明涉及推荐***的技术领域,特别是涉及一种会话推荐方法和模型。
背景技术
互联网信息量的***式增长,带来信息过载问题,阻挡了大数据时代的前进步伐。目前,解决信息过载问题最有效的方法是个性化推荐,例如电影推荐、音乐推荐和商品推荐等。
传统的推荐方法,大多都是基于用户的身份标识和长期历史交互记录来进行推荐的。然而在很多场景下,用户的上述信息是无法获得的。例如,一些注重隐私的用户喜欢匿名访问网站浏览物品;另外,某些电商平台也允许用户匿名访问网站,仅在用户购买物品时才要求用户登录。当用户处于匿名访问状态时,网站难以通过传统的基于用户长期交互历史记录的推荐技术来向用户做出准确的推荐,只能把全局热门流行的物品等符合大众口味的物品推荐给用户,无法做到针对用户个人兴趣的精确的个性化推荐,降低了用户体验和网站留存率。
于是,基于会话的推荐方法(Session-Based Recommendation,SBR)被提出,很好地解决用户匿名情况下的推荐问题,同时提升用户的体验感,增加平台的留存率。会话(Session)是指用户从进入网站到退出网站这段时间内在网站上所产生的一系列交互行为。因为用户在网站的点击过程具有时序性,所以用户在这段时间内所点击的物品就构成了一个会话序列。基于会话的推荐是根据用户在当前会话过程中产生的会话序列,挖掘用户潜在的兴趣偏好,预测用户下一次可能会点击的物品,从而实现精确的个性化推荐。
在基于会话的推荐算法的相关研究中,之前的一些方法使用马尔科夫链(MarkovChain,MC)、循环神经网络(Recurrence Neural Networks,RNN)对会话序列进行建模以捕获用户的兴趣偏好。然而,基于马尔科夫链的方法是一种传统的方法,简单快捷,但效果不佳,只能用于一些简单场景。基于循环神经网络的方法虽然可以捕获到会话序列的依赖关系,做出较好的推荐。但由于其串行结构而难以并行化,运行效率较低,难以应用于对实时性要求较高的会话推荐场景。
最近,随着图神经网络的兴起和流行,一些学者建议把图神经网络(Graph NeuralNetworks,GNN)引入到会话推荐任务中,把会话序列构建为图结构,然后使用图神经网络学习会话的物品嵌入,以此建模用户偏好表示。Wu等人(Wu S,Tang Y,Zhu Y,et al.Session-based recommendation with graph neural networks[C]//Proceedings of the AAAIConference on Artificial Intelligence.2019,33(01):346-353.)提出了基于图神经网络的会话推荐(Session-Based Recommendation with Graph Neural Networks,SR-GNN)模型,它是第一个把GNN应用于会话推荐任务的模型。然而,现有的基于图神经网络的会话推荐方法,如SR-GNN、FGNN(Qiu R,Li J,Huang Z,et al.Rethinking the item order insession-based recommendation with graph neural networks[C]//Proceedings ofthe 28th ACM International Conference on Information and KnowledgeManagement.2019:579-588.)、TAGNN(TargetAttentive Graph Neural Networks;Yu F,Zhu Y,Liu Q,et al.TAGNN:Target attentive graph neural networks for session-based recommendation[C]//Proceedings of the 43rd International ACM SIGIRConference on Research and Development in Information Retrieval.2020:1921-1924.)等方法,均侧重于建模会话图上的物品转移关系,存在缺乏会话序列位置信息和长期依赖关系的问题:前者表现为无法从会话图建模得到会话中所有物品的点击顺序;后者则表现为长期记忆失效,会话起始的序列信息几乎被遗忘。这就会导致图神经网络用于会话推荐时模型表达能力差,对会话的表示不够准确,降低会话推荐的性能和效果。
会话序列的位置信息和长期依赖关系对于精准预测用户偏好是至关重要的,于是,研究人员在这个方面也开展了一系列工作。例如,Xu等人(Xu C,Zhao P,Liu Y,etal.Graph Contextualized Self-Attention Network for Session-basedRecommendation[C]//IJCAI.2019,19:3940-3946.)提出了图上下文自注意力网络(GraphContextualized Self-Attention Network,GC-SAN)模型,其中,图神经网络(GNN)负责捕获物品之间的转换关系,自注意力网络(SAN)负责捕获序列位置信息和长期依赖关系;Ye等人(Ye R,Zhang Q,Luo H.Cross-Session Aware Temporal Convolutional Network forSession-based Recommendation[C]//2020 International Conference on Data MiningWorkshops(ICDMW).IEEE,2020:220-226.)提出了跨会话感知时间卷积网络(Cross-Session Aware Temporal Convolututional Network,CA-TCN)模型,其利用时间卷积网络(Temporal Convolutional Network,TCN)来克服图神经网络方法中序列顺序位置信息和长期依赖关系丢失的缺点。
然而,GC-SAN模型的自注意力机制无法感知序列位置信息,需要引入额外的位置编码,导致该模型效果受限于位置编码的好坏,性能不够稳定,并且GC-SAN模型是二次方的时间复杂度(O(N2)),计算开销较大。另一方面,CA-TCN模型的单个卷积层只能捕获序列的局部依赖关系,要堆叠多个层才能捕获到序列的长期依赖关系,并且序列的长度越长,需要堆叠的TCN层数就越多,存在着计算过程复杂、运行速度低下的问题。
发明内容
基于此,本发明的目的在于,提供一种会话推荐方法,其具有简单高效、准确性高、性能稳定、运行速度快的优点。
本发明是通过如下技术方案进行实现的:
一种会话推荐方法,包括步骤:
S1:根据会话序列构建会话图;
S2:根据所述会话图聚合L阶邻居节点特征,获得物品嵌入向量;其中,L为正整数;
S3:捕获所述物品嵌入向量中的序列信息,获得会话序列特征向量;
S4:根据所述会话序列特征向量计算当前兴趣和全局兴趣,再根据所述当前兴趣和所述全局兴趣进行兴趣融合计算得到最终会话表示向量;
S5:根据所述最终会话表示向量计算所有候选物品的点击概率,并输出所述点击概率最高的K个候选物品作为最终的推荐物品;其中,K为正整数。
本发明所述的会话推荐方法,通过聚合会话图中的L阶邻居节点特征,能够学习物品之间的高阶转换关系,获得更准确的物品嵌入向量;同时,能够快速捕获会话序列的位置信息和长期依赖关系,获得更准确的会话序列特征向量,从而提高会话推荐的性能和效果。
进一步地,步骤S3具体为:
采用门控多层感知机算法一次性捕获所述物品嵌入向量的序列信息,从而计算得到所述会话序列特征向量;其中,所述门控多层感知机执行步骤:
S31:采用空间投影矩阵一次性捕获所述物品嵌入向量的序列位置信息,并使所述序列位置信息与物品嵌入信息融合得到会话序列中间向量;
S32:将所述物品嵌入向量和所述会话序列中间向量进行残差连接,获得所述会话序列特征向量;
S33:判断所述会话序列特征向量的计算次数是否达到预设循环次数,若否,则将所述会话序列特征向量作为所述物品嵌入向量,返回步骤S31,若是,则直接输出所述会话序列特征向量;其中,预设循环次数设为N;其中,N为正整数。
进一步地,所述会话序列中间向量的计算过程为:
zs=Dropout[SGU(zh)W4+b4] (12)
式中,zs表示所述会话序列中间向量,zh表示会话嵌入向量;hf表示所述物品嵌入向量,表示层归一化的物品嵌入向量;LayerNorm()表示LayerNorm正则化技术,Dropout()表示Dropout正则化技术,GeLU()表示GeLU激活函数,SGU(zh)表示空间门控单元算法对所述会话嵌入向量进行序列信息学习;W3表示第三参数矩阵,W4表示第四参数矩阵,b3表示第三参数向量,b4表示第四参数向量;
所述SGU(zh)的计算过程为:
[z1;z2]=zh (13)
zr=z1⊙zp (16)
式中,zr表示会话序列表示向量;zp表示序列位置向量,包含会话序列的序列位置信息;z1、z2分别表示由所述会话嵌入向量沿嵌入维度对半分割得到的第一半会话嵌入向量和第二半会话嵌入向量,二者均包含会话序列的物品嵌入信息;表示层归一化的第二半会话嵌入向量;Ws表示空间投影矩阵,bs表示空间参数向量;⊙表示哈达玛乘积;
所述会话序列特征向量的计算公式为:
进一步地,步骤S2具体为:
采用图同构网络来聚合所述会话图中的L阶邻居节点特征,从而获得所述物品嵌入向量;其中,所述图同构网络执行步骤:
S21:根据所述会话图的(l-1)阶嵌入向量计算l阶嵌入向量;其中,l∈[1,L],当l=1时,(l-1)阶嵌入向量即为初始嵌入向量;
S22:判断所述l阶嵌入向量的计算次数是否达到预设阶次,若否,则将所述l阶嵌入向量作为所述(l-1)阶嵌入向量,返回步骤S21,若是,则将所述l阶嵌入向量作为L阶嵌入向量,执行步骤S23;其中,预设阶次设为L;
S23:根据L阶嵌入向量计算物品嵌入向量。
进一步地,所述l阶嵌入向量的计算过程为:
hl=MLP{[Ain+Aout+I×(1+∈)]×hl-1} (6)
式中,表示所述l阶嵌入向量,hl表示l阶嵌入中间向量,hl-1表示(l-1)阶嵌入中间向量;Aout表示邻接矩阵中的出度矩阵,Ain表示邻接矩阵中的入度矩阵,I表示单位矩阵;∈表示初始的映射误差;ReLU()表示ReLU激活函数;Dropout()表示Dropout正则化技术;MLP()表示多层感知机算法;
所述物品嵌入向量的计算过程为:
gh=σ(Wg[h0;hL]) (8)
hf=gh⊙h0+(1-gh)⊙hL (9)
式中,hf表示所述物品嵌入向量,hL表示所述L阶嵌入向量;gh表示门控嵌入参数,由所述初始嵌入向量和所述L阶嵌入向量共同决定;[;]表示将所述初始嵌入向量和到点L阶嵌入向量进行拼接;Wg表示门控参数矩阵;σ()表示sigmoid激活函数;⊙表示哈达玛乘积。
进一步地,步骤S4具体为:
根据所述会话序列特征向量,通过平均池化计算得到所述当前兴趣,通过聚合池化计算得到所述全局兴趣;然后将当前兴趣和全局兴趣进行自适应融合,从而计算得到最终会话表示向量。
进一步地,最终会话表示向量的计算过程为:
gz=σ(W5zlocal+W6zglobal) (20)
zf=gz⊙zlocal+(1-gz)⊙zglobal (21)
式中,zf表示所述最终会话表示向量,表示所述会话序列特征向量;zlocal表示所述当前兴趣,zglobal表示所述全局兴趣;gz表示门控融合参数,由所述当前兴趣和所述全局兴趣决定;mean()表示平均池化,sum()表示聚合池化;W5表示第五参数矩阵,W6表示第六参数矩阵。
进一步地,还包括参数优化步骤:
S6:将会话数据集中的会话序列进行预处理,然后将预处理后的会话序列按照9∶1的比例随机划分成训练集和测试集,将所述训练集中的会话序列随机分为多个批次;
S7:初始化步骤S2~S4的网络参数,按批次对所述训练集的会话序列执行步骤S1~S5来优化所述网络参数;优化过程中,采用自适应动量算法优化所述网络参数,并采用交叉熵损失函数进行损失计算;
所述交叉熵损失函数的表达式为:
式中,表示所述点击概率;表示所述点击概率的第i个值,即在会话序列中第i个物品为下一次点击物品的概率值;yi为第i个物品的独热编码向量,其取值为1或0;yi=1表示第i个物品为正样例,即下一个点击的物品是第i个物品;yi=0表示第i个物品为负样例,即下一个点击的物品不是第i个物品;
S8:每次迭代后,对所述测试集的会话序列执行步骤S1~S5来进行性能测试,重复多个迭代直至性能不再提升。
本发明还提供了一种会话推荐模型,包括依次堆叠的构图模块、物品嵌入信息提取模块、序列信息提取模块、兴趣融合模块和预测模块;
所述构图模块根据会话序列构建会话图;其中,所述会话图由初始嵌入向量和邻接矩阵组成;
所述构图模块根据会话序列构建会话图;
所述物品嵌入信息提取模块聚合所述会话图中的L阶邻居节点特征,获得物品嵌入向量;
所述序列信息提取模块捕获所述物品嵌入向量中的序列信息,获得会话序列特征向量;
所述兴趣融合模块根据到点会话序列特征向量计算当前兴趣和全局兴趣,并对所述当前兴趣和所述全局兴趣进行兴趣融合,得到最终会话表示向量;
所述预测模块根据是最终会话表示向量计算所有候选物品的点击概率,并输出所述点击概率最高的K个候选物品作为最终的推荐物品。
进一步地,所述会话图由初始嵌入向量和邻接矩阵组成;
所述物品嵌入信息提取模块包括依次堆叠的L层图同构网络和高速公路网络;第l层图同构网络根据会话图的(l-1)阶嵌入向量计算l阶嵌入向量;l∈[1,L],L为正整数;当l=1时,(l-1)阶嵌入向量即为初始嵌入向量;当l=L时,l阶嵌入向量即为L阶嵌入向量;高速公路网络根据初始嵌入向量和L阶嵌入向量计算得到物品嵌入向量;
所述序列信息提取模块包括依次堆叠的N层门控多层感知机;每个所述门控多层感知机包括依次堆叠的第一LayerNorm层、第一线性映射层、GeLU激活函数层、空间门控单元和第二线性映射层和残差连接层;所述第一LayerNorm层、所述第一线性映射层、所述GeLU激活函数层顺次处理所述物品嵌入向量,计算得到会话嵌入向量;所述空间门控单元根据所述会话嵌入向量计算得到会话序列中间向量;所述第二线性映射层和所述残差连接层顺次处理所述会话序列中间向量,计算得到所述会话序列特征向量;
其中,所述空间门控单元包括向量对半分割层、第二LayerNorm层、时序维度的线性映射层和门控融合层;所述向量对半分割层将所述会话嵌入向量对半分割成第一半会话嵌入向量和第二半会话嵌入向量;所述第二LayerNorm层对所述第二半会话嵌入向量进行层归一化;到点时序维度的线性映射层通过一个空间投影矩阵一次性捕获层归一化的第二半会话嵌入向量的序列位置信息,计算得到序列位置向量;到点门控融合层将到点第一半会话嵌入向量和到点序列位置向量进行融合,从而得到到点会话序列中间向量;
所述兴趣融合模块包括平均池化层、聚合池化层和门控融合网络;所述平均池化层根据所述会话序列特征向量计算得到所述当前兴趣,所述聚合池化层根据所述会话序列特征向量计算得到所述全局兴趣,所述门控融合网络将所述当前兴趣和所述全局兴趣进行融合,获得所述最终会话表示向量。
与现有技术相比,本发明提供的一种会话推荐方法和模型,在聚合高阶物品转移关系的基础上一次性捕获会话序列中的序列信息,其具备如下优点:
(1)性能稳定,运行速度快:不需要引入额外的位置编码,克服了模型性能依赖于位置编码的好坏的局限性,提高了性能的稳定性;同时,门控多层感知机具备线性的时间复杂度(O(N)),其计算开销比GC-SAN模型更小,运行速度更快。
(2)简单高效,准确性高:通过一个空间投影矩阵作用于会话序列的时序维度,能够一次性捕获会话序列的序列位置信息和长期依赖关系,不需要堆叠多个卷积层,不仅简单高效,而且能够获得更准确的会话表示,从而提高会话推荐的性能和效果。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明一实施例提供的一种会话推荐方法的步骤流程图;
图2为本发明一实施例提供的会话图的构建过程图;
图3为本发明一实施例提供的会话图及其邻接矩阵、出度矩阵和入度矩阵的示意图;
图4为本发明一实施例提供的一种会话推荐模型的网络架构图;
图5为本发明一实施例提供的物品嵌入信息提取模块的网络架构图;
图6为本发明一实施例提供的门控多层感知机的网络架构图。
具体实施方式
现有的基于GNN的会话推荐方法大多存在着会话推荐效果较差的缺点,发明人经过深入研究发现,造成会话推荐效果不佳的原因在于这些会话推荐方法只侧重于建模会话图上局部的物品转移关系,不能从会话图中捕获会话序列位置信息和长期依赖关系等序列信息。如果能够进一步建模得到会话图中的序列信息,无疑能显著提升会话推荐的性能和效果。因此,本发明在聚合会话图的高阶物品转移关系的基础上,进一步捕获了会话图中的的会话序列位置信息和长期依赖关系,从而提升了会话推荐的准确度和稳定性。其中,本发明引入了L层堆叠的图同构网络(Graph Isomorphism Network,GIN)去聚合会话图中的L阶物品转移关系,然后再引入门控多层感知机(Gating Multilayer Perceptron,gMLP)来一次性捕获会话序列位置信息和长期依赖关系。以下通过一具体实施例进行说明:
请参阅图1,其为本实施例提供的一种会话推荐方法的步骤流程图。该会话推荐方法包括步骤:
S1:根据会话序列构建会话图;
S2:根据会话图聚合L阶邻居节点特征,获得物品嵌入向量;其中,L为正整数;
S3:捕获物品嵌入向量中的序列信息,获得会话序列特征向量;
S4:根据会话序列特征向量计算当前兴趣和全局兴趣,再根据当前兴趣和全局兴趣计算得到最终会话表示向量;
S5:根据最终会话表示向量计算所有候选物品的点击概率,并输出点击概率最高的K个候选物品作为最终的推荐物品;其中,K为正整数。
在步骤S1中,会话图的构建过程为:根据会话序列构建得到会话图;将会话图中的所有物品进行物品嵌入,获得初始嵌入向量,同时将会话图中的所有边进行归一化加权,获得邻接矩阵。
在基于会话的推荐场景中,V={v1,v2,...,vM}表示在所有会话序列中出现的所有物品集合,其中,vI∈V,表示物品集中出现的第I个物品,且I∈[1,M];M为正整数,表示该物品集总共有M个物品。那么,一个会话序列可以表示为一个按时间戳排序的列表:s={vs,1,vs,2,...,vs,n},其中,vs,j∈V,表示会话序列中用户第j个点击的物品,且j∈[1,n];n为正整数,表示会话序列已点击了n个物品;会话推荐的目标是预测用户将要点击的下一个物品,即会话序列的第(n+1)个物品vs,n+1,且vs,n+1∈V。
需要说明的是,物品集中的所有物品是所有会话序列出现的全部物品的集合,一般有几十万或几百万个物品;而一个会话序列的长度一般不会超过300,即在该会话序列中,点击物品的次数不超过300;由于序列中可能有部分物品重复出现,那么一个会话序列中实际出现的物品将更少。假设一个会话序列中总共有m个物品,则有:m≤n<<M。
请参阅图2,其为本实施例提供的会话图的构建过程图。一个会话序列可以建模得到一个会话图:Gs=(Vs,Es)。在会话图中,Vs表示点集(或会话物品集),点集中的每一个节点代表会话序列出现的一个物品vs,j;Es表示边集(或物品转移关系集),边集中的每一条边(vs,j-1,vs,j)代表用户在会话序列中先点击物品vs,j-1,再点击物品vs,j,此时j∈[2,n]。
会话图中的节点均为标量,通过物品嵌入转换为节点向量,从而将点集转换为初始嵌入向量,才能进行特征提取。那么,初始嵌入向量的获取方式为:将点集中的每一个节点(物品)嵌入到一个统一的嵌入空间中,得到节点向量,并所有节点的节点向量共同组成会话图的初始嵌入向量:
h0={x1,x2,...,xm} (1)
式中,h0表示会话图的初始嵌入向量,由初始会话图中所有物品的节点向量组成;表示会话图中第i个节点的节点向量;表示实数集,d表示嵌入维度(embeddingdimension,简化为d);m为节点数目,对应于会话序列中的m个物品。
邻接矩阵的获取方式为:对于节点i(即第i个节点),计算与节点i相连的入边总数,以入边总数的倒数作为与节点i相连的入边的权重,则入度矩阵由所有节点的入边的权重构成,同理可得出度矩阵,并由入度矩阵和出度矩阵组成会话图的邻接矩阵。
那么,会话图可以表示为:
G′s=(h0,A) (2)
在现有技术中,一般是将会话图输入至GNN,例如门控图神经网络(Gating GraphNeural Network,GGNN)或图卷积网络(Graph Convolution Network,GCN),以捕获到图中丰富的节点连接信息,并自动提取会话图的特征。然而,堆叠多层GNN容易发生过平滑问题,所以多数基于GNN的会话推荐方法只能采用单层GNN去聚合一阶邻居节点特征,无法学习到高阶邻居节点特征(二阶及以上称为高阶邻居),限制了模型的表达能力,导致最终提取得到的物品嵌入向量不够准确。
在步骤S2中,本实施例采用图同构网络(GIN)来聚合会话图中的L阶邻居节点特征,从而获得物品嵌入向量。
其中,GIN执行步骤:
S21:根据会话图的(l-1)阶嵌入向量计算l阶嵌入向量;其中,l∈[1,L],当l=1时,(l-1)阶嵌入向量即为初始嵌入向量;
S22:判断l阶嵌入向量的计算次数是否达到预设阶次,若否,则将l阶嵌入向量作为(l-1)阶嵌入向量,返回步骤S21,若是,则将l阶嵌入向量作为L阶嵌入向量,执行步骤S23;其中,预设阶次设为L;
S23:根据L阶嵌入向量计算物品嵌入向量。
在步骤S21中,l阶嵌入向量的原始计算过程为:
hl=MLP{[Aout+I×(1+∈)]×hl-1} (3)
式中,表示l阶嵌入向量,hl表示l阶嵌入中间向量,hl-1表示(l-1)阶嵌入中间向量;表示邻接矩阵中的出度矩阵;表示单位矩阵;∈表示初始的映射误差;m表示会话图中的节点数目;ReLU()表示ReLU激活函数,可以使得GIN逼近任何非线性函数,有效增强GIN的特征提取能力;Dropout()表示Dropout正则化技术,防止过拟合,并加快训练速度;MLP()表示多层感知机(Multilayer Perceptron,MLP)算法,也叫人工神经网络(Artificial Neural Network,ANN),即计算公式为:
MLP(H)=ReLU[BatchNorm(HW1+b1)]W2+b2 (5)
式中,MLP(H)表示采用MLP算法对一个向量H进行处理,H指代公式(3)中的[Aout+I×(1+∈)]×hl-1部分,即H=[Aout+I×(1+∈)]×hl-1;表示第一参数矩阵,表示第二参数矩阵;表示第一参数向量,表示第二参数向量;BatchNorm()表示批归一化技术,防止过拟合。
请参阅图3,其为本实施例提供的会话图及其邻接矩阵、出度矩阵和入度矩阵的示意图。由公式(3)可知,l阶嵌入向量的原始计算过程仅仅使用了邻接矩阵中的出度矩阵,该出度矩阵是根据各节点的出度信息构造的,即l阶嵌入向量的原始计算过程不考虑边的正反关系。在本实施例中,将边的正反关系看成两种关系,同时使用邻接矩阵中的出度矩阵和入度矩阵计算l阶嵌入向量,更有利于学习物品间复杂的转移关系,从而计算得到更准确的物品嵌入向量。
那么,根据会话图中各节点的连接关系,将邻接矩阵划分为入度矩阵和出度矩阵,并对公式(3)进行修正,则l阶嵌入向量的计算过程为:
hl=MLP{[Ain+Aout+I×(1+∈)]×hl-1} (6)
在步骤S23中,物品嵌入向量的计算过程为:
gh=σ(Wg[h0;hL]) (8)
hf=gh⊙h0+(1-gh)⊙hL (9)
式中,hf表示物品嵌入向量,hL表示L阶嵌入向量;gh表示门控参数,由初始嵌入向量和L阶嵌入向量共同决定;[;]表示将初始嵌入向量和L阶嵌入向量进行拼接;表示门控参数矩阵,用来把拼接后的向量从转换为σ()表示sigmoid激活函数;⊙表示哈达玛乘积。
在步骤S3中,本实施例采用门控多层感知机(gMLP)算法一次性捕获物品嵌入向量的序列信息,从而计算得到会话序列特征向量。
其中,gMLP执行步骤:
S31:采用空间投影矩阵一次性捕获物品嵌入向量全部的序列位置信息,并使序列位置信息与物品嵌入信息融合得到会话序列中间向量;
S32:将物品嵌入向量和会话序列中间向量进行残差连接(ResidualConnection),获得会话序列特征向量;
S33:判断会话序列特征向量的计算次数是否达到预设循环次数,若否,则将会话序列特征向量作为物品嵌入向量,返回步骤S31,若是,则直接输出会话序列特征向量;其中,预设循环次数设为N;其中,N为正整数。
在步骤S31中,会话序列中间向量的计算过程为:
zs=Dropout[SGU(zh)W4+b4] (12)
式中,zs表示会话序列中间向量,zh表示会话嵌入向量,表示层归一化的物品嵌入向量;LayerNorm()表示LayerNorm正则化技术,GeLU()表示GeLU激活函数,SGU(zh)表示空间门控单元(Spatial Gating Unit,SGU)算法对会话嵌入向量进行序列信息学习;表示第三参数矩阵,表示第四参数矩阵;表示第三参数向量,表示第四参数向量。W3和b3表示对进行线性映射,W4和b4表示对SGU(zh)进行线性映射;同时,采用LayerNorm、Dropout这两种正则化技术来防止模型过拟合,并使用GeLU激活函数来提高模型的非线性表达能力。
其中,SGU(zh)的计算过程为:
[z1;z2]=zh (13)
zr=z1⊙zp (16)
式中,zr表示会话序列表示向量;zp表示序列位置向量,包含会话序列的序列位置信息;分别表示由会话嵌入向量沿嵌入维度对半分割得到的第一半会话嵌入向量和第二半会话嵌入向量,二者均包含会话序列的物品嵌入信息;表示层归一化的第二半会话嵌入向量;表示空间投影矩阵,n表示会话序列的长度大小,假设会话序列的长度为50,则空间投影矩阵的形状(shape)为50×50;bs表示空间参数向量;公式(16)代表通过门控的方式(哈达玛乘积)来融合第一半会话嵌入向量z1和序列位置向量zp,从而得到会话序列表示向量zr。
在步骤S32中,会话序列特征向量的计算公式为:
为了更好地学习用户的偏好表示,要进一步区分用户的当前兴趣(短期兴趣)和全局兴趣(长期兴趣)。现有的方法通常是取会话序列特征向量的最后一个物品向量作为用户的当前兴趣,接着对整个会话序列进行聚合池化(sum pooling),作为用户的全局兴趣,然后采用拼接+线性变换的方式来融合用户的当前兴趣和全局兴趣。这种方式无法自适应地从当前兴趣和全局兴趣中选择最有利于预测的信息,没有区分当前兴趣和全局兴趣对预测的重要性,从而降低了会话推荐的准确性。
在步骤S4中,本实施例根据会话序列特征向量,通过平均池化(mean pooling)计算得到当前兴趣,通过聚合池化(sum pooling)计算得到全局兴趣;然后将当前兴趣和全局兴趣进行自适应融合,从而计算得到最终会话表示向量。
最终会话表示向量的计算过程为:
gz=σ(W5zlocal+W6zglobal) (20)
zf=gz⊙zlocal+(1-gz)⊙zglobal (21)
式中,zlocal表示用户的当前兴趣,zglobal表示用户的全局兴趣;gz表示门控融合参数,由当前兴趣和全局兴趣决定;zf表示最终会话表示向量;mean()表示平均池化,sum()表示聚合池化;表示第五参数矩阵,表示第六参数矩阵。
与通过拼接和线性转移得到最终会话表示向量的方法相比,本实施例采用门控融合网络,可以自适应地从当前兴趣和全局兴趣中选择有效的信息进行融合。对于一个会话推荐,如果当前兴趣更重要,则门控融合参数更多地从当前兴趣中选择特征信息(即1-gz>gz);如果全局兴趣更重要,则门控融合参数更多地从全局兴趣中选择特征信息(即1-gz<gz)。这样,就能够得到更准确的最终会话表示向量,有效提升会话推荐的精确度。
在步骤S5中,点击概率的获取方式为:把候选物品的嵌入向量和最终会话表示向量进行矩阵相乘,获得每个候选物品的概率分数,然后采用softmax函数对每个候选物品的概率分数进行归一化,获得每个候选物品的概率值,并由所有候选物品的概率值共同组成所有候选物品的点击概率,其计算过程为:
基于步骤S1~S5可以形成一个初始的会话推荐模型,还需要对该初始的会话推荐模型进行训练以优化模型的网络参数,然后才能使用训练后的会话推荐模型进行会话推荐。因此,该会话推荐方法还包括参数优化步骤:
S6:将会话数据集中的会话序列进行预处理,然后将预处理后的会话序列按照9∶1的比例随机划分成训练集和测试集,将训练集中的会话序列随机分为多个批次;
S7:初始化步骤S2~S4的网络参数,按批次对训练集的会话序列执行步骤S1~S5来优化所述网络参数;优化过程中,采用自适应动量(Adaptive momentum,Adam)算法优化所述网络参数,并采用交叉熵损失函数进行损失计算;
其中,网络参数包括:第一参数矩阵W1和第一参数向量b1、第二参数矩阵W2和第二参数向量b2、门控参数矩阵Wg、第三参数矩阵W3和第三参数向量b3、第四参数矩阵W4和第四参数向量b4、空间投影矩阵Ws和空间参数向量bs、第五参数矩阵W5、第六参数矩阵W6;
交叉熵损失函数的表达式为:
式中,yi为第i个物品(ground truth item)的独热(one-hot)编码向量,其取值为1或0;yi=1表示第i个物品为正样例,即下一个点击的物品是第i个物品;yi=0表示第i个物品为负样例,即下一个点击的物品不是第i个物品。
S8:每次迭代(epoch)后,对测试集的会话序列执行步骤S1~S5来进行性能测试,重复多个迭代直至性能不再提升;
其中,每完整遍历一次训练集中的所有会话序列,称为一次迭代;每一次迭代后进行性能测试,并记录当前的性能测试结果和对应的网络参数;多次迭代后,若性能不再有任何提升,则表示步骤S1~S5已训练至收敛状态(即性能最佳状态)。
性能测试采用了会话推荐的两个常见的指标:命中率(Hit Rate,HR)和平均倒数排名(Mean Reciprocal Rank,MRR)。HR@K是标签物品(用户真正点击的物品)排名在前K个推荐物品中所占的比例,它常常用于评估未排序的推荐结果。MRR是期望物品的倒数秩的平均值,它是对排序的推荐结果的评价。
本实施例还提供了一种根据步骤S1~S8构建的会话推荐模型。
请参阅图4,其为本实施例提供的一种会话推荐模型的网络架构图。该会话推荐模型包括依次堆叠的构图模块、物品嵌入信息提取模块、序列信息提取模块、兴趣融合模块和预测模块。
构图模块根据会话序列构建会话图;其中,会话图由初始嵌入向量和邻接矩阵组成。
物品嵌入信息提取模块聚合会话图中的L阶邻居节点特征,获得物品嵌入向量;
请参阅图5,其为本实施例提供的物品嵌入信息提取模块的网络架构图。其中,物品嵌入信息提取模块包括依次堆叠的L层图同构网络和高速公路网络;第l层图同构网络根据会话图的(l-1)阶嵌入向量计算l阶嵌入向量;l∈[1,L],L为正整数;当l=1时,(l-1)阶嵌入向量即为初始嵌入向量;当l=L时,l阶嵌入向量即为L阶嵌入向量;高速公路网络根据初始嵌入向量和L阶嵌入向量计算得到物品嵌入向量。
序列信息提取模块捕获物品嵌入向量中的序列信息,获得会话序列特征向量;
其中,序列信息提取模块包括依次堆叠的N层门控多层感知机。请参阅图6,其为本实施例提供的门控多层感知机的网络架构图。每个门控多层感知机包括依次堆叠的第一LayerNorm(层归一化)层、第一线性映射层、GeLU激活函数层、空间门控单元和第二线性映射层和残差连接层;第一LayerNorm层、第一线性映射层、GeLU激活函数层顺次处理物品嵌入向量,计算得到会话嵌入向量;空间门控单元根据会话嵌入向量计算得到会话序列中间向量;第二线性映射层和残差连接层顺次处理会话序列中间向量,计算得到会话序列特征向量。
具体的,空间门控单元包括向量对半分割层、第二LayerNorm层、时序维度的线性映射层和门控融合层。向量对半分割层将会话嵌入向量对半分割成第一半会话嵌入向量和第二半会话嵌入向量;第二LayerNorm层对第二半会话嵌入向量进行层归一化;时序维度的线性映射层通过一个空间投影矩阵一次性捕获层归一化的第二半会话嵌入向量的序列位置信息,计算得到序列位置向量;门控融合层将第一半会话嵌入向量和序列位置向量进行融合,从而得到会话序列中间向量。
兴趣融合模块根据会话序列特征向量计算当前兴趣和全局兴趣,并将当前兴趣和全局兴趣进行兴趣融合,得到最终会话表示向量;
其中,兴趣融合模块包括平均池化层、聚合池化层和门控融合网络。平均池化层根据会话序列特征向量计算得到当前兴趣,聚合池化层根据会话序列特征向量计算得到全局兴趣,门控融合网络将当前兴趣和全局兴趣进行融合,获得最终会话表示向量。
预测模块根据最终会话表示向量计算点击概率,并输出点击概率最高的K个物品作为候选物品。
本实施例还提供了一种会话推荐***,包括存储器,处理器,以及存储在所述存储器上、且在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述会话推荐方法的步骤。
本实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被计算机执行时实现上述会话推荐方法的步骤。
以下提供一个具体的应用场景来说明本发明的技术效果:
在本实施例中,通过步骤S1~S8在pytorch框架实现了上述会话推荐模型。该会话推荐模型的嵌入维度大小设置为100,图同构网络(GIN)层数设置3层,门控多层感知机(gMLP)设置为2层,dropout设置为0.5。该模型的构建过程在一台具有双路CPU(Intel(R)Xeon(R)Silver [email protected]*2)的服务器上进行,并使用11GB显存的NVIDIA GTX1080Ti GPU进行模型训练和测试。
会话数据集采用两个公开的基准数据集Diginetica数据集和Retailrocket数据集。对会话数据集中的会话序列进行预处理:首先,滤除所有长度为1的会话和出现次数少于5次的物品;然后,将Diginetica数据集的最大会话序列长度设置为15,将Retailrocket数据集的最大会话序列长度设置为35,小于最大长度的会话序列使用0填充,大于最大长度的会话序列则进行截断;最后,通过序列分割预处理生成会话序列和相应的标签,即生成样本和标签。例如,对于一个会话s=[vs,1,vs,2,...,vs,n],通过序列分割预处理,可以得到:([vs,1],vs,2),([vs,1,vs,2],vs,3),……,([vs,1,vs,2,...,vs,n-1],vs,n)。其中,[vs,1,vs,2,...,vs,n-1]是生成的序列,vs,n表示下一个点击物品(即序列的标签)。将预处理后的会话序列按照9∶1的比例随机划分成训练集和测试集,将训练集中的会话序列随机分为多个批次,批大小设置为100。
初始化会话推荐模型的网络参数,设置训练迭代次数为30,按批次将训练集中的会话序列输入会话推荐模型进行训练,通过Adam算法优化模型的网络参数;其中,Adam算法的初始学习率为0.001,权重衰减率为1e-5。
在本实施例中,考虑了Top-K(K=20)的推荐结果,也就是使用HR@20和MRR@20作为评测指标,并与现有技术中的9个会话推荐模型进行性能对比。当模型收敛达到收敛状态时,本发明的会话推荐模型在Diginetica数据集和Retailrocket数据集上的实验效果如表1所示。从表1可以看出,在两个数据集、两种评测指标上,本发明的会话推荐模型均取得最佳的推荐效果。在Diginetica数据集上,与现有技术中的最优模型GC-SAN相比,本发明的会话推荐模型的HR@20为52.77%,MRR@20为18.25%,分别提升了3.79%和2.5%,性能提升显著;在Retailrocket数据集上,本发明的会话推荐模型的HR@20为53.92,MRR@20为29.35,与现有技术中的最优模型STAN相比,分别提升了0.8%、提升了1.95%,整体提升也较为不错。这充分证明了本发明的会话推荐模型中重要的结构——图同构网络和门控多层感知机——的有效性:多层堆叠的图同构网络能有效地学习物品之间的高阶转换关系,从而获得更准确的物品嵌入向量;而多层堆叠的门控多层感知机则通过空间门控单元快速捕获会话序列的位置信息,并结合多层感知机学习会话序列的长期依赖关系,从而增强了模型的表达能力,提升了会话推荐的性能。
表1.本发明的会话推荐模型与现有技术中的9个会话推荐模型的效果对比
与现有技术相比,本发明提供的一种会话推荐方法、模型、***和存储介质,在聚合高阶物品转移关系的基础上一次性捕获会话序列中的序列信息,其具备如下优点:
(1)性能稳定,运行速度快:不需要引入额外的位置编码,克服了模型性能依赖于位置编码的好坏的局限性,提高了性能的稳定性;同时,门控多层感知机具备线性的时间复杂度(O(N)),其计算开销比SAN更小,运行速度更快。
(2)简单高效,准确性高:通过一个空间投影矩阵作用于会话序列的时序维度,能够一次性捕获会话序列的序列位置信息和长期依赖关系,不需要堆叠多个卷积层,不仅简单高效,而且能够获得更准确的会话表示,从而提高会话推荐的性能和效果。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (10)
1.一种会话推荐方法,其特征在于,包括步骤:
S1:根据会话序列构建会话图;
S2:根据所述会话图聚合L阶邻居节点特征,获得物品嵌入向量;其中,L为正整数;
S3:捕获所述物品嵌入向量中的序列信息,获得会话序列特征向量;
S4:根据所述会话序列特征向量计算当前兴趣和全局兴趣,再根据所述当前兴趣和所述全局兴趣进行兴趣融合计算得到最终会话表示向量;
S5:根据所述最终会话表示向量计算所有候选物品的点击概率,并输出所述点击概率最高的K个候选物品作为最终的推荐物品;其中,K为正整数。
2.根据权利要求1所述的会话推荐方法,其特征在于,步骤S3具体为:
采用门控多层感知机算法一次性捕获所述物品嵌入向量的序列信息,从而计算得到所述会话序列特征向量;其中,所述门控多层感知机执行步骤:
S31:采用空间投影矩阵一次性捕获所述物品嵌入向量的序列位置信息,并使所述序列位置信息与物品嵌入信息融合得到会话序列中间向量;
S32:将所述物品嵌入向量和所述会话序列中间向量进行残差连接,获得所述会话序列特征向量;
S33:判断所述会话序列特征向量的计算次数是否达到预设循环次数,若否,则将所述会话序列特征向量作为所述物品嵌入向量,返回步骤S31,若是,则直接输出所述会话序列特征向量;其中,预设循环次数设为N;其中,N为正整数。
3.根据权利要求2所述的会话推荐方法,其特征在于:
所述会话序列中间向量的计算过程为:
zs=Dropout[SGU(zh)W4+b4] (12)
式中,zs表示所述会话序列中间向量,zh表示会话嵌入向量;hf表示所述物品嵌入向量,表示层归一化的物品嵌入向量;LayerNorm()表示LayerNorm正则化技术,Dropout()表示Dropout正则化技术,GeLU()表示GeLU激活函数,SGU(zh)表示空间门控单元算法对所述会话嵌入向量进行序列信息学习;W3表示第三参数矩阵,W4表示第四参数矩阵,b3表示第三参数向量,b4表示第四参数向量;
所述SGU(zh)的计算过程为:
[z1;z2]=zh (13)
zr=z1⊙zp (16)
式中,zr表示会话序列表示向量;zp表示序列位置向量,包含会话序列的序列位置信息;z1、z2分别表示由所述会话嵌入向量沿嵌入维度对半分割得到的第一半会话嵌入向量和第二半会话嵌入向量,二者均包含会话序列的物品嵌入信息;表示层归一化的第二半会话嵌入向量;Ws表示空间投影矩阵,bs表示空间参数向量;⊙表示哈达玛乘积;
所述会话序列特征向量的计算公式为:
4.根据权利要求1至3任一项所述的会话推荐方法,其特征在于,步骤S2具体为:
采用图同构网络来聚合所述会话图中的L阶邻居节点特征,从而获得所述物品嵌入向量;其中,所述图同构网络执行步骤:
S21:根据所述会话图的(l-1)阶嵌入向量计算l阶嵌入向量;其中,l∈[1,L],当l=1时,(l-1)阶嵌入向量即为初始嵌入向量;
S22:判断所述l阶嵌入向量的计算次数是否达到预设阶次,若否,则将所述l阶嵌入向量作为所述(l-1)阶嵌入向量,返回步骤S21,若是,则将所述l阶嵌入向量作为L阶嵌入向量,执行步骤S23;其中,预设阶次设为L;
S23:根据L阶嵌入向量计算物品嵌入向量。
5.根据权利要求4所述的会话推荐方法,其特征在于:
所述l阶嵌入向量的计算过程为:
hl=MLP{[Ain+Aout+I×(1+∈)]×hl-1} (6)
式中,表示所述l阶嵌入向量,hl表示l阶嵌入中间向量,hl-1表示(l-1)阶嵌入中间向量;Aout表示邻接矩阵中的出度矩阵,Ain表示邻接矩阵中的入度矩阵,I表示单位矩阵;∈表示初始的映射误差;ReLU()表示ReLU激活函数;Dropout()表示Dropout正则化技术;MLP()表示多层感知机算法;
所述物品嵌入向量的计算过程为:
gh=σ(Wg[h0;hL]) (8)
hf=gh⊙h0+(1-gh)⊙hL (9)
式中,hf表示所述物品嵌入向量,hL表示所述L阶嵌入向量;gh表示门控嵌入参数,由所述初始嵌入向量和所述L阶嵌入向量共同决定;[;]表示将所述初始嵌入向量和到点L阶嵌入向量进行拼接;Wg表示门控参数矩阵;σ()表示sigmoid激活函数;⊙表示哈达玛乘积。
6.根据权利要求5任一项所述的会话推荐方法,其特征在于,步骤S4具体为:
根据所述会话序列特征向量,通过平均池化计算得到所述当前兴趣,通过聚合池化计算得到所述全局兴趣;然后将当前兴趣和全局兴趣进行自适应融合,从而计算得到最终会话表示向量。
8.根据权利要求7所述的会话推荐方法,其特征在于,还包括参数优化步骤:
S6:将会话数据集中的会话序列进行预处理,然后将预处理后的会话序列按照9:1的比例随机划分成训练集和测试集,将所述训练集中的会话序列随机分为多个批次;
S7:初始化步骤S2~S4的网络参数,按批次对所述训练集的会话序列执行步骤S1~S5来优化所述网络参数;优化过程中,采用自适应动量算法优化所述网络参数,并采用交叉熵损失函数进行损失计算;
所述交叉熵损失函数的表达式为:
式中,表示所述点击概率;表示所述点击概率的第i个值,即在会话序列中第i个物品为下一次点击物品的概率值;yi为第i个物品的独热编码向量,其取值为1或0;yi=1表示第i个物品为正样例,即下一个点击的物品是第i个物品;yi=0表示第i个物品为负样例,即下一个点击的物品不是第i个物品;
S8:每次迭代后,对所述测试集的会话序列执行步骤S1~S5来进行性能测试,重复多个迭代直至性能不再提升。
9.一种会话推荐模型,其特征在于:
包括依次堆叠的构图模块、物品嵌入信息提取模块、序列信息提取模块、兴趣融合模块和预测模块;
所述构图模块根据会话序列构建会话图;
所述物品嵌入信息提取模块聚合所述会话图中的L阶邻居节点特征,获得物品嵌入向量;
所述序列信息提取模块捕获所述物品嵌入向量中的序列信息,获得会话序列特征向量;
所述兴趣融合模块根据到点会话序列特征向量计算当前兴趣和全局兴趣,并对所述当前兴趣和所述全局兴趣进行兴趣融合,得到最终会话表示向量;
所述预测模块根据是最终会话表示向量计算所有候选物品的点击概率,并输出所述点击概率最高的K个候选物品作为最终的推荐物品。
10.根据权利要求9所述的会话推荐模型,其特征在于:
所述会话图由初始嵌入向量和邻接矩阵组成;
所述物品嵌入信息提取模块包括依次堆叠的L层图同构网络和高速公路网络;第l层图同构网络根据会话图的(l-1)阶嵌入向量计算l阶嵌入向量;l∈[1,L],L为正整数;当l=1时,(l-1)阶嵌入向量即为初始嵌入向量;当l=L时,l阶嵌入向量即为L阶嵌入向量;高速公路网络根据初始嵌入向量和L阶嵌入向量计算得到物品嵌入向量;
所述序列信息提取模块包括依次堆叠的N层门控多层感知机;每个所述门控多层感知机包括依次堆叠的第一LayerNorm层、第一线性映射层、GeLU激活函数层、空间门控单元和第二线性映射层和残差连接层;所述第一LayerNorm层、所述第一线性映射层、所述GeLU激活函数层顺次处理所述物品嵌入向量,计算得到会话嵌入向量;所述空间门控单元根据所述会话嵌入向量计算得到会话序列中间向量;所述第二线性映射层和所述残差连接层顺次处理所述会话序列中间向量,计算得到所述会话序列特征向量;
其中,所述空间门控单元包括向量对半分割层、第二LayerNorm层、时序维度的线性映射层和门控融合层;所述向量对半分割层将所述会话嵌入向量对半分割成第一半会话嵌入向量和第二半会话嵌入向量;所述第二LayerNorm层对所述第二半会话嵌入向量进行层归一化;到点时序维度的线性映射层通过一个空间投影矩阵一次性捕获层归一化的第二半会话嵌入向量的序列位置信息,计算得到序列位置向量;到点门控融合层将到点第一半会话嵌入向量和到点序列位置向量进行融合,从而得到到点会话序列中间向量;
所述兴趣融合模块包括平均池化层、聚合池化层和门控融合网络;所述平均池化层根据所述会话序列特征向量计算得到所述当前兴趣,所述聚合池化层根据所述会话序列特征向量计算得到所述全局兴趣,所述门控融合网络将所述当前兴趣和所述全局兴趣进行融合,获得所述最终会话表示向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210497302.9A CN114925270B (zh) | 2022-05-09 | 一种会话推荐方法和模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210497302.9A CN114925270B (zh) | 2022-05-09 | 一种会话推荐方法和模型 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114925270A true CN114925270A (zh) | 2022-08-19 |
CN114925270B CN114925270B (zh) | 2024-07-19 |
Family
ID=
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226540A (zh) * | 2023-05-09 | 2023-06-06 | 浙江大学 | 一种基于用户兴趣域的端到端联邦个性化推荐方法和*** |
CN116662501A (zh) * | 2023-05-18 | 2023-08-29 | 哈尔滨工程大学 | 一种基于会话上下文信息的会话推荐方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084314A (zh) * | 2020-08-20 | 2020-12-15 | 电子科技大学 | 一种引入知识的生成式会话*** |
CN112101984A (zh) * | 2020-08-16 | 2020-12-18 | 复旦大学 | 一种融合用户微观行为和知识图谱的会话推荐模型 |
US20210319314A1 (en) * | 2020-04-09 | 2021-10-14 | Naver Corporation | End-To-End Graph Convolution Network |
CN114360639A (zh) * | 2022-01-11 | 2022-04-15 | 平安科技(深圳)有限公司 | 基于人工智能的药物靶点作用关系确定方法及装置 |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210319314A1 (en) * | 2020-04-09 | 2021-10-14 | Naver Corporation | End-To-End Graph Convolution Network |
CN112101984A (zh) * | 2020-08-16 | 2020-12-18 | 复旦大学 | 一种融合用户微观行为和知识图谱的会话推荐模型 |
CN112084314A (zh) * | 2020-08-20 | 2020-12-15 | 电子科技大学 | 一种引入知识的生成式会话*** |
CN114360639A (zh) * | 2022-01-11 | 2022-04-15 | 平安科技(深圳)有限公司 | 基于人工智能的药物靶点作用关系确定方法及装置 |
Non-Patent Citations (3)
Title |
---|
BIQING ZENG等: "Context -aware graph embedding with gate and attention for session-based recommendation", 《NEUROCOMPUTING》, vol. 574, 14 March 2024 (2024-03-14), pages 1 - 19 * |
QINGBO SUN等: "Time and Position Aware Graph Neural Networks for Session-based Recommendation", 《 2021 7TH INTERNATIONAL CONFERENCE ON COMPUTER AND COMMUNICATIONS (ICCC)》, 17 January 2022 (2022-01-17), pages 1 - 10 * |
纪厚业: "异质图神经网络关键技术研究", 《中国博士学位论文全文数据库 信息科技辑》, 15 January 2022 (2022-01-15), pages 138 - 43 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226540A (zh) * | 2023-05-09 | 2023-06-06 | 浙江大学 | 一种基于用户兴趣域的端到端联邦个性化推荐方法和*** |
CN116226540B (zh) * | 2023-05-09 | 2023-09-26 | 浙江大学 | 一种基于用户兴趣域的端到端联邦个性化推荐方法和*** |
CN116662501A (zh) * | 2023-05-18 | 2023-08-29 | 哈尔滨工程大学 | 一种基于会话上下文信息的会话推荐方法 |
CN116662501B (zh) * | 2023-05-18 | 2024-06-14 | 哈尔滨工程大学 | 一种基于会话上下文信息的会话推荐方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119467B (zh) | 一种基于会话的项目推荐方法、装置、设备及存储介质 | |
CN111797321B (zh) | 一种面向不同场景的个性化知识推荐方法及*** | |
CN112364976B (zh) | 基于会话推荐***的用户偏好预测方法 | |
KR102234850B1 (ko) | 릴레이션 네트워크에 기반한 지식 보완 방법 및 장치 | |
CN109635204A (zh) | 基于协同过滤和长短记忆网络的在线推荐*** | |
CN109740924B (zh) | 融合属性信息网络和矩阵分解的物品评分预测方法 | |
CN114510653B (zh) | 社交群体推荐方法、***、设备及存储介质 | |
CN115470406A (zh) | 一种基于双通道信息融合的图神经网络会话推荐方法 | |
CN114595383A (zh) | 一种基于会话序列的海洋环境数据推荐方法及*** | |
CN113868466B (zh) | 视频推荐的方法、装置、设备和存储介质 | |
CN114625969A (zh) | 一种基于交互近邻会话的推荐方法 | |
CN113610610B (zh) | 基于图神经网络和评论相似度的会话推荐方法和*** | |
CN116976505A (zh) | 基于信息共享的解耦注意网络的点击率预测方法 | |
CN113849725B (zh) | 一种基于图注意力对抗网络的社会化推荐方法及*** | |
CN114741599A (zh) | 基于知识增强和注意力机制的新闻推荐方法及*** | |
CN112364245B (zh) | 基于异构信息网络嵌入的Top-K电影推荐方法 | |
CN116975686A (zh) | 训练学生模型的方法、行为预测方法和装置 | |
CN116361643A (zh) | 实现对象推荐的模型训练方法及对象推荐方法及相关装置 | |
CN114925270B (zh) | 一种会话推荐方法和模型 | |
CN114925270A (zh) | 一种会话推荐方法和模型 | |
CN114117229A (zh) | 一种基于有向和无向结构信息的图神经网络的项目推荐方法 | |
CN117994011B (zh) | 基于记忆更新与邻居传递的电商动态感知数据推荐方法 | |
Wu et al. | SGT: Session-based Recommendation with GRU and Transformer | |
Fang et al. | Integrating users’ global and local interest for session-based recommendation | |
Kalidindi et al. | Discrete Deep Learning Based Collaborative Filtering Approach for Cold Start Problem. |
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 |