Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Training report 2.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.22 Mб
Скачать

2.7. Завдання на базі практики

Моїм завданням під час практики в LSU було: дослідити принципи роботи SNAP і NodeXL, дослідити можливості збереження даних в GraphML, дослідити міри центральності графів, дослідити засоби, з допомогою яких дані з соціальних мереж можуть бути представлені у вигляді графу, як обєднати графи отримані з різних сторінок соціальної мережі Facebook, і як таке обєднання вплине на різні міри графу.

Розділ 3. Результати отримані на базі практики

3.1. Демонстраційний додаток

В кінці практики мною було розроблено демонстраційний додаток. Цей додаток забезпечує можливості завантаження мереж з різних сторінок Facebook; збереження графу в файл формату GraphML; обчислення мір графу, зокрема різні міри центральності і коефіцієнт кластеризації; обхід вершин і ребер графу; обєднання різних графів в один.

Всі ці функції реалізовані з використанням засобів бібліотеки класів NodeXL. Моїм завданням було використати цю бібліотеку і дослідити завантажені нею графи і їхні міри. Для цього я розробив простий клас на мові C#, що реалізує виклики методів бібліотек NodeXL і забезпечує певні маніпуляції над графом.

Розширення NodeXL завантажує дані з соціальних мереж в граф за наступними правилами:

  • Кожна особа представляється як окрема вершина

  • Кожен запис представляється як окрема вершина іншого типу

  • Якшо учасник спільноти прокоментував якийсь запис/інший коментарій, між ним і творцем цього запису створюється зв'язок типу «Коментатор»

  • Якщо інший учасник прокоментував той же запис, між ним та іншии коментаторами встановлюється зв'язок типу «Спів-коментатор»

  • Якщо учасник вподобав запис, тоді зв'язок має тип «Вподобач»

  • Якщо інший учасник вподобав той же запис, то між ним та іншими вподобачами встановлюється зв'язок «Спів-вподобач»

Цікавим завданням було обєднати різні графи і проаналізувати, як таке обєднання впливає на різні метрики графу. Мною було проведено спостереження, яке показало, що обєднання графів, що не мають спільних вершин (осіб в соціальній мережі) не приводить до змін метрик, але коли ми маємо графи з спільними вершинами, то таке обєднання змінює деякі значеня центральності вершин.

3.2. Проблеми, що виникли

  1. Отримання токену доступу до Facebook API

Одне з розширень для бібліотеки класів NodeXL забезпечує інтерфейс для завантаження даних з сторінок Facebook в граф. Для цього, спочатку потрібно надати токен доступу Facebook API цьому розширенню. В демонтсраційному додатку це потрібно робити вручну, проте повинна бути можливість автоматично отримати цей токен. Нажаль, знайти вирішення цієї проблеми важко, через брак документацій по цьому розширенню.

  1. Налаштування атрибутів даних для вершин

Завантажуючи дані з соціальних мереж розширення надає можливість налаштувати, які дані повинні зберігатися на вершинах. Розширення надає набір завантажуваних атрибутів по замовчуванню, але налаштування цих атрибутів може бути корисним.

  1. Збереження обєднаних графів

Analysis of merged graphs, downloaded from different Social Network pages can result in more informative metrics than analyzing separate graphs. The easiest way to merge graphs is to add nodes and edges of one graph to another in a simple loop. That works, but with one issue. If you will try to save that merged graph into GraphML file, it will lead to key duplication in structure of file, and you will not be able to download the graph from that file. The easiest solution is to seek file for key duplications and remove them, but it must be a way to merge graphs without that issue.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]