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

Программное обеспечение сбора и анализа графов ближайшего окружения из онлайновых социальных сетей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
334
67
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СОЦИАЛЬНАЯ СЕТЬ / СОЦИАЛЬНЫЙ ГРАФ / СБОР ДАННЫХ / КРАУЛЕР / ОЧЕРЕДЬ ЗАДАЧ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Чесноков В. О.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Чесноков В. О.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Software for Crawling and Analysis of Ego-Network Graphs from Social Networking Services

Online social networks are one of the main platforms for arbitrary subjects of discussion. They are one of the main sources of data to analyse public opinion. For crawling and analysis of data from online social networks, are used data monitoring systems, which include a data collecting system. A typical system for collecting data from the Internet contains a crawler, parsers, a collection queue of tasks, a task scheduling subsystem, and a module for writing structured data to a storage system. The crawling from online social networks has a number of features. The paper considers methods of access to data from online social networks and a task planning subsystem. Formulates and underpins the requirements for a data collecting system to provide crawl results from online social networks, namely scalability, extensibility, and availability of a data storage subsystem and a queue of collection tasks.

Текст научной работы на тему «Программное обеспечение сбора и анализа графов ближайшего окружения из онлайновых социальных сетей»

Машиностроение и компьютерные технологии

Сете,вое, научное, издание,

http://www.technomagelpub.ru ISSN 2587-9278

Ссылка на статью:

// Машиностроение и компьютерные технологии. 2018. №8. С. 34 44.

Б01: 10.24108/0818.0001427

Дата: 31.08.2018

© НП «НЭИКОН»

УДК 004.056 + 519.178 + 51-74

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

ЧеСНОКОВ В. О."'"' %\о.сЬс8гюкоу:йуагк1ех.ш

1МГТУ им. Н.Э. Баумана. Москва. Россия

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

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

Введение

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

Неотъемлемой частью системы мониторинга онлайновых социальных сетей является система сбора данных. В подавляющем большинство работ, посвященных разработке систем сбора данных из различных источников сети Интернет, описываются очень похожие архитектуры |1, 2, 3, 4, 5, 6, 7|, Типичная система сбора содержит:

• краулер, с помощью которого осуществляется получение данных;

• парсеры, в которых происходит разбор полученных данных и их структуризация;

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

Реализация большинства из функциональных элементов сильно зависит от выбранной архитектуры. Одна из отличительных черт онлайновых социальных сетей — их структурированность. При этом одной из основных моделей онлайновой социальной сети является граф, в котором вершинами являются пользователи, а ребрами — связи между ними |8|, Такой граф называют социальным. Кроме того, отдельного рассмотрения требуют методы доступа к данным онлайновых социальных сетей, подсистема задач на сбор данных из нее и проблема поддержания информации из онлайновых социальных сетей в актуальном состоянии, В данной работе последняя проблема не рассматривается,

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

Выделим основные требования, которым должна соответствовать система сбора данных из онлайновых социальных сетей.

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

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

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

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

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

2. Методы доступа к данным из онлайновых социальных сетей

Методы доступа к социальным связям пользователей можно категоризировать следующим образом:

— доступ через интерфейс программирования приложений (Application Programming Interface, API), предоставляемый онлайновой социальной сетью;

— обработка HTML-страниц, содержащих необходимую информацию;

— доступ через специализированные интерфейсы дня ботов.

Разнородность методов доступа к данным в общем случае требует решения задачи унификации |7|,

Большинство онлайновых социальных сетей запрещают или ограничивают возможность собирать данные о связях и атрибутах пользователей |7|, Можно выделить следующие виды ограничений:

— необходимость регистрировать приложение дня доступа к данным;

— ограничение на количество запросов страниц за некоторый интервал времени (квотирование) ;

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

Дня того, чтобы частично обойти эти ограничения, можно использовать анонимный доступ, не передавая данные о зарегистрированном пользователе или приложении. Однако в этом случае полная анонимность не достигается: сервер онлайновой социальной сети может идентифицировать программу сбора данных но IP-адресу, Следовательно,

необходимо использовать один из методов динамической смены IP-адреса, Среди них можно выделить два основных: использование списков нрокси и использование анонимных сетей.

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

Анонимные сети созданы специально для достижения анонимности в интернете и функционируют поверх обычной сети. Однако только некоторые из них предоставляют выходы в «обычный» WWW-интернет, в то время как большинство функционирует автономно, независимо от WWW, Практически во всех анонимных сетях используются шифрование трафика и распределенная децентрализованная система маршрутизации. Примером такой сети может служить Тог |9|,

3. Планирование задач на сбор данных

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

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

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

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

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

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

4. Общая архитектура программной системы сбора и анализа данных из

онлайновых социальных сетей

Общая архитектура разработанной программной системы представлена на рис, 1, Дня ее построения использовались языки программирования Python и С--с использованием объектно-ориентированной и функциональной парадигм. Реализована гибкая, масштабируемая и расширяемая система сбора и анализа данных из онлайновых социальных сетей. Дня добавления обработки новой онлайновой социальной сети достаточно создать один или несколько модулей дня программы сбора. При этом модуль представляет один или несколько классов, каждый из которых предназначен дня обработки задач одного тина.

Схема потоков данных в системе представлена на рис, 2, Подсистема распределения задач функционирует на базе СУБД тина «ключ-значение» Redis и основана на списках задач с параметром глубины. Подсистема хранения данных реализована на базе реляционной СУБД PostgreSQL, однако вместо нее может быть использована распределенная нереляционная СУБД (например, MongoDB) или графовая база данных (например, Xeo4j), Выбор подсистемы хранения зависит от прикладных задач, решаемых системой. Анализ данных из онлайновой социальной сети производится путем

Рис. 1. Общая архитектура разработанной программной системы.

Рис. 2. Схема потоков данных в пршрамме сбора.

запроса к СУБД, извлечения необходимой дня анализа данных и непосредственной их обработки.

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

5. Сбор и анализ графов ближайшего окружения пользователей онлайновых социальных сетей

Во многих прикладных задачах анализа социальных сетей используется не весь социальный граф, а его подграфы — графы ближайшего окружения 110, 11, 121. Рассмотрим неориентированный невзвешенный граф 0'{У',Е') с диаметром, равным двум, и для которого есть такая вершина и, что из нее есть ребра ко всем вершинам из множества V' \ {и}. Определим

V = V' \{и}, Е = Е' \{{и,^}|^ е V}.

Тогда 0{у, Е) будет графом ближайшего окружения вершины и, а вершину и будем называть центральной.

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

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

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

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

Заключение

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

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

оценки разрабатываемых алгоритмов анализа данных из онлайновых социальных ее-

Работа выполнена при поддержке гранта РФФИ JY2 16-29-09517 офи_м «Методы и алгоритмы выявления сообществ и организации информационного противоборства в социальных сетях на основе байесовских и теоретико-игровых подходов с использованием графовых и фрактальных моделей».

Список литературы

1. Brin S,, Page L. The Anatomy of a Large-scale Hypertextnal Web Search Engine // Comput. Xetw. ISDX Svst. 1998. Vol.30, ЛП-7. P. 107-117.

2. Mirtaheri S.M., Dingtiirk M.E., Hooshmand, S,, Bochmann G.V., Jonrdan G., Onut I. V. A Brief History of Web Crawlers // Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research. CASCOX '13. Riverton, XJ, USA: IBM Corp., 2013. P. 40-54.

3. Pant G,, Srinivasan P. Learning to Crawl: Comparing Classification Schemes // ACM Trans. Inf. Svst. 2005. Vol.23, Л'24. P. 430-462.

4. Kansar M. A., Dhaka V. S,, Singh S. K. Web Crawler: A Review // International Journal of Computer Applications. 2013. Vol.63, №2. P. 31-36.

5. Hey don A., Xajork M. Mercator: A Scalable, Extensible Web Crawler // World Wide Web. 1999. Vol.2, ЛМ. P. 219-229.

6. Shkapenynk V., Snel T. Design and Implementation of a High-Performance Distributed Web Crawler // Proceedings of the 18th International Conference on Data Engineering. ICDE '02. Washington, DC, USA: IEEE Computer Society, 2002. P. 357-369.

7. Якушев А. В. Математическое и программное обеспечение распределенной обработки больших объемов данных из социальных медиа : дне. ... канд. техн. наук. СПб., 2013. 125 с.

8. Ключарёв П.Г., Басараб М.А. Спектральные методы анализа социальных сетей // Наука и Образование. МГТУ им. Н.Э. Баумана. Электрон, жури. 2017. JY2 5. С. 168177.

9. Overview. Tor Project. Режим доступа: https://www.torproject.org/aboHt/ overview.html.en (дата обращения 01.05.2018).

10. McAnley J., Leskovec J. Discovering Social Circles in Ego Networks // ACM Trans. Knowl. Discov. Data. 2014. Vol.8, AU. P. 1-28.

11. Li R,, Wang C,, Chang К. C.-C. User Profiling in an Ego Network: Co-profiling Attributes and Relationships // Proceedings of the 23rd International Conference on World Wide Web. WWW T4. Xew York, XY, USA: ACM, 2014. P. 819-830.

12, Paradise A,, Puzis R,, Shabtai A, Anti-Reconnaissance Tools: Detecting Targeted Socialbots // IEEE Internet Computing. 2014. Vol. 18, A* 5. P. 11-19.

Mechanical Engineering & Computer Science

Electronic journal

http://www.technomagelpub.ru ISSN 2587-9278

Mechanical Engineering and Computer Science, 2018, no. 8, pp. 34-44.

DOI: 10.24108/0818.0001427

Date: 31.08.2018

© NP "NEICON"

Software for crawling and analysis of ego-networks from social networking services

Chesnokov V. O.1' *[email protected]

xBauman Moscow State Technical University, Russia

Keywords: social networking service; social graph; data scraping; crawler; tasks queue

A problem of data scraping from social networking services is considered. A typical crawler software system is described. Requirements for social networking services data scraping software system are stated, its main components are described. Most common social networking services data access methods are considered. Key features of task scheduling system are described in respect to social networking services: task types, tasks hierarchy, task execution context. A flexible, scalable and extensible software system for crawling and analysis of social networking services data is presented. Details of its applications in respect to ego-networks are discussed. Also, variants of its implementations depending on crawling scale are described.

References

1. Brin S., Page L. The Anatomy of a Large-scale Hypertextual Web Search Engine // Comput. Netw. ISDN Syst. 1998. Vol. 30, no. 1-7. P. 107-117.

2. Mirtaheri S.M., DingtUrk M.E., Hooshmand, S., Bochmann G.V., Jourdan G., Onut I. V. A Brief History of Web Crawlers // Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research. CASCON '13. Riverton, NJ, USA: IBM Corp., 2013. P. 40-54.

3. Pant G., Srinivasan P. Learning to Crawl: Comparing Classification Schemes // ACM Trans. Inf. Syst. 2005. Vol.23, no. 4. P. 430-462.

4. Kausar M. A., Dhaka V. S., Singh S. K. Web Crawler: A Review // International Journal of Computer Applications. 2013. Vol. 63, no. 2. P. 31-36.

5. Heydon A., Najork M. Mercator: A Scalable, Extensible Web Crawler // World Wide Web. 1999. Vol.2, no. 4. P. 219-229.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6. Shkapenyuk V., Suel T. Design and Implementation of a High-Performance Distributed Web Crawler // Proceedings of the 18th International Conference on Data Engineering. ICDE '02. Washington, DC, USA: IEEE Computer Society, 2002. P. 357-369.

7. Yakushev A. V. Metematicheskoe i programmnoe obespechenie raspredelennoi obrabotki bolshih ob'emov dannyh iz sotsialnyh media. Kand. diss. Saint-Petersburg., 2013. 125 p.

8. Klyucharev P.G., Basarab M.A. Spektral'nye metody analiza social'nyh setej // Nauka i obrazovanie. MGTU im. N.E. Baumana. 2017. no. 5. P. 168-177.

9. Overview. Tor Project. Available at: https://www.torproject.org/about/ overview.html.en (accessed 01.05.2018).

10. McAuley J., Leskovec J. Discovering Social Circles in Ego Networks // ACM Trans. Knowl. Discov. Data. 2014. Vol.8, no. 1. P. 1-28.

11. Li R., Wang C., Chang K. C.-C. User Profiling in an Ego Network: Co-profiling Attributes and Relationships // Proceedings of the 23rd International Conference on World Wide Web. WWW '14. New York, NY, USA: ACM, 2014. P. 819-830.

12. Paradise A., Puzis R., Shabtai A. Anti-Reconnaissance Tools: Detecting Targeted So-cialbots // IEEE Internet Computing. 2014. Vol. 18, no. 5. P. 11-19.

i Надоели баннеры? Вы всегда можете отключить рекламу.