Посмотреть настроение из текста (русский)
-
16-10-2019 - |
Вопрос
Кто -нибудь знает библиотеку Python, чтобы получить настроение из русского текста. Словарь с параметризацией настроений будет в порядке. Идея библиотеки что -то вроде GPOM в статья.
Решение
Если вы ищете рабочее решение, я знаю об API, который поддерживает многие языки, включая русский: Indico.io Анализ текстового анализа ()
>>> import indicoio
>>> indicoio.config.api_key = YOUR_API_KEY
>>> indicoio.sentiment(u"Это круто, убивает! Хочу.", language='ru')
0.6978093435482927
>>> indicoio.sentiment(u"Ты кто такой? Давай досвидания", language='ru')
0.13258737684773209
Обратите внимание, что language
Параметр необязательно
(Очевидно, это не либерация, но они предлагают клиенту Python, и его бесплатный уровень достаточно щедро.)
ОБНОВЛЕНИЕ: По состоянию на второй квартал 2018 года API -анализ настроений Google и IBM по -прежнему не поддерживают русский.
Другие советы
Взглянуть на полиглот библиотека. У него есть лексики полярности для 136 языков, включая русские.
Шкала слова «полярность состояла из трех градусов: +1 для положительных слов и -1 для слов отрицательных. Нейтральные слова будут иметь счет 0.
Вы можете использовать это так:
>>> from polyglot.text import Text as T
>>> text = T("это очень плохо. А это намного лучше, даже хорошо!")
>>> text.polarity
0.33333333333333331
>>> for s in text.sentences:
... s, s.polarity
...
(Sentence("это очень плохо."), -1.0)
(Sentence("А это намного лучше, даже хорошо!"), 1.0)
>>> for w in text.words:
... print("{:<16}{:>2}".format(w, w.polarity))
...
это 0
очень 0
плохо -1
. 0
А 0
это 0
намного 0
лучше 1
, 0
даже 0
хорошо 1
! 0