SnowNLP是一个常用的Python文本分析库,是受到TextBlob启发而发明的。由于当前自然语言处理库基本都是针对英文的,而中文没有 空格分割特征词,Python做中文文本挖掘较难,后续开发了一些针对中文处理的库,例如SnowNLP、Jieba、BosonNLP等。注意 SnowNLP处理的是unicode编码,所以使用时请自行decode成unicode。
Snownlp主要功能包括:
jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组;除此之外,jieba 库还提供了增加自定义中文单词的功能。
比较SnowNLP和jieba库的分词效果:
from snownlp import SnowNLP
import jieba
s1 = SnowNLP(u"这本书的质量真不太好!")
print("SnowNLP:")
print(" ".join(s1.words))
s2 = jieba.cut(u"这本书的质量真不太好!", cut_all=False)
print("jieba:")
print(" ".join(s2))