Технологии анализа данных социальных сетей в Интернете

Анализ данных в социальных сетях стремительно набирает популярность во всём мире благодаря появлению в 1990-х годах онлайновых сервисов социальных сетей (SixDegrees, LiveJournal, Facebook, Twitter, YouTube и другие). С этим связан феномен социализации персональных данных: стали публично доступными факты биографии, переписка, дневники, фото-, видео-, аудиоматериалы, заметки о путешествиях и т.д. Таким образом, социальные сети являются уникальным источником данных о личной жизни и интересах реальных людей.

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

Интересно
Аналитическое агентство Gartner в 2012 году опубликовало отчёт под названием “Цикл ажиотажа для развивающихся технологий”. Согласно отчёту, технологии “Социальная аналитика” и “Большие данные” в настоящее время находятся на т.н. “пике завышенных ожиданий”. В частности, исследованиями социальных данных активно занимаются университеты Карнеги-Меллон, Стэнфорд, Оксфорд, INRIA, а также компании Facebook, Google, Yahoo!, Linkedln и многие другие.

Компании-владельцы сервисов онлайновых социальных сетей (Facebook, Twitter) активно инвестируют в разработку усовершенствованных инфраструктурных (Cassandra, Presto, FlockDB, Thrift) и алгоритмических (новые алгоритмы поиска и рекомендации пользователей, товаров и услуг) решений для обработки больших массивов пользовательских данных.

Возникают и успешно развиваются коммерческие компании, предоставляющие услуги по доступу к хранилищам социальных данных (GNIP), сбору социальных данных по заданным сценариям (801egs), социальной аналитике (DataSift), а также расширению существующих платформ с помощью социальных данных (FlipTop).

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

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

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

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

С целью анализа устойчивости и валидности структур получаемых социальных сетей был проведен ряд исследований, направленных на выявление изменения абсолютного размера сети, состава акторов и их рейтингов с течением времени. В результате было установлено, что эти характеристики в среднем устойчивы на 70-95%.

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

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

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

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

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

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

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

  • приватность данных – зачастую доступ к данным пользователей разрешён только для зарегистрированных и авторизованных участников сети, что требует поддержки эмуляции пользовательской сессии с помощью специальных учётных записей (аккаунтов);
  • слабая структурированность данных – во многих случаях программные интерфейсы (API) социальных сетей имеют ограниченный функционал, что требует поддержки получения с помощью пользовательского веб-интерфейса статических копий HTML-страниц, корректной обработки их динамической части (включая исполнение асинхронных запросов к серверу социальной сети), извлечения нужных данных с помощью алгоритма и/или шаблона и построения их структурированного представления, удобного для дальнейшей автоматической обработки;
  • ограничения доступа и блокировки – с целью предотвращения несанкционированного автоматического сбора данных и ограничения нагрузки на инфраструктуру сервиса социальной сети владельцы сервисов зачастую вводят явные или скрытые ограничения на допустимое количество запросов от одного пользовательского аккаунта и/или IP-адреса в единицу времени, что требует учёта количества посылаемых запросов, а также поддержки динамической ротации используемых для сбора данных пользовательских аккаунтов и IP-адресов;
  • размерность данных обуславливает необходимость в параллельном методе сбора данных, а также в методах получения репрезентативной выборки пользователей социальной сети (сэмплирование).

На сегодняшний день ценность аналитических инструментов, позволяющих визуализировать отношения между людьми, организациями и транзакциями, очевидна. По мнению независимого эксперта в области финансовой информационной безопасности Криса Свекера (Chris Swecker), ранее работавшего на постах помощника главы ФБР и руководителя службы информационной безопасности Bank of America, мошенничества со стороны организованных криминальных групп наносят финансовым институтам наибольший ущерб. И лучший способ борьбы с ними – удар по организации в целом, а не по отдельным ее участникам. Инструментом, дающим аналитикам возможность спланировать и осуществить этот удар, является анализ социальных сетей.

Анализ данных социальных сетей эффективно используется для борьбы с отмыванием денег, кражами личности, сетевыми мошенничествами, кибератаками и др. В частности методики анализа данных использовались при расследовании незаконных операций с ценными бумагами, проводившемся Австралийской комиссией по ценным бумагам и инвестициям (Australian Securities and Investment Commission).

Автор ряда книг и эксперт в области безопасности и анализа данных Джисус Мина (Jesus Mena) назвал АСС «техникой интеллектуального анализа данных, представляющей их структуру в виде связанных между собой объектов». Эта техника базируется на таких математических дисциплинах, как теория графов и матричная алгебра, и обеспечивает аналитиков инструментарием, позволяющим моделировать и изучать структуру связей между различными объектами.

В соответствии с базовыми теориями два основных инструмента анализа данных – матрица и диаграмма связей. Соответственно алгоритм работы аналитика с собранными данными включает в себя следующие этапы: создание матрицы (или матриц) связей, построение диаграммы связей (графа), анализ связей.

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

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

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

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

Если оперировать математическими понятиями, диаграмма социальной сети представляет собой типичный граф, состоящий из множества вершин (объектов) и множества ребер (связей).

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

Разработанный инструмент поддерживает скачивание данных из социальных сетей Facebook, Twitter, Hunch. Реализовано несколько способов получения репрезентативных выборок пользователей социальных сетей: сэмплирование методом обхода в ширину (breadth-first search, BFS), по Метрополису-Гастингсу (Metropolis-Hastings Random Walk, MHRW) и методом «лесного пожара» (Forest Fire, FF).

Реализован механизм автоматического выбора учетной записи социальной сети для каждого запроса, а также поддержка прокси-соединений. Это обеспечивает устойчивость к блокировкам по IP- адресам и учетным записям. Кроме того, фреймворк поддерживает многопоточное скачивание.

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

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

Были достигнуты следующие показатели:

  • Facebook: более 500 профилей в час (один поток);
  • Twitter: более 3000 профилей в час (один поток);
  • Hunch: более 100 профилей в час (один поток).

Рассмотрим генерацию случайных социальных графов

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

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

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

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

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

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

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

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

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

Помимо интернет-сервисов, такие демографические характеристики находят применение в различных дисциплинах: социология, психология, криминология, экономика, управление персоналом и др.

Узнай цену консультации

"Да забей ты на эти дипломы и экзамены!” (дворник Кузьмич)