Система визначення сарказму в англомовному тексті - Заньчак, Марія Степанівна; Zanchak, Mariia Stepanivna (Національний університет "Львівська політехніка", 2023)
Завдання виявлення сарказму є складним, оскільки для цього відсутні очевидні ознаки, такі як інтонація, вирази обличчя чи жести. Застосування виявлення сарказму може приносити користь у багатьох галузях NLP. Сарказм є серйозною перешкодою для підвищення точності аналізу настрою, особливо в соціальних мережах, він часто залежить від тону голосу, міміки та жестів, які не можуть бути передані в письмовому вигляді. [4,5] Розуміння справжніх настроїв у онлайн-розмовах може допомогти підприємствам обробляти відгуки клієнтів і отримувати ідеї для поліпшення маркетингової стратегії. З погляду кібербезпеки та оборони, аналіз настроїв може служити важливим сигналом для виявлення проблем або можливих дій зловмисників в Інтернеті. Розпізнавання саркастичних висловлювань може бути корисним при покращенні автоматичного аналізу настроїв в соціальних мережах, сприяючи ефективнішому обслуговуванню клієнтів та розумінню їхніх намірів та поглядів під час автоматизованого аналізу їхніх відгуків або скарг. Засоби виявлення сарказму дозволяють компаніям аналізувати настрої клієнтів стосовно своєї продукції, що в подальшому допоможе покращити якість продукту. [9,10,11] Мета дослідження ств?рення програмного забезпечення для визначення сарказму у тексті. Предметом дослідження є методи виявлення сарказму в тексті та розроблення системи визначення сарказму в англомовному тексті. Об’єктом дослідження є процес визначення сарказму в англомовному тексті. Результатом роботи є система виявлення сарказму в тексті, розроблена на мові програмування Python. Ця система використовує модель, яка базується на нейронних мережах. Для створення цієї моделі був використаний маркований набір даних, що доступний на сайті Kaggle. Попереднім опрацюванням тексту було: видалення стоп-слів, приведення всіх слів до нижнього регістру, видалення цифр та пунктуації з тексту. Далі текст векторизується за допомогою словника Glove. Модель включає в себе шар вбудування, який використовується для перетворення послідовності слів в вектори фіксованої довжини. Наступний LSTM - це рекурентний шар, який допомагає моделі зберігати довгострокову залежність в тексті. Цей шар обробляє текст як зліва направо, так і справа наліво, і повертає послідовні виходи для кожного часового кроку, а не лише для останнього. Це дозволяє моделі мати доступ до інформації з минулих і майбутніх часових кроків одночасно. Після LSTM використовується GRU, який також є рекурентним шаром, але вирішує проблему зникнення градієнта. GRU також є двонапрямленим і використовується для отримання подвійного контексту тексту. Після рекурентних шарів в моделі використовуються два повнозв'язних шари. Перший Dense шар має 128 нейронів і активацію ReLU, а другий Dense шар має 1 нейрон і активацію Sigmoid. Останній шар використовується для бінарної класифікації тексту, а саме визначення сарказму, оскільки він видає значення від 0 до 1, що вказує на відсоток сарказму у тексті. Ця архітектура моделі допомагає вивчати складні залежності в тексті завдяки використанню рекурентних шарів і двонапрямленого підходу, що дозволяє враховувати контекст як зліва, так і справа від кожного слова в тексті. Гібридна нейронна мережа показує високу точність визначення сарказму. Точність моделі на тренувальному сеті = 92% Точність на тестувальному сеті = 83% Матриця невідповідності: (4049¦940 511¦3086 ) 4049 записів правильно визначено як саркастичні. 3086 записів правильно визначено як несаркастичні. 511 записів неправильно визначено як саркастичні. 940 записів неправильно визначено як не саркастичні. Спрацювання на саркастичних даних рівне 81%. Спрацювання на не саркастичних даних рівне 86%. Система пройшла тестування, верифікацію та валідацію, а також розгорнута у веб-застосунку. У майбутньому можливо розглядати додаткові аспекти тексту, такі як кількість знаків питання, оклику і крапок. Також можна враховувати нові синтаксичні особливості, що ґрунтуються на включених у текст вставних словах (наприклад, "oh" і "wow") та виразах сміху (як "lol," "hahaha," "rofl"). Смайлики та хештеги також можна розглядати як характеристики тексту. Для майбутніх версій продукту рекомендується розширити спектр текстових особливостей, таких як мовні вирази. Крім того, сарказм може бути мультимодальним і включати в себе зображення та GIF. Це особливо актуально для соціальних мереж, таких як Twitter, де відповіді на твіти часто супроводжуються GIF і відео. Таким чином, є необхідність розширити систему, включаючи методи виявлення сарказму в мультимодальному контексті. Дані з соціальних мереж щодо сарказму також можуть включати аналіз смайликів, оскільки вони можуть додавати більше смислу до тексту. Необхідно навчити модель враховувати смайлики.

The task of detecting sarcasm is difficult because there are no obvious cues for it, such as intonation, facial expressions, or gestures. The application of sarcasm detection can benefit many areas of NLP. Sarcasm is a serious obstacle to improving the accuracy of sentiment analysis, especially in social networks, it often depends on the tone of voice, facial expressions, and gestures that cannot be conveyed in writing. Understanding the true sentiments of online conversations can help businesses process customer feedback and gain insights to improve their marketing strategy. [4,5] From a cybersecurity and defense perspective, sentiment analysis can serve as an important signal to identify problems or possible actions of attackers on the Internet. Recognizing sarcastic expressions can be useful in improving the automatic analysis of social media sentiment, helping to serve customers more effectively, and understanding their intentions and views during the automated analysis of their feedback or complaints. Sarcasm detection tools allow companies to analyze the sentiments of customers about their products, which in the future will help improve the quality of the product. [9,10,11] Goal of the research: creation of software for determining sarcasm in the text. Scope of the research are the methods of detecting sarcasm in the text and the development of a system for determining sarcasm in English-language text. Study object is the process of determining sarcasm in an English-language text. The result of the work is a system for detecting sarcasm in text, developed in the Python programming language. This system uses a model that is based on neural networks. A labeled data set available on Kaggle was used to create this model. Preliminary processing of the text was: removal of stop words, reduction of all words to lowercase, removal of numbers and punctuation from the text. Next, the text is vectorized using the Glove dictionary. The model includes an embedding layer that is used to convert a sequence of words into vectors of fixed length. The next LSTM is a recurrent layer that helps the model preserve the long-term dependence on the text. This layer handles both left-to-right and right-to-left text and returns sequential outputs for each time step, not just the last one. This allows the model to have access to information from past and future time steps simultaneously. After the LSTM, a GRU is used, which is also a recurrent layer, but solves the gradient vanishing problem. GRU is also bidirectional and is used to obtain the dual context of the text. After recurrent layers, two fully connected layers are used in the model. The first Dense layer has 128 neurons and ReLU activation, and the second Dense layer has 1 neuron and Sigmoid activation. The last layer is used for the binary classification of the text, namely the detection of sarcasm, as it outputs a value between 0 and 1, indicating the percentage of sarcasm in the text. This model architecture helps learn complex dependencies in the text by using recurrent layers and a bidirectional approach that allows for context to both the left and right of each word in the text. Hybrid neural network shows high accuracy of sarcasm detection. Accuracy of the model on the training set = 92% Accuracy on test set = 83% Inconsistency matrix: (4049¦940 511¦3086 ) 4049 entries are correctly identified as sarcastic. 3086 entries correctly identified as non-sarcastic. 511 entries incorrectly identified as sarcastic. 940 entries were incorrectly identified as non-sarcastic. The response to sarcastic data is 81%. The response to non-sarcastic data is 86%. The system has been tested, verified, and validated, and is also deployed in a web application. In the future, it is possible to consider additional aspects of the text, such as the number of question marks, exclamation marks, and periods. New syntactic features based on inserted interjections (such as "oh" and "wow") and expressions of laughter (such as "lol," "hahaha," "rofl") can also be considered. Emoticons and hashtags can also be considered text features. For future versions of the product, it is recommended to expand the range of text features, such as language expressions. In addition, sarcasm can be multimodal and include images and GIFs. This is especially true for social networks like Twitter, where replies to tweets are often accompanied by GIFs and videos. Thus, there is a need to expand the system, including methods for detecting sarcasm in a multimodal context. Social media data on sarcasm can also include emoticon analysis, as they can add more meaning to text. It is necessary to teach the model to take emoticons into account.
A system for determining sarcasm in an English-language text
Keywords: 8.124.00.03; Визначення сарказму; LSTM; GRU; векторизація Glove; NLP; Sarcasm detection; LSTM; GRU; Glove vectorization; NLP