SnowNLP是国人开发的python类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。MIT许可下发行。

其 github 主页

我自己修改了上文链接中的python代码并加入些许注释,以方便你的理解:

from snownlp importSnowNLP#SnowNLP库:#words:分词#tags:关键词#sentiments:情感度#pinyin:拼音#keywords(limit):关键词#summary:关键句子#sentences:语序#tf:tf值#idf:idf值

s = SnowNLP(u'这个东西真心很赞')#s.words # [u'这个', u'东西', u'真心', u'很', u'赞']

print(s.words)

s.tags#[(u'这个', u'r'), (u'东西', u'n'), (u'真心', u'd')#, (u'很', u'd'), (u'赞', u'Vg')]

print(s.sentiments)#s.sentiments # 0.9769663402895832 positive的概率#s.pinyin # [u'zhe', u'ge', u'dong', u'xi', # u'zhen', u'xin', u'hen',#u'zan']4

s = SnowNLP(u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。')#s.han # u'「繁体字」「繁体中文」的叫法在台湾亦很常见。'

print(s.han)

from snownlp importSnowNLP

text= u'''自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。

它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。

自然语言处理是一门融语言学、计算机科学、数学于一体的科学。

因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,

所以它与语言学的研究有着密切的联系,但又有重要的区别。

自然语言处理并不是一般地研究自然语言,

而在于研制能有效地实现自然语言通信的计算机系统,

特别是其中的软件系统。因而它是计算机科学的一部分。'''s=SnowNLP(text)print(s.keywords(6)) #[u'语言', u'自然', u'计算机'] 不能用tags输出关键字.

s.summary(3) #[u'因而它是计算机科学的一部分', u'自然语言处理是一门融语言学、计算机科学、#数学于一体的科学', u'自然语言处理是计算机科学领域与人工智能领域中的一个重要方向']s.sentences#print(s.sentences)

print(s.sentiments) #1.0

s = SnowNLP([[u'这篇', u'文章'],

[u'那篇', u'论文'],

[u'这个']])#print(s.tf)#print(s.idf)#print(s.sim([u'文章'])) # [0.3756070762985226, 0, 0]

在编译运行之前,先得安装snownlp包,后续还有pylab,pandas模块:

在VS Code终端(查看->集成终端)里面输入:

pip install snownlp

pip install pylab

pip install pandas

前提是你安装了pip,若是pip没有安装可以查看我之前的 文章

在VS Code中我们可以右键模块名查看定义,便能看到模块的实现了.不得不说VS Code很强大,希望微软能这么一直走下去,走向开源走向跨平台!!

然后我随便提取了《心灵捕手》豆瓣网评,放在了txt中:

其实大多数情况下,大陆的译名比港译要更有味道。

It is not ur fault!

我是在电视上偶尔才看到这个电影的,当时看的时候真的很感人。 为什么会有这么天才的人,却有着这样子曲折的人生。

是认为剧本很好却没有被完全拍出来:) 对演员的表演还是心存质疑一点点~ 呵呵

好评

前几日刚刚看过,一部触动心灵的电影,寻找真正的人生

这篇影评写的很棒,我的眼睛湿润了

很好的片子

最后就是处理的程序了:

from snownlp importSnowNLPimportpandas as pdimportpylab as pl

txt= open('F:/_analyse_Emotion.txt')

text=txt.readlines()

txt.close()print('读入成功')

sentences=[]

senti_score=[]for i intext:

a1=SnowNLP(i)

a2=a1.sentiments

sentences.append(i)#语序...

senti_score.append(a2)print('doing')

table=pd.DataFrame(sentences, senti_score)#table.to_excel('F:/_analyse_Emotion.xlsx', sheet_name='Sheet1')#ts = pd.Series(sentences, senti_score)#ts = ts.cumsum()#print(table)

x = [1, 2, 3, 4, 5, 6, 7, 8]

pl.mpl.rcParams['font.sans-serif'] = ['SimHei']

pl.plot(x, senti_score)

pl.title(u'心 灵 捕 手 网 评')

pl.xlabel(u'评 论 用 户')

pl.ylabel(u'情 感 程 度')

pl.show()

最后的效果:

可能有些不准确,我也是随便提取的数据,不过snownlp还是号称情感分析准确很高的!

python snownlp_python snownlp情感分析简易demo相关推荐

  1. python景点情感分析代码_python snownlp情感分析简易demo(分享)

    SnowNLP是国人开发的python类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和T ...

  2. 基于python的情感分析案例-python snownlp情感分析简易demo(分享)

    SnowNLP是国人开发的python类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和T ...

  3. python情感分析预测模型_python snownlp情感分析简易demo

    SnowNLP是国人开发的python类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和T ...

  4. python snownlp评论分析_python snownlp情感分析简易demo

    SnowNLP是国人开发的python类库,能够方便的处理中文文本内容,是受到了TextBlob的启发而写的,因为如今大部分的天然语言处理库基本都是针对英文的,因而写了一个方便处理中文的类库,而且和T ...

  5. python评论情感分析步骤_python中snownlp情感分析简易的demo分享

    下面小编就为大家带来一篇python snownlp情感分析简易demo(分享).小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 SnowNLP是国人开发的python类 ...

  6. python snownlp情感分析_SnowNLP情感分析+生成词云

    本帖最后由 missy 于 2017-12-9 00:12 编辑 因为最近看了一下<致我们单纯的小美好>,虽然情节是有点"二"吧,但是看了觉得真的很怀念初高中的日子,一 ...

  7. 利用Python爬取《囧妈》豆瓣短评数据,并进行snownlp情感分析

    利用Python爬取<囧妈>豆瓣短评数据,并进行snownlp情感分析 一.电影评论爬取 今年的贺岁片<囧妈>上映前后,在豆瓣评论上就有不少网友发表了自己的观点,到底是好评的声 ...

  8. python微博评论情感分析_基于Python的微博情感分析系统设计

    2019 年第 6 期 信息与电脑 China Computer & Communication 软件开发与应用 基于 Python 的微博情感分析系统设计 王 欣 周文龙 (武汉工程大学邮电 ...

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

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

最新文章

  1. 工业4.0进行时:工业机器人为何能够快速爆发?
  2. java中的session对象,Java对象中Response与session对象的方法是什么?
  3. oracle rcu 安装,Oracle Fusion MiddlewareⅠ: 数据库和RCU
  4. 如何使用 sklearn 优雅地进行数据挖掘?
  5. 一个简单的PHP购物车系统
  6. 用Python看蜜雪冰城店铺在哪个省份最多~
  7. 京东健康CEO辛利军:感谢刘强东的战略格局和超前眼光
  8. 企业要想迅速壮大,不仅需要大量的人才
  9. 静态锁 java_为什么锁定对象必须是静态的?
  10. linux下包管理工具apt-get
  11. 编程软件哪个比较好用?
  12. 使用Wireshark抓包分析TCP协议
  13. C语言 之 if 语句
  14. 六、模块实现:用户管理模块(1)
  15. 精读Bi-Exponential Edge-Preserving Smoother
  16. 工具类 - 思维导图
  17. 自己写操作系统学习总结
  18. 163邮箱自动化登录实现模块化【1】
  19. 勾股定理计算机语言,勾股定理
  20. PHP目前市场怎么样,前景怎么样?

热门文章

  1. Linux常用的基本命令
  2. DuiLib 实现tooltip自定义鼠标提示窗口
  3. 图神经网络(GNN)的必读文章
  4. .NET后台字符中转JSON,和JSON字符串转对象
  5. proteus仿真控制电机正转、反转和停止转动
  6. MutationObserver api
  7. Metasploit(MSF)渗透测试框架使用教程及基本命令
  8. spring源码故事-面筋哥IoC容器的一天(上)
  9. 15 ArcGIS JS API 4.17更改测量控件黄白相间的默认样式
  10. 140版本 boost_怎么分辨阿迪UB3.0和UB4.0,boost各版本有什么区别?