情感分析是自然语言处理(NLP)领域的一类任务,又称倾向性分析,意见抽取,意见挖掘,情感挖掘,主观分析等,它是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。具体到数据新闻领域,文本情感分析不仅可以提供一个新的数据分析方向,也可以弥补数据新闻“用数据说话”,缺乏情感考察的缺陷。

本期推送为大家带来了两个python包,SnowNLP和BaiduSenta,都适用于自然语言处理中的文本情感分析模块。通过导入文本信息,python将帮你分析语言中的褒义、贬义成分,并给出相应的分数。利用生成的情感分数,可以制作相应的数据图表来反映舆论场中人们的情感倾向。01

少量文本测试

对于希望测试这一功能而处理文本量不大的使用者来说,SnowNLP和百度开发的Senta项目分别提供了公众号测试功能与试用网页,在下载python包之前,使用者可以先行测试这两个包是否符合自身的需求。

使用者可以首先关注公众号“AINLP”,然后在对话框中输入前缀“中文情感分析”+所需要分析的语句。公众号将会提供BaiduSenta和SnowNLP两个情感分析项目所提供的分析结果。如下图所示。除此之外,百度还提供了专门的试用网页,这一试用功能在百度大脑的AI开发平台页面上,网址为:http://22j.co/bSkk

如果使用者所需要分析的文本不多,可以使用试用网页或公众号,毕竟python包的安装需要大量前置工作,耗费时间较长,如果不是长期使用建议用试用功能即可。

02

SnowNLP的安装与使用

相比于BaiduSenta,SnowNLP的优势在于安装简便,仅使用pip安装即可,基本没有前置条件。但缺陷也非常明显:分析结果只有正向倾向,同时一次只能分析单个文本。

如果需要安装SnowNLP,使用者首先应当配置好python环境,在cmd中直接输入“pip install snownlp”,即可下载对应的python包。

下载完之后,输入python进入python环境即可进行文本分析,具体案例如下。

在第一行输入from snownlp import SnowNLP,进行引用。第二行写入s = SnowNLP(‘要分析的文本’),第三行输入s.sentiments,键入回车,即可获得文本分析结果。

需要注意的是,这一结果是正向的,可以视为此段文本中表达正向倾向的可能性,例如上图所示案例中的“0.905……”即可视为“我爱中传”表达正面情感的可能性在90.5%左右。

下面是官方示例,可以看出,此种分析方法并非完善,也有bad case的出现,例如“我不爱自然语言处理”被系统认为有80.4%以上的概率包含正面意思。

目前来说,SnowNLP更多应用于商品的评价,官方文档表示现在的训练数据主要是买买东西时候的评价,存在的问题还有待解决。

03

BaiduSenta的安装与使用

相比于前者,BaiduSenta的安装比较麻烦,但同样的,BaiduSenta有着更加强大和丰富的功能,不仅可以分析句子级情感,还可以分析句子中对特定对象的情感态度,抽取句子中的主要观点。适用于中英文双语。

具体的安装教程网址为:

https://github.com/baidu/Senta,但实际安装过程中会出现一些其他问题。

首先使用者必须保证python版本在3.7以上,其次,安装第一步是安装paddlepaddle,但安装paddlepaddle需要前置的CUDA、cuDNN的安装。由于安装教程较为复杂,读者可以直接阅读以下网址:http://22j.co/bSky,来进行CUDA、cuDNN的安装和环境变量配置,如果缺少CUDA工具包和cuDNN,paddlepaddle是不支持下载的。

安装完paddlepaddle之后,需要再进行pip install paddlehub,才算全部安装完全BaiduSenta,可以正常使用。

总结一下安装程序:

第一步,配置python环境,保证python版本在3.7以上。

第二步,按照教程安装CUDA工具包和cuDNN,并配置环境变量。

第三步,安装paddlepaddle和paddlehub。

第四步,安装Senta,输入python -m pip install Senta

在完成安装之后,就可以体验BaiduSenta丰富的功能了。(此外需要注意的是,如果出现下载不成功的情况,建议采用国内镜像源下载,笔者采用的是清华镜像源下载)

实战案例可以从简单讲起,首先是最简单的句子级情感分析。

这是一个完整的分析案例,读者只需要更改第五行引号里的字句即可,其他仿照案例书写,即可获得输出的分析结果,好处在于不用一个个输入,可以用逗号隔开,直接引入大量文本,同时结果比较全面,不但给出正面负面各自的可能性,还会对其中的情感关键词数量进行统计,并且得出“positive”或者“negative”的结论。

其他Senta能实现的功能还有许多,这里不一一展开,可以参考官方给的案例,按照案例代码逐行输入,只需更改文字,即可实现对文本情感、对象情感、观点抽取的统计工作。

简单来说,这两个python包各有优劣,安装简单的SnowNLP功能较为单一,且操作繁杂。安装和前置工作复杂的Senta,在安装完成之后,其实工作量要小很多,并且功能更加丰富,适用于大量文本的分析。读者可各取所需,拓展数据新闻数据统计的范围。

没看够?点击下面的链接往期佳作

白杨数说 | 我看错了?我看错了!

白杨数说 | 用数据书写时代注脚 用新闻记录社会百态

白杨数说 | 令人眼花缭乱的数据图表,你选对了吗?(三)

有任何疑问或者建议请在留言区或者公众号后台留言。

关于数据新闻业界和学界的前沿话题您还想知道些什么?数新小白杨欢迎您的留言!

期待您的关注、“在看”和转发分享。

作者 | 王宇恒

python snownlp情感分析_白杨数说 | 不会做文本情感分析?试试这两个Python包相关推荐

  1. 小红书用户画像分析_用户研究:如何做用户画像分析

    用户画像就是根据用户特征.业务场景和用户行为等信息,构建一个标签化的用户模型.简而言之,用户画像就是将典型用户信息标签化. 在金融领域,构建用户画像变得很重要.比如金融公司会借助用户画像,采取垂直或精 ...

  2. python程序写诗_万能的 LSTM:可以写代码可以写诗还能做文本情感分析

    LSTM,全称为「长短期记忆」,是一种「时间递归神经网络」(RNN).LSTM 适合于处理和预测时间序列中间隔和延迟非常长的重要事件. 通俗来讲,LSTM 非常适合用来预测与时间相关的数据,在文本处理 ...

  3. python日本 老龄化分析_硬核!宝可梦八大世代数据大揭秘【Python数据分析】

    目标: 一.各系数量分析 二.各世代宝可梦数量分析 三.种族值分析 四.传说宝可梦分析 五.各世代推荐宝可梦 六.特性分析:特性种类.隐藏特性种类.占比(待更新) 源数据:腾讯文档​docs.qq.c ...

  4. python招聘笔试题_滴滴2020年春招笔试题分析(Python)

    数据背景来自:优梨:滴滴2020年春招Sql笔试题分析​zhuanlan.zhihu.com 这里就不再重复了,主要描述如何使用python数据清洗 问题: 1.订单的平均应答率是多少?完单率是多少? ...

  5. python微博涨粉_爬取微博用户公开信息,分析为周杰伦打榜的夕阳红老年团,告诉你他们真实年龄!...

    前段时间为"周杰伦打榜"话题迅速登上微博热搜榜 因为cxk的粉丝们质疑周杰伦微博没有数据 (周杰伦没有开通微博) 于是,无数隐匿江湖多年 看不下去的周杰伦老年粉开始被迫营业 于是一 ...

  6. python期中考试试卷分析_期中考试后如何对试卷进行分析和总结?试卷分析方法总结!...

    所谓知识不清,就是在考试之前没有把知识学清楚,丢分发生在考试之前,而不仅仅发生在考试的过程之中. 所谓问题情景不清,就是审题不清,没有把问题看明白,或是不能把问题看明白,这是一个审题能力.审题习惯问题 ...

  7. python pca主成分_超越“经典” PCA:功能主成分分析(FPCA)应用于使用Python的时间序列...

    python pca主成分 FPCA is traditionally implemented with R but the "FDASRSF" package from J. D ...

  8. 大数据分析 | 用 Python 做文本词频分析

    老师教给我,要学骆驼,沉得住气的动物.看它从不着急,慢慢地走,慢慢地嚼,总会走到的,总会吃饱的. ---<城南旧事> 目录 一.前言 Python 简介 Python 特点 二.基本环境配 ...

  9. java源码依赖分析_高德APP全链路源码依赖分析工程

    一.背景 高德 App 经过多年的发展,其代码量已达到数百万行级别,支撑了高德地图复杂的业务功能.但与此同时,随着团队的扩张和业务的复杂化,越来越碎片化的代码以及代码之间复杂的依赖关系带来诸多维护性问 ...

最新文章

  1. python3读写csv
  2. 黑莓GPRS上网套餐包月 300MB流量 不限CMWAP/CMNET
  3. java中注解动态传参_SpringMVC之注解、传参、返回值及拦截器
  4. 北斗导航 | 利用模拟卫星星座估计GNSS接收机位置
  5. python 批量修改密码
  6. ASP.NET Core在 .NET Core 3.1 Preview 1中的更新
  7. jmp、JE、JZ、JNE、JNT指令
  8. Nginx基本数据结构之ngx_array_t
  9. javaSE-基础篇-经典赋值:两变量值的交换
  10. FFmpeg之wav转mp3(二十四)
  11. 2021华为精英软件挑战赛总结
  12. 在word里批量插入由文件创建对象,word宏定义批量插入对象
  13. 常用软件静默安装参数
  14. scratch编程小游戏咬指大冒险
  15. Scene Graph Generation by Iterative Message Passing解读
  16. 使用telnet方式管理交换机
  17. 新鲜出炉2010笑话集锦,我竟然一个都没听过
  18. 1、SONIX单片机新建工程与烧录流程
  19. 数据驱动的瑞幸咖啡未来会能赚!
  20. ngrok穿透服务器搭建

热门文章

  1. 蓝牙该串口设备不存在或已被占用_串口被占用解决方法
  2. 一个微信 QQ 链接屏蔽检测监控工具,可加域名池,可 API 回调 及微信通知
  3. 微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义
  4. linux存放脚本目录,linux中Shell脚本所在目录的绝对路径linux操作系统 -电脑资料...
  5. 奈飞文化手册_书摘|奈飞文化手册
  6. java不能作为整型常量_以下字符组合中,不能作为Java整型常量的是_学小易找答案...
  7. 淘集集的BANNER活动什么时间下架
  8. PVE安装win10并开启远程桌面
  9. smtplib python_python使用电子邮件模块smtplib的方法
  10. 关于“哥和寂寞”的语录。。。。