今天修改了情感分析的程序发现之前有一些不足。这个最简单的实现一个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 情感分析相关推荐

  1. 线性时间选择 python实现 计算机算法设计与分析

    最近算法老师布置了很多作业啊,其中一项就是要求实现书上<计算机算法设计与分析>28页的算法,实现过程如下:

  2. python实现AHP算法(层次分析法)

    一.层次分析法原理 层次分析法(Analytic Hierarchy Process,AHP)由美国运筹学家托马斯·塞蒂(T. L. Saaty)于20世纪70年代中期提出,用于确定评价模型中各评价因 ...

  3. python k近邻算法_python中的k最近邻居算法示例

    python k近邻算法 K最近邻居(KNN) (K-Nearest Neighbors (KNN)) KNN is a supervised machine learning algorithm t ...

  4. python实现关联算法_python实现关联规则算法Apriori代码示例

    本篇文章小编给大家分享一下python实现关联规则算法Apriori代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 首先导入包含apriori ...

  5. python文字识别算法_Python图像处理之图片文字识别(OCR)

    OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以实现OCR 的底层库并不多,目前很多库都是使用共同的几 ...

  6. python求素数算法_Python程序最多可计算n个质数(使用不同算法)

    python求素数算法 There are various methods through which we can calculate prime numbers upto n. 我们可以通过多种方 ...

  7. python扫雷 高级算法_Python玩转算法—扫雷

    此题来自LeetCode上的一道难度为Medium的题,说是有一张玩到一半的扫雷地图,接下来给你指定一个点击位置,让你预测点击之后,地图将发生怎么样的变化.看到这道题,瞬间让我想起了以前玩扫雷的日子, ...

  8. python人脸识别算法_python人脸算法

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 若图片中包含多张人脸,只选取其中人脸面积最大的人脸. 支持png.jpg.jpe ...

  9. python数圈算法_Python实现随机爬山算法

    随机爬山是一种优化算法.它利用随机性作为搜索过程的一部分.这使得该算法适用于非线性目标函数,而其他局部搜索算法不能很好地运行.它也是一种局部搜索算法,这意味着它修改了单个解决方案并搜索搜索空间的相对局 ...

最新文章

  1. html5的在线播放页面,整理5款html5网页播放器,总有一款适合你吧
  2. SMOTE 过采样的API使用
  3. 一万字,关于产品「需求」阶段的思维公式,都在这儿了
  4. seajs的CMD模式的优势以及使用
  5. mysql新增阵列df_DF学Mysql(二)——数据表的基本操作
  6. c语言程序设计输入c,C语言程序设计(计算输入字符)
  7. MySQL存储过程权限检查主要点
  8. 如何成为有效学习的高手(许岑)——思维导图
  9. electron 打包后 __static_electron开发客户端注意事项(兼开源个人知识管理工具“想学吗”)...
  10. ubuntu server执行sudo出现no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory...
  11. Python的psutil模块监控内存代码
  12. 类图中表达总体与局部的关系_软件工程测试题3
  13. php上拉下拉 数据库加载,jquery使用iscorll实现上拉、下拉加载刷新
  14. Vue项目实战:电商后台管理系统(Vue+VueRouter+Axios+Element)
  15. flash发布html快捷键,flash快捷键大全
  16. windows 清除记录ftp账号
  17. python画名侦探柯南_Python实战爬B站 | 帮你梳理柯南主线剧情+弹幕
  18. 互联网30年,总有人正年轻
  19. linpack实验:MPI代码调优
  20. 二次型相似对角化的原因

热门文章

  1. php 赋值给 dom对象,详解PHP原生DOM对象操作XML的方法
  2. apache 配置 wss websocket打开握手超时_「Web应用架构」WebSocket介绍和WebSocket API
  3. 电导增量法matlab,基于变步长电导增量法MPPT研究.doc
  4. 轨迹压缩文献阅读 TrajStore: An Adaptive Storage System for Very Large Trajectory Data Sets
  5. Leetcode每日一题:226.invert-binary-tree(翻转二叉树)
  6. 安装依赖以及页面解析
  7. js将时间转换为时间戳
  8. HTTP/3 都来了,你却还在用 HTTP/1.1?
  9. 50行代码的MVVM,感受闭包的艺术
  10. 香港科技大学TensorFlow速成(1)