Статья опубликована в рамках: Научного журнала «Студенческий» № 7(51)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2
СОЦИАЛЬНОЕ ВЗАИМОДЕЙСТВИЕ, ПРИМЕНЕНИЕ ТЕОРИИ ШЕСТИ РУКОПОЖАТИЙ НА ПРИМЕРЕ СОЦИАЛЬНЫХ СЕТЕЙ
Технологии и современное общество не стоят на месте, они активно развиваются и в них протекают различные процессы. Можно выделить одну характерную черту, которая не наблюдалась в других типах общества - стремление к глобализации.
В 1969 году двумя американскими социальными психологами была предложена одна занимательная гипотеза, которая утверждала, что все люди на планете, знакомы друг с другом в среднем через пять человек. Гипотеза следовала из данных, полученных из эксперимента, который был проведён между несколькими американскими городами. Через несколько дней, произведя аналитику и подсчёты выяснилось, что в среднем за 5-6 человек письма дошли до своих адресатов.
Казалось бы, что в наше время цифровых технологий повторить подобный эксперимент намного проще и быстрее, но это не так. Такие крупные компании, как Microsoft и Facebook, при поддержке Миланского университета, так же проводили совместные исследования в этой области. Для анализа данных более, чем 2.000.000 пользователей, компании Microsoft потребовалось два года, а данные эксперимента занимали объём более 4,5 терабайт. Оба эксперимента успешно подтвердились.
В нашем же эксперименте выбор пал на социальную сеть "ВКонтакте", так как она является самой популярной на пространстве СНГ, имеет более 530 миллионов зарегистрированных пользователей, ежемесячная посещаемость – 97 миллионов посетителей. Существует API для получения данных из "ВКонтакте", часть запросов будет использоваться в приложении.
Необходимо реализовать графическое приложение, включающее в себя авторизацию в социальной сети "ВКонтакте", подсчёт "Расстояния" в рукопожатиях между выбранными людьми и генерацию отчётов.
В качестве основного языка программирования используется Phyton 2.7, так как язык интерпретируемый, в значит, код зависит только от интерпретатора, а не от операционной системы. В данном случае разработка велась под Mac OS X. Объектно-ориентированный подход языка используется в приложении для создания графического интерфейса. Простота использования, крайне понятный синтаксис, множество стандартных функций и наличие множества библиотек значительно упрощают работу.
Рисунок 1. Окно авторизации в приложении через "ВКонтакте"
Для удобства поиска, по окончании работы программы, будет выведена цепочка знакомств, а для визуализации полученной информации будет представлен граф друзей, в котором каждому человеку соответствует массив друзей в социальной сети.
Первый алгоритм сложнее в плане визуализации, однако даст более быстрый результат при поиске числа связей между людьми. А второй алгоритм превосходит первый в плане визуализации, именно он используется для построения графов.
Рисунок 2. Пример математического графа
Для визуализации данных используется перевод полученного графа в представление Graphviz и js. Первое представление используется для визуализации графа как картинки через консольную утилиту dot. Второй способ используется при генерации отчетов.
Рисунок 3. Основное меню работы с приложением
На текущем этапе работы над программой данные о пользователях хранятся в текстовых файлах в JSON-формате. JSON-представление очень популярно в Web-среде, вытесняет XML представление данных. Для языка Python JSON удобен также тем, что представляет собой готовый тип языка – словарь (dict).
Для оптимизации работы и хранения данных изолированно от программы можно задействовать базы данных. Такой способ представления информации о пользователях дает несколько преимуществ. Например, данные хранятся отдельно от программы, к ним предоставляется доступ. Информацию о пользователях можно хранить на внешних ресурсах – серверах.
Использование базы данных дает возможность любому пользователю получить инструмент для анализа данных. Для более наглядного представления пользователь сможет использовать различные СУБД, а программисту будет предоставлен API для работы с базой данных.
Рисунок 4. Модель сгенерированного графа друзей
Данное приложение охватывает сразу несколько сфер, в том числе научную и развлекательную. С ее помощью возможно изучение социальных взаимодействий, взаимоотношений, связей, миграций. С другой стороны, приложение позволяет узнать, каким образом и через кого люди могут быть знакомы.
Программа находится в начальном этапе развития, есть недочеты, недоработки, но в целом представляет неплохой перспективный прототип.
Список литературы:
- Маккинли У. Python и анализ данных. — Перевод с английского. — М.: ДМК Пресс, 2015. — 482 с.
- Касьянов В. Н., Евстигнеев В.А. Графы в программировании: обработка, визуализация и применение. — СПб.: БХВ-Петербург, 2003. — 1104 с.
- Ю. Филимонов, С. А. Цатурян. Социальные сети как инновационный механизм «мягкого» воздействия и управления массовым сознанием // «Политика и общество». — М.: Nota Bene, 2012. — 65 с.
- Курейчик В. М., Лебедев Б. К., Лебедев О. К. Поисковая адаптация: теория и практика. – М: Физматлит, 2006. – 272 с.
Оставить комментарий