APP下载

基于情感分析的个性化电影推荐

2020-11-14黄剑波陈方灵丁友东吴利杰

计算机技术与发展 2020年9期
关键词:个性化预测特征

黄剑波,陈方灵,丁友东,吴利杰

(上海大学,上海 200072)

0 引 言

近年来,移动互联网飞速发展,网络数据过载,生活节奏加快,如何实现精准高效推荐成为亟待解决的问题。传统的推荐方法,将用户评分作为评判用户倾向性的重要指标。其假设相似评分的用户具有类似喜好,而近邻用户并不能完全客观、真实地反映用户自身的偏好[1]。用户评分数据在一定程度可以代表用户对商品的态度,但用户评分产生差异的原因得不到合理解释,而评论为心中所想,更能反映用户心理。且心理学研究表明大多数人都有从众心理,人们对物品的喜好或情感状态会受多数人的情感影响[2]。因此,为了实现精准推荐,挖掘用户评论的情感就变得尤为重要。

文中运用自然语言处理等技术,分析电影评论文本,将其应用到个性化电影推荐中,挖掘用户情感信息,提高推荐的准确性。具体方法如下:首先抓取网络公开电影基本信息和影评数据,然后使用多人人工交叉标注部分影评数据集,为影评情感倾向性打分,训练情感分析模型。将情感值与用户评分结合,作为用户的喜好程度,消除用户评分标准不一的影响,能更加真实地反映用户的偏好。最后,使用点击率预测模型,对用户观影历史行为进行训练,并预测每个用户对未观看的电影的点击率,排序选取前N个数据为用户推荐。实验结果表明此方法有更好的性能。

1 相关工作

Resnick等[3]在20世纪90年代首次提出个性化推荐的概念,经过了二十多年的积累和沉淀,推荐系统逐渐成为一门独立学科在学术研究和业界应用中取得了很多成果。其背后的技术大致可以划分为三类:基于内容的模型、基于协同过滤的模型,以及混合模型[4]。

基于内容的推荐模型主要在于分别建立用户和物品的档案资料,计算用户或物品之间的相似度[5]。物品的档案通常由它的各种属性资料构成,以服装领域为例,包括价格、品牌、类别、颜色、风格、款式、尺寸等。内容推荐虽然是推荐系统的孩童时代,但依然适用于各个领域,主要原因在于,首先只要得到物品或者用户的档案,就可以处理冷启动问题,其次,档案都是显式特征,模型有很好的可解释性。

协同过滤的提出,极大地推动了推荐系统的研究和发展[6]。基于协同过滤的推荐模型不需构建任何档案资料,只收集用户的历史行为记录,就可挖掘用户与用户、物品与物品之间潜在的相似性,并基于这种群组相似性完成推荐。其包括基于邻居的方法和基于模型的方法。基于邻居的方法核心在于根据历史行为记录,构建用户与用户,或者物品与物品的相似度矩阵,能在广泛的兴趣范围中推荐出热门物品,但缺少个性化。基于模型的推荐最常用的是隐因子模型,典型的是Koren Y等[7]提出的矩阵分解。在这类模型中,用户和物品都被嵌入到一个低维向量表示,用户和物品的相关性体现于它们对应隐向量的点积关系。这种方法效率高,一旦训练出模型,用户和物品的关系就能很方便地通过点积计算出来,同时准确度也好于邻居模型。但缺点也很明显,不能解决冷启动问题,同时学习出的隐向量不方便解释。

综上,不同推荐算法在应用中有不同效果。因此,工业界常用的是混合模型,结合多种推荐模型,取长补短,能得到更好的推荐效果。

近年来,随着众多学者对点击率(click-through rate estimation,CTR)预估模型的研究,CTR模型在推荐系统中得到广泛应用,解决了矩阵分解技术在高度稀疏的数据场景下不适用的问题。2011年Steffen Rendl等[8]提出的因子分解机(factorization machine,FM)模型,采用特征组合的方式,解决了推荐数据稀疏的问题。2016年Juan Yu-Chin等[9]提出场感知分解机(field-aware factorization machine,FFM)模型,在FM的基础上引入场的概念,将具有相同性质的特征归为同一个场。2017年Guo Huifeng等[10]提出了深度因子分解机(a Factorization-Machine based neural network,DeepFM)模型,可同时学习低阶和高阶特征,提高排序能力。

2 基于情感分析的个性化电影推荐

2.1 整体流程

基于情感分析的个性化电影推荐主要分为以下3个步骤:数据采集与预处理,模型训练,预测及电影推荐,流程如图1所示。

图1 基于影评情感分析的电影推荐流程

(1)数据采集与预处理。从网络公开数据收集足够的电影相关数据,然后进行数据的清洗处理。对于影评数据,还需采用多人人工交叉精确标注,影评根据情感倾向程度进行标注为1~5,其中1~5喜爱度依次递增。文中采用BERT[11]对影评数据有监督多分类训练,并保存训练模型,对新的情感预测时,载入保存好的训练模型,直接进行预测。

(2)模型训练。使用CTR预估模型DeepFM,对处理好的数据进行训练,并保存相应模型。

(3)电影推荐。加载模型,根据用户历史行为信息,预测用户对未观看电影的CTR、排序,选取前N个数据,实现个性化推荐。

2.2 数据采集与预处理

文中数据集主要来源于网络公开数据的抓取,包括电影数据集、用户数据集以及影评数据集。其中电影数据集包含电影ID、电影名、演员、导演、类型、编剧、时长等字段。用户数据集包含用户ID、用户常居地、用户名等字段。影评数据集含有电影ID、电影名、用户ID、用户评论、用户评分等字段。对抓取数据首先进行清洗操作,影评数据集还需要多人人工交叉标注,然后进行情感模型的训练。

文中情感分析采用BERT模型。BERT采用的是Transformer[12]的双向编码器结构,Transformer不需要循环,而是并行处理序列中的所有单词或符号,同时利用自注意力机制将上下文与较远的单词结合起来。BERT的双向为深度双向,与传统双向有所不同。传统双向是从左到右与从右到左的结合,但是两个方向的损失计算相互独立,其本质还是单向的,只是一种简单融合,而BERT的深度双向充分结合了上下文信息。BERT模型可同时用作预训练模型和下游任务模型,且不需要做任何的修改就能实现文本分类。对影评做情感分析时,上下文的语义尤为重要,要充分考虑到上下文的关系,因此采用BERT模型能更精确的分类。

传统的情感分析方法分为正向和负向两类,文中的情感分类分为5个等级。采用BERT模型进行中文文本情感分析的过程如图2所示。

图2 中文文本情感分析的流程

利用训练好的BERT模型预测影评情感值,将影评情感值和用户评分相结合,表示用户的整体倾向性,可以写成:

y=w1y1+w2y2

(1)

其中,y1和y2分别为用户影评情感值和用户评分,w1,w2为各自的权重,w1+w2=1,文中w1和w2的取值设为0.5。

2.3 模型训练

对于CTR预估模型,低阶组合特征和高阶组合特征都会影响最终的结果,学习用户行为背后隐含特征组合极其重要。而DeepFM模型可以从原始数据中同时学习低维与高维特征。因此,文中推荐模型采用CTR预估模型DeepFM。

DeepFM分为神经网络部分和因子分解机部分。DeepFM模型将DNN和FM并行组合,同时具有FM在推荐中的优势和深度学习在特征学习的优势。模型结构如图3所示,因子分解机部分和神经网络部分分别负责提取低阶特征和高阶特征,共享权重矩阵,即共享嵌入层。这样可以从原始数据中同时学习到低维与高维特征,不再需要人为设计特征工程,训练效率更高效。DeepFM模型的预测结果可以写成

图3 DeepFM模型结构

(2)

模型训练采用对数似然损失(logarithmic loss function,LogLoss)进行参数更新。LogLoss采用KL(Kullback-Leibler)[13]散度来计算,预测分布越接近真实分布,其值越小。假设样本的真实分布为P,预测分布为Q,则KL散度定义[14]如下:

(3)

在CTR预估中,概率分布为二项分布。设真实的点击率为tctr,预测的点击率为pctr。因此真实的二项分布P(tctr,1-tctr),预测的二项分布Q为(pctr,1-pctr)。因此损失函数可以写成如下形式:

(4)

为了适应电影推荐这类稀疏数据,参数优化方法采用Adagrad优化方法[15]。Adagrad算法在训练中自动更新学习率,采用较大的学习率调整出现次数较少的参数。

DeepFM模型输入数据为特征经过独热编码横向拼接而成的高维稀疏向量。首先,各个特征加权求和得到一次项。然后,将原始输入的特征经过嵌入层,一方面两两内积,求和得二次项,另一方面作为输入全连接到DNN,实现低维和高维特征的结合。

2.4 电影推荐

文中加载训练好的模型,对于给定的用户及其历史行为,对其未观看电影预测CTR,按照从大到小排序选取前N个数据,实现个性化的电影推荐。

3 实验结果

实验采用的操作系统为Ubuntu 16.04,64位,基于TensorFlow框架,编程语言为Python3.5。所有的训练均采用NVIDIA-GTX-TitanX显卡。

根据Zhou Guorui等[16]提出的数据处理方法,为了适用CTR预测任务,将数据转换为二分类数据。用户的偏好值是从0到5的连续值。将偏好值为4和5的样本标记为1,其余为0。将227 424个样本划分为训练集,其余46 036个样本为测试集。目标是根据历史行为预测用户是否对给定电影的偏好值高于3(为1)。

文中采用LogLoss、AUC、MAP作为模型评价指标。LogLoss更关注和观察数据的吻合程度,AUC更关注排序。MAP是反映系统在全部相关文档上性能的单值指标,系统检索出来的相关文档越靠前,MAP就可能越高[17]。图4对比了DNN,FFM,DeepFM三个模型在测试集上的AUC表现。三个模型的预测结果如表1所示。

实验结果表明,基于情感分析的个性化电影推荐是可行的,由图4和表1可知深度因子分解机具有较好的预测结果。

图4 不同模型AUC

表1 不同模型预测结果对比

选取两名用户分别为其推荐10部电影,如表2所示。从表中看出,用户B的历史评分最高分为3分,没有表现出明显的倾向性,而评论却表现出明显的喜好倾向。对比两种推荐方法的推荐结果,可以看出基于情感分析的推荐更符合用户的心理。

表2 不同用户电影推荐对比

对于三部不同类型的电影,将CTR作为推荐指数,用户的推荐值数如表3所示。可知对于同一部电影,不同的用户表现出了明显的差异,表明了提出的个性化电影推荐方法的可行性。

表3 用户电影推荐指标

文中还采集了25个不同年龄阶段的历史的信息记录,参与模型训练,为其推荐5部电影,并调研反馈信息。如表4所示。可以看出只有8%的人不喜欢推荐的电影,表明了该推荐方法的有效性。

表4 用户反馈调研

4 结束语

提出了一种基于影评情感分析的个性化电影推荐方法。首先,爬取网络公开电影、用户数据、影评数据,然后将影评数据集进行人工交叉标注,使用BERT模型进行情感分析,情感分析结果和用户评分相结合,采用DeepFM点击率预估模型进行预测。最后,根据DeepFM预测的结果,按照CTR排序,选取前N个数据实现线下推荐,提高了推荐的质量。然而在研究中还发现了一些问题:(1)对中文影评情感多分类难度较大,因此采用强大的BERT模型,依然不能有很高的准确率;(2)BERT模型训练时间消耗很大,对于影评数据句子稍长,需要耗费大量的时间。在下一步的工作中,可以采用混合推荐的方法,评估整体的效果。

猜你喜欢

个性化预测特征
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
选修2—2期中考试预测卷(A卷)
离散型随机变量的分布列与数字特征
坚持个性化的写作
抓特征解方程组
不忠诚的四个特征
同桌宝贝
抓特征 猜成语