МОДЕЛЬ ИДЕНТИФИКАЦИИ САРКАСТИЧЕСКИХ ПРЕДЛОЖЕНИЙ В ЕСТЕСТВЕННО-ЯЗЫКОВОМ ТЕКСТЕ
МОДЕЛЬ ИДЕНТИФИКАЦИИ САРКАСТИЧЕСКИХ ПРЕДЛОЖЕНИЙ В ЕСТЕСТВЕННО-ЯЗЫКОВОМ ТЕКСТЕ
Евдокимова Инга Сергеевна
канд. техн. наук, доц., Восточно-Сибирский государственный университет технологий и управления,
РФ, г. Улан-Удэ
Евдокимов Дмитрий Андреевич
студент, Восточно-Сибирский государственный университет технологий и управления,
РФ, г. Улан-Удэ
IDENTIFICATION MODEL OF SARCASTIC SENTENCES IN A NATURAL-LANGUAGE TEXT
Inga Evdokimova
Candidate of technical sciences, associate Professor, East Siberia State University of Technology and Managemen,
Russia, Ulan-Ude
Dmitry Evdokimov
Student, East Siberia State University of Technology and Management,
Russia, Ulan-Ude
АННОТАЦИЯ
Статья посвящена разработке модели идентификации сарказма в естественно-языковом тексте. Метод базируется на интегральной оценке контекстных и лингвистических признаков сарказма: частота встречаемости частей речи и лексем, свойственных саркастическим высказываниям; эмоциональная окраска высказывания; структура предложения и семантическая близость лексем. В модели сопоставляет полученный интегральный показатель с интегральным показателем датасета саркастических высказываний и определяется является ли текст саркастическим или нет.
В работе приведены результаты вычислительных экспериментов, подтверждающие корректность принятых решений.
ABSRACT
The article is devoted to the development of a model for identifying sarcasm in a natural language text. The method is based on an integral assessment of the contextual and linguistic features of sarcasm: the frequency of occurrence of parts of speech and lexemes characteristic of sarcastic statements; emotional coloring of the statement; sentence structure and semantic proximity of lexemes. The model compares the obtained integral indicator with the integral indicator of the dataset of sarcastic statements and determines whether the text is sarcastic or not.
Ключевые слова: идентификация сарказма, обработка естественно-языкового текста, анализ тональности текста.
Keywords: sarcasm identification, natural language text processing, text sentiment analysis.
Введение
С развитием голосовых интерфейсов и виртуальных помощников обработка естественного языка (Natural Language Processing – NLP) стала важной технологией искусственного интеллекта. На текущий момент существуют довольно эффективные методы анализа естественно-языкового текста. Однако, распознавание речи все еще не идеальное, общение с ассистентом отличается от человеческого. Есть ряд направлений, которые могут позволить повысить качество анализа текста. Одним из таких направлений является определение наличия сарказма в тексте. Идентификация сарказма в текстовых данных, являющаяся одной из сложных задач в обработке естественного языка, в последнее время стала интересной областью исследований из-за ее важности для интеллектуального анализа эмоциональной окраски текстовых сообщений в социальных сетях.
С точки зрения анализа текста, задача определения сарказма может быть полезна при анализе ответов пользователей для правильного выбора стратегии общения с ним виртуальным помощником или для автоматического анализа и верной интерпретации комментариев, отзывов, размещенных в социальных медиа ресурсах.
Сарказм – это форма чувства, при которой люди выражают неявную информацию, обычно противоположную содержанию сообщения, чтобы эмоционально обидеть кого-то или покритиковать что-то в юмористической форме [1]. С точки зрения лингвистики и филологии специалисты выделяют несколько проблем определения сарказма в тексте. Одной из которых является то, что не существует точной формулы для определения сарказма, поскольку зачастую даже человеку сложно понять является ли текст саркастичным.
Существующие решения базируются на разных признаках сарказма [2, 3]: признаки, связанные с частотой, встречаемость в тексте одновременно как слов с высокой частотой использования, так и слов с низкой частотой; признаки, связанные со стилем написания; признаки, связанные со структурой предложения; признаки, связанные с эмоциональной окраской предложения; признаки, связанные с интенсивностью наречий и прилагательных и др. Анализ показал, что нет подхода, способного 100% распознавать сарказм в тексте, а часть работ базируется на англоязычной лексике, поэтому не могут полноценно использоваться для анализа текстов русского языка. Выше сказанное обуславливает актуальность разработки модели идентификации сарказма в естественно-языковом тексте.
Алгоритм распознавания сарказма в тексте
Алгоритм включает в себя несколько этапов:
1) ввод текста, его предобработка и анализ тональности;
2) расчёт значений каждого параметра, используемого для распознавания сарказма;
3) интегральная оценка полученных параметров и расчет итогового показателя.
На первом этапе на вход подаётся текст. Текст должен быть написан грамотно, на русском языке и не иметь ошибок. На втором этапе следует предобработка текста, состоящая из удаления лишних пробелов, цифр и знаков препинания. Предобработка производится путем разбиения текста на токены. После предобработки или нормализации текста производится процесс анализа текста, он состоит из: статистического анализа; вычисления тональности текста; морфологического анализа с определением частей речи; вычисления дистанции слов друг к другу.
Затем производится интегральная оценка полученных параметров и сравнение полученного интегрального значения текста со значением датасета с сарказмом. Обобщенная схема предложенного подхода приведена на рисунке 1.
Рисунок 1. Блок схема алгоритма распознавания сарказма
Математическая модель распознавания сарказма
Математическая модель описывается формулой (1):
(1)
где: Sarc – значение, полученное путем агрегации функций SentAn, StatAn, DistAn.
AgrRez является самой агрегацией между функциями SentAn, StatAn, DistAn, AgrRez и вычисляется по формуле (2):
(2)
где: vi – множеством весовых коэффициентов признаков сарказма; yi – множество признаков сарказма.
Функция StatAn состоит из двух параметров, каждый из которых анализирует текст на наличие определенных признаков сарказма:
(3)
где: Х1 – количество междометий; Х2 – количество саркастических лексем.
Первым входным параметром Х1 является вычисление количества междометий - слова, обозначающие в письменной речи некие эмоции и чувства, но не называющие их, а также помогающие выразить призыв к действию или волеизъявление. Междометиями являются такие слова, как «Ах, ох, ух». Данные междометия подключаются автоматически списком с помощью библиотеки PyMorphy2, которая проводит морфологический анализ каждого слова и выявляет его часть речи, род, число, падеж. Вторым входным параметром Х2 является вычисление количества лексем, свойственных саркастических выражениям. В данной работе лексемы представляют собой набор, состоящий из таких словоформ как: «бы», «но», «если», «вот» и др.
Статистический анализ текста производится путем агрегирования входных параметров по формуле (4) минимакс-нормализации:
(4)
где: Xnorm – формула агрегированных входных параметров статистического анализа; Х – сумма количества граммем и необходимых частей речи; Хmin – минимальное значение из списка X1 и X2; Xmax – максимальное значение из списка X1 и X2.
Функция DistAn включает в себя весовые коэффициенты семантической близости слов в тексте. Вычисление коэффициентов производится на модели Word2Vec, основанной на искусственных нейронных сетях, дистрибутивной семантике, машинном обучении и векторном представлении слов.
Функция SentAn (формула (5)) возвращает результат анализа тональности текста, который производится путем вычисления значений с помощью нейросетевой модели Dostoevsky. Данная модель основана на библиотеке PyTorch и состоит из нейронной сети из четырех полносвязных слоев с нелинейными функциями активации между ними, высчитывающая значения весовых коэффициентов по трем параметрам – позитивность (pos), негативность (neg) и нейтральность (neu) каждого предложения в тексте [4].
, (5)
где: SentAn – искомое значение z-нормализации; x – среднее арифметическое среди трех параметров: postitive, negative, neutral; M[X] – минимальное значение весового коэффициента среди параметров; [X] – значение, вычисленное из разности максимального и минимального весового коэффициента параметров.
Архитектура программного обеспечения
Для апробации метода была разработана программа, архитектура которой состоит из пяти модулей (рисунок 2): модуль получения текста; модуль подключения обработанного датасета с сарказмом; модуль создания датасета; модуль определения сарказма.
Модуль получения текста осуществляет считывание текста, его предобработку с помощью библиотеки RE и анализ с помощью библиотек NLTK, Dostoevsky, PyMorphy2. В предобработке из текста удаляются знаки препинания, лишние пробелы и цифры. Когда предобработка произошла, производится анализ предобработанного текста на наличие признаковых параметров сарказма и определения весовых коэффициентов тональности. При успешном анализе текста вычисляется общее значение всех весовых коэффициентов.
Модуль создания датасета содержит функции создания датасета, путем сохранения вычисленных весовых коэффициентов обработанного текста. Для корректного создания датасета осуществлена валидация и нормирование данных: нормирование тональности весовых коэффициентов; нормирование весовых коэффициентов статистического анализа; нормирование значения вычисления всех параметров весовых коэффициентов. Далее происходит создание датасета по нормированным данным для каждого предложения.
Модуль определения сарказма содержит сравнение вычисленного значения введённого текста со значением, полученным в ходе анализа датасета, содержащего саркастические предложения. На вход модулю подаются два входных параметра – значения вычисленных весовых коэффициентов датасета саркастических предложений и введенного текста. Затем происходит сравнение параметров: если значение введённого текста равно или превышает значение датасета саркастических предложений, то такой текст определяется как сарказм, иначе, если значение меньше, то текст определяется как не саркастический.
Рисунок 2. Архитектура программного приложения
Вычислительные эксперименты
Для проверки работоспособности модели были проведены следующие эксперименты: определение сарказма на основе явно выраженного простого саркастического текста (рисунок 3а). Точность составила более 65%; определение сарказма на основе неявно выраженного сложноподчинённого саркастического текста (рисунок 3б). Точность составила более 80%; определение сарказма на основе текста, не содержащего сарказм (рисунок 3в). Точность составила более 65%.
а)
б)
в)
Рисунок 3. Результаты вычислительных экспериментов
а) проверка текста с явным сарказмом; б) проверка текста с неявным сарказмом; в) проверка текста без сарказма
Серия вычислительных экспериментов доказали состоятельность предложенной модели. Разработанный метод, учитывающий множество характеристик ЕЯ-текста, обладает высокой точностью, определяя сарказм даже в неявно выраженных предложениях с сарказмом. Метод устойчив к количеству междометий, лексем и дистанции слов.
Заключение
В ходе проведенных исследований была разработана модель идентификации сарказма в тексте, основанная на интегральной оценке лингвистических и контекстных особенностей сарказма: частота встречаемости частей речи и лексем, свойственных саркастическим высказываниям; эмоциональная окраска высказывания; структура предложения и семантическая близость лексем. На основе модели разработано программное приложение на языке программирования Python и проведены вычислительные эксперименты, подтверждающие корректность принятых решений. Реализованная программа может быть использована, как отдельный сервис, систем аналитики соцмедиа, а также в виртуальных помощниках для повышения качества распознавания намерений пользователей и генерации релевантных сценариев диалога с ними.
Список литературы:
- Эке, К.И., Норман, А.А., Лияна Шуиб и др. Идентификация сарказма в текстовых данных: систематический обзор, проблемы исследования и открытые направления. Артиф Интелл, ред . 53, 4215–4258 (2020 г.). https://doi.org/10.1007/s10462-019-09791-8.
- Автоматическая обработка текстов на естественном языке и анализ данных : учеб. пособие / Большакова Е.И., Воронцов К.В., Ефремова Н.Э., Клышинский Э.С., Лукашевич Н.В., Сапин А.С. — М.: Изд-во НИУ ВШЭ, 2017. — 269 с.
- Долбин, А. В. Распознавание сарказма в задаче определения тональности текста на естественном языке / А. В. Долбин. — Текст : непосредственный // Молодой ученый. — 2018. — № 49 (235). — С. 13-17. — URL: https://moluch.ru/archive/235/54551/ (дата обращения: 16.06.2022).
- Dostoevsky – анализ тональности в Python за 5 минут. – Текст : электронный // Егоров Егор: блог о разработке на Python : [сайт]. – 2022. – URL: https://egorovegor.ru/analiz-tonalnosti-s-python-i-dostoevsky/ (дата обращения: 02.03.2022).