SnowNLP 是一个专为中文文本处理设计的 Python 第三方库,提供分词、情感分析、关键词提取、文本分类、拼音转换、繁简转换等功能。其设计灵感来源于 TextBlob,但针对中文进行了深度适配,是中文 NLP 入门与快速构建原型的常用工具。

安装 :

pip install snownlp

常见应用场景:

(1)中文情感分析

识别文本的情绪倾向(正向/负向)。

(2)中文分词

将句子拆分为词语列表。

(3)关键词提取

根据 TF-IDF 自动抽取关键词。

(4)文本摘要

生成文章简短摘要。

(5)拼音转换

将中文文本转成普通话拼音。

(6)繁简转换

支持简体 ↔ 繁体互转。

(7)文本分类前处理

用于搜索引擎、推荐系统等中文处理任务。

◆ ◆

核心概念

1、SnowNLP 对象

核心类是 SnowNLP。只需传入中文文本,它会自动提供分词、情感、关键词等分析能力。

s = SnowNLP("我觉得这部电影非常精彩!")

SnowNLP 实例内部会:

• 自动进行中文编码处理

• 使用内置模型完成情感预测

• 提供各种自然语言处理方法(如 sentiments、keywords 等)

2、中文分词

SnowNLP 自带分词器,不依赖外部数据文件,可直接对句子进行词语切分。

3、情感分析(Sentiment Analysis)

SnowNLP 内置正/负向情绪模型,可以对句子输出一个 0~1 之间的情感倾向值。

• 接近 1 → 正面情绪

• 接近 0 → 负面情绪

4、文本摘要(Summarization)

对输入长文本进行句子评分,自动生成摘要。

5、拼音与繁简转换

基于内置字符映射,实现拼音转换(带声调)以及繁体汉字 ↔ 简体汉字互转。

◆ ◆

应用举例

例 1:中文情感分析

print(s.sentiments)  # 输出接近 1,正向情绪

示例输出:

0.9671997267761596   

例 2:中文分词

print(s.words)

示例输出:

['今天', '的', '天气', '真', '不错']

例 3:关键词提取

print(s.keywords(3))  # 提取 3 个关键词

示例输出:

['改变', '世界', '智能']

例 4:文本摘要生成

print(s.summary(2))  # 提取 2 句摘要

示例输出:

['人工智能技术在近年来取得了突破性进展', '各种机器学习模型、']

例 5:繁简转换

print(s.han)  # 简体输出

示例输出:

繁体中文输入测试

例 6:中文转拼音

print("原始拼音输出:", s.pinyin)

示例输出:

原始拼音输出: ['chang', 'sha', 'shi', 'yi', 'ge', 'mei', 'li', 'de', 'cheng', 'shi']

◆ ◆

常用类方法速览

SnowNLP(text)

创建 SnowNLP 对象。

参数

text:字符串或中文文本。

返回:SnowNLP 实例对象。

SnowNLP.words

中文分词结果。

返回:list(词语列表)。

SnowNLP.sentiments

情感倾向分数(0~1)。

返回:float。

SnowNLP.keywords(n)

提取关键词。

参数

n:提取数量。

返回:list(关键词列表)

SnowNLP.summary(n)

生成文本摘要。

参数

n:要输出的句子数量。

返回:list(摘要句子列表)。

SnowNLP.pinyin

文本转拼音。

返回:list(拼音字符串列表)。

SnowNLP.han

繁体转简体(或逆向)。

返回:str(转换后的字符串)。

小结

SnowNLP 是一个专注于中文处理的轻量级 NLP 工具库,提供分词、情感分析、关键词提取、文本摘要、拼音转换等多种实用能力。它无需额外数据文件,使用简单、学习成本低。

对于需要高性能或大规模 NLP 的任务,SnowNLP 也可以作为探索性工具快速验证想法,再迁移到更强大的框架如 jieba、HanLP、spaCy、transformers。

打开网易新闻 查看精彩图片

点赞有美意,赞赏是鼓励