词汇化与词干化之间的真正区别是什么?

时间:2009-11-24 00:48:12

标签: python nlp nltk lemmatization

我什么时候使用?

另外...... NLTK的词形还原取决于词性? 如果它是不是更准确?

11 个答案:

答案 0 :(得分:106)

短而密集:http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

  

词干化和词形还化的目标是将一个词的屈折形式和有时衍生相关的形式减少到一个共同的基础形式。

     

然而,这两个词的味道不同。词干通常指的是粗略的启发式过程,它会切断单词的末尾,以期在大多数时间内正确地实现这一目标,并且通常包括删除派生词缀。词形还原通常指的是使用词汇和词汇的形态分析来正确地做事,通常旨在仅删除屈折结尾并返回词的基础或词典形式,这被称为引理。

来自NLTK文档:

  

词形化和词干化是标准化的特殊情况。他们为一组相关的单词形式确定了规范代表。

答案 1 :(得分:55)

  

Lemmatisation 阻止密切相关。不同的是,a   词干分子在没有上下文知识的情况下操作一个单词,   因此不能区分具有不同的词   意思取决于词性。然而,通常使用提取器   更容易实现和运行更快,精度降低可能不会   某些应用程序的问题。

     

例如:

     
      
  1. “更好”这个词有“好”作为它的引理。这个链接错过了   词干,因为它需要字典查找。

  2.   
  3. 单词“walk”是单词“walking”的基本形式,因此也是如此   在词干和lemmatisation中都是匹配的。

  4.   
  5. “会面”一词可以是名词的基本形式,也可以是形式   一个动词(“见面”)取决于上下文,例如“在我们的最后一个   会议“或”我们明天再见面“。与词干不同,   lemmatisation原则上可以选择适当的引理   视具体情况而定。

  6.   

来源https://en.wikipedia.org/wiki/Lemmatisation

答案 2 :(得分:14)

词干化和词形化的目的是减少形态变异。这与更一般的“术语混淆”程序形成对比,后者也可以解决词汇语义,句法或正字形变化。

词干化和词形还原之间的真正区别有三个:

  1. 词干化将单词形式简化为(伪)词干,而词形词形式将单词形式减少为语言有效的词条。这种差异在形态更复杂的语言中很明显,但可能与许多IR应用无关;

  2. 词形还原只涉及屈折方差,而词干也可能处理派生方差;

  3. 在实现方面,词形还原通常更复杂(特别是对于形态复杂的语言)并且通常需要某种词汇。另一方面,满意的干预可以通过相当简单的基于规则的方法来实现。

  4. 词形还原还可以由词性标注器支持,以消除同义词的歧义。

答案 3 :(得分:13)

正如MYYN指出的那样,词干是将屈折的,有时是衍生词缀去除到所有原始词可能与之相关的基本形式的过程。词形还原涉及获得允许您将一堆变形形式组合在一起的单个词。这比词干更难,因为它需要考虑上下文(因此需要考虑单词的含义),而词干则忽略了上下文。

至于何时使用其中一个,这取决于你的应用程序取决于在上下文中正确理解单词的含义。如果您正在进行机器翻译,您可能希望使用词形还原来避免错误翻译单词。如果您正在对超过十亿个文档进行信息检索,其中99%的查询范围为1-3个单词,那么您就可以解决问题。

对于NLTK,WordNetLemmatizer确实使用了词性,但你必须提供它(否则它默认为名词)。通过它“鸽子”和“v”产生“潜水”,而“鸽子”和“n”产生“鸽子”。

答案 4 :(得分:13)

有两个方面可以显示它们之间的区别:

  1. 词干分析器将返回单词的词干,它不需要与单词的形态词根相同。通常,相关单词映射到同一个词干就足够了,即使词干本身不是有效词根,而在 lemmatisation 中,它将返回词的词典形式,这必须是有效的字。

  2. lemmatisation 中,应首先确定单词的词性,并且不同词性的归一化规则会有所不同,而词干在不知道上下文的情况下对单个单词进行操作,因此不能根据词性来区分具有不同含义的单词。

  3. 参考http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization

答案 5 :(得分:6)

关于词形化与词干化之间差异的示例驱动解释:

词根化处理将“car”与“cars”匹配 将“汽车”与“汽车”相匹配。

词根处理将“car”与“cars”匹配

  

词形简化意味着更广泛的模糊词匹配   仍然由相同的子系统处理。它意味着某些技术   用于发动机内的低水平处理,也可能反映出   工程对术语的偏好。

     

[...]以FAST为例,   他们的词形还原引擎不仅可以处理基本的单词变体   单数与复数,但同义词运营商喜欢“热”   匹配“温暖”。

     

这并不是说其他​​引擎当然不处理同义词   他们这样做,但低级别的实施可能会有所不同   子系统比那些处理基础干预的子系统。

http://www.ideaeng.com/stemming-lemmatization-0601

答案 6 :(得分:4)

词干只是删除或阻止单词的最后几个字符,通常会导致错误的含义和拼写。 合法化考虑上下文,并将单词转换为其有意义的基本形式,即Lemma。有时,同一个词可以有多个不同的引词。我们应该在特定的上下文中为单词识别词性(POS)标签。以下示例说明了所有差异和用例:

  1. 如果您对“ 关怀”一词进行去词化,它将返回“ 护理”。如果您阻止,它将返回“ 汽车”,这是错误的。
  2. 如果您在动词上下文中对单词' Stripes '进行脱模,它将返回' Strip '。如果您在名词上下文中对其进行脱词,它将返回' Stripe '。如果您仅阻止它,它将仅返回“ Strip ”。
  3. 无论您对诸如步行,跑步,游泳 ...这样的单词进行词缀化或词干化,还是步行,跑步,游泳
  4. ,您都会得到相同的结果。 合法化在计算上是昂贵的,因为它涉及查找表,而不涉及查找表。如果您的数据集很大并且性能是一个问题,请使用Stemming。请记住,您也可以将自己的规则添加到“词干”中。如果准确性至高无上,并且数据集不那么庞大,请使用Lemmatization。

答案 7 :(得分:3)

ianacl
但是我认为Stemming是一个粗暴的黑客,人们用它来将同一个词的所有不同形式都归结为一个基本形式,而这个形式本身并不是一个合法的词。 像Porter Stemmer这样的东西可以使用简单的正则表达式来消除常见的单词后缀

词形简化会将一个词降低到它的实际基本形式,在不规则动词的情况下,它可能看起来与输入词不同 像Morpha这样的东西,它使用FST将名词和动词带到它们的基本形式

答案 8 :(得分:3)

加词法是删除给定单词的最后几个字符以获得较短形式的过程,即使该形式没有任何意义。

示例

"beautiful" -> "beauti"
"corpora" -> "corpora"

More examples of stemming

打标可以很快完成。

另一方面,合法化是根据单词的字典含义将给定单词转换为基本形式的过程。

示例

"beautiful" -> "beauty"
"corpora" -> "corpus"

More examples of lemmatization

合法化比阻止合法化要花费更多时间。

答案 9 :(得分:0)

黄等人。描述词干和词形还原如下。选择取决于问题和计算资源的可用性。

<块引用>

词干识别通过删除或替换词后缀来识别单词的常见词根形式(例如,“flooding”被词干为“flood”),而词形还原识别单词的屈折形式并返回其基本形式(例如“better”词形还原为“好”)。

Huang, X.、Li, Z.、Wang, C. 和 Ning, H.(2020 年)。识别与灾难相关的社交媒体以进行快速响应:视觉文本融合的 CNN 架构。国际数字地球杂志,13(9),1017-1039。 https://doi.org/10.1080/17538947.2019.1633425

答案 10 :(得分:0)

词干 是产生词根/基词的形态变体的过程。词干提取程序通常称为词干提取算法或词干提取器。 通常在搜索特定关键字的文本时,如果搜索返回该词的变体,会有所帮助。 例如,搜索“boat”也可能返回“boats”和“boating”。在这里,“boat”将是 [boat、boater、boating、boats] 的词干。

词形还原 超越单词简化,考虑语言的完整词汇,对单词进行形态分析。 “was”的引理是“be”,“mice”的引理是“mouse”。

我确实参考了这个链接, https://towardsdatascience.com/stemming-vs-lemmatization-2daddabcb221