VADER polarity_scores в большинстве случаев возвращает выход как нейтральный

В большинстве случаев я обнаружил, что 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.

Спасибо за совет.


person Rajat Gupta    schedule 25.07.2019    source источник


Ответы (1)


Vader - это библиотека анализа настроений на основе словаря. В предложении вы упомянули единственное слово, которое не является нейтральным, - это «внимательный», но, как вы можете видеть здесь: https://github.com/cjhutto/vaderSentiment/blob/master/vaderSentiment/vader_lexicon.txt слово «внимательный» не включено в лексикон, поэтому оно показывает, что ваше предложение нейтральный.

person Nareg    schedule 13.08.2019