Мне нужна помощь в завершении кода для части речи в моем предварительном процессе анализа настроений. Мне удалось токенизировать, удалить стоп-слова, но для того, чтобы выполнить лемматизацию, мне также нужно сделать часть речи. Я создал некоторый код, и я не получаю ошибки, но все же слова не лемматизированы. Может кто-нибудь сказать мне, где я допустил ошибку? Я полагаю, что это должны быть некоторые фрагменты речи.
import codecs
import nltk
from nltk.tokenize import TweetTokenizer
nltk.download('punkt')
with codecs.open('TwitterdataTrumpTest.csv', 'r') as f:
for line in f:
tweet = f.readlines()
# Tokenization
tknzr = TweetTokenizer()
tokenized_sents = [tknzr.tokenize(i) for i in tweet]
for i in tokenized_sents:
print(i)
# Stop word removal
from nltk.corpus import stopwords
stop_words = set(stopwords.words("english"))
clean_sents = []
for m in tokenized_sents:
stop_m = [i for i in m if str(i).lower() not in stop_words]
clean_sents.append(stop_m)
print(clean_sents)
# ****PART-OF-SPEECH****
def process_content():
try:
for i in clean_sents[:5]:
words = nltk.word_tokenize(i)
tagged = nltk.pos_tag(words)
print(tagged)
except Exception as e:
print(str(e))
# Lemmatization
from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
from nltk.stem.wordnet import WordNetLemmatizer
sents = clean_sents
lmtzr = WordNetLemmatizer()
lemmatized = [[lmtzr.lemmatize(word) for word in s]
for s in sents]
print(lemmatized)
Я ценю помощь, парни / девушки