中文分词、去停用词、发现新词

2018-01-20  本文已影响3981人  废柴社

NLP涵盖的内容较多,分词是基础,特别是对中文来说。

中文分词

目前使用过snownlp、jieba,简单对比下,jieba的默认模识更好用,snownlp分的过细了。 不过相对jieba分词,snownlp 的主要用途应该在于情感评分,在处理电商评论的评分时效果还可以。

# snownlp 分词
for item in df_rate:
    s = SnowNLP(item)
    print(s.words)

#jieba分词
for item in df_rate:
    print("  ".join(jieba.cut(item)))

结果对比

snownlp
['给', '个', '全', '五', '分', '好评', ',', '一直', '在', '这里', '买', '这个', '奶粉', '。']
['奶粉', '宝贝', '吃', '的', '挺', '好']
['一直', '这个', '牌子', ',', '宝贝', '爱', '喝', ',', '好评']
['比', '实体', '店', '便宜', '两', '块', '钱', '!', '但是', '味道', '好', '像', '不', '太', '一样', '!!']

jieba
给 个 全 五分 好评 , 一直 在 这里 买 这个 奶粉 。
奶粉 宝贝 吃 的 挺 好
一直 这个 牌子 , 宝贝 爱喝 , 好评
比 实体店 便宜 两块钱 ! 但是 味道 好像 不太 一样 ! !

jieba分词的优势比较明显,“词”保留的很好。

去停用词

关键在于停用词表的维护。有了停用词表,实际使用时,在分词之后,若分词结果中包含停用词则直接剔掉。

目前网上停用词表较多,哈工大停用词表、百度停用词表等均较常见。

但针对具体业务,可以按业务需要,专门整理对业务无帮助或无意义的词。甚至停用“句”——如针对电商的“此用户没有发表评论。”

发现新词

jieba分词本身是带有发现新词算法的,有机会再深究。

另外,jieba也支持导入自定义词库。

凝固度、自由度参考自 用 Python 分析《红楼梦》

上一篇下一篇

猜你喜欢

热点阅读