词形化与词干的区别是什么?
nlp
nltk
python
15
0

什么时候使用每个?

另外... NLTK词素化是否取决于词性?如果不是,它会更准确吗?

参考资料:
Stack Overflow
收藏
评论
共 8 个回答
高赞 时间 活跃

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

  1. 如果您对“ 关怀 ”一词进行词缀化,它将返回“ 关爱 ”。如果您阻止,它将返回“ Car ”,这是错误的。
  2. 如果在动词上下文中使单词“ Stripes ”脱词,它将返回“ Strip ”。如果在名词上下文中对其进行词缀化 ,它将返回“ Stripe ”。如果您只是阻止它,它将仅返回' Strip '。
  3. 无论您是词干化还是词干化(例如走路,跑步,游泳 ... 走路,跑步,游泳等) 都会得到相同的结果。
  4. 归类化在计算上是昂贵的,因为它涉及查找表,而不涉及查找表。如果您的数据集很大并且性能是一个问题,请使用Stemming。请记住,您也可以将自己的规则添加到“词干”中。如果准确性至高无上,并且数据集不那么庞大,请使用Lemmatization。
收藏
评论

合法化阻止密切相关。区别在于,词干分析器在不了解上下文的情况下对单个单词进行操作,因此无法根据词性区分具有不同含义的单词。但是,茎杆通常更易于实现和运行得更快,并且降低的精度对于某些应用可能并不重要。

例如:

  1. “更好”一词的引理是“好”。由于需要字典查找,因此干掉了该链接。

  2. 单词“ walk”是单词“ walking”的基本形式,因此,它在词干和词根化方面均匹配。

  3. 根据上下文,单词“ meeting”可以是名词的基本形式,也可以是动词(“满足”)的形式,例如“在我们上次见面”或“我们明天再见面”。与词干不同,词条分解原则上可以根据上下文选择适当的词条。

资料来源https : //zh.wikipedia.org/wiki/合法化

收藏
评论

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

  1. 词干分析器将返回单词的词干,该词干不必与单词的词根相同。即使词干本身不是有效的词根,通常只要相关词映射到相同的词干就足够了,而在词法化中 ,它将返回单词的字典形式,该词必须是有效的词。

  2. lemmatisation,单词的语音部分,应首先确定和归一化的规则将是语音的不同部分不同,而词干上的单个字的运行不需要的上下文的知识,并且因此其具有不同的字之间不能区分含义取决于词性。

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

收藏
评论

安娜克
但是我认为Stemming是一个粗俗的技巧,人们经常使用它来将同一个单词的所有不同形式简化为基本形式,而不必自己成为合法的单词
像Porter Stemmer这样的东西可以使用简单的正则表达式来消除常见的单词后缀

词法化将单词还原为其实际的基本形式,在不规则动词的情况下,它看起来可能与输入单词完全不同
诸如Morpha之类的东西,它使用FST将名词和动词带入其基本形式

收藏
评论

一个示例驱动的解释,说明了词源化和词干之间的区别:

词法化处理将“汽车”与“汽车”匹配以及将“汽车”与“汽车”匹配。

阻止处理将“ car”匹配到“ cars”

词法化意味着模糊词匹配的范围更广,仍然由相同的子系统处理。这意味着在引擎内进行低级处理的某些技术,并且可能还反映了工程上对术语的偏爱。

[...]以FAST为例,他们的词素化引擎不仅处理诸如单数或复数之类的基本单词变体,而且还处理诸如“热”匹配“热”之类的词库运算符。

这并不是说其他引擎当然不处理同义词,但是底层引擎的实现可能与处理基本词干的引擎不在同一个子系统中。

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

收藏
评论

正如MYYN所指出的那样,词干提取是将词尾的,有时是衍生词的词缀去除为所有原始词都可能与之相关的基本形式的过程。词法化与获得单个单词有关,该单词使您可以将一堆变形的表格组合在一起。这比阻止更难,因为它需要考虑上下文(以及单词的含义),而阻止则忽略上下文。

至于何时使用一个或另一个,则取决于您的应用程序在多大程度上取决于正确理解上下文中单词的含义。如果您要进行机器翻译,则可能需要进行词法化处理,以避免错误翻译单词。如果您要对10亿个文档进行信息检索,而您有99%的查询(从1-3个单词开始),那么您就可以解决词干问题。

对于NLTK,WordNetLemmatizer确实会使用语音部分,尽管您必须提供它(否则默认为名词)。传递给它“鸽子”和“ v”会产生“潜水”,而传递给“鸽子”和“ n”会产生“鸽子”。

收藏
评论

词干和词根化的目的都是为了减少形态变异。这与更通用的“术语合并”过程相反,后者可能还会处理词汇语义,句法或正字法变化。

词干和词根化之间的真正区别有三点:

  1. 词干将单词形式减少为(伪)词干,而词义化将单词形式减少为在语言上有效的词缀。这种差异在形态更为复杂的语言中显而易见,但对于许多IR应用而言可能无关紧要。

  2. 引理化仅处理拐点变化,而词干处理也可以处理导数变化。

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

词法标注器也可以支持词法化,以消除同音异义词的歧义。

收藏
评论

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

词干和词根化的目的都是将单词的屈折形式和有时与派生相关的形式减少为通用的基本形式。

但是,这两个词的风格不同。词干通常是指粗略的启发式过程,该过程会砍掉单词的结尾,以期在大多数时间正确实现此目标,并且通常包括删除派生词缀。词法词化通常是指使用单词的词汇和词法分析来正确处理事物,通常旨在仅去除词尾变化并返回单词的基数或字典形式,这被称为引理。

从NLTK文档:

引词化和词干化是规范化的特殊情况。他们为一组相关的单词形式确定规范的代表。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题