APP下载

数据挖掘技术在电影推荐中的应用研究

2019-08-08蒋煜楷罗干陈文婷吴镇州

电脑知识与技术 2019年18期
关键词:情感分析

蒋煜楷 罗干 陈文婷 吴镇州

摘要:电影推荐是目前推荐应用广泛使用的一个场景,但是仅仅使用用户的评分对电影进行评价、推荐是不够的,针对这个问题,提出了结合用户评论情感分析的电影推荐方法。使用Snownlp对用户评论进行情感分析得到情感程度数值,然后基于K-means聚类算法对用户进行电影推荐。对于K的取值,综合利用手肘法和轮廓系数法进行计算。经实验验证,本文采用的推荐方法可以取得比较好的电影推荐结果。

关键词:电影推荐;K-means;情感分析

中图分类号:G434        文献标识码:A

文章编号:1009-3044(2019)18-0254-03

基于这些信息,在国内外各大电影网站上都进行了对于电影推荐进行了大规模的运用,例如国内的豆瓣电影,国外的IMDB、Tomatoes等电影门户网站,基本上都是基于用户的评分以及行为信息对用户的数据进行分析,得到用户的偏好,从而进行推荐[2]。但是仅仅利用用户的评分和用户行为还不能够表示出电影对于用户的吸引力,本文将利用豆瓣电影和猫眼电影爬取的电影信息,运用情感分析结合电影的基本信息对电影进行聚类推荐。

本文将结合从国内电影门户网站上爬取的电影信息,依据国内的观影群体的喜好,利用数据挖掘技术对电影进行简单的推荐。

1 相关技术

1.1 数据挖掘技术

数据挖掘技术是一个从大量数据种通过算法搜索出隐藏于其中的信息的过程。常见的数据挖掘分类方法分为监督学习和无监督学习,例如决策树归纳、贝叶斯分类、基于规则的分类,都属于监督学习的范畴,是通过事先提供依据以往数据得出的分类模型,对新数据进行分类。而无监督学习应用最多的就是K-means聚类方法。无监督学习也称聚类分析,现实中运用于许多场合,将数据划分成多个子集,通过每个子集中的對象彼此相似产生不同的聚类结果[3]。

监督学习评价的方法一般通过分类器的准确率、召回率、精度等值对分类结果进行评估。而无监督学习方法是手肘法确定聚类的簇数,然后通过精度、召回率或者轮廓系数法来测定聚类的质量。

1.2 K-Means算法

1.2.1 算法的主要思想

K-means算法是常见的聚类算法,在没给定分类的情况下,提供随机的k值和k个初始类簇中心的情况下,根据每个点(即数据点)和最近的类簇中心点的距离,将数据点分配到各个类簇中。然后再迭代的进行计算各个类簇的中心点,计算数据点和每个簇类中心的距离,再分配到离其最近的簇中,直到聚类中心变化很小,或者达到一定的迭代次数,使得目标函数收敛到一个相对最优的位置。该算法一般采用的准则函数如式(1)和式(2)所示,其中式(1)中j为第j个簇中数据点的中心点,为簇所包含数据点[4]。

1.2.2 K值的确定

K-means算法里k值的选择决定了最后结果的好坏,所以k值的选择是至关重要的。一般选择k值的方法是,首先随机输入一个k值,得出K个簇分组。然后从数据集中随机选取k个数据点作为k个簇的初始聚类中心,每个数据点对应一个簇,将剩余的数据点根据其与各个簇中心的距离,分别指派到其距离最近的簇中,重新计算各个簇中心、各个簇内所有对象的平均值,重新分配各个数据点,直到聚类中心变化很小或达到一定的迭代次数,否则重新分配每个数据点。

使用中多使用手肘法[3]和轮廓系数法[5]两者相结合的方法来确定k值。

1)手肘法

2)轮廓系数法

1.2.3 结果评估方法

2 推荐中的几个关键环节

2.1 数据准备

本文使用的数据主要是从豆瓣电影网站上获得,爬取电影的基本信息和用户的评分、评论。爬取的数据并不能直接运用到算法中,需要进行数据的预处理。数据预处理会影响最终结论得出的准确性,可以提高数据挖掘模式的质量,降低实际挖掘所需要的时间。

爬取得到七年的豆瓣电影数据,将其中的上映电影筛选出,一共有1637部电影,917210条评论作为实验数据集。

2.2 用户评论的情感度分析

用户对于电影的评论相比较豆瓣评分更能体现出用户对这部电影的喜好,更好地体现电影的质量,也对推荐有很大的作用。但是后面推荐算法需要使用到的数据必须是数字型数据,所以必须将电影评论转换成有效的数字才能进行使用。

本文利用的是先利用现在较为流行的中文文本处理工具jieba分词工具[6],以单部电影为一个单位,将所有评论导入文本文件中,利用jieba分词工具,把所有的评论对词汇进行一个分解,最终得出这部电影的词汇和词频。

为了得出用户对电影的情感程度,通过使用了可以处理中文文本内容的情感分析工具snownlp,其训练的数据集为就是评论数据,因此在在线评论文本的情感分析中准确率较好[7],在一些论文中也有相关的使用[8]。

利用jieba分词的结果,用Snownlp对每个词汇进行了情感程度的标记。情感程度的区间为[0,1],情感程度越接近0,其为越负面的词汇,而情感程度越接近1,则为越正面的词汇。将所有词汇的情感程度相加除以词汇的数量得出了整部影片的情感程度,简称情感度,区间亦在[0,1]之间,情感度越接近0,其为用户评价越消极的影片,而情感度越接近1,则为用户评价越积极的影片。例如电影《我的诗篇》分析结果如图1所示:

从图1可以看出用户对电影《我的诗篇》的评价基本为中上等,中性词汇的数量最多,接近1的词汇也比较多,将所有的词汇情感程度相加取平均得到的值约等于0.8489,所以总体可以断定用户对于这部电影的态度是好评居多。以此类推得出所有1637部电影的情感度,将之作为聚类的一个重要依据。

2.3 k值的计算

猜你喜欢

情感分析
基于双向循环神经网络的评价对象抽取研究
在线评论情感属性的动态变化