学习补充:

  1. 用Python实现《沉默的真相》3万+弹幕情感分析

  2. 如何用Python做情感分析?

  3. python做文本情感分析——某APP内评论内容作样本

  4. python 京东商品评论情感分析 snownlp库的使用

  5. 基于情感词典的python情感分析

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

  7. 百度API情感分析


转载自:如何使用python做中文情感分析

作为一门编程语言,Python的编写简单,支持库强大,应用场景多,越来越多的人开始将它作为自己的编程入门语言。

Python一个比较重要的场景是做舆情分析,比如分析社交网络上群众对某一话题的态度,分析股民的情绪作为投资参考等。其中最基础的环节就是--分析一段话的情感倾向。

这里搬出笔者曾经做过的一个例子:分析知乎论坛2017年,“清华大学”话题下的集体情绪变化。


下面就分理论和实践两个部分,讲一讲怎么快速实现上面一幅图。

1.中文情感分析方法和难点

在上文所讲的例子中,我们希望得到的是人们对一件事情评价的情感倾向。比如支持还是反对一件事情,喜欢一件产品与否--结果可能是积极的,消极的或者中立的。比如

特别喜欢这种可爱的小狗

这句话的情感倾向显而易见是正面的。

情感标注的工作交给机器去做,可以有以下几种实现方式:

1.1 词性词典和分词

简单的说,就是给每个词语标注情感极性,比如好看是积极的,丑陋是消极的。拥有这样一个词典,机器就能对词语情感做分类。 对于一句话,可以按先分词,再统计每个词语的情感极性的方法。中文分词的方法可以参照笔者之前的文章: 如何绘制好看的中文云词图。

这种方法看起来是很简便,但是问题在于,汉语言博大精深,同一个词在不同语境里有不同的意思,可能表达不同的情感态度。

比如“这个电影拍得太牛逼了”“你牛逼你上啊”,前一句表示电影拍的好,情感积极,而后一句则属于反讽,情感负面。仅靠词语标注是没法准确反映一句话的情感倾向的。

另一个比较客观的情况是目前也没有比较好的开源中文情感词典。

1.2 机器学习

传统的机器学习方法如SVM,Naive Bayes等也可以用来做情感分类。这里的关键是将文本转换文本矩阵(比如常用的Bag of Words),交给训练好的分类器进行情感识别和分类。

Python里有一个常用的中文文本处理库SnowNLP,里面就使用了Bayes的方法,通过已经标注好极性的语句进行训练得到分类器。需要注意的是官方用于情感分析的训练集来自买卖东西的评价,因此这个情感分析用于商品评价最为准确,其它领域最好自建训练集。

下载SnowNLP使用以下命令即可:

pip install snownlp

1.3 神经网络

神经网络在图像识别上发挥了巨大的威力,同样的方法也被用在了文本处理上。笔者认为现有比较简单的方法是以字符为单位,训练神经网络。这种方法不需要提前知道语法和语义的知识,但需要比较大的训练集做训练。在情感分析方面这种方法已经达到了比较好的效果。

图片来自Yann LeCun团队

这种方法由纽约大学Yann LeCun团队提出,具体实现可以阅读他们的论文。 https://arxiv.org/pdf/1509.01626.pdf

2.简单实现文本的情感分析

上面提到了诸多实现中文文本情感分析的方法,读者可以根据自己的兴趣去实现。尽管有这么多方法,但都是要花一些功夫去研究和实现的。针对某一领域相关的文本的情感分析可能需要不断的去优化,才能达到比较好的效果。

这里我给大家推荐一个现成的轮子,百度提供的情感倾向分析API(搜索“百度AI开放平台”即可)。文章开始的集体情感变化曲线就是用这个实现的。

使用的方法也很简单,在官网注册之后,可以得到每月免费使用的10W次权限。python可以直接下载百度情感分析的调用模块。 安装方法:

pip install baidu-aip

使用方法:

from aip import AipNlp""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'client = AipNlp(APP_ID, API_KEY, SECRET_KEY)

输入待分析的文本(一段知乎的回答):

text="以前约过一个电子系妹子,之前和妹子关系都挺好的 约出去一切也很正常,直到不知怎么问起GPA。 我说我GPA不行,只有多少多少。(大概略高于平均吧) 她哦了一声,说她有多少多少(反正比我高很多,她貌似是他们系前几名) 从此以后她再也没理过我。 "
result=client.sentimentClassify(text)

返回结果:

{ 'items': [ {'confidence': 0.528202, //表示分类的置信度'negative_prob': 0.787691, //表示属于消极类别的概率'positive_prob': 0.212309, //表示属于积极类别的概率'sentiment': 0 //表示情感极性分类结果} ], 'text': '以前约过一个电子系妹子...... '
}

解读一下结果,这句话情绪比较负面,负面的概率是0.787691,置信度是0.528202。

不用自建训练集,也不用自己调优,完全依赖百度的黑盒子,就可以实现简单的情感分析。是不是很赞O(∩_∩)O~

关于我更多的实践,请关注 “果果数据” 微信公众号,未来也会推出更多数据相关的应用和技术分享!

如何使用python做中文情感分析相关推荐

  1. tensorflow 实践(一)使用神经网络做中文情感分析

    本文使用哈工大做文本预处理: 两层隐层神经网络: 后注:不是标准的ann,做了去停用词和词性筛选,没有端到端. # -*- coding: utf-8 -*- # @bref :使用tensorflo ...

  2. python中文情感分析分类和英文情感分析的库和方法汇总

    情感分析是自然语言处理中的一个常见任务.以下是用 Python 写的一个简单的情感分析分类函数的代码示例: import jieba import numpy as npdef sentiment_a ...

  3. 利用Python实现酒店评论的中文情感分析,含数据集

    利用Python实现酒店评论的情感分析 完整代码下载地址:利用Python实现酒店评论的中文情感分析 情感极性分析,即情感分类,对带有主观情感色彩的文本进行分析.归纳.情感极性分析主要有两种分类方法: ...

  4. python情感分析语料库_python 中文情感分析 Snownlp库的使用

    不甘心的时候,就是在进步:痛苦的时候,就是在成长. 文章目录 一.Snownlp 简介 SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于 ...

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

    情感分析是自然语言处理(NLP)领域的一类任务,又称倾向性分析,意见抽取,意见挖掘,情感挖掘,主观分析等,它是对带有情感色彩的主观性文本进行分析.处理.归纳和推理的过程.具体到数据新闻领域,文本情感分 ...

  6. 基于大连理工大学的情感词汇表的中文情感分析

    前言 为什么要写这篇文章? 前段时间帮人写了一个这样的小项目,在网上查找资料的过程中,有不少关于该项目的资料,由于各个博主写的代码不尽相同,且没有一个详尽的分析方法,所以我在完成该项目后,想到可以把该 ...

  7. 使用Python做中文分词和绘制词云

    使用Python做中文分词和绘制词云 李小璐出轨云词图 作为一门编程语言,Python的编写简单,支持库强大,应用场景多,越来越多的人开始将它作为自己的编程入门语言. Python一个比较重要的场景是 ...

  8. 毕业设计:微博语料中文情感分析

    向AI转型的程序员都关注了这个号???????????? 人工智能大数据与深度学习  公众号:datayx 微博的强大影响力已经深深的吸引了更多的人加入.而对微博的情感分析,不仅可以获取网民的此时的心 ...

  9. 【中文情感分析】SO-PMI算法(HarvestText库的修正以及解析)

    简述 在最近的RA过程中,需要使用一个库,同时对其的原理需要理解.然后就研究了一些,发现了几个有趣的,其中一个HarvestText中文情感分析. 我研究了他的源码后,再结合理论知识发现了这个库在情感 ...

  10. python微博文本分析_基于Python的微博情感分析系统设计

    基于 Python 的微博情感分析系统设计 王欣 ; 周文龙 [期刊名称] < <信息与电脑> > [年 ( 卷 ), 期] 2019(000)006 [摘要] 微博是当今公众 ...

最新文章

  1. java解析各种文档格式_java读取各类型的文件
  2. centos7 mysql二进制_centos7+mysql5.7二进制安装
  3. 计蒜客---函数规律
  4. js基础--变量、数据类型、循环、判断、函数定义
  5. java监听上传文件,Springmvc文件上传监听详解
  6. Atata——C# Web测试自动化框架
  7. 基于JAVA+SpringBoot+Mybatis+MYSQL的运动会管理系统
  8. 杭电-------2048不容易系列之(4)考新郎(C语言)
  9. Spring和依赖注入的价值
  10. 做数据分析时注意事项
  11. asp.net有效使用缓存(转)
  12. [转]C++ 智能指针详解
  13. 用计算机算标准曲线,标准曲线计算器官方版
  14. 汉印扫描器设置软件_汉印HPRTK180打印机驱动
  15. 缺陷检测End-to-end training of a two-stage neural networkfor defect detection(端到端的两步神经网络的缺陷检测)
  16. Sequence (矩阵快速幂+快速幂+费马小定理)
  17. 压敏电阻14D471K
  18. 我要的仅此而已:伤感QQ心情日志
  19. 2022年最火副业;海外抖音 (TikTok) 搬运视频,一周赚一个月工资。
  20. 解决Linux无法连接外网的问题

热门文章

  1. u盘数据恢复软件哪个好?怎么恢复u盘数据?
  2. unimodal_palindromic——回文串dp动规
  3. nios ii小实验——SDRAM读写
  4. 苹果开发者账户申请完整流程
  5. lol登入显示目录服务器失败,英雄联盟(LOL)登录游戏提示“连接DIR服务器失败”?...
  6. 第一篇 外贸企业出口退税
  7. R语言apply族函数详解
  8. ttf字体转换成woff2网页字体快捷方法
  9. 【Python】10行代码获取海贼王最新目录
  10. 毕业设计 - 基于机器视觉的12306验证码识别