迭代和词形还原列表



我是一个新手,正在努力完成我确信这是一项简单的任务。

我有一个从POS tagging中摘录的单词列表:

words = ['drink', 'drinking']

我想lemmatize它们,然后处理它们(使用set?(,以最终将我的列表细化为:

refined_list = ['drink']

但是,我坚持下一步进行词形还原 - 我的方法仍然返回以下内容:

refinded_list = ['drink', 'drinking']

我试图引用这个,但不知道要导入什么才能让"lmtzr"工作或如何让它工作。

这是我到目前为止的代码:

import nltk
words = ['drink', 'drinking']
WNlemma = nltk.WordNetLemmatizer()
refined_list = [WNlemma.lemmatize(t) for t in words]
print(refined_list)

谢谢你帮助我。

您需要将lemmatize中的pos标签参数设置为VERB。默认情况下,它是名词。 因此,即使您传递动词,它也会将所有内容视为名词。

import nltk
words = ['drink', 'drinking']
WNlemma = nltk.WordNetLemmatizer()
refined_list = [WNlemma.lemmatize(t, pos='v') for t in words]
print(refined_list)

输出:

['drink', 'drink']

最新更新