转:SnowNLP中文文本分析器基本用法
句子大全 2020-06-29 11:14:01
发现一篇SnowNLP写的蛮好的一个示例:,可以去看看这个案例,能更好的理解。
github地址:作者大人的博客地址:感觉还是蛮有意思的,这个东西是自带了一个词库,然后还可以进行情感分析,把繁体化简,把中文变成汉语拼音,还可以提取关键字,提取摘要(这个感觉666),还可以进行文本分类,对文本的相似性进行判断。1.安装:pip3 install snownlp2.基本用法:snownlpimportSnowNLPSnowNLPu一次满意的购物s.words1 s.words 词语2 s.sentences 句子3 s.sentiments 情感偏向,0 1之间的浮点数,越靠近1越积极4 s.pinyin 转为拼音5 s.han 转为简体6 s.keywordsn 提取关键字,n默认为57 s.summaryn 提取摘要,n默认为58 s.tf 计算termfrequency词频9 s.idf 计算inverse documentfrequency逆向文件频率10 s.simdoc,index 计算相似度这个sim的话,后面跟的是一个可以迭代的东西。2.训练:训练的文本是有要求的。1分词比如说你要进行分词的话,首先先from snownlp importseg,然后通过seg.data path可以看到词典的路径。我的路径是:/usr/local/lib/python3.6/site packages/snownlp/seg/seg.marshal然后你可以看到在同一个目录下,有个data.txt,这个就是训练的样本,打开样本可以发现:迈/b 向/e 充/b 满/e 希/b 望/e 的/s 新/s 世/b 纪/e中/b 共/m 中/m 央/e 总/b 书/m 记/e这样的句子其中b代表begin,m代表middle,e代表end,分别代表一个词语的开始,中间词和结尾,s代表single,一个字是一个词的意思。将训练样本放入data1.txt中,进行训练:seg.traindata1.txt如果下次还需要使用的话,将结果保留到seg2.marshal当中,使用的时候只要更改data path改为seg2.marshal的路径即可。2)情感分析和上面一样,能看到/usr/local/lib/python3.6/site packages/snownlp/sentiment里面有2个txt文件,neg.txt和pos.txt,这两个里放的是负向情感和正向情感的句子。所以在训练的时候也只需要这样子放入句子即可。from snownlp import sentimentsentiment.trainneg1.txt,pos1.txtsentiment.savesentiment2.marshal阅读剩余内容