0

我试过 wordnet lemmatizer,但我发现一些常见的词,如“学习”或“等待”没有得到适当的处理。

我错过了什么吗?

4

2 回答 2

3

正如您在在线 wordnet 上看到的那样,学习等待也是名词(以及动词的动名词),因此它们可以被词形化也就不足为奇了。

如果这不令人满意,您需要找到一个更“激进”的词形还原器(故意忽略一个单词的完全正确但“不太可能”的解释),或者,如果您可以首先基于整个句子执行词性标记,请使用一个词形还原器,可以判断例如给定的实例是否studying是动词而不是名词。

于 2010-06-08T17:55:37.473 回答
2

默认情况下,WordNetLemmatizer在 NLTK 中假定单词是 a 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'
于 2013-06-27T12:00:06.680 回答