一、cnsenti

中文情感分析库(Chinese Sentiment))可对文本进行情绪分析、正负情感分析。对了,强调一下,这是大邓出品的python第三方包^_^,大家可以通过pip实现安装。

  • github地址 https://github.com/thunderhit/cnsenti

  • pypi地址 https://pypi.org/project/cnsenti/

特性

  • 情感分析默认使用的知网Hownet

  • 情感分析可支持导入自定义txt情感词典(pos和neg)

  • 情绪分析使用大连理工大学情感本体库,可以计算文本中的七大情绪词分布

二、安装

方法一

由于pip默认从pypi站点下载cnsenti安装包,速度会比较慢,这样容易出现安装失败,多试几次即可。

pip install cnsenti

方法二

更改到国内镜像,可以加速下载安装。由于是新上传的库,可能短时间内国内镜像没有收录,等一两天即可。

pip install cnsenti -i https://pypi.tuna.tsinghua.edu.cn/simple/

三、快速上手

中文文本情感词正负情感词统计

from cnsenti import Sentiment
senti = Sentiment()
test_text= '我好开心啊,非常非常非常高兴!今天我得了一百分,我很兴奋开心,愉快,开心'
result = senti.sentiment_count(test_text)
print(result)

Run

{'words': 24,
'sentences': 2,
'pos': 4,
'neg': 0}

中文文本情绪统计

from cnsenti import Emotion
emotion = Emotion()
test_text = '我好开心啊,非常非常非常高兴!今天我得了一百分,我很兴奋开心,愉快,开心'
result = emotion.emotion_count(test_text)
print(result)

Run

{'words': 22,
'sentences': 2,
'好': 0,
'乐': 4,
'哀': 0,
'怒': 0,
'惧': 0,
'恶': 0,
'惊': 0}

四、文档

cnsenti包括Emotion和Sentiment两大类,其中

  • Emotion 情绪计算类,包括emotion_count(text)方法

  • Sentiment 正负情感计算类,包括sentimentcount(text)sentimentcalculate(text)两种方法

4.1 emotion_count(text)

emotion_count(text)y用于统计文本中各种情绪形容词出现的词语数。使用大连理工大学情感本体库词典,支持七种情绪统计(好、乐、哀、怒、惧、恶、惊)

from cnsenti import Emotion
emotion = Emotion()
test_text = '我好开心啊,非常非常非常高兴!今天我得了一百分,我很兴奋开心,愉快,开心'
result = emotion.emotion_count(test_text)
print(result)

返回

{'words': 22,
'sentences': 2,
'好': 0,
'乐': 4,
'哀': 0,
'怒': 0,
'惧': 0,
'恶': 0,
'惊': 0}

其中

  • words 中文文本的词语数

  • sentences 中文文本的句子数

  • 好、乐、哀、怒、惧、恶、惊 text中各自情绪出现的词语数

4.2 sentiment_count(text)

隶属于Sentiment类,可对文本text中的正、负面词进行统计。默认使用Hownet词典,后面会讲到如何导入自定义正、负情感txt词典文件。这里以默认hownet词典进行统计。

from cnsenti import Sentiment
senti = Sentiment()
test_text = '我好开心啊,非常非常非常高兴!今天我得了一百分,我很兴奋开心,愉快,开心'
result = senti.sentiment_count(test_text)
print(result)

Run

{'words': 24,
'sentences': 2,
'pos': 4,
'neg': 0}

其中

  • words 文本中词语数

  • sentences 文本中句子数

  • pos 文本中正面词总个数

  • neg 文本中负面词总个数

4.3 sentiment_calculate(text)

隶属于Sentiment类,可更加精准的计算文本的情感信息。相比于sentimentcount只统计文本正负情感词个数,sentimentcalculate还考虑了

  • 情感词前是否有强度副词的修饰作用

  • 情感词前是否有否定词的情感语义反转作用

比如

from cnsenti import Sentiment
senti = Sentiment()
test_text = '我好开心啊,非常非常非常高兴!今天我得了一百分,我很兴奋开心,愉快,开心'
result1 = senti.sentiment_count(test_text)
result2 = senti.sentiment_calculate(test_text)
print('sentiment_count',result1)
print('sentiment_calculate',result2)

Run

sentiment_count
{'words': 22,
'sentences': 2,
'pos': 4,
'neg': 0}
sentiment_calculate
{'sentences': 2,
'words': 22,
'pos': 27.0,
'neg': 0.0}

4.4 自定义词典

cnsenti中只有Sentiment类支持正负情感词典自定义,自定义词典需要满足

  • 必须为txt文件

  • 原则上建议encoding为utf-8

  • txt文件每行只有一个词

这部分我放到test文件夹内,代码和自定义词典均在test内,所以我使用相对路径设定自定义词典的路径

|test|---代码.py|---正面词自定义.txt|---负面词自定义.txt

代码.py文件内

from cnsenti import Sentiment
senti = Sentiment(pos='正面词自定义.txt',  #正面词典txt文件相对路径neg='负面词自定义.txt',  #负面词典txt文件相对路径encoding='utf-8')      #两txt均为utf-8编码

经过上面的设置就可以使用自定义词典。

补充:

我设计的这个库目前仅能支持两类型pos和neg,如果你的研究问题是两分类问题,如好坏、美丑、善恶、正邪、友好敌对,你就可以定义两个txt文件,分别赋值给pos和neg,就可以使用cnsenti库。

五、关于词典

目前比较有可解释性的文本分析方法是词典法,算法逻辑都很清晰。词典的好坏决定了情感分析的好坏。如果没有词典,也就限制了你进行文本情感计算。

目前大多数人使用的是形容词情感词典,如大连理工大学情感本体库和知网Hownet,优点是直接拿来用,缺点也很明显,对于很多带情感却无形容词的文本无能为力。如这手机很耐摔, 使用形容词情感词典计算得分pos和neg均为0。类似问题在不同研究对象的文本数据应该都是挺普遍的,所以人工构建情感词典还是很有必要的。

我封装了刘焕勇基于so_pmi算法的新词发现代码,将该库其命名为wordexpansion。wordexpansion可以极大的提高提高自定义词典的构建速度,感兴趣的童鞋详情可以访问wordexpansion项目地址

如果

如果您是经管人文社科专业背景,编程小白,面临海量文本数据采集和处理分析艰巨任务,个人建议学习《python网络爬虫与文本数据分析》视频课。作为文科生,一样也是从两眼一抹黑开始,这门课程是用五年时间凝缩出来的。自认为讲的很通俗易懂o( ̄︶ ̄)o,

  • python入门

  • 网络爬虫

  • 数据读取

  • 文本分析入门

  • 机器学习与文本分析

  • 文本分析在经管研究中的应用

感兴趣的童鞋不妨 戳一下《python网络爬虫与文本数据分析》进来看看~

近期文章

Python核心技术与实战

Python全栈-60天精通之路

Python网络爬虫与文本数据分析

中文文本数据逻辑性分析库

中文文本分析相关资源汇总

Python数据分析相关学习资源汇总帖

漂亮~pandas可以无缝衔接Bokeh

综述:文本分析在市场营销研究中的应用

Lazy Prices公司年报内容变动碰上股价偷懒

用python帮你生产指定内容的word文档

2020年B站跨年晚会弹幕内容分析

YelpDaset: 酒店管理类数据集10+G

NRC词语情绪词典和词语色彩词典

Loughran&McDonald金融文本情感分析库

cnsenti中文情绪情感分析库相关推荐

  1. python 文本分析库_Python有趣|中文文本情感分析

    前言 前文给大家说了python机器学习的路径,这光说不练假把式,这次,罗罗攀就带大家完成一个中文文本情感分析的机器学习项目,今天的流程如下: 数据情况和处理 数据情况 这里的数据为大众点评上的评论数 ...

  2. NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码

    NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码 目录 全部代码 相关文章 NLP之情感分析:基于python编程(jieba库)实现中文文本情 ...

  3. NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码

    NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码 目录 全部代码 相关文章 NLP之TEA:基于python编程(jieba库)实现中文文本情感分 ...

  4. ​​​​​​​NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)

    NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分) 目录 输出结果 设计思路 相关资料 1.关于代码 2.关于数据集 关于留言 1.留言内容的注意事项 2.如 ...

  5. python情感分析模型_Python有趣|中文文本情感分析

    前言 前文给大家说了python机器学习的路径,这光说不练假把式,这次,罗罗攀就带大家完成一个中文文本情感分析的机器学习项目,今天的流程如下: 数据情况和处理 数据情况 这里的数据为大众点评上的评论数 ...

  6. python情感分析中文_Python有趣|中文文本情感分析

    前言 前文给大家说了python机器学习的路径,这光说不练假把式,这次,罗罗攀就带大家完成一个中文文本情感分析的机器学习项目,今天的流程如下: 数据情况和处理 数据情况 这里的数据为大众点评上的评论数 ...

  7. Python:snownlp中文文本情感分析

    hello,大家好,我是wangzirui32,今天来教大家如何使用snownlp的中文文本情感分析功能,开始学习吧! 1. pip 安装 命令: pip install snownlp -i htt ...

  8. python中文文本分析_Python有趣|中文文本情感分析

    前言 前文给大家说了python机器学习的路径,这光说不练假把式,这次,罗罗攀就带大家完成一个中文文本情感分析的机器学习项目,今天的流程如下: 数据情况和处理 数据情况 这里的数据为大众点评上的评论数 ...

  9. 结合语言知识和深度学习的中文文本情感分析方法

    结合语言知识和深度学习的中文文本情感分析方法 徐康庭, 宋威 北方工业大学信息学院 摘要:在目前的中文文本情感分析研究中,基于语义规则和情感词典的方法通常需要人工设置情感阈值:而基于深度学习的方法由于 ...

最新文章

  1. 10W学习笔记——查询之联接
  2. 黄聪:visual studio 2017编译运行出现脚本发生错误等问题如何解决?
  3. 【Linux系统编程应用】Linux音频编程实战(一)
  4. Google 2020游戏开发者峰会回顾、比尔•盖茨的夏日书单、Libaom 2.0.0发布等|Decode the Week...
  5. 做音视频开发,你读对书了吗?(内有福利)
  6. 软件测试之黑盒测试-边界值分析法(理论白话学习/期中期末备考)
  7. webpack4 filemanager-webpack-plugin 打zip包失败问题
  8. 24暴力枚举四平方和
  9. 计算机网络的维护 维修方法,网络故障怎么解决 网络维修常见网络故障维修方法【详细介绍】...
  10. C#语法糖yield
  11. TensorFlow新功能「AutoGraph」:将Python转换为计算图
  12. 运维实战案例之“Too many open files”错误与解决方法
  13. 21天学通C语言-学习笔记(10)
  14. videos player.php_基于vue-video-player自定义播放器的方法
  15. 虚幻4随笔(安装与界面说明)
  16. 大圆航线、恒向线绘制
  17. 鼠标连点器同时点多个位置_C++自制鼠标连点器
  18. stm32幂指数运算时的错误显示与解决方案
  19. 京东敌不过阿里、腾讯岌岌可危,都是因为商业模式出了问题
  20. Java中变量与常量

热门文章

  1. STM32F103之完成对SD卡的数据读取
  2. mac使用scp上传下载文件/文件夹
  3. vue动态路由传参的几种方式
  4. 【高德地图WEB开发】 入门篇(地图/搜索/经纬度/缩放层级)
  5. Java 创建/识别条形码、二维码
  6. 关于责任链模式的优雅实现
  7. 3S技术在水文、气象、灾害、生态、环境及卫生等领域应用
  8. allegro .brd文件转成AD .pcbdoc文件
  9. 基于低功耗32位MCU CW32系列的智能温控器的应用
  10. 数据结构之图论算法(四)—— 拓扑算法