CN110222181B - 一种基于Python的影评情感分析方法 - Google Patents
一种基于Python的影评情感分析方法 Download PDFInfo
- Publication number
- CN110222181B CN110222181B CN201910492107.5A CN201910492107A CN110222181B CN 110222181 B CN110222181 B CN 110222181B CN 201910492107 A CN201910492107 A CN 201910492107A CN 110222181 B CN110222181 B CN 110222181B
- Authority
- CN
- China
- Prior art keywords
- data
- stage
- dictionary
- emotion
- analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/374—Thesaurus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种基于Python的影评情感分析方法,包括数据获取阶段、数据预处理阶段以及数据分析阶段;所述数据获取阶段使用Python搭建网络爬虫;所述数据预处理阶段进行分词与停用词的操作;所述数据分析阶段采用朴素贝叶斯的机器学习方法,结合情感词典方法进行预测分析。本发明相较于其他通用的情感分析技术,本发明在准确率与召回率上均取得最佳。
Description
技术领域
本发明涉及自然语言处理技术领域,特别是一种基于Python的影评情感分析方法。
背景技术
自香农开启了信息论的研究以来,信息从未在哪个渠道有如今互联网信道这般巨大的体量与速度,大量的比特字节每天在网络的高速公路上传输或被存储于一个中间站点,这些数据中占比最大的无疑是人类用以交互信息最重要的一种,即自然语言。无论哪一种网络业务,都无法脱离对自然语言数据的使用,典型的如电子商务网站、早期的Blog、多人交互式的论坛、聊天室以及如今用户过亿的微博。互联网用户无论年龄、地域、性别,总会在某些场景使用自然语言数据表达自己支持或反对的情感,典型的如影评、书评、微博评论,这些评论本身也以及成为了一个独立的商业领域。据统计,截至目前仅我国互联网用户就已突破8亿,这也意味着庞大的中文语料数据源。
由于如此大量的用户在网络上分享观点、表达情绪,传统的人工标注方式无法应对海量数据,因此有效利用文本数据的需求就愈发迫切。事实上,文本蕴含大量传统的量化数据难以经过分析得出的信息,尤其是针对某一业务评论的文本,经过人工的方式通常可以分析出许多有助于业务改进的信息。例如通过对微博上的竞品的关注用户所发表的公开言论进行情感分析,可以得到有助于制定针对性营销政策的用户偏好信息;通过对用户发表的产品体验回馈信息进行分析,可以快速定位产品缺陷与优势等等;通过对书籍评论进行分析,可以得知不同用户人群对图书所关注的特征,以帮助出版社制定针对性的营销策略。
影评的情感分析解决的主要是目前观影者对于一部电影进行评价的方式仅仅是简单的按评价者的数字打分取平均值的方式,这种方式显然在评判的客观程度上比较有限。一是不同评价者主观的评分标准不同,也许两个人对一部电影具备同样的认可度时,一个人会给的分数是9分,另一个人会给的分数则是8分,对于希望了解电影真实评价的受众来说,信息模糊往往导致不能满足满足需求。这类受众并不少,包括希望了解电影评价的影业从业人员、视频网站推荐系统推送的直接观众、希望参考评分撰写影评的专业作者等等。
发明内容
有鉴于此,本发明的目的是提出一种基于Python的影评情感分析方法,相较于其他通用的情感分析技术,本发明在准确率与召回率上均取得最佳。
本发明采用以下方案实现:一种基于Python的影评情感分析方法,包括数据获取阶段、数据预处理阶段以及数据分析阶段;
所述数据获取阶段使用Python搭建网络爬虫;
所述数据预处理阶段进行分词与停用词的操作;
所述数据分析阶段采用朴素贝叶斯的机器学习方法,结合情感词典方法进行预测分析。
进一步地,数据获取阶段具体为:所述数据获取阶段使用Python搭建网络爬虫具体为:爬取票房相关数据、以及到评论网站内爬取对应于这些票房的电影的评论数据;其中,票房相关数据包括电影名、在评论网站的主键ID、以及票房三个字段的基本数据,评论数据为以列表结构存储的评论字符串。
进一步地,所述爬取采用四种针对不同网站的爬虫工具,第一种为获取包括电影列表与票房在内的基础信息的CBO网站爬虫,第二种为获取训练语料库的豆瓣影评爬虫,第三种为获取最终分析结果的时光网短文本影评爬虫,第四种为构建用户自定义词典的词语爬虫。
进一步地,所述数据预处理阶段进行分词与停用词的操作中,关于分词的操作具体为:暂储未分词文本的wordDic字段、储存分词结果的wordList列表以及通过爬虫自动生成用户自定义词典的userDic字段;其中,文本分词的辅助工具采用第三方Python类库jieba。
进一步地,所述通过爬虫自动生成用户自定义词典具体为:利用爬虫的正则表达式匹配法,自动爬取Web站点链接内2-5个长度的短文本,将其直接认定为词语加入自定义词典中。
进一步地,所述数据预处理阶段进行分词与停用词的操作中,关于停用词的操作具体为:去除停用词。
进一步地,所述数据分析阶段采用朴素贝叶斯的机器学习方法,结合情感词典方法进行预测分析具体为:包括训练阶段和预测阶段;
其中训练阶段具体为:首先构造训练语料库,然后按照数据预处理阶段进行语料的预处理,将其划分为多个分词,将一个句子视为多个分词组成的词向量,将此维度映射到贝叶斯算法进行计算训练,其中在将词向量的每一项投入训练分类器之前,先比对情感词典参考是否出现在词典中,若出现在词典中,则判断其更有可能影响最终的分析结果,若未出现在词典中,则在训练过程中不增加计数,而后每一个特征则依旧按照朴素思想赋予同等地位进行训练;
其中预测阶段具体为:在已经添加训练过程中的计数量基础上,对输入的每一条新文本进行同样的预处理,遍历每一个分词结果取得先验概率,以类别为条件计算类别对分词的后验概率,计算得出预测的分类结果。
与现有技术相比,本发明有以下有益效果:本发明通过对数据挖掘三个阶段的局部具体步骤优化,基于Python语言实现,最终实现了一种高效率且高准确率的电影评论情感分析器。在测试语料库的准确率测试实验结果表明,本实施例的电影评论情感分析器相对其他通用的情感分析技术,在评论领域的最重要改善指标——准确率与召回率上均取得最佳。
附图说明
图1为本发明实施例的系统工作流程示意图。
图2为本发明实施例的爬虫阶段类图设计。
图3为本发明实施例的预处理阶段类图设计。
图4为本发明实施例的预测分析模块类图设计。
图5为本发明实施例的评论爬虫设计。
图6为本发明实施例的电影集情感分析结果散点图。
图7为本发明实施例的情感分析的数据挖掘应用示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本实施例提供了一种基于Python的影评情感分析方法,包括数据获取阶段、数据预处理阶段以及数据分析阶段;
所述数据获取阶段使用Python搭建网络爬虫;
所述数据预处理阶段进行分词与停用词的操作;
所述数据分析阶段采用朴素贝叶斯的机器学习方法,结合情感词典方法进行预测分析。
在本实施例中,数据获取阶段的类图设计如图2所示,具体为:所述数据获取阶段使用Python搭建网络爬虫具体为:爬取票房相关数据、以及到评论网站内爬取对应于这些票房的电影的评论数据;其中,票房相关数据包括电影名、在评论网站的主键ID、以及票房三个字段的基本数据,评论数据为以列表结构存储的评论字符串。
其中值得注意的是,除了最终进行数据分析的评论数据,本实施例构建情感分类器还需要使用到一些训练数据,但并不需要专门构建新的爬虫,这是因为训练数据的获取与评论获取模块大同小异,仅仅需要根据网站的不同做细微变更即可,因此右侧的模块可以复用。
在本实施例中,所述爬取采用四种针对不同网站的爬虫工具,第一种为获取包括电影列表与票房在内的基础信息的CBO网站爬虫,第二种为获取训练语料库的豆瓣影评爬虫,第三种为获取最终分析结果的时光网短文本影评爬虫,第四种为构建用户自定义词典的词语爬虫。较佳的,爬虫设计需要根据网站的具体源码结构编写,通过浏览器的审查元素功能可以查看到网站的编码结构,时光网中,所有用户评论数据均被存储在一个class值为“db_shortcomment db_shortcomlist new_shortcomlist”的div容器中,以dd容器划分不同用户的数据,定位到dd容器内class值为“mod_short”的div容器,可以看到评论文本被保存于此。针对此结构本实施例需要设计的爬虫编码,先通过soup.find()方法找到用户数据标签,再在标签内部过滤检索所有包含mod_short类名的标签,追加至评论列表即可。需要注意的是,用户发表评论为空时,会导致findAll方法因找不到数据返回None,程序也就会因此终止运行,因此需要跳过一些无法识别的评论,核心部分代码见图5。
较佳的,数据预处理阶段的类图设计如图3所示,主要分为中文分词与停用词去除部分。
其中关于分词的操作具体为:暂储未分词文本的wordDic字段、储存分词结果的wordList列表以及通过爬虫自动生成用户自定义词典的userDic字段;其中,文本分词的辅助工具采用第三方Python类库jieba。jieba支持对文本的全切分与精确切分,应对不同的需求。就本实施例而言,使用精确切分可以达到更好的效果,这是因为全切分时jieba会尽可能按前缀词典的动态规划路径将前缀输出,在进行情感分析时将造成两个问题,一是特征过多,计算过程将十分漫长,二是重复统计相近特征,造成过度分析。jieba的精确切分可以通过直接调用cut方法实现,其中的bool型参数cut_all设置为False即可,或忽略此参数,将默认以精确切分进行。在实际应用过程中,由于本实施的语料库是使用txt文档方式按行存储,如果直接调用Python的file.readlines文件操作,会同时读入末尾的换行符,一起被视为分词,因此需要进一步使用字符串的str.strip()方法切除首尾冗余字符,或是str.rstrip()以避免切除过多字符导致错误。
在本实施例中,所述通过爬虫自动生成用户自定义词典具体为:在电影门户网站上,通过源码可以获取到的信息不仅仅是评论等我们需要用于分析的文本,还包括隐藏于标签内的词语,如html标签<p>日票房:2829.2万</p>内的“日票房”,利用爬虫的正则表达式匹配法,自动爬取Web站点链接内2-5个长度的短文本,将其直接认定为词语加入自定义词典中。而其中,包含title等提示字段的标签,还可以依据标签名确定词性,如出现在超链接标签内的title=“何以为家”。对于不能确定词性的词,直接添加进词典即可,最终词典部分见表2。
表2自定义词典
特别的,尽管分词业务逻辑简单,思路清晰,看似已经得到了想要的结果,实际上在结束后,本实施例仍需要对并不精细筛选的词语特征进行去停用词操作。尽管去停用词从技术角度在实现上并不困难,但对于本课题情感分析的准确率影响却是至关重要。在此处先给出后文情感分析中未去停用词与去停用词的不同结果,见表3。
表3去停用词结果
可以看到未去停用词对情感分析准确率的判断造成了约5%的损失,对召回率则造成了9%左右的损失,因此去停用词作为数据清理的操作必不可少,有效的构造停用词表也是保证情感分析质量的重要因素。
本实施例使用的停用词表约1300个,包括基础停用词、依照影评文本特点增加的特殊词,以及手工添加的,在实验过程中发现对情感分析无意义且容易造成扰动的词。停用词的依据主要是:
(1)基础词典:虚词等无实际意义的词,如标点符号,‘的’、‘呢’之类的词。实际上,感叹号、问号等符号在基于情感词典的情感分析方法中,也同样拥有判断倾向的意义,但鉴于本实施使用的方法难以考虑句子的上下文结构,因此也作为停用词。
(2)人称代词:对一段影评文本进行简单的人工分析就可以知道,观影者发表短篇影评通常只涉及到第一人称代词‘我’或另一部电影,用以互相比较,对于判断情感倾向没有意义,不具备特征性质,因此也可剔除。
(3)递进与转折承接词:用于连接句子与短语的连接词一般不表达情感倾向,又在文本中占很大篇幅,尽管在基于情感词典的方法中转折词有时可以用作否定词同等的功效,但在不记忆语法结构的分析方法中,本实施例无法判断语义究竟是有正转负还是由负转正,因此同样可以忽略,以提高分析效率。
在本实施例中,所述数据预处理阶段进行分词与停用词的操作中,关于停用词的操作具体为:去除停用词。
在本实施例中,所述数据分析阶段采用朴素贝叶斯的机器学习方法,结合情感词典方法进行预测分析具体为:包括训练阶段和预测阶段;
其中数据分析阶段的类图设计如图4所示,主要分为训练与预测模块,训练需要录入正面情感语料库与负面情感语料库,均为列表对象,一段完整评论作为列表的一个元素。并使用一个type变量暂存每段文本的类别标签。预测模块包含待预测的文本、文本分词列表等字段,主要内容是进行朴素贝叶斯分析的几个函数模块。
朴素贝叶斯的基本原理使用到三个公式,分别为条件概率公式、全概率公式以及贝叶斯公式。条件概率公式见公式1,表示在全集中的某一个,或一些事件B已出现的条件下,事件A出现的概率。
P(A|B) (1)
全概率公式见公式2,表示表示与上一公式前置条件相同时,若与构成完备事件组且都存在不为零的概率,任意事件也成立的可能性。
P(A)=P(A|B1)P(B1)+P(A|B2)P(B2) (2)
贝叶斯公式见公式3,表示对本实施例以一定条件估计的先验概率和先验概率对标准似然度求乘积成正比。即贝叶斯公式实际上表示的是可以利用目前已知的信息对主体所给的先验假设进行修正,先验概率一般是根据主体经验进行的初步判断,准确率较低,通过其他特征进行不断修正可以提高分类准确率。所以训练正负情感倾向分类器,实际上就是将完备事件组划分为positive与negative两个空间。
本实施例另外使用针对豆瓣网的爬虫爬取了约50000条短影评,随机依9:1的比例划分训练语料库与结果测试语料库。
由于本实施例是设置两个类作为朴素贝叶斯模型后验概率计算的标签类,因此输入为评论内容以及其正负倾向,以-1表示负倾向,+1表示正倾向,本实施例只需要对用户评分进行放缩即可,具体放缩方式如下:以0-3分赋值为-1,以4-5分赋值为1,训练语料库即构造完毕。对于3分的评论也许会有疑惑是否应该直接赋-1,其实对语料库进行分析后可知,当用户已对一部影片扣了2分及以上,评论内容基本上是负大于正,在只有两个分类的情况下可以直接分入负面训练库。
其中训练阶段具体为:首先构造训练语料库,然后按照数据预处理阶段进行语料的预处理,将其划分为多个分词,每个分词视为一个句向量的某一个维度,将此维度映射到贝叶斯算法进行计算训练,以文本“海王真震撼”为例,经预处理后得到{‘海王’、‘震撼’}这一结果,在训练过程中,首先调用Python的初始化方法,将Bayes()函数实例化,按词维度读入每一个分词结果以及其对应的正负值,先读入‘海王’,依照正负值查找所属的类别,若当前分词在类别对应词典中未创建,为其创建新的计数对象加入词典,此时在positive的类别中将为‘海王’创建对象,并调用对象中的add()方法增加对象的统计计数值。也即训练过程实际上只是对分词频度进行统计,最终的统计结果在分析时将对判断先验概率以及后验概率修正产生影响,从而影响到预测概率。以上方法实际上是完全基于机器学习的方法,其具有简单、高效、不易受中文句式结构复杂变化招致错误判断等特点,但显然同样有机器学习方法的缺点,即对特征的权重考虑完全一致,一视同仁进行同样的计数训练,但实际上有可能选取的特征不需要计数,也就是未被去停用词阶段过滤,或是不应以同等权值计数,也就是对于最终的情感分析结果影响程度不一。针对以上的问题考虑,在进行训练的过程中我们可以将机器学习方法与另一类情感分析方法结合,综合二者的优点,即基于情感词典的情感分析方法。情感词典方法对句式内的词语关联以及句式整体结构进行了考量,并且依照情感词语的不同特点给出了不同的权值,对于机器学习方法有弥补作用。为了综合二者的优点,
因此本实施例在将词向量的每一项投入训练分类器之前,先比对情感词典参考是否出现在词典中,若出现在词典中,则判断其更有可能影响最终的分析结果,若未出现在词典中,则在训练过程中不增加计数,而后每一个特征则依旧按照朴素思想赋予同等地位进行训练;
这种结合方式,对于词典的选取有一定要求,如果情感词典针对本实施例的领域构造的较好,自然效果更好,但目前尚无较为权威通用的影评类情感词典,此项领域仍有待创新,为了避免词典的范围覆盖程度太低反而影响机器学习,目前选用的是在基础词典上进行了一定人工添加词语的拓展词典,以在一定程度上对机器学习方法的缺点进行补正。
其中预测阶段具体为:在已经添加训练过程中的计数量基础上,对输入的每一条新文本进行同样的预处理,遍历每一个分词结果取得先验概率,以类别为条件计算类别对分词的后验概率,计算得出预测的分类结果。其中,计算采用完整的经过变性的贝叶斯公式,如公式4所示:
公式中,W为待预测的句子,包含多个分词,c为+1或-1标签。整个公式经公式3的变换得到。
接下来对本实施例的情感分析方法进行有效性分析。按照上述过程搭建情感预测系统模型,其中系统的工作流程具体如图1所示,模型搭建完成后需要对其可用性与准确度进行测试,这个阶段所使用的数据在格式上与训练数据一致,本身二者就是从同一数据集中经随机划分得到。因此,可以直接以同样的划分标准判断是否分析正确。
经过多次调参,验证得设置划分正负倾向的基准为0.4时得到的准确率最高,即1-3分的评论情感分析值小于等于0.4为判断正确,4-5分的评论情感分析值大于0.4为判断正确,最终准确率为86.62%,正面情感语料召回率为92.70%,负面情感语料召回率77.98%,共4769条评论,达到了预设的验收标准,详细可见表4。
表4测试验证结果
经测试语料库验收后,对待测数据,近10年的每年票房前十电影进行评论情感分析,最终得到的结果见表5,此处无效数据实际上是空评论、乱码评论、空格字符评论等并无统计意义的。
表5情感分析结果统计
对收集的100部电影的情感分析结果进行数据可视化后,绘制的各个年度用户好评分布散点图如图6,其中有两部分值为0的电影为网站关闭了评论的影评,因此不作统计。
本实施例的情感分析结果还可以应用在许多方面,最直接的应用就是数据分析,如图7,绘制了每个年度用户情感值最高,即口碑最好的影评以及对应的其票房的趋势,可以看到深灰色情感分析值的折线变化趋势并不明显,而浅灰色票房折线则明显逐年增加,且速度递增。由此本实施可以分析得出的的结论是,随着我国经济水平与全民文化教育水平的提升,以及国家对知识产权的保护逐渐加强,人民更愿意为自己喜爱的电影文化前往电影院消费。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (5)
1.一种基于Python的影评情感分析方法,其特征在于,包括数据获取阶段、数据预处理阶段以及数据分析阶段;
所述数据获取阶段使用Python搭建网络爬虫;
所述数据预处理阶段进行分词与停用词的操作;
所述数据分析阶段采用朴素贝叶斯的机器学习方法,结合情感词典方法进行预测分析;
其中,数据获取阶段具体为:所述数据获取阶段使用Python搭建网络爬虫具体为:爬取票房相关数据、以及到评论网站内爬取对应于这些票房的电影的评论数据;其中,票房相关数据包括电影名、在评论网站的主键ID、以及票房三个字段的基本数据,评论数据为以列表结构存储的评论字符串;
其中,所述爬取采用四种针对不同网站的爬虫工具,第一种为获取包括电影列表与票房在内的基础信息的CBO网站爬虫,第二种为获取训练语料库的豆瓣影评爬虫,第三种为获取最终分析结果的时光网短文本影评爬虫,第四种为构建用户自定义词典的词语爬虫。
2.根据权利要求1所述的一种基于Python的影评情感分析方法,其特征在于,所述数据预处理阶段进行分词与停用词的操作中,关于分词的操作具体为:暂储未分词文本的wordDic字段、储存分词结果的wordList列表以及通过爬虫自动生成用户自定义词典的userDic字段;其中,文本分词的辅助工具采用第三方Python类库jieba。
3.根据权利要求2所述的一种基于Python的影评情感分析方法,其特征在于,所述通过爬虫自动生成用户自定义词典具体为:利用爬虫的正则表达式匹配法,自动爬取Web站点链接内2-5个长度的短文本,将其直接认定为词语加入自定义词典中。
4.根据权利要求1所述的一种基于Python的影评情感分析方法,其特征在于,所述数据预处理阶段进行分词与停用词的操作中,关于停用词的操作具体为:去除停用词。
5.根据权利要求1所述的一种基于Python的影评情感分析方法,其特征在于,所述数据分析阶段采用朴素贝叶斯的机器学习方法,结合情感词典方法进行预测分析具体为:包括训练阶段和预测阶段;
其中训练阶段具体为:首先构造训练语料库,然后按照数据预处理阶段进行语料的预处理,将其划分为多个分词,将一个句子视为多个分词组成的词向量,将此维度映射到贝叶斯算法进行计算训练,其中在将词向量的每一项投入训练分类器之前,先比对情感词典参考是否出现在词典中,若出现在词典中,则判断其更有可能影响最终的分析结果,若未出现在词典中,则在训练过程中不增加计数,而后每一个特征则依旧按照朴素思想赋予同等地位进行训练;
其中预测阶段具体为:在已经添加训练过程中的计数量基础上,对输入的每一条新文本进行同样的预处理,遍历每一个分词结果取得先验概率,以类别为条件计算类别对分词的后验概率,计算得出预测的分类结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910492107.5A CN110222181B (zh) | 2019-06-06 | 2019-06-06 | 一种基于Python的影评情感分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910492107.5A CN110222181B (zh) | 2019-06-06 | 2019-06-06 | 一种基于Python的影评情感分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110222181A CN110222181A (zh) | 2019-09-10 |
CN110222181B true CN110222181B (zh) | 2021-08-31 |
Family
ID=67815904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910492107.5A Active CN110222181B (zh) | 2019-06-06 | 2019-06-06 | 一种基于Python的影评情感分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110222181B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114795B (zh) * | 2020-09-18 | 2022-02-11 | 北京航空航天大学 | 开源社区中辅助工具停用的预测方法及装置 |
CN116628317A (zh) * | 2023-04-19 | 2023-08-22 | 上海顺多网络科技有限公司 | 一种使用少量信息定向用户群体偏好分析的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462409A (zh) * | 2014-12-12 | 2015-03-25 | 重庆理工大学 | 基于AdaBoost的跨语言情感资源数据识别方法 |
CN106776574A (zh) * | 2016-12-28 | 2017-05-31 | Tcl集团股份有限公司 | 用户评论文本挖掘方法及装置 |
CN108763203A (zh) * | 2018-05-18 | 2018-11-06 | 大连民族大学 | 影评情感分析中使用特征词集将影评以特征向量表示的方法 |
CN108846431A (zh) * | 2018-06-05 | 2018-11-20 | 成都信息工程大学 | 基于改进贝叶斯模型的视频弹幕情感分类方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2943898A1 (en) * | 2013-01-10 | 2015-11-18 | Thomson Licensing | Method for identifying objects in an audiovisual document and corresponding device |
US9563678B2 (en) * | 2013-03-04 | 2017-02-07 | Avaya Inc. | Systems and methods for indexing and searching reporting data |
CN105912662A (zh) * | 2016-04-11 | 2016-08-31 | 天津大学 | 基于Coreseek的垂直搜索引擎研究与优化的方法 |
CN107608961A (zh) * | 2017-09-08 | 2018-01-19 | 广州汪汪信息技术有限公司 | 基于视角的情感分析方法、电子设备、存储介质、系统 |
CN109522393A (zh) * | 2018-10-11 | 2019-03-26 | 平安科技(深圳)有限公司 | 智能问答方法、装置、计算机设备和存储介质 |
-
2019
- 2019-06-06 CN CN201910492107.5A patent/CN110222181B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462409A (zh) * | 2014-12-12 | 2015-03-25 | 重庆理工大学 | 基于AdaBoost的跨语言情感资源数据识别方法 |
CN106776574A (zh) * | 2016-12-28 | 2017-05-31 | Tcl集团股份有限公司 | 用户评论文本挖掘方法及装置 |
CN108763203A (zh) * | 2018-05-18 | 2018-11-06 | 大连民族大学 | 影评情感分析中使用特征词集将影评以特征向量表示的方法 |
CN108846431A (zh) * | 2018-06-05 | 2018-11-20 | 成都信息工程大学 | 基于改进贝叶斯模型的视频弹幕情感分类方法 |
Non-Patent Citations (1)
Title |
---|
一种基于情感词典和朴素贝叶斯的中文文本情感分类方法;杨鼎等;《计算机应用研究》;20101015;第27卷(第10期);1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110222181A (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106503192B (zh) | 基于人工智能的命名实体识别方法及装置 | |
US10191892B2 (en) | Method and apparatus for establishing sentence editing model, sentence editing method and apparatus | |
JP5356197B2 (ja) | 単語意味関係抽出装置 | |
JP6466952B2 (ja) | 文章生成システム | |
US20170147682A1 (en) | Automated text-evaluation of user generated text | |
US10366117B2 (en) | Computer-implemented systems and methods for taxonomy development | |
CN108228758A (zh) | 一种文本分类方法及装置 | |
Ljubešić et al. | Standardizing tweets with character-level machine translation | |
Gupta et al. | Text summarization of Hindi documents using rule based approach | |
US20150212976A1 (en) | System and method for rule based classification of a text fragment | |
CN107077640B (zh) | 经由经验归属来分析、资格化和摄取非结构化数据源的系统和处理 | |
CN108108468A (zh) | 一种基于概念和文本情感的短文本情感分析方法和装置 | |
JP2014120053A (ja) | 質問応答装置、方法、及びプログラム | |
CN110222181B (zh) | 一种基于Python的影评情感分析方法 | |
Singh et al. | Sentiment analysis using lexicon based approach | |
Golpar-Rabooki et al. | Feature extraction in opinion mining through Persian reviews | |
US20190019094A1 (en) | Determining suitability for presentation as a testimonial about an entity | |
Hussain et al. | A technique for perceiving abusive bangla comments | |
CN111737475A (zh) | 一种无监督的网络舆情垃圾长文本识别方法 | |
Soni et al. | Comparative analysis of rotten tomatoes movie reviews using sentiment analysis | |
Rai et al. | Identification of landscape preferences by using social media analysis | |
CN109298796B (zh) | 一种词联想方法及装置 | |
Li et al. | Multilingual toxic text classification model based on deep learning | |
Golubev et al. | Use of augmentation and distant supervision for sentiment analysis in Russian | |
Tao et al. | Mining Pain Points from Hotel Online Comments Based on Sentiment Analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |