Социальное картирование на основании анализа тональности комментариев в социальных сетях
А.В. Чижик, С.А. Мельникова, В.П. Захаров
Аннотация— Статья посвящена описанию результатов тестирования алгоритмов анализа тональности текстов, которые были применены к выкаченным из социальной сети ВКонтакте комментариям к постам в публичных сообществах, связанных с обсуждением новостной повестки дня города с сепарацией на районы. Авторами был собран датасет текстовых данных из 36 публичных групп. Конечная цель авторов - интерактивная карта, отражающая индекс социального самочувствия горожан. В связи с этим на первом этапе исследование было обращено на присутствующие в выбранной социальной сети тематические паблики с привязкой к геолокации. Авторы предлагают методику сбора данных, которая основана на анализе темпоритма невербальной коммуникации членов сообществ. На собранных данных проведено тестирующее исследование нескольких алгоритмов машинного обучения с целью выделения наиболее оптимального. В работе приведена статистика успешности работы алгоритмов (логистическая регрессия, случайный лес, метод опорных векторов), а также описаны способы оценки качества.
Ключевые слова— эмоциональное картирование, тематическое моделирование, оценка тональности, векторизация текста
I. Введение
Активное внедрение в повседневные практики индивидов концепта взаимодействия с виртуальной реальностью, которое выражается в перманентном коммуникативном процессе внутри социальных и новых медиа, открывает новые горизонты изучения человеческого поведения через анализ цифровых следов как нового источника данных. Количество изображений, аудио-файлов, видео и текста, попавших в онлайн-среду становится с каждым днем все больше, что предполагает разработку новых методов сбора, обработки, анализа и,
Статья получена 25 сентября 2022.
Чижик Анна Владимировна, кандидат культурологии, Санкт-Петербургский Государственный Университет, старший преподаватель, ОЯСГО 0000-0002-4523-5167 ([email protected]),
Захаров Виктор Павлович, канд. филол, наук, Санкт-Петербургский государственный университет, доцент кафедры математической лингвистики, ORCID 0000-00030522-7469 ([email protected]),
Мельникова Светлана Андреевна, Университет ИТМО, факультет информационных технологий и программирования, 0000-0001-73616517 ([email protected])
Статья подготовлена по итогам выступления на Международной объединённой конференции «Интернет и современное общество» (1М8-2022).
главное, применения этих данных. Исторически сложились предпосылки к тому, что язык стал самой простой и универсальной знаковой системой в современном мире для обмена информацией на индивидуальном и групповом уровнях. Поэтому количество текстовых данных, которые представлены в публичном онлайн-пространстве, достигает
максимального уровня по сравнению с другими формами фиксации и обмена информацией. Этот факт актуализирует исследования цифрового следа, оставленного именно в такой форме. Стоит отметить, что текст может иметь категориальные метки, такие как настроение (например, положительное или отрицательное), пол автора, присутствие культурных смещений, языковая категория или различные типы (например, спам или ветчина).
Одним из важнейших аспектов социологического анализа современных тенденций развития общества является изучение социального настроения населения, которое является в некотором смысле доминантой функционирующего сознания [1]. Это - один из интегральных показателей восприятия населением социальных и экономико-политических процессов, который выступает индикатором определения уровня благополучия, социальной устроенности общества. На основании исследований социального настроения можно проследить энергетические потенциалы общества, которые, отталкиваясь от быстроизменяющейся ситуации в стране и мире, способны перерастать в процессы, формирующие политический строй и такие институты как гражданское общество.
Необходимо различать два понятия, используемых в социологии, психологии и философии: индивидуальное настроение и групповое, которые часто связаны друг с другом за счет цепной реакции, свойственной в поведении любого социума. Большой рывок в изучении механизмов формирования индивидуального настроения сделал советский психолог и философ Д.Н. Узнадзе, который говорил о том, что на восприятии той или иной ситуации сказывается динамический стереотип восприятия, являющийся психофизической основой настроения индивида [2]. Таким образом, в настроении как целостной форме жизнеощущения человека находят свое выражение социальные процессы. В данном случае уже можно говорить о том, что индивидуальное настроение влияет на атмосферу в обществе, однако
надо понимать, что оно хотя и относительно устойчивое явление, но слабо выраженное или быстро угасающее. Значит, для оценки ситуации в стране следует обращаться к анализу социального настроения, которое формируется на основе индивидуального. Имеет смысл разделять следующие виды социального настроения: «групповое настроение», «политическое настроение», «массовое настроение» (В.А. Ядов) [3]. Надо отметить, что каждый из видов социального настроения имеет свое отражение на социально-психологическом климате общества и может проявляться как в глобальном ключе (митинги, восстания и пр.), так и в локальном. Б.Ф. Поршнев, философ и социолог, который ввел само понятие «социальное настроение» в русскую науку, делает следующий вывод: «социальное настроение - это эмоциональные состояния, связанные с осуществлением или неосуществленностью, с разными формами осуществления тех или иных надежд и чаяний, помыслов и замыслов. Как правило, социальное настроение - это эмоциональное отношение к тому, что стоит на пути, кто мешает, или, напротив, кто помогает воплощению желаемого в жизнь» [4]. То есть Поршнев подчеркивает присутствие субъекта и объекта настроения, что для социологической интерпретации очень важно.
Благодаря доступности интернета и простоте выражения мыслей в формируемом на его базисе виртуальном пространстве, интеграции социальных сетей в повседневные практики всех возрастных групп и, соответственно, возможности быстрого коллективного взаимодействия индивидов люди проводят в этом контексте большую часть своего времени [5, 6, 7]. Актуализированное социальными сетями смещение временных и пространственных ограничений приводит к быстрому распространению реакций общества на городскую повестку дня, это означает, что внутри публичных обсуждений появляется большой массив текстовых данных, который содержит эмоционально окрашенные комментарии пользователей, с зафиксированными тематическими отсылками [8]. Поэтому социальные медиа стали источником большого количества открытых данных, которые содержат неструктурированную (но поддающуюся анализу методами МЬР и машинного обучения) информацию о поведении аудитории на фоне возникающих публичных обсуждений информационной повестки дня и событий, окружающих их в локации проживания. Так мы можем получить ценную информацию о динамике функционирования социальной группы, такую как эмоции индивидов, сливающиеся в социальное настроение, и изменения в обществе (как глобальной структуры), которые базируются, как правило, именно на эмоциональном состоянии социальной группы.
Набор методов анализа настроений позволяет автоматически анализировать информацию,
распространяемую через социальные сети, для выявления полярности публикуемых мнений [9]. В последние годы эти технологии были расширены для
анализа других аспектов, таких как отношение пользователя к теме [10] и эмоционального состояния пользователей [11]. Таким образом, анализ настроений может позволить прогнозировать реакцию индивидов (а, значит, и социальных групп) на социальные и политические события.
Целью данного исследования была разработка методики сбора, предобработки данных и последующего анализа тональности комментариев пользователей. Таким образом, эмпирическая часть исследования была направлена на изучение механизма распространения эмоций через анализ активности взаимодействия и коммуникативных особенностей отношений индивидов в социальных сетях. В качестве практического результата был создан веб-сервис, представляющий из себя бета-версию интерактивной карты районов Санкт-Петербурга, размеченную по уровню эмоциональной напряженности с учетом полученной при анализе датасетов информации.
II. Данные
Нами было проведено исследование общественной активности жителей районов Санкт-Петербурга в коммуникативном пространстве социальной сети ВКонтакте. В выборку попали 36 публичных групп (по 2 крупные группы на один район). Для анализа поведенческих особенностей пользователей были построены тепловые карты активности постинга по дням недели, а также графики соотношения количества лайков и репостов (рис. 1).
Рис. 1. Слева: тепловая карта постов, сообщество города Кудрово, динамика постинга 2013-2021; справа: активность невербальной реакции индивидов на пост, соотношение лайков и репостов
Проведенное первичное исследование слабо структурированных текстовых данных (LDA) показало основной состав тем, обсуждаемых в группах, соотносящихся с районами города. Наиболее активное обсуждение строится вокруг трех основных тем: проблемы района, вопросы здравоохранения, семья.
В качестве промежуточного результата была разработана методология сбора текстовых данных, релевантная дальнейшей цели разметки собранного корпуса для нанесения информации об эмоциональном состоянии на карту. Было принято решение первично оценивать нулевой пост на предмет наличия ощутимой
реакции со стороны пользователей, если она есть, то мы выкачивали комментарии (сохраняя служебную информацию с целью при необходимости иметь возможность вручную проанализировать ретроспективу беседы). Это было сделано для того, чтобы оставить за пределами проводимого анализа посты бытового характера (например, сообщения про утерянные ключи, время работы районных администраций и т.п.).
Далее мы ввели временное ограничение и выкачали цепочки диалогов только за 12 ближайших к исследованию месяца. Так как было до конца неясно, какой алгоритм анализа тональностей нам подойдет (из-за специфики дискурса социальных сетей - короткие сообщения, часто присутствие ненормативной лексики без выраженной отсылки к негативу и т.п.). К тому же необходимо было получить минимальный тестовый результат, чтобы определиться, какой именно концепт разметки тональности комментариев нас устроит для создания веб-сервиса с картой социального настроения жителей.
Логика постинга комментариев во ВКонтакте
изображена на рис. 2.
Рис. 2. Структура взаимодействия поста, комментариев и комментариев к комментариям
Из схемы видно, что у n-го комментария могут быть также комментарии (и логически они связаны с ним). Встал вопрос, каким образом формировать итоговый датасет с необходимыми нам данными. Было принято решение оценивать на этом этапе анализа тональность всей группы комментариев. То есть в алгоритм мы считали нужным отправить комментарий #n в совокупности со всеми реакциями на него. Соответственно в итоге мы не оценивали реакцию социальной группы на n-го комментирующего, а ограничивались анализом общего эмоционального фона: иными словами, гипотеза заключалась в том, что вероятно через такую оценку тональности комментариев можно оценить уровень потенциальной агрессивности района.
Стоит также отметить, что по каждому району датасет собирался отдельно (в соответствии с дальнейшей целью нанести результаты на карту).
III. Анализ тональности комментариев
Анализ тональности текста является одной из востребованных NLP-задач. Однако, несмотря на ее частотное появление в исследованиях, она имеет достаточно много преломлений: например, алгоритм может «захватывать» и оценивать эмоциональную окраску текста пользователя, а может «склоняться» к определению, был ли комментарий положительный по
отношению к первоначальному контексту. Кроме того, тональность, содержащуюся в тексте, можно анализировать на уровне бинарной классификации (основа - выделение полярных пар, к примеру, «негативный-позитивный»), или детализировать на несколько классов (самая распространенная стратегия выделить три класса - «негативный», «нейтральный» и «позитивный», также часто используют пятибалльную шкалу - очень положительный, положительный, нейтральный, отрицательный и крайне отрицательный текст).
Мы остановились на гипотезе, что бинарной классификации будет достаточно на данном этапе анализа эмоционального состояния жителей района. В нашем исследовании был использован язык программирования python и его библиотеки для работы с текстом.
Стоит коротко отметить, что существует ряд методов, которые основаны на применениях правил для детекции тональности текста, это подразумевает наличие заранее составленных тональных словарей. В целом процесс является трудоемким и на данный момент практически не используется. Что касается методов машинного обучения, то они основаны на анализе признаков. Модель машинного обучения сопоставляет набор входных данных (признаков) с предиктором (целевой переменной). Цель этого процесса состоит в том, чтобы модель изучила шаблон или сопоставление между этими входными данными и целевой переменной, чтобы затем модель могла предсказать целевую переменную на новых данных. Классические методы машинного обучения используют алгоритмы классификации с однослойной нейронной сетью, глубокое обучение требует наличия нескольких слоев в нейронной сети (при этом первый скрытый слой - это встраиваемый слой (embedding layer), который содержит контекстную информацию). При этом, чем лучше метод улавливает нюансы контекста, тем выше точность классификации настроений. Существует несколько методов кодирования текста с целью более точной фиксации контекста.
В своем эксперименте мы остановились на классическом подходе к обучению, так как его преимущество заключается в автоматическом извлечении функций из необработанных данных с небольшой предварительной обработкой или без нее, а также такие методы требуют меньше ресурсов памяти.
Далее текстовые данные были поэтапно предобработаны по следующей схеме: 1) разбиение текстов реплик на токены; 2) удаление спецсимволов, ссылок и знаков пунктуации; 3) удаление стоп-слов; 4) нормализация токенов.
Для взаимодействия с текстом была выбрана библиотека SpaCy, которая на данный момент является одним из самых популярных решений при обработке текста, в частности, она помогает размечать части речи и выделять именованные сущности. Ниже приведен рисунок, иллюстрирующий логику обработки данных в SpaCy (рис. 3).
Рис. 3. Логика обработки данных SpaCy
Doc является центральной структурой данных в SpaCy, именно в нём хранятся последовательности токенов. Отметим, что для русского языка существует официальная модель от SpaCy, поддерживающая все основные операции. SpaCy автоматически присваивает выделенным токенам 300-мерные векторы на основе вложений слов GloVe. Поэтому задача генерации матрицы вложений для предложения видится довольно простой. Однако такой интуитивный подход не работает для небольших наборов данных. Проблема заключается в том, что по мере увеличения длины предложения количество признаков (т.е. размер матрицы) резко возрастает. Средняя длина предложения в собранных наборах данных - 13 слов. Выходит, что созданная матрица будет иметь размер (13, 300), с 3900 элементами. Поэтому мы нашли среднее значение матрицы для каждого элемента, и в итоге получили 300-мерный «средний» вектор для каждого предложения. Метрикой качества для обучаемой модели была выбрана AUC ROC, которую можно интерпретировать как вероятность того, что элемент с положительной классификацией на самом деле является положительным, и насколько вероятно, что элемент с отрицательной классификацией является отрицательным (иными словами, показатель равен доле пар объектов вида «объект класса 1, объект класса 0», которые алгоритм верно упорядочил). Такая оценка более правильна в данной задаче, так как учитывает несбалансированность в наборе данных. Это важно, так как видится логичным, что большинство комментариев будут «притягиваться» к одному из классов в силу специфики выбранного дискурса.
IV. Результаты эксперимента
Мы протестировали работу трех алгоритмов: логистическая регрессия, случайный лес и метод опорных векторов. Ниже представлена статистика успешности (рис. 4).
время обучения апгармтма (s)
Training S«t Sin
Рис. 4. Сравнение качества работы алгоритмов
Из графиков видно, что SVC является лучшим, но определение нового пространства признаков влечет за собой значительные вычислительные затраты, а
обучение занимает в 35 раз больше времени, чем логистическая регрессия (для относительно небольшого улучшения 0,01 AUC ROC). Второй по успешности алгоритм - логистическая регрессия. Стоит также отметить, что точная настройка этой модели была довольно простой, так как у нее есть только один параметр, который действительно можно изменить (обратное значение силы регуляризации). Этот параметр контролирует, насколько могут варьироваться коэффициенты. Это предотвращает переоснащение данных. Логистическая регрессия дала следующую кривую обучения (рис. 5):
0 500 1000 1500 2000 2500 3000
"raining sec size
Рис. 5. Анализ успешности работы логистической регрессии
Графики показывают успех модели в обучающем наборе и наборе перекрестной проверки (набор перекрестной проверки был сделан с 20% данных) при увеличении обучающего набора со 100 образцов до всех доступных обучающих данных (80%). Успех этого алгоритма подкрепляется тем, что использование среднего значения векторов слов в предложении является эффективным способом уловить настроение в предложении, поскольку оно линейно отображает, было ли предложение положительным.
V. Заключение
В ходе исследования нами были сравнены алгоритмы, используемые для оценки тональности текста. В дальнейшем, для исследования будет использоваться логистическая регрессия, так как она показала оптимальный результат. За пределами данного эксперимента остался анализ методов глубокого обучения, но для решения текущих задач такие модели видятся избыточными.
В итоге мы получили размеченный датасет с двумя новыми признаками: класс тональности (негативный/позитивный) и процент вероятности отношения к этому классу (использовалась для дальнейшего картирования). Реализация получившегося веб-сервиса в бета-режиме доступна по адресу https ://frantsuzova. github. io/spb. map/.
Далее мы планируем выбрать более сложную формулу определения эмоциональной составляющей онлайн-дискурса жителей района и разработать методику комплексной оценки социального настроения
горожан.
Библиография
[1] Чижик А.В. Факторы формирования социального настроения на основе анализа эмоциональной окраски постов в русскоязычном Twitter // Новые информационные технологии в автоматизированных системах. М., 2016. С. 61-64.
[2] Узнадзе Д.Н. Психология установки. СПб., 2001.
[3] Ядов В.А. Идеология как форма духовной деятельности общества. Изд. ЛГУ. Л., 1961.
[4] Поршнев Б. Ф. Социальная психология и история. М., 1979.
[5] Wu L., Zhang Q., Chen C.-H., Guo K., Wang D. Deep learning techniques for community detection in social networks // IEEE Access. 2020. Vol. 8. P. 96016-96026. DOI: 10.1109/ACCESS.2020.2996001.
[6] Tan Q., Liu N., Hu X. Deep representation learning for social network analysis // Front. Big Data. 2019. Vol. 2. DOI: 10.3389/fdata.2019.00002.
[7] Ramadhani A.M., Goo H.S. Twitter sentiment analysis using deep learning methods // Proceedings of the 2017 7th International Annual Engineering Seminar (InAES). Yogyakarta, Indonesia. 1-2 August 2017. P. 1-4.
[8] Чижик А.В. Циркулярные реакции внутри социальных медиа: влияние сетевых коммуникаций на формирование гендерных стереотипов // Автоматическая обработка текстов. Материалы научно-практического семинара «Новые информационные технологии в автоматизированных системах». М., 2018. С. 187193.
[9] Liu B. Sentiment analysis and opinion mining // Synth. Lect. Hum. Lang. Technol. 2012. No. 5, P. 1-167.
[10] Mohammad S., Bravo-Marquez F., Salameh M., Kiritchenko S. Semeval-2018 task 1: Affect in tweets // Proceedings of the 12th International Workshop on Semantic Evaluation. New Orleans, LA, USA, 5-6 June 2018. P. 1-17.
[11] Cambria E., Poria S., Hussain A., Liu B. Computational Intelligence for Affective Computing and Sentiment Analysis // IEEE Comput. Intell. Mag. 2019. No. 14. P. 16-17.
Social Mapping Based on Sentiment Analysis of Comments in Social Media
A.V. Chizhik, S.A. Melnikova, V.P. Zakharov
Abstract— The paper is devoted to the testing results of the sentiment analysis algorithms. They were applied to downloaded from the social network VKontakte comments. Comments were written on posts in public communities related to the discussion of the news agenda of the city with separation into districts. The authors collected the dataset with text data from 36 public groups. The ultimate goal of the authors is an interactive map that reflects the index of social well-being of citizens. In this regard, at the first stage, the study was focused on thematic publics present in the selected social network with reference to geolocation. The authors propose the data collection technique based on the analysis of the tempo-rhythm of non-verbal communication of community members. Based on the collected data, the testing study of several machine learning algorithms was carried out in order to identify the most optimal one. The analysis of deep learning methods remained outside the scope of this experiment, but such models seem redundant for solving current problems. The authors also describe reflections on the topic of text vectorization methods, since the correct vectorization model can improve performance and sentiment analysis. In general, the paper presents statistics on the success of the algorithms (logistic regression, random forest, support vector machine), and also describes methods for assessing quality. The implementation of the resulting web service in beta mode is available on GitHub.
Keywords— social mapping, topic modeling, sentiment analysis, word embedding, nlp.
REFERENCES
[1] A.V. Chizhik, "Factors in the formation of social mood based on the analysis of the emotional coloring of posts in the Russian-language Twitter", in New information technologies in automated systems, M., 2016, pp. 61-64.
[2] D.N. Uznadze, Psychology of installation, SPb., 2001.
[3] V.A. Yadov, Ideology as a form of spiritual activity of society, L.: Izdatelstvo LGU, 1961.
[4] B.F. Porshnev, Social psychology and history, M., 1979.
[5] L. Wu, Q. Zhang, C.-H. Chen, K. Guo, D. Wang, "Deep learning techniques for community detection in social networks", IEEE Access, vol. 8, pp. 96016-96026, 2020, doi: 10.1109/ACCESS.2020.2996001.
[6] Q. Tan, N. Liu, X. Hu, "Deep representation learning for social network analysis", Front. big data, vol. 2, 2019, doi: 10.3389/fdata.2019.00002.
[7] A.M. Ramadhani, H.S. Goo, "Twitter sentiment analysis using deep learning methods", in Proceedings of the 2017 7th International Annual Engineering Seminar (InAES),Yogyakarta, Indonesia, 1 -2 August 2017, pp. 1-4.
[8] A.V. Chizhik, "Circular reactions within social media: the impact of network communications on the formation of gender stereotypes", in Automatic text processing. Materials of the scientific-practical seminar "New information technologies in automated systems", M., 2018, pp. 187-193.
[9] B. Liu, "Sentiment analysis and opinion mining", Synth. Lect. Hum. Lang. Technol, no. 5, pp. 1-167, 2012.
[10] S. Mohammad, F. Bravo-Marquez, M. Salameh, S. Kiritchenko, "Semeval-2018 task 1: Affect in tweets", in Proceedings of the 12th International Workshop on Semantic Evaluation, USA: New Orleans, LA, , 5-6 June 2018, pp. 1-17.