Как реализовать сентимент-анализ текста?

Необходимо определить тональность комментариев на сайте по шкале баллов с учетом словосочетаний и оборотов.
Например: от 1 до 30 баллов — потенциально негативный, 30-60 нейтральный, 60 и выше потенциально положительный.

На данный момент классификация осуществляется с помощью приведения слов к нормальной форме, получения словоформ и фильтра Байеса.

Но такая система выдает только фиксированные состояния и не учитывает словосочетания и обороты.
Теоретически можно сделать много фиксированных состояний, но тогда обучение становится трудным и ресурсоёмким.
  • Вопрос задан
  • 3621 просмотр
Пригласить эксперта
Ответы на вопрос 4
mephistopheies
@mephistopheies
я так понял вы используете naive Bayes модель, в которой вычисляется вероятность положительной оценки при данном наборе слов в комменте и умножая на 100 получаете баллы?
Ответ написан
Комментировать
@signalizator Автор вопроса
да, сейчас используем 3 состояния «плохо, нейтрально, хорошо».
Ответ написан
@ash_kgd
www.sasbi.ru/sentiment-analiz/ эта статья будет для Вас полезной.
Ответ написан
Комментировать
@Fahrenheit
По «правильному» — полный синтаксический и по воозможности семантический анализ (у нас именно так реализуется). Однако при «бюджетной» реализация я бы хотя бы попробовал учесть пару моментов:
1) Anaphora resolution (попытки угадать, к какому слову относятся местоимения «это», «он», «it» и т.д. позволят получить более хороший результат в более сложных случаях чем «синее небо — это хорошо»
2) Правильная привязка отрицаний (написал, и понял, что без синтаксического дерева ее сделать не тривиально, но можно хотя бы постараться учесть основные случаи). Это позволит понять, где отрицается объект, где — характеристика
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект