Bakalárska práca

Analýza sociálnej siete Twitter

Cieľom práce je analýza sociálnej siete Twitter pomocou metód teórie grafov prípadne malých svetov. Vrcholy grafu budú tvoriť hashtagy, hrany ich výskyt v tweetoch.

Vedúci: doc. RNDr. Damas Gruska, PhD.
Stredisko: Katedra aplikovanej informatiky


  • Fakulta MatFyz UK
  • Práca písana v Pages s LaTeX
  • Zber dát cez Twitter API
  • Python programovací jazyk
  • NetworkX analýza sietí
  • Pyvis vizualizácia sietí
  • Filtrovanie better-profanity
  • Lematizácia simplemma

Návrh štruktúry textu práce na hlavné kapitoly

  1. Úvod
  2. Sociálna sieť Twitter
  3. Základné pojmy teórie grafov a komplexných sietí
  4. Analýza komplexných sietí hashtagov
  5. Použité technológie
  6. Implementácia
  7. Záver

Časový plán

  • November: zbieranie zdrojov a prezentácia zdrojov
  • December: východisková kapitola práce a prototyp so základou funkcionalitou
  • Január: doštudovanie teórie komplexných sieti
  • Február: dokončenie implementačnej časti práce
  • Marec: optimalizácia a refaktorizácia implementačnej časti práce
  • Apríl: dopísanie textu záverečnej práce
  • Máj: odovzdanie práce

Zoznam zdrojov

  • [1] Mark Newman. Networks. Oxford university press, 2018.
  • [2] Mária Markošová, Peter Náther. Prednáškové prezentácie z predmetu komplexné siete. 2-AIN-154 Komplexné siete, Univerzita Komenského - Fakulta matematiky, fyziky a informatiky, Bratislava.
  • [3] Edita Máčajová. Prednáškový materiál z teórie grafov. 2-INF-174 Teória grafov, Univerzita Komenského - Fakulta matematiky, fyziky a informatiky, Bratislava, 2021.
  • [4] Marek Ciglan, Michal Laclavík. Detekcia komunít v komplexných sieťach. Ústav informatiky SAV, 2013.
  • [5] Twitter API dokumentácia. Dostupné na developer.twitter.com.
  • [6] NetworkX dokumentácia. Dostupné na networkx.org.
  • [7] Pyvis dokumentácia. Dostupné na pyvis.readthedocs.io.
  • [8] Sam Ho. Using Network Science to explore hashtag culture on Instagram. Towards Data Science, 2020.
  • [9] Logan Wilson. Semantic network analysis of ideological communities in Twitter. MSiA Student Research, 2018.
  • [10] Nicola Vitale. Study on the Twitter hashtag-hashtag co-occurrence network and knowledge discovery application. University of Southampton, 2016.
  • [11] Ma Feicheng, Li Yating. Utilising social network analysis to study the characteristics and functions of the co-occurrence network of online tags. Emerald Group Publishing Limited, 2014.
  • [12] Kristína Dvorská. Analýza vytvárania socialných sietí a ich vlastností. Univerzita Komenského - Fakulta matematiky, fyziky a informatiky, Bratislava, 2021.

Denník

14.2 - 20.2

Stretnutie so školiteľom a ďalšia komunikácia so zamestnancami fakulty ohľadom spracovania prirodzeného jazyka pre zistenie názvu témy množiny hashtagov v jednotlivých komunitách. Zamýšlanie sa nad ďalšími prvkami analýzy hashtagových komplexných sietí. Krátka príprava na úvodnú prezentáciu pre bakalársky seminár.


21.2 - 27.2

Študovanie LDA (Topic Identification) modelu a jeho potenciálneho využitia pre pomenovávanie komunít. Navrhnutie už konečnej štruktúry práce a rozdelenia kapitol. Začiatok písania ďalších kapitol práce.


28.2 - 6.3

Implementácia ďalších prvkov analýzy vrátane closeness centrality na identifikáciu najreprezentatívnejších vrcholov a jaccardového indexu pre spresnenie určenia podobnosti medzi hashtagmi. Hľadanie ďalších potenciálne použiteľných prvkov network science analýzy.


7.3 - 13.3

Vylepšovanie a dokončovanie vizualizácie konečnej siete s najdôležitejšími vrcholmi a hranami. Refaktorizácia celého kódu.


14.3 - 20.3

Implementácia analýzy prepojení medzi jednotlivými tematickými zhlukmi na základe počtu hrán medzi komunitami v komplexnej sieti. Pridanie vizualizácie komunít a vzájomných prepojení medzi komunitami.


21.3 - 27.3

Príprava a vytvorenie prezentácie na bakalársky seminár. Doplnenie kapitoly teoretické východiská o ďalšie potrebné pojmy a definície.


28.3 - 3.4

Začatie písania rozsiahlej kapitoly o zbere dát, analýze a vizualizácie hashtagových komplexných sietí.


4.3 - 10.3

Písanie krátkeho príspevku na študentskú vedeckú konferenciu. Zber ďalších údajov pre analýzu.


11.4 - 17.4

Pokračovanie písania 2. kapitoly, konkrétne zber dát, modelovanie komplexných sietí, dokazovanie že grafy spĺňajú vlastnosti komplexných sietí.


18.4 - 24.4

Pokračovanie písania 2. kapitoly, presnejšie najdôležitejšej časti práce - analýza hashtagových komplexných sietí. Najdôležitejšie hashtagy, tematické zhluky hashtagov, najsilnejšie spojenia medzi hashtagmi, prepojenia medzi tematickými zhlukmi.


25.4 - 1.5

Dokončenie 2. kapitoly práce. Opis limitov navrhnutých postupov a vizualizácie výsledkov analýzy.

Implementácia

Pipes and filters softvérová architektúra

Kostru aplikácie tvorí softvérová architektúra pipes and filters. Systém je tvorený množstvom malých modulov (filters), ktoré sú spojené komunikačnými kanálmi (pipes). Každý filter robí nejakú transformáciu dát. Aby som eliminoval vysoký tok dát, vstupné dáta sú mutable a do filtrov sa posiela len referencia. Filtre potom len menia atribúty objektov. Veľká výhoda tejto architektúry je vysoká modularita.

class Filter: # abstract class
    
    def execute(self, input_data): # abstract method
        raise NotImplementedError("Please implement this method!")

class Pipeline:

    def __init__(self, filters = list()):
        self._filters = list(filters) # filters are mutable default argument

    def process(self, input_data):
        for filter_ in self._filters:
            filter_.execute(input_data)

    def add_filter(self, filter_):
        self._filters.append(filter_)

Vizualizácia hashtagovej komplexnej siete

Výsledok vizualizácie komplexnej siete hashtagu #motivation v rámci prvého prototypu. Zafarbenie vrcholov je výsledkom detekcie komunít. Komunity v hashtagovej komplexnej sieti reprezentujú tematické zhluky.