- •Розділ 1. Загальна інформація про lsu і інститут компютерних наук та інженерії
- •Розділ 2. Добування даних з соціальних мереж, дослідження графів та програмних засобів їх аналізу
- •2.1. Важливість добування даних з соціальних мереж
- •2.2. Як дані соціальних мереж можна представити у вигляді графу
- •2.3. Міри центральності
- •2.7. Завдання на базі практики
- •Розділ 3. Результати отримані на базі практики
- •3.1. Демонстраційний додаток
- •3.2. Проблеми, що виникли
- •Розділ 4. Аналіз зображення зразку крові
- •4.1. Додаток для аналізу зображення зразку крові
- •4.2. Обрані засоби
- •4.2. Архітектура ядра
- •4.3. Алгоритми
- •Висновки
- •Список літератури
- •Додаток a. Uml діаграма класів ядра
- •Додаток б. Uml діаграма послідовностей для класифікації
- •Додаток в. Визначення звязних компонент
- •Додаток г. Гістограма спільних ознак інтенсивності
- •Додаток д. Класифікація клітин
2.3. Міри центральності
Міри центральності визначають найбільш важливі вузли в графі. Центральність вузла – це функція, що присвоює кожній вершині в мережі певне дійсне значення. Чим більше значення, тии більш центральною є вершина в мережі (яке б визначення центральності не використовувалось). [4]
Щоб зрозуміти, яка міра центральності важлива в даному проекті, потрібно проаналізувати різні міри графів. Було обрано три міри центральності:
Degree Centrality. В реальних відносинах між людьми, ми зазвичай вважаємо людей з великою кількістю звязків більш важливими. Degree centrality відображає цю ідею, як значення. Degree centrality представляє вершини з більшою кількістю звязків важливішими. In-degree і out-degree міри властиві для орієнтованих графів. In-degree centrality вимірює, наскільки популярною є вершина, в той час, як out-degrees, вимірює наскільки дружелюбною є вершина [3].
Betweenness centrality – визначає скільки є між довільною парою вершин найкоротших шляхів, що пролягають через певну іншу вершину. Вершина з більшим значенням betweenness centrality має більший вплив на обмін даними в мережі, з припущенням, що обімн даниими відбувається найкоротшими шляхами.[6]
Closeness centrality – є мірою, що визначає наскільки швидко дві вершини можуть обмінятися інформацією. Отже, чим більш центральними є вершини тим ближче вони знаходяться до всіх інших вершин. Формально, вони будуть мати найменшу середню відстань до всіх інших вершин. [3]
2.4. SNAP
Для даного проекту важливо мати оптимізовані і гнучкі засоби зберігання і аналізу графів. Також потрібно мати можливість розробляти нові алгоритми на базі цих засобів.
Stanford Network Analysis Platform (SNAP) є бібліотекою для аналізу графів і мереж загального використання, написаною на C++. Вона може бути легко масштабована для великих мереж. Ця бібліотека містить ефективні алгоритми для маніпулювання великими графами, обчислення їх структурних властивостей, генерування послідовних чи випадкових графів, тощо. Нажаль немає самостійної бібліотеки цього проеку, проте проект надає набір С++ класів. SNAP також використовується і є доступним через графічну оболонку NodeXL, яка інтегрує засоби аналізу мереж в пакет Microsoft Office, зокрема в Excel. [7]
2.5. NodeXL
Оскільки інформація в соціальних медіа може бути представлена у вигляді орієнтованого графу, то нам потрібен інструмент, що може завантажувати такий граф з мережі і надавати можливість його обробки. З цим завданням може справитись NodeXL. NodeXL є вільним пакетом програмних засобів для аналізу мереж і візуалізаці для Microsoft Excel, що доступний з відкритим кодом. NodeXL містить набір вбудованих бібліотек класів, побудованих на основі WPF. Для цього пакету є можливість розробити розширення для імпорту даних з різних джерел. На даний час існує багато готових розширень, серед яких розширення для імпорту даних з соціальної мережі Facebook, що є однією з цільових мереж в рамках даного дослідження. NodeXL може імпортувати дані з соціальної мережі і представити їх у вигляді графу. Цей граф пізніше може бути візуалізований. NodeXL реалізовує методи обчислення загальновживаних мір графів, використовуючи бібліотеку SNAP. Серед таких мір: центральність, коефіцієнт кластеризації, тощо. NodeXL підтримує орієнтовані і неорієнтовані мережі. Він реалізовує різні алгоритми визначення спільнот і дозволяє користувачам автоматично визначати кластери в їхніх соціальних мережах. [8]
2.6. GraphML
NodeXL забезпечує багато різних варіантів зберігання графу. Одна з них –формат GraphML.
GraphML – це файловий формат на основі XML, головним призначенням якого є збереження графів. GraphML визначає спільний формат для представлення структури графа. Він використовує синтаксис на основі XML і підтримує велику різноманітність можливих типів графів, включаючи орієнтовані, неорієнтовані, змішані графи, гіперграфи і специфічні атрибути для різних предметних областей. Завдяки синтаксису, що базується на XML, цей формат може бути розширений. Він також забезпечує простий механізм зберігання даних, що повязані з вершинами чи ребрами. [9]
