当前位置:文档之家› 基于Python的微博情感分析系统设计

基于Python的微博情感分析系统设计

2019年第6期信息与电脑China Computer & Communication软件开发与应用基于Python 的微博情感分析系统设计王 欣 周文龙(武汉工程大学邮电与信息工程学院,湖北 武汉 430073)摘 要:微博是当今公众传播信息的主要媒介之一,获取和分析微博数据能帮助研究者及时了解舆情信息。

笔者以Python 语言在网络爬虫和情感分析中的应用为基础,提出了一种微博情感简易分析方案,并建立了一个完整的微博情感分析过程。

首先,应用Python 语言采集微博中需要调查的相关关键词;其次,使用SnowNLP 包对该数据进行情感分析并转换为数值和图像;最后,得出相关关键词之间的支持情况。

关键词:情感分析;微博;Python;SnowNLP中图分类号:TP393.092;TP181 文献标识码:A 文章编号:1003-9767(2019)06-076-03Design of Micro-blog Emotion Analysis System Based on PythonWang Xin, Zhou Wenlong(The College of Post and Telecommunication of WIT, Wuhan Hubei 430073, China)Abstract: Microblog is one of the main media for the public to disseminate information nowadays. Obtaining and analyzingmicroblog data can help researchers understand public opinion information in time. Based on the application of Python language in web crawler and emotional analysis, the author puts forward a simple emotional analysis scheme of micro-blog, and establishes a complete emotional analysis process of micro-blog. Firstly, we use Python language to collect the relevant keywords in microblog.Secondly, we use SnowNLP package to analyze the data and convert it into data and images. Finally, we get the support among the relevant keywords.Key words: emotional analysis; micro-blog; Python; SnowNLP0 引言文本情感分析(又称意见发掘、倾向分析等)指分析、处理、归纳和推理带有情感色彩的主观性文本的过程[1]。

按照处理文本的类别不同,可分为基于新闻评论的情感分析和基于产品评论的情感分析。

其中,前者多用于分析舆情和预测信息,后者可帮助用户了解大众对某一产品或公司的情绪。

目前,人们已步入“互联网+”和大数据时代,网络中的数据量日益庞大。

其中,微博中拥有大量用户对关键词的各种态度和观点。

分析微博用户所产生的信息,可以更好地了解公众对某产品和公司的态度[2-3]。

针对微博上公众对各家快递公司的情绪和态度,可以了解到哪个快递公司的口碑更好,帮助消费者选择快递公司。

鉴于此,本文收集了微博上关于顺丰、中通、圆通和申通四家公司的微博和点赞数量,进行文本分析和挖掘,以了解大众对这四家公司的态度 和观点。

1 微博情感分析流程第一步,使用Web 网络爬虫采集微博页面数据;第二步,对采集到的微博数据进行情感分析并得到相应数值;第三步,利用情感分析数值进行加权处理,利用统计图象进行数据分析。

图1 微博情感分析流程2 微博数据采集分析微博数据首先要从微博上获取微博数据。

使用基基金项目:2018年院级大学生创新创业项目“微博情绪简易分析系统”(项目编号:CXCY1812)。

作者简介:王欣(1985—),女,湖北武汉人,硕士研究生,讲师。

研究方向:自动控制与电力电子应用技术。

2019年第6期信息与电脑China Computer & Communication软件开发与应用于Python 的网络爬虫采集数据。

软件运行环境主要基于Windows 操作系统、Python2.7。

本文以顺丰、中通、圆通和申通为关键词,收集2018年2月份的微博数据。

本文的微博爬虫应用Requests 库和BeautifulSoup 库。

Requests 是采用Python 语言编写,基于Urllib,应用Apache2 Licensed 开源协议的HTTP 库。

BeautifulSoup 是用Python 语言编写的一个HTML/XML 解析器,可以处理不规范标记并生成剖树。

爬虫的整体运行流程如下。

第一,程序从用户的输入中获取关键字,并与搜索URL 组合。

第二,使用Requests 把要访问的搜索页面的URL 封装成一个请求,访问服务器端并获得网页的源代码(使用Requests 访问URL 时,修改Headers 参数中的Cookie 参数和User-Agent 参数,实现模拟登陆)。

第三,通过BeautifulSoup 库解析数据,确认当前搜索的URL 是否存微博和下一页。

(如果存在微博,则使用BeautifulSoup 库筛选中文文本所在的位置,并去除、存储JS 脚本标签、CSS 代码和HTML 标签等内容;如果存在下一页,则抓取下一页的URL)。

3 基于文本的情感分析和数据处理目前,情感分析方法主要分为基于词典、基于弱注信息、基于机器学习和基于深度学习等四种方法。

基于词典方法的核心模式是“词典+规则”,即以情感词典作为判断情感极性的主要依据,同时,兼顾评论数据中的句法结构,设计相应的判断规则。

基于弱信标则是从用户产生的数据中挖掘有助于训练情感分类器的信息,如评论的评分、微博中的表情符号等。

特征工程是机器学习的核心。

基于深度学习则是学习数据中的语义词向量,并通过不同的语义用词向量得到特征表达[4-5]。

SonwNLP 主要可以实现中文分词、词性标注、情感分析、文本分类、转换拼音、繁体转简体、提取文本关键词、提取摘要、分割句子和文本相似等功能[6]。

其中,情感分析是将句子的情感程度表示为从0到1,即判断句子积极、消极的概率[7]。

每一条微博中的点赞数量会影响关键词在微博中的情绪。

因此,输出设置了当天赞数加权的0~1输出、当天情感直接两极化的赞数加权0或1的输出(情绪消极为0,积极为1)、当天赞数加权-1或1的输出(情绪消极为-1,积极为1)、当天总赞数输出、当天总微博量输出和当天赞数加微博量输出。

前三者的情绪总量输出用于判断关键词情绪的参考,后三者的总量输出作为热度参考。

最后,将所有的输出存入.csv 格式的文件中。

4 实验分析将当天赞数加权的0~1的所有值相加得到情感数值,并画出折线图,如图2所示。

图2 2018年2月情感分析曲线由图2可以看出微博网友对四家快递公司的情感倾向,但情感分析无法辨别哪一家公司或者哪几家公司更受微博消费者的欢迎。

为了了解微博网友对这四家公司的态度,本文比较了四家快递公司的总赞数、总微博量和赞数加微博量,如图3所示。

由图3可知,2018年2月,顺丰的微博评价最多且口碑较好,其他三家的微博评价数量近似但申通的口碑较好,选择快递时微博用户更倾向于顺丰。

赞数微博数量赞数加微博数顺丰74%顺丰52%顺丰69%申通6%申通12%申通8%中通10%中通16%中通11%圆通10%圆通20%圆通12%图3 2018年2月四家快递公司的微博统计信息 (下转第80页)2019年第6期信息与电脑China Computer & Communication软件开发与应用PLC DCS SCADAAPPWEB手持终端电子看板三维可视化数据展示平台应用数据中心数据传输数据采集性能预测维护保养预测性维修数据建模远程监控故障告警数字化建模故障诊断知识库备品备件管理数据工程数据分析数据预处理及存储工业以太网/现场总线/无线传感网络/无线MESH网络工业现场设备设备智能运维服务平台图1 总体功能架构5 结 语设备智能运维服务平台基于工业物联网和数字孪生智能监测替代周期性的人工巡检,以基于工业大数据的机器智能辅助人为的经验决策,为生产设备的运行维护提供信息支撑和辅助决策,现已在研发中形成产品和方案,并在某大型企业得到实际应用,能显著提高设备利用率,降低故障率,通过减员增效,节省运营费用,有效提升企业的设备运维水平。

参考文献[1]任工昌,宋延.基于三维仿真的制造业生产设备的虚拟展示设计[J].中国管理信息化,2017,20(22):76-77.[2]宁懿.支持OPC UA 功能的工业无线传感器网络设计与实现[D].北京:北京交通大学,2018:12.[3]谢添.基于物联网与大数据分析的设备健康状况监测系统设计与实现[D].北京:北京交通大学,2018:10.[4]杨恒占,张可,钱富才.基于模糊分层SDG 模型的故障推理方法[J].计算机系统应用,2017,26(4):104-109.[5]钟福磊.工业大数据环境下的混合故障诊断模型研究[D].西安:西安电子科技大学,2015:3.[6]李业顺,毕凯,赵世磊.基于知识发现和数据挖掘技术的诊断专家系统的研究[J].电子技术与软件工程,2018(1):141-142.5 结 语本文通过BeautifulSoup 库的网络爬虫和SnowNLP 库,分析大众对四家公司的态度和观点,并得出一个简单的分析结果,为分析微博上的数据提供了一个简单的方案。

应用网络爬虫技术从微博上抓取网民的微博,利用SnowNLP 库对数据进行情感分析并得出数值,利用统计信息分析四家公司的口碑。

通过情感分析,可以得到大多数网民对四家快递的态度,从而达到市场调研的目的。

参考文献[1]杜洋.基于知乎数据的情感分析——以"头腾大战"为例[J].江苏科技信息,2018,35(31):38-40,69.[2]夏玉芹,单雪微.基于Python的简单文本情感分析[J].阴山学刊(自然科学版),2018,32(4):58-62.[3]杨立公,朱俭,汤世平.文本情感分析综述[J].计算机应用,2013(6):1574-1578,1607.[4]李华,储荷兰,高旻.中文网络评论观点词汇语义褒贬倾向性判断[J].计算机应用,2012,32(11):3023-3025,3033.[5]黄萱菁,张奇,吴苑斌.文本情感倾向分析[J].中文信息学报,2011,25(6):118-126.[6]崔连超.互联网评论文本情感分析研究[D].济南:山东大学,2015:64.[7]李慧,柴亚青.基于属性特征的评论文本情感极性量化分析[J].数据分析与知识发现,2017,1(10):1-11.(上接第77页)。

相关主题