Comparative analysis of the results obtained when solving the problem of analyzing the sentiment of a text using convolutional and recurrent neural networks
Authors: Меняйлов Д.В. , Преображенский А.П. 
Published: July 2024

В современном мире существуют различные средства коммуникации: электронные устройства, web- и мобильные приложения (интернет-форумы, чаты, блоги, социальные сети). В результате возникает огромное количество информации о самих пользователях, их отношении к другим людям, событиям, происходящим в мире. Данная информация может быть полезна при моделировании процессов, происходящих в обществе, прогнозировании поведения людей. В связи с тем, что информация, находящаяся в интернете, во многих случаях представлена в виде текста на естественном языке, необходимо использовать методы компьютерной лингвистики. Например, по тексту требуется определить, какую эмоцию он несет. Для этого достаточно будет классифицировать эмоцию на позитивную и негативную. В работе дан анализ подходов, которые могут при этом использоваться: сверточные нейронные сети (Convolutional Neural Networks) и рекурентные нейронные сети (Recurrent Neural Network). Авторами составлен алгоритм обработки текста на естественном языке. Созданный в работе программным образом алгоритм реализуется с помощью Word2Vec, SQLite, Python: Gensim, Keras, функция активации ReLU, функция оптимизации Adam. Даны рекомендации по предварительной обработке текста на естественом языке (приведение к нижнему регистру, замена «ё» на «е», замена ссылок на токен «URL», замена упоминания пользователя на токен «USER», удаление знаков пунктуации), чтобы осуществлять полноценный анализ тональности текста. Показаны основные этапы алгоритма анализа тональности текста. В статье продемонстрирован пример фрагментов программного кода, описывающих работу ключевых этапов алгоритма. Проведено сравнение результатов применения сверточной нейронной сети и рекуррентной нейронной сети. Они продемонстрировали, что, с точки зрения определения позитивной, негативной, нейтральной тональности, лучшими характеристиками по точности обладает сверточная нейронная сеть.
In the modern world, there are various means of communication: electronic devices, web and mobile applications (Internet forums, chats, blogs, social networks). As a result, there is a huge amount of information about the users themselves, about their attitude to other people, to events taking place in the world. This information can be useful in modeling the processes occurring in society, predicting people's behavior. Due to the fact that the information on the Internet is in many cases presented in the form of a text in a natural language, it is necessary to use the methods of computational linguistics. For example, according to the text, it is required to determine what emotion it carries. To do this, it will be enough to classify the emotion into positive and negative. The paper analyzes the approaches that can be utilized in this case: Convolutional Neural Networks and Recurrent Neural Networks. The authors have compiled an algorithm for processing text in natural language. The algorithm, programmatically created in the work, is implemented using Word2Vec, SQLite, Python: Gensim, Keras, ReLU activation function, Adam optimization function. Recommendations are given for the pre-processing of natural language text (converting to lower case, replacing "ё" with "e", replacing links to the "URL" token, replacing the username with the "USER" token, removing punctuation marks) in order to carry out a complete tonality analysis of the text. The main stages of the text sentiment analysis algorithm are shown. The paper demonstrates an example of code fragments describing the operation of the algorithm key stages. Comparison of the results of a convolutional neural network and a recurrent neural network application is carried out. They demonstrated that in terms of determining positive, negative, neutral tonality, the convolutional neural network has the best characteristics in terms of accuracy.