CN114791983B - 基于时序物品相似度的序列推荐方法 - Google Patents
基于时序物品相似度的序列推荐方法 Download PDFInfo
- Publication number
- CN114791983B CN114791983B CN202210384315.5A CN202210384315A CN114791983B CN 114791983 B CN114791983 B CN 114791983B CN 202210384315 A CN202210384315 A CN 202210384315A CN 114791983 B CN114791983 B CN 114791983B
- Authority
- CN
- China
- Prior art keywords
- vector
- embedded
- sequence
- embedding
- exp
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 239000013598 vector Substances 0.000 claims abstract description 241
- 230000007246 mechanism Effects 0.000 claims abstract description 17
- 238000003062 neural network model Methods 0.000 claims abstract description 10
- 239000011159 matrix material Substances 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 11
- 238000010606 normalization Methods 0.000 claims description 11
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 238000005259 measurement Methods 0.000 claims description 2
- 238000002156 mixing Methods 0.000 claims description 2
- 230000002596 correlated effect Effects 0.000 claims 1
- 230000002452 interceptive effect Effects 0.000 abstract description 4
- 230000036962 time dependent Effects 0.000 abstract description 3
- 230000000694 effects Effects 0.000 description 13
- 230000003993 interaction Effects 0.000 description 10
- 238000002474 experimental method Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000002679 ablation Methods 0.000 description 3
- 230000003796 beauty Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition 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/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于序列推荐技术领域,具体公开了一种基于时序物品相似度的序列推荐方法,包括建立神经网络模型,构建基于时间信息的嵌入向量;包括与绝对时间相关的嵌入向量以及相对时间相关的嵌入向量;自注意力机制学习模块,结合相对嵌入向量获得局部特征X;全局偏好学习模块获得全局特征Y;按当前候选物品和最近交互物品的相似度,对局部特征X与全局特征Y进行加权求和得到特征表示zl,并以此为依据进行序列中的下一物品的推荐。本发明引入更多的经过设计的时间嵌入向量,提高时间信息利用的有效程度,进而提高序列推荐的正确性。
Description
技术领域
本发明属于序列推荐技术领域,具体涉及一种基于时序物品相似度的序列推荐方法。
背景技术
推荐系统是一种解决信息过载问题的强大工具,它能够让用户根据自己的喜好轻松过滤掉海量的物品,为用户推荐喜欢的物品。推荐系统可以分为传统的推荐系统和基于序列的推荐系统。像基于物品的推荐系统和协同过滤推荐系统等,它们属于传统的推荐系统。它们更倾向于将用户的历史行为看作是静止的,这些行为之间是没有相互的关联的,都是同等重要的。序列推荐系统旨在从用户的历史交互行为中捕获用户的动态偏好。因此,序列推荐是更符合真实世界的情况,并且能够考虑到更多的信息,得到更加准确的推荐结果。因此,它也更加流行。
随着时代的进步,序列推荐算法的实现形式也随之进步。传统的序列推荐方法主要运用的是机器学习方法(例如k-means,马尔科夫链和矩阵分解)来捕获各种各样的序列数据。矩阵分解能够利用各种各样的序列,从而捕获用户的长期偏好。在目前的基于深度学习的序列推荐方法中,通过利用卷积神经网络(CNN),循环神经网络(RNN)等等,能够挖掘更多的特征信息,从而让推荐的效果得到大幅度的提升。这主要是因为基于深度学习的模型能够利用了更长的序列,这更有利于从整个序列中学习语义信息。除此之外,基于深度学习的模型在稀疏的数据上也取得了更好的效果,对于不同长度的输入数据的处理也是更加灵活。
尽管通过使用深度学习方法,序列推荐的推荐效果取得了较大的进步,但是仍然有一些问题待解决,其中之一是用户的意图容易被候选物品所干扰,另一个是忽视了时间戳的重要性,通过利用各种各样的时间戳,不同的模式和信息能够被提取出来。尽管最近J.Li,Y.Wang,和J.McAuley,在"Time Interval Aware Self-Attention for SequentialRecommendation,"中提出了TiSASRec模型,成功整合了时间信息,但是单独的时间嵌入向量限制了时间信息的有效利用。
发明内容
本发明意在提供一种基于时序物品相似度的序列推荐方法,引入更多的经过设计的时间嵌入向量,提高时间信息利用的有效程度,进而提高序列推荐的正确性。
本发明中的方法包括:
步骤一、根据以下描述建立神经网络模型:
1.1)以长度为L的用户历史序列中,用户点击各物品的时间信息ti组成的时间序列T={t1;t2;…;tL}作为输入,构建基于时间信息的嵌入向量;
1.2)包含与绝对时间相关的嵌入向量EDay和EPos中的至少一个,如果仅仅构建一个嵌入向量,则以该向量作为绝对嵌入向量EAbs;如果构建两个嵌入向量,则以EDay和EPos结合生成绝对嵌入向量EAbs;
所述嵌入向量EDay,通过以下方式获得:
1.2.1)定义可以学习的嵌入向量MD∈R|D|×d,其中|D|是以天作为测量单元的时间间隔,其值为用户序列中最早点击的物品的点击时间到最晚点击的物品的点击时间之间的时间间隔加上一天,有:
MD={day0,day1,…,dayi,…,day|D|-2,day|D|-1},
其中,dayi表示距离最早点击物品的点击时间为i天的天数时间嵌入向量,维度为d;
所述EPos∈R|L|×d,为基于历史序列中每个物品的索引信息的嵌入向量;
1.3)包含与相对时间相关的嵌入向量EExp、ELog、ESin中的至少一个,如果仅仅构建一个嵌入向量,则以该向量作为相对嵌入向量ERel,;如果构建两个嵌入向量,则以该两个嵌入向量结合生成相对嵌入向量ERel;如果构建三个嵌入向量,则先以任意两个嵌入向量进行结合,得到的结果再与第三个嵌入向量结合,得到最后的相对嵌入向量ERel;
所述嵌入向量EExp、Elog及ESin的构建方式如下:
1.5)以各用户历史序列共同输入全局偏好学习模块,获得所有历史序列的全局特征Y;
1.6)依据当前候选物品和最近交互物品的相似度计算结果,对局部特征X与全局特征Y进行加权求和,得到用于预测的特征表示zl,并以此为依据进行序列中的下一物品的推荐;
步骤二、对建立的神经网络模型实施训练;
步骤三、利用训练好的神经网络模型进行物品序列推荐。
α=σ([EDay,EPOS]Wday_pos+bbay_pos),
其中,[.,.]表示外部的连接操作,Wday_pos为可学习的权重向量,bday_pos为该部分的偏置,为sigmoid激活函数σ(z)=1/(1+e-z),表示元素积,αs为向量α中的元素,为嵌入向量EAbs中的元素,为嵌入向量EDay中的元素,为嵌入向量EPos中的元素。
进一步的,结合嵌入向量EExp、ELog、ESin得到相对嵌入向量ERel的过程如下:
首先按照以下方式将嵌入向量EExp和嵌入向量ELog结合为嵌入向量EExp_Log:
β=σ([EExp,ELog]Wexp_log+bexp_log),
再将嵌入向量EExp_Log与ESin按照以下方式结合为嵌入向量ERel:
γ=σ([EExp_Log,ESin]Wsin_log_exp+bsin_log_exp
进一步的,所述自注意力机制学习模块包括依次连接的多个自注意力块SAB,第b个自注意力块的输出如下:
X(b)=SAB(b)(X(b-1)),b∈{1,2,…,B}
SAB(X)=FFL(SAL(X))
FFL(X')=ReLU(X'W1+1Tb1)W2+1Tb2
其中,每个自注意力块SAB皆对应一自注意力层SAL,Q=XWQ,K=XWK,V=XWV, 和为不同的可学习的权重矩阵,为前馈神经网络层FFL中的两个卷积层的可学习的权重矩阵,则是这两个卷积层的偏置,表示单位向量,为一个被用作掩码的低维度矩阵;
以最后一个自注意力块SAB(B)的输出向量X(B)作为局部特征X。
进一步的,在自注意力机制学习模块加入标准化层对输入数据进行标准化,以及使用Dropout机制和残差连接;
所述标准化层、Dropout机制和残差连接的用法表达如下:
g(x)=x+Dropout(g(LayerNorm(x))),
其中,LayerNorm(x)表示归一化层,g(x)表示自注意力层SAL或者前馈网络层FFL。
进一步的,全局偏好学习模块中利用注意力层LBA(·)计算全局特征Y,过程如下:
y=LBA(E)=softmax(qS(EW'K)T)EW'V,
全局特征Y由全局特征向量y堆叠而成的,即矩阵Y的每一行都相同。
进一步的,在全局偏好学习模块引入Dropout机制如下:
yl=Dropout(y),l∈{1,2,…,L}。
进一步的,所述局部特征X与全局特征Y按照以下方式加权求和得到用于预测的特征表示zl:
θ=σ([msl,y,mi]WG+bG),
进一步的,计算物品i成为序列中的第(l+1)个物品的可能性计算值rl+1,i如下:
rl+1,i=zl(mi)T,
取rl+1,i最大的物品i作为推荐结果。
进一步,使用Adam优化器进行训练,其损失函数L表示如下:
相较于现有技术,本发明提出的模型中设计了多元时间嵌入向量,对序列中的用户-物品交互位置进行编码,得到交互位置的绝对时间戳和相对时间戳,同时这个多元核能够充分利用相对时间戳和绝对时间戳来建立一个独一无二的嵌入矩阵,提高时间信息利用的有效程度,提高了预测结果准确性。
本发明提出的模型中提出了全局特征学习子模块,其目的就是为了有效地捕获用户的全局偏好,考虑到用户的群体性因素,为预测过程增加了一个宏观的维度,进一步的提高预测结果的准确性。
在本发明的一些实施例中,还通过计算候选物品和最近交互物品的相似度来考虑候选物品对最终结果的影响。
本发明在五个公开数据集上进行实验,并与现有的先进模型进行对比。大量的实验结果证明,提出的模型比大多数序列推荐模型更加高效,这证明了本发明提出的预测方法的有效性和可行性。
附图说明
图1为本发明实施例中的TisseRec神经网络模型的逻辑框图。
图2a为本发明实施例中的绝对嵌入向量的计算过程示意图。
图2b为本发明实施例中的相对嵌入向量的计算过程示意图。
图3为本发明实施例模拟的SASRec模型与TisseRec模型在五个不同数据集上关于HR@10性能的对比图。
图4为本发明实施例模拟的SASRec模型和TisseRec模型在五个不同数据集上关于NDCG@10性能的对比图。
图5为本发明实施例模拟的TisseRec模型在五个不同数据集下关于HR@10和NDCG@10性能的柱状对比示意图。
图6为本发明实施例模拟的TisseRec模型消融对比实验在五个不同数据集下关于NDCG@10性能的曲线对比图。
图7为本发明实施例模拟的TisseRec模型消融对比实验在五个不同数据集下关于HR@10性能的曲线对比图。
具体实施方式
下面将结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例中,首先构建了如图1所示的TisseRec神经网络模型框架,简称TisseRec模型。
从图1可以看出,TisseRec模型主要包含多时间戳嵌入向量学习模块(Multil-temporal Embeddings learning)、局部特征学习模块(Local RepresentationLearning)、全局特征学习模块(Global Representation Learning)和表示模块(Gating),各模块的构架及相互作用具体如下:
多时间戳嵌入向量学习模块
为了更加充分利用时间信息,本实施例的多时间戳嵌入向量学习模块依照如下方法运行:
首先,构建基于时间信息的嵌入向量:EExp、ELog、ESin、EDay和EPos。
在用户的历史序列中,每一个物品都是用户在特定时间点击的,于是输入的一个长度为L的历史序列,对应有一个长度同样为L的,由用户点击各物品的时间信息ti组成的时间序列T={t1;t2;…;tL}。
本实施例一方面将时间序列转化为嵌入向量和其中d表示嵌入向量的维度,EPos包含了历史序列中每个物品的索引信息,即每个物品在序列中的绝对位置信息,EDay则包含了历史序列中每个物品的以一天作为时间间隔的时间信息,即精确到日的绝对时间信息。通过将一天作为时间间隔,EDay能够节省更多的存储空间,同时EDay还是能够充分利用用户历史序列中的时间信息,所以,相较于以真实点击时间点为时间信息的嵌入向量ETimestamp,EDay更加合理;此外,本实施例保持了一个可以学习的嵌入向量MD∈R|D|×d,其中|D|是以天作为测量单元的时间间隔,|D|的值为用户序列中最早点击的物品的点击时间到最晚点击的物品的点击时间之间的时间间隔加上一天;MD={day0,day1,…,dayi,…,day|D|-2,day|D|-1},dayi表示距离最早点击物品的点击时间为i天的天数时间嵌入向量,维度为d,如果用户最早点击物品的时间为te,那么时间序列T与时间te的差为可以将时间差的单位用天数来表示,那么就可以在MD∈R|D|×d中找到对应天数的时间嵌入向量,而具体值通过神经网络训练得来。
另一方面,还将时间序列转化为嵌入向量和这三种嵌入方式提供了不同类型时间数据的表达,例如,Sin函数方便捕捉周期性的数据,对于时间间隔比较大的数据序列,可以利用Exp函数将其迅速衰减为零,或者利用Log函数将时间间隔逐步缩小。
本实施例使用这些嵌入向量来较大程度地利用不同的时间信息。具体的,本实施例定义了一个时间差矩阵其中的每个元素被定义为其中τ是一个可供调节的时间差。在嵌入向量ESin中,时间差dab被转化为向量转换的方法如等式(1):
其中是向量的第c个值。在上述的等式中,d表示嵌入向量的维度,freq是一个可以自己设置的超参数,在本实施例中取5,主要是对时间差dab做线性变换。类似的,在嵌入向量EExp和ELog中,dab被转化为和转换的方法等式(2):
其次,通过结合EDay和EPos来构建绝对嵌入向量。
绝对嵌入向量和相对嵌入向量的计算过程基本如图2a所示:
这里,本实施例不是简单地将EDay和EPos进行相加得到绝对嵌入向量。而是通过计算嵌入向量EDay和嵌入向量EPos的权重,然后将它们按照权重进行相加,图2a中权重α在物品形似度门控ISG(Item Similarity Gating)模块中计算,具体的计算过程被如下:
α=σ([EDay,EPos]Wday_pos+bday_pos), (3)
此处及后续部分中,[.,.]表示外部的连接操作,为该部分的可学习的权重向量,为该部分的偏置。为了将在α的每一个元素限制在0到1之间,本实施例中利用了sigmoid激活函数σ(z)=1/(1+e-z)。然后将加权后的嵌入向量EDay和嵌入向量EPos相加,得到了嵌入向量EAbs,计算的过程可以用等式(4)描述:
其中,表示绝对嵌入向量,表示序列中位置为的位置嵌入向量,表示序列中位置为的时间嵌入向量。表示元素积。是绝对嵌入向量EAbs中的一个元素,是嵌入向量EPos中的一个元素,是嵌入向量EDay中的一个元素。
同时,通过结合EExp,Elog和ESin来构建相对嵌入向量。
相对嵌入向量的计算过程基本如图2b所示:
同样的,通过引入权重β来平衡嵌入向量EExp和嵌入向量ELog,β的计算的过程可以用等式(5)来描述:
β=σ({EExp,Elog]Wexp_log+bexp_log), (5)
而后,本发明将嵌入向量ELog和嵌入向量EExp按照权重β加权相加,得到了相对嵌入向量EExp_Log,计算公式如下:
然后再一次的,引入权重γ来平衡相对嵌入向量EExp_Log和嵌入向量ESin,权重γ的计算如下:
γ=σ([EExp_Log,ESin]Wsin_log_exp+bsin_log_exp), (7)
局部特征学习模块
在局部特征学习模块中,本实施例使用与文献“W.-C.Kang and J.McAuley,"Self-Attentive Sequential Recommendation,"presented at the 2018 IEEEInternational Conference on Data Mining(ICDM),2018.”中的SASRec模型相同的方法,即自注意力块最后一个SAB(b)的输出向量X(b),被作为用户在一个序列中的动态偏好,即用户的局部特征。由于序列中用户物品交互的绝对位置的重要性,本发明将绝对嵌入向量EAbs和物品嵌入向量相加,能够得到输入向量具体的过程能够用如下的等式表示:
然后,本发明将输入矩阵X(0)输入次序连接的多个自注意力块SAB中,第b个自注意力块的输出如等式(10)所示:
X(b)=SAB(b)(X(b-1))b∈{1,2,…,B}, (10)
其中每一个自注意力块SAB(·)能够被视作先将输入向量X送入自注意力层SAL(·),然后将得到的结果被送入前馈神经网络层FFL(·),具体的计算过程如等式(11-14):
SAB(X)=FFL(SAL(X)) (11)
FFL(X')=ReLU(X'W1+1Tb1)W2+1Tb2 (13)
其中,X为包含绝对位置信息的输入矩阵,包含了其在序列中的位置信息和序列中的绝对时间戳信息(来自绝对嵌入向量),Q=XWQ,K=XWK,V=XWV,其中WQ,WK和WV代表了不同的可学习的权重矩阵。为了考虑序列中的每对交互的影响,此处使用了相对嵌入向量ERel;此外还引入权重来平衡绝对嵌入向量和相对嵌入向量对结果的影响。在等式(14)中,为该部分的可学习的权重矩阵,为该部分的偏置。通过使用这一方法,相对嵌入向量对结果的影响能够得到控制。
为了提高模型的灵活性和准确性,是前馈神经网络层中两个卷积层的可学习的权重矩阵,则是这两个卷积层的偏置。在上述式子中,表示单位向量,并且是一个被用作掩码的低维度矩阵,目的是为了只保存上一步的转变。同时,此处引入了标准化层来对输入数据进行标准化,将输入数据调节到一个正常的范围,具有提高模型的稳定性加快模型收敛速度的效果,还使用了Dropout机制来避免过拟合,同时使用了残差连接解决梯度消失问题以及保留底层学习到的优良的特征。其中标准化层、随即丢弃机制(Dropout)和残差连接的用法与SASRec模型中的相同,用法如下:
g(x)=x+Dropout(g(LayerNorm(x))), (15)
其中,LayerNorm(x)表示归一化层,g(x)表示自注意力层或者前馈网络层,在自注意力块的每一层都对输入使用了归一化层,然后将其送入神经网络,并将输入和输出相加一起作为下一层的输入,这就是残差连接,这种方法避免了梯度消失问题,有效地保存了之前学习到的优良特征。Dropout机制是训练网络的过程中,让一些神经元不训练,这有效的避免了过拟合。
全局偏好学习模块;
本实施例的该模块中,引入了基于位置的注意力层LBA(·),该注意力层在文献“X.He et al.,"Nais:Neural attentive item similarity model forrecommendation,"vol.30,no.12,pp.2354-2366,2018”有着详细的描述;利用该注意力层,并以各用户的物品嵌入矩阵为输入,可以学习得到所有用户的全局学习偏好。值得注意的是,用户u对于交互物品s的偏好可以看作是由(l+1)步的其它交互物品特征的归一化累加而成的,所以预测的评分能够被考虑作为用户u的历史物品和候选物品s之间的相似度,计算的过程如等式(16):
y=LBA(E)=softmax(qS(EW'K)T)EW'V, (17)
yl=Dropout(y),l∈{1,2,…,L}。 (18)
其中yl,l∈{1,2,…,L}都是相等的,矩阵Y是全局特征向量y堆叠而成的,即矩阵Y的每一行都相同。引入Y是为了便于矩阵的整体计算。
物品相似度门控模块
设计物品相似度门控模块有两个主要的原因,首先,虽然全局特征和局部特征对于最终的推荐都是重要的,但有必要辨别全局特征学习和局部特征学习哪一个更加重要;其次,在用户看到候选物品集时,用户意图被候选物品集干扰的现象普遍存在。
本实施例中,设计了一个新的相似度门控模块,这对于判定特定用户的局部偏好和所有用户的全局偏好两者的重要性是至关重要的,同时,这个模块通过计算候选物品和最近交互物品的相似度来考虑候选物品对最终结果的影响,相似度计算值θ的计算等式如下:
θ=σ([msl,y,mi]WG+bG), (19)
其中表示全局特征向量,是最近交互的物品嵌入向量,是候选物品嵌入向量,msl,mi都为物品嵌入向量E中的元素。和分别表示此处的可学习的权重矩阵和偏置,同样的,此处使用了sigmoid函数作为激活函数,最终计算得到向量
rl+1,i=zi(mi)T。 (21)
本实施例中,使用Adam优化器进行训练,其损失函数L如等式(21):
实验例1
本实验在操作系统为Windows10,处理器为Intel-CPU i7-10700,其主频为2.9GHz,内存为32GiB的电脑上完成。本实验的Python的配置环境为:python3.7+tensorflow1.14,并利用PyCharm集成开发环境运行代码,构建本实验例中的各神经网络模型以完成实验。数据集按照8:2的比例拆分成训练集和测试集,并通过训练集训练模型,测试集来测试各模型。在用户的历史序列中,用户历史序列中的最后一个物品被用于测试,其它物品被用于训练。在训练的过程中,通过使用两个常见的评估方法来评估模型。本实验例在五个真实的数据集上进行实验,包括:
Beauty(Amazonreviewdata(ucsd.edu)),
Games(https://cseweb.ucsd.edu/~jmcauley/datasets.html#steam_data),
Steam(https://cseweb.ucsd.edu/~jmcauley/datasets.html#steam_data),
Foursquare(UMN/SarwatFoursquareDataset:FreeDownload,Borrow, andStreaming:InternetArchive),
Tmall(https://tianchi.aliyun.com/dataset/),
数据集的具体的统计信息如下表所示:
表1:处理过的数据集的统计信息
数据集 | 用户数量 | 物品数量 | 交互次数 | 平均序列长度 | 密度 |
Games | 29341 | 23464 | 280945 | 9.58 | 0.04% |
Beauty | 40226 | 54542 | 353962 | 8.8 | 0.02% |
Foursquare | 22748 | 11146 | 145106 | 6.38 | 0.06% |
Tmall | 201139 | 97636 | 1936790 | 9.63 | 0.01% |
Steam | 281428 | 13044 | 3488899 | 12.4 | 0.10% |
本实验例使用点击率来评估推荐物品是用户交互物品的百分比。其计算的方法如等式(23):
本实验例中还利用了归一化折损累积增益(NDCG@10)来进行评估,因为它考虑到了正确推荐物品在推荐列表中的位置,它用等式(24)来计算:
通过大量的实验,九个参数的理想值被展示到表格2中:
表2:参数的表述和理想值
参数名称 | 描述 | 理想值 |
num_epochs | 迭代次数 | 450 |
batch_size | 每次训练的批数 | 128 |
Lr | 学习率 | 0.001 |
L | 用户序列的长度 | 50 |
d | 嵌入向量的维度 | 50 |
B | 注意力的块的数量 | 2 |
num_heads | 注意力的头部数量超参数 | 1 |
dropout_rate | Dropout机制下的未训练神经元占比 | 0.5 |
l2_reg | 损失函数的惩罚系数 | 0 |
下面的模型被用于与本实施例中构建的TisseRec模型进行比较。
BPRMF模型出自文献“S.Rendle,C.Freudenthaler,Z.Gantner,andL.J.a.p.a.Schmidt-Thieme,"BPR:Bayesian personalizedrankingfromimplicitfeedback,"2012.”.基于MF设计的一种推荐模型,利用了成对损失作为损失函数。
FISM模型出自文献“S.Kabbur,X.Ning,and G.Karypis,"Fism:factoreditemsimilaritymodels fortop-nrecommendersystems,"inProceedings ofthe19thACMSIGKDD internationalconference onKnowledgediscoveryand datamining,2013,pp.659-667.”.通过学习物品之间的相似度矩阵用来进行推荐,这让它成为一种流行的模型。
GRU4Rec模型出自文献“B.Hidasi,A.Karatzoglou,L.Baltrunas,andD.J.a.p.a.Tikk,"Session-based recommendationswithrecurrentneuralnetworks,"2015.”.是最早基于深度学习改进的模型之一,使用了额外的采样策略和列表损失函数进行序列推荐。
前述的SASRec模型,因其使用了自注意力网络,成为了一个比较流行的推荐模型。
表3:不同模型的HR@10和NDCG@10的比较
数据集 | Metric | BPRMF | FISM | GRU4Rec | SASRec | TisseRec | TisseRecvs.SASRec |
Tmall | HR@10 | 0.1744 | 0.2149 | 0.3526 | 0.3844 | 0.4382 | 14.00% |
NDCG@10 | 0.0825 | 0.1043 | 0.2072 | 0.2123 | 0.2462 | 15.97% | |
Steam | HR@10 | 0.1023 | 0.3183 | 0.3177 | 0.3424 | 0.4489 | 31.10% |
NDCG@10 | 0.0468 | 0.1703 | 0.1707 | 0.1789 | 0.255 | 42.54% | |
Games | HR@10 | 0.3454 | 0.4791 | 0.4825 | 0.5769 | 0.6662 | 15.49% |
NDCG@10 | 0.1981 | 0.2631 | 0.2906 | 0.3507 | 0.4134 | 17.88% | |
Beauty | HR@10 | 0.2498 | 0.3533 | 0.2729 | 0.3433 | 0.4311 | 25.58% |
NDCG@10 | 0.1148 | 0.1942 | 0.1683 | 0.2119 | 0.2658 | 25.41% | |
Foursquare | HR@10 | 0.2659 | 0.3977 | 0.4324 | 0.4767 | 0.5095 | 6.88% |
NDCG@10 | 0.1287 | 0.2025 | 0.2375 | 0.2611 | 0.2818 | 7.93% |
从表格3可以看出,本是实施例中的TisseRec模型在HR@10和NDCG@10与基准模型相比都达到了较好的结果。TisseRec模型和SASRec模型实验比较结果被展示在图3和图4中。
从图3和图4可以看出,TisseRec在五个数据集上的表现比SAS更好。在Foursquare数据集上,之后SAS的表现比TisseRec的表现更好,这可能是因为随着训练时间变长TisseRec过拟合造成的。
实验例2
为了更好了验证本发明中使用不同的嵌入向量所带来的性能,本实验例还包括了消融对比实验。
正如表格4展示的那样,Model-1是本发明提出的模型,其它的模型相对与TisseRec模型有着不同的设置,包括用于产生绝对嵌入向量的嵌入向量(AbsoluteEmbeddings),产生绝对嵌入向量的嵌入向量(Relative Embeddings)和以及产生绝对/相对嵌入向量的计算方法(Calculating approaches)。模型的不同的设置被展示如下:
表4:TisseRec模型的不同设置
Model ID | 绝对嵌入向量 | 相对嵌入向量 | 计算方法 |
Model-1 | EDay,EPos | ELog,ESin,EExp | 乘积,加权相加 |
Model-2 | EPos | EExp | 乘积 |
Model-3 | EPos | ESin | 乘积 |
Model-4 | EPos | EExp,ELog | 乘积,前向神经网络 |
在Model-2中,直接定义EPos作为绝对嵌入向量,EExp作为相对嵌入向量。因为Model-2中绝对/相对嵌入向量的产生均只涉及一个嵌入向量,所以有EAbs等于EPos,并且ERel等于EExp。换一句话说,这绝对嵌入向量计算模块和这相对嵌入向量计算模块是没有用的。因此,等式(12)可以被下面的等式替换:
在Model-4中,本发明使用EPos作为绝对时间信息,使用EExp和ELog作为相对时间信息,其中EAbs等同于EPos。相对嵌入向量的计算则不同于本实施例先前提出的模型,首先,需要将ESin和ELog拼接到一起得到ERel。然后本发明将ERel放入前馈神经网络得到最终的ERel。Model-4同样没有考虑相对嵌入向量的负影响,计算的过程如等式(25):
ERel=FFL([ESin,ELog])。 (26)
模型的不同的设置的表现结果可以在表5展示:
表5:不同模型设置的表现结果
为了更加突出表现结果的对比,本实施例将结果用柱状图图5画出,图中,同一簇柱形中各柱形从左至右依次对应,Model-1、Model-2、Model-3和Model-4;
从比较中可以看,到在训练的过程中,Model-1的表现比Model-2和Model-3在大多数的数据集的表现要好。原因是Model-1仅仅使用EExp作为相对嵌入向量并且Model-2仅仅使用Elog作为相对嵌入向量,但是提出的模型使用EExp,ELog和ESin作为相对嵌入向量。所以这提出的模型使用了更多的信息相对于Model-2和Model-3。
在不同的数据集中,Model-2和Model-3的表现是不同的,主要是因为EExp和ESin捕获了不同的时间信息。如果本发明使用EExp作为相对嵌入向量,教大的时间差能够快速的缩小到零。但是如果本发明使用ESin作为相对时间戳,这个相对时间戳仅仅捕获了时间周期性对结果的影响。在不同的数据集中时间信息是不同的,因此模型在不同数据集中的表现也是不同的。
相比于Model-2和Model-3,Model-4的表现比Model-2和Model-3更差。尽管Model-4比Model-2和Model-3使用了更多的信息,但是通过前馈神经网络结合EExp和ELog造成了过拟合。
从表格5中可以看出Model-2,Model-3和Model-4在Foursquare数据集上的表现都比Model-1差,在这些模型中,没有考虑相对嵌入向量的负影响。
另外可以看出,尽管不如Model-1,但Model-2和Model-3,Model-4的表现在除了Foursquare数据集以外的数据集上皆好于SASRec模型,特别是Model-3和Model-4,仅仅是在Foursquare数据集上的NDCG@10表现方面落后于SASRec模型,而HR@10方面的表现仍旧优于SASRec模型。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (8)
1.基于时序物品相似度的序列推荐方法,其特征在于,包括以下步骤:
步骤一、根据以下描述建立神经网络模型:
1.1)以长度为L的用户历史序列中,用户点击各物品的时间信息ti组成的时间序列T={t1;t2;...;tL}作为输入,构建基于时间信息的嵌入向量;
1.2)包含与绝对时间相关的嵌入向量EDay和EPos中的至少一个,如果仅仅构建一个嵌入向量,则以该向量作为绝对嵌入向量EAbs;如果构建两个嵌入向量,则以EDay和EPos结合生成绝对嵌入向量EAbs;
所述嵌入向量EDay,通过以下方式获得:
1.2.1)定义可以学习的嵌入向量MD∈R|D|×d,其中|D|是以天作为测量单元的时间间隔,其值为用户序列中最早点击的物品的点击时间到最晚点击的物品的点击时间之间的时间间隔加上一天,有:
MD={day0,dat1,...,dayi,...,day|D|-2,day|D|-1},
其中,dayi表示距离最早点击物品的点击时间为i天的天数时间嵌入向量,维度为d;
所述嵌入向量EPos∈R|L|×d,为基于历史序列中每个物品的索引信息的嵌入向量;
1.3)包含与相对时间相关的嵌入向量EExp、ELog、ESin中的至少一个,如果仅仅构建一个嵌入向量,则以该向量作为相对嵌入向量ERel;如果构建两个嵌入向量,则以该两个嵌入向量结合生成相对嵌入向量ERel;如果构建三个嵌入向量,则先以任意两个嵌入向量进行结合,得到的结果再与第三个嵌入向量结合,得到最后的相对嵌入向量ERel;
所述嵌入向量EExp、ELog及ESin的构建方式如下:
1.5)以各用户历史序列共同输入全局偏好学习模块,获得所有历史序列的全局特征Y;
1.6)依据当前候选物品和最近交互物品的相似度计算结果,对局部特征X与全局特征Y进行加权求和,得到用于预测的特征表示zl,并以此为依据进行序列中的下一物品的推荐;
步骤二、对建立的神经网络模型实施训练;
步骤三、利用训练好的神经网络模型进行物品序列推荐。
3.根据权利要求1所述的方法,其特征在于,结合嵌入向量EExp、ELog、ESin得到相对嵌入向量ERel的过程如下:
首先按照以下方式将嵌入向量EExp和嵌入向量ELog结合为嵌入向量EExp_Log:
β=σ([EExp,ELog]Wexp_log+bexp_log),
再将嵌入向量EExp_Log与ESin按照以下方式结合为嵌入向量ERel:
γ=σ([EExp_Log,ESin]Wsin_log_exp+bsin_log_exp)
4.根据权利要求1所述的方法,其特征在于,所述自注意力机制学习模块包括依次连接的多个自注意力块SAB,第b个自注意力块的输出如下:
X(b)=SAB(b)(X(b-1),b∈{1,2,...,B}
SAB(X)=FFL(SAL(X))
FFL(X′)=ReL U(X′W1+1Tb1)W2+1Tb2
其中,每个自注意力块SAB皆对应一自注意力层SAL,Q=XWQ,K=XWK,V=XWV, 和为不同的可学习的权重矩阵,为前馈神经网络层FFL中的两个卷积层的可学习的权重矩阵,则是这两个卷积层的偏置,表示单位向量,为一个被用作掩码的低维度矩阵;
以最后一个自注意力块SAB(B)的输出向量X(B)作为局部特征X。
5.根据权利要求4所述的方法,其特征在于,在自注意力机制学习模块加入标准化层对输入数据进行标准化,以及使用Dropout机制和残差连接;
所述标准化层、Dropout机制和残差连接的用法表达如下:
g(x)=x+Dropout(g(LayerNorm(x))),
其中,LayerNorm(x)表示归一化层,g(x)表示自注意力层SAL或者前馈网络层FFL。
8.根据权利要求1所述的方法,其特征在于,计算物品i成为序列中的第(l+1)个物品的可能性计算值r1+1,i如下:
rl+1,i=zl(mi)T,
取r1+1,i最大的物品i作为推荐结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210384315.5A CN114791983B (zh) | 2022-04-13 | 2022-04-13 | 基于时序物品相似度的序列推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210384315.5A CN114791983B (zh) | 2022-04-13 | 2022-04-13 | 基于时序物品相似度的序列推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114791983A CN114791983A (zh) | 2022-07-26 |
CN114791983B true CN114791983B (zh) | 2023-04-07 |
Family
ID=82461102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210384315.5A Active CN114791983B (zh) | 2022-04-13 | 2022-04-13 | 基于时序物品相似度的序列推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114791983B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111127165A (zh) * | 2019-12-26 | 2020-05-08 | 纪信智达(广州)信息技术有限公司 | 基于自注意力自编码器的序列推荐方法 |
CN111127142A (zh) * | 2019-12-16 | 2020-05-08 | 东北大学秦皇岛分校 | 一种基于广义神经注意力的物品推荐方法 |
CN112258262A (zh) * | 2020-09-15 | 2021-01-22 | 浙江大学 | 一种基于卷积自注意力网络的会话推荐方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11488270B2 (en) * | 2016-12-07 | 2022-11-01 | Tata Consultancy Services Limited | System and method for context and sequence aware recommendation |
US10891545B2 (en) * | 2017-03-10 | 2021-01-12 | International Business Machines Corporation | Multi-dimensional time series event prediction via convolutional neural network(s) |
US11403555B2 (en) * | 2019-03-08 | 2022-08-02 | Accenture Global Solutions Limited | Sequence, frequency, and time interval based journey recommendation |
CN110807156A (zh) * | 2019-10-23 | 2020-02-18 | 山东师范大学 | 一种基于用户序列点击行为的兴趣推荐方法及系统 |
CN112148980B (zh) * | 2020-09-28 | 2023-11-03 | 京东科技控股股份有限公司 | 基于用户点击的物品推荐方法、装置、设备和存储介质 |
CN114168845B (zh) * | 2021-11-24 | 2023-08-15 | 电子科技大学 | 一种基于多任务学习的序列化推荐方法 |
-
2022
- 2022-04-13 CN CN202210384315.5A patent/CN114791983B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111127142A (zh) * | 2019-12-16 | 2020-05-08 | 东北大学秦皇岛分校 | 一种基于广义神经注意力的物品推荐方法 |
CN111127165A (zh) * | 2019-12-26 | 2020-05-08 | 纪信智达(广州)信息技术有限公司 | 基于自注意力自编码器的序列推荐方法 |
CN112258262A (zh) * | 2020-09-15 | 2021-01-22 | 浙江大学 | 一种基于卷积自注意力网络的会话推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114791983A (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jia et al. | Label distribution learning with label correlations on local samples | |
Liu et al. | Joint binary classifier learning for ECOC-based multi-class classification | |
CN112232925A (zh) | 一种融合知识图谱对商品进行个性化推荐的方法 | |
Zhao et al. | Variational self-attention network for sequential recommendation | |
Rahangdale et al. | Deep neural network regularization for feature selection in learning-to-rank | |
CN111259243B (zh) | 基于会话的并行推荐方法及系统 | |
Fu et al. | Deep reinforcement learning framework for category-based item recommendation | |
CN114519145A (zh) | 一种基于图神经网络挖掘用户长短期兴趣的序列推荐方法 | |
Yakhchi et al. | Towards a deep attention-based sequential recommender system | |
CN110727855A (zh) | 一种基于改进因子分解机的个性化推荐方法 | |
Bongini et al. | Recursive neural networks for density estimation over generalized random graphs | |
CN115470406A (zh) | 一种基于双通道信息融合的图神经网络会话推荐方法 | |
CN113821724B (zh) | 一种基于时间间隔增强的图神经网络推荐方法 | |
Chen et al. | Understanding and accelerating neural architecture search with training-free and theory-grounded metrics | |
Akhtar et al. | Zeroth and first order stochastic Frank-Wolfe algorithms for constrained optimization | |
Chhabra et al. | Missing value imputation using hybrid k-means and association rules | |
CN114791983B (zh) | 基于时序物品相似度的序列推荐方法 | |
Zhou et al. | Online recommendation based on incremental-input self-organizing map | |
Zhang et al. | KGAT-SR: Knowledge-enhanced graph attention network for session-based recommendation | |
Wen et al. | Extended factorization machines for sequential recommendation | |
Zhang et al. | A Graph Convolutional Network for Session Recommendation Model Based on Improved Transformer | |
Xiao et al. | Mrhn: Hypergraph convolutional network for web api recommendation | |
Lou et al. | MIFI: Combining Multi-Interest Activation and Implicit Feature Interaction for CTR Predictions | |
CN114004330B (zh) | 一种基于特征值补全的推荐系统及方法 | |
Li et al. | Multi-hypergraph Neural Network with Fusion of Location Information for Session-based Recommendation. |
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 |