python情感词典_sentimentpy模块进行中文文本情感分类

2023-10-29

sentimentpy是我根据R语言的一个文本情感分析包sentiment进行开发的, 开发的初衷有:

R的sentiment已经被弃坑, 没人维护

Python比R更擅长文本处理

sentiment包不支持中文

而sentimentpy包有如下特点:

使用朴素贝叶斯分类算法

利用了情感词典

支持中英文

支持情绪分类(喜怒哀乐恶惊)

支持极性分类(positive/negtive/both)

正在开发的功能:

利用语料库训练神经网络进行分类

用到的词库

具体来说, 中英文的分类类别是不同的, 这受限于中英文使用了不同的情感词库, 英文的情感词库来自于R的sentiment库, 而中文的情感词库是大连理工大学信息检索研究室在林鸿飞教授标注的一个中文情感词库, 在这里有介绍: 传送门

中文情感类别(英文的参考R sentiment库)

具体参考下表, 我们把句子分类下面6个情感大类。

编号 情感大类 情感类 例词

1 乐 快乐(PA) 喜悦、欢喜、笑眯眯、欢天喜地

2 安心(PE) 踏实、宽心、定心丸、问心无愧

3 好 尊敬(PD) 恭敬、敬爱、毕恭毕敬、肃然起敬

4 赞扬(PH) 英俊、优秀、通情达理、实事求是

5 相信(PG) 信任、信赖、可靠、毋庸置疑

6 喜爱(PB) 倾慕、宝贝、一见钟情、爱不释手

7 祝愿(PK) 渴望、保佑、福寿绵长、万寿无疆

8 怒 愤怒(NA) 气愤、恼火、大发雷霆、七窍生烟

9 哀 悲伤(NB) 忧伤、悲苦、心如刀割、悲痛欲绝

10 失望(NJ) 憾事、绝望、灰心丧气、心灰意冷

11 疚(NH) 内疚、忏悔、过意不去、问心有愧

12 思(PF) 思念、相思、牵肠挂肚、朝思暮想

13 惧 慌(NI) 慌张、心慌、不知所措、手忙脚乱

14 恐惧(NC) 胆怯、害怕、担惊受怕、胆颤心惊

15 羞(NG) 害羞、害臊、面红耳赤、无地自容

16 恶 烦闷(NE) 憋闷、烦躁、心烦意乱、自寻烦恼

17 憎恶(ND) 反感、可耻、恨之入骨、深恶痛绝

18 贬责(NN) 呆板、虚荣、杂乱无章、心狠手辣

19 妒忌(NK) 眼红、吃醋、醋坛子、嫉贤妒能

20 怀疑(NL) 多心、生疑、将信将疑、疑神疑鬼

21 惊 惊奇(PC) 奇怪、奇迹、大吃一惊、瞠目结舌

中文极性

sentimentpy可以将句子分为四种极性: positive/negtive/neutral/both

英文可以分为三种极性: positive/negtive/neutral

中文分词

建议使用jieba2, 并加载情感词库以后进行分词, 这样可以尽量把句子按照词库中已有的词进行分词。

sentimentpy这个库已经包含了分词的功能。

下面是我的测试:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41import unittest

from sentiment import sentiment

class Test(unittest.TestCase):

def test_chinese(self):

classifier = sentiment.Classifier('zh')

# 必须用空格分词

rtn = classifier.polarity('我 喜欢 这个 手机')

self.assertEqual(rtn['best_fit_cat'], 'positive')

rtn = classifier.polarity('我 今天 很 难过')

self.assertEqual(rtn['best_fit_cat'], 'neutral')

rtn = classifier.polarity('我 讨厌 你 你 滚开')

self.assertEqual(rtn['best_fit_cat'], 'negative')

rtn = classifier.emotion('我 喜欢 这个 手机')

self.assertEqual(rtn['best_fit_cat'], '好')

rtn = classifier.emotion('我 今天 很 难过')

self.assertEqual(rtn['best_fit_cat'], '哀')

rtn = classifier.emotion('我 讨厌 你 你 滚开')

self.assertEqual(rtn['best_fit_cat'], '恶')

def test_english(self):

classifier = sentiment.Classifier('en')

rtn = classifier.polarity('i love this cellphone')

self.assertEqual(rtn['best_fit_cat'], 'positive')

rtn = classifier.polarity('i am so sad today')

self.assertEqual(rtn['best_fit_cat'], 'negative')

rtn = classifier.polarity('i hate you fuck away')

self.assertEqual(rtn['best_fit_cat'], 'negative')

rtn = classifier.emotion('i love this cellphone')

self.assertEqual(rtn['best_fit_cat'], 'joy')

rtn = classifier.emotion('i am so sad today')

self.assertEqual(rtn['best_fit_cat'], 'sadness')

rtn = classifier.emotion('i hate you fuck away')

self.assertEqual(rtn['best_fit_cat'], 'anger')

if __name__ == '__main__':

unittest.main()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python情感词典_sentimentpy模块进行中文文本情感分类 的相关文章

  • pthread函数总结

    概括 https www cnblogs com tianzeng p 8934060 html
  • linux 运行scrapy,linux下部署scrapy

    1 如何部署scrapy 下载scrapy client 下载地址 https github com scrapy scrapyd client 并进行安装 安装命令 python setup install 进入项目目录 执行scrapy
  • 【Unity3D日常BUG】Unity3D中出现“动画片段必须标记为Legacy的警告”消除方法

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好 我是佛系工程师 恬静的小魔龙 不定时更新Unity开发技巧 觉得有用记得一键三连哦 一 前言 在开发中可能会遇到下面的警告 The Ani
  • 关于interface(接口继承)extends(接口)interface的问题

    前序 一直以来 我们学习java就被灌输了一个观点 类和抽象类 class 只能被继承 extends 接口 interface 只能被实现 implements 有个概念我们一直没有弄懂的是 类 class 可以实现接口 interfac
  • 刘积仁资本阳谋:东软熙康通过上市聆讯,三年亏损8亿元

    大数据产业创新服务媒体 聚焦数据 改变商业 9月中旬 第四次递表的东软熙康通过港交所上市聆讯 预计在9月30日之前完成IPO 作为国内首家以城市为入口的云医院平台厂商 东软熙康的互联网医疗服务包括互联网医院 远程医疗 智慧家庭医生 互联网居
  • 计算机科学和Python编程导论(二 ) Python简介

    基本概念 1 编程语言的分类 低级编程与高级编程 二者之间的区别是 编写程序时 我们是使用机器层次的指令和数据对象 底层操作 还是使用语言设计者提供的更为抽象的操作 图形用户界面 UI 通用性与专注于某一应用领域 指编程语言中的基本操作是广
  • 【yolo】makesense操作

    https www makesense ai 成功
  • 集团税务共享化、数字化系统如何选型(一)

    随着国家对于企业税务营改增的全面开启 再到国地税合并 金税三期全面建成 同时国家逐级推出发票电子化到专票电子化 标志着国家对发票全面升级为电子化 数字化 伴随着金税四期的开始并逐步落地 国家对企业的税收管理也原有的稽查转变为数字化 智能化的
  • 【100天精通Python】Day45:Python网络爬虫开发_ Scrapy 爬虫框架

    目录 1 Scrapy 的简介 2 Scrapy选择器 3 快速创建Scrapy 爬虫 4 下载器与爬虫中间件 5 使用管道Pielines lt
  • Java语言基础

    文章目录 1 开发环境 1 1 认识开发环境JDK 1 2 JDK JRE JVM关系 1 3 JDK1 8本地安装目录 1 3 1 bin 1 3 2 include 1 3 3 lib 1 3 4 conf 1 3 5 src 1 4
  • 32为什么还有 kill 不掉的语句?

    文章目录 32 为什么还有 kill 不掉的语句 收到 kill 以后 线程做什么 另外两个关于客户端的误解 小结 上期问题时间 32 为什么还有 kill 不掉的语句 在 MySQL 中有两个 kill 命令 一个是 kill query
  • 两个应用程序之间的通信

    应用程序之间的数据交换 互相通讯 一直是困扰广大程序员的难题 尽管已经出现了各式各样的解决方案 但迄今为止没有哪一种方案是完美无缺的 因此 只有学习并了解了它们的优缺点后 才能在特定的情况下选择最佳方案 以满足最终的要求 1 共享 在硬盘上
  • 【Redis】使用Redis实现消息队列

    一 两个消息模型 队列模型 队列模型如图所示 它具有以下几个特点 就像我们用微信和好友 群聊除外 聊天一样 微信就是这个队列 我们可以和很多个好友聊天 但是每条消息只能发给一个好友 只有一个消费者将获得消息 生产者不需要在接收者消费该消息期
  • MobaXterm通过SSH隧道配置RDP端口转发

    MobaXterm通过SSH隧道配置RDP端口转发 2019年9月29日星期日 版本1 0 目的 解决校园网跨网段 不能远程访问 微软RDP协议 客户端mstsc 默认端口 3389 服务器的问题 1 首先在服务器 Ubuntu 16 04
  • Flask入门教程(1)-定义Flask

    本系列文章仅为入门教程 入门举例 01 6 第一个Flask程序 1 导入flask扩展 from flask import Flask escape url for 2 创建flask 应用程序实例 需要传入 name 作用是为了确定资源
  • JavaWeb 第一个Servlet程序

    1 Servlet Servlet是Java编写的用于Web应用程序的服务器端程序 它可以接收来自Web浏览器的HTTP请求并生成响应 Servlet通常用于创建动态Web内容 例如网页 表单处理 登录和数据库访问等 Servlet是Jav
  • python制作编程软件的方法_利用python程序生成word和PDF文档的方法

    一 程序导出word文档的方法 将web html内容导出为world文档 再java中有很多解决方案 比如使用Jacob Apache POI Java2Word iText等各种方式 以及使用freemarker这样的模板引擎这样的方式
  • 【nvidia】1.命令行方式安装nvidia显卡驱动

    文章目录 方法一 第一步 查询合适的显卡驱动 第二步 安装驱动 第三步 重启电脑并验证安装 方法二 第一步 安装显卡驱动PPA 第二步 查找合适的显卡驱动 第三步 移除系统上先前安装的显卡驱动 第四步 安装显卡驱动 第五步 重启电脑并验证安
  • 334:递增的三元子序列-中等

    题目描述 给定一个未排序的数组 判断这个数组中是否存在长度为 3 的递增子序列 数学表达式如下 如果存在这样的 i j k 且满足 0 i lt j lt k n 1 使得 arr i lt arr j lt arr k 返回 true 否

随机推荐

  • 长虹电视新机测试什么软件,2021长虹电视安装第三方app最新方法!长虹电视解除第三方限制...

    警告 最后再次提醒各位 刷机有风险 用户需谨慎 变成昂贵的大黑板了那可不好玩了 除非电视有问题需要刷机 否则不推荐各位进行刷机操作 正文 在一些新机器新版本固件当中 长虹为了缩短开机启动过程的时间 启用了新的刷机策略 和之前的都不一样了 这
  • 编程计算饥荒所有农作物搭配(JavaScript版)

    导语 通过编程计算饥荒游戏中 所有农作物可满足肥度自给自足的种植搭配 思路 穷举出所有农作物 包括生长季节 生长素 堆肥 肥料消耗数值等属性 后续如果版本更新或有MOD农作物需添加 在此处修改添加 const ALL CROPS name
  • 因果推断—现代统计的思想飞跃:过去、现在到未来(伯克利丁鹏博士万字长文)...

    来源 专知 本文约12400字 建议阅读10 分钟 本文将回顾统计因果推断的历史背景 评述中国因果推断研究的现状 并且大胆推测它未来的发展前景 转载自 数学文化 2021 第 12 卷第 2 期 已获得原刊和作者授权 引言 探求事物的原因
  • 华为OD机试 - 猜数字(Java)

    题目描述 一个人设定一组四码的数字作为谜底 另一方猜 每猜一个数 出数者就要根据这个数字给出提示 提示以XAYB形式呈现 直到猜中位置 其中X表示位置正确的数的个数 数字正确且位置正确 而Y表示数字正确而位置不对的数的个数 例如 当谜底为8
  • 全栈之前端

    欢迎关注 全栈工程师修炼指南 公众号 点击 下方卡片 即可关注我哟 设为 星标 每天带你 基础入门 到 进阶实践 再到 放弃学习 花开堪折直须折 莫待无花空折枝 作者主页 https www weiyigeek top 博客 https b
  • C# .Net中的类型转换(转载)

    转载自 http www ynws gov cn wsrs blog blogview asp logID 99 导读 本文是对 C 的类型转换的讲解 其内容涉及 C 的装箱 拆箱 别名 数值类型间相互转换 字符的 ASCII 码和 Uni
  • unity热更新框架Xlua--配置环境变量与直接执行字符串

    本博客根据51CTOscholl刘国柱老师网课编写 小白笔记 侵权必删 Xlua下载链接 https pan baidu com s 1YiCuojsE3uzZF7rLuIKYtw 提取码 t4xe 配置环境 将上面链接的压缩包解压 并将其
  • elementui 之el-table通过v-if 控制按钮显示与隐藏

    前端效果演示 后端代码
  • Git管理神器SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR)...

    前言 俗话说的好工欲善其事必先利其器 Git分布式版本控制系统是我们日常开发中不可或缺的 目前市面上比较流行的Git可视化管理工具有SourceTree Github Desktop TortoiseGit 综合网上的一些文章分析和自己的日
  • Java 并发 ThreadLocal 详解

    文章首发于个人博客 欢迎访问关注 https www lin2j tech 简介 ThreadLocal 即线程本地变量的意思 常被用来处理线程安全问题 ThreadLocal 的作用是为多线程中的每一个线程都创建一个线程自身才能用的实例对
  • 凯利公式自动计算表_利用凯利公式计算每场投注的最佳比例

    即便是胜率 99 的赌局 如果每局全押 那么也注定会血本无归 即便是胜率只有 1 如果 1000 元钱本金每局仅投注 1 元 哪怕每次必输 也要 1000 次才会破产 成功的投资不仅要对投资策略的胜率具有一定程度的认识 同时要认真分析每一次
  • Java中终止线程的3种方法,你是否了解?

    一 stop 方法终止线程 线程不安全 不推荐 直接使用thread stop 来强行终止线程 线程会立即终止执行 可能会产生不可预料的结果 在调用thread stop 后会导致该线程所持有的所有锁突然释放 不可控制 那么被保护数据就有可
  • kafka3.1.0 java 测试demo

    前置条件 首先已经安装的Java环境 并且安装了zookeeper服务注册中心 下载 https kafka apache org 当前最新版本3 1 0 安装 在windows解压后主要关注的是config文件下的server prope
  • 第十一届蓝桥杯C/C++寻找2020

    第十一届蓝桥杯C C 寻找2020 对我来说一开始主要是不会把文本的内容复制去数组里面 后来找了同学帮忙才解决的 直接上代码 结果是16520 include
  • python输入三门课程成绩_python脚本如何输入成绩求平均分?

    python脚本如何输入成绩求平均分 python脚本输入成绩求平均分的方法 脚本要实现功能 1 输入学生学号 2 依次输入学生的三门科目成绩 3 计算该学生的平均成绩 并打印 4 平均成绩保留两位小数点 计算该学生语文成绩占总成绩的百分比
  • 《消息队列高手课》该如何选择消息队列

    作为一个程序员 相信你一定听过 没有银弹 这个说法 这里面的银弹是指能轻松杀死狼人 用白银做的子弹 什么意思呢 我对这句话的理解是说 在软件工程中 不存在像 银弹 这样可以解决一切问题的设计 架构或软件 每一个软件系统 它都是独一无二的 你
  • SpringMVC的文件上传

    SpringMVC的文件上传 SpringMVC的文件上传 1 SpringMVC的请求 文件上传 客户端表单实现 2 SpringMVC的请求 文件上传 文件上传的原理 3 SpringMVC的请求 文件上传 单文件上传的代码实现1 4
  • 春眠不觉晓,redis知多少(2)

    春眠不觉晓 redis知多少 第二篇 4 持久化 4 1 原因 4 2 redis持久化机制 4 2 1 RDB 4 2 2 AOF 5 JAVA客户端 Jedis 5 1 介绍 5 2 使用步骤 5 3 Jedis操作各种redis的数据
  • 【毕设记录】Stata稳健性检验~ Robustness

    一些网上看的 自己用的tips汇总 1 DID 平行趋势检验 自己用的 1 在论文呈现上 可以绘制平行趋势图 也可以做一个Table表示平行趋势检验的结果 2 学习文献的做法 创建政策发生前两年的变量 比如政策是Rights 解释变量是A
  • python情感词典_sentimentpy模块进行中文文本情感分类

    sentimentpy是我根据R语言的一个文本情感分析包sentiment进行开发的 开发的初衷有 R的sentiment已经被弃坑 没人维护 Python比R更擅长文本处理 sentiment包不支持中文 而sentimentpy包有如下