句子大全

句子大全 > 句子大全

转:SnowNLP中文文本分析器基本用法

句子大全 2020-06-29 11:14:01
相关推荐

发现一篇SnowNLP写的蛮好的一个示例:,可以去看看这个案例,能更好的理解。

github地址:

作者大人的博客地址:

感觉还是蛮有意思的,这个东西是自带了一个词库,然后还可以进行情感分析,把繁体化简,把中文变成汉语拼音,还可以提取关键字,提取摘要(这个感觉666),还可以进行文本分类,对文本的相似性进行判断。

1.安装:pip3 install snownlp

2.基本用法:

snownlpimportSnowNLPSnowNLPu一次满意的购物s.words

1 s.words 词语

2 s.sentences 句子

3 s.sentiments 情感偏向,0 1之间的浮点数,越靠近1越积极

4 s.pinyin 转为拼音

5 s.han 转为简体

6 s.keywordsn 提取关键字,n默认为5

7 s.summaryn 提取摘要,n默认为5

8 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 sentiment

sentiment.trainneg1.txt,pos1.txt

sentiment.savesentiment2.marshal

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新