python

SnowNLP:一个强大的python中文文本处理库

2017-05-23  本文已影响3720人  某杰

背景

笔者由于最近做一个监控应用评论内容的项目,为满足需求,需要对抓取下来的应用评论做中文语义识别,结果搜出来的大部分都是仅限英文语义识别的库,搜好久才找到这个国人开发的中文文本处理库(包含语义识别功能),特此介绍给大家。

开源项目Github地址SnowNLP

安装

跟其他python类库一样,使用pip安装就行了

pip install snownlp

语义分析使用DEMO

# -*- coding: utf-8 -*-
#返回一段文本是积极的还是消极的
#@params: text
#@author: pyj 2017.03.24
#@return: 0~1 (语义积极的概率,越接近1情感表现越积极)

from snownlp import SnowNLP
import sys

if (len(sys.argv) != 2):
    print u"请确认输入参数!"
else:
    text = sys.argv[1].decode('utf-8')
    s = SnowNLP(text)
    print round(s.sentiments,2)

测试一哈

python test.py  '真的很赞赞赞'
1.0  
python test.py  '我不知道说什么,太难用了,我给差评'
0.1

语义分析再训练

用的时候,有时候可能会觉得有些语句分析出来的结果会不太准确,这时候你就需要更新语料库,再进行训练,这样下次分析出来的结果就更加准确了。下面介绍一下如何进行训练

首先准备两份语料文本,neg.txt(负面语料文本) pos.txt(积极语料文本)

# -*- coding: utf-8 -*-
from snownlp import sentiment

sentiment.train('neg.txt', 'pos.txt')
sentiment.save('sentiment.marshal')

再次把生成好的sentiment.marshal放入类库的/sentiment 就可以了

试用效果如下,分析各渠道应用市场评论内容的情感:

image.png

目前笔者也仅仅试用了情感分析的功能而已,其他功能欢迎读者自行试用,总之就是相当强大

上一篇 下一篇

猜你喜欢

热点阅读