wordnet lemmatizer的问题

时间:2010-06-08 17:07:20

标签: python wordnet

我已经尝试过wordnet lemmatizer,但我发现像'学习'或'等待'这样的常用词语没有得到适当的处理。

我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

正如您在在线wordnet上看到的那样,studyingwaiting也是名词(以及动词的动名词),因此它们可以像自己一样被引理并不奇怪。

如果这不令人满意,你需要找到一个更具“侵略性”的变形器(一个故意忽略完全正确但是“不太可能”对一个单词的解释),或者,如果你可以首先进行基于整体的词性标注句子,使用一个可以被告知是否例如的词形变换器studying的给定实例是动词而不是名词。

答案 1 :(得分:1)

默认情况下,NLTK中的WordNetLemmatizer假定该单词为NOUN。见http://nltk.org/_modules/nltk/stem/wordnet.html

要正确地对动词进行词形推理,您需要指定pos(词性)

>>> from nltk.stem.wordnet import WordNetLemmatizer
>>> wnl = WordNetLemmatizer()
>>> wnl.lemmatize('studying','v')
'study'
>>> wnl.lemmatize('studying','n')
'studying'
>>> wnl.lemmatize('studying')
'studying'
>>> wnl.lemmatize('waiting','n')
'waiting'
>>> wnl.lemmatize('waiting','v')
'wait'
相关问题