Проблема тегирования части речи для предварительного процесса анализа настроений - PullRequest
0 голосов
/ 19 марта 2020

Мне нужна помощь в завершении кода для части речи в моем предварительном процессе анализа настроений. Мне удалось токенизировать, удалить стоп-слова, но для того, чтобы выполнить лемматизацию, мне также нужно сделать часть речи. Я создал некоторый код, и я не получаю ошибки, но все же слова не лемматизированы. Может кто-нибудь сказать мне, где я допустил ошибку? Я полагаю, что это должны быть некоторые фрагменты речи.

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)

Я ценю помощь, парни / девушки

...