NLTK Sentiment Vader: построить круговую диаграмму с оценками

1

Я пытаюсь понять, как я могу собрать диаграмму или круговую диаграмму из оценок, которые я получаю. Ниже мой код

from nltk.sentiment.vader import SentimentIntensityAnalyzer

paragraph = "I loved the movie"          
sid = SentimentIntensityAnalyzer()
ss = sid.polarity_scores(paragraph)
print(ss)
if ss["compound"] >= 0.5:
    print("positive")
elif ss["compound"] <= -0.5:
    print("negative")
else:
    print("neutral")

# myresults 
{'neg': 0.033, 'neu': 0.834, 'pos': 0.132, 'compound': 0.9936}
positive

Как рассчитать все эти значения в процентах, используя составную оценку? Прямо сейчас я могу дать только положительный, нейтральный или отрицательный тег, но я хочу разбить все значения на основе составной оценки. Для этого примера положительная оценка должна быть в 99%, а не 61,2% нейтральной, 0% отрицательной и 38,8% положительной

Теги:
python-3.x
nltk
plot

1 ответ

0

У вас есть ss = {'neg': 0.033, 'neu': 0.834, 'pos': 0.132, 'compound': 0.9936}, и вы хотите иметь круговую диаграмму из значений neg, neu и pos. Поправьте меня если я ошибаюсь.

Попробуй это

labels = ['negative', 'neutral', 'positive']
sizes  = [ss['neg'], ss['neu'], ss['pos']]
plt.pie(sizes, labels=labels, autopct='%1.1f%%') # autopct='%1.1f%%' gives you percentages printed in every slice.
plt.axis('equal')  # Ensures that pie is drawn as a circle.
plt.show()
  • 0
    спасибо за ответ, и это не то, что я ищу, извините за путаницу, я обновил свой вопрос, чтобы показать, какой результат я ожидаю.
  • 0
    Извините, я до сих пор не понимаю. Надеюсь, вы найдете решение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню