python情感分析算法_Python 情感分析
今天修改了情感分析的程序发现之前有一些不足。这个最简单的实现一个string情感分析的小函数,加载了积极词典,消极词典,程度词典,以及一些反转词等的词典。这里我没有做符号的分析和判断,因为的东西暂时用不到,需要的童鞋可以自己添加。。。
由于这里不能放文件所以…我放到网盘啦,,哇哇哇 链接: http://pan.baidu.com/s/1mhDqfWG 密码: vm38
import jieba
import cPickle as pickle
"""载入情感词典"""
g_pos_dict = pickle.load(open("../sentiment_dic/posdict.pkl", "r"))
g_neg_dict = pickle.load(open("../sentiment_dic/negdict.pkl", "r"))
g_most_dict = pickle.load(open("../sentiment_dic/mostdict.pkl", "r"))
g_more_dict = pickle.load(open("../sentiment_dic/moredict.pkl", "r"))
g_very_dict = pickle.load(open("../sentiment_dic/verydict.pkl", "r"))
g_ish_dict = pickle.load(open("../sentiment_dic/ishdict.pkl", "r"))
g_insufficient_dict = pickle.load(open("../sentiment_dic/insufficentdict.pkl", "r"))
g_inverse_dict = pickle.load(open("../sentiment_dic/inversedict.pkl", "r"))
def emotion_test(string):
"""情感分析函数"""
words = list(jieba.cut(string))
a = 0 # 记录情感词位置
poscount = 0 # 积极词的分值
poscount3 = 0 # 积极词最后分值
negcount = 0
negcount3 = 0
for index, word in enumerate(words):
word = word.encode("utf8")
if word in g_pos_dict: # 判断词语是否是积极情感词
poscount += 1
c = 0 # 反转词
for w in words[a:index]:
w = w.encode("utf8")
if w in g_most_dict:
poscount *= 4.0
elif w in g_very_dict:
poscount *= 3.0
elif w in g_more_dict:
poscount *= 2.0
elif w in g_ish_dict:
poscount /= 2.0
elif w in g_insufficient_dict:
poscount /= 4.0
elif w in g_inverse_dict:
c += 1
if c % 2 == 1:
poscount *= -1.0
poscount3 += poscount
poscount = 0
a = index + 1 # 情感词的位置变化
elif word in g_neg_dict: # 消极情感
negcount += 1
d = 0 # 反转词
for w in words[a:index]:
w = w.encode("utf8")
if w in g_most_dict:
negcount *= 4.0
elif w in g_very_dict:
negcount *= 3.0
elif w in g_more_dict:
negcount *= 2.0
elif w in g_ish_dict:
negcount /= 2.0
elif w in g_insufficient_dict:
negcount /= 4.0
elif w in g_inverse_dict:
d += 1
if d % 2 == 1:
negcount *= -1.0
negcount3 += negcount
negcount = 0
a = index + 1
if poscount3 <= 0 and negcount3 <= 0:
t = poscount3
poscount3 = -negcount3
negcount3 = -t
elif poscount3 <= 0 and negcount3 >= 0:
negcount3 -= poscount3
poscount3 = 0
elif poscount3 >= 0 and negcount3 <= 0:
poscount3 -= negcount3
negcount3 = 0
return poscount3, negcount3
print emotion_test("我真的非常的烦心")
python情感分析算法_Python 情感分析相关推荐
- 线性时间选择 python实现 计算机算法设计与分析
最近算法老师布置了很多作业啊,其中一项就是要求实现书上<计算机算法设计与分析>28页的算法,实现过程如下:
- python实现AHP算法(层次分析法)
一.层次分析法原理 层次分析法(Analytic Hierarchy Process,AHP)由美国运筹学家托马斯·塞蒂(T. L. Saaty)于20世纪70年代中期提出,用于确定评价模型中各评价因 ...
- python k近邻算法_python中的k最近邻居算法示例
python k近邻算法 K最近邻居(KNN) (K-Nearest Neighbors (KNN)) KNN is a supervised machine learning algorithm t ...
- python实现关联算法_python实现关联规则算法Apriori代码示例
本篇文章小编给大家分享一下python实现关联规则算法Apriori代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 首先导入包含apriori ...
- python文字识别算法_Python图像处理之图片文字识别(OCR)
OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以实现OCR 的底层库并不多,目前很多库都是使用共同的几 ...
- python求素数算法_Python程序最多可计算n个质数(使用不同算法)
python求素数算法 There are various methods through which we can calculate prime numbers upto n. 我们可以通过多种方 ...
- python扫雷 高级算法_Python玩转算法—扫雷
此题来自LeetCode上的一道难度为Medium的题,说是有一张玩到一半的扫雷地图,接下来给你指定一个点击位置,让你预测点击之后,地图将发生怎么样的变化.看到这道题,瞬间让我想起了以前玩扫雷的日子, ...
- python人脸识别算法_python人脸算法
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 若图片中包含多张人脸,只选取其中人脸面积最大的人脸. 支持png.jpg.jpe ...
- python数圈算法_Python实现随机爬山算法
随机爬山是一种优化算法.它利用随机性作为搜索过程的一部分.这使得该算法适用于非线性目标函数,而其他局部搜索算法不能很好地运行.它也是一种局部搜索算法,这意味着它修改了单个解决方案并搜索搜索空间的相对局 ...
最新文章
- html5的在线播放页面,整理5款html5网页播放器,总有一款适合你吧
- SMOTE 过采样的API使用
- 一万字,关于产品「需求」阶段的思维公式,都在这儿了
- seajs的CMD模式的优势以及使用
- mysql新增阵列df_DF学Mysql(二)——数据表的基本操作
- c语言程序设计输入c,C语言程序设计(计算输入字符)
- MySQL存储过程权限检查主要点
- 如何成为有效学习的高手(许岑)——思维导图
- electron 打包后 __static_electron开发客户端注意事项(兼开源个人知识管理工具“想学吗”)...
- ubuntu server执行sudo出现no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory...
- Python的psutil模块监控内存代码
- 类图中表达总体与局部的关系_软件工程测试题3
- php上拉下拉 数据库加载,jquery使用iscorll实现上拉、下拉加载刷新
- Vue项目实战:电商后台管理系统(Vue+VueRouter+Axios+Element)
- flash发布html快捷键,flash快捷键大全
- windows 清除记录ftp账号
- python画名侦探柯南_Python实战爬B站 | 帮你梳理柯南主线剧情+弹幕
- 互联网30年,总有人正年轻
- linpack实验:MPI代码调优
- 二次型相似对角化的原因
热门文章
- php 赋值给 dom对象,详解PHP原生DOM对象操作XML的方法
- apache 配置 wss websocket打开握手超时_「Web应用架构」WebSocket介绍和WebSocket API
- 电导增量法matlab,基于变步长电导增量法MPPT研究.doc
- 轨迹压缩文献阅读 TrajStore: An Adaptive Storage System for Very Large Trajectory Data Sets
- Leetcode每日一题:226.invert-binary-tree(翻转二叉树)
- 安装依赖以及页面解析
- js将时间转换为时间戳
- HTTP/3 都来了,你却还在用 HTTP/1.1?
- 50行代码的MVVM,感受闭包的艺术
- 香港科技大学TensorFlow速成(1)