Detection of Depression Among Social Network Users Using Machine Learning Methods

Cover Page

Cite item

Full Text

Abstract

Statistical data provided by the FSBI “NMITSPN named after V.P. Serbsky” of the Ministry of Health of Russia indicate that depression, as a psychoemotional state, is the main cause of concern around the world, which in most cases leads to suicide, if not detected, and to a threat to others. Studies show that depression tends to have an impact on writing style and appropriate language use. The main purpose of the proposed study is to study user messages on the VKontakte social network and identify attributes that may indicate depressive symptoms of users. The article uses machine learning approaches (logistic regression, random forest, support vector machine, XGBoost) and natural language processing methods (removal of stop words, character deletion, tokenization, lemmatization) to prepare data and evaluate their effectiveness. The work demonstrated that the ability to search for depressed users with an accuracy of 77% using the XGBoost classifier. This method is combined with other linguistic functions (N-gram + TF-IDF) and LDA to achieve higher accuracy. In conclusion, the main conclusions of the study are formulated.

Full Text

ВВЕДЕНИЕ

Депрессивность, как психоэмоциальное состояние, является серьезной проблемой общественности во всем мире из-за ее распространенности. Согласно информации, предоставленной Федеральным государственным бюджетным учреждением «Научно-методический центр по психиатрии имени В.П. Сербского» Министерства здравоохранения России, которое отвечает за предоставление Всемирной организации здравоохранения (ВОЗ) данных о распространении депрессивных состояний среди населения, 5,5% российского населения страдает данным психическим расстройством. Замечено, что примерно такое же количество людей, страдающих депрессией, остаются незамеченными для медицинских специалистов, согласно мнению психиатров1. Согласно исследованиям ВОЗ, существует значительная корреляция между частотой депрессивных заболеваний и уровнем смертности от самоубийств.

Депрессивное расстройство, также известное как депрессия (происходит от латинского слова deprimo, что означает «давить» или «подавлять», согласно Гиппократу), представляет собой широко распространенное нарушение психического благополучия. Это состояние характеризуется продолжительными периодами глубокой унылости, потери интереса к обыденной деятельности и способности извлекать удовольствие из нее. Депрессия, исходя из вышенаписанного, в основном характеризуется постоянной грустью и отсутствием интереса к ранее доставлявшим удовольствие занятиям, а также неспособностью выполнять повседневную деятельность в течение, по крайней мере двух недель. Поэтому ранняя диагностика депрессии имеет решающее значение не только для эффективного лечения, но и для предупреждения различных ситуаций, таких как самоубийство, нападение на людей и т.д.

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

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

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

ЛИТЕРАТУРНЫЙ ОБЗОР

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

В работе [2] автор использовал PSIS (шкала суицидальных намерений Пирса) для выявления состояний депрессии, проведя регрессионный анализ. Авторы в научной работе [1] предлагают комплексный метод автоматического сбора сомнительных твитов на основе лексики тем, которые обычно обсуждают люди с депрессивным психоэмоциональным состоянием.

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

Ученые [4] выяснили, что Твиттер исследуется как метод распознавания статуса психологического благополучия, включая депрессию и суицидальные наклонности среди населения. Их расследование показало, что можно распознать уровень беспокойства среди твитов, связанных с самоубийствами, используя как человеческие кодеры, так и запрограммированный машинный классификатор.

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

МЕТОДОЛОГИЯ ИССЛЕДОВАНИЯ

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

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

  • которые помогают обнаружить события, вызывающие эмоции: положительная эмоция (например, «счастливый», «любовь», «хороший»), отрицательные эмоции (например, «никчемный», «неудачник», «обиженный», «уродливый», «противный»), печаль (например, «беспокойство», «плач», «горе», «грустный»), гнев (например, «перестань», «ненавижу», «убиваю», «раздражаюсь») и тревогу (например, «беспокоюсь», «боюсь»);
  • временной процесс: настоящее время (например, «сегодня», «есть», «сейчас»), прошлое время (например, «назад», «делал», «говорил») и фокус на будущем (например, «должен», «может») и т.д.

Используя API ВКонтакте2, создано два набора данных: один для пользователей с депрессией и один для пользователей, не страдающих депрессией. После два типа наборов данных были объединены в единый набор данных и сохранены в CSV-файле.2

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

 

Таблица 1

Данные профиля пользователя, извлекаемые для анализа [User profile data extracted for analysis]

 

Набор данных, содержащий

депрессивную составляющую

[A data set containing a depressive component]

Набор данных, не содержащий

депрессивную составляющую

[A data set that does not contain a depressive component]

Количество пользователей [Number of users]

270

231

Количество постов [Number of posts]

2086

3876

Среднее количество постов на 1-го пользователя

[Average number of posts per 1st user]

7,72

16,77

 

Из-за разнообразия поведения пользователей в социальных сетях и сложности определения их постов предлагается использоваться четыре модели машинного обучения для определенного набора функций для выявления депрессивных людей. Модель требует двух входных данных для каждого пользователя: первый представляет собой посты каждого пользователя, использующие набор лингвистических функций, второй – эмоциональный анализ определения личности пользователя. В результате атрибуты объединяются и передаются в разработанную модель для дальнейшего прогнозирования. На рис. 1 показана модель обнаружения депрессивного состояния пользователей социальной сети, которая состоит из следующих данных: предварительная обработка, извлечение признаков, анализ с последующей классификацией и выводом результата.

 

Рис. 1. Модель обнаружения депрессивного состояния пользователей социальной сети ВКонтакте

Fig. 1. A model for detecting the depressive state of users of the VKontakte social network

 

Данные, собранные из онлайн-социальных сетей, не могут быть непосредственно использованы для извлечения признаков из-за наличия различных шумов (грамматические и орфографические ошибки, эмодзи и др. символы), которые преобладают в необработанных данных3. Поэтому, предварительно данные были обработаны следующим образом:

  • удаление стоп-слов (частицы, союзы, предлоги, неопределенные наречия, местоимения, междометия и др.);
  • удаление всех символов, которые не несут никакой информации, кроме эмодзи. Эмодзи пользователи используют для выражения своих эмоций с помощью невербальных элементов и простых значков. Эмодзи полезны для привлечения интереса читателя. Эмодзи дают представление о настроении любых текстов. Посты, публикуемые пользователями, обычно содержат множество смайликов, которые можно разделить на положительные, отрицательные и нейтральные. В данной работе была подсчитана частота эмодзи в каждом посте. Далее просуммирована частота каждого типа поста отдельного пользователя для того, чтобы получить сумму для каждого пользователя. Конечный результат представляет собой три значения, соответствующий положительным, отрицательным и нейтральным эмодзи пользователя;
  • удаление URL-адресов и ссылок из текстов;
  • токенизация (разделение текста на составляющие по словам или предложениям)4;
  • стемминг (нахождение части, которая передает лексическое значение). Это позволило сгруппировать термины, которые похожи друг на друга;
  • лемматизация. Лемматизация относится к правильному выполнению действий с использованием словарного запаса и морфологического анализа слов, а, именно получение словарной формы слова. Пакет слов генерируется после всех этих этапов предварительной обработки. Количество вхождений каждого слова вычисляется в наборе слов, который впоследствии используется в качестве функции для обучения классификатора5.

Следующий шаг – извлечение признаков: преобразование в n-граммы и оценка важности слова в контексте (TF-IDF) [5]. TF-IDF – это статистический показатель для определения того, насколько важно слово в корпусе документов для текста. Это значение связано с тем, сколько раз слово встречается в тексте, но компенсируется количеством документов в корпусе, содержащих это слово.

Далее была выполнена кластеризация данных, таким образом, что каждый кластер содержит в себе тексты со схожими темами (LDA – от лат. Latent Dirichlet allocation – латентное размещение Дирихле) [7].

После данного этапа был выполнен анализ настроений. Для выполнения анализа настроений была использована библиотека SentiWordNet (лексический ресурс для сбора мнений) [12] в Python для присвоения оценок позитивности, негативности и объективности каждому слову в посте [11]. Для обработки использовались четыре модели машинного обучения для определенного набора функций для выявления депрессивных людей: логистическая регрессия, случайный лес, машина опорных векторов, XGBoost.

  1. Логистическая регрессия – тип статистической модели, который часто используется для классификации и прогностической аналитики. Логистическая регрессия оценивает вероятность наступления события, например, депрессивный пост или нет, на основе заданного набора независимых переменных. Поскольку результат является вероятностью, зависимая переменная ограничена между 0 и 1 [9]. Метод фокусируется на двоичной классификации с использованием функции сигмоидального значения, чтобы показать, насколько близка целевая точка данных к одной из двух возможных классификационных меток. Этот метод был выбран из-за его популярного использования в различных методах классификации.
  2. Случайный лес – широко применяемый метод в области машинного обучения, который объединяет выходные результаты нескольких деревьев принятия решений, с тем чтобы достичь консолидированного результата. Его простота в использовании и высокая гибкость способствовали его широкому применению, поскольку он успешно решает как задачи классификации, так и задачи регрессии. [10]. Для решения этой проблемы используется принцип взвешивания, учитывающий влияние результата любого дерева решений. Деревьям с высокой частотой ошибок присваивается низкое значение веса, в то время как деревьям с низкой частотой ошибок присваивается высокое значение веса. Низкая частота ошибок – в результате этого деревья будут оказывать большее влияние на принятие решений. Общее количество деревьев, которые должны быть построены, также является важными характеристиками для дерева решений [8].
  3. Машина опорных векторов – это надежный метод классификации и регрессии, который максимизирует прогностическую точность модели без переобучения обучающих данных. Алгоритм SVM представляет каждую единицу данных как точку в n-мерном пространстве, где n представляет количество характеристик, и значение каждой характеристики интерпретируется как координата точки. Затем выполняется классификация, при которой определяется гиперплоскость, четко разделяющая два класса данных. Эта гиперплоскость представляет собой линию в двумерном пространстве, которая делит плоскость на две части, причем каждый класс находится по обе стороны6,7.
  4. XGBoost – высокооптимизированная и распределенная библиотека, разработанная с акцентом на высокую эффективность, гибкость и переносимость. Эта библиотека реализует алгоритмы машинного обучения в рамках градиентного усиления. XGBoost обеспечивает возможность параллельного улучшения деревьев (также известного как GBDT, GBM), что позволяет быстро и точно решать множество задач в анализе данных8,9.

На основе вышеизложенных данных проведен анализ эффективности алгоритмов машинного обучения.

РЕЗУЛЬТАТЫ

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

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

Исходя из данных, представленных в табл. 1, можно сделать вывод, что все классификаторы достаточно точно работают, однако, большую результативность показывает метод XGBoost.

ОБСУЖДЕНИЕ

Сравнение результатов вычислений с предыдущей работой «Анализ депрессивного состояния пользователей социальной сети ВКонтакте [6] показало, что исследования, проводимые в данной работе, более точные. К тому же, в данной работе был расширен набор данных: использовался не только пост, но и эмодзи, которые дают представление о настроении любых текстов. В данной работе экспериментально были продемонстрированы не только лингвистические, но и эмоциональные и тематические функции, которые достаточно точно может реализовать алгоритм машинного обучения XGBoost.

 

Таблица 2

Результаты работы алгоритмов машинного обучения [Results of machine learning algorithms]

Характеристики [Specifications]

Логистическая регрессия [Logistic regression]

Случайный лес [Random forest]

Машина опорных векторов [Support vector machine]

XGBoost

Точность [Accuracy]

0,72

0,68

0,71

0,77

Полнота [Completeness]

0,69

0,68

0,70

0,76

F1-мера [F1-measure]

0,71

0,68

0,71

0,77

 

ВЫВОДЫ

Анализ и обнаружение депрессии среди пользователей социальной сети – важнейшая тема исследования в области NLP и машинного обучения.

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

В ближайшем будущем, для повышения точности, планируется:

1) увеличить объем анализируемой информации, т.к. небольшой размер набора данных оказался фундаментальным ограничением в достижении более высокой точности наших моделей;

2) изучить такую характеристику, как продолжительность времени, проведенного в социальной сети.

3) осуществление сбора данных сразу из нескольких социальных сетей.

 

1 Эксперт: около 8 млн россиян находятся в депрессии. URL: https://www.kommersant.ru/doc/3273624

2 Знакомство с API ВКонтакте. URL: https://vk.com/dev/first_guide/

3 Нормализация данных в Python. URL: https://pythonist.ru/normalizacziya-dannyh-v-python/

4 Токенизация в Python с использованием NLTK. URL: https://pythobyte.com/tokenization-in-python-using-nltk-96642092

5 Подходы лемматизации с примерами на Python. URL: https:// webdevblog.ru/podhody-lemmatizacii-s-primerami-v-python/

6 Машинное обучение: как метод опорных векторов может быть использован в трейдинге. URL: https://www.mql5.com/ru/articles/584

7 Машина опорных векторов. Объяснение с нуля и реализация на python. Подробный разбор метода опорных векторов Python. URL: https://habr.com/ru/company/ods/blog/484148/

8 XGBoost. URL:https://neerc.ifmo.ru/wiki/index.php?title=XGBoost

9 Три подхода к ускорению обучения XGBoost-моделей. URL: https://habr.com/ru/company/wunderfund/blog/665278/

×

About the authors

Alena A. Zotkina

Penza State Technological University

Author for correspondence.
Email: alena.zotkina.97@mail.ru
ORCID iD: 0000-0002-2497-6433

postgraduate student of the 4th year of study at the Department “Programming”

Russian Federation, Penza

Alexey I. Martyshkin

Penza State Technological University

Email: mai@penzgtu.ru
ORCID iD: 0000-0002-3358-4394

Cand. Sci. (Eng.), Associate Professor; Head of the Department “Programming”

Russian Federation, Penza

References

  1. Abboute A., Boudjeriou Y., Entringer G. et al. Mining Twitter for suicide prevention. In: Natural language processing and information systems. NLDB 2014. Lecture notes in computer science. E. Métais, M. Roche, M. Teisseire (eds.). Vol. 8455. Cham: Springer, 2014. Pp. 250–253. DOI: https://doi.org/10.1007/978-3-319-07983-7_36
  2. Chattopadhyay S. A study on suicidal risk analysis. 9th International Conference on e-Health Networking, Application and Services. Taipei: IEEE, 2007. Pp. 74–78.
  3. Coppersmith G., Ngo K., Leary R., Wood A. Exploratory analysis of social media prior to a suicide attempt. In: Proceedings of the third workshop on computational linguistics and clinical psychology. San Diego, CA: Association for Computational Linguistics. 2016. Pp. 106–117.
  4. O’dea B., Wan S., Batterham P.J. et al. Detecting suicidality on Twitter. Internet Interventions. The Application of Information Technology in Mental and Behavioural Health. 2015. No. 2 (2). Pp. 183–188. doi: 10.1016/j.invent.2015.03.005.
  5. Bonzanini M. Social Media analysis in Python. Extract and analyze data from all corners of the social web in Python. Transl. from English by A.V. Logunov. Moscow: DMK Press, 2018. 288 p. ISBN 978-5-97060-574-5. URL: https:// e.lanbook.com/book/108129
  6. Zotkina A.A. Analysis of the depressive state of users of the VKontakte social network. XXI century: Results of the Past and Problems of the Present Plus. 2022. Vol. 11. No. 4 (60). Pp. 52–55. (In Rus.) doi: 10.46548/21vek-2022-1160-0007
  7. Coelho L.P., Richart V. Building machine learning systems in Python. Transl. from English by A.A. Slinkin. 2nd ed. Moscow: DMK Press, 2016. 302 p. ISBN 978-5-97060-330-7. URL: https://e.lanbook.com/book/82818
  8. Makshanov A.V., Zhuravlev A.E., Tyndykar L.N. Big data. 2nd ed., erased. St. Petersburg: Lan, 2022. 188 p. ISBN 978-5-8114-9690-7. URL: https://e.lanbook.com/book/198599
  9. Moskvitin A.A. Data, information, knowledge: Methodology, theory, technologies: Monograph. St. Petersburg: Lan, 2022. 236 p. ISBN 978-5-8114-3232-5. URL: https://e.lanbook.com/book/206267
  10. Semerikov A.V., Glazyrin M.A. Classification of objects based on a neural network and methods of the decision tree and nearest neighbors: Textbook. Ukhta: USTU, 2022. 68 p. URL: https://e.lanbook.com/book/267857
  11. Flach P. Machine learning. The science and art of building algorithms that extract knowledge from data. Moscow: DMK Press, 2015. 400 p. ISBN 978-5-97060-273-7. URL: https://e.lanbook.com/book/69955
  12. Shalev-Schwartz Sh., Ben-David Sh. Ideas of machine learning: Textbook. Transl. from English by A.A. Slinkin. Moscow: DMK Press, 2019. 436 p. ISBN 978-5-97060-673-5. URL: https://e.lanbook.com/book/131686 (data of accesses: 02.02.2023).

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Fig. 1. A model for detecting the depressive state of users of the VKontakte social network

Download (251KB)

Copyright (c) 2023 Yur-VAK

License URL: https://journals.eco-vector.com/2313-223X/about/editorialPolicies