Gephi: differenze tra le versioni
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 | 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 == | ||
[[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.]] | |||
[[ | 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" | 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 | 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 | 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> | ||
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: | ||
* '''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 | * '''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. | ||
==== Overview ==== | |||
[[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''). ]] | |||
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: | |||
* [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...) | |||
{| class="wikitable" | |||
! ↑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> | |||
|- | |||
! <span style="color:#808000">Tweet</span> | |||
| || || il tweet contiene l'hashtag || il tweet contiene il link || il tweet contiene l'elemento multimediale | |||
|- | |||
! <span style="color:#800000">User</span> | |||
| 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 == | |||
[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
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 eB
è il profilo di @anna, un arco del tipoA → 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
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):
- algoritmi force-directed
- Tulip
Appearance
da scrivere...
Data Laboratory
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
- ↑ In questo caso assicurati di aver installato il pacchetto
graphviz
sul tuo sistema. - ↑ se Gephi non sta mostrando una finestra che t'interessa, aprila dal menu Finestra.
- ↑ se il bottone è disabilitato è perché non hai aperto un progetto di analisi in cui scaricare i dati; fallo dal menu
File → New Project
. - ↑ 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. - ↑ Un dataset è un "blocco" coerente di dati da analizzare.
- ↑ da cui il nome CSV, comma-separated values.
- ↑ Un grafo in cui gli archi sono orientati si dice diretto, altrimenti si dice non diretto; viva l'originalità.
- ↑ Ratpoison soffre di questo problema mentre Awesome no.