• Non ci sono risultati.

Analisi della comunità

4. Analisi dei risultati

4.4. Analisi della comunità

Per l’analisi della comunità siamo partiti dal considerare la rete degli degli amici dei profili che hanno messo like alla pagina. Il network è la comunità allargata della pagina, perché considera gli amici di fan.

Per esaminare il network abbiamo preso i link degli utenti in formato numerico che hanno il like alla pagina di Retrologico dalle impostazioni della pagina e li abbiamo convertiti in link testuali.

Per esempio il link numerico di Cafiero è https://www.facebook.com/100035404733438 e il link testuale è https://www.facebook.com/cafiero.rossi.5.

Da questi dati è stato costruito un file comma-separated values (csv) che rappresenta gli ar- chi del network. Il file è stato pulito dalle interferenze con le espressioni regolari per arriva- re ad avere solamente gli id testuali. Per esempio l’arco che rappresenta l’amicizia tra Ca- fiero e Carlotta è così rappresentato nel file csv:

cafiero.rossi.5,carlotta.donati.127

Il dataset è stato anonimizzato ed è disponibile sulla pagina web di HMR («HMR - Retro- logico»). Gli unici utenti al quale è possibile risalire sono Cafiero e Carlotta.

Per ottenere i dati necessari alla costruzione del network abbiamo utilizzato la libreria, di- sponibile in Python, Selenium («Selenium with Python — Selenium Python Bindings 2 do- cumentation») e i webdriver di Selenium per Chrome. La libreria è stata necessaria per controllare automaticamente il browser Google Chrome e scaricare i dati da Facebook. Il network ricavato (chiamato RetrologicoFanNetwork) è una rete non pesata [indiretta] con i seguenti valori:

Campo Valore

Numero di nodi: 227455

Numero di archi: 275760

Diretto: False

Componenti connesse: 21

Dimensioni del componente più grande: 227134

Self loops: 0

Nodo con grado più alto: 4797

Densità: 1,06

Clustering coefficient: 0

Media dei gradi dei nodi: 2,42

Ogni nodo ha in media grado 2,42, quindi in media ogni profilo ha 2 amici e mezzo. Se os- serviamo la degree distribution in figura 10, notiamo che il RetrologicoFanNetwork sembra essere uno scale-free network, poiché segue una legge di potenza, almeno asintoticamente (Barabási e Albert 1999). In uno scale-free network un nodo, quando deve stabilire un nuo- vo collegamento, preferisce farlo verso un nodo che ne ha già molti, portando questi ad una crescita esponenziale con l’aumentare del numero dei collegamenti della rete. Nodi di que- sto tipo vengono detti hubs. Questo meccanismo è resistente ad altri meccanismi di crescita della rete e porta spesso alla preservazione della proprietà scale-free.

La rete delle amicizie di Facebook è a invarianza di scala e ci aspettavamo che lo fosse an- che lo fosse anche RetrologicoFanNetwork perché è una porzione di Facebook. Questa pro- prietà è importante perché ci rivela che il network da noi estratto contiene degli hubs e Ca- fiero e Carlotta erano probabili candidati ad degli hubs.

Sul network è stato realizzata un’analisi di community discovery per individuare le comuni- tà che compongono il network e comprenderne le caratteristiche e i meccanismi interni. L’ipotesi era che emergessero due comunità più grandi, legate ai due profili che hanno invi- tato i propri amici a mettere like alla pagina.

Nella community discovery la comunità è un insieme di nodi fortemente connessi fra loro ri- spetto ad altri nodi della rete determinando una sorta di raggruppamento: all’interno di una comunità il coefficiente di clustering è generalmente molto elevato, proporzionale alla concentrazione di nodi.

Tra i vari algoritmi di clustering è stato utilizzato Louvain (Blondel et al. 2008), che estrae le comunità nel network attraverso un’ottimizzazione della modularity. Partendo da una rete pesata di N nodi, inizialmente assegnando ciascun nodo a una comunità diversa. Per ogni nodo i valutiamo il guadagno in modularity poniamo lo stesso i nella comunità di uno dei suoi vicini j. Quindi spostiamo il nodo i nella comunità per il quale il guadagno di mo- dularità è il più grande, ma solo se questo guadagno è positivo. Se non vi è alcun guadagno positivo, il nodo i resta nella sua comunità originale. Questo processo viene applicato a tut- ti i nodi fino a quando non è possibile ottenere ulteriori miglioramenti.

La visualizzazione del network in figura 11 l’algoritmo sono stati eseguiti con il software Gephi (versione 0.9.2). Il network ha il layout ForceAtlas2.

Il numero di comunità ottenute dall’algoritmo è 27, ma come si vede anche a occhio sono 2 le comunità che emergono maggiormente poiché raggruppano il 99,2% dei nodi. Rispettiva- mente quella in rosso contiene il 75,28% dei nodi e quella in celeste il 23,92%.

Per capire dove si trovano Cafiero e Carlotta nel network abbiamo utilizzato un filtro per vedere sia l’ego network di Cafiero che l’ego network di Carlotta, entrambi a profondità 2.

Figura 11: Visualizzazione ForceAtlas2 della community discovery con Louvain in RetrologicoFanNetwork

Nella figura 12 sono mostrati due ego network di profondità 2 a sinistra quello di Carlotta (è prevalente il colore rosso) e a destra quello di Cafiero (è prevalente il colore celeste). Il confronto della figura 12 con la 11 mostra le due comunità di interesse che ci aspettava- mo, nonostante sia una vista parziale, costruita su un campione basato su circa un quarto dei dati reali. Abbiamo due comunità di persone raggiungibili tramite i fan interessati all’argomento: una più grande di circa 171000 nodi, quella di Carlotta, costruita tramite le richieste arrivate a pioggia nel profilo e una più piccola di circa 54000, costruita selezionan- do profili nei gruppi di persone interessate all’argomento. Ulteriori analisi sono in corso e saranno visualizzate nella pagina web del progetto HMR («HMR - Retrologico»).

Per vedere la comunità intorno a Cafiero più nel dettaglio sono stati usati gli stessi stru- menti per costruire un secondo network con gli amici degli amici di Cafiero. Questo secon- do network è stato costruito su un pubblico potenzialmente esperto e interessato alla narra- zione della storia dell’informatica.

Il network ricavato (chiamato CafieroFriendsNetwork) è una rete non pesata [indiretta] con i seguenti valori:

Campo Valore

Numero di nodi: 267340

Numero di archi: 383646

Diretto: False

Componenti connesse: 2

Dimensioni del componente più grande: 267331

Self loops: 0

Nodo con grado più alto: 4836

Densità: 1.07

Clustering coefficient: 0

Media dei gradi dei nodi: 2,87

Ogni nodo ha in media grado 2,87, quindi in media ogni profilo ha quasi 3 amici. Anche

CafieroFriendsNetwork, se vediamo la distribuzione dei gradi in figura 13, sembra essere

uno scale-free network.

Anche su questo network è stata realizzata un’analisi di community discovery per indivi- duare le comunità. Anche in questo caso è stato usato l’algoritmo Louvain che utilizza la

modularity per identificare le comunità.

Sul network completo, le comunità identificate sono solamente 3, con la più grande che comprende circa il 90% dei nodi.

Si è deciso di togliere dal network tutti i nodi di grado 1, provando a vedere se nel grafo ri- sultante la community discovery ottenesse un risultato diverso. Il network ridotto è compo- sto da 30236 nodi e 136782 archi. La media dei gradi dei nodi è chiaramente salita a circa 9 e sono rimaste due componenti connesse.

L’algoritmo di community dicovery ha identificato 10 comunità, mostrate in figura 14. Ca- fiero è in una delle comunità più piccole del network, questo conferma in parte l’ipotesi che ogni comunità possa essere sovrapposta ai gruppi Facebook (e aggregati di gruppi) utilizza- ti per la costruzione delle amicizie di Cafiero. Il limite tecnologico per adesso trovato è che Facebook non permette di ricavarsi gli id dei membri dei gruppi grandi. Uno degli sviluppi futuri sarà quello di cercare di modellare in un network i gruppi dentro ai quali è inserito Cafiero per confrontarli con le comunità della figura 14.

Documenti correlati