Python还可以做情感分析你不看看吗?

基于Python的情感分析案例——知网情感词典 近期老师给我们安排了一个大作业,要求根据情感词典对微博语料进行情感分析。于是在网上狂找资料,看相关书籍,终于搞出了这个任务。现在做做笔记,总结一下本次的任务,同时也给遇到有同样需求的人,提供一点帮助。 1、情感分析含义 情感分析指的是对新闻报道、商品评论、电影影评等文本信息进行观点提取、主题分析、情感挖掘。情感分析常用于对某一篇新闻报道积极消极分析、淘宝商品评论情感打分、股评情感分析、电影评论情感挖掘。情感分析的内容包括:情感的持有者分析、态度持有者分析、态度类型分析(一系列类型如喜欢(like),讨厌 阅读详情

商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地。本文帮助你一步步用Python做出自己的情感分析结果,难道你不想试试看?

需求

如果你关注数据科学研究或是商业实践,“情感分析”(sentiment analysis)这个词你应该不陌生吧?

维基百科上,情感分析的定义是:

文本情感分析(也称为意见挖掘)是指用自然语言处理、文本挖掘以及计算机语言学等方法来识别和提取原素材中的主观信息。

听着很高大上,是吧?如果说得具体一点呢?

给你一段文本,你就可以用情感分析的自动化方法获得这一段内容里包含的情感色彩是什么。

神奇吧?

情感分析不是炫技工具。它是闷声发大财的方法。早在2010年,就有学者指出,可以依靠Twitter公开信息的情感分析来预测股市的涨落,准确率高达87.6%!

在这些学者看来,一旦你能够获得大量实时社交媒体文本数据,且利用情感分析的黑魔法,你就获得了一颗预测近期投资市场趋势的水晶球。

这种用数据科学碾压竞争者的感受,是不是妙不可言啊?

大数据时代,我们可以获得的文本数据实在太多了。仅仅是大众点评、豆瓣和亚马逊上海量的评论信息就足够我们挥锹抡镐,深挖一通了。

你是不是疑惑,这么高深的技术,自己这个非计算机专业的文科生,如何才能应用呢?

不必担心。从前情感分析还只是实验室或者大公司的独门秘籍。现在早已飞入寻常百姓家。门槛的降低使得我们普通人也可以用Python的几行代码,完成大量文本的情感分析处理。

是不是摩拳擦掌,打算动手尝试了?

那我们就开始吧。

安装

为了更好地使用Python和相关软件包,你需要先安装Anaconda套装。详细的流程步骤请参考《 如何用Python做词云 》一文。

到你的系统“终端”(macOS, Linux)或者“命令提示符”(Windows)下,进入我们的工作目录demo,执行以下命令。

pip install snownlp
pip install -U textblob
python -m textblob.download_corpora

好了,至此你的情感分析运行环境已经配置完毕。

在终端或者命令提示符下键入:

jupyter notebook

你会看到目录里之前的那些文件,忽略他们就好。

好了,下面我们就可以愉快地利用Python来编写程序,做文本情感分析了。

英文

我们先来看英文文本的情感分析。

这里我们需要用到的是 TextBlob包 。

其实,从上图可以看出,这个包可以做许许多多跟文本处理相关的事情。本文我们只专注于情感分析这一项。其他功能以后有时间我们再介绍。

我们新建一个Python 2笔记本,并且将其命名为“sentiment-analysis”。

先准备一下英文文本数据。

text = "I am happy today. I feel sad today."

这里我们输入了两句话,把它存入了text这个变量里面。学了十几年英语的你,应该立即分辨出这两句话的情感属性。第一句是“我今天很高兴”,正面;第二句是“我今天很沮丧”,负面。

下面我们看看情感分析工具TextBlob能否正确识别这两句话的情感属性。

首先我们呼唤TextBlob出来。

from textblob import TextBlob
blob = TextBlob(text)
blob

按Shift+Enter执行,结果好像只是把这两句话原封不动打印了出来而已嘛。

别着急,TextBlob已经帮我们把一段文本分成了不同的句子。我们不妨看看它的划分对不对。

blob.sentences
复制代码

执行后输出结果如下:

划分无误。可是你能断句有啥了不起?!我要情感分析结果!

你怎么这么着急啊?一步步来嘛。好,我们输出第一句的情感分析结果:

blob.sentences[0].sentiment

执行后,你会看到有意思的结果出现了:

情感极性0.8,主观性1.0。说明一下,情感极性的变化范围是[-1, 1],-1代表完全负面,1代表完全正面。

既然我说自己“高兴”,那情感分析结果是正面的就对了啊。

趁热打铁,我们看第二句。

blob.sentences[1].sentiment
复制代码

执行后结果如下:

“沮丧”对应的情感极性是负的0.5,没毛病!

更有趣的是,我们还可以让TextBlob综合分析出整段文本的情感。

blob.sentiment
复制代码

执行结果是什么?

给你10秒钟,猜猜看。

不卖关子了,是这样的:

你可能会觉得没有道理。怎么一句“高兴”,一句“沮丧”,合并起来最后会得到正向结果呢?

首先不同极性的词,在数值上是有区别的。我们应该可以找到比“沮丧”更为负面的词汇。而且这也符合逻辑,谁会这么“天上一脚,地下一脚”矛盾地描述自己此时的心情呢?

中文

试验了英文文本情感分析,我们该回归母语了。毕竟,互联网上我们平时接触最多的文本,还是中文的。

中文文本分析,我们使用的是 SnowNLP包 。这个包跟TextBlob一样,也是多才多艺的。

我们还是先准备一下文本。这次我们换2个形容词试试看。

text = u"我今天很快乐。我今天很愤怒。"
复制代码

注意在引号前面我们加了一个字母u,它很重要。因为它提示Python,“这一段我们输入的文本编码格式是Unicode,别搞错了哦”。至于文本编码格式的细节,有机会我们再详细聊。

好了,文本有了,下面我们让SnowNLP来工作吧。

from snownlp import SnowNLP
s = SnowNLP(text)
复制代码

我们想看看SnowNLP能不能像TextBlob一样正确划分我们输入的句子,所以我们执行以下输出:

for sentence in s.sentences:
 print(sentence)
复制代码

执行的结果是这样的:

[图片上传失败…(image-2b9feb-1645854951672)]

好的,看来SnowNLP对句子的划分是正确的。

我们来看第一句的情感分析结果吧。

s1 = SnowNLP(s.sentences[0])
s1.sentiments
复制代码

执行后的结果是:

看来“快乐”这个关键词真是很能说明问题。基本上得到满分了。

我们来看第二句:

s2 = SnowNLP(s.sentences[1])
s2.sentiments
复制代码

执行结果如下:

这里你肯定发现了问题——“愤怒”这个词表达了如此强烈的负面情感,为何得分依然是正的?

这是因为SnowNLP和textblob的计分方法不同。SnowNLP的情感分析取值,表达的是“这句话代表正面情感的概率”。也就是说,对“我今天很愤怒”一句,SnowNLP认为,它表达正面情感的概率很低很低。

这么解释就合理多了。

小结

学会了基本招式,很开心吧?下面你可以自己找一些中英文文本来实践情感分析了。

但是你可能很快就会遇到问题。例如你输入一些明确的负面情绪语句,得到的结果却很正面。

不要以为自己又被忽悠了。我来解释一下问题出在哪儿。

首先,许多语句的情感判定需要上下文和背景知识,因此如果这类信息缺乏,判别正确率就会受到影响。这就是人比机器(至少在目前)更强大的地方。

其次,任何一个情感分析工具,实际上都是被训练出来的。训练时用的是什么文本材料,直接影响到模型的适应性。

例如SnowNLP,它的训练文本就是评论数据。因此,你如果用它来分析中文评论信息,效果应该不错。但是,如果你用它分析其他类型的文本——例如小说、诗歌等,效果就会大打折扣。因为这样的文本数据组合方式,它之前没有见过。

解决办法当然有,就是用其他类型的文本去训练它。见多识广,自然就“见惯不怪”了。至于该如何训练,请和相关软件包的作者联系咨询。

python情感分析:基于jieba的分词及snownlp的情感分析! 情感分析(sentiment analysis)是2018年公布的计算机科学技术名词。它可以根据文本内容判断出所代表的含义是积极的还是负面的,也可以用来分析文本中的意思是褒义还是贬义。一般应用场景就是能用来做电商的大量评论数据的分析,比如好评率或者差评率的统计等等。我们这里使用到的情感分析的模块是snownlp,为了提高情感分析的准确度选择加入了jieba模块的分词处理。由于以上的两个python模块都是非标准库,因此我们可以使用pip的方式进行安装。 阅读详情

相关推荐

Python实现文本情感分析

文本情感分析是一种重要的自然语言处理(NLP)任务,旨在从文本数据中推断出情感信息,例如正面、负面或中性情感。它在社交媒体分析、产品评论、市场调研等领域都有广泛的应用。本文将详细介绍如何使用Python进行文本情感分析,包括基础概念、数据预处理、情感分类模型和实际示例。

m0_67847535的博客 5409

如何用Python做情感分析?

商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地。本文帮助你一步步用Python做出自己的情感分析结果,难道你不想试试看? 需求 如果你关注数据科学研究或是商业实践,“情感分析”(sentiment analysis)这个词你应该不陌生吧? 维基百科上,情感分析的定义是: 文本情感分析...

weixin_33724059的博客 1414

【python机器学习】中文情感分析

3月31日,3月最后的一天接到了腾讯HR终面,看着招聘官网变成已完成还有点小自豪呢 然后百度搜了搜显示“已完成”是不是稳了,原来不是,好多最后被通知没被录取。。。。 随缘吧~代码还要继续码,博客还要继续更,论文还要继续写。。。。。 数据源 公众号文章:Python有趣|中文文本情感分析 罗罗攀在里面有发数据,大家以后可以跟着他的公众号进行学习,非常适合我这种小白哈哈哈哈哈哈 这是大众点评上...

weixin_37888958的博客 7659

python情感分析

情感分析是一种将自然语言文本中的情感信息提取出来的技术。在Python中,有多种工具和库可用于进行情感分析。下面是一些常用的情感分析工具和库,以及如何使用它们进行情感分析。

CBCY_csdn的博客 4829

Python做简单情感分析

英文: (1)准备: 需要首先安装textblob包 pip install -U textblob python -m textblob.download_corpora (2)导入包 from textblob import TextBlob import pandas as pd (3)读入数据 Idea=pd.read_csv(r"E:\IdeasTest.csv",usecols=['Ideas'] ) i=len(Idea) print(i) (4)情感分析 content=[] for x

wyj95anan的博客 1067

使用Python 进行文本情感分析

SnowNLP 是一个用于处理中文文本内容的 Python 库,它可以用于许多不同的任务,如分词、词性标注、情感分析等。通过本文的学习,你应该已经掌握了如何使用 SnowNLP 进行文本情感分析。如果你有任何问题或建议,请在评论区留言。

m0_74972192的博客 6054

python实现情感分析

python实现数据情感分析

weixin_52065872的博客 2万+

Python 深度学习实战:情感分析

1.背景介绍 情感分析(Sentiment Analysis)是自然语言处理(NLP)领域的一个重要任务。它可以应用于多个领域,如对话机器人、推荐引擎、评论过滤、网络舆论监控等。它的功能是从一段文本或语句中自动判断出其情绪倾向并给出相应评分。例如,对于用户给出的产品评论,情感分析系统可以帮助商家做出营销决策,指导员工沟通等。因此,情感分析在互联网领域非

AI天才研究院 484

Python进行情感分析

情感分析是自然语言处理中的一个重要任务,它主要是通过对文本进行分析来确定文本中的情感倾向,包括正面、负面和中性等。Python是一种功能强大的编程语言,它提供了许多工具和库来实现情感分析。本文将介绍Python中常用的情感分析库,并提供一些示例代码,以帮助您开始进行情感分析。​ 本文介绍了使用TextBlob和NLTK库进行情感分析的方法,并附上了相应的代码和文字说明。这些库是进行情感分析的常用工具,对于分析文本中的情感非常有用。通过学习本文,读者将能够了解如何使用Python进行情感分析。

weixin_55847762的博客 6790

Wikipedia_SentimentAnalysis

使用ML.Net和C#进行机器学习 博文中的demo演示,二进制分类中只有两个的demo

python情感分析代码

python情感分析代码 源码数据源都有 功能比较全 可以下载参考

用Python做数据商品情感分析(商品评论数据情感分析)

用Python做数据商品情感分析(商品评论数据情感分析) 现在,我们得到了一些关于XX商品的评论信息的数据,我们需要对这些评论信息的数据进行情感分析; 分析步骤 机械压缩去词 短句过滤 情感分析 分词处理(jieba分词) 去除停用词 LDA主题分析 具体过程 环境:Python3.6 + pandas0.24.2 以下文档中使用的文件可在网盘中下载: comment.csv 提取码:cbgh...

qq_42269354的博客 2万+

用Arduino和MAX30102做个心率血氧仪,从硬件连线到算法调试全流程避坑

本文详细介绍了如何使用Arduino和MAX30102传感器构建高精度心率血氧仪,涵盖硬件连线、软件配置、信号处理及算法优化全流程。通过实战案例和避坑指南,帮助开发者快速实现临床级精度的健康监测设备,适用于可穿戴设备和医疗健康领域。

weixin_26897585的博客 384

【Python】文本情感分析及绘制词云

这篇文章主要分享了使用Python来对文本数据进行情感分析以及绘制词云。 主要步骤包括: 1.文本预处理 2.文本分词 3.去除停用词(这里设置为单个词和一些常见的停用词) 4.词频统计 5.情感分析 6.绘制词云 首先导入所需的程序办和文本数据: #带入程序包 import pandas as pd import re import jieba import collections from w...

Asher117的博客 1万+

告别迷茫!手把手教你用Synopsys VC USB VIP搭建验证平台(附UVM分层序列实战解析)

本文详细介绍了如何使用Synopsys VC USB VIP搭建验证平台,并深入解析UVM分层序列的实战应用。通过Step-by-Step的操作指南和关键配置示例,帮助验证工程师高效集成USB VIP,掌握从环境搭建到测试用例开发的全套技能,特别适合处理复杂协议验证的挑战。

weixin_42520573的博客 554

usb设备的定位信息获取

一个usb hub有20个口,每个口有一个标号,那么如果一个为X的标号插入了一个android设备,如何通过函数,得到这个X,代码实现如下,获取了location, 得到类似 Port_#0002.Hub_#0003 的字符串,然后,要对应一个表。

babytiger的专栏 2106

如何使用python做中文情感分析

学习补充: 如何用Python做情感分析? python做文本情感分析——某APP内评论内容作样本 python 京东商品评论情感分析 snownlp库的使用 基于情感词典的python情感分析 【python机器学习】中文情感分析 百度API情感分析 转载自:如何使用python做中文情感分析 作为一门编程语言,Python的编写简单,支持库强大,应用场景多,越来越多的人开始将它作为自己的编程入门语言。Python一个比较重要的场景是做舆情分析,比如分析社交网络上群众对某一话题的态度,分析股民的

积一时之步,臻千里之遥程 9260

批处理脚本手动双击可以执行,但计划任务中执行失败

问题现象: 使用批处理脚本从linux端(samba server) 备份一些数据,设置计划任务每天凌晨两点定时备份。 1)、windows系统中映射共享文件夹为S:盘,需要输入共享用户名和密码 2)、脚本中使用xcopy命令复制共享目录中的文件到windows本地目录中。 脚本如下: set Name=%date:~0,4%%date:~5,2%%date:~8,2% chcp 65001 REM chcp防止中文乱码 mkdir "E:\脚本备份\bakscripts%Name%" xco

独孤清扬玩DB 4312

Python爬取《你好李焕英》豆瓣短评并基于SnowNLP做情感分析

爬取过程在这里: Python爬取你好李焕英豆瓣短评并利用stylecloud制作更酷炫的词云图 本文基于前文爬取生成的douban.txt,基于SnowNLP做情感分析。 依赖库: 豆瓣镜像比较快: pip install snownlp -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple 初识SnowNLP: SnowNLP是一个常用的Python文本分析库,是受到TextBlob启发而发明的。由于当前

一个超会写Bug的程序猿的博客 1万+

COMSOL实战:薄膜声学超材料模态分析全流程解析(含预应力设置技巧)

本文详细解析了使用COMSOL进行薄膜声学超材料模态分析的全流程,包括预应力设置技巧和共振频率优化方法。通过实际案例和参数设置指南,帮助工程师掌握从几何建模到结果解读的关键步骤,特别适合声学超材料和共振薄膜结构的设计与优化。

ujm5678901的博客 292

GD32F470实战:如何用EXMC+SDRAM为LVGL打造超大内存池(附完整配置代码)

本文详细介绍了如何利用GD32F470的EXMC接口与SDRAM深度整合,为LVGL构建高性能内存解决方案。通过硬件架构设计、EXMC接口配置、高级内存管理策略及LVGL性能优化技巧,开发者可以突破微控制器内存限制,实现高分辨率显示和复杂动画效果。附完整配置代码,助力嵌入式GUI开发。

rrr55的博客 548

Python利用情感词典做情感分析

情感分析是大数据时代常见的一种分析方法,多用于对产品评论的情感挖掘,以探究顾客的满意度程度。在做情感分析时,有两种途径:一种是基于情感词典的分析方法,一种是基于机器学习的方法,两者各有利弊。 在此,笔者主要想跟大家分享基于python平台利用情感词典做情感分析的方法。本文主要参考https://blog.youkuaiyun.com/lom9357bye/article/details/79058946这篇文章,在此文章中,博主用一句简单的语句“我今天很高兴也非常开心”向我们清楚的展示的利用情感词典做情感分析的方法,这

weixin_43161333的博客 6593

杰理AC696N系列芯片,烧录的时候烧录器连接上芯片之后电脑显示无法识别该设备,该怎么解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1713

基于python的情感分析案例-基于情感词典的python情感分析

PythonPython开发Python语言基于情感词典的python情感分析 近期老师给我们安排了一个大作业,要求根据情感词典对微博语料进行情感分析。于是在网上狂找资料,看相关书籍,终于搞出了这个任务。现在做做笔记,总结一下本次的任务,同时也给遇到有同样需求的人,提供一点帮助。1、情感分析含义情感分析指的是对新闻报道、商品评论、电影影评等文本信息进行观点提取、主题分析、情感...

weixin_37988176的博客 5478

《Autosar从入门到精通-实战篇》总目录_培训教程持续更新中...

欢迎大家订阅《Autosar从入门到精通-实战篇》,下方整理了相关博文的目录(单击蓝色字体即可跳转),方便大家获取。 本专栏旨在:扫除Autosar工具链配置过程中的障碍,加深对Autosar理论的理解。 温馨提醒: 如有疑问,可在博文的“评论区”给小编留言,进行技术交流(评论区开启了验证功能,审核通过后,会显示); 如有疑问,也可以通过博文中的第一个图片联系小编,获取专栏/博文的实时状态; 由于工作限制,仅做个人技术交流。添加好友时,请备注您的“姓名-公司-职务...

「汽车电子助手」的博客 12万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

python细粒度情感分析_用SenticNet库做细粒度情感分析

细粒度情感分析说细粒度情感分析,先说传统的情感分析(即粗粒度分析)。粗粒度情感分析只是简单的积极或消极情感的划分,并计算出情感的强度。但是情绪更细的维度层次,应该还可以对正负情绪进行划分。比如,积极情绪的期待、喜悦,负面情绪的愤怒、悲伤、害怕等,分析单位更小更精准。senticnet库Sentic API基于SenticNet4词典,可以对词语进行文本分析,得出每个词的语义和情感。这个库很有特点,...

weixin_39765695的博客 1992

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: 25岁建环工程转行python,5k到18k,敢于做出选择才会有改变
下一篇: python入门开发笔记之函数进阶
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值