В ходе прошедшей в Москве открытой конференции Института системного программирования РАН были представлены актуальные разработки ИСП РАН, а также других научных школ и институтов, включая работы, ранее закрытые от общественности. Одной из тем научно-практической конференции стала автоматизация анализа Больших Данных, в том числе контента, созданного пользователями социальных сетей. В частности, речь шла о том, как на основе теории графов можно изучать профили в соцсетях, определяя возраст и место проживания пользователей. Как считают ученые, разработанные ими методы будут полезны для проведения социологических и маркетинговых исследований, например для определения целевой аудитории продукта или поиска потенциальных потребителей.
Задача первая: определяем возраст
Демографические параметры пользователей активно используются для построения системы рекомендаций или таргетированной рекламы, однако проблема состоит в том, что далеко не все пользователи указывают в своих профилях данные о возрасте, поле, месте проживания и т. д., а иногда намеренно делают это неправильно. Кроме того, в профилях некоторых соцсетей содержатся очень скудные сведения; например, в сервисе микроблогов Twitter не требуется указывать пол, возраст, семейное положение и другие атрибуты. Определить их можно только в том случае, если в графу URL пользователь поместил гиперссылку на свой профиль в другой социальной сети.
Чтобы заполнить лакуны и верифицировать данные, в ИСП РАН был разработан метод автоматического определения демографических атрибутов с помощью социальных связей пользователя, о чем рассказал один из авторов исследования Андрей Гомзин.
Ученые поставили перед собой задачу точного определения возраста пользователя. Для этого были выгружены и обработаны данные около 300 млн открытых профилей социальной сети «ВКонтакте», проанализировано порядка 300 млн социальных связей между пользователями, а также около 1 млн подписок на сообщества в соцсети.
На основе полученных данных был построен социальный граф, в котором узлы соответствуют пользователям и сообществам, а ребра — отношениям дружбы и подпискам. Возраст в этом социальном графе определяется путем распространения в нем социальных меток. Сам алгоритм определения значений атрибутов имеет следующую схему: инициализация (разметка); построение векторной модели; вычисление весов пользователей и сообществ, распространение меток на узлы сообщества; построение векторной модели с учетом весов; распространение меток на узлы пользователей с учетом весов. Чтобы определить, насколько верно работает полученный алгоритм, используются формулы вычисления точности и средней абсолютной ошибки.
Как рассказал Гомзин, разработанный метод можно будет использовать для отбора пользователей в заданном интервале возраста, а также по другим атрибутам (семейное положение, уровень образования и т. д.). Планируется добавить и новые типы узлов в граф («лайки», «репосты», текстовые признаки и др.).
Задача вторая: находим место жительства
О том, как можно определить основное место проживания пользователей соцсетей на основе социального графа, рассказала Юлия Трофимович. Исследователи поставили перед собой задачу определить таковое для пользователей соцсети «ВКонтакте», не указавших место жительства в своем профиле. Для этого был построен социальный граф, насчитывающий свыше 156 млн вершин, части которых были присвоены метки исходя из данных, указанных в профилях пользователей. Для присвоения меток остальным применялся итеративный метод: каждая вершина отсылает свою метку соседним вершинам; каждая вершина обрабатывает полученные метки и при необходимости обновляет свою; если в ходе итерации ни одна вершина не обновила свою метку, работа алгоритма заканчивается. Этот метод, подчеркнула Трофимович, точнее, чем методика построения вероятностных моделей, предложенная Бэкстромом, Саном и Марлоу в 2010 году, которая определяет место жительства пользователей социальной сети Facebook исходя из расстояния между ними.