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

TIM*_*MEX 108 python nlp nltk lemmatization

我什么时候使用?

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

mik*_*iku 107

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

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

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

来自NLTK文档:

词形还原和词干化是标准化的特例.他们为一组相关的单词形式确定了规范代表.

  • 这并不能完全回答问题。您没有解释何时使用哪个。两者都可以用于标准化,但通常您选择哪一个是精度和速度之间的权衡。 (2认同)

Muk*_*ain 58

Lemmatisation词干密切相关.不同之处在于词干分析器在不知道上下文的情况下对单个词进行操作,因此不能根据词性来区分具有不同含义的词.然而,分离器通常更容易实现并且运行得更快,并且降低的准确度对于某些应用可能无关紧要.

例如:

  1. "更好"这个词有"好"作为它的引理.这个链接被词干所遗漏,因为它需要字典查找.

  2. 单词"walk"是单词"walking"的基本形式,因此在词干和lemmatisation中都是匹配的.

  3. "会面"一词可以是名词的基本形式,也可以是动词的形式("见面"),具体取决于背景,例如"在我们的上次会议中"或"我们明天再见面".与词干不同,词素化原则上可以根据上下文选择适当的引理.

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


Sum*_*rel 17

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

  1. 如果您将“关怀”这个词词形化,它将返回“关怀”。如果您使用词干,它会返回“ Car ”,这是错误的。
  2. 如果您在动词上下文中对单词“ Stripes ”进行词形还原,它将返回“ Strip ”。如果您在名词上下文中将其词形还原,它将返回“ Stripe ”。如果你只是阻止它,它只会返回“ Strip ”。
  3. 无论是词形还原还是词干词,如步行、跑步、游泳……步行、跑步、游泳您都会得到相同的结果。
  4. 词形还原在计算上很昂贵,因为它涉及查找表等等。如果您有大型数据集并且性能有问题,请使用 Stemming。请记住,您还可以将自己的规则添加到 Stemming。如果准确性至关重要并且数据集不是庞大的,请使用 Lemmatization。


Lia*_*ang 16

有两个方面可以显示它们之间的差异:

  1. 词干将返回一个字的茎,这不必是相同于字的形态根.通常,相关的单词映射到同一个词干就足够了,即使词干本身不是有效的词根,而在词汇化中,它将返回词的词典形式,这必须是有效词.

  2. lemmatisation中,首先应确定单词的词性,并且不同词性的归一化规则将不同,而词干分析器在不知道上下文的情况下对单个单词进行操作,因此不能区分具有不同单词的单词.意思取决于词性.

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


小智 15

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

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

  1. 词干化将词形式简化为(伪)词干,而词形词化将词形式缩减为语言有效的词汇.这种差异在具有更复杂形态的语言中是显而易见的,但可能与许多IR应用无关;

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

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

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


eal*_*ent 13

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

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

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


maj*_*jom 9

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

词形还原处理匹配"汽车"到"汽车"以及匹配的"汽车"到"汽车".

词干处理将"汽车"与"汽车"相匹配.

词形还原意味着更广泛的模糊词匹配仍然由相同的子系统处理.它暗示了引擎内低级处理的某些技术,也可能反映了术语的工程偏好.

[...]以FAST为例,他们的词形还原引擎不仅可以处理奇异与复数之类的基本单词变体,还可以处理像"热"匹配"热"的词库运算符.

这并不是说其他​​引擎当然不处理同义词,但是低级实现可能与处理基本词干的子系统不同.

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


小智 9

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

例子,

"beautiful" -> "beauti"
"corpora" -> "corpora"
Run Code Online (Sandbox Code Playgroud)

更多词干提取示例

词干提取可以非常快速地完成。

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

例子,

"beautiful" -> "beauty"
"corpora" -> "corpus"
Run Code Online (Sandbox Code Playgroud)

更多词形还原的例子

词形还原比词干提取需要更多的时间。