CN111429234B - 一种基于深度学习的商品序列推荐方法 - Google Patents
一种基于深度学习的商品序列推荐方法 Download PDFInfo
- Publication number
- CN111429234B CN111429234B CN202010299217.2A CN202010299217A CN111429234B CN 111429234 B CN111429234 B CN 111429234B CN 202010299217 A CN202010299217 A CN 202010299217A CN 111429234 B CN111429234 B CN 111429234B
- Authority
- CN
- China
- Prior art keywords
- layer
- input
- commodity
- output
- model
- 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
- 238000013135 deep learning Methods 0.000 title claims abstract description 12
- 238000012549 training Methods 0.000 claims abstract description 31
- 238000013507 mapping Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 44
- 238000010606 normalization Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 7
- 230000007774 longterm Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 238000005315 distribution function Methods 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 3
- 230000002457 bidirectional effect Effects 0.000 abstract description 8
- 230000006872 improvement Effects 0.000 description 9
- 230000006399 behavior Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 235000008429 bread Nutrition 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 101100108883 Arabidopsis thaliana ANL2 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 101150043283 ccdA gene Proteins 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 235000013402 health food Nutrition 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Finance (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Accounting & Taxation (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于深度学习的商品序列推荐方法,包括以下步骤:步骤1:获取公开的用户购买商品序列,对其进行预处理,得到商品名及商品的元数据;步骤2:将商品名和元数据作为输入,输送至设计的序列推荐模型中,得到预训练模型,所述预训练模型分为输入层、编码层、多层感知机层和映射层;步骤3:在预训练模型的输出层上选择合适的输出作为当前序列的表示,进一步计算得到推荐商品列表,本方法考虑了日常购物商品的双向影响,采用的是编码器‑解码器结构,能对商品序列进行双向建模,编码信息获取优于单向模型,能优化最终推荐内容。
Description
技术领域
本发明涉及故障处理技术领域,特别是一种基于深度学习的商品序列推荐方法。
背景技术
随着电子商务平台的不断发展,商品数量正在呈现指数级别的增长;商品规模的扩大,一方面提高了满足用户不同需求的可能性,但另一方面也加剧了用户从海量商品中定位有效商品的时间成本。在淘宝、亚马逊等电子商务平台内有着亿万级别的商品,用户往往需要花费大量的时间去搜索自己感兴趣的商品。用户在网购时通常只对少数的商品感兴趣,而大量无关的冗余商品严重地影响了用户正常搜寻自己感兴趣的商品。出于时间和资源等方面的限制,用户希望能够从电子商务平台中高效地搜寻自己想要的商品。日常的购物往往具有连贯性,物品之间相互影响,序列推荐方法能更加实时为用户购买提供便利。
基于深度学习的序列推荐方法通常分为:
1、基于循环神经网络的序列推荐方法。基于RNN的序列推荐方法试图通过给定的用户-商品交互建立一个序列依赖关系,以此预测接下来可能的交互。将上一时刻的商品编码信息作为输入,以此来预测下一时刻提供的商品。
2、基于卷积神经网络的序列推荐方法。基于CNN的序列推荐方法不同于上述方法,首先给定一个用户-商品交互的顺序,卷积神经网络将所有交互嵌入到矩阵中,接着在时间和潜在空间中将此矩阵视为一张图片。然后卷积神经网络学习这个序列模式并将最后的隐层输出最为这张图片的本地特征,最后使用卷积过滤以便后续的推荐。
3、基于图神经网络的序列推荐方法。基于图神经网络的推荐方法主要是利用图神经网络去捕获序列中复杂的用户-商品交互的转换。当每一个序列被映射到路径上时,有向图首先建立在序列数据之上,并将每一个交互作为图中的一个节点,然后,在图上学习用户或商品的嵌入以作出相应的推荐方案。
注意力机制起源于计算机视觉,其想法是模拟人类的关注焦点,即反馈给我们主要信息的区域往往只占一小部分。而将注意力机制运用到商品建模中,能够自动的生成两两商品之间的权重关系,无视商品序列的长度,解决了基于RNN的推荐方法的权重消失问题。单向模型限制了历史序列中隐式表示形式的能力,只能从前面的编码获取信息,而这并不总是符合现实中的用户行为。由于种种原因,用户的购物选择并不遵循严格的顺序假设。双向解码器-编码器结构保证了序列的双向建模,能更贴切实际的对商品序列进行建模。
Balázs Hidasi等人提出GRU4Rec,他们认为传统序列化推荐方法只考虑了用户的最近的行为,没有使用完整的session行为序列信息,所以引入RNN-based方法解决该问题。作者将session中的点击序列转换为one hot encoding编码,通过embedding压缩为低维连续向量作为GRU的输入,然后通过N层GRU网络,最终对下一个目标进行预测。Bogina等人提出GRU4Rec-DWELL,该作者认为一个item可能停留的之间较长,产生的影响应该大于一般的物品,所以将时间因素考虑进来,将停留时间切片,在最终数据集上的表现优于GRU4Rec。Kang W等人提出SAS4Rec,该方法综合考虑基于马尔科夫链的方法和基于RNN的方法,选取用户的最近n个行为组成序列,对于小于n的序列用0来填补,由于使用的是self-attention,对物品的位置信息没有记忆,所以选择了在物品的embedding上加入位置编码。最后根据获取的隐层表示作出下一项目推荐。
Jiaxi Tang等人提出了Caser模型,其对用户过去交互过的序列进行建模,目的是预测用户在不久可能进行交互的Top-N个物品。其思想是在时间和潜在空间中将一组最近的物品序列嵌入到一张“图像”中,并利用卷积滤波器来学习作为图像的局部特征的序列模式。在用户行为序列上滑窗产生样本,分别用水平和垂直的两个卷积核来捕捉用户行为序列里面的结构信息,最后将得到的行为表示和用户表示相连接,预测下一个目标。
1.中国专利“CN110263257A基于深度学习的多源异构数据混合推荐模型”提出使用PV-DBOW模型获取文本的特征向量表示,通过加权求和得到用户的特征表示,通过将物品收到的评论特征向量加权求和得到物品特征,然后基于社交网络采样得到带有用户偏好的三元组,根据贝叶斯理论优化得到最佳模型参数。最后根据所得模型参数,将用户和物品的特征向量输入到模型中为用户推荐物品。
2.中国专利“CN109271550A一种基于深度学习的音乐个性化分类推荐方法”提出获取用户收听数多的高频词音乐列表,通过word2vec训练音乐向量模型,对音乐向量模型进行用户喜好聚类,训练深度网络对频谱图进行用户喜好分类,最后计算具体用户的喜好类别并未其推荐同类相似歌曲。
3.中国专利“CN110196946A一种基于深度学习的个性化推荐方法”提出使用一维卷积来获取不同时刻的用户的兴趣特征,然后利用自注意力机制对不同时刻兴趣特征进行加权求和,以此来作出最终的推荐预测结果。
现有技术的缺点在于:非序列推荐方法主要是无法完全模拟用户的动态购物过程,通常只是预测用户的可能偏好或者是进行top-n推荐,这和我们的实际情况是不一致的。同时大多方法存在严重的数据稀疏问题,对于电子购物其推荐精度无法保证。
基于循环神经网络的序列推荐方法(Balázs Hidasi等人提出的GRU4Rec,Bogina等人提出GRU4Rec-DWELL,)通常建立于强制假设基础上的,其假定序列中任何相邻的交互一定是依赖的,所以这很容易生成错误的依赖关系。并且RNN对与长序列的建模效果并不好,其权重分配往往是基于最邻近的节点。基于卷积神经网络的序列推荐方法(Jiaxi Tang等人提出了Caser)由于卷积过滤器的大小限制,无法高效的捕获长期依赖关系,同时由于CNN本身的限制:局部链接,权值共享,所以在文本处理方面并不如RNN。基于transformer的序列推荐方法(Kang W等人提出的SAS4Rec)仅考虑了购物的从前到后的关系而忽略了购物的双向影响,且未考虑商品的其他属性。综上可知,现有技术无法对商品序列进行双向建模,限制了历史序列中隐式表示形式的能力,且大多数都是基于RNN的推荐方法,无法建立长期依赖,存在着严重的权重消失问题,推荐的商品往往是基于购物序列的尾部得到的推荐结果,忽略了序列头部的影响。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种基于深度学习的商品序列推荐方法,用于电子商品的在线推荐,任务目标为根据当前用户的商品购买序列,来预测下一时刻用户的购物选择,基本过程为利用双向编码器-解码器结构获取序列的隐层表示,结合商品的其他属性,通过多层感知机得到融合后的隐层表示。然后根据该隐层表示得到概率较大的商品集并作出推荐。
为解决上述问题,本发明采用如下的技术方案。
一种基于深度学习的商品序列推荐方法,包括以下步骤:
步骤1:获取公开的用户购买商品序列,对其进行预处理,得到商品名及商品的元数据;
步骤2:将商品名和元数据作为输入,输送至设计的序列推荐模型中,得到预训练模型,所述预训练模型分为输入层、编码层、多层感知机层和映射层;
步骤3:在预训练模型的输出层上选择合适的输出作为当前序列的表示,进一步计算得到推荐商品列表。
作为本发明的进一步改进,在步骤2中,在输入层阶段,有N个输入,每个输入vi∈Rd,i∈[1,N],vi为商品的嵌入表示,有其对应的位置编码pi∈Rd,其中pi是通过位置嵌入表获取的,在输入阶段,令,作为每一个商品的初始输入,输入层的目的在于将商品名向量化,作为模型的输入数据,经过输入层处理的数据被送至编码层处理。
作为本发明的进一步改进,在步骤2中,所述编码层的输入为输入层的输出,在编码层可以获取物品的隐层表示,编码层由多层transformer组合而成,其中transformer包括多头注意力层、L1归一化层、前馈网络层以及L2归一化层。
作为本发明的进一步改进,所述多头注意力层用于考虑输入层传送过来的数据之间的权重比,确保模型能获取商品间的长期依赖。多头注意力的计算公式为:
由于采用的是自注意力,所以这里Q,K,V来自同一向量,其中Q表示查询向量query,K表示键向量key,V表示value向量V。在第一层Q,K,V都等于d表示输入向量的维度,h为多头的数量,/>是为了产生更小的注意力分布,防止梯度极小化,由于是多头注意力,所以在计算的过程中独立的分成几份来计算,这里选用4个头的注意力层,即h=4。多头的计算方式如下所示:
MH(HL)=[head1;head2;head3;head4]WO
其中,headi为第i个计算得到的多头注意力值,MH(HL)为第L层的4个多头注意力值的拼接。
其中HL表示的是第L层的隐层表示输出,所以对于每个头能求得其对应的注意力,其中为独立的权重矩阵,且每个头不共享。最后将得到的4个头拼接起来,再乘上一个权重矩阵WO即得到当前第L层的多头注意力值,多头注意力层的输出作为L1归一化层的输入。
作为本发明的进一步改进,所述归一化层的作用是将参数限定值一个区间内,能大幅提升模型的训练速度。在编码层的Transformer结构里,L1归一化层是将多层注意力层的输出做一个归一化整合,其输出为前馈网络层的输入,其表达式如下所示:
其中/>表示第L层L1归一化层处理后得到的结果。
作为本发明的进一步改进,所述前馈网络层的输入为L1归一化层的输出,其目的是采用GELU函数激活归一化后的多头注意力值,使得该模型具有非线性,非线性的作用是使模型能拟合任意函数,。其激活表达式如下所示:
FFN(x)=GELU(xWf1+bf1)Wf2+bf2
GELU(x)=xφ(x)
其中,FFN(x)为前馈网络层计算得到的结果,其中是标准高斯分布的累积分布函数,Wf1∈Rd×4d,Wf2∈R4d×d,bf1∈R4d,bf2∈Rd是学习的参数,且在每个transformer中共享参数。表示前馈网络层的输出结果,前馈网络层的输出为L2归一化层的输入。
作为本发明的进一步改进,所述L2归一化层的输入为前馈网络层的输出,其目的是将激活后的多层注意力值进行一个缩放,提升模型训练速度。其执行表达式如下所示:
其中,ANL2表示第L层L2归一化层处理后得到的结果,
结合前馈网络层,整个transformer执行过程如式8、式9、式10和式11所示:
经过编码层的处理后,得到了商品的隐层表示。编码层的输出为多层感知机层的输入。
作为本发明的进一步改进,所述多层感知机层将商品的隐层表示和商品的元数据结合起来,丰富商品的隐层表示的语义,多层感知机层的输入为编码层的输出,多层感知机采用3层结构,输入层d+c+t为个单元,隐藏层与输入层一致,输出层为d个单元,其中d表示编码层输出的向量维度,c为类别编码的向量维度,t为品牌编码的向量维度。其执行过程如下示:
H(x)=f(W1·x+b1)
O(x)=f(W2·x+b2)
其中f采用tanh激活函数,H(x)表示多层感知机的隐层表示,O(x)表示多层感知机的输出,W1∈R(d+c+t)×(d+c+t),W2∈Rd×(d+c+t),b1∈Rd+c+t,b2∈Rd为学习参数,多层感知机的输出为映射层的输入。
作为本发明的进一步改进,所述映射层的输入为多层感知机的输出,其目的是将多层感知机输出的混合隐层表示转换为对应的概率值,其转换公式如下所示:
PRm=softmax(GELU(hhybridWPR+bPR)TT+bO)
其中WPR是学习参数,bPR,bO是偏置项,训练的损失函数如式13所示:
其中M是输入序列,|M|为输入序列个数,P(Vmask=Vtrue)表示模型预测出当前被mask的商品为其本身的概率。
作为本发明的进一步改进,在步骤3中,对训练模型进行微调以用于序列推荐,因为是下一项预测,所以在模型末端加入Vmask,Vmask∈T,其对应的pmask可以从位置表中获取,通过编码层得到其对应的输出隐层表示hm,进而可以得到其预测概率,最后我们选取概率值前10位的商品作为推荐,如果存在新的商品加入序列,则将该商品向量加入至模型尾部,Vmask进行后移,做出下一次推荐。
本发明的有益效果
相比于现有技术,本发明的优点在于:
1.融合能力强,能结合多种异构信息,有效得到商品的混合特征表示,作出更精确的推荐内容;
2.可塑性强,该推荐方法采用的是预训练+微调模式,所以在原有预训练基础上加以改进,可以进行其他相似的推荐任务;
3.本方法考虑了日常购物商品的双向影响,采用的是编码器-解码器结构,能对商品序列进行双向建模,编码信息获取优于单向模型,能优化最终推荐内容;
4.实时监测用户购买的商品,基于当前时刻的商品序列预测下一时刻的商品集,为用户提供动态推荐内容。
附图说明
图1为本发明transformer的结构示意图。
图2为本发明训练过程示意图。
图3为本发明微调过程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1至图3,一种基于深度学习的商品序列推荐方法,包括以下步骤:
步骤1:获取公开的用户购买商品序列,对其进行预处理,得到商品名及商品的元数据;
步骤2:将商品名和元数据作为输入,输送至设计的序列推荐模型中,得到预训练模型,所述预训练模型分为输入层、编码层、多层感知机层和映射层;
步骤3:在预训练模型的输出层上选择合适的输出作为当前序列的表示,进一步计算得到推荐商品列表。
在步骤1中,将获取的商品数据分为商品名称和商品的元数据,如商品的类别、商品的品牌,将商品的类别用one-hot编码表示,商品的类别分为图书、音像、电子书刊,手机,家用电器,数码家居,家装电脑、办公厨具,个护化妆,服饰内衣,钟表,鞋靴,母婴,礼品箱包,食品饮料、保健食品,珠宝,汽车用品,运动健康,玩具,乐器,彩票、旅行、充值、票务,生鲜20种类,比如图书可以编码成[1,0,0……,0],生鲜编码成[0,0……0,0,1],商品的品牌通过Wikidata embedding(wikidata的词嵌入来源于论文Wembedder:Wikidata entityembedding web service的实验结果)。获取到其对应的编码,限制长度为t维。商品的名通过商品序列号(商品序列号可通过训练数据中的商品序号得到)进行初始化。
在步骤2中,需要先设计出模型的整体结构,然后根据模型的结构做预训练。模型结构分为输入层、编码层、多层感知机层和映射层。
(1)输入层
在输入层阶段,有N个输入,每个输入vi∈Rd,i∈[1,N],vi为商品的嵌入表示。另外有其对应的位置编码pi∈Rd,其中pi是通过位置嵌入表获取的(位置嵌入表为一个随机初始化矩阵,取pi对应位置的向量作为其绝对位置编码。位置编码的作用是使模型得知输入的先后顺序,因为该训练模型是双向的,如果不加位置编码,那么模型对于“钱包面包苹果”和“苹果面包钱包”这两个输入的处理是一样的,这就等同于是随机输入,无法生成正确的序列推荐参数)。在这里得到一个初始化商品向量表T∈RM×d,M为商品总量。
每个输入对应的类别编码为对应的one-hot编码,长度为N的序列的类别编码为X∈RN×c,品牌编码为Wikidata的编码结果Y∈RN×t(wikidata的词向量结果来源于论文Wembedder:Wikidata entity embedding web service的实验结果)。在输入阶段,令作为每一个商品的初始输入。输入层的目的在于将商品名向量化,作为模型的输入数据。经过输入层处理的数据被送至编码层处理。
(2)编码层
编码层的输入为输入层的输出,在编码层可以获取物品的隐层表示,编码层由多层transformer组合而成,其中transformer的结构如图1所示,它由一个多头注意力层、一层前馈网络、两层归一化层组成。其具体流程如下:
1)多头注意力层
多头注意力层的目的是考虑输入层传送过来的数据之间的权重比,确保模型能获取商品间的长期依赖。多头注意力的计算公式如式1所示:
因为采用的是自注意力,所以这里Q,K,V来自同一向量,其中Q表示查询向量query,K表示键向量key,V表示value向量V。在第一层Q,K,V都等于表示d输入向量的维度,h为多头的数量。/>是为了产生更小的注意力分布,防止梯度极小化。由于是多头注意力,所以在计算的过程中独立的分成几份来计算,这里选用4个头的注意力层,即h=4。多头的计算方式如式2和式3所示:
(headi为第i个计算得到的多头注意力值,MH(HL))为第L层的4个多头注意力值的拼接),
其中HL表示的是第L层的隐层表示输出,所以对于每个头能求得其对应的注意力,其中为独立的权重矩阵,且每个头不共享。最后将得到的4个头拼接起来,再乘上一个权重矩阵WO即得到当前第L层的多头注意力值。多头注意力层的输出作为L1归一化层的输入。
2)L1归一化层
归一化层的作用是将参数限定值一个区间内,能大幅提升模型的训练速度。在编码层的Transformer结构里,采用了2个归一化层:L1归一化层和L2归一化层。L1归一化层是将多层注意力层的输出做一个归一化整合,其输出为前馈网络层的输入。其表达式如式4所示:
(ANL1表示第L层L1归一化层处理后得到的结果)
3)前馈网络层
前馈网络层的输入为L1归一化层的输出,其目的是采用GELU函数激活归一化后的多头注意力值,使得该模型具有非线性(非线性的作用是使模型能拟合任意函数)。其激活表达式如式5和式6所示:
FFN(x)=GELU(xWf1+bf1)Wf2+bf2 式5
GELU(x)=xφ(x) 式6
FFN(x)为前馈网络层计算得到的结果,其中是标准高斯分布的累积分布函数(相比sigmoid和relu,GELU函数引入了随机正则的思想,实验效果要优于sigmoid和relu激活函数),Wf1∈Rd×4d,Wf2∈R4d×d,bf1∈R4d,bf2∈Rd是学习的参数,且在每个transformer中共享参数。FFN(x)表示前馈网络层的输出结果。前馈网络层的输出为L2归一化层的输入。
4)L2归一化层
L2归一化层的输入为前馈网络层的输出,其目的是将激活后的多层注意力值进行一个缩放,提升模型训练速度。其执行表达式如式7所示:
(ANL2表示第L层L2归一化层处理后得到的结果)
结合前馈网络层,整个transformer执行过程如式8、式9、式10和式11所示:
经过编码层的处理后,得到了商品的隐层表示。编码层的输出为多层感知机层的输入。
(3)多层感知机层
多层感知机层的目的是将商品的隐层表示和商品的元数据结合起来,丰富商品的隐层表示的语义。多层感知机层的输入为编码层的输出。
多层感知机采用3层结构,输入层为d+c+t个单元,隐藏层与输入层一致,输出层为d个单元,其中d表示编码层输出的向量维度,c为类别编码的向量维度,t为品牌编码的向量维度。其执行过程如式10和式11所示:
H(x)=f(W1·x+b1) 式10
O(x)=f(W2·x+b2) 式11
其中采用tanh激活函数,H(x)表示多层感知机的隐层表示,O(x)表示多层感知机的输出,W1∈R(d+c+t)×(d+c+t),W2∈Rd×(d+c+t),b1∈Rd+c+t,b2∈Rd为学习参数。多层感知机的输出为映射层的输入。
(4)映射层
映射层的输入为多层感知机的输出,其目的是将多层感知机输出的混合隐层表示转换为对应的概率值,其转换公式如式12所示:
PRm=softmax(GELU(hhybridWPR+bPR)TT+bO) 式12
其中WPR是学习参数,bPR,bO是偏置项。训练的损失函数如式13所示:
其中M是输入序列,|M|输入序列个数,P(Vmask=Vtrue)表示模型预测出当前被mask的商品为其本身的概率。
总结:在训练阶段,首先随机令序列中位置为i的物品为Vmask,然后根据上述的描述,得到transformer层最后的输出hm,其中hm选取的编码层输出取决于Vmask的相对位置。令d=64,c=21,t=32,其中d是hm的维度,c是类别编码的维度的,t是品牌编码的维度。具体的,对类别编码做最大池化操作,得到一个向量Vx∈R21,对品牌编码做平均池化操作,得到一个向量Vy∈R32。然后令这三个向量hm,Vx,Vy拼接作为多层感知机的输入,训练得到一个表示当前序列的融合向量hhybrid。在映射层阶段,得到最终的商品预测概率,训练过程如图2所示。
在步骤3中,对训练模型进行微调以用于序列推荐,因为是下一项预测,所以在模型末端加入Vmask,Vmask∈T,其对应的pmask可以从位置表中获取,通过编码层得到其对应的输出隐层表示hm,进而可以得到其预测概率,最后我们选取概率值前10位的商品作为推荐,如果存在新的商品加入序列,则将该商品向量加入至模型尾部,Vmask进行后移,做出下一次推荐,微调过程如图3所示。
以上所述,仅为本发明较佳的具体实施方式;但本发明的保护范围并不局限于此。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其改进构思加以等同替换或改变,都应涵盖在本发明的保护范围内。
Claims (1)
1.一种基于深度学习的商品序列推荐方法,其特征在于,包括以下步骤:
步骤1:获取公开的用户购买商品序列,对其进行预处理,得到商品名及商品的元数据;
步骤2:将商品名和元数据作为输入,输送至设计的序列推荐模型中,得到预训练模型,所述预训练模型分为输入层、编码层、多层感知机层和映射层;
步骤3:在预训练模型的输出层上选择合适的输出作为当前序列的表示,进一步计算得到推荐商品列表;
在步骤2中,在输入层阶段,有N个输入,每个输入vi∈Rd,i∈[1,N],vi为商品的嵌入表示,有其对应的位置编码pi∈Rd,其中pi是通过位置嵌入表获取的,在输入阶段,令作为每一个商品的初始输入,输入层的目的在于将商品名向量化,作为模型的输入数据,经过输入层处理的数据被送至编码层处理;
在步骤2中,所述编码层的输入为输入层的输出,在编码层可以获取物品的隐层表示,编码层由多层transformer组合而成,其中transformer包括多头注意力层、L1归一化层、前馈网络层以及L2归一化层;
所述多头注意力层用于考虑输入层传送过来的数据之间的权重比,确保模型能获取商品间的长期依赖,多头注意力的计算公式为:
由于采用的是自注意力,所以这里Q,K,V来自同一向量,其中Q表示查询向量query,K表示键向量key,V表示value向量V,在第一层Q,K,V都等于d表示输入向量的维度,h为多头的数量,/>是为了产生更小的注意力分布,防止梯度极小化,由于是多头注意力,所以在计算的过程中独立的分成几份来计算,这里选用4个头的注意力层,即h=4,多头的计算方式如下所示:
headi=Attention(HL-1Wi Q,HL-1Wi K,HL-1Wi V)
MH(HL)=[head1;head2;head3;head4]WO
其中,headi为第i个计算得到的多头注意力值,MH(HL)为第L层的4个多头注意力值的拼接;
其中HL表示的是第L层的隐层表示输出,所以对于每个头能求得其对应的注意力,其中Wi Q∈Rd×d/4,Wi K∈Rd×d/4,Wi V∈Rd×d/4为独立的权重矩阵,且每个头不共享,最后将得到的4个头拼接起来,再乘上一个权重矩阵WO即得到当前第L层的多头注意力值,多头注意力层的输出作为L1归一化层的输入;
所述归一化层的作用是将参数限定值一个区间内,能大幅提升模型的训练速度,在编码层的Transformer结构里,L1归一化层是将多层注意力层的输出做一个归一化整合,其输出为前馈网络层的输入,其表达式如下所示:
其中ANL 1表示第L层L1归一化层处理后得到的结果;
所述前馈网络层的输入为L1归一化层的输出,其目的是采用GELU函数激活归一化后的多头注意力值,使得该模型具有非线性,非线性的作用是使模型能拟合任意函数,其激活表达式如下所示:
FFN(x)=GELU(xWf1+bf1)Wf2+bf2
GELU(x)=xφ(x)
其中,FFN(x)为前馈网络层计算得到的结果,其中是标准高斯分布的累积分布函数,Wf1∈Rd×4d,Wf2∈R4d×d,bf1∈R4d,bf2∈Rd是学习的参数,且在每个transformer中共享参数,表示前馈网络层的输出结果,前馈网络层的输出为L2归一化层的输入;
所述L2归一化层的输入为前馈网络层的输出,其目的是将激活后的多层注意力值进行一个缩放,提升模型训练速度,其执行表达式如下所示:
其中,表示第L层L2归一化层处理后得到的结果,
结合前馈网络层,整个transformer执行过程如下所示:
经过编码层的处理后,得到了商品的隐层表示,编码层的输出为多层感知机层的输入;
所述多层感知机层将商品的隐层表示和商品的元数据结合起来,丰富商品的隐层表示的语义,多层感知机层的输入为编码层的输出,
多层感知机采用3层结构,输入层d+c+t为个单元,隐藏层与输入层一致,输出层为d个单元,其中d表示编码层输出的向量维度,c为类别编码的向量维度,t为品牌编码的向量维度,其执行过程如下示:
H(x)=f(W1·x+b1)
O(x)=f(W2·x+b2)
其中f采用tanh激活函数,H(x)表示多层感知机的隐层表示,O(x)表示多层感知机的输出,W1∈R(d+c+t)×(d+c+t),W2∈Rd×(d+c+t),b1∈Rd+c+t,b2∈Rd为学习参数,多层感知机的输出为映射层的输入;
所述映射层的输入为多层感知机的输出,其目的是将多层感知机输出的混合隐层表示转换为对应的概率值,其转换公式如下所示:
其中WPR是学习参数,bPR,bO是偏置项,训练的损失函数如下所示:
其中M是输入序列,|M|为输入序列个数,P(Vmask=Vtrue)表示模型预测出当前被mask的商品为其本身的概率;
在步骤3中,对训练模型进行微调以用于序列推荐,因为是下一项预测,所以在模型末端加入Vmask,其对应的pmask可以从位置表中获取,通过编码层得到其对应的输出隐层表示hm,进而可以得到其预测概率,最后我们选取概率值前10位的商品作为推荐,如果存在新的商品加入序列,则将该商品向量加入至模型尾部,Vmask进行后移,做出下一次推荐。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010299217.2A CN111429234B (zh) | 2020-04-16 | 2020-04-16 | 一种基于深度学习的商品序列推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010299217.2A CN111429234B (zh) | 2020-04-16 | 2020-04-16 | 一种基于深度学习的商品序列推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111429234A CN111429234A (zh) | 2020-07-17 |
CN111429234B true CN111429234B (zh) | 2023-09-29 |
Family
ID=71557964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010299217.2A Active CN111429234B (zh) | 2020-04-16 | 2020-04-16 | 一种基于深度学习的商品序列推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111429234B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111915414B (zh) * | 2020-08-31 | 2022-06-07 | 支付宝(杭州)信息技术有限公司 | 向目标用户展示目标对象序列的方法和装置 |
CN112258262B (zh) * | 2020-09-15 | 2023-09-26 | 浙江大学 | 一种基于卷积自注意力网络的会话推荐方法 |
CN113744015A (zh) * | 2020-10-20 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种排序方法、装置、设备及计算机存储介质 |
CN114422859B (zh) * | 2020-10-28 | 2024-01-30 | 贵州省广播电视信息网络股份有限公司 | 基于深度学习的有线电视运营商的排序推荐系统及方法 |
CN112365062A (zh) * | 2020-11-13 | 2021-02-12 | 中国民航大学 | 一种民航旅客隐式交互特征挖掘与航班推荐方法及系统 |
CN112380435B (zh) * | 2020-11-16 | 2024-05-07 | 北京大学 | 基于异构图神经网络的文献推荐方法及推荐系统 |
CN112488301B (zh) * | 2020-12-09 | 2024-04-16 | 孙成林 | 一种基于多任务学习和注意力机制的食品反演方法 |
CN113793167A (zh) * | 2021-02-03 | 2021-12-14 | 北京沃东天骏信息技术有限公司 | 用于生成信息的方法和装置 |
CN112905648B (zh) * | 2021-02-04 | 2022-09-20 | 北京邮电大学 | 一种基于多任务学习的多目标推荐方法及系统 |
CN113011571B (zh) * | 2021-03-03 | 2022-09-20 | 华南理工大学 | 基于Transformer模型的INT8离线量化及整数推断方法 |
CN112948716B (zh) * | 2021-03-05 | 2023-02-28 | 桂林电子科技大学 | 一种基于多头注意力机制的连续兴趣点包推荐方法 |
CN112712418B (zh) * | 2021-03-25 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 推荐商品信息的确定方法和装置、存储介质及电子设备 |
CN113487359B (zh) * | 2021-07-12 | 2024-03-22 | 华润数字科技有限公司 | 基于多模态特征的商品销量预测方法、装置及相关设备 |
CN113688315B (zh) * | 2021-08-19 | 2023-04-18 | 电子科技大学 | 一种基于无信息损失图编码的序列推荐方法 |
CN113822742B (zh) * | 2021-09-18 | 2023-05-12 | 电子科技大学 | 一种基于自注意力机制的推荐方法 |
CN115979973B (zh) * | 2023-03-20 | 2023-06-16 | 湖南大学 | 一种基于双通道压缩注意力网络的高光谱中药材鉴别方法 |
CN116662676A (zh) * | 2023-06-09 | 2023-08-29 | 北京华品博睿网络技术有限公司 | 一种基于多行为建模的在线招聘双向互惠推荐系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196946A (zh) * | 2019-05-29 | 2019-09-03 | 华南理工大学 | 一种基于深度学习的个性化推荐方法 |
CN110334759A (zh) * | 2019-06-28 | 2019-10-15 | 武汉大学 | 一种评论驱动的深度序列推荐方法 |
CN110458627A (zh) * | 2019-08-19 | 2019-11-15 | 华南师范大学 | 一种面向用户动态偏好的商品序列个性化推荐方法 |
-
2020
- 2020-04-16 CN CN202010299217.2A patent/CN111429234B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196946A (zh) * | 2019-05-29 | 2019-09-03 | 华南理工大学 | 一种基于深度学习的个性化推荐方法 |
CN110334759A (zh) * | 2019-06-28 | 2019-10-15 | 武汉大学 | 一种评论驱动的深度序列推荐方法 |
CN110458627A (zh) * | 2019-08-19 | 2019-11-15 | 华南师范大学 | 一种面向用户动态偏好的商品序列个性化推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111429234A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111429234B (zh) | 一种基于深度学习的商品序列推荐方法 | |
CN107145518B (zh) | 一种社交网络下基于深度学习的个性化推荐系统 | |
CN110458627B (zh) | 一种面向用户动态偏好的商品序列个性化推荐方法 | |
US11699095B2 (en) | Cross-domain recommender systems using domain separation networks and autoencoders | |
US7885859B2 (en) | Assigning into one set of categories information that has been assigned to other sets of categories | |
Shahbazi et al. | Product recommendation based on content-based filtering using XGBoost classifier | |
CN111242729A (zh) | 一种基于长短期兴趣的序列化推荐方法 | |
CN112131469A (zh) | 一种基于评论文本的深度学习推荐方法 | |
CN110737834B (zh) | 业务对象的推荐方法、装置、存储介质和计算机设备 | |
CN111144933A (zh) | 商品推荐方法、装置、电子设备及存储介质 | |
Lin et al. | Intelligent decision support for new product development: a consumer-oriented approach | |
Alfarhood et al. | DeepHCF: a deep learning based hybrid collaborative filtering approach for recommendation systems | |
Sapna et al. | Recommendence and fashionsence: Online fashion advisor for offline experience | |
Elahi et al. | Recommender systems: Challenges and opportunities in the age of big data and artificial intelligence | |
JP2023024932A (ja) | マルチモーダルのトランスフォーマベースのアイテム分類システム、データ処理システム、データ処理方法、及びコンピュータ実行方法 | |
Alves Gomes et al. | Will This Online Shopping Session Succeed? Predicting Customer's Purchase Intention Using Embeddings | |
Ibrahim et al. | Improved Hybrid Deep Collaborative Filtering Approach for True Recommendations. | |
Wang et al. | Session-based recommendation with time-aware neural attention network | |
Nazari et al. | Scalable and data-independent multi-agent recommender system using social networks analysis | |
CN113344648A (zh) | 一种基于机器学习的广告推荐方法及系统 | |
CN113821682B (zh) | 基于深度学习的多目标视频推荐方法、装置及存储介质 | |
Liu et al. | Deep cross networks with aesthetic preference for cross-domain recommendation | |
CN114565436A (zh) | 基于时序建模的车型推荐系统、方法、设备及存储介质 | |
Ahsan et al. | Complementary Recommendations Using Deep Multi-modal Embeddings For Online Retail | |
CN116108283B (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 |