迭代和词形还原列表
Iterate and Lemmatize List
我是一个新手,正在努力完成我确信是一项简单的任务。
我有一个词表来自 POS tagging
:
words = ['drink', 'drinking']
我想 lemmatize
它们然后处理它们(使用 set
?)最终将我的列表细化为:
refined_list = ['drink']
但是,我仍然停留在词形还原的下一步 - 我的方法仍然 returns 以下内容:
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']
我是一个新手,正在努力完成我确信是一项简单的任务。
我有一个词表来自 POS tagging
:
words = ['drink', 'drinking']
我想 lemmatize
它们然后处理它们(使用 set
?)最终将我的列表细化为:
refined_list = ['drink']
但是,我仍然停留在词形还原的下一步 - 我的方法仍然 returns 以下内容:
refinded_list = ['drink', 'drinking']
我试图引用
到目前为止,这是我的代码:
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']