词义化与词干的真正区别是什么?

我什么时候使用每个?

另外… NLTK参考依赖于词类? 如果是这样的话会不会更准确呢?

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

词干化和词性化的目标是将一个词的屈折forms和有时衍生的相关forms缩减为一个共同的基本forms。

然而,这两个词的味道不同。 词干通常指的是粗略的启发式过程,在大多数情况下,希望能够正确实现这个目标,并且通常包括删除派生词缀。 词形化通常指的是用词汇的词汇和形态分析来正确地做事情,通常旨在只消除屈折结尾,并返回一个词的基本或词典forms,这被称为引理。

从NLTK文档:

词形化和词干化是正常化的特例。 他们为一组相关的单词forms确定了一个典型的代表。

Lemmatisation词干密切相关。 不同之处在于词干在一个单词上操作而不了解上下文,因此不能根据词性来区分具有不同含义的词。 但是,词干分析器通常更容易实现,运行速度更快,对于某些应用来说精度降低可能并不重要。

例如:

  1. “更好”这个词有其“良好”的外</s>。 这个链接是由于错过了,因为它需要一个字典查找。

  2. “走”这个词是“行走”这个词的基本forms,因此在词干化和词化化上都是相配的。

  3. “会议”一词既可以是名词的基本forms,也可以是动词的forms(“见面”),取决于上下文,例如“在我们上次见面”或“我们明天又见面”。 与词干不同,原则上可以根据上下文select适当的引理。

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

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

至于什么时候使用这个或那个,这是一个问题,你的应用程序依赖于在正确的上下文中获取单词的含义。 如果你正在做机器翻译,你可能希望避免误译词语。 如果您的信息检索超过10亿个文档,99%的查询范围是1-3个单词,那么您可以解决词干问题。

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

词干和词形化的目的是减less形态变化。 这与更一般的“术语合并”程序形成对比,这些程序也可以解决词典 – 语义,句法或正字法的变化。

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

  1. 词干减less词形成(伪)词干,而词形化减less词forms语言有效的引理。 这种差异在具有更复杂形态的语言中是明显的,但对于许多IR应用可能是不相关的;

  2. 词形化只涉及折点方差,而词干化也可以处理衍生方差;

  3. 就实现而言,词形化通常更复杂(特别是形态复杂的语言),通常需要某种词法。 另一方面,用相当简单的基于规则的方法可以实现满意的声明。

为了消除同义词的歧义,还可以通过词性标注器来支持词形化。

有两个方面来展示他们的不同之处:

  1. 一个词干将返回一个单词的词干 ,它不需要与单词的词根相同。 即使干本身本身不是一个有效的根,通常足以使相关的词映射到相同的词干,而在词汇化中 ,它将返回一个词的词典forms,其必须是有效的词。

  2. 词语化中 ,首先要确定单词的词性,不同词性的规范化规则也会有所不同,而词干只在单个单词上进行操作而不了解上下文,因此不能区分不同的单词意义取决于词性。

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

ianacl
但是我认为词干是人们用来把同一个词的所有不同forms都归结为一个基本forms的粗糙的黑客,它不需要是一个合法的词
像Porter Stemmer可以使用简单的正则expression式来消除常见的单词后缀

词形化使它的实际基本forms变得简单,在不规则动词的情况下,它可能看起来不像input词
就像Morpha一样使用FST将名词和动词带到基本forms

词典化与词干化的区别的范例驱动的解释:

词形化处理将“汽车”与“汽车”相匹配,并将“汽车”与“汽车”相匹配。

Stemming处理匹配“汽车”到“汽车”

词形化意味着更广泛的模糊词匹配范围,仍然由相同的子系统处理。 这意味着某些技术可以在引擎内进行低级处理,也可能反映出工程学对于术语的偏好。

以FAST为例,他们的词性化引擎不仅处理基本的单词变体,如单数与复数,还有词典运算符,如“热”匹配“温暖”。

这并不是说其他​​引擎不会处理同义词,当然他们是这样做的,但低级别的实现可能与处理基本词干的子系统处于不同的子系统中。

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