python应用(python与java)

受到TextBlob英文情感分析库的启发,国人开发的python中文情感分析类库SnowNLP,可以方便地处理中文文本内容,并且和TextBlob不同的是,SnowNLP类库没有用NLTK(来自宾夕法尼亚的自然语言处理库),所有的算法都是国人自己实现的,并且自带了一些训练好的字典 。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode 。MIT许可证下发行 。
【python应用(python与java)】接下来这一篇文章带你入门python环境搭载snownlp类库做中文语言情感分析 。
首先安装python环境(建议安装python3.6.5版本)snownlp类库,pip install snownlp即可 。示例代码如下:
from snownlp import SnowNLP# words:分词# tags:关键词集# sentiments:情感度分值# pinyin:拼音# keywords(limit):关键词(提取指定数量)# summary:关键句子# sentences:语序# tf:tf值# idf:idf值s=SnowNLP(u'这个东西真的很赞')print(s.words)print(s.sentiments)text = u'''采访人员从国家航天局获悉,科研团队根据“祝融号”火星车发回遥测信号确认,5月15日,天问一号着陆巡视器成功着陆于火星乌托邦平原南部预选着陆区,我国首次火星探测任务着陆火星取得圆满成功 。'''s=SnowNLP(text)#不只是情感分析,训练出的snownlp模型还有提取关键字,摘要等功能print(s.sentiments)print(s.keywords(3))print(s.summary(3))输出结果:
['这个', '东西', '真的', '很', '赞'] #print(s.words),所有分词输出 。
0.9673290508395309 #print(s.sentiments),本语句的情感积极性分值 。
0.14729768480923944 #print(s.sentiments),本段落情感积极性分值 。
['火星', '着陆', '成功'] #print(s.keywords(3)),提取三个关键词 。
['我国首次火星探测任务着陆火星取得圆满成功', '天问一号着陆巡视器成功着陆于火星乌托邦平原南部预选着陆区', '采访人员从国家航天局获悉']
#print(s.summary(3)),本段落的摘要 。
snownlp是对一个评论进行情感分析输出一个[0,1]之间的值,越高越表示评论越偏向于积极好的方面 。至此,简单的中文情感分析就完成了,还有更多的深层次应用将来的文章继续更新,请喜欢的小伙伴关注,点赞跟我一起学习 。(附图是MIT许可)