Anàlisi de text amb Gephi ( tutorial, part 1, en català)
Qualsevol text pot ser representat com una xarxa on les paraules o els conceptes són els nodes, i les seves relacions són les vores (“aristas”) de la xarxa. I què guanyem amb l’anàlisi de text amb Gephi? Doncs poder detectar comunitats de conceptes estretament relacionats, identificar els conceptes més influents que produeixen significat o realitzar anàlisi comparativa de diversos textos.
Consideracions prèvies: el treball amb el text
Val a dir que només utilitzarem la proximitat dels conceptes i la densitat de les seves connexions per codificar les relacions entre les paraules, no els seus significats, dels quals se’n ocupa l’anàlisi del discurs i altres enfocaments. Treballarem amb taules. Així que caldrà simplificar eliminant les paraules d’ús més freqüent (paraules buides) del text que participen en la unió del text en conjunt, però no es relacionen específicament amb el contingut. També cal transformar totes les lletres majúscules a minúscules, eliminar espais innecessaris, eliminar els símbols i puntuació i -alerta- números (a menys que la seva presència en el text afecti de manera crucial el significat i el context).
El següent pas és convertir aquesta taula amb el text net i les seves relacions que representarem visualment com un gràfic utilitzant Gephi (www.gephi.org ) una plataforma open-source 🙂
El format de dades amb els que primordialment treballarem és GML un tipus d’arxiu XML en el que les paraules (o els nodes) s’enumeren primer, i després les seves connexions (o vores) s’enumeren després, juntament amb les mètriques especials, que mesuren el pes de cadascuna. per simplificar-ho: tenim només les paraules (labels) i les seves relacions quantificades. Les taules importades de CSV donen problemes amb els nodes i les seves propietats.
Per la pràctica, buscarem ara un arxiu amb aquestes característiques i el descarregarem.
Ens decidim a instalar Gephi (cal revisar Java al dia) i a obrir el programa, un nou projecte i l’arxiu local: veiem el nombre nodes i d’arestes ja d’entrada, fixeu-vos quants n’hi ha al primer quadre que se’ns obre.
Dins l’entorn Gephi: les estadístiques i els nodes
Si les dades anteriors es representen directament en forma de gràfic, els nodes estaran alineats a l’atzar en un espai de dues dimensions i aquesta imatge no ens donarà una idea clara sobre l’estructura del text. Anem a millorar la visualització:
Primer obrim la finestra d’estadístiques per a obtindre la modularitat i la centralitat de vector propi: la modularitat trata de detectar subcomunitats, la centralitat detecta els nodes més importants. Executem.
Tornem a la pestanya Clasificació per modificar la mida i el color dels nodes, i seleccionem com a paràmetre “Modularity Class”, que acabem de calcular antes i veurem com els nodes canvien de color (en la vista, en verds). Al costat de la voleta de colors de la pestanya on som hi ha un triangle amb forma de diamant que ens permet canviar la mida de les boletes com volguem (pujem el valor fins a 30).
Després farem lo mateix per a la mida del nodes, triant la seva centralitat (Eigenvector Centrality), que també hem calculat abans (la paraula Text té valor 1)
Finalment farem apareixer els noms dels nodes (els labels) activant-los des del menú inferior on hi ha la lletra T.
Dins l’entorn Gephi: els algoritmes i els filtres
Per recolocar els nodes caldrà modificar la seva distribució i aplicar algoritmes des de la finestra esquerra del programa. Els algoritmes es van acumulant a mida que els anem afegint així que alerta, cal anar guardant la feina a cada pas perque no hi ha botó de desfer (¿?)
En la nostra pràctica farem servir “Fruchterman Reingold”, executem i el graf es posa en marxa!
Hi ha d’altres algoritmes és clar: un dels més emprats és “Force Atlas”, que empeny els nodes més connectats (hubs) a distància els uns dels altres, mentre que alinea els nodes que estan connectats als hubs en clusters (raïms) al voltant d’ells.
Finalment eliminarem alguns nodes per a que la representació quedi més nítida: un pas crucial, el d’aplicar filtres (a la finestra dreta de Gephi). Seguim aquesta ruta: Biblioteca/Atributs/Rang arroseguem a sota “Eigenvector Centrality” i movem el valor fins allà on vulguem el tall: posant un 0.30 queden només els valors principals, i la resta desapareix (de “mean” en avall).
En breu la segona part del tutorial !