自然语言处理之 snownlp,分词、词性标注、情感分析、文本分类、提取关键词、文本相似度

本文介绍了SnowNLP在自然语言处理中的应用,包括中文分词、词性标注、情感分析、文本分类和关键词提取。通过示例展示了如何使用SnowNLP进行情感分析,统计情感分布,以及如何训练自定义模型。此外,还简要解析了SnowNLP的情感分析源码,核心算法基于贝叶斯模型。
摘要由CSDN通过智能技术生成

情感分析的基本流程通常包括:

  • 自定义爬虫抓取文本信息;
  • 使用Jieba工具进行中文分词、词性标注;
  • 定义情感词典提取每行文本的情感词;
  • 通过情感词构建情感矩阵,并计算情感分数;
  • 结果评估,包括将情感分数置于0.5到-0.5之间,并可视化显示。

SnowNLP

SnowNLP是一个常用的Python文本分析库,是受到TextBlob启发而发明的。由于当前自然语言处理库基本都是针对英文的,而中文没有空格分割特征词,Python做中文文本挖掘较难,后续开发了一些针对中文处理的库,例如SnowNLP、Jieba、BosonNLP等。注意SnowNLP处理的是unicode编码,所以使用时请自行decode成unicode。

Snownlp主要功能包括:

  • 中文分词(算法是Character-Based Generative Model)
  • 词性标注(原理是TnT、3-gram 隐马)
  • 情感分析
  • 文本分类(原理是朴素贝叶斯)
  • 转换拼音、繁体转简体
  • 提取文本关键词(原理是TextRank)
  • 提取摘要(原理是TextRank)、分割句子
  • 文本相似(原理是BM25)

安装和其他库一样,使用pip安装即可。

pip install snownlp

1、snownlp 常见功能及用法:

# -*- coding: utf-8 -*-
from snownlp import SnowNLP
s = SnowNLP(u"这本书质量真不太好!")

print("1、中文分词:\n",s.words)   
""" 
中文分词:
这 本书 质量 真 不 太 好 !
 """


print("2、词性标注:\n",s.tags)


print("3、情感倾向分数:\n",s.sentiments)
"""
情感分数:
0.420002029202
"""
  • 26
    点赞
  • 333
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值