迭代和放宽列表

时间:2018-10-03 10:48:10

标签: python python-3.x nltk lemmatization

我是新手,正在为自己确定的简单任务而苦苦挣扎。

我有一个来自POS tagging的单词列表:

words = ['drink', 'drinking']

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

refined_list = ['drink']

但是,我被困在下一步的词法分离中-我的方法仍然返回以下内容:

refinded_list = ['drink', 'drinking']

我尝试引用this,但无法弄清楚要导入的内容,因此'lmtzr'可以工作或如何使其工作。

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

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

谢谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您需要将pos中的lemmatize标记参数设置为VERB。默认情况下为NOUN。 因此,即使您通过了动词,它也会将一切都视为名词。

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

输出:

['drink', 'drink']