词干提取基于规则、相对原始的操作,使用一些基本规则,可以有效地将任何token进行削减,得到其主干;比如eat具有不同地变体,e.g.eating eaten eats。在大部分时候,在这些变体之间做区分没有意义。因此需要stemming将单词归结到单词的根。

对于一些复杂的NLP任务,有必要使用词形还原lemmatization代替stemming,词形还原更健壮,结合语法变体,得到单词的根

词形还原:使用一种更有条理的方式,根据给每个单词的词性,应用不同的标准化规则,得到词根单元(词元)

区别:

词干提取(stemming)是抽取词的词干或词根形式(不一定能够表达完整语义)

词形还原(lemmatization),是把一个任何形式的语言词汇还原为一般形式(能表达完整语义)

词形还原和词干提取是词形规范化的两类

注意:当使用一些NLP标注器的时候,词干提取和词形还原会修改token所以会产生不同的结果,这时候就以应该避免使用词干提取和词形还原

Stemming/Lemmatization in NLTK

WORD

#词干提取
from nltk import PorterStemmer
pst=PorterStemmer()
print(pst.stem("eating"))
print(pst.stem("ate"))#词形还原
from nltk.stem import WordNetLemmatizer
wlem=WordNetLemmatizer()
print(wlem.lemmatize("eating"))
print(wlem.lemmatize("ate"))output:
PS C:\Users\HUST> & python "d:/NLTK Spacy学习/NLTK_learning.py"
eat
ate
eating
ate

SENTENCE

import nltkfrom nltk.stem import PorterStemmer
from nltk.stem import WordNetLemmatizernltk.download('punkt')text= "Dancing is an art. Students should be taught dance as a subject in schools . I danced in many of my school function. Some people are always hesitating to dance."stemmed_token=[]
pts=PorterStemmer()
for i in nltk.word_tokenize(text):stemmed_token.append(pts.stem(i))
print(' '.join(stemmed_token))
print()lemma_token=[]
wnl=WordNetLemmatizer()
for i in nltk.word_tokenize(text):lemma_token.append(wnl.lemmatize(i))
print(' '.join(lemma_token))output:
stemming:
danc is an art . student should be taught danc as a subject in school . I danc in mani of my school function . some peopl are alway hesit to danc .lemmatization:
Dancing is an art . Students should be taught dance a a subject in school . I danced in many of my school function . Some people are always hesitating to dance .

Stemming词干提取 和 Lemmatization 词形还原相关推荐

  1. 自然语言表达处理笔记01—— 1.正则表达式 2.文本标记化 3.词干提取和词形还原 4.中文分词

    正则表达式 正则表达式使用某种预定义的模式 匹配 具有共同特征的字符串:主要用于处理字符串.完成复杂的查找.替换等要求 对字符串和特殊字符操作的逻辑公式 单个字符串描述匹配一系列复合某个句法规则的字符 ...

  2. 自然语言处理——词性标注、词干提取、词形还原

    目录 词性标注 方法 工具 实例 词干提取和词形还原 算法 步骤 词性标注 一般而言,文本里的动词可能比较重要,而助词可能不太重要: 我今天真好看 我今天真好看啊 甚至有时候同一个词有着不同的意思: ...

  3. NLTK(3)处理文本、分词、词干提取与词形还原

    文章目录 访问文本 @字符串处理 @编码 @正则表达式 分词 @正则表达式分词(不好) Tokenize命令 @自定义函数 规范化文本 将文本转换为小写 查找词干 @自定义函数(不好) NLTK词干提 ...

  4. NLP:自然语言处理技术之词语级别相关术语解释(如上位词/WordNet)、基于词汇层面的词法分析六大任务(分词/词性标注/词干提取-词形还原/新词发现/形态分析/拼写校正)的简介及其应用

    NLP:自然语言处理技术之词语级别相关术语解释(如上位词/WordNet).基于词汇层面的词法分析(Lexical Analysis)六大任务(分词/词性标注/词干提取-词形还原/新词发现/形态分析/ ...

  5. 词形变换和词干提取工具(英文)

    转载自: http://www.cnblogs.com/kaituorensheng/p/3437807.html 词形变换和词干提取工具(英文) 在信息检索和文本挖掘中,需要对一个词的不同形态进行归 ...

  6. java lucene词干提取_词形变换和词干提取工具(英文)

    在信息检索和文本挖掘中,需要对一个词的不同形态进行归并,即词形规范化,从而提高文本处理的效率.例如:词根run有不同的形式running.ran另外runner也和run有关.这里涉及到两个概念: 词 ...

  7. java 分词获取词性,英文分词的关键:词性还原和词干提取

    人工智能时代,能让计算机自动化进行文字语义理解非常重要,因此,进行语义理解的第一步--如何正确地根据语义完成词语切分(即分词)就是一个非常具有挑战性的任务,一旦切词发生失误,会导致后续的文本处理产生连 ...

  8. 3.3.1-取词干和词形还原

    目录 取词干和词形还原 取词干 实例 词形还原 取词干和词形还原 是词形归并. 目的:减少词的变化形式,将派生词转化为基本形式. 优点1:字典中词条的数量就会降低,用于表示文档的向量维度更低,模型的数 ...

  9. (1)英文分词——波特词干提取算法

    英文分词相比中文分词要简单得多,可以根据空格和标点符号来分词,然后对每一个单词进行词干还原和词形还原,去掉停用词和非英文内容.词干还原算法最经典的就是波特算法(Porter Algorithm官网ht ...

  10. Java基于stanford-corenlp实现英文词形还原

    本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. 文章目录 简介 stanford-corenlp jav ...

最新文章

  1. Leetcode 分类 题解 收集
  2. class mywnd : pubic qwidget是什么意思_学了这么久java反射,你知道class.forName和classloader的区别吗?...
  3. 如何在Flutter(REST API)中进行API调用
  4. java 本地方法栈_Java虚拟机栈和本地方法栈
  5. Oracle SQL精妙SQL语句讲解(二)
  6. 378. Kth Smallest Element in a Sorted Matrix
  7. Juniper Olive动态路由RIP配置案例
  8. [BZOJ 2659] [Beijing wc2012] 算不出的算式
  9. python核心编程:第六章。
  10. 通过Linux的rpm方式安装mysql
  11. 【心电信号】基于matlab NLM时间序列心电信号去噪【含Matlab源码 1547期】
  12. 使用BabeLua在VS中创建Lua项目
  13. matlab 蜗杆轮廓,基于MATLAB的直廓环面蜗杆的可视化
  14. 手机 android.downloader病毒,downloader病毒是什么
  15. 如何更新您的Nintendo Switch
  16. 全球及中国IC卡水表行业销售策略及竞争趋势预测报告(2022-2027)
  17. Qt / PyQt 简易毛玻璃效果
  18. day01 HTMLCSS
  19. 【机器人基础】机器人阻抗控制概念
  20. POJ 2491 Scavenger Hunt 解题报告 再次利用map判重

热门文章

  1. 微信app用户及市场调研
  2. 计算机fdd,FDD 文件扩展名: 它是什么以及如何打开它?
  3. 一种适用于FDD+TDD基站天线阵列的多天线共存方式
  4. 木耳炒什么好吃 木耳的做法
  5. 一阶系统开环传递函数表达式_自动控制总结:第五章、线性系统的校正方法
  6. css 设置背景色渐变、字体颜色渐变
  7. 第一行代码读书笔记___3章
  8. 可视化html css布局,一个开源可视化布局项目,在线生成纯css布局,可阅读的代码...
  9. java计算工作日,排除周末以及法定假日
  10. 为发泄对上司不满,百度95后程序员删库被判9个月