Научная статья на тему 'РАЗРАБОТКА ПОДХОДА К СЕНТИМЕНТ-АНАЛИЗУ ТЕКСТОВЫХ РЕСУРСОВ СОЦИАЛЬНЫХ СЕТЕЙ'

РАЗРАБОТКА ПОДХОДА К СЕНТИМЕНТ-АНАЛИЗУ ТЕКСТОВЫХ РЕСУРСОВ СОЦИАЛЬНЫХ СЕТЕЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
202
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕНТИМЕНТ-АНАЛИЗ / НЕЙРОННАЯ СЕТЬ / СОЦИАЛЬНАЯ СЕТЬ / МИКРОСЕРВИС

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Константинов А.А., Мошкин В.С.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Константинов А.А., Мошкин В.С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

AN APPROACH TO SENTIMENTAL ANALYSIS OF TEXT RESOURCES OF SOCIAL NETWORKS

The paper presents the implementation of a system for determining the sentiment of texts in a social net-work. The paper describes the microservice architecture of the system, which consists of a microservice for forming a training sample and a microservice for determining the sentiment of texts. The work also presents the results of experiments confirming the effectiveness of the developed approaches.

Текст научной работы на тему «РАЗРАБОТКА ПОДХОДА К СЕНТИМЕНТ-АНАЛИЗУ ТЕКСТОВЫХ РЕСУРСОВ СОЦИАЛЬНЫХ СЕТЕЙ»

УДК 004.89, 004.912

А. А. КОНСТАНТИНОВ, В. С. МОШКИН

РАЗРАБОТКА ПОДХОДА К СЕНТИМЕНТ-АНАЛИЗУ ТЕКСТОВЫХ РЕСУРСОВ СОЦИАЛЬНЫХ СЕТЕЙ

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

Ключевые слова: сентимент-анализа, нейронная сеть, социальная сеть, микросервис.

Работа выполнена при финансовой поддержке РФФИ, гранты № 18-47-730035 и 18-47-732007.

Введение

В настоящее время анализ больших данных социальных сетей является неотъемлемой частью маркетинговых исследований. По статистике от 60% до 70% пользователей изучают отзывы о товарах перед покупкой. Обычно покупатели доверяют отзывам вдвое больше, чем словам в описании продукта на веб-сайте. Доля пользователей, ищущих информацию о сервисе, и отзывы тех, кто уже пользовался этим сервисом, приближается к 90%.

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

Анализ тональности текста — это задача классификации. В настоящее время лучшие результаты классификации текстов по нескольким критериям демонстрируют алгоритмы машинного обучения.

Алгоритм формирования обучающей выборки и архитектуры использованных нейронных сетей подробно описаны в работах [4], [5] и [8].

В данной работе будет рассмотрен процесс реализации системы определения тональности текстовых сообщений социальных сетей.

1. Использование нейронных сетей при анализе эмоциональной окраски текстовой информации

Отечественные и зарубежные исследователи часто обращаются к методам машинного обуче-

© Константинов А. А., Мошкин В. С., 2021

ния в задачах сентимент-анализа. На этапе векторизации текста чаще всего используются алгоритмы «мешок слов», Word2Vec [16] и вариации метода BERT [6]. Среди архитектур нейронных сетей наиболее популярными являются модели Conditional Random Fields [1], свер-точные [10], а также рекуррентные нейронные сети [13] .

В исследовании [7] для решения задачи сен-тимент-анализа коротких текстовых сообщений длиной до 140 символов авторами применяются две модели нейронных сетей: одна из них состоит из двух рекуррентных слоёв (эффективность анализа составила 69%), вторая - из свёрточного и рекуррентного слоя (эффективность анализа -71%). Обучающее множество при проведении экспериментов было размечено вручную.

Работа [2] включает описание программной системы сентимент-анализа текстовых сообщений социальной сети Twitter. Определение обучающей выборки производилось с учётом расстановки графических символов выражения эмоций (так называемых «смайлов» и «эмотико-нов»), используемых в качестве авторских маркеров эмоциональной окраски текстовых фрагментов. Текстовые фрагменты проходили этап векторизации с помощью метода «мешок слов», а в качестве классификаторов использовались следующие модели: многослойный перцептрон, логистическая регрессия и дерево решений. Эффективность представленного подхода составила 75%.

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

2 Реализация системы анализа тональности текстов

В рамках данного исследования был разработан прототип системы для анализа тональности текстов. Прототип выполняет следующие функции:

Формирование обучающей выборки.

Векторизация текста с использованием моделей «word2vec» и «BERT».

Обучение и классификация с использованием нейросетевого подхода.

Система состоит из двух микросервисов, связанных между собой:

Микросервис формирования обучающей выборки.

Микросервис определения тональности текстов.

Реализация микросервиса формирования обучающей выборки

Микросервис формирования обучающей выборки был реализован с использованием фреймворка Spring Boot на языке программирования Java.

Микросервис использует базу данных, в которой содержатся словари авторских символов выражения эмоций и ключевых фраз, а так же стоп слова и тексты, полученные из социальной сети «ВКонтакте». Диаграмма «сущность-связь» разработанной базы данных показана на рисунке 1.

г Emotions ^

id integer(10) U

^ keyword varchar(16384) (J)

fj emotion varchar(16384) (JO

ED nokey V bit (ffl

Stopwords '

id integer(10) Ц

J] keyword varcharf 16384) (й

f Authors_symbols N

id integer(10) и

fj] symbol varchar(16384) [JJ)

Ц emotion varchar(16384) и

\ /

id integer(10] U

Ш text varchar(1B384) Щ

--/ v-✓

Рис. 1. Диаграмма «сущность-связь»

Таблицы «Emotions» и «Authors_symbols» содержат словари авторских символов выражения эмоций и ключевых фраз. Атрибут «emotion» -название эмоции. Атрибут «nokey» — метка фраз, которые не должны встречаться в постах («чёрный» список).

Таблица «Stopwords» содержит словарь стоп-слов. Таблица «Texts» содержит посты для обработки.

Процесс отбора постов состоит из нескольких этапов. Каждый этап отбора включает процессы отбора постов для каждой конкретной эмоции.

Отбор постов происходит в 7 потоков (количество потоков равно количеству эмоций). Алгоритм формирования обучающей выборки включает следующие этапы:

Считывание словарей из БД и их передача в каждый поток для последующей обработки.

Предобработка текстовых сообщений (лемма-тизация, приведение к нижнему регистру и пр.).

Считывание текстовых сообщений из БД и их отбор с использованием словарей авторских символов выражения эмоций. Текстовые сообщения считываются из БД наборами по 100 тыс.

Отбор текстовых сообщений, поступивших с предыдущего этапа, с использованием словаря ключевых фраз, основанного на семантическом тезаурусе WordNetAffect [17].

После завершения работы всех потоков результаты объединяются в общий список, и формируется файл в формате CSV. Далее файл отправляется в микросервис определения тональности текстов, а также возвращается пользователю в интерфейс.

Реализация микросервиса определения тональности текстов

Микросервис определения тональности текстов был реализован с использованием фреймворка Django на языке программирования Python.

Микросервис выполняет предобработку текстов с помощью алгоритмов «BERT» или «word2vec», обучение выбранной модели архитектуры нейронной сети и определение тональности текстов с помощью обученной модели.

Обучение нейронной сети происходит в несколько этапов:

На первом этапе выполняется предобработка текстов с помощью алгоритмов «BERT» или «word2vec». Обучающая выборка преобразуется в набор векторов с помощью выбранного алгоритма. Алгоритм «word2vec» преобразует каждое слово в вектор, а алгоритм «BERT» преобразует каждый слой в вектор.

На втором этапе происходит разделение пре-добработанной выборки на обучающую и тестовую.

На третьем этапе происходит обучение нейронной сети с помощью обучающей выборки и определение точности модели с помощью тестовой выборки. Посты из тестовой выборки не фигурируют в обучающей выборке.

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

В ходе работы были использованы различные архитектуры нейронных сетей для определения тональности текстов, состоящие из следующих слоёв: LSTM, GRU, Bidirectional LSTM, CNN, MLP.

В отличие от обычных слоёв из нейронов, рекуррентный слой состоит из блоков, которые выполняют различные математические операции над сигналами, и сохраняет информацию для последующего использования, предотвращая постепенное затухание сигналов [13].

GRU - рекуррентный слой, который обычно запоминает недавнее прошлое лучше, чем более отдалённое, и соответственно более свежая информация имеет большее значение [12].

В отличие от обычной LSTM сети, в двунаправленной нейронной сети используются 2 LSTM слоя, которые объединяются слоем Bidirectional, просматривают входную последовательность в обоих направлениях и получают более насыщенные представления.

Свёрточная нейронная сеть включает ядро свертки небольшого размера. Данное ядро перемещается по всей входной матрице и формирует после каждого сдвига сигнал активации для нейрона следующего слоя с аналогичной позицией [CNN, 2018]. Схематично архитектура свёрточ-ной нейронной сети представлена на рисунке 2.

Embedding ConvlD MaxPoolinglD QmvlD MasPoolinglD Flatten Dropout Dense

JpD

О

о о

юю юю

ОсО-п

OvO-U

Рис. 2. Архитектура свёрточной нейронной сети

Многослойный персептрон - полносвязная сеть, в которой каждый нейрон текущего слоя связан с каждым нейроном следующего слоя. Принцип работы многослойного персептрона подробнее описан в [14].

Для распознания текста применяют архитектуру нейронной сети, в которой перед LSTM слоем добавляют свёрточный слой и субдискре-тизирующий слой. Свёрточный слой использу-

ется для выделения признаков, а LSTM слой уже работает с выделенными признаками.

Пример работы алгоритма формирования обучающей выборки

Рассмотрим пример разработанного алгоритма формирования обучающего множества. В качестве входных представим 7 текстовых сообщений, представленных в таблице 1.

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

Далее проводится отбор текстовых сообщений с использованием расширенного словаря WordNetAffect. Результат отбора представлен в таблице 2.

Таблица 1

Отбор текстовых сообщений с использованием авторских символов выражения эмоций

Текст Эмоция

за год я убила две пары кед Грусть

закрытие сезона прошло отлично Радость

мой организм продолжает бунтовать Злость

июль с августом вышли очень продуктивными —

фотографии хорошо отражают внутреннее состояние —

вот почему у нас так грязно —

я люблю лето Радость

Таблица 2

Отбор текстовых сообщений с использованием расширенного словаря WordNetAffect

Текст Эмоция

за год я убила две пары кед □ —

закрытие сезона прошло Радость

отлично □

мой организм продолжает бунтовать □ —

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

я люблю лето □ Радость

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

3 Результаты экспериментов

В экспериментах было проведено сравнение точности классификации постов социальной сети с помощью различных архитектур нейронной сети. Для формирования обучающей выборки были использованы наилучшие параметры: длина поста 90-110 символов, не удалять стоп-слова, метод векторизации BERT.

В ходе работы происходило обучение нейронной сети на обучающей выборке и оценка точности на тестовой выборке. В результате проведения экспериментов была получена точность для каждой архитектуры нейронной сети на тестовой выборке. Точность классификации на обучающей выборке у всех архитектура равна 1.0.. Результаты экспериментов представлены в таблице 3.

Таблица 3 Точность на тестовой выборке

Нейронная сеть Точность

LSTM (рекуррентная) 0,82

Bidirectional LSTM 0,84

(двунаправленная рекуррентная)

CNN (свёрточная) 0,86

MLP (многослойный персеп-трон) 0,87

GRU (рекуррентная) 0,81

Bidirectional GRU 0,84

(двунаправленная рекуррентная)

LSTM & CNN (свёрточная 0,85

и рекуррентная)

Как видно из результатов проведённых экспериментов, лучшая точность классификации постов социальной сети по 7 человеческим эмоциям достигается при использовании многослойного персептрона.

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

Для экспериментов была сгенерирована обучающая выборка с наилучшими параметрами: длина поста 90-110 символов, не удалять стоп-слова. На сформированной выборке были обучены 2 модели классификации: нейронная сеть со свёрточным и рекуррентным слоями и наивный байесовский классификатор. Обе модели были разработаны на языке Python. Размер тестовой выборки для обеих моделей - 20%.

Из предыдущего эксперимента видно, что точность классификации постов социальной сети по 7 человеческим эмоциям с помощью разработанного подхода (в качестве нейронной сети бу-

дем использовать архитектуру со свёрточным и рекуррентным слоями) - 0,86.

Для обучения байесовского классификатора была использована та же выборка, что и для разработанного подхода. Тексты были предобрабо-таны с помощью алгоритма «мешок слов» с использованием биграмм. Далее классификатор был обучен на обучающей выборке, содержащей классификацию текстов по 7 человеческим эмоциям. Точность классификации составила - 0,38.

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

Заключение

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

Лучший результат классификации достигается при использовании многослойного персеп-трона для классификации текстов. Точность классификации текстовых постов социальной сети с использованием многослойного персеп-трона равна 87%.

Сравнение с классическим методом показывает, что разработанный подход значительно превосходит классический метод классификации - наивный байесовский классификатор.

СПИСОК ЛИТЕРАТУРЫ

1. Антонова А., Соловьев А. Использование метода условных случайных полей для обработки текстов на русском языке. Компьютерная лингвистика и интеллектуальные технологии: «Диалог-2013» // Сб. научных статей / Вып. 12 (19). - М.: Изд-во РГГУ, 2013.- С. 27-44.

2. Богданов А. Л., Дуля И. С. Сентимент-анализ коротких русскоязычных текстов в социальных медиа // Вестн. Том. гос. ун-та. Экономика. - 2019. - №47. - С. 159-168.

3. Власов Д. А. и др. Описание информационного образа пользователя социальной сети с учётом его психологической характеристики //International Journal of Open Information Technologies. - 2018. - Т. 6, №4.

4. Константинов А. А. Подход к формированию обучающей выборки для оценки эмоциональной окраски постов социальной сети с

применением машинного обучения // Сборник трудов международной конференции ИТНТ. 2020.

5. [Константинов и др, 2020] Применение языковой модели BERT в задаче сентимент-анализа постов социальной сети // Сборник трудов международной конференции КИИ. 2020.

6. [Konstantinov et al., 2020] Approach to the use of language models BERT and word2vec in sentiment analysis of social network texts // International Conference on Information Technologies ICIT-2020: Information and Communication Technologies for Research and Industry. 2020.

7. Смирнова О. С., Шишков В. В. Выбор топологии нейронных сетей и их применение для классификации коротких текстов // International Journal of Open Information Technologies. - 2016. - №8. - С. 50-54.

8. Ярушкина Н. Г., Мошкин В. С., Константинов А. А. Применение языковых моделей word2vec и bert в задаче сентимент-анализа текстовых сообщений социальных сетей // Автоматизация процессов управления. - 2020. - №3 (61).

9. Rani Horev BERT Explained: State of the art language model for NLP [Электронный ресурс]. -Режим доступа: https://towardsdatascience. com/bert-explained-state-of-the-art-language-model-for-nlp-f8b21a9b6270 (дата обращения: 20.02.2021)

10. A Comprehensive Guide to Convolutional Neural Networks [Электронный ресурс]. - Режим доступа: https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53 (дата обращения: 26.02.2021).

11. Devlin J. et al. Bert: Pre-training of deep bidirectional transformers for language understanding //arXiv preprint arXiv:1810.04805. - 2018.

12. [GRU, 2018] Illustrated Guide to LSTM's and GRU's: A step by step explanation [Электронный ресурс]. - Режим доступа:

https://towardsdatascience.com/illustrated-guide-to-lstms-and-gru-s-a-step-by-step-explanation-44e9eb85bf21 (дата обращения: 26.02.2021).

13. Understanding LSTM Networks [Электронный ресурс]. - Режим доступа: http://colah.github.io/posts/2015-08-Understanding-LSTMs (дата обращения: 26.02.2021).

14. Understanding of Multilayer perceptron [Электронный ресурс]. - Режим доступа: https: //medium. com/@AI_with_Kain/understanding -of-multilayer-perceptron-mlp-8f179c4a 135f (дата обращения: 26.02.2021).

15. Sabuj M.S., Afrin Z., Hasan K.M.A. (2017) Opinion Mining Using Vector Machine for Web Based Diverse Data. / Pattern Recognition and Machine Intelligence. PReMI 2017. Lecture Notes in Computer Science, vol 10597. Springer, pp. 673-678.

16. Алгоритм Word2Vec [Электронный ресурс]. - Режим доступа: https://neurohive.io/ ru/osnovy-data-science/word2vec-vektornye-predstavlenij a-slov-dlj a-mashinnogo-obuchenij a/ (дата обращения: 20.02.2021)

17. WordNetAffect [Электронный ресурс]. -Режим доступа: http://wndomains.fbk.eu/ wnaffect.html (дата обращения: 20.02.2021).

Константинов Андрей Алексеевич, магистрант кафедры «Информационные системы», УлГТУ.

Мошкин Вадим Сергеевич, кандидат технических наук, доцент кафедры «Информационные системы», УлГТУ.

Поступила 15.09.2021 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.