👍🏻Анализ настроений в соцсетях на Python с VADER без разработки ML-модели
Не для каждой задачи классификации нужны модели машинного обучения: иногда даже простые подходы могут дать отличный результат. Например, VADER (Valence Aware Dictionary and sEntiment Reasoner) - основанная на словаре и правилах модель анализа тональности. Исходный код проекта доступен на Github под лицензией MIT: https://github.com/cjhutto/vaderSentiment
VADER может эффективно обрабатывать словари, аббревиатуры, заглавные буквы, повторяющиеся знаки препинания, смайлики (😢 , 😃 , 😭 и т. д.) и пр., которые обычно используются в соцсетях для выражения настроений, что делает его отличным инструментом оценки тональности текста. Преимущество VADER в том, что он оценивает настроение любого текста без предварительного обучения ML-моделей. Результат, сгенерированный VADER, представляет собой словарь из 4 ключей neg, neu, pos и компонентов (сompound):
• neg, neu и pos означают отрицательный, нейтральный и положительный соответственно. Их сумма должна быть равна 1 или близка к ней при операции с плавающей запятой.
• сompound соответствует сумме оценок валентности каждого слова в лексиконе и определяет степень настроения, а не действительное значение, в отличие от предыдущих. Его значение находится в диапазоне от -1 (самое сильное отрицательное настроение) до +1 (самое сильное положительное настроение). Использование составной оценки может быть достаточным для определения основной тональности текста. Для положительного настроения сompound≥ 0,05, для отрицательного сompound≤ -0,05, при нейтральном отношении сompound находится в диапазоне от -0,05 до 0,05
Попробовать в Google Colab: https://colab.research.google.com/drive/1_Y7LhR6t0Czsk3UOS3BC7quKDFnULlZG?usp=sharing
Смотреть пример: https://towardsdatascience.com/social-media-sentiment-analysis-in-python-with-vader-no-training-required-4bc6a21e87b8
Post #218
940