我已经尝试过wordnet lemmatizer,但我发现像'学习'或'等待'这样的常用词语没有得到适当的处理。
我错过了什么吗?
答案 0 :(得分:2)
正如您在在线wordnet上看到的那样,studying和waiting也是名词(以及动词的动名词),因此它们可以像自己一样被引理并不奇怪。
如果这不令人满意,你需要找到一个更具“侵略性”的变形器(一个故意忽略完全正确但是“不太可能”对一个单词的解释),或者,如果你可以首先进行基于整体的词性标注句子,使用一个可以被告知是否例如的词形变换器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'