В большинстве случаев я обнаружил, что polarity_scores возвращает результат как «нейтральный», тогда как должен быть выделен некоторый% отрицательных и положительных настроений, например рассмотрим следующие случаи, я нашел {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}
для всех 3 случаев, упомянутых ниже.
- случай 1: менеджер по продлению совсем не подходит для работы
- Случай 2: Джон был очень прозрачным и чрезвычайно усердным в предоставлении информации и организации встреч для сотрудничества.
- случай 3: «У вас все еще нет доступа к заказанному продукту. Прошло больше недели с момента подписания документов»
Код:
from nltk.sentiment.vader import SentimentIntensityAnalyzer
sid = SentimentIntensityAnalyzer()
a = "Our sales representative, Tom, was very attentive to our needs."
sid.polarity_scores(a)
Выход:
{'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}
Я ожидаю, что на приведенных выше примерах будет выделен некоторый% отрицательных и положительных настроений, а не на получение «neu» = 1,0 и «сложный» = 0,0.
Может ли кто-нибудь посоветовать, как улучшить результаты, соответствующие фактическому настроению данной текстовой строки? Я готов изучить другие библиотеки или пакеты, если они лучше, чем Vader.
Спасибо за совет.