Анализ эмоциональной окраски текстов на основе датасета GoEmotions

  • docx
  • 17.06.2025
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Статья.DataScience.docx

Анализ эмоциональной окраски текстов на основе датасета GoEmotions

 

Мясоедова Ю. В.

 

Аннотация: Статья посвящена анализу эмоциональной окраски текстов с использованием датасета GoEmotions, созданного Google Research в 2020 году. Дается обзор структуры датасета, включающего 58 тысяч комментариев с Reddit, аннотированных по 27 эмоциональным категориям и нейтральному классу. Описывается применение Python-библиотек и фреймворка Streamlit для обработки данных, визуализации результатов и создания интерактивного интерфейса. Особое внимание уделяется анализу частотности эмоций и выявлению соэмоциональных связей через построение матрицы совместной встречаемости. Результаты демонстрируют устойчивые паттерны сочетаемости эмоций, такие как восхищение и благодарность или раздражение и неодобрение, что подчеркивает практическую ценность датасета для задач NLP, включая разработку чат-ботов и модерацию контента.

Ключевые слова: GoEmotions, анализ эмоций, обработка естественного языка, машинное обучение, соэмоциональность, частотность эмоций, тепловая карта, Streamlit, Python, датасет Reddit.

 

Анализ эмоциональной окраски текстов играет ключевую роль в обработке естественного языка (NLP), позволяя выявлять скрытые паттерны в коммуникации и адаптировать ИИ-системы к человеческим эмоциям. В данной статье рассматривается применение датасета GoEmotions для классификации и исследования эмоций в текстах. Особое внимание уделяется анализу частотности эмоциональных меток и выявлению соэмоциональных связей с помощью методов машинного обучения.

Датасет GoEmotions – это крупный и тщательно аннотированный набор данных, для анализа эмоционального текста, созданный Google Research в 2020 году. Он предназначен для обучения ИИ-моделей распознаванию и классификации эмоций в коротких текстах.

Этот датасет используется для разработки более чувствительных чат-ботов, систем модерации контента, улучшения качества обслуживания клиентов и других приложений, где понимание эмоционального состояния пользователя имеет решающее значение.

Он содержит более 58 тысяч комментариев, извлеченных с платформы Reddit. Каждый комментарий был вручную аннотирован человеком для одной или нескольких из 27 различных категорий эмоций, а также категории «нейтральный». Это отличает его от многих других датасетов, которые обычно фокусируются на небольшом количестве базовых эмоций.

Основная цель GoEmotions – предоставить обширный и разнообразный набор данных для обучения моделей машинного обучения (особенно нейронных сетей) для глубокого анализа тональности и эмоций в текстах.

Для выполнения анализа эмоциональной окраски текстовых сообщений используется комплекс специализированных библиотек языка программирования Python. Данный подход охватывает полный цикл обработки данных, включая подготовку текстовых корпусов, реализацию алгоритмов машинного обучения и визуализацию результатов.

Для обеспечения интерактивности и удобства взаимодействия с системой анализа применяется фреймворк Streamlit. Этот инструмент предоставляет эффективные средства для быстрого прототипирования и развертывания веб-приложений на базе Python. Интеграция Streamlit позволяет создать интуитивно понятный графический интерфейс, что облегчает процесс демонстрации функционала и использования модели анализа эмоциональной окраски для неспециалистов.

Загрузка данных осуществляется посредством метода load_dataset, который обеспечивает автоматизированное получение текстового контента и присвоенных ему эмоциональных меток. На данном этапе, как правило, загружается обучающая выборка датасета, предназначенная для калибровки и валидации моделей машинного обучения.

Для анализа частотности эмоций в датасете GoEmotions используется счётчик, который последовательно обрабатывает все текстовые записи, подсчитывая количество упоминаний каждой эмоциональной метки.

График частотности эмоций представлен на рисунке 1.

 

Изображение выглядит как текст, снимок экрана, Шрифт, линия

Контент, сгенерированный ИИ, может содержать ошибки.

Рисунок 1 – График частотности эмоций

 

На данном графике демонстрируется распределение эмоциональных категорий в исследуемом датасете. Наиболее частотной категорией является neutral (нейтральная). Среди выраженных эмоций лидируют admiration (восхищение) и approval (одобрение), за которыми следуют gratitude (благодарность) и annoyance (раздражение), а также amusement (веселье) и curiosity (любопытство). Менее частотными, но все же присутствующими, являются эмоции love (любовь), optimism (оптимизм), disapproval (неодобрение), anger (гнев) и joy (радость). Наименее представленными в датасете являются такие эмоции, как grief (горе), pride (гордость), relief (облегчение) и embarrassment (смущение), что указывает на их сравнительно редкое выражение в анализируемых текстовых сообщениях.

Соэмоциональность – это устойчивые эмоциональные сочетания, которые систематически возникают вместе в определённых ситуациях или коммуникативных контекстах.

Для выявления соэмоциональных связей между эмоциями строится матрица, фиксирующая частоту совместного употребления эмоциональных маркеров в текстах. Алгоритм последовательно анализирует каждое сообщение: при обнаружении сочетания разных эмоций соответствующий элемент матрицы инкрементируется. Полученные данные структурируются в таблицу с упорядоченными по стандартному перечню эмоций строками и столбцами, что обеспечивает наглядность анализа эмоциональных корреляций.

Матрица соэмоциональности представлена на рисунке 2.

 

Изображение выглядит как снимок экрана, текст, диаграмма, Красочность

Контент, сгенерированный ИИ, может содержать ошибки.

Рисунок 2 – Матрица соэмоциональности

Представленная тепловая карта демонстрирует частоту совместного употребления различных эмоциональных маркеров в текстовых сообщениях датасета GoEmotions.

Анализ матрицы выявляет наличие выраженных соэмоциональных связей между логически ассоциированными парами эмоций. Наиболее заметные кластеры совместной встречаемости наблюдаются между: gratitude (благодарность) и admiration (восхищение), annoyance (раздражение) и disapproval (неодобрение), curiosity (любопытство) и surprise (удивление).

Менее интенсивные, но значимые корреляции также прослеживаются между amusement (веселье) и joy (радость), а также nervousness (нервозность) и fear (страх). Большинство остальных эмоциональных пар демонстрируют низкую частоту совместного появления, что указывает на тенденцию к выражению этих эмоций в относительно изолированном контексте или в менее выраженных комбинациях.

Таким образом, GoEmotions – это важный ресурс в области обработки естественного языка (NLP) для исследований и разработки в области распознавания эмоций по тексту. Исследование выявило ключевые тенденции: доминирование нейтральных эмоций, частотные сочетания, а также редкие, но значимые корреляции. Использование современных методов машинного обучения в сочетании с интерактивной визуализацией через Streamlit открывает новые возможности для практического применения этих данных.