El objetivo de esta sesión es familiarizarse con Gephi y Cytoscape, dos de las muchas herramientas disponibles para visualizar y analizar redes sociales. En particular, Gephi es un programa usado ampliamente y ambos tienen la ventaja de ser de libre acceso. Cuentan con una gran variedad de extensiones para expandir sus funciones, además de contar con una comunidad de usuarios que puede ayudar en caso necesario. Aquí encontrarás otras herramientas que pueden ser de tu interés.
VISUALIZACIÓN DE REDES CON GEPHI
A. Red de Twitter
Para esta actividad trabajaremos con una red de palabras (obtenida de SocioViz) como resultado de la búsqueda en twitter del hashtag #niunamenos entre el 8 y 15 de marzo de 2022, incluyendo 100 tuits, 85 usuarios y 85 retuits. En esta red, los nodos son palabras que fueron utilizadas en los 100 tuits y se vinculan si aparecieron en el mismo tuit. El peso del vínculo representa el número de tuits en los que coincidieron ambas palabras. Por favor descarga el archivo #niunamenos_palabras.gexf y colócalo en una ubicación conocida de tu computadora.
Abre GEPHI
Dirígete al menú en la parte superior izquierda Archivo > Abrir
Navega en tu computadora hasta la ubicación del archivo #niunamenos_palabras.gexf.
Inicialmente es posible que veas la visualización sobrelapada (todos los nodos superpuestos) así que vas a manipular un poco la distribución de los nodos para verla mejor. Para eso dirígete a la parte inferior izquierda de la ventana en el panel de "Distribución". Busca en la lista desplegable que dice "---Elige una distribución" y selecciona la que dice "Force atlas". Una vez seleccionada, presiona el botón "Ejecutar" ahí mismo para que entre en acción el algoritmo de distribución. Cuando la distribución te permita ver los nodos puedes presionar "Parar" para que los nodos dejen de moverse. Observa las opciones debajo del botón ejecutar y modifica el parámetro "Fuerza de repulsión" de 200 a 50. Vuelve a presionar el botón "Ejecutar" y observa cómo cambia la distribución. Presiona "Parar" y repite la operación, ahora eligiendo la distribución "Fruchterman Reingold". Puedes jugar con otros algoritmos de distribución hasta encontrar una distribución que te guste. Te puedes apoyar de los tutoriales de visualización y distribución que encuentras aquí o en este video en español. También te puede servir esta guía rápida de inicio de GEPHI.
Explora la red manualmente, moviendo los nodos para notar cómo se ven sus vínculos, su posición en la red y la estructura que surge del patrón general de vínculos entre los nodos.
Ahora dirígete al panel "Apariencia" que se encuentra encima del panel de Distribución. Debajo de la pestaña "Apariencia" verás las opciones "Nodos" y "Aristas". Presiona la opción Nodos y explora las posibilidades de este panel para ver cómo modifican la apariencia de la red. Después explora las opciones para "Aristas". Puedes apoyarte en este video tutorial para cambiar el color de los nodos, el de las aristas y poner etiquetas a los nodos.
Explora otros controles del programa incluyendo el panel de "Previsualización" que encontrarás en la parte superior derecha junto a las barras de "Vista general" y "Laboratorio de datos". Nota cómo te permite manipular características como el grosor y forma de las aristas (cada vez que modifiques algo desde este panel debes apretar el botón "Refrescar" para que se apliquen los cambios). Juega un poco con las opciones que vayas encontrando hasta generar una visualización que te guste. Cuando la tengas, dirígete a la parte superior izquierda en la pestaña Archivo > Exportar > Archivo SVG/PDF/PNG... y guarda tu red como imagen PNG. Incluye esta red en tu reporte con una breve descripción.
Busca la opción de Laboratorio de Datos en la parte superior derecha y observa la estructura de la tabla de Nodos y de Vínculos. Exporta la tabla de nodos y la de vínculos. Después visualízalas en Excel o el programa de tu preferencia.
Desde Gephi, exporta la red como archivo GraphML (Archivo > Exportar > Archivo de grafo... selecciona el formato GraphML).
B. Red de karate
Ahora baja la red del karate club de Zachary (publicada aquí) y el texto de información que acompaña, aquí. Esta red es probablemente el ejemplo más usado en análisis de redes sociales. Al bajarlos, tendrás dos archivos: karate.gml y karate.txt, por favor colócalos en un directorio fácilmente identificable en tu computadora.
En Gephi, abre el archivo karate.gml de la misma manera que hiciste con la red de twitter. Se abrirá como un nuevo espacio de trabajo en la misma sesión.
Juega un poco con la visualización de la red.
Dirígete al "Laboratorio de datos" y agrega una columna a la tabla de nodos, especificando aleatoriamente una característica a cada nodo (el sexo, por ejemplo). Ahora especifica un color de relleno para los nodos diferente para cada valor de esa columna (busca en la opción de Nodos en el Panel de "Vista General").
Intenta asociar otros aspectos de la visualización (disponible en el panel de "Vista General") con otra columna nueva que agregues a la tabla de nodos.
Una vez que llegues a una visualización deseada, exporta tu red como una imagen hacia un directorio conocido en la computadora , luego, expórtala como archivo con formato GraphML.
C. Red desde cero
Ahora crea un archivo en formato csv (valores separados por comas) a partir de una hoja de datos como excel o algún editor de texto sencillo (como Textedit o Notepad, guardando el archivo como .csv o .txt). Crea una lista de vínculos, con un encabezado. Cada fila corresponde a un vínculo entre dos nodos identificados por un ID que se usará para generar la lista de nodos. Por ejemplo ( la "," representa separación entre columnas):
Source,Target,Type
A,B,undirected
B,C,undirected
C,D,undirected
D,A,undirected
OJO: procura mantener los mismos encabezados de columna y evita acentos y caracteres que no son propios del inglés.
Regresa a Gephi y dirígete al menú en la parte superior izquierda Archivo > Importar hoja de cálculo
Se abrirá una ventana de exploración. Dirígete a la ubicación del archivo de vínculos que acabas de crear, selecciónalo y presiona Abrir.
En la ventana que se abre, asegúrate de que en la opción de "Importar como:" diga "Tabla de aristas" y presiona "Siguiente"
En la siguiente ventana presiona "Terminar"
Aparecerá un breve resumen de los datos. Presiona aceptar.
Una vez abierta la red, dirígete a la opción "Laboratorio de Datos" en la parte superior izquierda y debajo de tabla de datos selecciona la opción "Nodos" para ver la tabla de nodos.
Modifica las opciones para visualizar la red y explora cómo puedes agregar datos sobre los nodos o los vínculos, en las tablas correspondientes.
Supongamos que los nodos de esta red son personas y los vínculos son relaciones, ya sea laborales, de amistad o familiares. En la tabla de datos correspondiente, define el tipo de relación de cada caso.
A cada nodo de esta red, asígnale un sexo y edad.
Define una visualización que te parezca informativa.
Una vez que tengas la visualización deseada, guarda la imagen.
Guarda tu sesión de trabajo en Gephi, que contendrá las tres redes creadas.
OJO: Puedes revisar la sección de Software para el curso en este sitio. Al final, donde se menciona GEPHI, encontrarás enlaces a más videos tutoriales que te pueden ser de utilidad.
-------------------
VISUALIZACIÓN DE REDES EN CYTOSCAPE
Dirígete al final de la sección de Software para el curso y descarga e instala Cytoscape. Se trata de un programa concebido originalmente para visualizar redes de regulación genética, pero puede usarse para analizar redes en cualquier sistema. Además, tiene la ventaja de ser de libre acceso, cuenta con una gran variedad de accesorios (apps) para expandir sus funciones y hay una gran comunidad de usuarios que puede ayudar en caso necesario.
1. Abre Cytoscape
2. En Cytoscape, abre la red de twitter que guardaste con formato GraphML usando GEPHI. Para esto usa el menú File > Import > Network from file…
3. En la ventana que se abre a continuación, selecciona el archivo GraphML. Cytoscape reconocerá ese archivo como una red.
4. En ocasiones parecerá que ves sólo un nodo porque todos aparecen superpuestos sobre uno. Si es así, hay que separarlos de forma que se vean todos los nodos y los vínculos. Ve al menú Layout y selecciona “Apply preferred layout” o presiona el botón con dos flechas en círculo. Ahora puedes ver los nodos separados de forma que los menos conectados se encuentran más en la periferia de la red.
5. Explora la red manualmente, moviendo los nodos para notar cómo varía el número de vínculos, su posición en la red y la estructura que surge del patrón general de vínculos entre los nodos.
6. Explora la relación entre la red visualizada y las tablas que aparecen abajo (Node, Edges y Network). Observa cómo puedes seleccionar nodos o vínculos manualmente en la red y cómo se actualizan las tablas correspondientes.
7. Explora cómo puedes modificar diferentes aspectos de la visualización, en la pestaña “Style”. Observa los estilos predeterminados para la visualización y sus diferencias. Observa cómo cada aspecto puede depender de variables específicas incluidas en las tablas.
8. Nota las tres pestañas en la parte inferior del panel Style: Node, Edge, Network, Table. Elige la opción Node y explora las opciones para cambiar el color y la forma de los nodos. en la opción Edge ahora modifca el tipo de línea de los vínculos.
9. Juega con las opciones y una vez que llegues a una visualización deseada, exporta tu red como una imagen hacia un directorio conocido en la computadora (File > Export > Network to Image...) para incluir en tu reporte. Procura que la imagen muestre etiquetas de nodos, los nodos coloreados de algún color distinto al default y con una forma distinta a rectángulos.
-------------------------------
Ejercicio opcional
Si terminas y quieres explorar más (esto no se incluye en el reporte): prueba usar Gephi o Cytoscape para explorar alguna de las redes disponibles en este sitio de la Universidad de Michigan o en el Colorado Index of Complex Networks.
-------------------------------
REPORTE (a entregarse el miércoles 21 de febrero al correo: curso.ars.unam.2020@gmail.com)
El reporte de esta práctica debe incluir:
Imágenes de las tres redes generadas en Gephi: red de twitter, red de karate y red "de cero", con una breve descripción de lo que son nodos y vínculos asi como de las características que usaste para la visualización (eg. color, tamaño, grosor).
Imagen de la red de twitter generada con Cytoscape mostrando etiquetas de nodos. Los nodos deberán tener un color distinto al default y con una forma distinta a rectángulos. También cambia el color de los vinculos. Añade una descripción de cada uno de los elementos mostrados en la red.