Python 柠檬化和词干化之间的区别是什么?
我什么时候用 另外,NLTK的柠檬化是否依赖于词类? 如果它是短而密集的,不是更准确吗 词干分析和引理化的目标都是将单词的屈折形式和有时与派生词相关的形式简化为一个共同的基本形式 然而,这两个词的味道不同。词干分析通常指的是一个粗糙的启发式过程,即切掉词尾,希望在大多数情况下都能正确地实现这一目标,通常还包括去除派生词缀。引理化通常是指通过使用词汇和词形分析正确地处理事情,通常目的只是去除屈折词尾,并返回单词的基本形式或字典形式,即引理 从NLTK文档: 柠檬化和词干化是规范化的特例。它们确定了一组相关单词形式的规范代表 ianaclPython 柠檬化和词干化之间的区别是什么?,python,nlp,nltk,lemmatization,Python,Nlp,Nltk,Lemmatization,我什么时候用 另外,NLTK的柠檬化是否依赖于词类? 如果它是短而密集的,不是更准确吗 词干分析和引理化的目标都是将单词的屈折形式和有时与派生词相关的形式简化为一个共同的基本形式 然而,这两个词的味道不同。词干分析通常指的是一个粗糙的启发式过程,即切掉词尾,希望在大多数情况下都能正确地实现这一目标,通常还包括去除派生词缀。引理化通常是指通过使用词汇和词形分析正确地处理事情,通常目的只是去除屈折词尾,并返回单词的基本形式或字典形式,即引理 从NLTK文档: 柠檬化和词干化是规范化的特例。它们确定了
但是我认为词干是一种粗糙的技巧,人们使用它将同一个词的所有不同形式简化为一个基本形式,而这个基本形式本身不需要是一个合法的词
类似波特词干分析器的东西可以使用简单的正则表达式来消除常见的单词后缀 柠檬化将一个词简化为其实际的基本形式,在不规则动词的情况下,它可能与输入词完全不同
类似于使用FST将名词和动词转换为基本形式的语素,正如MYYN指出的,词干是将屈折词缀和有时派生词缀转换为基本形式的过程,所有原始单词可能都与之相关。Lemmatization涉及到获得一个单词,它允许你将一组屈折形式组合在一起。这比词干分析更难,因为它需要考虑上下文(因此也需要考虑单词的含义),而词干分析忽略上下文 至于何时使用一个或另一个,则取决于应用程序在多大程度上依赖于在上下文中正确理解单词的含义。如果你在做机器翻译,你可能想要柠檬化来避免误译一个单词。如果您正在对10亿个文档进行信息检索,99%的查询范围为1-3个单词,那么您可以满足于词干分析
至于NLTK,WordNetLemmatizer确实使用词性,尽管您必须提供它(否则它默认为名词)。传递它“dove”和“v”产生“dive”,而“dove”和“n”产生“dove”。词干和柠檬化的目的都是减少形态变异。这与更一般的“术语合并”程序形成对比,后者也可以处理词汇语义、句法或正交变化 词干化和柠檬化的真正区别有三:
来源:关于柠檬化和词干化之间差异的示例驱动解释: 柠檬化处理将“汽车”与沿途的“汽车”匹配 将“汽车”与“汽车”匹配。 词干处理处理将“car”匹配到“cars” 引理化意味着更广泛的模糊词匹配,即 仍然由相同的子系统处理。它意味着某些技术 用于引擎内的低级别处理,也可能反映 工程术语优先 […]以FAST为例, 他们的柠檬化引擎不仅处理诸如 单数vs.复数,但也有同义词表操作符,比如“hot” 匹配“温暖” 当然,这并不是说其他引擎不处理同义词 确实如此,但低级别的实现可能是另一种方式 子系统,而不是处理基词干的子系统
有两个方面可以显示它们的差异:
"beautiful" -> "beauti"
"corpora" -> "corpora"
"beautiful" -> "beauty"
"corpora" -> "corpus"