Дипломная работа: Количественный рекуррентный анализ в обнаружении экстремальных событий в социальных сетях

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Для 165 слов текста (на английском языке), составляющих речь каждого субъекта, были построены рекуррентные диаграммы (рисунок 13).

Рисунок 13. Рекуррентная диаграмма речь шизофреника (а), рекуррентная диаграмма речи академика (б)

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

«Временные ряды» рядом с каждой рекуррентной диаграммой представлены в виде «пилообразных» паттернов из-за повторного использования (повторения) слов. Рекуррентные точки строятся только тогда, когда найдено точное совпадение слов. Количественные показатели рекуррентности для этих двух субъектов как на уровне орфографии, так и на уровне слов до и после случайной перетасовки приведены в таблице ниже. Обычный текст из 742 символов был сокращён до 670 символов, чтобы соответствовать количеству символов в шизофреническом тексте.

Таблица 3. Меры RQA для речи шизофреника и академика

Меры RQA

Символы шизофреника (N=670)

Символы академика (N=670)

Слова шизофреника (N=165)

Слова академика (N=165)

%RR

6.511

(6.511)

6.312

(6.312)

1.890

(1.890)

1.567

(1.567)

%DET

22.257

(12.019)

22.280

(11.600)

26.087

(3.953)

23.113

(0.943)

Dmax

19

(4)

16

(4)

5

(2)

3

(2)

ENT

0.995

(0.317)

0.986

(0.359)

0.675

(0.000)

0.773

(0.773)

TND

0.104

(0.029)

0.251

(0.240)

-8.361

(2.108)

-1.898

(-1898)

%LAM

4.495

(12.636)

1.484

(18.576)

0.000

(11.067)

0.000

(0.943)

TT

2.000

(2.185)

2.000

(2.104)

2.000

(undefined)

Undefined

(2.000)

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

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

2. Применение рекуррентного анализа для обнаружения экстремальных событий

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

1. Преобразование текстовых данных во временной ряд

2. Использование вычислительных инструментов для построения рекуррентной диаграммы

3. Расчёт мер количественного рекуррентного анализа

Всего три шага после которых можно делать определённые выводы по получившимся результатам.

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

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

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

Главное отличие рекуррентного анализа в разных областях - начальные данные. Когда речь идёт о финансах или финансовом секторе, то самый простой вид данных - стоимость акций или ресурса. И такие данные есть в общем доступе для скачивания. Прекрасным примером ресурса с подобными данными является Yahoo Finance (finance.yahoo.com), где можно найти данные практически по всем котировкам и бесплатно скачать csv файл за любой промежуток времени. Именно это ресурс будет в дальнейшем использоваться для примера с промышленным индексом Доу-Джонса и биткоином.

В отличие от финансового сектора, в котором имеются чёткие численные данные, работая с текстом всё не так просто. Поскольку требуется обнаружить рекуррентность, то перед исследователем в самом начале возникает вопрос: а каким образом преобразовать данные.

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

Второй способ - поиск существующих временных рядов данных, которые собирают некоторые онлайн-платформы или другие исследователи. В таком способе имеется два существенных недостатка:

1. Необходимых данных может попросту не иметься

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

Конечно, бывают и исключения (хотя подобное редкость), как например временной ряд количества хэштегов «биткоин» в социальной сети Twitter в день, который будет использоваться в третьем примере в данной главе. Хотя даже в этом случае не обошлось без недостатков, поскольку хоть сам временной ряд на исходной платформе и является интерактивным, но из-за отсутствия данных в формате csv, их придётся переносить в нужный формат вручную.

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

Программа, о которой сейчас идёт речь - Mozdeh (big data text analysis), разработанная исследовательской группой статистической киберметрики университета Вулверхэмптона. Это бесплатное приложение для анализа текстов. Внешне приложение выглядит как на рисунке 14.

Рисунок 14. Приложение Mozdeh

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

Сбор данных: Mozdeh может собирать текстовые данные социальных сетей непосредственно с самих сайтов, таких как Twitter и YouTube, или может импортировать тексты, собранные другими способами. И Twitter, и YouTube в настоящее время обмениваются своими данными через интерфейс прикладного программирования, который представляет собой технологию обмена информацией, с которой Mozdeh взаимодействует для загрузки сообщений. В будущем эти сайты могут отозвать свои API или взимать плату за них. В этом случае функция будет изъята из Mozdeh. По этой причине рекомендуется собирать данные как можно скорее. Другие сайты могут также начать предлагать полезные API-интерфейсы, которые затем могут быть добавлены в Mozdeh, но в данный момент помимо Twitter и YouTube, программа может собирать данные с TripAdvisor, Scopus, Reddit, Facebook и текст с веб-страниц. Единственным недостатком является то, что данная программа позволяет собирать либо все твиты самого пользователя, либо лишь недавние твиты других пользователей данной социальной сети. Поэтому в случае необходимости каких-то старых данных, их всё равно придётся купить на какой-нибудь платформе. Пример сбора данных показан на рисунке 15.

Рисунок 15. Сбор данных приложением Mozdeh

Поиск и фильтрация: Когда Mozdeh собирает или импортирует тексты, они группируются в «проект» для анализа. После завершения этапа сбора данных можно начать анализ проекта. Загруженные тексты можно исследовать в Mozdeh с помощью комбинации поиска по ключевым словам, фильтров и параметров сортировки. Эти средства полезны для изучения темы, а также как часть ассоциативного анализа. Справка по некоторым из этих параметров доступна в Mozdeh на его веб-сайте или при наведении курсора мыши на кнопку, как на рисунке 16.

Рисунок 16. Поиск и фильтрация данных приложением Mozdeh

Анализ тональности текста: Сентимент-анализ - это один из видов анализа, использующий компьютерную программу для обнаружения и классификации субъективного контента. Mozdeh включает в себя программу SentiStrength для оценки силы положительных и отрицательных настроений в текстах. SentiStrength лучше всего подходит для английского языка, но также может классифицировать настроения на нескольких других языках. Анализ тональности текста полезен для выявления проблем, которые вызывают положительные или отрицательные комментарии, а также для сравнения позиций различных групп, таких как мужчины и женщины. Пример можно увидеть на рисунке 17.

Рисунок 17. Анализ тональности текста приложением Mozdeh

Функция определения пола: Mozdeh может угадать пол автора сообщения по имени пользователя. Это делается путем разделения имени пользователя на две части, интерпретации первой части как их первого (заданного) имени, а затем проверки, используется ли это имя исключительно одним полом или нет. Если это так, то предполагается, что автор принадлежит к этому полу. Если нет, то пол автора остается без назначения. Список имён по половому разделению взят из переписи населения США 1992 года. Из этого списка используются 1022 наиболее распространенных мужских и 3938 наиболее распространенных женских имен. Имя включается в список, если оно используется одним полом по крайней мере в 90% случаев. США - космополитическая страна, поэтому этот список должен хорошо работать для всех англоязычных стран, а также должен быть разумным для большинства западных стран. Список также включает несколько названий, относящихся к конкретному полу (например, Mr, Ms) для людей, которые включают их в свои имена пользователей. В Twitter и YouTube этот метод, по-видимому, дает несколько ложных совпадений и определяет пол лишь примерно 30% пользователей. Остальные люди, как правило, имеют имена, которые не являются производными от их официальных имен. Данная функция не особо полезна для рекуррентного количественного анализа, но является полезной для сентимент-анализа текста.

Временной ряд по дате сообщения (рисунок 18): Многие тексты в социальных сетях содержат точную дату и время публикации. Если коллекция текстов охватывает длительный период, то ее можно использовать для обнаружения изменений во времени. Mozdeh поддерживает три типа анализа времени: обнаружение трендов, обнаружение всплесков и обнаружение различий. Первые два основаны на визуальных проверках графиков временных рядов.

Рисунок 18. Построение временного ряда по дате сообщения приложением Mozdeh

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

Ассоциативное обучение: Mozdeh может автоматически проверять связи между ключевыми словами запроса и (или) фильтрами на главном экране поиска и словами во всех текстах проекта. Это делается путем:

1. Нахождения всех текстов, которые соответствуют запросу и / или фильтрам.

2. Извлечение слов из всех соответствующих текстов.

3. Проверка, встречаются ли эти слова чаще в соответствующих текстах, чем в остальных текстах.

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

5. Дальнейший анализ статистически значимых терминов для выявления их причин.

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

После получения временного ряда возникает следующий вопрос, а какие инструменты позволят нарисовать рекуррентную диаграмму и рассчитать существующие показатели. На самом деле, большая часть программ уже устарела и не поддерживается современными системами, так как были созданы в начале тысячелетия. Взамен некоторые языки программирования обзавелись дополнительными библиотеками для данного вида анализа. В данном подразделе речь пойдёт о двух конкретных языках: python и R.