179

我什么时候使用每个?

另外... NLTK 词形还原是否依赖于词性?如果是这样不是更准确吗?

4

12 回答 12

160

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

词干提取和词形还原的目标都是将词的屈折形式和有时派生相关的形式减少为共同的基本形式。

但是,这两个词的味道不同。词干提取通常是指一种粗略的启发式过程,该过程会切断单词的结尾,以希望在大多数情况下正确地实现这一目标,并且通常包括删除派生词缀。词形还原通常是指使用词汇表和词的形态分析正确地做事,通常旨在仅删除屈折词尾并返回单词的基本或字典形式,这被称为引理。

来自 NLTK 文档:

词形还原和词干化是规范化的特殊情况。他们确定了一组相关词形的规范代表。

于 2009-11-24T00:52:12.483 回答
101

词形还原与词干密切相关。不同之处在于词干分析器在不了解上下文的情况下对单个单词进行操作,因此无法根据词性区分具有不同含义的单词。但是,词干分析器通常更容易实现并且运行速度更快,并且降低的准确性对于某些应用程序可能无关紧要。

例如:

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

  2. “walk”这个词是“walking”这个词的基本形式,因此这在词干提取和词形还原中都是匹配的。

  3. “会议”这个词可以是名词的基本形式,也可以是动词的形式(“见面”),这取决于上下文,例如,“在我们上次会议中”或“我们明天再见面”。与词干提取不同,词根化原则上可以根据上下文选择适当的词条。

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

于 2015-07-06T13:31:35.713 回答
33

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

  1. 如果您将“关怀”一词进行词形还原,它将返回“关怀”。如果您停止,它将返回“ Car ”,这是错误的。
  2. 如果您在动词上下文中对单词“ Stripes ”进行词形还原,它将返回“ Stripes ”。如果您在名词上下文中对其进行词形还原,它将返回“ Stripe ”。如果你只是阻止它,它只会返回' Strip '。
  3. 无论您将诸如walk 、running、swim之类的词进行词形还原或词干化,您都会得到相同的结果……to walk、run、swim等。
  4. 词形还原在计算上是昂贵的,因为它涉及查找表等等。如果您有大型数据集并且性能存在问题,请使用 Stemming。请记住,您还可以将自己的规则添加到词干。如果准确性是最重要的并且数据集不是巨大的,请使用 Lemmatization。
于 2020-01-15T13:54:01.993 回答
30

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

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

  2. 词形还原中,首先要确定一个词的词性,不同词性的归一化规则会有所不同,而词干分析器在不了解上下文的情况下对单个词进行操作,因此无法区分具有不同词性的词。意义取决于词性。

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

于 2015-11-14T03:05:05.223 回答
21

词干提取和词形还原的目的都是为了减少形态变异。这与更一般的“术语合并”程序形成对比,后者也可以处理词汇语义、句法或正字法的变化。

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

  1. 词干将词形简化为(伪)词干,而词形还原则将词形简化为语言上有效的引理。这种差异在具有更复杂形态的语言中很明显,但可能与许多 IR 应用程序无关;

  2. 词形还原仅处理屈折方差,而词干提取也可能处理派生方差;

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

为了消除同音异义词的歧义,词性标注器也可以支持词形还原。

于 2011-04-09T12:37:15.890 回答
15

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

至于何时使用其中一个,这取决于您的应用程序在多大程度上依赖于在上下文中正确理解单词的含义。如果您正在进行机器翻译,您可能需要词形还原以避免误译单词。如果您正在对超过 10 亿个文档进行信息检索,其中 99% 的查询范围为 1-3 个单词,那么您可以满足于词干提取。

至于 NLTK,WordNetLemmatizer 确实使用了词性,尽管您必须提供它(否则它默认为名词)。传递“dove”和“v”会产生“dive”,而“dove”和“n”会产生“dove”。

于 2009-11-24T04:07:18.503 回答
14
于 2015-10-23T11:07:23.573 回答
5

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

例子,

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

更多词干示例

词干可以很快完成。

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

例子,

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

更多词形还原示例

词形还原比词干化需要更多时间。

于 2020-05-18T18:30:54.543 回答
3

我认为 Stemming 是一种粗略的技巧,人们用来将同一个词的所有不同形式归结为基本形式,它本身不需要是合法词
像 Porter Stemmer 这样的东西可以使用简单的正则表达式来消除常见的词后缀

词形还原将单词归结为它的实际基本形式,在不规则动词的情况下,它可能看起来与输入词
完全不同

于 2009-11-24T00:54:18.890 回答
1

Stemming 和 Lemmatization 都生成了变形词的基础类型,因此唯一的区别是词干可能不是一个实际的词,而引理是一个实际的语言词。

词干提取遵循一种算法,其中包含对单词执行的步骤,从而使其更快。然而,在词形还原中,您还使用了语料库来提供词条,这使得它比词干化要慢。此外,您可能必须定义词性才能获得正确的引理。

以上几点表明,如果速度集中,则应使用词干提取,因为词形还原器扫描语料库会消耗时间和处理。这取决于您正在处理的问题决定是应该使用词干分析器还是词形还原器。欲了解更多信息,请访问链接: https ://towardsdatascience.com/stemming-vs-lemmatization-2daddabcb221

于 2022-01-04T10:44:54.710 回答
0

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

Lemmatization 超越了单词缩减,并考虑了一种语言的完整词汇表,以对单词进行形态分析。“was”的引理是“be”,“mice”的引理是“mouse”。

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

于 2021-06-24T13:42:13.100 回答
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

于 2021-05-02T05:57:36.973 回答