第38卷第1期2021年1月
计算机应用与软件
C om puter A p p lic a tio n s and Software
V o l.38 N o.1
Jan. 2021
基于评论个性化多层注意力的商品推荐算法
冯兴杰曾云泽*
(中国民航大学计算机科学与技术学院天津300300)
摘要目前基于评论的推荐算法大多都忽略了用户(商品)的个性化信息来对评论进行编码。对此提出一 种单词级别、评论级别的个性化注意力机制,分别对单词和评论进行个性化编码。设计一种基于门控机制的融合 方式,来更好地融合用户和商品的隐向量来提高评分预测性能。在3组公开数据集上进行对比实验,以预测评分 的均方误差(M S E)作为评估指标,验证了该方法的有效性。由单词和评论的注意力得分,能够观察用户和商品具 体哪些特性相匹配,进一步提高推荐结果的可解释性。
关键词 推荐系统协同过滤注意力
中图分类号 T P391 文献标志码 A D O I:10.3969/j.is s n.1000-386x.2021.01.009
ITEM RECOMMENDATION ALGORITHM BASED ON REVIEW PERSONALIZATION
AND MULTILAYER ATTENTION
Feng X in g jie Zeng Y unze*
{College of Computer Science and Technology, Civil Aviation University of China, Tianjin 300300, China)
A b s tr a c t A t prent,most o f the review-bad recom m endation algorithm s ignore the personalized in fo rm a tio n o f urs (ite m s)to code the com m ents.Therefore,th is paper propos a personalized atten tion m echanism o f w o rd-le ve l and re v ie w-le v e l to encode words and reviews,and designs a fusio n m ethod bad on gating m echanism to b e tte r fu the hid d e n vectors o f urs and item s to im prove the perform ance o f score p re d ic tio n. v r if ie d by the com parison experim ents on three ts o f open datats,and the M SE o f the p re d ic tio n scor^ is ud as the evaluation in d e x.A cc o rd in g t o the a tten tion score o f words and reviews,
we can obrve w h ic h features o f the ur and the ite m m atch,and fu rth e r im prove the in te rp re ta b ility o f the recom m endation re s u lts.
K e y w o rd s R ecom m endation system C olla bo rative filte rin g A tte n tio n
〇引言
推荐系统是一种在电商平台中十分常见的信息过 滤系统,它能基于用户的历史记录来学习用户的兴趣 和爱好,进而推测用户的偏好和对商品的评分。
近年大量推荐算法被相继提出,其中预测用户对 未知商品的评分是一个主要分支。特别是作为工业界 中极其流行的一种技术—
—协同过滤,其中很多都是 仅使用评分数据的矩阵分解方法,但其性能主要受评 分数据天然的稀疏性所制约。使用评论文本来对用户偏好和商品特点进行建模,是缓解数据稀疏的有效途 径[1’4]。例如:C〇n VM F[1]将C N N结合到概率矩阵分解,能同时挖掘评分数据和商品描述文本数据;A N R[4]利用注意力机制,将评论与用户不同方面的偏好相结 合来提高推荐性能。
尽管各种推荐算法性能的提高越来越显著,但是 对于不同用户或商品时,提取评论信息所使用的模型 是相同的,忽略了用户和商品的个性化特征。例如,假 设用户A更关注价格问题,用户B更关心质量
问题,他们同时写了一条相似的评论:该平板电脑价格高昂、质量不错。用户A由于价格的问题给出了一个不满
收稿日期:019 -08 -08。国家自然科学青年基金项目(61301245,61201414);国家自然科学基金委员会与中国民用航空局联 合基金项目(U1233113,U1633110);中央高校基本科研业务费项目(201921)。冯兴杰,教授,主研领域:推荐系统,数据库及数据仓 库,智能信息处理。曾云泽,硕士生。connector是什么意思
52计算机应用与软件2021 年
意的评分,而用户B则给出了满意的评分。因此,对 于不同的用户或商品,意思相近的一条评论将会有不 同具体含义。特别是在学习用户偏好和商品特点的时 候,要求模型学习出个性化的评论含义显得尤为重要。
本文提出基于个性化的多层注意力推荐算法P M A R(Personalized M u ltip le A tte n tio n R e com m en de r)。具体地,P M A R包含两个模块:个性化评论编码器和个 性化用户(商品)编码器。在个性化评论编码器中,先 使用双向G R U对评论进行编码,使单词编码能考虑评 论中的前后向上下文信息,然后基于单词级别的个性 化注意力找出与当前用户(商品)最相关的单词,进而 汇聚得到个性化的评论的隐表示;在个性化用户(商 品)编码器中,基于评论级别的个性化注意机制,将个 性化
评论隐表示汇聚成用户(商品)隐向量。最后为 了综合考虑用户隐因子和商品隐因子对最终评分的影 响,设计了一种融合门机制将二者融合成一条隐向量,并将该隐向量送入因子分解机进一步挖掘不同隐因子 间二阶组合影响,从而预测出最终用户对商品的评分。
1相关工作
目前结合评论文本进行评分预测任务的相关工作 众多,它们主要分为两类:基于主题模型的方法,基于
深度学习的方法。
11基于主题模型的方法
在传统自然语言处理领域,主要的文本数据特征 提取器为主题模型L D A,基于评论文本的推荐算法也 都是基于L D A来完成推荐任务。首个采用评论数据 进行推荐的工作是H F T[5],其将以往的矩阵分解与L D A相结合。随后同样将L D A作为文本编码器的工 作有R M R[]和T〇p ic M F[7]。R M R将L D A与混合高级 模型相结合进一步提高评分预测精度。T p i M F通过 非负矩阵分解得到评论的隐主题,并使得主题分布与 用户(商品)隐因子建立映射关系。
随着自然语言处理技术的不断进步,C N N、R N N 已经逐渐取代L D A,发展成为最主流的文本编码
器,因而近年来基于深度学习的推荐算法已经成为研究热点。
1.2基于深度学习的方法
最初使用深度学习组件C N N来提取评论信息进 行推荐任务的是C o n M F,其能从评论文本中提取出用 户和商品更深层的隐表达。而且C N N能够捕获卷积 窗口内的局部上下文信息,C o n M F比基于L D A的方法取得一定的提升。随后同样基于C N N所做的改进 工作如下:(1) D eep C oN N[]指出C o n v M F只使用了商 品评论的信息,而忽略了用户评论,因而D eep C oN N采 用并行的两个C N N同时提取用户评论和商品评论的 信息;(2) T ra n S N e t[8]指出D e e p C o N N在训练过程中保 留待预测用户-商品对的评论是不合理的,因此其通过 一个特制层使得模型能预测出待预测用户-商品对的 评论的隐表达;(3) D R M F[]在并行双C N N之后添加 上一层双向G R U,达到捕获评论间交互信息的目的,其可以算作首个尝试运用R N N进行推荐的模型;(4) N A R R E[3]同样采用双C N N结构,是首次通过注意力 机制考虑评论对建模贡献的模型,其性能有着大幅度 的提升。
上述研究表明,采取何种文本编码器对最终的模 型性能并不能起到决定性作用。要取得进一步的性能 提升,需要从编码过程如何结合实际的用户(商品)个 性化信息着手。M P C N[0]采用Co-A tte n tio n机制,将用 户评论的编码过程与商品评论的编码过程产生交互,这可以看作是在用户评论编码的过程引入了商品个性 化信息,在商品评论编码过程引入了用户个性化信息。
A N R是首个考虑评论不同方面(A s p e c t)编码的模型,因此对于同一条评论能编码出在不同方面下所对应的 评论隐向量,能更好地从不同方面拟合用户的个性化 信息。
尽管上述不同方法都能从不同方向进行改进,但 是它们都忽略了用户单词级别、评论级别的个性化信 息。因此,本文主要从这两个方面研究和实现了不同 注意力机制来解决该问题。另外,用户和商品隐向量 的最终融合交互方式是能影响模型性能的部分,因此 本文提出了一种基于门控机制的融合策略。
2本文模型
给定一个包含^个样本的数据集D,其中每个样 本(w,,r ul,M;ul)表示用户w对商品i写了一条评论
及相应的评分Q。本文的任务是根据用户M的评论集 (该用户发表的历史评论)和商品i的评论集R,(该 商品得到的历史评论),来预测出用户对商品的评分 匕。模型整体的示意图如图1所示,由于用户评论网 络和商品评论网络结构相同,因此下文仅详细介绍用 户评论网络,其中用户评论网络内部详细的示意图如 图2所示。
第1期冯兴杰,等:基于评论个性化多层注意力的商品推荐算法53
图1模型整体示意图
u
考研的培训机构
评论级别个性化注意力机制
I Ur ID I
m…R°c
(门控机制)
R,…R c
i f
<;单词级别个性化注意力机制 )
K
丨©©…©1…'©©•••©' (Bi-GRU)
I T t r
丨©©…©丨丨©@…©1…1©©…©丨
,©©…©,
Ru
图2用户评论网络内部结构图
2.1个性化评论编码器
在用户评论网络,给定一个用户&的评论集& =丨^,2,…,叫,其中C表示用户评论集的最大评论数。特别地,每条评论^都仅保留c'个单词。
采用预训练的词向量,将圪送人词向量映射层,得到及'e R c',其中e是词向量的维度。为了使得单 词信息综合考虑评论中前后向的上下文信息,将W
送人双向G R U进行编码,得到圪=(心人,…,/〇e
R xc'x2°,其中〇表示G R U的输出维度,由于这里是双向 G R U,因此其输出维度为2〇。
由于每个用户(商品)都具有一个唯一的I D,本文 先使用第一^个全连接层(M u ltila y e r P e rc e p
tro n,M LP)将 该I映射成一个低维向量&e R",该向量用于捕获 该用户单词级别的个性信息,其表达式为:
uw=R e L U(W1^ld +*i)(1)式中:%表示第一个M L P的权重;&是偏倚项;id为 用户&的I D。
每个用户发表评论时的用词习惯及词语所表达的 极性都具有个性化特性,为了使得单词隐向量具有个 性化特性,这里首先需要学习出针对某用户&的单词 级别的注意力向量,其具体计算如下:
S w= s o ftm a x(丑&4wu W)(2)式中:U e R X1是u的转置向量;久e R2-是转移矩阵;w e只…^是^条评论中C个单词对应的注意力 得分。接下来继续使用具有个性化信息的S对评论的 单词进行调整,得到c条评论的隐表达:
R®H u(3)
式中:将S w E R e x c'x1后两个维度转置得到S E R c1 x c';®表示批矩阵乘法,使得Sw和相乘后第一维度的c 不变,仅进行第2和第3维度的矩阵乘法。因此,最终得 到的c条评论的隐表达为R e R x1x2。为了方便后续计 算,将其维度转化为R e R c2。
2.2个性化用户(商品)编码器非常好的英文怎么写
考虑到R中并不是所有信息都有利于构建用户偏 好向量,其存在少量不相关信息。因此,在汇聚c条评 论前,本文添加一个门控机制来控制信息流。具体地,门控机制的输人为R,其输出为一个门控权重矩阵g e R c x2° :
g = a(RWg+b g)(4)式中:a为sigmoid函数;%e R2x2为权重矩阵;为偏倚项。接下来使用g来控制^中各维度能流人下一层的信息量:
R= R*g(5)式中:*是对应元素的乘法,使得R和g中对应元素相 乘,得到调整后的c条评论的表达S R g e R c2。
现实中同一种表达方式或相似的评论,对于不同 的用户将会产生出不同的情感极性。为了能基于用户 的个性化信息来将汇聚c条评论用户的偏好向量,这 里首先使用第二个M LP将用户I D映射成评论级别的 低维向量U e R"1 :
ur=ReLU(W2uld +b2)(6)
式中:W2为第二个M L P的权重矩阵;b2为偏倚项。由于不同评论对用户偏好的建模贡献程度都不一样,这里需要学习出评论级别的个性化注意力向量:
Sr=softmax(RsA r u l)(7)
式中:U E R-是U的转置向量;皂E R2^是转移矩 阵;r E R x1是各条评论的注意力得分。接下来根据该 注意力得分,可以汇聚各条评论得到用户偏好向量 U e R1x2° :
U = SrRg(8)以上介绍了在用户评论网络中从用户评论集到用 户偏好向量U的处理过程。同理,在商品评论网络中,从商品评论集同样可以得到商品特点向量/ E R X2°。
2.3个性化评分预测
在获取到用户偏好向量U和商品特点向量/后,以往的工作都是将二者拼接后送人因子分解机[12] (Factorization Machines,FM)中回归出预测评分。
FM
54计算机应用与软件2021 年
的优点是能挖掘特征向量中二阶组合的影响。然而,
本文认为通过拼接的方式来融合r和/的信息是相对
朴素的手段,因此本文采用了一种基于门控机制的融
合层,其能在维度层级进行向量间的融合[11]:
G = a(U W a+I W G2+b G)(9)
Z=G*U+(1-G)*I(10)
式中:Wa E R2x2。和WG E R2x2。都是权重矩阵;
b e R2。为偏倚项;*为对应元素相乘;Z E R1x2°。接下
来将Z送入因子分解机回归出预测评分匕:
非主流翻译relaxing是什么意思
I Z l I Z l I Z I
r u,=b +X w>z> + Z Z(v^V j〉^z j(1)
i=1i=1j=i+1
式中:6是全局偏倚项;w,是一次项的权重;〈V,,〉表
示向量内积,其用于捕获二阶项交互的权重。
2.4模型训练
本文模型的任务是预测出评分,实际上属于回归
任务,常用的目标函数为评分损失函数:
L= X(u i _ ru)2 (2)
u,ieO
式中:Z2表示训练集中的样本;…是用户u对商品Z的
预测评分;…是训练集中的真实评分。为了增强模型
的泛化能力,在训练阶段中,本文在用户网络和商品网
络的式(8)后添加了 Dropout[13]机制。另外,式(1)、式
(4)、式(6)、式(9)和式(10)的权重矩阵都以12正则
化的形式添加到损失函数中,由于参数众多,因此式
(12)没有写出。采用批随机梯度下降法训练网络,其
中优化器选用能自适应地调整学习率的Adam。
3实验
3.1数据集和评估指标
本文实验使用的是公开的亚马逊评论数据集,其
中包含24个类别的子集,本文选取其中3个数据集进
行实验,它们分别为 Tools and Home(T H)、Sports and
Outdoors(SO)和Automotive(A T)。数据集的统计信息
如表1所示。
表1数据集信息
数据集用户数物品数样本数稀疏度
/%
用户
评论集
的单词
平均数
商品
评论集
超级翻译的单词
beach怎么读平均数
TH16 63810 217134 47699.929031471 SO35 59818 357296 33799.957381431 AT 2 9281 83520 47399.61607968平均18 3881136150 42899.827491 290
模型的性能评估指标使用的是M S E(均方误差),其值越小代表模型预测得越准确,计算公式如下:
M S E =令
X (h)(13)
iV ^=1
式中:W是测试集的样本数量;U i和^分别为预测值和真实值。
3.2对比模型
本文模型主要是使用评论数据作为输入来预测评 分,用作对比的经典模型有L F M[14]、N u e M F[15]、C o n vM F[1]、D eep C o N N[2]和 N A R R E[3]。其中评分数据 指的是用户I D或商品I D,评论贡献指的是模型是否 有区分评论集中各条评论的贡献。表2为对比模型 比较。
表2对比模型比较
数据集
评分评论深度评论个性化门控
tmell
数据文本学习贡献评论编码机制LFM V
NeuMF V V
ConvMF V Vwatch your back
DeepCoNN V V
NARRE V V V
PMAR V V V V V V
(1) L F M:最经典的矩阵分解算法,其仅用到评分 数据,推荐性能严重受数据稀疏所影响。
(2) N e u M F:可以看作是L F M的深度学习版本。在L F M的基础上,添加深层的M L P来进行评分预测。
(3)C o v M F:首个使用文本信息进行评分预测的 工作,采用C N N提取文本信息,并融入到概率矩阵分 解中。
(4) D e e p C o N N:首个将评论数据划分为用户评论 集和商品评论集的模型,采用两个C N N分别提取二者 的信息来进行评分预测。
(5) N A R R E:在D e e p C o N N的基础上进行改进,首 次提出需要使用注意力机制来区分各条评论的贡献。
3.3实验方案和模型超参数
为了实验的公平性,参照对比模型的文献,采取相 同的划分策略:随机将实验数据集划分为训练集(80% )、验证集(10% )和测试集(10% )。在实验中,N e M F采用三个全连接层,采用塔式结构,即从第一 层到第三层的神经元为64、32、16。C o n v M F、D eep-C〇丽和N A R R E这三个基于⑶N的模型,其卷积核 个数都设置为50,卷积核大小为3。C o n M F、D eep-Co丽、N A R R E和本
文模型都使用50维的G lo v e 预训
弟1期冯兴杰,等:基于评论个性化多层注意力的商品推荐算法55
练词向量[15]。每个模型取得最优结果时,所需的用户
(商品)特征向量的隐因子数都不同,因此实验中的隐
因子个数在[5,10,15,20,25 ]五个数中遍历,选取最
优结果进行输出。
3.4性能对比
表3为各种算法在三个数据集上的对比结果。
表3各种算法在三个数据集上的结果
算法Tools and
Home
Sports and
Outdoors
Automotive
LFM 1.421 1.269 1.221
NeuMF 1.329 1.261 1 132
ConvMF 1.2961.173 1 125
DeepCoNN 1.248 1.028 1.006
NARRE 1.0770.940.894
PMAR0.9550.9710.886
总体来看,仅使用评分数据的模型(L F M,N e u M F)的性能远不如使用评论数据的模型,仅使用评论数据 的模型(C o n v M F,D e e p C o N N)性能不如同时使用评分 数据和评论数据的模型(N A R R E,P M A R)。另外,由于 N A R R E考虑了每条评论对建模的贡献,能够抑制无用 评论对模型
的影响,从而比不考虑评论贡献的模型(C〇n M F,D eepC〇N N)的性能有较大幅度的提升。然 而上述模型在对评论文本编码的过程中,都忽略了个 性化编码,即使两个不同的用户发表了一模一样的评 论,该评论编码出来的隐表达是相同的。针对该问题,本文P M A R算法分别引入了单词级别的个性化注意力 机制,使得评论编码的过程中引入了用户(商品)的个 性化信息。相比N A R R E,P M A R在考虑评论贡献的基 础上,引入了评论级别的个性化注意力,使得从评论隐 表达汇集成用户(商品)隐向量的过程中引入了个性 化信息,因此取得了最好的性能。
3.5消融实验
为了验证P M A R单词级别、评论级别的个性化注 意力、门控机制的影响,本节设置了如下变体算法进行 对比实验。
(1) P M A R-W:在P M A R的基础上,消除了单词级 别个性化注意力机制。即将各个单词的贡献视为等 同。具体的做法是将式(3)中的&设置为&= s o ftm a x(M〇,其中w= 1,w e R cxc x1中的各个元素的 值都为1。
(2) P M A R-R:在P M A R的基础上,消除了评论级别个性化注意力机制,即将各条评论的贡献视为等同。具体的做法是将式(3)中的&设置为& = softm ax(M〇,其中w = 1,w e W x l中的各个元素的值都为1。
(3) P M A R-W R:在P M A R的基础上,同时消除了 单词、评论级别个性化注意力机制,将各单词、各评论 的贡献视为等同。
(4)P M A R-G:用户偏好向量「和商品特点向量/ 后,都是直接将二者拼接来达到融合特征的目的。为 了验证P M A R的门控融合机制,该变体采用拼接策略 代替门控融合机制,即将式(10)修改为z = r®/,其 中㊉表示拼接操作。
各种变体算法和P M A R算法在3个数据集上的实 验结果如图3所示。变体P M A R-W R由于不考虑各个 单词、各条评论的贡献,且不具有个性化编码的特性,其性能最差。P M A R-W和P M A R-R由于不考虑单词 级别或评论级别的贡献,都受到一定程度的影响,性能 都不如标准的P M A R。另外,P M A R-W总会比P M A R-R更差,本文认为这是由于P M A R-W取消的单词级别 注意力机制更接近模型的输入层,不仅影响了单词的 编码也影响了评论的编码,其影响的覆盖范围比评论 级别注意力更大。为了探究门控融合机制的影响,将 其取代为DeepCo丽和N A R R E所使用的拼接策略,结 果表明,本文采用的门控融合机制能进一步提升模型 性能。
算法
(b) Sports and Outdoors数据集上的结
宣布英文
果