郭震 AI公众号:郭震AI

词干提取与词形还原区别:Stemming、Lemmatization 和 Python 示例

发布日期:

最近更新:

分类: NLP小白

预计阅读: 3 分钟

阅读次数: 0

预计阅读3 分钟
结构重点11 个
图文要点6 张
正文规模1.4k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 11 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

词干提取与词形还原流程图查看大图
词干提取与词形还原流程图

词形归一能减少词表稀疏,但也可能把不同含义的词合并。英文任务中尤其要区分粗糙词干和更准确的词形还原。

词干提取与词形还原实操核对图查看大图
词干提取与词形还原实操核对图

我会比较归一前后的词表和样例句。词表变小是好事,但不能牺牲关键语义。

在文本预处理的过程中,词干提取词形还原是两个重要的步骤。这两个技术帮助我们将单词归一化,以提高后续文本分析的效果。接下来,我们将详细探讨这两种技术的原理、实现方法及其应用案例。

词干提取

定义

词干提取词形还原判断卡查看大图
词干提取词形还原判断卡

比较 Stemming 和 Lemmatization 时,先看语言、词性、速度要求和是否需要保留真实词形。

词干提取是指将词语还原到其词干形式的过程。词干通常是单词的基本形式,可以认为是词语去掉后缀的结果。例如,单词“running”、“runner”和“ran”都可以归约为它们的词干“run”。词干提取的目的是将不同形式的相同词汇合并为一个统一的表示。

原理

词干提取通常依赖于一些启发式规则,使用下述算法,如:

  • Porter算法:这一经典算法通过一系列的规则来去除词语中的后缀。
  • Lancaster算法:更激进的算法,去除词语后缀的规则较多。

实现示例

以下是一个使用Python中的NLTK库进行词干提取的示例:

import nltk
from nltk.stem import PorterStemmer

# 初始化词干提取器
stemmer = PorterStemmer()

# 待处理的词汇
words = ["running", "runner", "ran", "easily", "fairly"]

# 进行词干提取
stems = [stemmer.stem(word) for word in words]

print("原始词汇:", words)
print("词干提取结果:", stems)

输出结果

原始词汇: ['running', 'runner', 'ran', 'easily', 'fairly']
词干提取结果: ['run', 'runner', 'ran', 'easi', 'fairli']

从输出可以看到,runningeasily的词干被提取为相应的基本形式,但runnerfairly并没有完全去掉后缀。这也正是词干提取的局限性,它有时可能无法返回完全合理的词语。

词形还原

定义

自然语言处理阅读地图卡查看大图
自然语言处理阅读地图卡

看完《词干提取与词形还原区别:Stemming、Lemmatization...》后,建议用一分钟复盘:关键概念是否分清、练习步骤是否可复现、结论能不能换成自己的话。

词形还原指的是将单词转换为其基本形式(或原型)的过程,通常涉及到语法和词义的分析。在这个过程中,running会被还原为run,而better会被还原为good。与词干提取不同,词形还原注重语义而非形式。

原理

词形还原通常依赖于丰富的词汇库,以便判断不同形态的单词之间的关系。主要算法包括:

  • WordNet词典:广泛应用于词形还原,支持多种语言的词汇。
  • SpaCy库:强大的自然语言处理库,具有内置的词形还原功能。

实现示例

以下是一个使用Python中的SpaCy库进行词形还原的示例:

import spacy

# 加载英文模型
nlp = spacy.load("en_core_web_sm")

# 待处理的词汇
words = ["running", "ran", "better", "good"]

# 进行词形还原
lemmas = [token.lemma_ for token in nlp(" ".join(words))]

print("原始词汇:", words)
print("词形还原结果:", lemmas)

输出结果

原始词汇: ['running', 'ran', 'better', 'good']
词形还原结果: ['run', 'run', 'good', 'good']

从输出结果可以明显看出,词形还原不仅将形式相似的单词还原为相同的基础形式,还可以处理更复杂的词汇变化,例如将better还原为good

词干提取与词形还原区别:Stemming、Lemmatization 和 Python 示例应用复盘卡查看大图
词干提取与词形还原区别:Stemming、Lemmatization 和 Python 示例应用复盘卡

复习《词干提取与词形还原区别:Stemming、Lemmatization 和 Python 示例》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。

词干提取与词形还原区别:Stemming、Lemmatization 和 Python 示例应用检查卡查看大图
词干提取与词形还原区别:Stemming、Lemmatization 和 Python 示例应用检查卡

练习《词干提取与词形还原区别:Stemming、Lemmatization 和 Python 示例》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。

小结

在文本预处理阶段,词干提取词形还原都有其独特的重要性。词干提取关注词语的形态变化,而词形还原则更倾向于语义一致性。选择哪个方法取决于具体的任务需求。

随着我们深入了解文本预处理的其他技术,比如词向量词袋模型,我们将能够更好地理解文本数据,并为后续的分析做好准备。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

词干提取与词形还原区别:Stemming、Lemmatization 和 Python 示例适合谁读?

这是 自然语言处理入门 系列第 9 / 30 篇,适合正在学习自然语言处理入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇自然语言处理入门教程要多久?

按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...