基于多神经网络和改进PMF的视频推荐算法
2021-01-20郑建国苏成卉
郑建国,苏成卉
(东华大学 旭日工商管理学院,上海 200050)
0 引 言
随着影片数量的逐年增加,电影信息过载现象日益加剧。推荐系统实时反馈给用户其偏好的选择,可以高效地解决这一问题。传统推荐算法只考虑显性评分对用户偏好的影响,存在严重的数据稀疏性问题[1],日益增长的用户及项目数量使得传统推荐方法推荐精度不佳。而视频简介文本可以在一定程度上反映用户、视频信息和真实评分三者的潜在关系,伴随着NLP文本处理领域的发展,如何在推荐系统中高效利用文本数据成为研究热点。此外,神经网络等深度学习模型主要解决分类问题,不适合直接实现推荐任务,存在可解释性不强的问题[2],将机器学习算法与传统经典的推荐算法相融合实现推荐研究成为推荐领域需要进一步研究的方向。
本文为了充分挖掘用户、视频信息和真实评分三者的关系,首先,针对视频剧情简介文本数据,利用卷积神经网络(CNN)和双向长短期循环神经网络(BiLSTM)构建混合的神经网络结构(CBiLSTM)来提取视频文本潜在特征,生成视频潜在特征概率分布来表示视频潜在特征;其次,将混合的神经网络结构CBiLSTM与受偏置约束的概率矩阵分解算法融合生成混合推荐模型(CBiLSTM-PMF+),实现评分预测,为电影视频网站的推荐策略提供思路。
1 相关工作
1.1 视频推荐算法
视频推荐的研究主要是基于用户的历史行为数据(评分为主),预测用户对未观看视频的打分,进而反映用户对未观看视频的偏好程度,将预测评分高的影片作为推荐结果[3]。视频推荐的相关研究主要分为两类:①利用多源异构数据提取更丰富的特征。②改进算法模型或使用混合推荐模型增强预测能力[4]。
为了缓解传统推荐模型因数据稀疏性导致的推荐精度不足问题,利用各类辅助信息学习潜在特征,如用户属性、社交网络、用户信任信息、视频描述文件、视频图像、用户对项目的评论。陈婷等[5]通过社交网络中的用户间信任关系填补稀疏矩阵,将信任度代替相似度,对协同过滤提出改进。Yashar Deldjoo等[6]提出了一种基于内容的推荐系统,将视频文件类型等显性特征融合到传统的基于内容的推荐技术中,并从视频内容中提取和使用低级视觉特征,给用户提供个性化推荐。肖成龙等[7]融合用户社交网络信息以及关键用户信息和视频评分信息并配比不同权重实现视频评分预测。石佩生等[8]将用户基本属性、评分时间戳与用户评分、偏好、评价项目的相似因子相结合解决推荐冷启动问题。江周峰等[9]利用社会化标签来填补特征项,改进了一种融合标签的基于内容的推荐算法。
1.2 深度学习在推荐系统中的应用
近几年,学者将深度学习算法与传统推荐算法实现了融合,Wu等[10]使用去噪自动编码器来构建仅考虑评级数据的协同过滤方法。Bansal等[11]使用一种变形RNN门控循环单元(GRU),对隐式反馈数据集有效地编码用于多任务学习。Wei J等[12]基于深度神经网络(SADE)提取视频的内容特征,用于冷启动视频项目的评级的预测。Andy W.Chen等[13]使用机器学习模型KNN算法,通过每对视频和标签的相关性分数找到将在数据中分离视频的最佳聚类数。He等[14]使用视频海报图像数据从预训练的CNN获得图像特征。
在文本处理方面,有学者将深度学习算法与传统推荐算法融合。Wang等[15]提出堆栈去噪自编码器(SDAE)和概率矩阵分解(PMF)融合的协同深度学习算法(CDL)。但SADE和LDA两者都使用词袋模型,忽略了上下文单词环境对视频文本信息的影响。Yoon Kim[16]在word2vec和词嵌入技术的基础上,提出TextCNN模型,利用单层CNN算法实现句子分类,并设置多通道和卷积窗口,充分反映文本特征,此模型简单、高效并且获得很高的准确率,成为文本分类处理领域的经典。Donghyun等[17]提出了一种上下文感知的混合推荐算法ConvMF,将深度学习中的CNN与概率矩阵分解模型PMF融合,弥补了SADE和LDA的缺陷,进一步提高了混合模型的推荐精度, 是推荐系统领域利用隐式文本数据结合显性评分数据实现评分预测的经典算法。Ye H等[18]将考虑时序特征的长短期记忆神经网络(LSTM)与概率矩阵分解模型PMF融合,但忽略了上下文语义获取。
本文将在前人研究基础上进行改进,集成多神经网络算法与受偏置约束概率矩阵分解算法,解决现有算法存在的缺陷问题,并进一步提高推荐精确度。
2 相关理论
2.1 卷积神经网络
卷积神经网络(CNN)[19]的基本结构由输入层、卷积层、池化层、全连接层和输出层构成。卷积层是对嵌入向量和滤波矩阵做内积。池化层对卷积层得到的每一个特征图进行池化。学者的大量研究已经证实最大值池化的方式相较于平均值池化可以提取更好的特征,效果更优,目前研究都采用最大值池化方法。全连接层将池化层的输出特征作为输入,经激活函数激活,得到固定维数的特征向量。CNN在分类问题方面效果突出,但在推荐算法方面的成果却不多,主要因为推荐是回归问题,两者的目标不同。在针对文本数据的推荐算法中,学者将CNN融合经典推荐算法构建混合推荐模型实现更精准的推荐效果。
2.2 双向长短期时序循环神经网络
在传统的循环神经网络中,各层间的神经元相互连接,可以保留短距离的时序特征,但隐层间的梯度不稳定,存在梯度消失或梯度爆炸的问题。而长短期时序循环神经网络(LSTM)结构使得梯度能够很好的在各隐藏层中传递,可以很好地学习文本等具有时序特点的数据。LSTM结构的神经元仅学习层间前边神经元的信息,而单词的前后词语都会影响语义关系。双向长短期循环神经网络(BiLSTM)融合两组学习方向相反(一个按句子顺序,一个按句子逆序)的长短期时序循环神经网络(LSTM),相较LSTM可以更好理解上下文语义。
LSTM神经网络由遗忘门ft、 输入门it、 记忆单元ct和输出门ot这4个主要元素组成。遗忘门决定记忆单元前一个状态信息的留存,输入门控制记忆单元中当前时刻信息的输入,记忆单元根据当前输入信息更新记忆状态,再由输出门判断记忆单元对下一个状态的输出结果。计算过程为
ft=σ(Wf[ht-1,xt]+bf)
(1)
it=σ(Wi[ht-1,xt]+bi)
(2)
(3)
(4)
ot=σ(Wo[ht-1,xt]+bo)
(5)
ht=ot*tanh(ct)
(6)
其中,W是矩阵乘法操作,ht表示记忆单元的状态,xt表示信息输入,b是函数的偏置项,σ是sigmoid函数,*表示点乘操作。
(7)
其中,⊕是连接运算符。这种双层结构使得BiLSTM模型可以充分学习输入序列数据中词语的上下文信息。
2.3 概率矩阵分解模型
矩阵分解算法(PMF)可以从稀疏的评分矩阵中挖掘潜在特征,在主流的协同过滤中广泛使用,尤其在稀疏性很强的数据上取得了良好的效果。PMF算法将原有的高维的用户U-项目V评分矩阵拆分成低维矩阵并进行拟合。因此,模型可以利用各类影响推荐结果的数据并转化为低维矩阵并与评分矩阵进行拟合,提高模型预测的准确率。
概率矩阵分解模型(PMF)假设观测噪声(用户-项目评分矩阵R与用户和项目潜在特征矩阵U、V做内积得到的近似评分矩阵间的误差值)服从高斯分布,N个用户和M个项目的评分数据的条件概率表示为
(8)
同时,模型假设用户潜在特征矩阵U和项目潜在特征矩阵V服从零均值的球面高斯分布,其中ui和vj为某个特定用户i和影片j的K维特征向量,用户潜在特征模型U和视频潜在特征模型V的条件概率分布表示为
(9)
(10)
贝叶斯公式可以将用户潜在特征矩阵U和项目潜在特征矩阵V的后验概率表示为
(11)
对后验概率取对数,去掉常数项简化后的目标函数表示为
(12)
3 基于神经网络和偏置概率矩阵分解的混合视频推荐算法(CBiLSTM-PMF+)设计
3.1 问题描述
假设在视频推荐系统中,有N个观影用户,M个被观看的影片以及相应的用户对观看视频的评分,目的是预测用户对未观看影片的评分,进而实现影片推荐。一般情况下,大量的用户和影片会产生非常稀疏的评分数据,导致仅凭评分数据预测用户观影偏好精确度不佳。本文通过获取视频影片简介文档,得到样本数据N(ui,vj,rij,Dj)。 其中,rij表示用户i对视频j的评分,用户评分为1~5整数值,代表用户对视频的偏好程度,rij∈RN*M。Dj是视频j的视频简介短文本文档。
因此,本文要解决的问题是,针对文本型的数据,如何挖掘隐含文本特征;如何利用用户-视频评分矩阵R以及视频简介短文本文档Dj来提取用户特征和视频特征,将用户特征和视频特征表示利用混合推荐模型实现用户对未观看视频的评分预测。
为了清晰的表述本文提出的模型,将结合卷积神经网络(CNN)和长短期记忆网络(LSTM)的多神经网络结构简称为CBiLSTM,将多神经网络结构与偏置约束概率矩阵分解算法融合的混合推荐算法简称为CBiLSTM-PMF+,并汇总了模型中的常用符号与含义,见表1。
表1 本文常用符号及含义
3.2 基于CBiLSTM神经网络的视频文本特征潜在模型
在推荐系统领域,对文本数据特征的提取已有的方法只考虑文本数据中的局部特征,无法获取短文本数据在上下文语义中存在的时序特征。在文本情感分析领域,已有学者证实结合卷积神经网络(CNN)和长短期记忆网络(LSTM)模型既能够有效提取短文本局部最优特征,又能够解决远距离的上下文依赖,并且局部特征和时序特征融合可以取得更好的文本分类效果[20]。因此,在TextCNN文本分类模型基础上,本文构建了视频文本特征潜在模型,即卷积神经网络和双向长短期循环神经网络混合的神经网络结构(CBiLSTM)从视频剧情简介短文本文档集中学习生成文本潜在特征表示,如图1所示。视频简介文本嵌入层一方面训练CNN模型学习到文本主要特征,一方面训练BiLSTM模型学习到上下文语义特征,融合文本主要特征和上下文语义特征,以更好地学习视频简介语义,既解决单卷积神经网络模型忽略词在上下文语义中时序特征的问题,也可以有效避免传统循环神经网络梯度消失或梯度弥散问题[20]。
图1 基于CBiLSTM神经网络的文本特征提取框架
基于CBiLSTM神经网络的视频文本特征潜在模型设计包括嵌入层、卷积层、池化层、全连接层、BiLSTM层、拼接层和输出层。接下来对每层进行详细分析。
(1)嵌入层
(13)
(2)CNN卷积层
(14)
其中,f(⊗) 是一个非线性激活函数,本文采用可以加速收敛并避免局部最值的Relu函数, ⊗表示内积操作,Di∶(i+wsp-1)∈Rwsp×Kw,i∈[1,l-wsp+1],bp是卷积核偏置项。
(15)
其中,p∈[1,Nw],Nw是卷积核个数,l-wsp+1代表多组不同的卷积窗口下得到的特征维度。
(3)CNN池化层和全连接层
为了从卷积层内积操作后得到的特征图中提取主要特征,池化层对卷积层的输出进行降维,减小特征图的计算复杂度。在卷积层每个滑动窗口下得到的映射属性特征都是不定长度的,利用最大池化的方法将每个卷积核得到的特征保留最大值特征,使得特征长度一致,易于后续控制模型过拟合问题。卷积层和池化层将文本数据映射到隐层特征空间上,然后全连接层将模型学到的“分布式特征表示”映射到样本标记空间中。全连接层将池化层输出的同种大小的滑动窗口下得到的卷积映射属性值进行连接,得到文档特征向量表示为
(16)
(4)CNN拼接层
全连接层将同种大小的滑动窗口下的映射属性值连接后,在CNN拼接层,将q组不同大小的滑动窗口下得到的文档特征向量实现拼接,实现TextCNN框架特征的输出,每个影片简介通过CNN结构学习到的文档特征向量表示为
(17)
(5)BiLSTM层
(6)CBiLSTM模型拼接层
(18)
(7)CBiLSTM模型输出层
因为推荐任务不是分类问题,模型最后输出不再通过softmax层分类。为防止过拟合,输出层将CBiLSTM模型拼接层学习的视频文档潜在特征融合向量cblj添加Dropout层并映射到D维空间,每次迭代放弃部分训练好的参数,使权值的更新不再依赖部分固有特征,最终得到所需要的D维CBiLSTM模型表示的文档特征列向量θj, 表示为
θj=tanh(Wθ·(tanh(Wdropout(cblj·rdropout)+bdropout))+bθ)
(19)
其中,Wθ,Wdropout是非线性映射矩阵,rdropout是Dropout丢弃控制向量[21],服从伯努利分布,bdropout,bθ是偏置向量。
3.3 基于约束偏置概率矩阵分解算法的混合推荐算法(CBiLSTM-PMF+)
首先,CBiLSTM-PMF+模型考虑了用户评分行为相似性反映用户特征相似性这一影响因素,受限概率矩阵分解算法可以约束用户的特征,使得评分行为相近的用户生成相似的用户潜在特征向量,解决推荐系统中对评分影片较少的用户的未观看视频的评分预测接近影片评分均值的问题;其次,CBiLSTM-PMF+模型将视频文本特征潜在模型集成到概率矩阵分解算法中,通过视频文本潜在特征模型生成的视频文本潜在特征矩阵来表示视频潜在特征;最后,CBiLSTM-PMF+还考虑到有的用户倾向于对满意的物品评分,导致个人评分均值偏高,或者优质视频本身受评分均值偏高[22],将受约束偏置与全局平均融入推荐算法模型中。
PMF+模型首先使用受限概率矩阵分解算法(CPMF)构建用户潜在特征模型和评分模型。考虑到评分视频集合相似的用户具有相似的兴趣,用户潜在特征向量ui表示为
(20)
其中,Wu是用户潜在特征的约束矩阵 (Wu∈RD×M), 表示用户对某一特定视频进行评分的结果与用户特征向量的先验均值相关;Yi是用户潜在特征的补偿矩阵,当用户在新用户状态下(即用户没有发生视频打分行为),没有先验均值的影响,Ui=Yi。
本文PMF+模型在此基础上,加入用户偏置Pi, 视频偏置Qj, 并对用户偏置加入全局平均约束Zj(Zj∈RD×M), 来避免用户评分行为倾向对评分预测产生的影响。因此,假设视频打分的噪声(用户-视频评分矩阵R与融入约束和偏置的用户和视频潜在特征矩阵做内积得到的近似评分矩阵间的误差值)服从期望为0,方差为σ2的高斯分布,用户-视频评分生成概率模型的条件概率先验分布由式(8)改进表示为
(21)
其中,参数Y,Z,P,Q,Wu依据式(9)和式(10)分别服从期望为0的高斯先验分布且相互独立分布,条件概率分布分别表示为
(22)
(23)
(24)
(25)
(26)
在3.2章节中,视频文本潜在特征模型通过CBiLSTM结构将视频简介短文本文档集Dj输出为文档特征列向量θj, 并表示成视频文本潜在特征矩阵θ。 在PMF+模型中,假设视频潜在特征矩阵服从高斯分布,引入一个均值0方差为σV2高斯噪声向量ε, 使视频潜在特征矩阵Vj的每个列向量都通过3个变量生成:①CBiLSTM模型中的内部权重变量W; ②视频简介短文本文档集Dj; ③高斯噪声向量ε, 实现CBiLSTM结构与PMF+模型的集成。视频潜在特征向量vj表示为
vj=θ+ε
(27)
因此,视频潜在特征模型的条件概率先验分布表示为
(28)
假设视频文本潜在特征模型参数集W中每个参数wl服从期望为0,方差为σW2的零均值球面高斯分布,参数集W条件概率分布表示为
(29)
3.4 CBiLSTM-PMF+模型的参数学习
本文提出的CBiLSTM-PMF+模型主要参数有:用户潜在特征模型U包含的Y,Z,P,Q,Wu; 视频潜在特征模型V和CBiLSTM模型参数集W。 基于式(11),通过贝叶斯推理推得用户潜在特征矩阵U和视频潜在特征矩阵V的后验概率表示为
(30)
CBiLSTM-PMF+模型的参数优化学习过程借鉴了现有模型的最大似然估计(MAP),基于式(12),去掉给定常量并简化后的损失函数表示为
(31)
为了最小化损失函数,本文采用梯度下降(SGD)方法增量学习参数Yj,Pi,Wuj,Qj,Zj,Vj。 对每一个样本数据 (useri,moviej,rij,Dj) 的损失函数由式(31)简化为
(32)
得到参数更新
(33)
(34)
(35)
(36)
(37)
(38)
θ←CBiLSTMW(D′j)
(39)
与用户潜在特征模型U和视频潜在特征模型V的更新不同,CNN-BiLSTM神经网络模型参数集W采用反向传播算法训练优化,优化过程执行到损失函数收敛,损失函数表示为
(40)
当模型参数优化更新完成,预测用户对未观看视频的评分表示为
(41)
4 实验及分析
本文使用python语言实现提出的CBiLSTM-PMF+模型,神经网络模型由深度学习框架keras搭建,科学计算由科学运算库numpy、math实现。
4.1 实验数据集
为了验证提出算法的有效性和推荐效果,评分数据来源于AIV(amazon instant video)数据集、ML-100k(MovieLens-100k)和ML-1M(MovieLens-1M)3个稳定的基准真实数据集。这些数据集均包含用户对项目的评分信息,评分值是[1,5]范围内的整数。除此之外,AIV数据集还提供视频描述文档信息,而MovieLens 数据集没有电影视频的描述文档信息,运用爬虫工具在IMDB互联网视频数据库中爬取数据集视频的视频简介。3个数据集的详细信息见表2。
表2 实验数据集的统计信息
4.2 实验数据预处理及参数设置
模型对获取的评分数据和影片文本数据先进行预处理:①去除没有视频简介的视频;②去除评分数量小于3的用户;③计算视频简介出现的单词的tf-idf,取tf-idf值大于0.5且前8000个值最高的词作为词汇表,其它词去除;④如果词汇表的单词未出现在语料库中,则随机初始化,生成正态分布随机数。
CBiLSTM嵌入层的词向量使用glove.6B.200d语料库获取。CBiLSTM-PMF+中涉及的λY,λWu,λV超参数在PMF和CPMF算法的文献中均有实验取值作为参考,调整范围不大。主要针对CBiLSTM-PMF+算法中λP,λQ,λZ参数进行调整,这3个参数与λY,λWu,λV属同类型参数,使用EM算法在每一次迭代过程中自动调整参数。参数集W使用基于RMSprop方法的mini-batch批处理训练。
4.3 实验评估指标
本文选取均方根误差(root mean squared error,RMAE)来评价算法的评分准确率。RMAE值越小,说明预测模型的精确度越高,是推荐算法中最常用的评价指标,其表达式为
(42)
4.4 实验结果与分析
实验设置CBiLSTM-PMF+混合推荐模型中用户和项目潜在特征矩阵的分解维度D为50,视频简介文档最大长度设置为300,词向量维度Kw为200,参数集W的mini-batch设置为128,3组不同滑动窗口宽度wsp分别设置为3、4、5,每组滑动窗口下卷积核数量设置为100,SGD方法参数学习率设置为0.0001。根据实验结果得到参数λY,λV,λP,λQ,λZ,λWu在不同数据集上推荐效果最佳时的设置见表3,其中为降低模型复杂度,CBiLSTM-PMF+模型设置同类型超参数λV=λY,λWu=λZ,λP=λQ。
表3 不同实验数据集上的超参数设置
(1)不同数据集上各种算法的推荐质量对比
实验环节选择以下几种算法,在ML-100k、ML-1M、AIV这3个数据集上进行对比实验:
PMF:概率矩阵分解算法,仅通过用户对项目的显性评分数据实现预测。
ConvMF[17]:一种基于上下文感知的混合推荐经典算法,将卷积神经网络算法(CNN)与概率矩阵分解模型PMF融合,实现混合推荐。
LS-PMF[18]:单一长短期循环神经网络算法LSTM与概率矩阵分解模型PMF融合的文本特征混合推荐算法。
BLS-PMF:单一双向长短期循环神经网络算法BiLSTM与概率矩阵分解模型PMF融合的文本特征混合推荐算法。
CBiLSTM-PMF:本文提出的多神经网络模型实现文本特征融合,并集成PMF算法的文本特征混合推荐算法。
CBiLSTM-PMF+:本文提出的多神经网络模型实现文本特征融合,并集成考虑了约束偏置PMF的混合推荐算法。
为验证利用CNN和BiLSTM进行文本特征融合方法的性能,在对文本数据处理过程中,分别选择ConvMF、LS-PMF、BLS-PMF以及本文提出的CBiLSTM-PMF混合推荐模型实现评分预测。选取设置epoch为5,进行对比实验,每次评价指标RMAE值取5次迭代的均值,不同算法在不同数据集上的精确度结果见表4。
从表4中可以看出,在各个数据集上,本文提出的CBiLSTM-PMF算法对比其它3个算法都有不同程度上的精确度的提高,多神经网络(CBiLSTM)进行文本特征融
表4 不同算法在不同数据集上的精确度评价指标结果(a)
合实现推荐的效果优于单神经网络特征混合推荐模型。说明CBiLSTM结构可以在获取上下文语义时序特征的同时不受梯度问题影响,从而使得精确度更高,也表明了同时考虑局部特征和上下文时序特征这两方面信息进行评分预测的合理性。
本文还将提出的考虑了约束偏置的混合推荐模型(CBiLSTM-PMF+)与经典算法进行对比。实验设置算法中涉及的超参数见表3,各模型的效果评估见表5。
表5 不同算法在不同数据集上的精确度评价指标结果(b)
由表5可以看出,仅通过用户对项目的显性评分数据实现预测的PMF算法在精确度上低于结合文本数据提取隐式文本特征得到的预测精确度,说明模型融入影片的简介描述可以更精确判断用户观影喜好。多神经网络和约束偏置下概率矩阵分解混合推荐算法(CBiLSTM-PMF+)效果明显优于传统的概率矩阵分解算法(PMF),并实验证实优于经典模型ConvMF,效果略优于CBiLSTM-PMF,表明了考虑用户评分行为相似性和偏向性可以减少非用户喜好因素(如评分习惯等)对推荐产生的负影响,提升预测结果的精确度。
(2)用户和视频潜在特征向量维度D
影响CBiLSTM-PMF+混合推荐方法性能的主要参数除了表3涉及的超参数以外,还有用户和视频潜在特征向量维度D和词向量化后的维数Kw。
设置D为10、20、50、100,以ML-1M为例,观察其变化对RMSE值的影响如图2所示。
图2 不同潜在特征向量维度D下的RMSE值
(3)词向量化后的维数Kw
设置Kw为100、200、300,以ML-1M为例,观察其变化对RMSE值的影响如图3所示。
图3 不同词向量化维数Kw下的RMSE值
通过实验结果可以发现,维度D与维数Kw在某个数值最低并随后趋于平稳,维度的增加不会使得评价指标数值明显下降,推荐效果趋于稳定。为减少模型迭代次数,采用的最佳设置为用户和视频潜在特征向量维度D=50,词向量化后的维数Kw=200。
5 结束语
本文首先提出了一种利用卷积神经网络和双向长短期循环神经网络实现特征融合的文本潜在特征表示模型(CBiLSTM);其次考虑了用户评分行为相似性反映了用户特征相似性这一影响因素,还考虑到有的用户倾向于对满意的物品评分,导致个人评分均值偏高,或者优质视频本身受评分均值偏高,采用受约束偏置概率矩阵分解算法集成;最后构建了一种针对视频简介信息和视频评分信息的混合推荐算法(CBiLSTM-PMF+),完成视频评分预测的任务。
目前,本文的工作未考虑到评分的时效对预测评分的影响,用户对电影观看的兴趣随着时间推移可能会发生变化,而引入时间窗口这种考虑时间因素的方法是将历史数据删掉以展现观影喜好变化,带来评分稀疏性严重的问题。因此,下一步考虑时间信息对用户偏好的影响值得进行深入研究。此外,评分数据极度稀疏,隐式数据(如浏览、收藏、点击等行为)更容易获取。因此,通过更高维度的用户行为表示来分析用户偏好也值得进一步探究。