提供者:董文伟
1:下载地址
https://github.com/isnowfy/snownlp
2:工具简介
SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。
关于功能:
• 中文分词(Character-Based Generative Model)
• 词性标注(TnT 3-gram 隐马)
• 情感分析(现在训练数据主要是买卖东西时的评价,所以对其他的一些可能效果不是很好,待解决)
• 文本分类(Naive Bayes)
• 转换成拼音(Trie树实现的最大匹配)
• 繁体转简体(Trie树实现的最大匹配)
• 提取文本关键词(TextRank算法)
• 提取文本摘要(TextRank算法)
• tf,idf
• Tokenization(分割成句子)
• 文本相似(BM25)
• 支持python3(感谢erning)
关于训练:
现在提供训练的包括分词,词性标注,情感分析,而且都提供了我用来训练的原始文件 以分词为例 分词在snownlp/seg目录下
from snownlp import seg
seg.train(‘data.txt’)
seg.save(‘seg.marshal’)
#from snownlp import tag
#tag.train(‘199801.txt’)
#tag.save(‘tag.marshal’)
#from snownlp import sentiment
#sentiment.train(‘neg.txt’, ‘pos.txt’)
#sentiment.save(‘sentiment.marshal’)
这样训练好的文件就存储为seg.marshal了,之后修改snownlp/seg/init.py里的data_path指向刚训练好的文件即可
2:使用教程
1:编译和安装
方法一:
将github上的安装文件下载到服务器,运行python setup.py进行安装
方法二:
在命令窗口cmd下面运行pip install snownlp
2:使用方法
1:分词
首先import SnowNLP 将句子放入SnowNLP;输出s.words
2:词性标注
首先import SnowNLP 将句子放入SnowNLP;输出s.tags
3:情绪判断
返回值为正面情绪的概率,
越接近1表示正面情绪
越接近0表示负面情绪
4:关键词抽取
3:相关论文
欧阳效福. 基于游客微博“大数据”分析的厦门旅游环境意象研究[D]. 厦门大学, 2016.