Список итераций и лемматизации - PullRequest
0 голосов
/ 03 октября 2018

Я новичок и борюсь с тем, что, я уверен, является простым заданием.

У меня есть список слов, взятых из 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 голосов
/ 03 октября 2018

Вам нужно установить pos параметр тега из lemmatize как VERB.По умолчанию это NOUN.Таким образом, он рассматривает все как NOUN, даже если вы передаете 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']
...