APP下载

融合注意力机制与场感知因子分解机的电影推荐

2020-07-24黄德柒苟刚

软件导刊 2020年6期
关键词:注意力机制推荐系统卷积神经网络

黄德柒 苟刚

摘要:传统协同过滤算法仅利用评分信息进行推荐,而没有利用到更多用户特征与电影特征,推荐效果不佳。深度学习的普通应用,为特征提取打下了良好基础。通过爬取网站上的电影演员信息表,使用卷积神经网络对文本信息进行特征提取,采用结合注意力机制与场感知因子分解机的混合推荐方法,并使用用户一电影特征矩阵进行训练。在公开数据集MovieLens上进行实验测试,RMSE达到0.850,与5组推荐模型进行对比,RMSE分别提升了18.0%、11.3%、7.60%、25.7%、6.80%。实验结果表明,该模型可以提高推荐效率。

关键词:推荐系统;注意力机制;场感知因子分解机;卷积神经网络

DOI:10.11907/rjdk.192143 开放科学(资源服务)标识码(OSID):

中图分类号:TP301文献标识码:A 文章编号:1672-7800(2020)006-0019-04

0 引言

随着互联网的发展,人们在网上观看各类电影的同时,也被大量电影信息所淹没。目前解决信息过载的手段主要分为两种:搜索引擎与推荐系统。当掌握一定量信息时,可以使用搜索引擎进行搜索,但网络上的视频数量十分庞大,而且随着时间推移,数量还会继续增加。因此,若要在大量信息中寻找到潜在感兴趣的电影,则需要用到推荐系统。在互联网上,各大视频网站为用户推荐视频是很常见的事情,目前常用推荐算法有基于内容的推荐、协同过滤推荐以及混合推荐。基于内容的推荐仅考虑到项目与项目之间的关联,而没有考虑到用户的历史兴趣偏好;协同过滤推荐则是基于用户之间的相似性,基于多个用户的历史行为信息对用户进行潜在项目评分预测,因此在数据稀疏时效果不佳,且没有利用电影的特征信息;混合推荐由协同过滤推荐以及基于内容的推荐混合而成,既包含了项目特征,又考虑到用户的历史兴趣偏好,但由于数据量过于庞大,完全依靠人工进行特征提取需要花费大量人工成本,提取效果也不理想。随着深度学习研究的发展,Covington等针对You了ubc提出一种基于深度神经网络的模型,使用两个深度网络,一个生成候选集,一个进行推荐,这也是工业上第一次使用深度学习进行视频推荐。目前评分预测中使用较多的方法是使用矩阵分解进行预测,如何加入更多特征信息提高推荐效果也是目前的主要研究内容。由于神经网络良好的特征提取性能,基于深度学习进行协同过滤,提取上下文信息学习潜在特征已是很普遍的手段,但在学习大量特征时,协同过滤或矩阵分解都没有考虑到特征之间的交互性。因此,本文提出基于卷积神经网络对电影信息进行特征提取,并将特征应用于融合注意力机制的场感知因子分解机电影推荐模型(CAFFM)中。

1 推荐模型框架设计

1.1 基于卷积神经网络的特征提取

考虑到目前社会上存在明显的追星效应,电影参演演员会很大程度上影响用户对于电影的选择,因此本文将每部电影的演员信息作为电影的一个标签信息,将该部分信息映射到数字特征空间,并将每个演员表都表示为定长的信息,其中缺失的部分用空白进行填补,最后会形成很大的稀疏矩阵。然而,庞大的稀疏矩阵会极大地浪费模型训练时间,也会降低推荐效率。因此,本文使用卷积神经网络对演员信息进行提取。

设计一个单通道的卷积神经网络,对映射好的特征矩阵输入进行特征提取及降维处理。卷积神经网络能够很好地提取文本信息,特别对于演员信息这种有着顺序的文本信息,通过局部感知野、共享权重和下采样可以有效地捕捉演员顺序信息。由于电影演员排序是一个很重要的信息,主角和配角之间的号召力有着明显差距,本文使用一个四层的卷积网络对特征进行提取,并通过卷积层进行计算。本文采用relu激励函数,卷积层和池化层连续叠加,用于对数据进行压缩、减少参数个数,并对高维特征进行降维,以最大程度保证特征包含的信息。最后在池化层加上注意力层,重点提取特征。

其定义为:

為了更好地提取出特征,采用4个大小不同的卷积核,大小分别为2、3、4、5。将卷积神经网络的输出融人电影特征,再将电影特征与用户特征相连接,即构建出整个特征矩阵,用于接下来的模型输入。

1.2 融合注意力机制的场感知因子分解机

场感知因子分解机(Field-aware Factorization Machine,FFM)是一种隐向量学习的非线性模型,即将同一性质的特征归于一个场中。在电影推荐中,部分属性下拥有多个值,如电影有多个类型,实际上属于同一性质,即归于同一个场。FFM模型具有强大的泛化能力,并能很好地利用上下文信息,其定义如公式(2)所示。

对于不同特征,都会有一个交互过程,将公式表示成另一种形式,即:

注意力模型(Attention Model)被广泛应用于自然语言处理、图像识别及语音识别等不同类型的深度学习模型中,其借鉴了人的注意力机制,本文将其应用于推荐系统。在评分预测中,不同项对最终结果的影响是不同的,融人注意力机制,给多元二次项中的每个项添加一个注意力系数,用于筛选出具有更高价值的项,并获取更多所需关注目标的细节信息,同时抑制其它无用信息。融人注意力因子的场感知因子分解机公式如下:

其中,ai、ai,j的值可以解释为后面所乘项在目标预测中的重要性。对于训练数据中从未出现过的特征,无法估计其注意力值。为解决一般化问题,本文进一步使用多层感知器(MLP)对注意力值进行参数化,形成一个注意力网络。定义为:

网络采用Relu作为激活函数,并对注意力值使用softmax函数进行归一化,归一化过程如式(7)、式(8)所示。

1.3 模型框架与损失函数

最终模型框架设计如图2所示。

损失函数取最小评分误差,即:

其中L(x)为模型损失值,y是用户对电影的实际评分,R(x)为模型预测值,为防止过拟合现象,采用dropout与正则化两种技术,正则化系数在式(8)中表现为入(过拟合惩罚因子),||w||是L2范数,作为过拟合惩罚项。Dropout的思想是在训练过程中随机地丢弃一些神经元,以阻止特征检测器的共同作用,提高神经网络性能。因此,优化模型的目标是使损失函数最小化,本文采取随机梯度下降(SGD)算法,通过最小化损失函数训练模型参数,根据样本进行迭代更新,可以控制更新速率和迭代次数,从而使模型的训练变得可控。

猜你喜欢

注意力机制推荐系统卷积神经网络
基于LSTM?Attention神经网络的文本特征提取方法
InsunKBQA:一个基于知识库的问答系统
基于用户偏好的信任网络随机游走推荐模型
基于深度卷积神经网络的物体识别算法