基于双层注意力机制的对偶正则化评分预测

2021-08-09 02:58阳,武
关键词:注意力物品向量

田 阳,武 浩

(云南大学 信息学院,云南 昆明 650500)

随着互联网信息量的快速增长,推荐系统在探索用户喜好及精准推送方面扮演着不可或缺的角色.推荐系统通过获取用户的个人需求、兴趣爱好以及社交网络等信息,个性化地为用户提供决策支持和信息服务.推荐系统从20 世纪80 年代提出到如今的广泛应用,经历了极快速的技术迭代和技术创新.学术界和工业界提出了众多技术手段来提升推荐系统的性能和准确性.以往推荐系统大多基于协同过滤法[1],通过评分、点击率、浏览次数等反馈信息获取用户的偏好,学习用户及物品的隐式向量来推测用户对物品的喜好程度.

协同过滤的关键在于如何有效表征用户或物品的隐式向量,以及如何将二者结合从而获取评分等预测信息,其中内积是二者结合的经典选择[2].由于现实世界的数据较为庞大,数据较为稀疏,用户不可能对所有物品反馈有效的信息,反馈矩阵中非零行较少,因此通过矩阵分解的方法难以达到预期效果.近年来,随着计算能力的提升以及深度学习的蓬勃发展,基于深度学习的推荐系统正成为当前研究的主流.例如Latent Dirichlet Allocation(LDA)[3]等主题模型、卷积矩阵分解(Convolution Matrix Factorization,ConvMF)[4]等模型结合了深度学习的相关技术,进一步缓解了因数据稀疏而造成预测性能下降的问题以及因缺少起始数据而造成的冷启动问题;但LDA 等模型忽略了长文本中上下文的联系,无法准确地表征向量,从而影响预测结果的准确性.

为了进一步准确地表征向量,本文提出了基于双层注意力机制的对偶正则化矩阵分解模型(Hierarchical Attention Dual-Regularization Matrix Factorization,HARMF),采用BiGRU[5]来增强长文本中前后单词的关联性,引入注意力机制[6-7]分配单词或文档在用户和物品表征向量中的权重,通过概率矩阵分解(Probabilstic Matrix Factorization,PMF)[8-9]获取用户和物品的偏好,结合文本信息来做出预测.

本文作出的贡献如下:

(1)采用BiGRU 来增强长文本中前后单词的关联性,引入注意力机制分配不同单词或句子在模型中的权重,重要的单词或句子对用户或物品的表征中应具有更高的贡献值,不重要的单词或句子应尽量降低其影响;

(2)利用PMF 融合用户及物品模型,通过计算概率分布进一步提升模型预测精度;

(3)在Amazon 等数据集上测试的结果与ConvMF[10]以及传统的矩阵分解(Matrix Factorization,MF)模型[11]相比有显著的提高,证明改进神经网络能有效提高表征能力,从而提升预测精度.

1 相关工作

1.1 基于矩阵分解的协同过滤以往推荐系统大多基于协同过滤[12-13]法,利用可观测的评分来获取代表用户偏好和物品特征的隐式向量,从而推荐新的物品给用户.MF 模型[11]利用点乘操作学习用户和物品的隐式特征向量,将二者结合从而预测出评分.PMF 假定用户和物品的特征向量及评分预测矩阵均服从高斯先验分布,通过不断迭代和优化来学习用户物品的特征向量.友邻模型[14]将邻近模块集成到矩阵分解模型中,假定用户对物品的评分同时取决于性格特征以及用户对其它物品的行为.这些方法在表现优秀性能的同时,也存在以下问题:①未观测到的评分使得数据集较为稀疏,将极大影响到用户-物品表征向量的构建;②传统的点乘操作使得隐式特征相对独立,难以学习到更高阶的特征.

1.2 基于文本信息的评分预测在推荐系统中引入辅助信息可以有效提升预测的精度.主题模型例如HFT[15]、CTR[16]和LDA 通过假定主题和词汇在文档中为多项式分布来学习评论中潜在的主题;RMR[17]使用类似技术从文本中提取主题因子,利用高斯混合分布对评分进行建模.但上述方法都基于词袋模型,忽略了词序和文本上下文关系.

深度模型的出现则有效解决了上述问题,DeepCoNN[18]采用双边卷积神经网络(Convolution Netural Network,CNN)模型对用户和商品的评论文本进行建模,然后送入FM 进行评分预测;NARRE[19]在此基础上引入注意力机制,赋予不同评论信息对于用户或物品中间表征向量不同的权重,从而更准确地表征用户-物品表征向量.

2 架构描述

2.1 概述推荐系统的关键在于如何准确表征用户-物品表征向量以及降低数据稀疏性的影响.本文提出的模型首先将评论文本由嵌入矩阵转化为特征向量,然后通过双层BiGRU 提取文本特征并同时加强文本中单词或语句间的上下文联系,接着引入双层注意力机制区分不同单词或句子对模型的贡献度以进一步强化表征向量的准确性,最后利用PMF 结合用户和物品表征向量从而预测出用户对于物品的评分.如图1 所示,其中U和V表示用户和物品,R表示评论文本,m个用户或n个物品的评论文本有t条,S表示注意力之和,ϕu和θi表示用户u和物品i的表征向量,ηu和ηi表示用户的偏好和物品的特征.

图1 用户/物品隐式向量表示Fig.1 Implicit vector representation of users/items

2.2 文本嵌入首先对文本进行嵌入,利用glove[20]获取每个单词的词向量,通过训练Wikipedia2014及Gigaword5 语料库获取预训练嵌入矩阵,利用嵌入函数:M→Rd将文本中每个单词映射到d维向量空间,则每个文本片段可表示为

其中,s为文本片段,ei表示第i个单词的向量且ei∈Rd,拼接每个词向量即可得到文本片段的向量表示,对整个语料库而言,若T个评论文本存在时序 上的有序排列,则可以用S=(s1,s2,···,sT) 表示.

2.3 BiGRU 编码器GRU[21]在LSTM[22]基础上对模型参数进行了简化,在降低模型复杂度的同时可解决长短期记忆和反向传播梯度问题.GRU 利用门控单元(重置门rt和更新门zt)加强记忆能力.对于时间t,当前隐藏层状态ht为

其中,zt为更新门,用于控制之前信息是否保留以及新信息是否添加,xt为当前输入的文本序列,为候选隐藏态,rt为重置门,如果rt为0,则代表遗忘过去的状态,Wz、Wh、Wr为更新门、隐藏层、重置门对应xt的权重,Uz、Uh、Ur为更新门、隐藏层、重置门对应隐层单元ht-1的权重,bz、bh、br为更新门、隐藏层、重置门对应的偏置,tanh () 为双曲正切函数,⊙ 为按元素相乘.

传统GRU 模型中状态的传输是从前往后的,但实际情况中当前状态与后续状态相关.BiGRU是由两个GRU 上下叠加而成,输出则由这两个GRU的状态共同决定.前向GRU 及反向GRU 在时间t的隐态分别为串联这两个隐态即可得到当前时 间t的隐藏层状态:

2.4 多层注意力机制本文模型中有两层BiGRU,每层都引入了注意力机制,分别为单词级别(wordlevel)的注意力以及文档级别(doc-level)的注意力.假定每个用户或物品有Li个评论,每个评论包含Ti个单词,wit(t∈[1,T])代表第i个评论的第t个单词.其中单词注意力模型如图2 所示.2.4.1 单词编码器 第i条评论中有T个单词,每个单词可表示为wit,假定嵌入矩阵为We,则xij=Wewij.利用BiGRU 获取评论中单词的向量表示,其中前向读取评论的顺序为wi1到wit,而反向读取评论的顺序为wit到wi1:

图2 单词注意力模型Fig.2 The model of word-level attention

将上述结果进行拼接,得到隐藏态ht,同时为了防止过拟合,利用dropout 技术按照一定比例随机丢弃部分神经元.

通常,每个单词对于文本的贡献度不同,贡献度大的单词应当分配较大的权重,注意力机制将不同单词按照一定的权重稀疏进行分配,然后组合在一起.

其中,uit由当前隐态ht经过一层MLP 得出[6],其下标i、t表示第i个用户的第t条评论文本计算,计算uit和单词序列向量uw(随机初始化)间的匹配程度,Ww、bw为隐层权重和偏置,T 为转置符号,通过softmax 进行归一化处理后得到权重 αit,于是当前第i个用户的文档序列si可表示为基于权重的各单 词的特征总和.

2.4.2 文档编码器 与单词编码器类似,利用BiGRU 对文档序列si进行编码,假定语料库中有L个文档,则获取某用户或物品评论文本间的上下文关系可表示为:

对一个用户或物品表征向量而言,不同的评论文本应该具有不同的贡献度,为此,引入基于文档模型的注意力机制来分配不同评论文本在整个语料中不同的权重:

其中,v代表了集合所有评论信息的用户或物品的模型向量,us与上层一致,来自于随机初始化并且可 以由训练所得,i∈[1,L].

2.5 评分预测得到用户及物品表征向量后,为了将二者融合从而生成评分预测,利用PMF 引入了偏好信息,结合用户-物品表征向量来对评分进行预测,如图3 所示.

图3 HARMF 模型Fig.3 Model of HARMF

假设有M个用户及N个物品,Xu和Yi分别是用户和物品关于评论文本的输入文档,通过两个对偶的神经网络DNN 将Xu和Yi转化为用户或物品的表征向量ϕu和θi,其中W1,W2分别代表神经网络的权重,即对于每个用户可得到ϕu←DNN(Xu,W1),对于每个物品可得到θi←DNN(Yi,W2) .在PMF 中,假定用户和物品的隐式特征向量服从均值为0 的高斯先验分布:

其中,rui为用户u对物品i的评分,Uu和Vi为第u个用户和第i个物品的隐式特征向量,I为单位矩阵,Iu,i为指示函数,当用户u对物品i有评分时,其值为1,反之则为0.假设用户U和物品V互相独立,求解U和V的最大后验概率,则求解

其中,λw为保持概率模型完整性的参数.

对于损失函数的求解,首先求出ϕu和θi的值,即ϕu←DNN(Xu,W1),θi←DNN(Yi,W2),然后求解Uu和Vi,对损失函数L进行偏导并使偏导数为零则可以得到二者的推导公式:其中Ci,Cj是对角矩阵.

HARMF 具体求解过程:首先,对U、V、W1、W2以及Ci、Cj进行初始化,利用对偶神经网络DNN 分别对Uu和θj进行求解;然后,当求解出ϕu和θi后即可通过公式(14)对Uu和θj进行更新;接着,利用均方误差(Mean Absolute Error,MSE)对模型进行反向传播更新W1、W2的值;最终,经过多次迭代和调参优化使模型收敛,继而可求出最终的U、V、W1和W2.有了U、V即可根据公式(14)补全评分矩阵:

3 实验结果

3.1 数据集、评价指标与基线方法本文实验的数据集来自于亚马逊的Amazon Instant Video(AIV)、Kindle Store(KS)以及来自于Yelp 平台的Yelp dataset,这些数据集在推荐系统研究领域被广泛采用.相关统计如表1 所示,其中包含了每个数据集的用户数、物品数、评论文本数、评分范围以及对应的数据密集.

表1 各数据集统计表Tab.1 Statistical table of each dataset

为了进行实验评估,遵循经典方法对数据集进行划分,其中训练集、验证集和测试集划分比率为8∶1∶1.

对于评分预测问题,一般使用两种评测指标,分别是平均绝对误差(Mean Absolute Error,MAE)以及均方根误差(Root Mean Square Error,RMSE).MAE(EMA)和RMSE(ERMS)计算公式如下:

将本文模型HARMF 与多个主流的评分预测模型进行比较.PMF:经典的仅基于评分的协同过滤模型,在大型、稀疏且不平衡的数据集上能获得很好的效果;ConvMF:结合CNN 与PMF 来对评分进行预测,其中CNN 用于提取用户或物品评论文本文档的特征;TARMF[22]:利用BiGRU 提取用户或物品的评论文本特征,结合主题模型进行评分预测;DRMF[23]:结合CNN 与GRU 来对评分进行预测,其中CNN 用于提取评论文本的特征,GRU 用于进一步提取文本上下文信息.

3.2 性能对比本文将GRU 的输出维度设为50,U和V的隐式向量维度设为50,词嵌入向量维度设为128.ConvMF、TARMF 和DRMF的评论文本与HARMF 使用相同的文本.在此实验中,训练深度模块的样本批次大小设为64、dropout 在KS、AIV和Yelp 中的取值分别为0.7、0.6 和0.5.本文着重探索 λU、λV取值对模型预测精度的影响,其中 λU、λV的取值范围为{0.1,1,2,5,10,20,100}.

从表2 可以看出,相较于传统的PMF,ConvMF和TARMF 性能表现较好,MAE 指标提升了15.6%~23.7%,RMSE 提升了17.7%~20.9%,表明辅助信息的引入能有效提高评分的准确性.

表2 不同算法在各数据集的性能比较Tab.2 Performance comparison of different algorithm in each database

TARMF 和DRMF 都是对偶结构,利用用户和物品双边的信息对评分进行预测,DRMF 中已通过实验证明对偶信息结构能有效提高推荐性能.在TARMF 和DRMF 中,后者较前者的MAE 提升4%,RMSE 提升6%,表明双层网络比单层网络具有更好的性能.

同样为双层对偶结构的DRMF 和本文的HARMF,后者加入了双层注意力机制,在各数据集的MAE 分别提升了3.01%、2.98%和3.42%,RMSE则提升了3.91%、3.22%和2.87%,表明引入注意力机制能进一步提高模型预测性能.

为进一步探讨注意力机制对模型预测精度的有效性,分别对仅对用户模型使用注意力机制和仅对物品模型使用注意力机制进行评估.从图4(a)可以看出,对用户或物品使用注意力机制的确可以提升评分预测的性能,且双边注意力比单边注意力表现更好,原因在于用户或物品都有各自的喜好或特征,通过注意力机制能有效分配文本内容对它们贡献的权重.其次,对单词级别注意力和文档级别注意力的有效性进行探究.从图4(b)可以看出,使用二者中任意一种注意力机制比不使用注意力机制的模型表现得更好,使用双层注意力机制能有效提升评分预测的精度,原因在于单词级别的注意力机制可以对文本中的每一个单词赋予权重,文档级别的注意力机制能够在构建用户喜好和物品特征时关注具有更多信息量的文本,二者结合可以使得由文本信息构建的模型表征能更加逼近准确值.

图4 模块有效性分析Fig.4 Effectiveness analysis of module

3.3 参数分析不同参数的设置将会影响模型的性能,以下将探究部分参数的微调对HARMF 性能的影响,其中包括文本嵌入层的词嵌入维度dw,BiGRU 层的dropout 系数以及预测层中PMF 中的正 则化系数 λU、λV.

3.3.1 嵌入维度的影响 文本将dw的取值限定在{32,64,128,256,512}以观察HARMF 在AIV、KS和Yelp 数据集上RMSE 的变化,结果如图5 所示.通常单词嵌入维度过低时,会丢失一些语义信息;增加词嵌入维度,会增强单词对语义能力的刻画;但当词嵌入维度过高时,会引入更多的训练参数,同时会增加模型过拟合的风险,降低模型的预测能力.即并非维度选取越高越好,当dw取256 附近时可 取得较好的性能.

图5 dw 对各数据集的影响Fig.5 Influence of dw on each dataset

3.3.2 dropout 的影响 dropout 技术可以用较少的训练样本防止深度网络过拟合.本实验中通过调整BiGRU 层中dropout 率的取值来观察对HARMF的影响.根据图6 可以看出采用dropout 技术能明显减少预测误差,比如在AIV 数据集中,RMSE 可以达到4%.但并非dropout取值越大越好,由图6(a)和图6(b)可知,随着dropout 取值的增大,误差值存在部分波动;在规模较大的数据集中,增益不如小的数据集.RMSE 在KS 数据集中的增益为1%;而在Yelp 数据集中,增益仅为0.5%.因此,模型的d ropout 率的取值最好在[0.4,0.7].

图6 dropout 对各数据集的影响Fig.6 Influence of dropout on each dataset

3.3.3 正则化系数的影响 λU、λV为正则化系数,其中 λU表示 ϕu对用户隐式向量U的影响,λV表示θi对物品隐式向量V的影响,二者表现的是在建模用户和物品过程中内容信息的比例对模型预测精度的影响.

图7(a)、图7(b)以及图7(c)分别展示了λU,λV各种组合在3 个数据集上的RMSE 的表现,颜色越接近蓝色,RMSE 的值越小,预测准确性误差越小.从图7(b)和图7(c)可以发现,当 λU不变时,随着λV的增长,蓝色愈深即RMSE 值愈小,同理,当 λV不变时,随着 λU的增长,RMSE 值也愈小,说明适当增加用户或物品的内容比例能有效减少预测误差.但从图7(a)可以看出,当 λU、λV超过某个阈值时,随着它们的增加预测误差反而增大,说明完全依赖用户内容或完全依赖物品内容并不能使得预测准确度提升.在AIV 数据集上,λU=10,λV=100 达到最深蓝格,说明此时为最优组合.同理,λU=5,λV=100 或 λU=100,λV=5 时在KS 数据集上能达到最优.λU=100,λV=10 或 λU=10,λV=100 时在Yelp 数据集上 能达到最优.

图7 λU,λV对各数据集的影响Fig.7 Influence of λ U,λ V on each dataset

4 结论

本文提出了一个基于双层注意力机制的评分预测模型,核心在于利用文本信息对用户和物品进行建模,通过PMF 引入偏好或特征信息来对融合双边模型从而预测评分.利用单词编码器和文档编码器对文本信息进行特征的提取以及权重的分配,从而能够更好地获取用户的偏好和物品的特征.本模型在3 个数据集上进行了实验,实验表明此方法能够有效提升神经网络对评分预测的准确性.未来可考虑加入物品描述、标签或图片信息等辅助信息来进一步增强预测的性能.

猜你喜欢
注意力物品向量
称物品
向量的分解
让注意力“飞”回来
聚焦“向量与三角”创新题
“双十一”,你抢到了想要的物品吗?
谁动了凡·高的物品
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线