УДК 004.62
ИССЛЕДОВАНИЕ ПРОЦЕССА ИДЕНТИФИКАЦИИ
ЧЕЛОВЕКА В СЕТЯХ ОТКРЫТОГО ДОСТУПА И ПОСТРОЕНИЯ ЕГО СОЦИАЛЬНОГО ПРОФИЛЯ НА ОСНОВЕ ТЕХНОЛОГИЙ BIG DATA
А. С. Бождай, А. Ю. Тимонин
STUDY OF HUMAN IDENTIFICATION PROCESS IN OPEN ACCESS NETWORKS AND CREATION OF HIS PERSONAL SOCIAL PROFILE BASED ON BIG DATA TECHNOLOGIES
A. S. Bozhday, A. Yu. Timonin
Аннотация. Актуальность и цели. В настоящее время проблема эффективного сбора и анализа разнородных данных из открытых источников сети Интернет является актуальной для многих компаний, работающих с социальной проблематикой. Это касается и задачи построения социального профиля для последующей идентификации человека. Цель данной работы состоит в исследовании вопросов идентификации человека в сети Интернет по его точкам вхождения и в создании структуры данных для хранения статической и динамической информации социального профиля. Материалы и методы. Задача построения и анализа социального профиля человека достигается за счет использования математического аппарата теории множеств, программных комплексов по сбору и анализу больших массивов данных (Big Data), средств аналитики социальных медиа и совместного использования реляционных и NoSQL-хранилищ данных. Вопрос идентификации человека в сети Интернет решается с помощью расширенных методов автоматизированного поиска и выявления уникального множества персонифицированных поисковых критериев (информационная карта). Результаты. Данная статья охватывает вопросы, предшествующие построению социального профиля, и предлагает варианты идентификации человека в сети Интернет по уникальным идентификаторам аккаунта, адресу электронной почты, то-кенам привязки и совпадающим профильным данным. Также предлагается базовая структура для собираемых и анализируемых данных, разделяемая на статическую часть с одинаковой, неизменной информацией аккаунтов для однозначной идентификации человека в виде реляционной базы данных, и динамическую, которая содержит весь изменяемый неструктурированный контент персоны в NoSQL-хранилище. Выводы. Исследование вопросов идентификации человека и планирование базовой структуры хранения данных социального профиля на раннем этапе позволит в дальнейшем избежать ряд проблем, связанных с производительностью, представлением и хранилищами данных, а также перестройкой аппарата сбора ввиду нехватки исследуемых данных.
Ключевые слова: анализ данных, неструктурированные данные, сбор данных, открытые источники информации, социальный профиль человека, Big Data.
Abstract. Background. Currently, the problem of efficient gathering and analysis of heterogeneous data from open sources on the Internet is relevant to many companies working with social issues. Also it's applies to the task of building a social profile for the subsequent person identification. This applies to the task of building a social profile. The purpose of this work is to study the problems of identification a person on the Internet at his entry points and the creation of data structures to store static and dynamic information of social
profile. Materials and methods. The task of building and analysis of the person social profile is achieved by the mathematical apparatus of the set theory, software systems for Big data gathering and analysis, social media analytics and combine relational and NoSQL data stores. The issue of human identification on the Internet is solved by the advanced methods of computer-aided search and identify unique sets of personified search criteria (data sheet). Results. This article covers the issues before building social profiles and offers options for human identification in the Internet by unique account identifiers, email, binding tokens, and matching profile data. Also it provides the basic structure for collected and analyzed data, that divided into 2 parts: static, which include identical, unchangeable account information to unique identify a person as a relational database, and dynamic, which contains all the modifiable unstructured personal content in NoSQL storage. Conclusions. Study on human identification and planning of the basic structure of social profile data storage at an early stage will allow you avoid a number of problems in the future related to performance, data presentation and storage, as well as the restructuring of the data gathering apparatus due to lack of study.
Key words: data analysis, unstructured data, data gathering, public data sources, personal social profile, Big Data.
Введение
Построение социального профиля - важная междисциплинарная задача, которая может найти свое применение, начиная с прикладных целей контекстной передачи информации и заканчивая исследованиями искусственного интеллекта и социума. Определение проблем исследования и создание основ представления данных для дальнейшего построения социального профиля - первоочередная задача, грамотное рассмотрение которой позволит избежать ряд проблем проектирования и моделирования системы построения социального профиля.
1. Проблема идентификации человека в сети Интернет
Социальный профиль - это множество, состоящее из любой информации, которая способна тем или иным образом охарактеризовать социальные свойства человека, причем эта информация должна быть наглядно структурирована как для удобства человеческого восприятия, так и для последующей автоматизированной обработки.
Область возможного применения социальных профилей, полученных из открытых источников информации, достаточно обширна. Можно упомянуть антитеррористическую деятельность, социальную аналитику и прогнозирование, контекстное продвижение товаров и услуг, поиск людей для организации социальных и научных сообществ, разработку методов искусственного интеллекта, индивидуальную подстройку окружения с использованием «интернета вещей» и т.д.
Задача построения социального профиля первоначально сводится к созданию математической модели и выбору структуры данных для хранения персонализированной информации. Социальный профиль человека основывается на данных из открытых источников сети Интернет. Идентификация человека в сети производится через определение его точек вхождения - учетных записей (аккаунтов) веб-ресурсов, которые предоставляют ему ряд возможностей по использованию ресурса (написание комментариев, получение рассылок, скачивание файлов) и выделяют его из массы остальных пользователей сети.
Информация для социального профиля может извлекаться как из персональных аккаунтов (персональных блогов и web-страниц, социальных сетей, интернет-магазинов, социальных электронных порталов и форумов и т.п.), так и со сторонних ресурсов, где данный человек может упоминаться в каких-либо контекстах.
Как правило, человек может иметь множество различных учетных записей в сети Интернет. Выявить между ними связь бывает достаточно трудно. В лучшем случае аккаунты имеют привязку друг к другу через специальные токены, как у Facebook, Twitter, Google+, Linkedln. Это намного упрощает поиск, т.к., во-первых, при таком варианте существует явная связь между учетными записями и, как следствие, свободный переход между ними; во-вторых, большая часть данных профилей (ФИО, e-mail, ICQ, часовой пояс, настройки и т. д.) связанных аккаунтов одинакова.
Чаще всего встречается привязка учетной записи к конкретному адресу электронной почты или номеру телефона. Тогда поиск аккаунтов также достаточно прост и будет производиться по вхождениям заданной почты/телефона на страницах профильной информации.
Но как быть при наличии у идентифицируемого человека нескольких адресов почты? В данном случае проверяются на совпадения их логины и совокупность профильных данных, например список контактов/друзей. Также бывает полезной проверка времени и местоположения входа, в случае нахождения закономерностей (например, повторяющийся одновременный доступ с одного IP-адреса) можно сделать вывод о принадлежности аккаунтов одному человеку или близко связанным людям. Многие крупные интернет-сервисы таким образом ищут мульти- и фальшивые аккаунты [1].
После процедуры нахождения учетных записей их необходимо отсортировать по степени используемости для оптимизации последующего поиска информации социального профиля и получения актуальных результатов. Как правило, на многих интернет-ресурсах предусмотрено ведение отметок о датах регистрации и счетчика посещений пользователей для подобных целей. Затем производится анализ и сбор подходящей информации из профильных данных и активности пользователя.
В дальнейшем подобные методы могут также использоваться и для выявления связей между людьми и скрытых зависимостей социальных данных.
2. Дифференциация собираемых данных социального профиля
Все многообразие данных, на основе которых будет создаваться социальный профиль, для достижения приемлемого уровня удобства хранения и использования нужно разделить на две большие категории: статическую и динамическую. Рассмотрим первую категорию.
Постоянная часть данных социального профиля состоит из информации, которая уникально идентифицирует человека и не изменяется во времени. Она содержится в описании учетных записей идентифицируемого человека и поэтому образует каркас, связывающий все прочие разрозненные данные профиля. Собранные в таблицу статические данные социального профиля представляют собой так называемую информационную карту. Их обнаружение является первоочередной задачей при создании конкретного социального профиля.
В большинстве случаев поиск человека в Интернете начинается с ввода одного или совокупности уникальных критериев: имя, e-mail, возраст, идентификатор аккаунта; хотя в некоторых случаях (например из-за неполноты или противоречия критериев) поиск проводится по косвенным признакам: род деятельности, популярные посты, авторский контент. Поэтому в информационную карту нужно добавить отдельное поле для наиболее полно идентифицирующих признаков, где будет располагаться ссылка на таблицу с самими признаками, которые в то же время будут являться внешними ключами для базы данных (БД) с динамической информацией социального профиля.
Данные такого типа легко обнаружить с помощью традиционных средств, не прибегая к решениям Big Data, ввиду их малого числа, доступности, непротиворечивости и постоянной актуальности. Информационная карта предоставляет аналитику базовый портрет человека и служит основой для дальнейшей разработки социального профиля.
Помимо статического контента существует и динамический, т.е. зависящий от времени и других факторов. В рамках социального профиля он может быть представлен следующим списком: посты/комментарии, контакты/друзья, подписки/предпочтения, рейтинги/оценки, геоинформация, авата-ры, никнеймы, некоторая личная информация и т.д. Причем одна часть списка элементов может только увеличиваться (местоположения, авторский контент), а другая может изменяться как угодно (предпочтения, друзья и т.д.).
Из-за сложной природы, количества и неструктурированности этих данных традиционных средств и реляционных СУБД для взаимодействия с ними недостаточно. Для сбора и обработки таких данных обязательно использование решений на основе Big Data, в частности Hadoop, и средств аналитики социальных медиа.
Hadoop - проект с открытым кодом Apache Software Foundation, предназначенный для обработки больших объемов структурированных и неструктурированных данных. Hadoop содержит два основных компонента: распределенную файловую систему HDFS, облегчающую управление связанными файлами между машинами, и высокопроизводительную параллельную/распределенную реализацию обработки данных алгоритма MapReduce [2].
3. Обзор существующих решений и их недостатки
На сегодняшний день существует целый ряд специализированных инструментов веб-аналитики. Перечислим некоторые из них [3, 4].
1. Social Bakers является самым популярным поставщиком аналитических инструментов социальных медиа, статистики и показателей для Facebook, Twitter, Google Plus, YouTube и LinkedIn, который также имеет возможности анализа мобильных приложений.
2. IQBuzz - отечественный инструмент для управления репутацией в Интернете. Предоставляет множество кейсов и виджетов для анализа узнаваемости бренда и потребительского отношения к нему в социальных сетях, также на сайте можно найти актуальную информацию в области маркетинга.
3. Hootsite - русифицированная платформа с интуитивно понятным интерфейсом, с возможностью планировать посты одновременно для нескольких каналов и отслеживать сразу все социальные страницы. Позволяет обмениваться данными с системой Google Analytics.
4. Сервисная платформа JagaJam позволяет проводить анализ сообществ в социальных сетях ВКонтакте, Одноклассники, Facebook, Twitter и Instagram. Объектами анализа являются аудитория, ее активность и вовлеченность, публикуемый контент. Платформа предоставляет возможности динамического сравнения сообществ, бенчмаркинга, пересечения аудиторий сообществ.
5. Klout охватывает очень широкий спектр социальных медиаплат-форм. Аналитика производится на основе данных Twitter, Facebook, Google+, LinkedIn, Foursquare, YouTube, Instagram, Tumblr, Blogger, WordPress, Last.fm и Flickr; измеряет размер персональной сети и количество публикуемого контента.
6. Сервис SocialMention в режиме реального времени отслеживает около 100 источников (включая Twitter, Facebook, FriendFeed, YouTube, Google и др.). Существуют возможности установки RSS-канала, оповещений по электронной почте или виджета на сайте, действующего в реальном времени. Для дальнейшей обработки результаты аналитической деятельности сервиса могут быть экспортированы в простой и распространенный формат CSV/xls.
7. Wobot - российский сервис, одним из инструментов которого является Wobot Monitor - инструмент для мониторинга социальных медиа, который дает доступ к таким статистическим данным, как количество авторов, ресурсов, к показателям охвата и вовлеченности, вычисляет лидеров мнений и т.д. Wobot работает в том числе и с социальной сетью ВКонтакте.
8. Сервис Facebooklnsights предназначен для анализа метрик Facebook страниц. Доступ к данным Facebook Insights в любое время могут получить все администраторы конкретной страницы, что позволяет ее владельцам оперативно отслеживать количество активных пользователей, определять их поведенческие паттерны, а также оценивать эффективность этой страницы и SMM-стратегии входящего маркетинга.
9. Twitter Analytics предоставляет бесплатные инструменты для комплексного мониторинга активности пользователей на отдельно выбранной странице социальной сети или блога, такие как TweetReach, TwentyFeet, Twitter Counter, Social Bro и Twitalyzer.
Подобные средства в настоящее время широко используются в электронном маркетинге и анализе социальных отношений. Но в текущей задаче построения социального профиля их можно использовать только в качестве вспомогательного элемента системы для получения динамического контента и выявления закономерностей ввиду охвата только популярных социальных сетей и, как следствие, недостаточного функционала для нахождения элементов информационной карты, отсутствия разделения данных на статическую и динамическую части, а также проприетарности. Стоит обратить внимание на то, что многие инструменты веб-аналитики оказываются малоэффективными в задаче идентификации человека внутри сети (порой даже специализированные средства поиска ботов в соц. сетях не могут отличить фальшивую учетную запись от действующего аккаунта реального человека [1]), поэтому приходится обрабатывать крупные объемы данных вручную. И именно чтобы избежать этого, необходимо внедрение расширенных методов автоматизированного поиска и распределенного хранения получаемых данных на основе реализаций Big Data.
4. Предлагаемые решения и их достоинства
Поиск начальных сведений для идентификации человека в сети Интернет ложится на аналитика, но после нахождения одного или нескольких уникальных критериев весь процесс автоматизируется: общая для всех аккаунтов информация поступает на вход поискового робота и заносится в информационную карту, одновременно с этим происходит переход по ссылкам, найденным в результатах (глубина переходов указывается произвольно в настройках поискового робота). Для достижения лучших результатов создается скрипт, в котором указываются шаблоны токенов привязки учетных записей, типичные поля и названия страниц, содержащие данные для построения социального профиля. Также для нахождения фальшивых и мульти-аккаунтов используется совокупность специализированных сервисов (например AntiDogs и VKfake для социальной сети ВКонтакте) и собственного алгоритма, учитывающего общие закономерности таких учетных записей (отсутствие пользовательского контента при наличии репостов, очень большое количество друзей, наличие явной связи между активностью учетных записей, совпадение никнейма/аватара и т.д.).
При заполнении информационной карты можно обойтись простым поисковым роботом с возможностью добавления составных запросов и фильтрации результатов вроде VisualWebSpider [5] или Teleport VLX. Ввиду малого количества и однозначности таких данных их можно успешно хранить в обычной реляционной базе данных наподобие MySQL и PostgreSQL или даже электронной таблице формата JSON/CSV. Для связи с другими сущностями (например динамическими данными) используется специальное поле-идентификатор. Примерное представление таких данных показано в табл. 1.
Таблица 1
id Имя (основное) Дата рождения Место рождения Корневая учетная запись Наиболее известные признаки
Дальнейший этап состоит в нахождении динамического контента и его распределении по природе полученных данных. Поиск будет проводиться по полям информационной карты и привязываться к ним. Затем результаты поиска разбираются средствами аналитики социальных медиа, в качестве которых выступают готовые решения или самостоятельно написанные программные модули Hadoop, на предмет соответствия рассматриваемому лицу и распределяются по виду: накапливающиеся и редактируемые.
Первый тип элементов экономнее всего сохранять в хранилища, не предусматривающие модификацию и удаление данных, например HBase. Второму типу такое хранилище не подходит, поэтому необходимо пользоваться более совершенными NoSQL БД, например MongoDB или CouchDB. Для удобства представления социальных данных (например списки контактов) и последующего анализа рекомендуется использовать графовые хранилища (Neo4J). Для хранения геоданных нужно применять набор из PostGIS/ OpenGeo либо модуль Neo4J Spatial.
Из решений Big Data можно выделить программные комплексы IBM In-foSphere Biglnsights и i2 [6]. В них предусмотрены средства как сбора неструктурированных данных из различных источников (BoardReader, DataExplorer), их хранения (BigSheets, iBase), анализа (BigSQL, ContentAna-lytics, TextChart) и представления (Analytic's Notebook). Исходная информация складывается сначала в HBase подобное хранилище, после чего возможна первичная фильтрация и экспорт данных в CSV-таблицы. Затем эти электронные таблицы поступают на вход iBase базы данных и анализируются.
Помимо реализаций больших данных компании IBM развертывание системы построения социального профиля возможно также на базе Hortonworks Data Platform, чьи преимущества состоят в открытости, возможности гибкой настройки, использовании передовых технологий и сотрудничестве с многими компаниями, занимающимися большими данными. Общая же структура решения идентификации человека в сети Интернет и разделения искомых данных представлена на рис. 1.
Рис. 1. Структура предлагаемого решения
При сборе и отслеживании динамического контента дополнительно можно воспользоваться средствами Google Analytics по созданию дашбордов. Дашборд - это документ с лаконично представленными статистическими данными, отчетами, чаще всего с элементами инфографики [7]. С их помощью можно легко выявлять изменения в предпочтениях пользователя, его активность и популярность в рамках одного интернет-ресурса.
Заключение
Проблема идентификации человека в сети Интернет решается за счет комплексного подхода, состоящего из обнаружения его учетных записей по уникальным идентификаторам аккаунта, адресу электронной почты, токенам привязки и совпадающим профильным данным. Данные социального профиля разделяются на информационную карту и хранилище динамического контента. Тем самым обеспечивается рациональное использование ресурсов системы сбора и анализа данных социального профиля, а также удобство представления информации для аналитика и конечного пользователя.
Список литературы
1. Микоян, А. Боты в социальных сетях - как распознать мертвые души? / А. Микоян. - URL: http://mediastancia.com/articles/38ll/ (дата обращения: 12.02.2016).
2. Работа с неструктурированными данными в распределенной файловой системе Hadoop / Центр компетенции по технологии IBM Big Data. - М., 2014. - 30 с.
3. 10 сервисов для social media аналитики и мониторинга и оценки эффективности вашей SMM-стратегии. - URL: https://vk.com/topic-72178837_30130622 (дата обращения: 12.02.2016).
4. Изместьева, Е. 12 инструментов для мониторинга и аналитики социальных медиа / Е. Изместьева. - URL: https://te-st.ru/tools/tools-monitoring-and-analysis-of-social-media/ (дата обращения: 12.02.2016).
5. Тимонин, А. Ю. Разработка социального профиля на основе имеющихся инструментальных средств / А. Ю. Тимонин // Новые информационные технологии и системы : сб. науч. ст. XII Междунар. науч.-техн. конф. - Пенза : Изд-во ПГУ, 2015. -С. 221-224.
6. Тимонин, А. Ю. Использование технологий Big Data для построения социального профиля человека на основе открытых источников информации / А. Ю. Тимонин, А. С. Бождай // Вестник Пензенского государственного университета. - 2015. -№ 2 (10). - C. 140-144.
7. Слетова, Е. Google Analytics: Как настраивать и использовать дашборды для мониторинга и анализа контента сайта / Е. Слетова. - URL: https://vc.ru/p/ga-dashboard (дата обращения: 12.02.2016).
Бождай Александр Сергеевич доктор технических наук, профессор, кафедра систем автоматизированного проектирования,
Пензенский государственный университет E-mail: [email protected]
Тимонин Алексей Юрьевич аспирант,
Пензенский государственный университет E-mail: [email protected]
Bozhday Alexander Sergeevich doctor of technical sciences, professor, sub-department of computer aided design,
Penza State University
Timonin Alexey Yuryevich postgraduate student, Penza State University
УДК 004.62 Бождай, А. С.
Исследование процесса идентификации человека в сетях открытого доступа и построения его социального профиля на основе технологий Big Data /
А. С. Бождай, А. Ю. Тимонин // Модели, системы, сети в экономике, технике, природе и обществе. - 2016. - № 2 (18). - C. 112-119.