SnowNLP情感分析使用教程(中文文本处理库)

SnowNLP情感分析使用教程(中文文本处理库)

SnowNLP简介

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

SnowNLP特性

  • 中文分词(Character-Based Generative Model)
  • 词性标注(TnT 3-gram 隐马)
  • 情感分析(现在训练数据主要是买卖东西时的评价,所以对其他的一些可能效果不是很好,待解决)
  • 文本分类(Naive Bayes)
  • 转换成拼音(Trie树实现的最大匹配)
  • 繁体转简体(Trie树实现的最大匹配)
  • 提取文本关键词(TextRank算法)
  • 提取文本摘要(TextRank算法)
  • tf,idf
  • Tokenization(分割成句子)
  • 文本相似(BM25)
  • 支持python3(感谢erning)

SnowNLP作者

  • http://www.isnowfy.com/
  • https://github.com/isnowfy/snownlp

SnowNLP使用介绍

代码一(分词,词性,情感):

代码一输出:

代码二(主题词,摘要,情感):

代码二输出:

SnowNLP训练介绍

代码一:

代码一使用默认词库输出:

代码一使用自定义标注词库训练输出:

1、cd /usr/local/lib/python2.7/dist-packages/snownlp/sentiment

2、积极词库pos.txt尾部增加

  • 牛逼
  • 666666
  • 风骚走位

3、消极词库neg.txt尾部增加

  • 菜鸡
  • 迷之走位
  • 大招放空
  • 失败

4、训练,保存为sentiment.marshal.2

5、切换成新训练集。vim __init__.py

data_path处修改为sentiment.marshal.2

6、

SnowNLP情感测试

大数据测试集,测试了约18w负向(%90+精准)聊天数据集,SnowNlp默认词库准确率大概在%68-%75左右。

by:cpp.la

 

2 Replies to “SnowNLP情感分析使用教程(中文文本处理库)”

  1. 想问:积极词库和消极词库的尾部增加是直接打开文本文档输入增加吗?

    1. 对,自己加入pos 词库,neg 词库即可。词库越准确,越接近真实情感。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注