(Выполнено в jupyter notbook). Я применяю лемматизацию по документам, которые я подписал, и я не могу не заметить, что слово "мы" получает леммматизированное значение "u" каждый раз, что не имеет смысла с точки ясности и могли бы побудить людей понять это как нечто иное. Я пропустил условие для моей функции? Как я могу исправить эту проблему?
Определение функции
from nltk import pos_tag
def penn2wordNet(treebank_tags):
wordNet_tag = {'NN':'n', 'JJ':'a',
'VB':'v', 'RB':'r'}
try:
return wordNet_tag[penntag[:2]]
except:
return 'n'
paired_tags = []
for doc in wordTokens:
paired_tags.append(pos_tag(doc))
print(paired_tags)
Лемматизация жетонов
from nltk.stem import WordNetLemmatizer
wnl = WordNetLemmatizer()
print(wordTokens[1])
lemmatized_wordTokens = []
for index in range(len(paired_tags)):
lemmatized_wordTokens.append(([wnl.lemmatize(word, pos=penn2wordNet(tag)) for word, tag in paired_tags[index]]))
print(lemmatized_wordTokens[1])
Ваша функция penn2wordNet
присваивает penn2wordNet
POS существительного "us", хотя pos_tag(['us'])
возвращает [('us', 'PRP')]
. Это заставляет WordNetLemmatizer
относиться к "нам" как к существительному. Вы должны добавить дополнительное условие для обработки личных местоимений.