Я пытаюсь применить Sentiment Analysis (прогнозирование отрицательных и положительных твитов) на относительно большом наборе данных (10000 строк). До сих пор я достиг только точности ~ 73%, используя Наивный Байес и мой метод, называемый "финальным", показанным ниже, для извлечения функций. Я хочу добавить PoS, чтобы помочь с классификацией, но совершенно не уверен, как это реализовать. Я попытался написать простую функцию с именем «pos» (которую я разместил ниже) и попытался использовать теги на моем очищенном наборе данных в качестве функций, но получил точность только около 52%. Может кто-нибудь привести меня в правильном направлении для реализации PoS для моей модели? Спасибо.
def pos(word):
return [t for w, t in nltk.pos_tag(word)]
def final(text):
"""
I have code here to remove URLs,hashtags,
stopwords,usernames,numerals, and punctuation.
"""
#lemmatization
finished = []
for x in clean:
finished.append(lem.lemmatize(x))
return finished