Я лектифицирую Ted Dataset Transcript. Там что-то странное замечаю: Не все слова лемматизируются. Сказать,WordNetLemmatizer не возвращает правильную лемму, если POS не является явной - Python NLTK
selected -> select
Что является правильным.
Однако involved !-> involve
и horsing !-> horse
, если я явно не ввел атрибут 'v' (Verb).
На питона терминале, я получаю правильный выход, но не в моем code:
>>> from nltk.stem import WordNetLemmatizer
>>> from nltk.corpus import wordnet
>>> lem = WordNetLemmatizer()
>>> lem.lemmatize('involved','v')
u'involve'
>>> lem.lemmatize('horsing','v')
u'horse'
Соответствующий раздел кода заключается в следующем:
for l in LDA_Row[0].split('+'):
w=str(l.split('*')[1])
word=lmtzr.lemmatize(w)
wordv=lmtzr.lemmatize(w,'v')
print wordv, word
# if word is not wordv:
# print word, wordv
Весь код here.
В чем проблема?
Код не работает без установки ... можете ли вы извлечь ввод, например как выглядит LDA_Row? – rebeling
Это потому, что ваши теги POS ошибочны. P/S: В следующий раз, пожалуйста, постарайтесь не публиковать полный код, а означать фрагменты кода, который объясняет проблему, в противном случае пользователи Stackoverflow могут просто попытаться закрыть вопрос о том, что «вопрос неясен», или это «мой код не работает "question =) – alvas