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。
![]()
“点赞有美意,赞赏是鼓励”
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.