APP下载

NHRec:一种基于长短期兴趣的神经混合推荐模型

2020-12-11孙金杨刘柏嵩黄伟明

小型微型计算机系统 2020年11期
关键词:卷积向量神经网络

孙金杨,刘柏嵩,任 豪,黄伟明

(宁波大学 信息科学与工程学院,浙江 宁波 315211)

1 概 述

随着大数据时代的兴起,信息量呈现几何式增长,给社会带来极大便利的同时也造成了严重的信息超载.面对如此海量的信息,推荐系统能有效挖掘数据中的各种联系,并把有价值的信息推送给用户,以供用户决策之用.现如今,推荐系统已在各个领域得到了广泛发展,尤其是电子商务和社交媒体领域,例如谷歌、亚马逊、YouTube、Netflix等[1,2].个性化推荐最具挑战性的一点在于如何在用户需求不明确的情况下,充分挖掘用户历史信息.

推荐系统的一个主流分支是基于协同过滤的推荐算法,通过用户对商品的评分或是其他行为来为用户提供个性化推荐.协同过滤又可以分为基于领域的方法和隐语义模型,其中,基于领域的方法对物品之间的联系或是用户之间的联系进行建模,Sarwar[3]等人提出一种基于物品的协同过滤算法,采用改进的余弦相似度计算物品的相似度进行推荐计算.隐语义模型通过将物品和用户映射到因子上的特征来解释评分,而因子是根据用户反馈所得.这种方法比较典型的是矩阵分解(MF)模型,本质上将用户和物品通过已有信息嵌入到相同维度的隐语义空间,并采用点积计算用户对物品的推荐分数.Rendle[4]等人在矩阵分解的基础上,使用贝叶斯个性化排序替代最小化损失函数,取得了一定的提升.

传统模型在推荐中应用比较成熟,但存在信息挖掘不够充分、抗噪能力不足等缺点.近年来,深度学习在各个领域有着显著进展,它通过非线性网络结构,能很好表征数据的深层次特征,为推荐领域带来了新的契机.Guo[5]等人使用神经网络学习得到高阶特征,并结合低阶特征进行特征组合,让模型兼具记忆与泛化的学习能力;He[6]等人指出矩阵分解的缺陷,并提出了一种神经协同过滤算法(NCF),使用多层感知器来替代点积计算;He[7]等人还考虑用户历史物品的贡献程度,提出一种融合注意力机制的神经协同模型(NAIS),进一步提升了模型的可解释性.

推荐系统中的序列推荐根据用户的历史行为来预测用户下一项可能感兴趣的物品,往往需要考虑到历史物品的顺序关系.早期的工作[8]使用马尔可夫链(MC)通过学习得到转移图来建模序列行为,该转移图会根据用户的近期行为来预测下一个物品.同时研究者还将心理学中的兴趣遗忘曲线融入到MC中,增强模型[9]的合理性.最近,循环神经网络(RNN)在序列推荐中取得了良好效果.Yu[10]等人基于循环神经网络的框架建模全局时序信息,并结合池化和矩阵操作进行购物篮的推荐;Liu[11]等人采用自适应上下文的内容矩阵和转移矩阵来改进传统的循环神经网络,有效地将上下文情景信息融入到序列推荐并提升了效果;Zhu[12]等人使用多个时间门来对时间间隔进行建模,充分捕捉用户兴趣在不同时间间隔内的变化情况.Zhou[13]等人利用双层门控循环单元模型设计了一种兴趣进化层结构(DIEN),准确表达用户兴趣的动态变化性.

当前主流的基于深度学习的推荐算法在推荐时利用的信息和采用的框架各不相同,在各自的网络下推荐效果也各有千秋,但每个网络能捕捉到的信息有限,并带有偏向性,为了克服这一缺陷,本文构建了一种自适应融合用户长短期兴趣的混合推荐模型(NHRec),基于用户兴趣会随时间的变化产生兴趣漂移这一现象,即用户信息的时效性,采用融合注意力机制的循环神经网络捕捉用户的时序信息和内容信息(短期兴趣),同时利用卷积神经网络提取用户的全局信息(长期兴趣),通过自适应方法融合用户的长短期兴趣并进行推荐计算.为了验证本文提出的推荐模型的有效性,在两个电影数据集上进行对比实验,并取得了良好效果.

2 系统框架

2.1 用户短期兴趣建模

基于注意力机制的神经推荐模型[7]为用户历史行为序列的每个物品分配一个权值系数w,突破了原先对每个行为序列物品同等对待的局限性,使用户的表征更加合理,预测模型如下:

(1)

其中,pi和qj表示目标物品i和用户历史物品j的嵌入向量,w表示物品i和物品j的关联权重系数.

在此基础上,本文还认为用户的行为还与历史行为有着时间上的关联性,尤其是近期的历史行为,往往表示用户短期内的兴趣情况,在推荐中起着非常重要的作用.为了解决时间关联性因素,也就是用户历史序列中的某个物品会比它之前的物品有着更加显著的重要程度,本文引入时间衰减函数ψ(tz-t),并将时间衰减函数融入到注意力推荐模型中,模型如下:

(2)

其中,tz表示用户历史序列中最后一个物品的交互时间的时间戳,时间衰减函数ψ(t-tz)是一个单调递减函数,根据tz-t的时间差增加,函数的值将会减小,这样保证越近的历史物品会对用户的偏好计算有更大的权重.

然而,由于注意力推荐模型中已经有权重系数w,直接把时间衰减函数ψ(tz-t)作为另一个权重融入到预测模型中,反而会影响原有模型的注意力权重,简单的权重系数和时间衰减函数相乘并不能有效提升推荐模型的结果.为了更好地融合两者,本文提出了一种融合注意力机制的GRU网络来建模用户短期兴趣偏好.

ut=σ(Wuqt+Uuht-1+bu)

(3)

rt=σ(Wrqt+Urht-1+br)

(4)

(5)

(6)

式中,σ表示sigmoid激活函数,∘表示向量的点乘操作,Wu,Wr,Wh∈nH*nI,Uu,Ur,Uh∈nH*nH,nH表示隐藏层的维度数量,nI表示输入向量的维度数量,bu,br,bh表示相应的偏置,qt是GRU网络的输入,对应用户t时刻的历史行为序列的嵌入向量,ht表示用户t时刻的偏好状态.

图1 门控循环单元原理图Fig.1 Schematic diagram of door control cycle unit

为了更好地表达用户的兴趣偏好,本文在GRU的更新门中引入注意力机制.如图2所示,需要先将历史行为序列的嵌入向量和目标物品向量输入到注意力网络,注意力网络计算得到两者的相关权重w并传递给GRU网络.注意力网络计算公式如下:

(7)

(8)

本文提出的ATGRU网络与传统的GRU网络不同之处在于引入了注意力机制来控制更新门,具体改进如下:

(9)

(10)

图2 短期兴趣建模框架Fig.2 Short-term interest modeling framework

2.2 用户长期兴趣建模

在推荐系统中,从整体的时间链看,用户的兴趣会发生变化,通过对用户的长期兴趣建模,并结合到短期兴趣中,给推荐模型带来一定的“惊喜度”.

循环神经网络虽然具有捕捉用户短期兴趣的良好能力,但往往也忽视了用户的长期兴趣,本文采用卷积神经网络(CNN)对用户所有历史物品进行特征提取作为用户的长期兴趣,有效弥补短期兴趣的缺陷.

如图3所示,首先根据用户的历史行为序列经过嵌入层得到操作矩阵H=[q1,q2,…,qL]T,其中H∈L*nI,将多个卷积核ω∈L*1在矩阵H中进行卷积运算,每个卷积核可得到一个用户的特征映射v=[v1,v2,…,vnI]∈1*nI,具体计算如下:

(11)

其中,wt表示卷积核ω中下标为t的元素,Ht,i表示矩阵中第t行第i列的元素,b∈为偏置项.

本文的模型使用多个卷积核来生成不同的用户特征映射,设Ω和τ为卷积核矩阵及数量,则根据卷积核数量可得到τ个用户特征映射v,并将它们拼接得到V∈1*τnI,之后再经过一个全连接层转化成用户的长期兴趣,计算如下:

plong=ReLU(concat(ReLU(H*Ω))Wl+bl

(12)

其中,*和concat分别表示卷积计算和向量拼接操作,Wl∈τnI*nI是全连接层的权重矩阵,bl∈1*nI为偏置项,plong表示用户的长期兴趣.卷积神经网络可以捕捉用户行为中相同维度特征之间的全局关系,能有效提取用户长期兴趣.

图3 长期兴趣建模框架Fig.3 Long-term interest modeling framework

2.3 长短期兴趣自适应融合

图4 融合长短期兴趣推荐框架Fig.4 Integrating long and short-term interest recommendation framework

区别于人工给短期兴趣和长期兴趣分配固定权值,本文利用时间间隔信息来计算自适应的权值,时间间隔信息是指预测时的时间信号与本次预测最近物品的交互时间之差,时间间隔信息越短,该自适应方法会给短期兴趣计算较大的值,如下:

α=σ(Wm[pshort,plong,xtime]+bm)

(13)

pfinal=α*pshort+(1-α)*plong

(14)

其中,xtime是时间间隔的嵌入向量,[pshort,plong,xtime]表示短期兴趣向量、长期兴趣向量和时间间隔向量的拼接,并经过一层神经网络进行转化,σ为sigmoid激活函数,pfinal为最终的用户长短期兴趣向量,通过短期兴趣和长期兴趣自适应融合得到.将用户兴趣向量和目标物品向量输入到多层感知器,通过sigmoid激活函数,得到推荐分数yui.

本文将评分数据转化为二分类的标准,使用正则化对数损失定义最小化的目标函数:

(15)

算法 1.NHREC

InitializeΘwith Gaussian distribution.

repeat

drawpiandqjfromR(u)

2017年5月4日下午5点,周晓枫从四川奉节打来电话,告诉我胡冬林当日早晨去世,可能是心脑血管病突发致猝然死亡,吉林省作协已成立治丧委员会处理后事。晓枫是通过我认识胡冬林并知道我俩亲密关系故立即通知我。我迅即打电话给吉林几位作家朋友,得到了证实。这一噩耗给我的打击,犹如我失去了家中一位亲人。我和老伴闻讯悲痛之极,潸然泪下。从此我俩再也见不到他了,再也听不到他从长白山打来的电话了,再也看不到他打算编写的长白山森林年历了,再也不可能听到他在我家里讲他山居的轶闻趣事了……

for history itemsqjof each users:

computer Long-term interestplongaccording to Eqns.(3)~Eqns.(10)

computer short-term interestpshortaccording to Eqns.(11、12)

computer user interestpfinalaccording to Eqns.(13、14)

for each parameterθin {Θ}:

until convergence

return Θ

3 实验及结果分析

3.1 数据集

实验采用两个被广泛应用到推荐系统的真实电影评分数据集:MovieLens-100K和MovieLens-1M[15].其中,每个用户至少对20个电影有过评分记录,并提供用户职业,电影类别,电影时长,评分时间戳等辅助信息.MovieLens-100K数据集包含了943名用户对1682部电影的评价.MovieLens-1M数据集包含6040名用户对3952部电影的评价.为了实验需要,本文将评分的显性数据转换成二分类的标准,使用户对电影是0或1的隐性数据,表示用户是否和电影有过交互.

3.2 评估标准

为了验证推荐模型的性能,使用归一化折扣累积增益(NDCG)和命中率(HR)作为评测指标.NDCG是一种常用于排序学习推荐的多级评价指标,对推荐列表的前K个物品是否符合用户偏好的评价.HR是基于召回的度量,测量了推荐的准确性,直观表现出当前测试电影是够属于推荐列表的前K项.两个评测指标定义如下:

(16)

(17)

其中,GT表示电影的总数,Zk是标准化因子,确保列表中存在一个值为1的规范化表示;ri表示第i个项目的预测相关性,用0和1表示;lg(1+i)是位置衰减函数;待推荐用户的NDCG值和HR值越大,推荐列表越符合用户偏好,算法的推荐效果越好.

3.3 对比实验

1)ItemKNN[3],基于项目的协同过滤算法,使用余弦相似度来衡量项目相似度.

2)MF-BPR[4],基于矩阵分解,并使用贝叶斯个性化排序作为目标函数,是隐式反馈协同过滤的主流算法.

3)RNN[10],基于循环神经网络的推荐算法,利用循环神经网络对时间的敏感性解决推荐过程中的时序问题.

4)NAIS[7],基于项目注意力的神经协同过滤算法,并使用注意力机制为每个历史项目分配合理的权值,能较好处理不同项目之间的重要程度.

3.4 实验结果分析

在实验进行Top-K推荐时,对K取值为5、10、15、20进行实验,使用正则化对数损失模型进行优化,正则化参数λ为0.计算注意力权重时,设置平滑指数β在0到1之间,根据实验结果表明,β在取值0.5时取得较好效果.对于嵌入向量的尺寸,确定长度为16,在MovieLens-1M和MovieLens-100K两个数据集下对本文模型和测试模型的测评结果如图5-图8所示.

图5 1M数据集的命中率Fig.5 1M dataset hit rate

图6 1M数据集的归一化折扣累计增益Fig.6 1M dataset normalized discount cumulative gain

由图5、图6表明MovieLens 1M数据集上的各算法的性能,在同等参数的情况下,本文的NHREC模型在不同K值都能取得比其他算法更优异的效果,K为15时NHREC的HR相比于ItemKNN、MF-BPR、RNN和NAIS分别提升0.31、0.19、0.09和0.07,NDCG也分别提升了0.2、0.11、0.05和0.03,实验结果说明对长期兴趣和短期兴趣共同建模融合能有效提升用户的准确表征,从而提高推荐的准确性和排序质量.图7、图8是在MovieLens 100k数据集上各算法的性能,在该数据集下同等参数的情况下,NHREC模型在K为15时比ItemKNN、MF-BPR、RNN和NAIS在HR上分别提升0.30、0.21、0.12和0.08,NDCG分别提升0.19、0.08、0.05和0.04.与MovieLens 1M数据集上的实验结果相比,在100K数据集整体的算法性能都有所下降,从而也说明了在数据较少会影响推荐算法的性能,尤其是基于深度学习的推荐模型,需要大量的监督数据来训练才能得到更为精确的效果.

超参数α的作用是调节短期兴趣和长期兴趣对用户向量的贡献程度,表1是不同的α值对推荐结果的影响,图9是模型在不同α值下的准确率折线图,α=0和α=1分别表示仅使用长期兴趣或短期兴趣,α使用固定权值是通过人工赋予权值,可以发现,短期兴趣总是表现得比长期兴趣更加优异,甚至比使用固定权值的长短期兴趣还要好,而自适应权值能更好地融合短期兴趣和长期兴趣,并取得四者中最好的效果.

图7 100K数据集的命中率Fig.7 100K dataset hit rate

图8 100K数据集的归一化折扣累计增益Fig.8 100K discount cumulative gain

图9 不同α的推荐效果Fig.9 Different α recommendation results

表1 不同α推荐结果比较(HR)Table 1 Comparison of different α recommendation results(HR)

4 总结与展望

本文提出了一种自适应融合长短期兴趣的神经混合推荐模型,利用改进的GRU网络对用户历史序列进行短期兴趣提取,同时采用卷积神经网络建模用户的全局兴趣并提取长期兴趣,最后两类兴趣通过时间间隔自适应融合,让推荐系统同时考虑到长短期兴趣.结果表明,通过自适应融合长短期兴趣的推荐能有效提升推荐精度,并在一定程度上使用户偏好更具可解释性.之后的工作,会将用户历史序列的多维度信息引入到模型中,包括时间间隔、物品信息、内容信息等,如SLi-Rec模型[16],需要构建更加复杂的模型对数据进行进一步深入和解析,进而提升推荐系统的质量.

猜你喜欢

卷积向量神经网络
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
向量的分解
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
聚焦“向量与三角”创新题
三次样条和二次删除相辅助的WASD神经网络与日本人口预测