词义化与词干的真正区别是什么?
我什么时候使用每个?
另外… NLTK参考依赖于词类? 如果是这样的话会不会更准确呢?
短而密: http : //nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html
词干化和词性化的目标是将一个词的屈折forms和有时衍生的相关forms缩减为一个共同的基本forms。
然而,这两个词的味道不同。 词干通常指的是粗略的启发式过程,在大多数情况下,希望能够正确实现这个目标,并且通常包括删除派生词缀。 词形化通常指的是用词汇的词汇和形态分析来正确地做事情,通常旨在只消除屈折结尾,并返回一个词的基本或词典forms,这被称为引理。
从NLTK文档:
词形化和词干化是正常化的特例。 他们为一组相关的单词forms确定了一个典型的代表。
Lemmatisation与词干密切相关。 不同之处在于词干在一个单词上操作而不了解上下文,因此不能根据词性来区分具有不同含义的词。 但是,词干分析器通常更容易实现,运行速度更快,对于某些应用来说精度降低可能并不重要。
例如:
“更好”这个词有其“良好”的外</s>。 这个链接是由于错过了,因为它需要一个字典查找。
“走”这个词是“行走”这个词的基本forms,因此在词干化和词化化上都是相配的。
“会议”一词既可以是名词的基本forms,也可以是动词的forms(“见面”),取决于上下文,例如“在我们上次见面”或“我们明天又见面”。 与词干不同,原则上可以根据上下文select适当的引理。
来源 : https : //en.wikipedia.org/wiki/Lemmatisation
正如MYYN所指出的那样,词干化是指将所有原始单词可能与之有关的基本forms去除了屈折的,有时是衍生词缀的过程。 词形是关于获得单个单词,使您可以将一组折叠forms组合在一起。 这比词干更难,因为它需要考虑到上下文(以及词的含义),而忽略上下文。
至于什么时候使用这个或那个,这是一个问题,你的应用程序依赖于在正确的上下文中获取单词的含义。 如果你正在做机器翻译,你可能希望避免误译词语。 如果您的信息检索超过10亿个文档,99%的查询范围是1-3个单词,那么您可以解决词干问题。
至于NLTK,WordNetLemmatizer确实使用了词性,尽pipe你必须提供它(否则它默认为名词)。 通过它“鸽子”和“V”产生“潜水”,而“鸽子”和“N”产生“鸽子”。
词干和词形化的目的是减less形态变化。 这与更一般的“术语合并”程序形成对比,这些程序也可以解决词典 – 语义,句法或正字法的变化。
词干和词形化之间的真正区别有三个:
-
词干减less词形成(伪)词干,而词形化减less词forms语言有效的引理。 这种差异在具有更复杂形态的语言中是明显的,但对于许多IR应用可能是不相关的;
-
词形化只涉及折点方差,而词干化也可以处理衍生方差;
-
就实现而言,词形化通常更复杂(特别是形态复杂的语言),通常需要某种词法。 另一方面,用相当简单的基于规则的方法可以实现满意的声明。
为了消除同义词的歧义,还可以通过词性标注器来支持词形化。
有两个方面来展示他们的不同之处:
-
一个词干将返回一个单词的词干 ,它不需要与单词的词根相同。 即使干本身本身不是一个有效的根,通常足以使相关的词映射到相同的词干,而在词汇化中 ,它将返回一个词的词典forms,其必须是有效的词。
-
在词语化中 ,首先要确定单词的词性,不同词性的规范化规则也会有所不同,而词干只在单个单词上进行操作而不了解上下文,因此不能区分不同的单词意义取决于词性。
参考http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization
ianacl
但是我认为词干是人们用来把同一个词的所有不同forms都归结为一个基本forms的粗糙的黑客,它不需要是一个合法的词
像Porter Stemmer可以使用简单的正则expression式来消除常见的单词后缀
词形化使它的实际基本forms变得简单,在不规则动词的情况下,它可能看起来不像input词
就像Morpha一样使用FST将名词和动词带到基本forms
词典化与词干化的区别的范例驱动的解释:
词形化处理将“汽车”与“汽车”相匹配,并将“汽车”与“汽车”相匹配。
Stemming处理匹配“汽车”到“汽车” 。
词形化意味着更广泛的模糊词匹配范围,仍然由相同的子系统处理。 这意味着某些技术可以在引擎内进行低级处理,也可能反映出工程学对于术语的偏好。
以FAST为例,他们的词性化引擎不仅处理基本的单词变体,如单数与复数,还有词典运算符,如“热”匹配“温暖”。
这并不是说其他引擎不会处理同义词,当然他们是这样做的,但低级别的实现可能与处理基本词干的子系统处于不同的子系统中。