Gephi: differenze tra le versioni

Da EigenWiki.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
m (aggiunti solo due reference)
 
(17 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
'''Gephi''' è un programma [[Open source]] per visualizzare [https://it.wikipedia.org/wiki/Grafo grafi], molto utile per l'[https://it.wikipedia.org/wiki/Analisi_delle_reti_sociali analisi delle reti sociali].
'''Gephi''' è un programma [[Open source]] per visualizzare [https://it.wikipedia.org/wiki/Grafo grafi], molto utile per l'[https://it.wikipedia.org/wiki/Analisi_delle_reti_sociali analisi delle reti sociali]. Gephi è uno dei [[Software per la tecnopolitica|programmi che usiamo]] per fare ''conricerca'' sulle propagazioni online delle lotte.  


== Installazione ==
== Installazione ==
Puoi scaricare liberamente Gephi dal [http://gephi.org sito ufficiale], ma se usi [[Linux]] è estremamente probabile e più comodo installarlo dai repository. Su Debian, Ubuntu e distribuzioni derivate puoi farlo col comando <code>sudo apt-get install gephi</code>. Su ArchLinux devi abilitare l'[https://wiki.archlinux.org/index.php/Arch_User_Repository_(Italiano) AUR] e lanciare <code>yaourt -S gephi</code>.
Puoi scaricare liberamente Gephi dal [http://gephi.org sito ufficiale], ma se usi [[Linux]] è estremamente più comodo installarlo dai repository. Su Debian, Ubuntu e distribuzioni derivate puoi farlo col comando <code>sudo apt-get install gephi</code>. Su ArchLinux devi abilitare l'[https://wiki.archlinux.org/index.php/Arch_User_Repository_(Italiano) AUR] e lanciare <code>yaourt -S gephi</code>.


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


== Analisi sulla rete Twitter ==
== Analisi sulla rete Twitter ==
Una volta lanciato il programma, vai nel menu <code>Strumenti → Plugin</code> e scegli i plugin da installare. Di sicuro vorrai ''TwitterStreamingImporter''; altri plugin interessanti per l'analisi della rete Twitter e/o utilizzati da [[Tuipi]] sono: ''SemanticWebImport'', ''Graph Streaming'' e ''MultiGravity ForceAtlas 2''.
[[File:Femminista1-2.jpg|miniatura|Un grafo elaborato con Gephi può offrire all'analisi diverse informazioni sulle interazioni fra i nodi di una rete sociale.]]


[[File:Femminista1-2.jpg|miniatura]]
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 <code>Strumenti → Plugin</code> 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<ref>In questo caso assicurati di aver installato il pacchetto <code>graphviz</code> sul tuo sistema.</ref>
* 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" (se Gephi non ti mostra la finestra del Twitter Streaming Importer, aprila dal menu Finestra).
Il plugin TwitterStreamingImporter si connette a Twitter autenticandosi con le credenziali che gli fornisci cliccando sul bottone "Credentials".<ref name="apriFinestra">se Gephi non sta mostrando una finestra che t'interessa, aprila dal menu Finestra.</ref>
Le credenziali consistono in quattro stringhe alfanumeriche che puoi generare seguendo [[Tuipi#Registrare_una_app_e_ottenere_le_credenziali_per_la_API|questa guida]]: nel registrare una app per le analisi con Gephi ti conviene settare i permessi a ''sola lettura''.
Le credenziali consistono in quattro stringhe alfanumeriche che puoi generare seguendo [[Tuipi#Registrare_una_app_e_ottenere_le_credenziali_per_la_API|questa guida]]: nel registrare una app per le analisi con Gephi ti conviene settare i permessi a ''sola lettura''.


La finestra di Twitter Streaming Importer mostra una scheda "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). Tra le strategie seleziona "Full Twitter Network".
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 <code>.json</code>, 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; se il bottone è disabilitato è perché non hai aperto un progetto di analisi in cui scaricare i dati; fallo dal menu <code>File → New Project</code>.
Una volta preparata la lista di hashtag/profili da seguire clicca su "Connect" per collegarti<ref>se il bottone è disabilitato è perché non hai aperto un progetto di analisi in cui scaricare i dati; fallo dal menu <code>File → New Project</code>.</ref>.


Il plugin si connette alla [https://twitter.com/search-home 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).
Il plugin si connette alla [https://twitter.com/search-home 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).
Riga 23: Riga 36:


=== Salvare e condividere i dati raccolti ===
=== Salvare e condividere i dati raccolti ===
Salvando il progetto otterrai un file con estensione <code>.gephi</code>, che pui riaprire in seguito per analizzare i dati registrati in quella determinata finestra temporale oppure condividere con altre persone per un progetto collettivo.
Salvando il progetto otterrai un file con estensione <code>.gephi</code>, 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.).<ref>Suggerimento: un modo semplice per non fare confusione con i dati raccolti consiste nel nominare i file salvati con una numerazione progressiva, ad esempio <code>26N-corteo-1.gephi</code>, <code>26N-corteo-2.gephi</code>, <code>26N-corteo-3.gephi</code>, ... 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.</ref>
[[Tuipi]] ha 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 <code>File → Export → Graph file</code> e poi dalle opzioni scegli "List".


Puoi anche esportare l'immagine del grafo in formato <code>.png</code> oppure <code>.svg</code>; 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.
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 <code>File → Export → Graph file</code> e poi dalle opzioni scegli "List".
 
Puoi anche esportare l'immagine del grafo in formato <code>.png</code>, <code>.pdf</code> oppure <code>.svg</code>; 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''<ref>Un ''dataset'' è un "blocco" coerente di dati da analizzare.</ref> 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<ref>da cui il nome CSV, ''comma-separated values''.</ref>, ma si può scegliere come separatore qualsiasi altro carattere, come il punto e virgola <code>;</code>, 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 <code>xaviermir</code> e <code>Gbalboa</code> 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 ===
=== Analisi di una rete sociale ===
Usando i tre grossi tasti in alto si può cambiare tra le tre modalità di lavoro principali di Gephi:
Quando il plugin TwitterStreamingImporter è connesso, i dati provenienti da Twitter vanno a costituire il grafo attraverso due tipi di elementi:
* '''Overview''' per lavorare graficamente sui vertici e i lati del grafo, cambiandone colore, dimensione, disposizione, filtrando gli elementi da mostrare, e per varie quantità statistiche e invarianti topologici.
* '''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 <code>A</code> è il profilo di @beppe e <code>B</code> è il profilo di @anna, un arco del tipo <code>A → B</code> 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'''<ref name='diretti'>Un grafo in cui gli archi sono orientati si dice ''diretto'', altrimenti si dice ''non diretto''; viva l'originalità.</ref>.
 
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
** filtraggio
** metriche
** metriche
** community detection
** community detection
** layout & appearance
** layout & appearance
* '''Data laboratory''' per lavorare sul grafo dal lato "non grafico": quello dei dati. Ti mostra una doppia tabella con vertici e lati sulle righe; puoi modificarne gli attributi e i valori, e fare un sacco di altre cose ganze.
* '''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.
* '''Preview''' per raffinare i dettagli grafici e renderizzare un'immagine; da qui puoi anche esportarla in vari formati.


Quando si analizzano i dati da twitter le informazioni vengono raccolte in due tipologie geometriche:
==== Overview ====
* '''nodi''' : che rappresentano la natura del dato, ovvero i tweet, gli user, gli hashtag i file ( foto, video, gif, link...) e si differenziano tra di loro in base al colore ad esempio: rosso=user, verde=hashtag, blu=file..
[[File:Overview.jpg|miniatura|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''). ]]
* '''archi''': che collegano due nodi e sono '''orientati''', ovvero le interazioni che ci sono tra i nodi sono direzionate e il verso dell'arco indica con chi e come un nodo ha interagito con un altro e, nel caso di twitter, possone essere menzioni, retweet, citazioni; ad esempio se un nodo di tipo hashtag è collegato con un nodo di tipo tweet vuol dire che il tweet conteneva quell'hashtag e così via..
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.


Come scritto precedentamente, si possono analizzare, manipolare i dati raccolti tramite tre finestre di lavoro che sono: Data Laboratoru, Overview e preview. Vediamo ora come usare questi strumenti fornendo la descrizione di alcuni comandi:
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:
* [https://www.researchgate.net/publication/253087985_OpenOrd_An_Open-Source_Toolbox_for_Large_Graph_Layout OpenOrd]
* [http://webatlas.fr/tempshare/ForceAtlas2_Paper.pdf ForceAtlas2]
* ..
 
Altro (anche extra Gephi):
* algoritmi [https://en.wikipedia.org/wiki/Force-directed_graph_drawing force-directed]
* [http://tulip.labri.fr Tulip]
 
==== Appearance ==== 
da scrivere...


==== Data Laboratory ====
==== Data Laboratory ====
[[File:datalaboratory.png|400px|thumb|right|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...)


Qui viene visualizzata una tabella che contiene tutte le informazioni dei nodi e gli archi raccolti ( foto)
{| class="wikitable"
Per quanto riguarda i nodi le colonne più significative sono:
! ↑arco→ !! <span style="color:#808000">Tweet</span>!! <span style="color:#800000">User</span> !! <span style="color:#008000">Hashtag</span> !! <span style="color:#000080">Link</span> !! <span style="color:#008080">Media</span>
* '''Id''' : è la colonna identificativa del nodo
|-
* '''label''': è l'etichetta del nodo
! <span style="color:#808000">Tweet</span>
* '''twitter tyooe''' : indica la tipologia del noco ovvero se è un user, tweet, hashtag...
|  ||  || il tweet contiene l'hashtag || il tweet contiene il link || il tweet contiene l'elemento multimediale
Per gli archi invece abbiamo:
|-
* '''source''': che indica il nodo da dove l'arco parte
! <span style="color:#800000">User</span>
* '''target''': indica il nodo di arrivo
| l'utente ha twittato o ritwittato il tweet, oppure vi è menzionato || l'utente di partenza ha ritwittato o menzionato l'utente di arrivo || || ||
* '''type''' : è il verso dell'arco
|-
* '''kind''' : ti dice che tipo di interazione c'è stato tra i due nodi ( menzione, citazione, retweet...)
|}


==== Overview ====
==== Preview ====
da scruvere.
 
== Problemi ==
[https://gephi.org/users/detect-and-fix-graphical-problems/ Qui] sono elencati alcuni tra i più noti, con relative soluzioni.
 
=== Tiling ===
Se si usa un window manager tiling<ref>''Ratpoison'' soffre di questo problema mentre ''Awesome'' no.</ref> 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: <code>_JAVA_AWT_WM_NONREPARENTING=1 gephi</code>.


=== Problemi di memoria ===
Un settaggio di default non permette a Gephi di [https://github.com/gephi/gephi/wiki/Troubleshooting#memory-issues 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 <code>-J-Xmx1024m</code> 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==
<references />




[[Categoria:Tecnopolitica]]
[[Categoria:Tecnopolitica]]
[[Categoria:HowTo]]

Versione attuale delle 00:08, 27 ago 2017

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.