Gephi

Da EigenWiki.
Jump to navigation Jump to search

Gephi è un programma Open source per visualizzare grafi, molto utile per l'analisi delle reti sociali. Gephi è uno dei programmi che usiamo per fare conricerca sulle propagazioni online delle lotte.

Installazione

Puoi scaricare liberamente Gephi dal sito ufficiale, ma se usi Linux è estremamente più comodo installarlo dai repository. Su Debian, Ubuntu e distribuzioni derivate puoi farlo col comando sudo apt-get install gephi. Su ArchLinux devi abilitare l'AUR e lanciare yaourt -S gephi.

Gephi è quel genere di programma che ti fa apprezzare la massima "salva spesso".

Analisi sulla rete Twitter

Un grafo elaborato con Gephi può offrire all'analisi diverse informazioni sulle interazioni fra i nodi di una rete sociale.

La prima volta che lanci Gephi ti conviene installare diversi plugin che ti consentono di fare molte cose che il programma "così com'è" non permette: vai nel menu Strumenti → Plugin e scegli i plugin da installare. Ecco alcuni di quelli che usiamo di solito, sia direttamente in Gephi che attraverso Tuipi:

  • TwitterStreamingImporter
  • Graph Streaming
  • SemanticWebImport
  • EventGraphLayout
  • MultiGravity ForceAtlas 2
  • Map Of Countries
  • Graphviz Layout[1]
  • Give Colors To Nodes
  • Give Colors To Edges

Il plugin TwitterStreamingImporter si connette a Twitter autenticandosi con le credenziali che gli fornisci cliccando sul bottone "Credentials".[2] Le credenziali consistono in quattro stringhe alfanumeriche che puoi generare seguendo questa guida: nel registrare una app per le analisi con Gephi ti conviene settare i permessi a sola lettura.

La finestra di TwitterStreamingImporter mostra due schede "Words to follow" e "Users to follow": nella prima inserisci gli hashtag da seguire (senza cancelletto, non importa minuscolo/maiuscolo) e nella seconda i profili da seguire (senza chiocciola, fa differenza minuscolo/maiuscolo). Gli hashtag sono quelli seguiti, mentre se inserisci dei profili verranno importati nel grafo solo i tweet che provengono da quei profili. Coi tasti "Load query file" e "Save query file" puoi salvare e caricare le tue query in un file .json, il che torna utile ad esempio quando vuoi seguire molti hashtags durante più sessioni senza doverli reinserire a mano ogni volta. Ci sono tre possibili strategie:

  • Full Twitter network : vengono importati nel grafo i tweet, gli hashtag, i media, i link e i profili che interagiscono.
  • Hashtag network : ?
  • User network : vengono importati nel grafo solo gli utenti che twittano, ritwittano, citano, rispondono o menzionano usando gli hashtag specificati.

Una volta preparata la lista di hashtag/profili da seguire clicca su "Connect" per collegarti[3].

Il plugin si connette alla pagina di ricerca di Twitter e inizia a popolare il grafo via via che che la ricerca produce nuovi risultati. In linea teorica, stai registrando quello che accade sulla rete Twitter nella finestra temporale che va da quando premi "Connect" a quando premi "Disconnect", e i nuovi risultati dovrebbero giungerti quasi in tempo reale (con un ritardo di pochi minuti al massimo).

Puoi fare questo lavoro di raccolta dati anche con un computer veramente scarso che non riesce a visualizzare un grafo con più di un migliaio di nodi senza ingolfarsi: basta chiudere la finestra "Graph" di Gephi.

Salvare e condividere i dati raccolti

Salvando il progetto otterrai un file con estensione .gephi, che pui riaprire in seguito per analizzare i dati registrati in quella determinata finestra temporale oppure condividere con altre persone per un progetto collettivo. Un progetto/grafo salvato con questa estensione conserva sia l'informazione dei singoli nodi e archi del grafo (il contenuto e la data dei tweet, gli ID e gli screen name degli utenti, i link, etc.), che le informazioni sulla visualizzazione del grafo stesso (il colore, la posizione, le dimensioni dei nodi, degli archi e delle etichette, etc.).[4]

In certi casi può essere utile anche esportare i dati del grafo (trascurando a volte l'informazione sulla geometria) in altri formati, da elaborare magari con altri programmi. Ad esempio Tuipi possiede alcune strategie di analisi più furbe di quelle del plugin di Gephi, ma può comunque sfruttare i dati raccolti con Gephi per alimentare la sua base di conoscenza e le sue batterie: per esportare i dati nel formato utilizzabile da Tuipi vai sul menu File → Export → Graph file e poi dalle opzioni scegli "List".

Puoi anche esportare l'immagine del grafo in formato .png, .pdf oppure .svg; quest'ultimo ha il vantaggio di permettere la ricerca di testo all'interno dell'immagine, utile per localizzare un hashtag o un utente in una immagine di una rete twitter. Per esportare le immagini del grafo devi andare nello spazio di lavoro "Preview" di Gephi, settare le opzioni di output e infine cliccare su "Export".

Importazione dei dati

Spesso ci procuriamo dataset[5] con altre fonti o programmi, analizzandoli poi con Gephi che permette di importare file CSV. Un file CSV è semplicemente un file di testo che rappresenta i dati in forma tabulare: ogni riga rappresenta un elemento ed ogni colonna è un attributo di quell'elemento. Normalmente le colonne sono separate da virgole[6], ma si può scegliere come separatore qualsiasi altro carattere, come il punto e virgola ;, lo spazio, la tabulazione, etc. L'importante è non mescolare separatori diversi nello stesso file. Talvolta la prima riga di un file CSV non rappresenta un elemento ma una "legenda", specificando il significato delle colonne corrispondenti. Ecco un esempio di un (piccolo) file CSV:

Source          Target                 Weight
xniomkj         nicomorreale           0.341
AIXA_oficial    vvazquezlaba           0.056
borderstocross  Limonaie               0.850
AlanErnesto_150 SeoMexico0             0.434
roral77         le_leesto              0.675
Sessiz_Sada     ccananaydin            0.542
Gbalboa         xaviermir              0.666
ZissReSister    WomensMarchKS          0.124
xaviermir       Gbalboa                0.433

si tratta di un elenco di archi di un grafo, uno per ogni riga. La prima riga è la "legenda" da cui si evince che le colonne di ogni riga (arco) rappresentano, nell'ordine: l'origine dell'arco, la destinazione, il peso. Si noti che un CSV che come questo rappresenta una lista di archi, codifica implicitamente anche i nodi. Poiché inoltre i grafi che manipoliamo sono spesso diretti, i ruoli delle colonne Target e Source non sono interscambiabili: nell'esempio precedente soltanto i nodi xaviermir e Gbalboa sono connessi da archi in ambo le direzioni (specificati nell'ultima e terzultima riga).

Gephi ha una procedura guidata per importare i CSV, che ti chiederà anzitutto di specificare il file CSV da caricare, poi il separatore usato, e infine se il file/tabella CSV che si sta importando rappresenta una lista di nodi oppure di archi.

Analisi di una rete sociale

Quando il plugin TwitterStreamingImporter è connesso, i dati provenienti da Twitter vanno a costituire il grafo attraverso due tipi di elementi:

  • nodi : sono gli "atomini" del grafo che rappresentano la natura del singolo dato. Un nodo può essere un tweet (detto anche stato), un profilo, un hashtag, una foto, un video, un link.
  • archi: ogni arco collega due nodi e rappresenta una relazione fra loro. Per esempio se il nodo A è il profilo di @beppe e B è il profilo di @anna, un arco del tipo A → B può rappresentare il fatto che @beppe segue @anna (è un suo follower). Nota che a differenza dell'ecosistema Facebook, dove le amicizie possono solo essere o reciproche o non sussistere, in questo caso gli archi hanno un verso[7].

Usando i tre grossi tasti in alto si può cambiare tra le tre modalità di lavoro principali di Gephi: Overview (per lavorare "graficamente" sui nodi, modificandone la disposizione, il colore etc.), Data laboratory per lavorare sui dati (indipendentemente da come sono rappresentati graficamente), e Preview (per raffinare le impostazioni estetiche ed esportare un'immagine).

  • Overview per lavorare graficamente sui nodi e gli archi del grafo:
    • filtraggio
    • metriche
    • community detection
    • layout & appearance
  • Data laboratory per lavorare sul grafo dal lato non grafico: quello dei dati. Ti mostra una doppia tabella con i nodi (Nodes) e gli archi (Edges) sulle righe: puoi modificarne gli attributi e i valori, e fare un sacco di altre cose ganze.
  • Preview per raffinare i dettagli grafici e renderizzare un'immagine; da qui puoi anche esportarla in vari formati.

Overview

Vista dello spazio di lavoro Overview di Gephi. Nella colonna sinistra sono mostrate (dall'alto in basso) la finestra Appearance per l'aspetto di nodi e archi e Layout per la loro disposizione. In basso lo strumento Timeline per vedere l'evoluzione del grafo nel tempo. Nella colonna destra (dall'alto in basso) la finestra Contesto conta i nodi e gli archi nel grafo e la percentuale di elementi mostrati rispetto al totale, quando sono attivi dei Filtri (in basso, sotto le Statistiche).

Qui si può dare sfogo alla propria fantasia e immaginazione manipolando e riorganizzando i dati raccolti tramite gli algoritmi e i filtri interni al programma, oppure manualmente con la tavolozza da lavoro a sinistra del grafico. In una prima fase conviene esplorare il grafo alla ricerca di dettagli significativi che poi si sceglie di evidenziare graficamente in un modo o in un altro.

Puoi cambiare i colori, le dimensioni e la disposizione di nodi e archi, sia manualmente che attraverso i layout automatici, che calcolano le posizioni dei nodi in base a criteri non sono sempre validi per ogni grafo che vuoi visualizzare: a volte un layout che è molto informativo in certi contesti può risultare non informativo o addirittura sviante. Puoi anche calcolare diverse statistiche e invarianti topologici, e fare in modo che queste grandezze siano rappresentate graficamente nella dimensione o nel colore dei nodi, o nel peso degli archi. All'inizio i nodi e gli archi saranno raggruppati e accavallati, disposti casualmente in un quadrato; questo ovviamente non ci fornisce nessuna indicazione sui dati raccolti. Per capirci qualcosa possiamo cambiare la disposizione dei nodi (strumenti di Layout) e modificare le caratteristiche grafiche come forma, colore, dimensione di nodi, archi e loro etichette (strumenti Appearance).

Layout

Ci sono quelli interni/plugin di Gephi:

Altro (anche extra Gephi):

Appearance

da scrivere...

Data Laboratory

Una vista della tabella dei nodi (nodes) di una rete Twitter; dal pulsante in alto si può scegliere di visualizzare gli archi (edges).

Qui viene visualizzata una tabella che contiene tutte le informazioni dei nodi e gli archi che formano il tuo grafo.

  • Per quanto riguarda i nodi le colonne più significative sono:
    • Id : è la colonna identificativa del nodo
    • label: è l'etichetta del nodo
    • twitter type : indica la tipologia del nodo, ovvero se è un user, tweet, hashtag...
  • Per gli archi invece abbiamo:
    • source: che indica il nodo da dove l'arco parte
    • target: indica il nodo di arrivo dell'arco
    • type : se l'arco è diretto (ha un verso) oppure no
    • kind : ti dice che tipo di interazione c'è stato tra i due nodi (menzione, citazione, retweet...)
↑arco→ Tweet User Hashtag Link Media
Tweet il tweet contiene l'hashtag il tweet contiene il link il tweet contiene l'elemento multimediale
User l'utente ha twittato o ritwittato il tweet, oppure vi è menzionato l'utente di partenza ha ritwittato o menzionato l'utente di arrivo

Preview

da scruvere.

Problemi

Qui sono elencati alcuni tra i più noti, con relative soluzioni.

Tiling

Se si usa un window manager tiling[8] avviando Gephi si apre la finestra ed eventualmente il dialogo di benvenuto ma non si vede niente. Bisogna lanciare il programma settando una variabile, digitando nel terminale: _JAVA_AWT_WM_NONREPARENTING=1 gephi.

Problemi di memoria

Un settaggio di default non permette a Gephi di usare tutta la memoria che si ha a disposizione nel caso (oramai piuttosto frequente) che si abbiano 2GB di RAM o più. In tal caso bisogna sostituire nel file di configurazione l'opzione -J-Xmx1024m inserendo la quantità di memoria che si vuole concedere a Gephi espressa in MB: non superare la quantità effettiva di RAM che si ha a disposizione perché altrimenti inizia a swappare male ed è una tortura.

Note

  1. In questo caso assicurati di aver installato il pacchetto graphviz sul tuo sistema.
  2. se Gephi non sta mostrando una finestra che t'interessa, aprila dal menu Finestra.
  3. se il bottone è disabilitato è perché non hai aperto un progetto di analisi in cui scaricare i dati; fallo dal menu File → New Project.
  4. Suggerimento: un modo semplice per non fare confusione con i dati raccolti consiste nel nominare i file salvati con una numerazione progressiva, ad esempio 26N-corteo-1.gephi, 26N-corteo-2.gephi, 26N-corteo-3.gephi, ... Se si vuole anche salvare la lista degli hashtag tracciati, dalla finestra di TwitterStreamingImporter scegliere Save Query File. Adottare una convenzione del genere diventa praticamente necessario se si lavora in gruppo ad un progetto.
  5. Un dataset è un "blocco" coerente di dati da analizzare.
  6. da cui il nome CSV, comma-separated values.
  7. Un grafo in cui gli archi sono orientati si dice diretto, altrimenti si dice non diretto; viva l'originalità.
  8. Ratpoison soffre di questo problema mentre Awesome no.