CN111062775B - 一种基于注意力机制的推荐***召回方法 - Google Patents
一种基于注意力机制的推荐***召回方法 Download PDFInfo
- Publication number
- CN111062775B CN111062775B CN201911222216.1A CN201911222216A CN111062775B CN 111062775 B CN111062775 B CN 111062775B CN 201911222216 A CN201911222216 A CN 201911222216A CN 111062775 B CN111062775 B CN 111062775B
- Authority
- CN
- China
- Prior art keywords
- user
- commodity
- vector
- layer
- attention
- 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
- 230000007246 mechanism Effects 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 32
- 239000013598 vector Substances 0.000 claims abstract description 280
- 238000012512 characterization method Methods 0.000 claims abstract description 78
- 238000012549 training Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims abstract description 22
- 239000011159 matrix material Substances 0.000 claims description 42
- 238000013528 artificial neural network Methods 0.000 claims description 38
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000006399 behavior Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 5
- 238000009825 accumulation Methods 0.000 claims 1
- 230000002457 bidirectional effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000002537 cosmetic Substances 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于注意力机制的推荐***召回方法,包括:提取训练样本中的用户特征和商品特征,将用户特征转化为用户嵌入向量,将商品特征转化为商品嵌入向量;将用户嵌入向量和商品嵌入向量输入注意力机制模型训练,通过模型中注意力网络学习每个特征的权重,依据权重对所有特征的嵌入向量做加权求和,得到用户表征向量和商品表征向量;计算用户表征向量和商品表征向量的内积,得到训练样本的用户购买商品意愿匹配度,建立用户购买商品意愿匹配度的交叉熵损失函数,计算最小化的交叉熵损失函数,收敛注意力机制模型;将待测样本输入收敛后的注意力机制模型,获取待测样本的用户购买商品意愿匹配度,选择用户购买商品意愿匹配度在预置区间的商品作为召回结果进行推荐。本发明增强了泛化性,大量简化了召回推荐的计算量。
Description
技术领域
本发明涉及计算机推荐***领域,特别涉及一种基于注意力机制的推荐***召回方法。
背景技术
随着生活水平的提高,我们消费的选择也越来越多,货比三家到如今货比万家,很多时候光是找到我们所需要的商品都得花费很多时间,而且即使找到我们想要的,也未必是最适合我们的。而推荐***就能帮助我们从商品堆里找到我们搜索的相关商品,并且将其中最适合我们的商品推荐给我们。推荐***如今应用非常广泛,在生活中无处不在。在网购的时候,希望平台推荐我们正好想要购买的商品,在听音乐的时候,我们希望听到适合自己口味的歌曲,搜索东西的时候,我们希望搜索结果就是我们想要找的。因此,对用户的喜好进行快速且准确的预测是推荐***的首要目标。
而召回,作为推荐***的其中一个阶段,需要完成从海量的商品中挑选出几百或几十相关的商品,然后送入排序模型,跟排序要求精准度高不同,召回相当于粗略地排序,他不需要太高的精准度,而需要快速地从大量的候选商品里挑出跟我们的搜索相关的商品。
推荐***的召回最早是基于协同过滤的,但是协同过滤的方法因为是利用用户和商品的ID建模,存在冷启动问题,并且相当于只利用ID作为他们的唯一特征,用户和商品其他属性等重要信息得不到有效运用。基于特征建模,我们想到最简单的LR模型,LR模型实现方便,但是忽略了特征组合问题。
FM模型一度得到了广泛的应用,因为他考虑了特征组合问题,给每一个特征组合都学习了一个权重,并且使得特征向量化的思路被广泛应用在各种深度学习模型中。但是FM模型只是两个特征之间的低阶交叉,未能考虑更高阶的特征交叉。
近些年,随着深度学习的发展,很多基于深度学习的模型也被应用在推荐***中。基于深度学习的推荐模型,加入了sigmoid、tanh等激活函数,提供了非线性的变化,并且多层的神经网络其实也就是一种隐式的多阶特征交叉。近些年,华为提出DeepFM模型,将特征组合的低阶交叉和高阶交叉结合在一起,效果显著。考虑到神经网络的高阶交叉是隐式的,可解释性不高,谷歌提出了(Deep&Cross networK)DCN模型,结合了显式和隐式的特征交叉组合。考虑到这些特征交叉都是元素层面上的,微软又提出了xDeepFM模型,研究针对在向量维度上的特征交叉组合。如此可见,特征组合是模型重要的部分,但是这些模型都比较复杂,一般运用在排序阶段,在召回阶段运用较少。
注意力机制最开始运用在自然语言处理上面,它能够在长句子中,有选择地提取出重要的信息,并将注意力集中在这些重要信息上,而忽略掉不重要的信息。并且注意力机制能够针对不同样本,注意力的分布也有所不同。这种特性因为适用于大部分领域,从而得到广泛的应用。但是目前将注意力机制应用在推荐***模型的研究较少。
发明内容
本发明的主要目的是提出一种基于注意力机制的推荐***召回方法,旨在克服以上问题。
为实现上述目的,本发明提出的一种基于注意力机制的推荐***召回方法,包括如下步骤:
S10提取训练样本中的用户特征和商品特征,将用户特征转化为用户嵌入向量,将商品特征转化为商品嵌入向量;
S20将用户嵌入向量和商品嵌入向量输入注意力机制模型训练,通过模型中注意力网络学习每个特征的权重,依据权重对所有特征的嵌入向量做加权求和,得到用户表征向量和商品表征向量;计算用户表征向量和商品表征向量的内积,得到训练样本的用户购买商品意愿匹配度,建立用户购买商品意愿匹配度的交叉熵损失函数,计算最小化的交叉熵损失函数,收敛注意力机制模型;
S30将待测样本输入收敛后的注意力机制模型,获取待测样本的用户购买商品意愿匹配度,选择用户购买商品意愿匹配度在预置区间的商品作为召回结果进行推荐。
优选地,所述注意力机制模型为双向注意力机制模型,双向注意力机制模型包括多层用户注意力网络和多层商品注意力网络,每层用户注意力网络包括两层前馈神经网络FNN和归一层Softmax,每层商品注意力网络包括两层前馈神经网络FNN和归一层Softmax,用户注意力网络和商品注意力网络均是层层递推的关系。
优选地,所述S20中多层用户注意力网络包括K层用户注意力网络,在第K层用户注意力网络中,用户表征向量u(k)由下式给出:
其中,所有变量的上标K(K-1)都是表示第K(K-1)层注意力网络,U_Attation代表用户注意力网络,每一层网络都相同,网络结构的具体运算过程由下面几个式子组成,网络的输入是用户特征的嵌入向量和上一层的输出网络的输出为该层的用户表征向量u(k),m(k)是一个保存前K层网络得到的表征向量的累加和的一个存储向量,在得到输入后,注意力网络首先通过两层前馈神经网络FNN和softmax层做归一化得到注意权重利用权重向量将T个用户特征向量做加权平均得到该层的表征向量u(k);
其中,都是网络参数矩阵,表示第k层用户注意力网络中以用户第t个特征的嵌入向量ut为输入的神经网络的参数矩阵,表示第k层用户注意力网络中以上一层输出的存储向量为输入的神经网络的参数矩阵,表示第k层用户注意力网络中以隐藏层变量为输入的神经网络的参数矩阵,为以用户第t个特征得到的隐藏层向量,tanh为激活函数,⊙为自定义向量乘法运算,即两个相同长度的向量,相同位置的元素相乘,得到新的向量,通过与一个行数为1的矩阵作矩阵乘法,得到一个值然后经过softmax变换,得到最终的用户第K层的表片向量权重e为自然常数;
优选地,所述S20中多层商品注意力网络包括K层商品注意力网络,在第K层商品注意力网络中,商品表征向量v(k)由下式给出:
其中,是商品注意力网络的参数矩阵,表示第k层商品注意力网络中以商品第n个特征的嵌入向量vn为输入的神经网络的参数矩阵,表示第k层商品注意力网络中以上一层输出的存储向量为输入的神经网络的参数矩阵,表示第k层商品注意力网络中以隐藏层变量为输入的神经网络的参数矩阵,为以商品第n个特征得到的隐藏层向量,通过与一个行数为1的矩阵作矩阵乘法,得到一个值然后经过softmax变换,得到最终的商品第K层的表征向量权重
优选地,所述S20中计算用户表征向量和商品表征向量的内积,得到训练样本的用户购买商品意愿匹配度的方法具体为:
多层用户注意力网络拼接合并所有层的用户注意力网络的表征向量u(k),得到最终的用户表征向量zu=[u(0);…;u(K)];
多层商品注意力网络拼接合并所有层的商品注意力网络的表征向量v(k),得到最终的商品表征向量zv=[v(0);…;v(k)];
计算最终的用户表征向量zu和最终的商品表征向量zv的内积,得到最终的用户购买商品意愿匹配度。
优选地,所述用户购买商品意愿匹配度的交叉熵损失函数具体为:
其中,m为样本数,yi为样本标签,有点击行为视为正样本,标记为1,无点击行为视为负样本,标记为0,对于每个用户,跟点击过的每个商品组成<u,v+>,视为正样本对;未点击过的商品组成<u,v->,视为负样本对,模型训练通过最小化损失函数L,即不断缩小正样本之间的距离,并扩大负样本对之间的距离。
优选地,在所述S10具体为:
根据数据的属性将训练样本数据区分为类别型特征和连续型特征,若为类别型特征,则采用独热编码向量xi,xi的向量长度取当前训练样本的所有特征的个数总和,其类别特征值取值为1,其他为0,为类别特征值在向量中的位置序号建立一个特征字典;若为连续型特征,则采用以当前训练样本的所有特征的个数总和为向量长度,以连续特征的取值为向量的特征值,其他为0,将其编码为稀疏向量。
优选地,所述注意力机制模型为表示型学习模型
优选地,所述用户注意力网络和所述商品注意力网络的向量长度均相等。
优选地,所述训练样本数据采集于点击率预估CTR模型。
本发明提出了一种基于注意力的推荐***召回方法,基本过程为将用户和商品的特征都转为嵌入向量,然后通过注意力机制网络,寻找重要的特征组合,对所有特征的嵌入向量加权求和,得到用户和商品在一个空间上各自的表征向量,最后依据用户和商品的在向量空间里的距离计算匹配度。本发明的亮点在于:
首先,本发明提出的方法是一种深度学习模型。并且因为模型首先会将特征向量,转为低维稠密的嵌入向量,模型输出相当于所有特征向量的加权求和,所以是在特征层面上的。一方面,模型能够自动学习特征组合交叉,不需要人工做特征工程。另一方面,现有召回模型大部分是树模型或是简单的判别模型,是因为考虑到深度学习模型较复杂,因为现有的几个主流模型,比如DCN、DeepFM等模型都需要计算所有特征向量的各个元素的交叉组合,计算量大,而在特征层面上,组合数少,计算量小,所以将深度学习模型应用在召回的可行性大。
其次,本发明创新性地将注意力机制应用在特征组合上,通过注意力机制找到每个样本重要的特征组合,并忽略很多不重要的特征组合。模型将特征的嵌入向量作为输入,经过神经网络学习得到一组注意力权重,每个特征对应一个权重,最后依据权重求所有特征的加权和得到最终向量,通过给予每个特征不同的权重,实现特征向量间不同程度的组合。注意力机制模型结合了深度学习、注意力机制和特征工程,具有很大的优势。
最后,本发明中的模型是一种表示学习模型,泛化性强。模型能够学习到用户和商品在同一个空间里的表征向量,从而能够应用在多种不同下游任务中。在本发明中,模型的下游任务即为召回任务,可以训练一个端到端的模型。另外,模型可以分成两个部分,用户模型和商品模型,两个模型同时学习,是一种双向注意力机制的模型。在预测阶段时,可以独立预测,可以先预测所有商品的表征向量并存储起来,再对每一个用户预测他的表征向量,然后在存储的所有商店的表征向量里找到在向量空间里距离最近的前M个商品,独立预测能够减少大量的计算,避免商品的表征向量被重复计算。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明当k=2时,双向注意力模型一实施例的总体结构示意图;
图2为本发明当T=3时,第k层的用户注意力网络结构图;
图3为本发明当N=3时,第k层的商品注意力网络结构图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
如图1-3所示,本发明提出的一种基于注意力机制的推荐***召回方法,包括如下步骤:
S10提取训练样本中的用户特征和商品特征,将用户特征转化为用户嵌入向量,将商品特征转化为商品嵌入向量;
S20将用户嵌入向量和商品嵌入向量输入注意力机制模型训练,通过模型中注意力网络学习每个特征的权重,依据权重对所有特征的嵌入向量做加权求和,得到用户表征向量和商品表征向量;计算用户表征向量和商品表征向量的内积,得到训练样本的用户购买商品意愿匹配度,建立用户购买商品意愿匹配度的交叉熵损失函数,计算最小化的交叉熵损失函数,收敛注意力机制模型;
S30将待测样本输入收敛后的注意力机制模型,获取待测样本的用户购买商品意愿匹配度,选择用户购买商品意愿匹配度在预置区间的商品作为召回结果进行推荐。
优选地,所述注意力机制模型为双向注意力机制模型,双向注意力机制模型包括多层用户注意力网络和多层商品注意力网络,每层用户注意力网络包括两层前馈神经网络FNN和归一层Softmax,每层商品注意力网络包括两层前馈神经网络FNN和归一层Softmax,用户注意力网络和商品注意力网络均是层层递推的关系。
优选地,所述S20中多层用户注意力网络包括K层用户注意力网络,在第K层用户注意力网络中,用户表征向量u(k)由下式给出:
其中,所有变量的上标K(K-1)都是表示第K(K-1)层注意力网络,U_Attation代表用户注意力网络,每一层网络都相同,网络结构的具体运算过程由下面几个式子组成,网络的输入是用户特征的嵌入向量和上一层的输出网络的输出为该层的用户表征向量u(k),m(k)是一个保存前K层网络得到的表征向量的累加和的一个存储向量,在得到输入后,注意力网络首先通过两层前馈神经网络FNN和softmax层做归一化得到注意权重利用权重向量将T个用户特征向量做加权平均得到该层的表征向量u(k),
其中,是网络参数矩阵,表示第k层用户注意力网络中以用户第t个特征的嵌入向量ut为输入的神经网络的参数矩阵,表示第k层用户注意力网络中以上一层输出的存储向量为输入的神经网络的参数矩阵,表示第k层用户注意力网络中以隐藏层变量为输入的神经网络的参数矩阵,为以用户第t个特征得到的隐藏层向量,tanh为激活函数,⊙为自定义向量乘法运算,即两个相同长度的向量,相同位置的元素相乘,得到新的向量,通过与一个行数为1的矩阵作矩阵乘法,得到一个值然后经过softmax变换,得到最终的商品第K层的表片向量权重e为自然常数;
优选地,所述S20中多层商品注意力网络包括K层商品注意力网络,在第K层商品注意力网络中,商品表征向量v(k)由下式给出:
其中,是商品注意力网络的参数矩阵,表示第k层商品注意力网络中以商品第n个特征的嵌入向量vn为输入的神经网络的参数矩阵,表示第k层商品注意力网络中以上一层输出的存储向量为输入的神经网络的参数矩阵,表示第k层商品注意力网络中以隐藏层变量为输入的神经网络的参数矩阵,为以商品第n个特征得到的隐藏层向量,通过与一个行数为1的矩阵作矩阵乘法,得到一个值然后经过softmax变换,得到最终的商品第K层的表征向量权重
优选地,所述S20中计算用户表征向量和商品表征向量的内积,得到训练样本的用户购买商品意愿匹配度的方法具体为:
多层用户注意力网络拼接合并所有层的用户注意力网络的表征向量u(k),得到最终的用户表征向量zu=[u(0);…;u(K)];
多层商品注意力网络拼接合并所有层的商品注意力网络的表征向量v(k),得到最终的商品表征向量zv=[v(0);…;v(K)];
计算最终的用户表征向量zu和最终的商品表征向量zv的内积,得到最终的用户购买商品意愿匹配度。
优选地,所述用户购买商品意愿匹配度的交叉熵损失函数具体为:
其中,m为样本数,yi为样本标签,有点击行为视为正样本,标记为1,无点击行为视为负样本,标记为0,对于每个用户,跟点击过的每个商品组成<u,v+>,视为正样本对;未点击过的商品组成<u,v->,视为负样本对,模型训练通过最小化损失函数L,即不断缩小正样本之间的距离,并扩大负样本对之间的距离。
优选地,在所述S10具体为:
根据数据的属性将训练样本数据区分为类别型特征和连续型特征,若为类别型特征,则采用独热编码向量xi,xi的向量长度取当前训练样本的所有特征的个数总和,其类别特征值取值为1,其他为0,为类别特征值在向量中的位置序号建立一个特征字典;若为连续型特征,则采用以当前训练样本的所有特征的个数总和为向量长度,以连续特征的取值为向量的特征值,其他为0,将其编码为稀疏向量。
优选地,所述注意力机制模型为表示型学习模型
优选地,所述用户注意力网络和所述商品注意力网络的向量长度均相等。
优选地,所述训练样本数据采集于点击率预估CTR模型。
实操实例:
我们的数据采集于类似点击率预估CTR模型的数据,每一条样本的特征都可以分成两部分,一部分为用户的特征,比如性别、年龄等,一部分为商品的特征,比如种类、价格等,每条样本对应一个标签,标签的值为1或者0,代表该用户是否购买过(在实际情况也可以用是否点击过或者是否收藏过作为标签)。即每一条样本都代表某个用户对某个商品的购买行为。那么我们需要解决的问题即为二分类问题,我们需要通过这些样本训练一个二分类模型,模型的输出即为判断该用户对该商品是否购买过,模型会输出一个0到1的概率值,概率值代表该用户对该商品的购买的可能性,概率值越大代表购买过的可能性越高。
在预测阶段,我们需要针对某个用户,从所有商品中召回M个商品推荐给他,就需要用该用户的特征和所有商品的特征分别组成I条样本,I为商品的数量,将I条样本输入模型,得到I个概率值,即代表该用户对每个商品的购买的可能性,对这I个概率值做排序,取概率值最大的前M个对应的商品,即代表该用户最有可能购买的M个商品,然后推荐给用户。
我们以表1中的4个样本为例:
用户 | 性别 | 年龄 | 商品 | 类别 | 价格 | 标签 | |
1 | 张三 | 男 | 9 | 铅笔 | 文具 | 2 | 1 |
2 | 李四 | 男 | 38 | 裤子 | 衣服 | 56 | 0 |
3 | 王五 | 女 | 12 | 面膜 | 化妆品 | 35 | 1 |
4 | 赵六 | 女 | 27 | 篮球 | 体育用品 | 67 | 0 |
表1
在实际的数据预处理中,我们会删掉“用户”列和“商品”列。
本方案包括以下步骤:
1)嵌入层:将输入的用户和商品的稀疏的特征数据分别转成低维稠密的嵌入向量表示;
2)注意力机制层:输入所有特征的嵌入向量,通过注意力网络学习到每个特征的权重,依据权重对特征的嵌入向量做加权求和得到用户和商品各自的表征向量;
3)输出层:通过计算用户和商品的表征向量的内积,得到用户和商品的匹配度。
下面详细描述每一个步骤的具体运算:
1)嵌入层
在这一层,我们将输入的用户和商品的特征数据分别转成嵌入向量表示。我们的用户和商品的特征是分开输入的,从模型结构图也可以看出来,所以同样需要分开处理。
我们首先明白特征数和词汇量的概念,比如“性别”为一个特征,这个特征的取值的个数为2,即“性别=男”和“性别=女”,那么特征数即特征的个数,而词汇量为所有特征的取值的个数的总和。
首先,我们需要将数据处理成稀疏向量其中,为用户特征的稀疏向量的集合,即{xu,1,xu,2,xu,3,…,xu,T},T为用户特征的数目,下标的u代表用户;为商品特征的稀疏向量的集合,N为商品特征的数目,下标中的v代表商品。
数据一般包括连续值特征和类别值特征。类别值特征,如“性别”,通常是编码为独热向量xi,如“性别=男”编码为“[0,..,0,1,0,…,0]”,向量长度为词汇量大小。对于连续值特征,如“年龄=10”,我们可以看作一个类别特征,同样编码为稀疏向量,如“[0,..,0,1,0,0,…,0]”。这种稀疏向量都是某一位置有值(具体地,类别特征的值都为1,连续特征的值不变),其余为0。具***置序号就需要建立一个特征字典,使得每个位置能都表示某一个特征。
以下表2和表3中的样本为例,先建立用户和商品的特征字典,给每个特征分配一个位置序号:
特征 | 位置序号 |
性别=男 | 0 |
性别=女 | 1 |
年龄 | 2 |
表2
特征 | 位置序号 |
类别=文具 | 0 |
类别=衣服 | 1 |
类别=化妆品 | 2 |
类别=体育用品 | 3 |
价格 | 4 |
表3
以用户的特征为例,用户的特征取值的个数为5,包括“性别=男”、“性别=女”、“年龄”,所以词汇量,即字典长度也就是3,得到的稀疏向量长度也为3:
“性别=男”,位置序号为0,得到稀疏向量[1,0,0]
“性别=女”,位置序号为1,得到稀疏向量[0,1,0]
“年龄=10”,位置序号为2,得到稀疏向量[0,0,10]
以商品的特征为例,用户的特征取值的个数为5,包括“类别=文具”、“类别=衣服”、“类别=化妆品”、“类别=体育用品”、“价格”,所以词汇量,即字典长度也就是5,得到的稀疏向量长度也为5:
“类别=文具”,位置序号为0,得到稀疏向量[1,0,0,0,0]
“类别=衣服”,位置序号为1,得到稀疏向量[0,1,0,0,0]
“类别=化妆品”,位置序号为2,得到稀疏向量[0,0,1,0,0]
“类别=体育用品”,位置序号为3,得到稀疏向量[0,0,0,1,0]
“价格=2”,位置序号为4,得到稀疏向量[0,0,0,0,2]
那么我们可以得到样本1的每个特征的稀疏向量:
“性别=男”:[1,0,0];
“年龄=9”:[0,0,9];
“类别=文具”:[1,0,0,0,0];
“价格=2”:[0,0,0,0,2]。
即
其中,xu,1表示用户的第1个特征“性别=男”的稀疏向量,以此类推,得到四个稀疏向量,一般的处理,是将样本的所有特征的稀疏向量整合到一个一维向量中,比如样本1的用户特征就可以整合成一个长度为3的向量[1 0 9]。但是这样处理得到的编码向量纬度高且稀疏。而且如果词汇量大,像一些ID类的特征,直接输入神经网络也无法得到有效的训练。
所以为了减少维度,我们使用另一种得到广泛应用的方法,通过稀疏向量与一个嵌入矩阵相乘,将这些稀疏的长特征向量转成低维且稠密的稠密向量(即嵌入向量)。由于稀疏向量只有一处有值,相乘的结果相当于是从嵌入矩阵中选取某一列,并乘上该值,且因为类别特征的值就是1,因此我们可以将嵌入矩阵的每一列作为每一个特征的嵌入向量,只不过连续特征还需要乘上一个数:
ut=Wembed,uxu,t
vn=Wembed,vxv,n
其中,ut表示用户第t个特征的嵌入向量,下标u即表示用户,vn是商品第n个特征的嵌入向量,下标v表示商品;Wembed,u∈Rd×T即用户嵌入(Embedding)矩阵,Wembed,v∈Rd×N是商品嵌入矩阵,d是嵌入向量长度,T和N分别是用户特征和商品特征的词汇量大小。因为d<<T,d<<N(<<表示远小于),所以是将原本T维或者N维的向量转成d维向量,达到降低向量长度的目的。两个嵌入矩阵都是嵌入层需要学习得到的的参数,跟网络的其他参数一起优化。
最后,我们分别构造了一个包含用户特征的嵌入向量的集合,和一个包含商品特征的嵌入向量的集合:
其中,ut为用户第t个特征的嵌入向量,T为用户的特征数,vn为商品第n个特征的嵌入向量,N商品的特征数。
2)注意力机制层
注意力机制能够在多层注意力网络及每个步骤中将注意力放在重要的信息上。我们的模型中针对特征层面的,每一层的网络代表着各个特征之间交叉组合,即注意力机制能够寻找重要的特征组合并提高他们的权重。另一方面,注意力机制包含了多层的注意力网络,演绎了高阶的特征的交叉组合,注意力机制能够提取重要的高阶特征组合。注意力机制通过筛选核心的特征组合,还能够减少处理的信息量。
我们的方法通过多层注意力网络同时进行用户和商品的特征的关注,两者使用相同的网络架构提取重要的特征组合。在本节中,我们将解释每一层注意力网络中使用的注意力机制,这些注意力机制最后组成整个模型。为了简单起见,我们将在下面的等式中省略偏置项b。
由模型结构图可以看到,注意力机制模型分为左右两部分,分别是用户注意力机制和商品注意力机制。用户注意力机制,以用户特征的嵌入向量为输入,包括多层的用户注意力网络;商品注意力机制,以商品特征的嵌入向量为输入,包括多层的商品注意力网络。注意力网络是层层递推的关系,当前层的的输入是前一层的输出,当前层的输出又作为下一层的输入。层数是可以自己根据数据特征决定的,且用户和商品的注意力机制的层数保持一致。这里以两层的注意力网络组成注意力机制为例说明。
【用户注意力机制】
用户注意力机制旨在用户的特征中寻找重要的特征组合。是由K个用户注意力网络组成的。在第k层注意力网络中,用户表征向量u(k)由下式给出:
其中,所有变量的上标k(k-1)都是表示第k(k-1)层注意力网络,U_Attation代表用户注意力网络,每一层网络都相同,网络结构的具体运算过程由下面几个式子组成。网络的输入是用户特征的嵌入向量和上一层的输出网络的输出为该层的用户表征向量u(k),m(k)是一个保存前k层网络得到的表征向量的累加和的一个存储向量。在得到输入后,注意力网络首先通过两层前馈神经网络(FNN)和softmax层做归一化得到注意权重利用权重向量将T个用户特征向量做加权平均得到该层的表征向量u(k)。
其中,都是网络参数矩阵,表示第k层用户注意力网络中以用户第t个特征的嵌入向量ut为输入的神经网络的参数矩阵,表示第k层用户注意力网络中以上一层输出的存储向量为输入的神经网络的参数矩阵,表示第k层用户注意力网络中以隐藏层变量为输入的神经网络的参数矩阵。为以用户第t个特征得到的隐藏层向量,tanh为激活函数,⊙为自定义向量乘法运算,即两个相同长度的向量,相同位置的元素相乘,得到新的向量。通过与一个行数为1的矩阵作矩阵乘法,得到一个值然后经过softmax变换,得到最终的用户第K层的表片向量权重e为自然常数。
然后根据求得的权重计算用户嵌入向量的加权和,得到用户第k层的表征向量u(k):
【商品注意力机制】
商品注意力机制旨在商品的特征中寻找重要的特征组合,整个网络同样是由K个商品注意力网络组成。在第k层注意力网络中,商品的表征向量由下式得到:
其中,是商品注意力网络的参数矩阵,表示第k层商品注意力网络中以商品第n个特征的嵌入向量vn为输入的神经网络的参数矩阵,表示第k层商品注意力网络中以上一层输出的存储向量为输入的神经网络的参数矩阵,表示第k层商品注意力网络中以隐藏层变量为输入的神经网络的参数矩阵。为以商品第n个特征得到的隐藏层向量,通过与一个行数为1的矩阵作矩阵乘法,得到一个值然后经过softmax变换,得到最终的商品第K层的表征向量权重然后根据计算商品嵌入向量的加权和,得到商品第K层的表征向量v(k):
3)输出层
在得到用户和商品的表征向量后,衡量用户和商品的匹配度的一般方法既是求两个向量的内积,内积越高说明两个向量在表征空间中的距离越近,所以匹配度越高。输出层的目的就是得到用户和商品的表征向量并计算他们的匹配度。
经过注意力机制层,我们得到了用户和商品的每一层网络的表征向量,通过拼接合并得到用户和商品最终的表征向量zu和zv,并通过求内积得到最终的匹配度:
zu=[u(0);…;u(K)]
zv=[v(0);…;v(K)]
S=zu·zv
其中,[;;]为拼接操作,·为点积运算,即将两个相同长度的向量,相同位置的元素相乘后求和得到这两个向量的内积。
如图1,描述了K=2时该模型的总体结构,
模型训练使用交叉熵损失函数,这是一种应用广泛的损失函数。
其中,m为样本数,yi为样本标签,有点击行为的正样本为1,否则为0,对于每个用户,跟点击过的每个商品组成一对<u,v+>,为正样本对;未点击过的商品太多,可以进行采样,随机选择若干个组成若干对<u,v->,为负样本对。模型训练通过最小化损失函数L,即不断缩小正样本之间的距离,并扩大负样本对之间的距离。
预测阶段,首先通过模型的右半部分,即商品注意力机制,计算所有商品的表征向量并存储。针对每个用户,先通过模型的左半部分,即用户注意力机制,得到他的表征向量,然后计算该用户跟所有商品的匹配度,最后选择匹配度最高的前P个商品作为召回结果。验证指标可以选择召回率。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (9)
1.一种基于注意力机制的推荐***召回方法,其特征在于,包括如下步骤:
S10提取训练样本中的用户特征和商品特征,将用户特征转化为用户嵌入向量,将商品特征转化为商品嵌入向量;
S20将用户嵌入向量和商品嵌入向量输入注意力机制模型训练,通过模型中注意力网络学习每个特征的权重,依据权重对所有特征的嵌入向量做加权求和,得到用户表征向量和商品表征向量;计算用户表征向量和商品表征向量的内积,得到训练样本的用户购买商品意愿匹配度,建立用户购买商品意愿匹配度的交叉熵损失函数,计算最小化的交叉熵损失函数,收敛注意力机制模型;
所述S20中多层用户注意力网络包括K层用户注意力网络,在第K层用户注意力网络中,用户表征向量u(k)由下式给出:
其中,所有变量的上标K(K-1)都是表示第K(K-1)层注意力网络,U_Attation代表用户注意力网络,每一层网络都相同,网络结构的具体运算过程由下面几个式子组成,网络的输入是用户特征的嵌入向量和上一层的输出网络的输出为该层的用户表征向量u(k),m(k)是一个保存前K层网络得到的表征向量的累加和的一个存储向量,在得到输入后,注意力网络首先通过两层前馈神经网络FNN和softmax层做归一化得到注意权重利用权重向量将T个用户特征向量做加权平均得到该层的表征向量u(k),
其中,都是网络参数矩阵,表示第k层用户注意力网络中以用户第t个特征的嵌入向量ut为输入的神经网络的参数矩阵,表示第k层用户注意力网络中以上一层输出的存储向量为输入的神经网络的参数矩阵,表示第k层用户注意力网络中以隐藏层变量为输入的神经网络的参数矩阵,为以用户第t个特征得到的隐藏层向量,tanh为激活函数,⊙为自定义向量乘法运算,即两个相同长度的向量,相同位置的元素相乘,得到新的向量,通过与一个行数为1的矩阵作矩阵乘法,得到一个值然后经过softmax变换,得到最终的用户第K层的表片向量权重e为自然常数,
S30将待测样本输入收敛后的注意力机制模型,获取待测样本的用户购买商品意愿匹配度,选择用户购买商品意愿匹配度在预置区间的商品作为召回结果进行推荐。
2.如权利要求1所述的基于注意力机制的推荐***召回方法,其特征在于,所述注意力机制模型为双向注意力机制模型,双向注意力机制模型包括多层用户注意力网络和多层商品注意力网络,每层用户注意力网络包括两层前馈神经网络FNN和归一层Softmax,每层商品注意力网络包括两层前馈神经网络FNN和归一层Softmax,用户注意力网络和商品注意力网络均是层层递推的关系。
3.如权利要求2所述的基于注意力机制的推荐***召回方法,其特征在于,所述S20中多层商品注意力网络包括K层商品注意力网络,在第K层商品注意力网络中,商品表征向量v(k)由下式给出:
其中,是商品注意力网络的参数矩阵,表示第k层商品注意力网络中以商品第n个特征的嵌入向量vn为输入的神经网络的参数矩阵,表示第k层商品注意力网络中以上一层输出的存储向量为输入的神经网络的参数矩阵,表示第k层商品注意力网络中以隐藏层变量为输入的神经网络的参数矩阵,为以商品第n个特征得到的隐藏层向量,通过与一个行数为1的矩阵作矩阵乘法,得到一个值然后经过softmax变换,得到最终的商品第K层的表征向量权重
4.如权利要求1所述的基于注意力机制的推荐***召回方法,其特征在于,所述S20中计算用户表征向量和商品表征向量的内积,得到训练样本的用户购买商品意愿匹配度的方法具体为:
多层用户注意力网络拼接合并所有层的用户注意力网络的表征向量u(k),得到最终的用户表征向量zu=[u(0);…;u(K)];
多层商品注意力网络拼接合并所有层的商品注意力网络的表征向量v(k),得到最终的商品表征向量zv=[v(0);…;v(K)];
计算最终的用户表征向量zu和最终的商品表征向量zv的内积,得到最终的用户购买商品意愿匹配度。
6.如权利要求1所述的基于注意力机制的推荐***召回方法,其特征在于,在所述S10具体为:
根据数据的属性将训练样本数据区分为类别型特征和连续型特征,若为类别型特征,则采用独热编码向量xi,xi的向量长度取当前训练样本的所有特征的个数总和,其类别特征值取值为1,其他为0,为类别特征值在向量中的位置序号建立一个特征字典;若为连续型特征,则采用以当前训练样本的所有特征的个数总和为向量长度,以连续特征的取值为向量的特征值,其他为0,将其编码为稀疏向量。
7.如权利要求1所述的基于注意力机制的推荐***召回方法,其特征在于,所述注意力机制模型为表示型学习模型。
8.如权利要求1所述的基于注意力机制的推荐***召回方法,其特征在于,所述用户注意力网络和所述商品注意力网络的向量长度均相等。
9.如权利要求1所述的基于注意力机制的推荐***召回方法,其特征在于,所述训练样本数据采集于点击率预估CTR模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911222216.1A CN111062775B (zh) | 2019-12-03 | 2019-12-03 | 一种基于注意力机制的推荐***召回方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911222216.1A CN111062775B (zh) | 2019-12-03 | 2019-12-03 | 一种基于注意力机制的推荐***召回方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111062775A CN111062775A (zh) | 2020-04-24 |
CN111062775B true CN111062775B (zh) | 2023-05-05 |
Family
ID=70299499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911222216.1A Active CN111062775B (zh) | 2019-12-03 | 2019-12-03 | 一种基于注意力机制的推荐***召回方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111062775B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021223165A1 (en) * | 2020-05-07 | 2021-11-11 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for object evaluation |
CN111737569B (zh) * | 2020-06-04 | 2022-05-03 | 山东省人工智能研究院 | 基于属性感知注意图卷积神经网络的个性化推荐方法 |
CN111695260B (zh) * | 2020-06-12 | 2022-06-21 | 上海大学 | 一种材料性能预测方法及*** |
CN111737573A (zh) * | 2020-06-17 | 2020-10-02 | 北京三快在线科技有限公司 | 资源推荐方法、装置、设备及存储介质 |
CN112184391B (zh) * | 2020-10-16 | 2023-10-10 | 中国科学院计算技术研究所 | 一种推荐模型的训练方法、介质、电子设备和推荐模型 |
CN112270571B (zh) * | 2020-11-03 | 2023-06-27 | 中国科学院计算技术研究所 | 一种用于冷启动广告点击率预估模型的元模型训练方法 |
CN112416931A (zh) * | 2020-11-18 | 2021-02-26 | 脸萌有限公司 | 信息生成方法、装置和电子设备 |
CN112328893B (zh) * | 2020-11-25 | 2022-08-02 | 重庆理工大学 | 一种基于记忆网络和协同注意力的推荐方法 |
CN112598462B (zh) * | 2020-12-19 | 2023-08-25 | 武汉大学 | 基于协同过滤和深度学习的个性化推荐方法及*** |
CN113139850A (zh) * | 2021-04-26 | 2021-07-20 | 西安电子科技大学 | 一种缓解数据稀疏性和商品冷启动的商品推荐模型 |
CN113761392B (zh) * | 2021-09-14 | 2022-04-12 | 上海任意门科技有限公司 | 内容召回方法、计算设备和计算机可读存储介质 |
CN113742594B (zh) * | 2021-09-16 | 2024-02-27 | 中国银行股份有限公司 | 推荐***召回的方法及装置 |
CN115062220B (zh) * | 2022-06-16 | 2023-06-23 | 成都集致生活科技有限公司 | 基于注意力合并的招工推荐*** |
CN116521936B (zh) * | 2023-06-30 | 2023-09-01 | 云南师范大学 | 一种基于用户行为分析的课程推荐方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109509054A (zh) * | 2018-09-30 | 2019-03-22 | 平安科技(深圳)有限公司 | 海量数据下商品推荐方法、电子装置及存储介质 |
CN109960759A (zh) * | 2019-03-22 | 2019-07-02 | 中山大学 | 基于深度神经网络的推荐***点击率预测方法 |
CN110196946A (zh) * | 2019-05-29 | 2019-09-03 | 华南理工大学 | 一种基于深度学习的个性化推荐方法 |
-
2019
- 2019-12-03 CN CN201911222216.1A patent/CN111062775B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109509054A (zh) * | 2018-09-30 | 2019-03-22 | 平安科技(深圳)有限公司 | 海量数据下商品推荐方法、电子装置及存储介质 |
CN109960759A (zh) * | 2019-03-22 | 2019-07-02 | 中山大学 | 基于深度神经网络的推荐***点击率预测方法 |
CN110196946A (zh) * | 2019-05-29 | 2019-09-03 | 华南理工大学 | 一种基于深度学习的个性化推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111062775A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111062775B (zh) | 一种基于注意力机制的推荐***召回方法 | |
Li et al. | Multi-interest network with dynamic routing for recommendation at Tmall | |
CN112598462B (zh) | 基于协同过滤和深度学习的个性化推荐方法及*** | |
CN108363804B (zh) | 基于用户聚类的局部模型加权融合Top-N电影推荐方法 | |
Tan et al. | Improved recurrent neural networks for session-based recommendations | |
Tautkute et al. | Deepstyle: Multimodal search engine for fashion and interior design | |
Zhang et al. | Deep Learning over Multi-field Categorical Data: –A Case Study on User Response Prediction | |
CN110458627B (zh) | 一种面向用户动态偏好的商品序列个性化推荐方法 | |
CN108537624B (zh) | 一种基于深度学习的旅游服务推荐方法 | |
CN111737474A (zh) | 业务模型的训练和确定文本分类类别的方法及装置 | |
US20100223258A1 (en) | Information retrieval system and method using a bayesian algorithm based on probabilistic similarity scores | |
EP3300002A1 (en) | Method for determining the similarity of digital images | |
Chen et al. | Using fruit fly optimization algorithm optimized grey model neural network to perform satisfaction analysis for e-business service | |
CN109034960B (zh) | 一种基于用户节点嵌入的多属性推断的方法 | |
CN111737578A (zh) | 一种推荐方法及*** | |
Meena et al. | Identifying emotions from facial expressions using a deep convolutional neural network-based approach | |
Li et al. | Retrieving real world clothing images via multi-weight deep convolutional neural networks | |
CN114693397A (zh) | 一种基于注意力神经网络的多视角多模态商品推荐方法 | |
Alfarhood et al. | DeepHCF: a deep learning based hybrid collaborative filtering approach for recommendation systems | |
CN114077661A (zh) | 信息处理装置、信息处理方法和计算机可读介质 | |
CN111597428A (zh) | 一种具有q分离k稀疏的用户与物品拼接的推荐方法 | |
CN106919647B (zh) | 一种基于聚类的网络结构相似性推荐方法 | |
CN115827990B (zh) | 搜索方法及装置 | |
CN110163716B (zh) | 一种基于卷积神经网络的红酒推荐方法 | |
CN111797622A (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 |