广州及时雨侦探调查公司
NEWS
公司新闻
您当前位置:首页 > 公司新闻
深圳网络侦探在线咨询
作者:  更新时间:2020-04-29 19:18:25  浏览数:529

2018 年10 月第32 卷 第4 期阴 山 学 刊YINSHAN ACADEMIC JOURNALOct。2018Vo1。32 No。4基于 Python 的简洁文本情感分析*夏玉芹, 单雪微(包头师范学院 信息科学与科技大学, 内蒙古 包头 014030) 摘 要:以 python 语言在情感分析中的应用为基础,提出一种在线简单文本情感分析方案,并以豆瓣影评为例,利用 Python 技术完成了一个完整的情感分析过程,其中采用了异步与多线程 Python 爬虫技术进行文本数据的获得工作,取得文本的爱情倾向,根据情感分析的结果绘制区间分布图,且进一步利用词云科技完成了词频分析,验证了 Python 语言在情感分析方面的适用性和便捷性;展示极性和词频情感分析的实验结果,并与其他技术进行对比,总结与预测该科技的优势。关键词:Python;简单文本;情感分析;SnowNLP;jieba;词云中图分类号:TP181 文献标识码:A 文章编号:1004 -1869(2018)04 -0058 -05 DOI:10。13388/j。cnki。ysajs。20180917。0011 简单文本情感分析的定义文本情感分析(也称为意见挖掘)是指用自然语言处理、文本挖掘或者计算机语言学等方式来甄别和提取原素材中的主观信息。

简单地说是对具有感情色彩的主观性文本进行探讨、处理、归纳和推理的过程。此概念自从 2002 年提出以后,获得了巨大程度的关注,虽然2000 年之前还有一些对感情分析的工作,但是因为届时互联网没有广泛普及,可以用到的数据并不多,所以后来感情分析并没有得到广泛的注重和大规模研究。紧随大数据时代的兴盛,网络信息量日益倍增,如何更便捷的从海量在线评论中挖掘出更具意义的信息,现早已变成情感分析领域的重点研究方向[1 -2]。2 在线评论文本的突显特性在线评论文本比较鲜明的特点是简洁性。句式短,字数少,往往三言两语,不能脱离所评论的主体单独存在跟判断,但自由灵活、诙谐风趣、情感描述通常非常直接跟极端,该文本类型在机器内部均带有相对固定的字节数限制,文本样本的情感做人工标注极性(积极,消极)相对简单,称之为简洁文本。目前简单文本情感分析的社会需求势头旺盛,在线文本的信息数据传播速率迅猛,数量级庞大,夹杂着无形的价值跟前瞻性的情感导向,成为个人跟组织越来越重视和急需的资源。对海量的评论文本进行预测,并将探讨出的情感偏好用于分析、计划、统计、评估和决策。其广泛价值正吸引着各界人士的热烈关注。文本科技在产品满意度调查、品牌管理、股情预测、政治选举、精准营销等领域都有着广泛的应用[3 -5]。

3 Python 语言的优势大数据发展迄今的十几年里,从起初沿用最基本的机器学习算法发展到目前更多的人引入深度神经网络,情感分析已经变成文理综合值得研究的一个重点方向。与其他情感分析技术不同,Python 语言易学易读易维护,有数目庞大的第三方库,继承了特色编译语言的强大性和通用性,同时也照搬了简洁脚本跟解释语言的易用性,它同时具备网络爬虫功能跟大数据预测功能,综合其他编程语言于一体,虽然它的算法本质上一直是采用了神经网络或是机器学习,但是站在应用的层级,运用它操作更容易产生结果。上述特征正是当前 Python 语言成为于编程语言前8 5* 收稿日期:2018 -09 -17作者简介:夏玉芹(1973 -),女,内蒙古包头人,硕士,副教授,研究方向:算法设计、数据处理。万方数据列的缘由。鉴于简单文本情感分析过程涵盖诸多环节和学科,且需理论与实践开发有效结合从而体现其重大研究意义,故而选用可读性良好的编程软件成为辅助科技实为必需。Python 语言成为各界的利器,在巨大程度上符合情感分析各环节的科技需求,因此基于 Python 的情感分析研究尚未作为一项极具前景的探究课题[6 -7]。

4 python 语言推动在线文本情感分析以《战狼2》豆瓣影评为例实现基于Python 的网站数据爬取和情感极性分析情感文本,实验环境配置 Ana-conda python3。5 版本。主要依赖:asyncio(用于异步抓取数据);SnowNLP(用于极性感情分析);jieba(中文分词)[8 -11]。实验通过下面 4 个阶段实现文本情感分析:(1) Python 爬虫技术获得在线文本; (2) 加载SnowNLP 类库获预测文本情感偏好;(3)绘制区间分布图,实现数据可视化;(4)运用 jieba 和词云技术进行词频统计。通过 Python 语言编程实现在线文本的情感分析过程并推动数据可视化。4。1 Python 网络爬虫技术基于 Python 的网页爬取研究中,使用异步 IO进行操作是十分简单且快速的。Python 的异步 IO 主要借助 asyncio 来推动。asyncio 是 Python 3。4 版本采用的标准库,直接内嵌了对异步 IO 的支持,在 Py-thon 3。5 版本中进一步采用了新语法 async 和 a-wait,这让异步 IO 简化并更好地被标志情感文本,代码可读性也明显提升。

多进程可以执行多个任务,线程之间可以共享存储和变量,资源耗费少,缺点是线程之间的同步跟加锁非常麻烦。在 Python 中推动多线程操作,主要采用 thread 和 threading 两个标准组件,后者更为常用。考虑到在异步高速爬取时,有可能会遇到网站防爬机制的拦截,案例实验引入多线程与异步进行配合运用。4。1。1 创建线程池创建线程池,获取影评目录并保存每个影评的id,根据 id 获取影评详细信息,将原始影评网站解析之后提取影评内容,设置异步获取及写入数据。图1 是部分实现代码。图 1 线程池部分相关代码图2 异步 IO 爬取结果4。1。2 数据获得按照从《豆瓣》网的不间断多次数据爬取,通过轮询爬取和多线程爬取结合的科技,获得数据如图2 和图 3。图 3 多线程爬取提取结果图4 情感极性分析相关代码9 5万方数据4。2 应用 SnowNLP 库预测情感极性现阶段流行的情感分析方式能分为基于词典的方式跟基于机器学习的技巧。前者通过情感词典的建立,首先拆分文本数据的词句并解读句法,然后推导出情感值来表述文本的心态偏向。后者既称基于深度学习的方式,是必须人工标注所应训练的文本,将目标分为不同的特点进行情感极性的判别,进行有监督的机器学习过程。

许多词语的情感判断应该上下文和背景知识,因此即使这类信息缺失,判别正确率就会得到影响。运用任何机器学习方法的情感分析软件,实际上都是被训练起来的。训练时用的是何种文本材料,直接影响到模型的适应性。SnowNLP,它的训练文本就是评论数据。因此在在线评论文本的情感分析中准确率较好。SnowNLP 可便于的处理英文文本内容,是得到了 TextBlob 的启发而写的,SnowNLP 主要具备英文分词(算法是 Character -Based Generative Mod-el)、词性标注、情感分析、文本分类(原理是朴素贝叶斯)、转换拼音、繁体转简体、提取文本关键词、提取摘要、分割语句、文本相同等用途。使用异步 IO 读写文件并使用 SnowNLP 分析影评的情感偏好,其区间为[0, 1],如图4 所示。4。3 绘图根据极性分析结果绘图,如图5 所示。图5 绘制情感极性分析结果图相关代码图 6 情感极性分析结果图读取每段评论并依次进行情感值预测,最后生成一个0 -1 之间的值,当值小于 0。5 时代表词语的情感极性偏向积极,当分值大于0。5 时,情感极性偏向负面,取值越倾向两边,情绪越偏激。

《战狼 2》电影评论爬取数据的情感分析可视化结果如图 6 所示。从结果可以看出,在线简单评论文本的重要特点表现显著,评论字数少,句式短,情感描述直接了当,情感色彩鲜艳。消极和积极的取值都十分高,但消极的评论数目远超过积极的评论。情感分析的结果证实,绝大多数网民针对《战狼 2》这部影片的见解都是极度称赞的,呈现积极的情感特性,中性以及不表达情感极性的评论相对较少,评论呈现两极化,但积极性多于消极性。说明该影片还是太受豆瓣用户喜爱的。不排除该影评数据在网站上早已进行过处理的状况,本次的预测结果相对合理。4。4 jieba 分词和词云组合的情感分析的词频统计基于机器学习的情感分析,对于整体评论的情感偏好有较精确的掌握,但是感情极性中评论的热点,主体、积极或负面情感所对应的英文单词表达,需要很深入的对评论中所关注的热点词汇有所了解,利用分词器将英文评论拆解开来,深入情感聚焦的热点词汇,可以借助词频统计获得。SnowNLP 用于情感极性分析,jieba 专注于字词的原本。中文分词可利用 jieba 分词,完全开源,有集成的 python 库,简单易用。jieba 分词是基于后缀词典实现高效的词图扫描,生成语句中汉字所有可能成词情况所组成的有向无环图 (DAG),动态规划查找最大概率模式, 找出基于词频的最大切分组合。

jie-ba 可以添加自定义词库或者删除“无效词”(stop-words)。“无效词”表达情感时没有明确的感情指向但仍太常用(词频很高),因此这种词的 TF -IDF 仍然可能比较高,所以必须主动删除,以减少采用噪声。词云是 python 里面特别灵动的一个展示库,主要利用在词频分析的结果展示方向,可自定义背景与图标,显示结果与 Python 中其他绘图软件相比,更加的直观立体,简洁精致。为进一步对上述所爬取的文本进行探讨,本文将 Python 的 jieba 词频分析与 Wordcloud 词云进行结合,在词频的视角,实现了更直观的情感分析跟展示。0 6万方数据4。4。1 提供汉字支持提供汉字支持,如图7 所示。图 7 提供汉字支持部分代码图 8 设置无效词部分代码4。4。2 设置必须屏蔽的词value 为动词,按句子的长度屏蔽的效果要好,分词并让结果中长度小于 1,或属性不在屏蔽列表中的构成一个新列表,计数后,转化为字典,再将字典转化为元组列表进行顺序,排序关键字为词的频数,如图8 所示。根据词频排序绘制条形图,并保存在 result 目录下,如图 9 所示。

图 9 绘制条形图部分代码图 10 调用图云相关代码4。4。3 绘制图云根据词频排序绘制图云,并保存在 result 目录下,如图10 所示。4。4。4 词频分析结果在条形图中,词频是借助数值表达的,可以看出词频排名在前十的词组,除了无法表示情感偏好的短语,还有“电影”“战狼”“一个”这样的无关情感分析的术语,但是介于小说数据文本的主题特殊性和机器分析的机械性,这种状况是无法理解的。另外,“吴京”与“冷锋”所指代的是同一属性,在进一步的分词统计中叠加两个词,去掉类似于“一个”这样的无效词,可以大大提高高频词所代表的感情意义。能够看出,在本次爬取的影评数据中,豆瓣用户最倾向于评价“演员“吴京”和“冷锋”这个角色,倾向于对军人、非洲、电影的类别和主题强调相关的的想法。如图11 所示。图11 词频分析条形图图12 词频分析云图在词云统计图中,词频是借助字体大小进行分布的,这让本文的剖析结果很具体和简洁,整体来看,本次实验的高频词汇的词义与上述情感分析结果基本统一,如图12 所示。

5 结论本文提出异步与多线程结合爬取网页数据的可行方式,以及 SnowNLP 库预测情感极性,jieba 分词库与词云结合进行完整词频分析的过程,并借助准确实验进行了初步验证,为计算机科技与自然语言1 6万方数据学科的整合给出了初步的试验分析。目前机器处理的情感分析还不过只是从物理统计角度融合一些自然语言的语法规则,完成极性分类、语法剖析的任务,而情感是一个相对复杂的探究客体,交给机器与算法处理也是用物理量化的基本建模完成简单任务,统计和展现长期评论数据隐含的感情特质和语言表达也是初步解决了情感分析中的小难题,探寻如何使机器对人类心灵深入细致准确的掌握和预测,甚至借助分析去模仿、创造与人类心灵交流的方法是感情分析最深入的问题。〔参考文献〕[1]李华,储荷兰,高旻。中文网络评论看法词汇语料褒贬倾向性判断[J]。计算机应用,2012,32(11):3023 -3025 +3033。[2]黄萱菁,张奇,吴苑斌。文本情感倾向探讨[J]。中文信息学报,2011,25(06):118 -126。[3]郝媛媛,叶强,李一军。基于影评数据的在线评论有用性影响因素研究[J]。管理科学学报,2010,13(08):78 -88+96。

[4]徐戈,王厚峰。自然语言处理中主题建模的演进[J]。计算机学报,2011,34(08):1423 -1436。[5]彭霞。网页文本内容情感挖掘研究[J]。青岛职业技术学院学报,2018,31(03):31 -35。[6]夏火松,李保国。基于 Python 的动态网站评价爬虫算法[J]。软件工程,2016,19(02):43 -46。[7]韦文娟,韩家新,夏海洋。基于 Python 自然语言处理的文本分类研究[J]。福建电脑,2016,32(07):4 -5 +8。[8]张启宇,朱玲,张雅萍。中文分词算法研究评述[J]。情报探索,2008(11):53 -56。[9]崔连超。互联网评论文本情感分析研究[D]。山东大学,2015。[10]李慧,柴亚青。基于属性特质的评论文本情感极性量化分析[J]。数据预测与知识发现,2017,1(10):1 -11。[11]李俊。面向产品评论的看法挖掘研究述评[J]。现代计算机,2013(07):11 -16。Sentiment Analysis of Simple Text Based on PythonXIA Yu -qin, SHAN Xue -wei(Faculty of Information Science and Technology, Baotou Teachers College, Baotou 014030)Abstract:Through the application of Python language in sentiment analysis, an online simple text sentiment a-nalysis scheme is proposed。

Taking Douban Movie Review as an example, a complete sentiment analysis process iscompleted by using Python technology, in which asynchronous and multi -threaded Python crawler technology isused to obtain the text data and the emotion of the text is obtained。Tendency, according to the results of sentimentanalysis, draw the interval distribution map, and further use the word cloud technology to complete word frequencyanalysis。Thus validates the applicability and convenience of the Python language in the direction of sentiment anal-ysis。

The experimental results of polarity and word frequency affective analysis are presented and compared withother techniques。The advantages of this technique are summarized and analyzed。Key words: Python; Simple text ; Sentiment analysis; SnowNLP; Jieba; Wordcloud2 6万方数据

companynews公司新闻
公司名称:广州及时雨调查公司
24小时免费咨询电话:185-2064-4544
微信:185-2064-4544
Q Q:3123417795
邮  箱:3123417795@qq.com
地  址:广州