• No se han encontrado resultados

Extensión del software para la visualización de grafos Gephi con algoritmos de agrupamiento asistidos por el usuario

N/A
N/A
Protected

Academic year: 2020

Share "Extensión del software para la visualización de grafos Gephi con algoritmos de agrupamiento asistidos por el usuario"

Copied!
84
0
0

Texto completo

(1)UNIVERSIDAD CENTRAL “MARTA ABREU” DE LAS VILLAS FACULTAD DE MATEMÁTICA, FÍSICA Y COMPUTACIÓN LICENCIATURA EN CIENCIA DE LA COMPUTACIÓN. Trabajo de Diploma Extensión del software para la visualización de grafos Gephi con algoritmos de agrupamiento asistidos por el usuario. Autora: Diana Rosa González Moreno Tutor: Dr. Carlos Pérez Risquet. Santa Clara, 2012.

(2) Dictamen. Hago constar que el presente trabajo fue realizado en la Universidad Central Marta Abreu de Las Villas como parte de la culminación de los estudios de la especialidad de Ciencia de la Computación, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad.. ___________________. Firma del autor. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. __________________. Firma del tutor. ___________________. Firma del jefe del Laboratorio.

(3) Pensamiento. "El. futuro tiene muchos nombres. Para los débiles es lo inalcanzable. Para los temerosos, lo desconocido. Para los valientes es la oportunidad." Victor Hugo..

(4) Dedicatoria. Esta tesis se la dedico a mis padres porque sin ellos nada tiene sentido y muy especial a la memoria de mi abuela Margarita, porque desde donde quiera que esté sé que me ha protegido y me ha guiado por todo el camino hasta aquí..

(5) Agradecimientos. A mis padres por concederme el don de vivir, por ser incondicionales en todo momento y ante todo ser los mejores amigos que he podido tener. A todas mis tías por mimarme y ayudarme tanto, en especial Tere, Deisy, Lucy y Ramona. A mi hermana porque es muy importante en mi vida. A mi tutor Carlos por haberme guiado y ayudado en esta tesis. A Isis, Yanet y Giselle porque hemos vivido los mejores momentos de mi vida hasta ahora, hemos reído y llorado juntas sin pedir nada a cambio. A Esther, Sergio, Olgui, Sonia y William por acogerme en sus casas. A Osqui y Celita por estar siempre presente y porque los quiero mucho. A Migue y Liucel por tenerme presente en sus agradecimientos. A TODAS aquellas personas que han hecho muy grata mi estancia en la UCLV, desde los que me enseñaron algo hasta los que yo les enseñé un poco de lo que sabía. ¡Muchas Gracias!.

(6) Resumen RESUMEN El análisis de grupos es útil en varios tipos de análisis exploratorios de patrones, en la toma de decisiones, en situaciones de aprendizaje automático, incluyendo la minería de datos. Muchos métodos de agrupamiento basados en las relaciones de los objetos representados en un grafo tienen un alto costo computacional. El algoritmo de agrupamiento basado en la intermediación diferencial fue creado para manejar grafos ponderados y no ponderados; posee una alta complejidad temporal y necesita de parámetros tales como el tamaño de la vecindad, que influencia esta complejidad temporal. Existen numerosas herramientas para la visualización y manipulación de grafos, entre ellas Gephi. El objetivo de esta investigación consiste en integrar el algoritmo de intermediación diferencial asistido por el usuario en el software para la visualización de grafos Gephi. Los resultados obtenidos muestran que integrar el algoritmo de agrupamiento basado en la intermediación diferencial en Gephi puede resultar ventajoso, pues le permite al usuario predecir mejor los valores óptimos de los parámetros y se pueden observar gráficamente los resultados del algoritmo..

(7) Abstract. ABSTRACT The analysis of groups is useful in several types of exploratory analysis of patterns, e.g. in decisions making, in situations of automatic learning, including data mining. Several clustering methods based on the relations of the objects represented in a graph have high computational cost. The clustering algorithm based on the differential betweenes was created to manage pondered and not pondered graphs; it has a high temporary complexity and needs some parameters such as the size of the vicinity, which influences its temporary complexity. Numerous tools exist for the visualization and manipulation of graphs, among them Gephi. The general objective of this investigation is the integration of the differential betwennes algorithm with user interaction in the graph visualization software Gephi. The obtained results show that the integration of the clustering algorithm based on the differential betwennes into Gephi can be advantageous, because it allows the user to better predict good values of the parameters and the results of the algorithm can be graphically observed..

(8) Tabla de Contenidos Tabla de contenidos INTRODUCCIÓN ......................................................................................................................... 1 Capítulo I. Algoritmos de agrupamiento y técnicas para la visualización de grafos ......................... 5 1.1 Agrupamiento ...................................................................................................................... 5 1.2 Clasificación de las técnicas de agrupamiento ....................................................................... 6 1.3 Algoritmos que parten de una representación en grafos ......................................................... 8 1.3.1. Algoritmo basado en la intermediación diferencial ................................................... 12. 1.4 Visualización de grafos ...................................................................................................... 16 1.5 Conclusiones parciales ....................................................................................................... 21 Capítulo II. Gephi: herramienta para la visualización de grafos .................................................... 22 2.1 Análisis visual de grafos con Gephi .................................................................................... 22 2.2 Algoritmos de Gephi .......................................................................................................... 26 2.2.1 Algoritmo de agrupamiento ......................................................................................... 26 2.2.2 Algoritmos Estadísticos ............................................................................................... 28 2.2.3 Algoritmos de Diseño .................................................................................................. 30 2.3 APIs de Gephi .................................................................................................................... 33 2.4 Integración a Gephi del algoritmo basado en la intermediación diferencial .......................... 34 2.5 Conclusiones parciales ....................................................................................................... 37 Capítulo III. Integración de técnicas de visualización al algoritmo basado en la intermediación diferencial implementado en Gephi. ............................................................................................. 38 3.1 Contribuciones de la visualización en los métodos de agrupamiento ................................... 38 3.2 Interacciones que pueden implementarse en el algoritmo basado en la intermediación diferencial ................................................................................................................................ 39 3.3 Esquema general del modelo de interacción de técnicas de visualización al algoritmo basado en la intermediación diferencial. ............................................................................................... 45 3.4 Conclusiones parciales ....................................................................................................... 48 Capítulo IV. Aplicación de pruebas y análisis de los resultados .................................................... 49.

(9) Tabla de Contenidos 4.1 Generalidades..................................................................................................................... 49 4.2 Plataforma de desarrollo ..................................................................................................... 49 4.3 Análisis y diseño del módulo .............................................................................................. 50 4.3.1 Casos de uso ................................................................................................................ 51 4.3.2 Diagrama de clases ...................................................................................................... 53 4.4 Funcionamiento del algoritmo de intermediación diferencial en Gephi................................ 54 4.4.1 Requerimientos............................................................................................................ 55 4.4.2 Especificación de los parámetros del algoritmo ............................................................ 55 4.5 Análisis de los resultados ................................................................................................... 57 4.6 Conclusiones parciales ....................................................................................................... 63 CONCLUSIONES ....................................................................................................................... 64 RECOMENDACIONES .............................................................................................................. 65 Referencias bibliográficas ............................................................................................................ 66 Anexos ........................................................................................................................................ 71 Anexo 1. Gephi ........................................................................................................................ 71 Anexo 2. Pasos para crear un Módulo en Gephi y establecer dependencias ............................... 72 Anexo 3. Módulos que contiene Gephi ..................................................................................... 73.

(10) Introducción INTRODUCCIÓN La Visualización es la ciencia de representar datos con el fin de lograr comunicación o entendimiento (Rheingans and Landreth, 1995), aportando metodologías y técnicas para extraer información significativa de conjuntos de datos complejos por medio del uso de gráficos interactivos y de imágenes. El crecimiento vertiginoso en la cantidad de información en distintos campos de aplicación, induce la producción de grandes volúmenes de datos difíciles de comprender y analizar sin un soporte visual. Es aquí donde la visualización hace su aporte significativo y la exploración de distintos conjuntos de datos se beneficia enormemente si cuenta con un soporte adecuado de visualización. De la mano de la creciente demanda en visualización de grandes volúmenes de datos, está creciendo la tendencia a desarrollar ambientes distribuidos de visualización. Por otra parte, los grafos son estructuras abstractas utilizadas para representar información que pueda ser modelada como objetos y conexiones entre los mismos. Permiten expresar de una forma visualmente muy sencilla y efectiva las relaciones que se dan entre elementos de diversa índole (Dursteler, 2004), y resultan especialmente útiles en la representación visual de estructuras de datos en red y jerárquicas. En la actualidad, existen numerosas herramientas para la visualización y manipulación de grafos, entre ellas Gephi. Gephi es de gran ayuda para las personas que tienen que trabajar con grafos. Es una herramienta complementaria a las estadísticas tradicionales, como el pensamiento visual con las interfaces interactivas se utiliza para facilitar el razonamiento. Éste es un paradigma que aparece en el campo de la investigación del análisis visual. Tiene mucha aplicación en el análisis de grupos. El agrupamiento es una tarea del aprendizaje no supervisado que tiene como objetivo descomponer el conjunto de datos, de forma tal que los objetos que pertenecen al mismo grupo sean tan similares como sea posible y los objetos que pertenecen a grupos diferentes sean tan disimilares como sea posible.. 1.

(11) Introducción El análisis de grupos es una herramienta para descubrir una estructura previamente oculta en los datos, asumiendo que existe un agrupamiento natural o cierto en ellos. Sin embargo, la asignación de los objetos a las clases y la descripción de esas clases son desconocidas (Arco, 2008a). Las técnicas de agrupamiento requieren en gran parte de los casos de una estimación de parámetros que es muy costosa computacionalmente. El algoritmo de agrupamiento basado en la intermediación diferencial requiere que se le especifiquen valores de parámetros, tales como: la cantidad de aristas a eliminar, el valor de la vecindad de los nodos para calcular la intermediación diferencial, entre otros. Generalmente se tiene poca información a priori sobre la colección a agrupar, y por tanto, se carece de elementos para ajustar los parámetros que requiere el método. Obtener información e interactuar con un algoritmo en tiempo de ejecución, con sus parámetros, componentes y/o estrategias es una variante poderosa para mejorar su eficiencia (Alonso, 2008). Teniendo en cuenta las consideraciones anteriores se formula el siguiente problema de investigación: No se conoce cómo definir una metodología para la integración del algoritmo de intermediación diferencial en el software de visualización Gephi. El objetivo general de la investigación consiste en integrar el algoritmo de intermediación diferencial asistido por el usuario en el software para la visualización de grafos Gephi. Este se desglosa en los siguientes objetivos específicos: 1. Definir una metodología (pasos a seguir) para integrar nuevos algoritmos de agrupamiento en Gephi. 2. Proponer una metodología (pasos a seguir) para la integración de técnicas de visualización e interacción en los algoritmos de agrupamiento disponibles en Gephi. Es de suponer que la integración del algoritmo de agrupamiento basado en la intermediación diferencial al software para la visualización de grafos Gephi, utilizando sus funcionalidades, las cuales permiten a los usuarios especificar valores de los parámetros e interactuar con los conjuntos de datos y sus interacciones, posibilitará que este método pueda converger más rápido y obtener mejores resultados, o al menos, que se ajusten mejor 2.

(12) Introducción a los requisitos de sus usuarios. Además, se contribuirá a incrementar más funcionalidades al software, ya que después de concluido este estudio tendrá la opción de obtener grupos utilizando la intermediación diferencial del grafo representado. A partir de lo anterior se plantea para el desarrollo de esta investigación la Hipótesis General siguiente: • La integración de un algoritmo de agrupamiento asistido por el usuario en el software de visualización de grafos Gephi aumenta los beneficios del mismo, mejorando al mismo tiempo los resultados del algoritmo de agrupamiento. Las preguntas de Investigación planteadas son: 1. ¿Cómo integrar un algoritmo de agrupamiento asistido por el usuario en el software de visualización de grafos Gephi? 2. ¿Qué beneficios reporta la integración de un algoritmo de agrupamiento en el software de visualización de grafos Gephi? Para enfrentar con éxito el desafío de desarrollar una tarea computacional como la que se pretende se ha contado con la contribución de los lenguajes de programación de alto nivel, en este caso Java. Las ventajas del desarrollo de las técnicas de aprendizaje no supervisado y la especialización de las técnicas de visualización. Además de contar con el código de Gephi. Contamos también con el gran conocimiento que tiene el departamento de Inteligencia Artificial del Centro de Estudios de Informática (CEI) de la Universidad Central “Marta Abreu” de Las Villas (UCLV) sobre los métodos de agrupamiento, unido con el gran desarrollo en visualización que tiene el departamento de Computación Gráfica del propio centro. Además existen otras experiencias en la integración de técnicas de visualización en algoritmo de inteligencia artificial para lograr mejores resultados al aplicar los mismos. La tesis está estructurada en cuatro capítulos. En el Capítulo 1 trata el agrupamiento y las técnicas de visualización. Se enfatiza en el agrupamiento que parte de una representación en grafos y se profundiza en el algoritmo de agrupamiento basado en la intermediación 3.

(13) Introducción diferencial (Arco, 2008b). En el capítulo 2 se exponen varias características del software de visualización Gephi. Se realiza una breve descripción de sus interfaces más importantes y todas las ventajas que tiene para la visualización de grafos. En el capítulo 3 se aborda sobre las ventajas que tiene la integración de técnicas de visualización en algoritmos de agrupamiento, en especial el de intermediación diferencial; se propone un modelo general de integración de técnicas de visualización a este algoritmo. El capítulo 4 está dedicado a describir los procesos de análisis y diseño, y el funcionamiento del módulo implementado acorde al modelo sugerido e ilustrar mediante un estudio experimental la efectividad del modelo propuesto. El documento termina con las Conclusiones y Recomendaciones de la investigación y las referencias bibliográficas.. 4.

(14) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos. Capítulo I. Algoritmos de agrupamiento y técnicas para la visualización de grafos Este capítulo aborda la problemática del agrupamiento, sus principales características y variantes. Se estudian los algoritmos que parten de una representación en grafos, haciendo énfasis en el algoritmo de agrupamiento basado en la intermediación diferencial. Además se trata el tema de la visualización de información, en especial la visualización de grafos, considerada para integrar el algoritmo anteriormente mencionado.. 1.1 Agrupamiento El análisis de grupos es descrito como una herramienta para el descubrimiento de conocimiento, porque tiene la potencialidad de revelar relaciones basadas en datos complejos, no detectadas previamente. Los algoritmos de agrupamiento son usados para encontrar una estructura de grupos que se ajuste al conjunto de datos, logrando homogeneidad dentro de los grupos y heterogeneidad entre ellos (Anderberg, 1973). Debe existir un alto grado de asociación entre los objetos de un mismo grupo y un bajo grado entre los miembros de grupos diferentes. Cuando el agrupamiento se basa en la similitud de los objetos, se desea que los objetos que pertenecen al mismo grupo sean tan similares como se pueda y los objetos que pertenecen a grupos diferentes sean tan diferentes como sea posible (Girvan and Newman, 2002). En otras palabras, seguir el principio de maximizar la similitud dentro del grupo y minimizar la similitud entre los grupos (Jain et al., 1999). El agrupamiento es útil en varios tipos de análisis exploratorios de patrones, en la toma de decisiones, en situaciones de aprendizaje automático, incluyendo la minería de datos. Sin embargo, en muchos de estos problemas está disponible solo una pequeña información a priori acerca de los datos, y quien toma la decisión debe hacer unas cuantas suposiciones acerca de ellos (Jain et al., 1999). Para la minería de datos, es un reto descubrir grupos de datos que forman una estructura interesante para el análisis al relacionarse. Cuando estos datos se representan como una colección de objetos interrelacionados y enlazados, tienen una mejor descripción. El enlace 5.

(15) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos entre objetos es un conocimiento que puede explotarse en el agrupamiento, ya que rasgos de objetos enlazados están correlacionados, y es probable la existencia de enlaces entre objetos que tienen elementos comunes (Arco, 2008a). Así, varios métodos parten de representar los objetos y sus relaciones en un grafo y explotan su topología para descubrir los grupos. Estas propuestas ven el conjunto de datos desde la perspectiva de las conexiones entre los objetos más que los objetos en sí mismos (Girvan and Newman, 2002). Los conjuntos de datos pueden intrínsecamente formar un grafo o se pueden obtener grafos de similitud a partir de la matriz de similitud entre los objetos. En la actualidad se presupone que el conocimiento de la estructura de los datos es tan importante como los objetos en sí. Ese conocimiento puede ayudar a descubrir grupos que se ocultan en las comunicaciones entre los objetos. Propiedades de los grafos, sobre todo cuando éstos representan redes complejas, pueden ser indicadores importantes para el agrupamiento. Ellas, en su mayoría, son computacionalmente difíciles de verificar, de ahí que muchos algoritmos sobre grafos tengan una complejidad temporal exponencial (Arco, 2008a).. 1.2 Clasificación de las técnicas de agrupamiento Las técnicas de agrupamiento se clasifican siguiendo varios criterios: tipo de los datos de entrada del algoritmo, criterios para definir la similitud entre los objetos, conceptos en los cuales se basa el análisis y forma de representación de los datos, entre otros (Halkidi et al., 2001). Una clasificación general distingue dos tipos: aquellos basados en una función objetivo y los jerárquicos (Han and Kamber, 2001, Pedrycz, 2005). Esta primera categoría más general se refiere a la construcción de particiones (grupos) del conjunto de datos sobre la base del perfeccionamiento de algún índice, conocido también como función objetivo. En esencia, dividir n objetos en un número positivo k de grupos, generalmente especificado a priori. El objetivo de estos métodos es encontrar la mejor división de los datos en k grupos basada en una medida de similitud dada y conservar el espacio de particiones posibles en k subconjuntos solamente. La mayoría de los algoritmos que siguen esta técnica son 6.

(16) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos esencialmente basados en prototipos, comienzan con una partición inicial, usualmente aleatoria, y proceden con su refinamiento (Kruse et al., 2007). Uno de los algoritmos que sigue esta primera categoría y que ha sido ampliamente utilizado es el k-medias (k-means) y las variantes que intentan resolver sus desventajas (Kaufman and Rousseeuw, 1990). Los algoritmos jerárquicos, por su parte, hacen una descomposición jerárquica de los objetos. Dentro de ellos, los aglomerativos (bottom-up), consideran que cada objeto constituye un grupo, por tanto, inicialmente existen tantos grupos como objetos tiene la colección, y sucesivamente los unen, hasta que todos los objetos formen un único grupo, generalmente considerando alguna de las medidas de distancia entre grupos; dentro de ellas, el enlace simple (Gower and Ross, 1969, Gotlieb and Kumar, 1968) y el enlace completo (Backer and Hubert, 1976) son ampliamente utilizadas. Mientras que los divisivos (top-down) consideran inicialmente que existe un único grupo, al cual pertenecen todos los objetos y sucesivamente dividen los grupos en grupos más pequeños, hasta que cada grupo contenga un único objeto. Muchas veces combinar o dividir grupos es comprometido, y no puede ser deshecho o refinado. Las técnicas jerárquicas han sido utilizadas en problemas de minería de datos, a pesar de tener alta complejidad temporal, generalmente cuadrática. Estas organizan los datos en una secuencia anidada de grupos, que puede visualizarse en forma de dendrograma o árbol. Basándose en el dendrograma se decide cuál es el número de grupos para el cual los datos están mejor representados según un propósito dado. Usualmente el número “verdadero” de grupos para un conjunto de datos dado se desconoce a priori. Muchas veces métodos que forman jerarquías son refinados mediante la relocalización iterativa de puntos en la conformación de particiones. Otros tipos de métodos han emergido para el análisis de grupos, principalmente motivados en problemas específicos de minería de datos (Han and Kamber, 2001). El agrupamiento basado en densidad (density based clustering) agrupa objetos vecinos de un conjunto de datos basándose en condiciones de densidad. Éstos difieren de los algoritmos que obtienen particiones mediante la relocalización iterativa de puntos a partir del número de grupos.. 7.

(17) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos Existe una clasificación que divide el agrupamiento en conceptual y estadístico (Halkidi et al., 2001) Por otra parte, aquellos algoritmos que utilizan métodos geométricos y técnicas de proyección se clasifican en agrupamiento incompleto o heurístico (Höppner et al., 1999). Otras propuestas agrupan utilizando redes neuronales artificiales. Algunos agrupamientos se basan en modelos (model-based clustering), encontrando buenas aproximaciones de los parámetros del modelo que mejor ajusten a los datos. Otra clasificación considera la forma de manipular la incertidumbre en términos del solapamiento de los grupos: agrupamiento duro y borroso (Höppner et al., 1999). Las técnicas duras pueden ser deterministas o con solapamiento. Las deterministas crean una partición, donde los grupos son mutuamente excluyentes y exhaustivos del universo de objetos. El análisis mixto de grupos (joint cluster analysis) es otra técnica de agrupamiento que integra aquellos métodos que trabajan tanto con las propiedades endógenas de los objetos, así como con las relaciones que existen entre ellos (Baumes et al., 2005, Ester, 2006). El agrupamiento basado en restricciones (constraint-based clustering) reúne a aquellos algoritmos que consideran aspectos más significativos acorde a los requerimientos de la aplicación (Halkidi et al., 2001).. 1.3 Algoritmos que parten de una representación en grafos La teoría de grafos constituye una herramienta valiosa para desarrollar modelos de abstracción para el agrupamiento, proporcionando el formalismo matemático requerido. Sus conceptos básicos han sido utilizados para el desarrollo de algoritmos de agrupamiento y de índices de validación. Los grafos proveen modelos estructurales para el análisis de grupos. Generalmente este tipo de algoritmos no requieren que se especifique el número de grupos a obtener, descubren grupos de formas arbitrarias, no uniformes y de densidades diversas, y son menos sensibles a la presencia de ruido. En problemas de la minería de textos existen conjuntos de datos que pueden intrínsecamente formar un grafo para aplicar posteriormente métodos de agrupamiento. Los 8.

(18) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos enlaces de páginas Web constituyen un caso donde cada nodo puede representar una página y las aristas los enlaces entre ellas (Newman and E., 2004). Por otra parte, al representar la presencia de términos en documentos se puede utilizar un grafo bipartito con un conjunto de nodos documentos y otro de palabras, donde las aristas indican la presencia de las palabras en los documentos (Dhillon, 2001). También se puede representar la co-ocurrencia de conceptos en documentos en un grafo bipartito (Yoo et al., 2006). Varios algoritmos se han desarrollado recientemente para agrupar este tipo de grafos (Gao, 2005, Deodhar and Ghosh, 2007). Por otra parte, también se pueden obtener grafos de similitud a partir de la matriz de similitud entre los objetos. Por ejemplo, se puede obtener la matriz de similitud coseno entre documentos de una colección y a partir de ella obtener un grafo donde cada nodo representa un documento, y las aristas entre ellos son ponderadas con la similitud coseno, en (Gago et al., 2007, Perez-Suarez and Medina-Pagola, 2007) hacen uso de esta representación. Igualmente es posible obtener un grafo donde los nodos representen documentos y las aristas la información mutua entre ellos. Algunos ejemplos de algoritmos que parten de la representación en un grafo de similitud de los objetos a agrupar son el algoritmo Estrella (Star) (Aslam et al., 1998) y sus extensiones (Gago et al., 2007, Perez-Suarez and Medina-Pagola, 2007, Gil-García et al., 2003). Éstos generan cubrimientos sobre los datos y no requieren especificar el número de grupos a obtener, pero son sensibles al umbral de similitud fijado inicialmente. Estrella Extendido (Extended Star; ES) es independiente del orden de los datos y obtiene menor número de grupos respecto al algoritmo Estrella (Aslam et al., 1998). Los algoritmos Estrella Generalizada (Generalized Star; GStar) (Perez-Suarez and Medina-Pagola, 2007) y Estrella Condensada (Condensed Star; ACONS) (Gago et al., 2007) introducen nuevos conceptos de estrella y obtienen un menor número de grupos. Los métodos jerárquicos a partir de una representación de los objetos en grafos han sido muy trabajados. Varios siguen estrategias divisivas, entre ellos uno de los más conocidos es el método basado en la construcción de un árbol de expansión mínimo (Zahn, 1971). Otras propuestas que construyen jerarquías a partir de grafos son: STIRR (Gibson et al., 1998), que aplica métodos espectrales; el algoritmo que divide y combina los grupos por su 9.

(19) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos conectividad interna y cercanía (Karypis et al., 1999); los algoritmos jerárquicos utilizados por el sistema SUBDUE para agrupar datos estructurados o no, y el algoritmo jerárquico propuesto en (Jenssen, 2003), que descubre grupos de formas irregulares en datos de alta dimensionalidad, pero tiene complejidad cuadrática. En (Gil-García et al., 2006) se presenta un marco de trabajo para algoritmos jerárquicos aglomerativos basados en grafos. Sin embargo, en (Newman and E., 2004) se afirma que los métodos jerárquicos aglomerativos tienen problemas en el análisis de grupos de objetos representados en un grafo. Un problema es que fallan con cierta frecuencia al encontrar grupos en grafos donde se conoce la estructura, lo cual hace difícil tener credibilidad cuando funcionan correctamente. Otro problema es su tendencia a encontrar solamente los centros de los grupos y no incluir la periferia. Los nodos centrales de un grupo usualmente tienen una similitud alta, y son conectados tempranamente en un proceso aglomerativo, pero los nodos de la periferia, que no tienen una similitud tan fuerte con los otros y generalmente tienen un único enlace al grupo al que pertenecen, tienden a quedar abandonados. Varios métodos no sólo parten de una representación de los objetos en un grafo, sino que explotan las propiedades estructurales de las conexiones entre los objetos a agrupar; por ejemplo, los algoritmos basados en la densidad local de los nodos. Éstos utilizan las características de los grafos scale-free (Kalisky, 2006). Otra propuesta, basada en el coeficiente de agrupamiento local, se publicó en (Radicchi, 2004). Es exitosa para grafos densos, donde se definen grupos fuertes y débiles considerando el grado de las conexiones internas en los grupos y las externas hacia otros grupos. El algoritmo SCAN (Xu, 2007), con complejidad O(m) donde m es el número de aristas, utiliza la vecindad de los nodos como un criterio de agrupamiento, así los nodos se agrupan considerando los vecinos que comparten. Las técnicas de agrupamiento tienen ventajas y desventajas en dependencia del tipo de problema al cual son aplicadas. El conocimiento del dominio puede, en muchos casos, ayudar a determinar qué tipo de grupo se va a formar y qué tipo de agrupamiento se va a utilizar con el objetivo de obtener los mejores resultados. Se han desarrollado muchos 10.

(20) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos algoritmos para el agrupamiento de documentos, pero muy pocas propuestas toman en consideración las ventajas de las estructuras inherentes en el lenguaje. Por otra parte, cuando se representa una colección textual como un grafo de similitud coseno entre los documentos sucede que, como se muestra en la Figura 1.1, algunos documentos tienen alta pertenencia a los grupos, otros pertenecen a puentes entre grupos y algunos tienen una pertenencia débil a los grupos; por tanto, es fundamental explotar las propiedades topológicas del grafo y el flujo de información entre los nodos para detectar las estructuras ocultas en él (Xu, 2007). En algunos casos dos documentos pueden tratar temas diferentes y tener alta similitud coseno. Estos documentos no necesariamente son tan similares a sus vecinos respectivos, y sólo el uso de la similitud no logra identificarlos en grupos diferentes, se requiere analizar los enlaces entre ellos.. Figura 1.1. Representación de una red social.. A partir de la motivación principal de este trabajo y considerando de gran utilidad las propiedades topológicas de los lenguajes y corpus textuales, se pretende evaluar las posibilidades de los métodos de análisis de redes complejas existentes para abordar problemas de la minería de textos. Por tanto, se focalizará en el estudio de las técnicas que trabajan sobre una representación de los objetos en un grafo y que explotan la estructura de las interrelaciones de los objetos en el proceso de agrupamiento.. 11.

(21) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos 1.3.1. Algoritmo basado en la intermediación diferencial. Existen métodos basados en las relaciones de los objetos representados en un grafo que tienen un alto costo computacional porque utilizan mediciones de la centralidad que no captan eficientemente las propiedades topológicas que codifican la estructura del problema. La intermediación diferencial fue propuesta como una nueva medida para evaluar el grado de intermediación que tiene una arista en un grafo. Esta medida tiene propiedades que la distinguen como un elemento a considerar en los algoritmos de detección de comunidades y agrupamiento. A partir de ella se creó el algoritmo de agrupamiento basado en la intermediación diferencial para manejar grafos ponderados y no ponderados (Arco, 2008a). Se parte de un grafo no dirigido G= (V, E), donde V= {1,…, n} representa el conjunto de nodos correspondiente a cada objeto a agrupar y E⊆V×V es el conjunto de sus aristas indicando las relaciones entre los objetos. Siempre se considerarán los geodésicos entre pares de nodos que sean alcanzables, es decir, que estén en una misma componente conexa y una condición necesaria para obtener los geodésicos entre un par de nodos a y b que pasen por una arista i – j es que a, b, i y j también sean alcanzables, pertenecientes a una misma componente conexa. La notación a − s b indica la longitud de los caminos de longitud mínima entre los nodos a y b distintos y alcanzables en el grafo y a − s b i − j expresa la longitud de los caminos de longitud mínima, entre los nodos a y b distintos, que pasan por la arista i – j, donde a, b, i y j pertenecen a una misma componente conexa. Las definiciones que a continuación se presentarán son válidas para grafos no ponderados y ponderados, para estos últimos se puede reemplazar el término longitud por costo. Para presentar las definiciones con mayor claridad se asumirá el trabajo con grafos no ponderados. La Definición 1.1 introduce la localidad en este enfoque. Definición 1.1 (c-vecindad). Una c-vecindad de la arista i – j en el grafo G=(V, E), con c positivo, es el subgrafo Gc, i – j inducido por Vc, i – j, donde:. 12.

(22) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos. {. }. Vc ,i− j = v ∈V v − s i ≤ c ∨ v − s j ≤ c. (1.1). Definición 1.2 (diferencial geodésico). Sean a, b, i y j nodos del grafo G=(V, E), donde i y j son nodos adyacentes, y a y b son nodos diferentes. La función ζ se define como sigue:. ζ (i, j a, b ) = a − s b i − j − a − s b. (1.2). La ecuación (1.2) denota el diferencial geodésico del par de nodos a y b con respecto a la arista i – j. Éste alcanza valores no negativos en su dominio de definición y el valor mínimo cuando el geodésico entre a y b pasa a través de i – j. Definición 1.3 (λ-intermediación). Se llama λ-intermediación de la arista i – j dado el par de nodos a y b a la expresión (1.3). Bλ (i, j a, b ) = e. − λζ (i , j a ,b ). (1.3). donde la función ζ (i, j a, b ) sigue la Definición 1.2. Para λ positivo se cumple que 0 < Bλ (i, j a, b ) ≤ 1 y Bλ (i , j a , b ) alcanza el máximo cuando los caminos más cortos entre a y b pasan por i – j. Definición 1.4 (Intermediación diferencial). Sea G= (V, E) un grafo dado. La magnitud DBλ,c(i, j) dada por la expresión (1.4) DBλ ,c (i, j ) =. ∑ Bλ (i, j. a ,b∈Vc , i − j. a, b ) =. ∑e. − λζ (i , j a ,b ). (1.4). a ,b∈Vc , i − j. se llama Intermediación Diferencial de la arista i – j en la c-vecindad Vc, i – j con parámetroλ. La medida de intermediación diferencial también es útil para manejar casos cuando las aristas tienen pesos asociados. Es de interés resolver problemas de agrupamiento de vectores a partir de los cuales se construye una matriz de similitud. Por eso se ha seguido la 13.

(23) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos propuesta presentada en (Newman and E., 2004). Newman propuso calcular la intermediación de todas las aristas en el grafo ponderado siguiendo la expresión clásica, ignorando los pesos, y entonces dividir cada uno de los valores de intermediación por el peso de la arista correspondiente en el grafo original.. Definición 1.5 (Intermediación diferencial pesada): La intermediación diferencial de una arista en un grafo ponderado con una medida de similitud, se obtiene de la división del valor de intermediación diferencial obtenido asumiendo que el grafo es no ponderado (todos los pesos tienen valor uno) por el peso de la arista en el grafo ponderado original. Al aplicar la intermediación diferencial en dominios textuales, se puede utilizar una representación en grafos donde la interacción entre dos documentos (peso de las aristas) se exprese en función de cuán similares son. Zonas de valores altos de similitud implica nodos muy interconectados (alto grado). Generalmente, documentos en un mismo grupo tienen mayor similitud que documentos en grupos diferentes. La similitud Coseno ha sido ampliamente utilizada para comparar documentos que son sometidos a un proceso de agrupamiento. Sin embargo, existen colecciones donde dos documentos pueden tratar temas diferentes y tener alta similitud Coseno. En tales casos, se hace necesario explotar la estructura topológica del grafo, de forma tal que se puedan detectar estructuras ocultas a partir de la representación gráfica y del uso adecuado de los enlaces entre los objetos. En (Arco, 2008a) se propone un algoritmo de agrupamiento basado en el concepto de intermediación diferencial.. Algoritmo de agrupamiento basado en la intermediación diferencial: 1. Obtención del grafo de similitud. 2. Cálculo de la matriz de intermediación diferencial pesada. 3. Estimación de las aristas a eliminar. 4. Determinación de los núcleos del agrupamiento mediante la extracción de componentes conexas. 5. Clasificación de los nodos que no pertenecen a los núcleos. 14.

(24) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos PASO 1. Existen varias formas de obtener un grafo que modele las relaciones más importantes que existen en el problema. Una forma simple es eliminar de la matriz de similitud todas las aristas que no superen un umbral de similitud dado. Otra, es asociar con cada nodo los K vecinos más cercanos. Así, es necesario determinar un parámetro de entrada. Mientras más aristas tenga el grafo más información sobre el problema original tendrá, pero mucho mayor será el costo de procesamiento. Para realizar el corte por el umbral se puede tener en cuenta el histograma de frecuencias de las similitudes y realizar el corte de forma tal que se obtenga una matriz dispersa.. PASO 2. La matriz de intermediación diferencial pesada es cuadrada y su orden coincide con el de la matriz de adyacencia correspondiente al grafo de similitud. Para cada una de las aristas del grafo de similitud (aristas no eliminadas en el paso 1) se calcula la intermediación diferencial según la Definición 1.4 y este valor se asigna a la celda correspondiente a dicha arista en la matriz de intermediación. Aquí los parámetros de entrada son: λ para regular la λ-intermediación y c para especificar el orden de la cvecindad. El parámetro c por defecto es tal que siempre se toma todo el grafo como vecindad de las aristas.. PASO 3. Eliminar del grafo las P aristas con mayor valor de intermediación diferencial. La intermediación diferencial trata de que todos los puentes ocupen las primeras posiciones de la lista decreciente de valores de intermediación diferencial. La idea es reducir la cantidad de aristas no-puentes a eliminar o al menos tratar de saber cuántas pueden eliminarse sin afectar los resultados del agrupamiento.. PASO 4. Se dice núcleo del agrupamiento a todas las componentes conexas del grafo obtenido al eliminar las aristas en el paso anterior, siempre y cuando éstas cumplan un conjunto determinado de condiciones previamente fijadas. Intuitivamente, el núcleo contiene aquellos elementos de los cuales se está seguro que pertenecen a un grupo en particular. Hay que tener en cuenta cuán fuertes son las condiciones exigidas para clasificar como núcleo. Éstas pueden ser: las K componentes más grandes, todas las que tengan al menos K nodos y criterios de densidad o entropía, entre otras. Si se seleccionan las K. 15.

(25) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos componentes más grandes, en cierto modo se le da al algoritmo una idea del número de grupos que se espera.. PASO 5. Asociar a los núcleos detectados aquellos nodos que no fueron incluidos en alguno en el paso anterior. La unión de un núcleo con los nodos que se le asociaron determina un grupo. En el esquema que se ha utilizado, cada nodo se asocia al grupo que contiene mayor cantidad de sus vecinos en el grafo de similitud. Una variante consiste en utilizar un grafo de similitud menos restrictivo.. 1.4 Visualización de grafos Los grafos son usados para modelar sistemas complejos (redes de computadoras o de transportación, moléculas, etc.) y para visualizar las relaciones (redes sociales, diagramas de entidad relación en sistemas de bases de datos, etc.). En los análisis estadísticos y de datos, es usual encontrar a los grafos, representados como dendogramas en el análisis de grupos y como árboles de clasificación y regresión. Los grafos son además objetos matemáticos muy interesantes, y se le ha prestado a sus propiedades una gran atención. En muchas instancias, la imagen correcta es la clave a la comprensión. Las varias vías de visualizar grafos proveen diferentes percepciones, y a menudo, relaciones escondidas y patrones interesantes son revelados (Chen et al., 2008). Usualmente se representa un grafo para visualizarlo como un conjunto de vértices y las aristas que los unen. Los vértices pueden ser símbolos tales como cajas o puntos, y las aristas curvas abiertas de Jordan. Sin embargo, esos estándares varían según la aplicación, pues un grafo tiene infinidad de formas de ser dibujado. La utilidad de una representación dada depende de su legibilidad (Martig and Señas, 2000). Las aplicaciones del dibujado de grafos incluyen árboles genealógicos, cartografía, visualización de enlaces a hipertextos, etc. Los intereses típicos de los algoritmos de dibujado de grafos son: el área necesitada para dibujar un grafo, los tipos de arcos (líneas rectas o curvas), el número de arcos que se cruzan, la separación de los vértices y los arcos y la preservación de propiedades como simetría y distancia.. 16.

(26) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos Las técnicas más conocidas de dibujado de grafos incluyen a los algoritmos de dibujado de grafos force-directed y los algoritmos spring-embedder (Eades, 1984).El objetivo primario de estos tipos de técnicas es optimizar la disposición de los vértices de la red algorítmicamente, de tal manera que en el modelo geométrico definitivo, los vértices fuertemente conectados aparezcan más cerca uno de otro, y los débilmente conectados aparezcan bien alejados entre sí. Esta optimización es conocida como el proceso de diseño, el cual es un tópico clave en la comunidad de dibujado de grafos. La fuerza de la conexión entre un par de vértices es típicamente medida mediante similitud conceptual, relación computacional o probabilidades condicionales (Chen, 2006). En adición a las muy usadas representaciones mediante vértices y aristas, existen otros tipos de modelos de visualización, por ejemplo, algoritmos de llenado de espacios tales como TreeMaps (Johnson and Shneiderman, 1991),los mapas auto-organizados de Kohonen (Lin et al., 1991), BotanicTrees, y paisajes de información (Chalmers, 1992). Diferentes algoritmos de dibujado de grafos pueden tener sus propios criterios estéticos a seguir (Chen, 2006). En la Tabla 1.1 se muestran varios criterios para dibujar grafos no dirigidos de aristas rectas. La mayoría enfatiza en la distribución regular de los vértices y en la longitud uniforme de las aristas. Algunos algoritmos hacen esfuerzos explícitos para minimizar el cruzamiento entre aristas, mientras otros no lo hacen. Algunos de estos criterios pueden ser mutuamente excluyentes, por ejemplo, un grafo simétrico puede requerir cierto número de aristas cruzándose, incluso si esto tiene que ser evitado. Una longitud uniforme de las aristas no siempre produce los resultados más apropiados. Un acercamiento pragmático es conceder la suficiente flexibilidad para permitir a los algoritmos ser personalizados a aplicaciones particulares(Chen, 2006). El modelo de spring-embedded fue originalmente propuesto por (Eades, 1984), y es en la actualidad uno de los algoritmos de dibujado de grafos más popular, ampliamente favorecido en los sistemas de visualización de la información por su simplicidad. El algoritmo de Eades (Eades, 1984) sigue dos criterios estéticos: longitud uniforme de las aristas y la simetría.. 17.

(27) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos Criterio/Algorit. (Di Battista, (Eades,. (Kamada. mo. 1998). Kawai, 1989a). 1984). and (Fruchterman. (Davidson. and Reingold, and Harel, 1991a). 1996). Simetría. Si. Si. Si. No. No. Nodos. Si. No. Si. Si. Si. Si. Si. Si. Si. No. Si. Si. Si. regularmente distribuidos Longitud. de Si. aristas uniforme Minimizar. Si. cruzamiento entre aristas Tabla 1.1. Criterios para algoritmos de dibujado de grafos.. En el modelo spring-embedded, los vértices de un grafo están denotados por un conjunto de anillos, y cada par de anillos está conectado por un muelle. El muelle está asociado con dos tipos de fuerza: fuerza de atracción y fuerza de repulsión, de acuerdo a la distancia y las propiedades del espacio de conexión. El dibujado de un grafo se acerca al óptimo si la energía del sistema de muelles es reducida. Una fuerza de atracción (fa) se aplica a los vértices conectados mediante un muelle, mientras que una fuerza repulsiva (fr) se aplica a los vértices que no están conectados. Estas fuerzas se definen a continuación(Eades, 1984):.     log . (1.5).      ⁄. (1.6). Aquí, ka y kr son constantes y d es la distancia entre vértices actual. Para vértices conectados, esta distancia es la longitud del muelle. El layout inicial del grafo se configura aleatoriamente. En cada iteración las fuerzas son calculadas para cada vértice, y los vértices son movidos en correspondencia con la intención de reducir la tensión.. 18.

(28) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos El modelo spring-embedded ha inspirado gran cantidad de algoritmos de dibujado de grafos extendidos y modificados. Por ejemplo, las fuerzas repulsivas son usualmente calculadas entre todos los pares de vértices, pero las fuerzas de atracción pueden ser calculadas solo entre vértices vecinos (Chen, 2006). Uno de estos algoritmos basados en el modelo spring-embedded, el algoritmo de Kamada y Kawai (Kamada and Kawai, 1989b) intenta cumplir los dos criterios siguientes, o heurísticas, del dibujado de grafos (ver Figura 1.2): •. El número de aristas cruzándose debe ser mínimo.. •. Los vértices y aristas se distribuyen uniformemente.. La clave está en hallar el mínimo local de energía. A diferencia del algoritmo de Eades, el cual no incorpora explícitamente la Ley de Hooke, al algoritmo de Kamada y Kawai, mueve los vértices a las nuevas posiciones uno a la vez, así el total de energía del sistema es reducido con la nueva configuración. También introduce el concepto de una distancia deseable entre vértices en el dibujado: la distancia entre dos vértices es proporcional a la longitud del camino mínimo entre ellos. Otro de los algoritmos basado en el modelo de spring-embedder fue propuesto por (Fruchterman and Reingold, 1991b). Su algoritmo generalmente sigue criterios estéticos aceptados para el dibujado de grafos, incluyendo la distribución regular de los vértices, minimizar el cruzamiento entre aristas y la longitud uniforme de las aristas. Como en Eades (Eades, 1984), las fuerzas de atracción son calculadas solo para los vértices vecinos, y las fuerzas repulsivas son calculadas para todos los pares de nodos. De acuerdo a (Fruchterman and Reingold, 1991b), los vértices a distancia d son atraídos a cada uno de ellos por la siguiente fuerza de atracción fa:.     ⁄. (1.7). Y son separados entre ellos por la fuerza repulsiva fr:.      ⁄. (1.8). 19.

(29) Capítulo l:: Algoritmos de agrupamiento y técnicas para la visualización de grafos Aquí, k es la distancia óptima entre vértices en el grafo, calculada desde los números de los vértices y del tamaño del área de dibujado. En (Fruchterman Fruchterman and Reingold, 1991b) 1991b el proceso se realiza iterativamente. En cada iteración, las fuerzas son calculadas para cada vértice, y al final de esta iteración, todos los vértices son movidos simultáneamente.. Alineamiento. Área de diagrama. Solapamiento de vértices Simetría. Zonas. Intercepción de aristas de vértices. Forma T. Número de aristas cruzándose Regularidad de La longitud de las aristas. Suma de la longitud de las aristas. Figura1.2 Heurísticas de diseño preferidas para grafos. (Kosak Kosak et al., 1994) 1994. En la actualidad, existen numerosas herramientas, marcos de trabajo, y bib bibliotecas para la visualización y manipulación de grafos, entre ellos se encuentran: UCINET(Borgatti UCINET et al., 2004), Pajek (Batagelj Batagelj and Mrvar, 2004), 2004 R (R, 2004), GFC (IBM, IBM, 1999 1999), InfoVis (Fekete, 2004),, InfoVisCyberinsfrastucture (Penumarthy et al., 2004),, JGraph (Alder, 2005), GraphViz (Ellson Ellson and North, 2004 2004), y Gephi (BASTIAN et al., 2009)).. 20.

(30) Capítulo l: Algoritmos de agrupamiento y técnicas para la visualización de grafos 1.5 Conclusiones parciales En términos generales, el objetivo de un algoritmo de agrupamiento consiste en agrupar objetos en un conjunto de subclases significativas. Un algoritmo de agrupamiento se puede utilizar ya sea como una herramienta independiente para conseguir la interpretación de la distribución de un conjunto de datos, por ejemplo, en el fin de centrarse aún más el análisis y procesamiento de datos, o como un paso de preprocesamiento de otros algoritmos que operan sobre los grupos detectados. El algoritmo de intermediación diferencial muestra las posibilidades del nuevo enfoque para el cálculo de la intermediación. Este algoritmo requiere la especificación de parámetros, para algunos valores de los parámetros obtiene mejores resultados que para otros. Tiene un buen desempeño en problemas de agrupamiento de documentos partiendo de una matriz de similitud coseno entre los textos a agrupar. Obtiene resultados comparables y en la mayoría superiores a los alcanzados por otros algoritmos citados. Estos resultados se deben esencialmente a las potencialidades de la intermediación diferencial para capturar las propiedades topológicas de los grafos y determinar las aristas puentes, elementos de gran utilidad en situaciones donde la similitud coseno entre los documentos no lo permite. La integración de técnicas de Visualización a los algoritmos de agrupamiento, específicamente de Visualización de Grafos y la interacción del usuario con el algoritmo en tiempo real, pueden mejorar la calidad de las soluciones; ya que el proceso visual induce a apreciaciones intuitivas de las características más destacadas de la información.. 21.

(31) Capítulo ll: Gephi: herramienta para la visualización de grafos Capítulo II. Gephi: herramienta para la visualización de grafos Este capítulo realiza una caracterización de Gephi de forma general. Describe todas las acciones que puede realizar el usuario con el grafo, así como los principales algoritmos que utiliza y las APIs (por las siglas en inglés de Application Program Interface) que tiene implementado. Además se presenta una metodología de la incorporación del método de intermediación diferencial en Gephi.. 2.1 Análisis visual de grafos con Gephi Gephi es una plataforma de código abierto para el análisis y visualización de grafos. Actualmente es un consorcio para garantizar el desarrollo de la plataforma. Funciona sobre Java y por tanto es multiplataforma (Mariluz, 2010). Facilita la exploración y edición de grafos grandes, jerárquicamente estructurados, por ejemplo, comunidades sociales, sendas bioquímicas o grafos de tráfico de red. Todas las interacciones se pueden hacer en tiempo real. Gephi posee una interfaz de trabajo relativamente intuitiva. Admite múltiples formatos de entrada, el suyo propio GEXF, los heredados NET y DOT, CSV y otros más (Mariluz, 2010): GDF: Este formato es muy fácil de escribir. El fichero con este formato es dividido en dos. partes, una que específica las características de los nodos y otra de las aristas. Estas características son atributos, los cuales llevan nombre y tipo, se pueden agregar tantos como se quieran, solo separándolos por coma. Si se quieren utilizar cadenas se encierran en apóstrofes. DOT: Su sintaxis describe los datos del grafo, incluso de los subgrafos y de las. características de los mismos (anchura, color). Gephi no proporciona un soporte completo al formato Dot, se importan las etiquetas y colores si están presentes, admite grafos tanto dirigidos como no dirigidos. NET: Este formato es muy fácil de usar. Cada línea es un elemento, y la lista de aristas está. a continuación de la de nodos. Los nodos tienen un único identificador, una etiqueta básicamente. 22.

(32) Capítulo ll: Gephi: herramienta para la visualización de grafos CSV: Cada línea contiene por lo menos dos elementos separados por coma o punto y coma.. Por defecto los grafos importados por CSV son dirigidos, pero el usuario puede seleccionar no dirigido en el fichero de importación. Opciones que brinda:. Gephi brinda muchas medidas estadísticas sobre las propiedades del grafo, y varias opciones de filtrado para seleccionar partes específicas. El usuario puede realizar varias acciones con el grafo según lo que desea obtener. A continuación se caracterizan todas las ventanas que posee este programa (Ver Anexo 1):  Agrupamiento (Clustering): Muestra el algoritmo de agrupamiento MCL, que. proporciona como resultado la cantidad de grupos obtenidos y la cantidad de nodos en cada grupo. A través de un panel es posible especificar de forma interactiva los parámetros de entrada a este algoritmo.  Contexto (Context): Muestra la cantidad de nodos y aristas que tiene el grafo, así como. si es dirigido o no.  Tabla de datos (Data Table): Visualiza todos los datos de los nodos: nombre, Id,. etiquetas, el valor del resultado de los algoritmos aplicados en otras ventanas; también de las aristas: source, target, Id, etiquetas. Posee un filtro mediante el cual se pueden buscar datos específicos de nodos y aristas.  Filtros (Filters): Se puede utilizar para seleccionar una parte específica del grafo que el. usuario necesite la información según diferentes tipos de opciones de filtrado que tiene. Ofrece la posibilidad de exportar para otra área de trabajo el subgrafo filtrado para laborar con él. Una opción muy poderosa del filtro, que merece la pena mencionar es el filtro Unión. Esto permite ver los nodos (y las conexiones entre ellos) de vistas diferentes filtradas del grafo. Así, por ejemplo, si se desea observar los miembros de una red de Facebook con diez o menos conexiones, pero también ver cómo ellos conectan a alguien específico que tiene más de 60 conexiones el filtro Unión es la forma de hacerlo.  Estadísticas (Statistics): Posee varios métodos estadísticos agrupados en tres. categorías: 23.

(33) Capítulo ll: Gephi: herramienta para la visualización de grafos 1. Vista general de la red (Network Overview) •. Grado medio: Proporciona como resultado el promedio del grado de entrada y de salida.. •. Grado medio con pesos: Toma en cuenta los pesos de las aristas para calcular el promedio del grado de entrada y salida a los nodos.. •. Diámetro de la red (Network Diameter): Proporciona la distancia media entre todos los pares de nodos del grafo. Los nodos conectados tienen distancia uno. Devuelve también el diámetro, que es la distancia más larga entre dos nodos cualesquiera de la red (es decir, cuán lejos están los dos nodos más alejados).. •. Densidad del grafo (Graph Density): Mide cuán cerca está el grafo de ser completo. Un grafo completo tiene todas las aristas posibles y una densidad igual a 1.. •. Hits: Procesa dos valores para cada nodo (Authority y Hub). El primero mide cuán valiosa es la información guardada en ese nodo. El segundo mide la calidad de los enlaces de ese nodo.. •. Modularidad (Modularity): Es un algoritmo de detección de comunidades.. •. PageRank: Es un algoritmo iterativo que clasifica “las páginas” de los nodos de acuerdo a la frecuencia con la que un usuario siguiendo enlaces llega a “la página” del nodo de forma aleatoria.. •. Componentes conexos: Devuelve la cantidad de componentes conexos que tiene el grafo.. 2. Vista general de los nodos (Node Overview) •. Centralidad del vector propio: Una medida de la importancia de un nodo en la red basada en sus conexiones.. •. Coeficiente medio de agrupamiento (Avg clustering coefficient): El coeficiente de agrupamiento, junto con el valor promedio del camino más corto puede indicar un efecto “small-world”. Indica cómo los nodos están. 24.

(34) Capítulo ll: Gephi: herramienta para la visualización de grafos incrustados entre sus nodos vecinos. El valor medio proporciona una idea general del agrupamiento en la red. 3. Vista general de las aristas (Edge Overview) •. Longitud media del camino (Average Path Length): La distancia media entre todos los pares de nodos del grafo..  Grafo (Graph): Visualiza el grafo, brindando muchas interacciones, el usuario puede. cambiar el color y el tamaño de los nodos, los puede mover de posición. También puede cambiar el color de un nodo y de todos sus vecinos. Además el usuario puede calcular el camino más corto entre dos nodos. Se puede cambiar los atributos de un nodo. Tiene otras opciones para cambiar el color de la letra en las etiquetas, así como para su tamaño; otras para centrar el grafo y para cambiarle el color al fondo. Se puede borrar un nodo o una arista.  Distribución (Layout): Posee varios algoritmos para cambiar la representación del. grafo. Ofreciendo la posibilidad de cambiar las propiedades de estos algoritmos.  Partición (Partition): Toma los resultados Modularity Class, In Degree, Out Degree de. la tabla de datos que son asociados a cada nodo y según la cantidad de valores a los que son asociados crea comunidades de nodos, representándolos por colores.  Clasificación (Ranking): Toma todas las medidas calculadas en Statistics y en. Clustering, asignando una tonalidad de colores a los nodos según el valor de estas medidas. Es decir, los nodos que mayor medida tenga, más fuerte será el color. Se le puede cambiar el color y el tamaño a los nodos así como el color y el tamaño a las etiquetas.  Previsualización (Preview): Muestra cómo va a quedar el grafo después de exportarlo. en SVG o PDF. La Figura 2.1 muestra un ejemplo de un grafo después de exportado.. 25.

(35) Capítulo ll: Gephi: herramienta para la visualización de grafos. Figura 2.1 Grafo exportado por Gephi. 2.2 Algoritmos de Gephi Gephi proporciona algoritmos de diseño innovadores para su eficacia y calidad. Le permite al usuario cambiar las escenas de diseño mientras se está ejecutando. Además tiene otros algoritmos de agrupamiento y estadísticos muy importantes. En este epígrafe estudiaremos algunos de estos algoritmos. 2.2.1 Algoritmo de agrupamiento. Como se ha mencionado anteriormente, el panel Clustering realiza la función de agrupamiento. Tiene implementado el algoritmo MCL. Este tiene una complejidad de O( ), donde n es el número de nodos. Trabaja con grafos con peso o sin peso. La idea principal del algoritmo MCL es simular el flujo dentro del grafo, promover el flujo dónde la conexión es fuerte, y degradarlo dónde la conexión es débil. Si los grupos naturales están presentes en el grafo, entonces según su paradigma los enlaces entre los diferentes grupos se debilitarán, revelando la estructura de grupo en el grafo (Dongen, 1969).. 26.

(36) Capítulo ll: Gephi: herramienta para la visualización de grafos El flujo simulado a través de un grafo es hecho fácilmente transformándolo en un grafo de Markov, es decir un grafo donde para todos los nodos los pesos de las aristas salientes suman uno. Este algoritmo no es más que la combinación de dos operadores, inflación y expansión. Considerando que la expansión se representa por el producto de la matriz usual, la inflación, se representa por el producto de Hadamard-Schur, combinado con una matriz diagonal. El operador de inflación es responsable de fortalecer y debilitar los enlaces entre los grupos. El operador de la expansión es responsable de permitir el flujo para conectar diferente regiones del grafo. El proceso converge cuadráticamente (Dongen, 1969). Algoritmo MCL:. 1. Entrada del grafo dirigido o no dirigido, el parámetro e y el parámetro de inflación r. 2. Crear la matriz de asociación. 3. Agregar los bucles a cada nodo (opcional). 4. Normalizar la matriz. 5. Expandir la matriz tomando el valor e. 6. Realizar la inflación de la matriz resultante utilizando el parámetro r. 7. Repetir los pasos 5 y 6 hasta que se alcance la convergencia. 8. Interpretar la matriz resultante para descubrir los grupos. La Figura 2.2 muestra el proceso de MCL. Cada nodo tiene a lo sumo dieciséis vecinos. El grafo d) corresponde con el límite del proceso de MCL. El grado en que se oscurece una arista entre dos nodos indica el máximo valor de flujo, tomado las dos direcciones: a un mayor valor del máximo corresponde un enlace más oscuro. El grado en que se oscurece un nodo indica la cantidad total de flujo entrante. Así, una arista oscura entre un nodo blanco y uno negro indica que el valor de flujo máximo se encuentra en la dirección del nodo oscuro, y apenas está entrando flujo en la otra dirección. El grafo d) representa una situación donde el flujo es constante; los nodos oscuros indican que son nodos atractores y las aristas indican cuáles nodos se atraen a ellos. La matriz correspondiente es idempotente. La figura contiene toda la información necesaria que se necesita para reconstruir la matriz (Dongen, 1969) 27.

(37) Capítulo ll: Gephi: herramienta para la visualización de grafos. a). b). c). d). Figura 2.2 Fases sucesivas de simulación de flujo del Algoritmo de MCL (Dongen, 1969). 2.2.2 Algoritmos Estadísticos La información estadística en la visualización es clave para el análisis de grandes conjuntos de datos, en particular para evaluar la calidad de agrupamiento y las relaciones entre los grupos. Gephi tiene varios algoritmos estadísticos, algunos ejemplos de estos algoritmos son el algoritmo PageRank (Brin and Page, 1998). Este algoritmo fue creado por Larry Page y Sergey Brin, y se volvió una marca de fábrica de Google en 1998. La idea que se plantea es que la importancia de cualquier página web puede ser juzgada mirando las páginas que se unen a ella. Es uno de los algoritmos más conocidos e influyentes para calcular la relevancia de páginas web. En el mismo tiempo que PageRank se desarrollaba, Jon Kleinberg profesor en el Departamento de Informática en Cornell encontró una solución al problema de la búsqueda web. El algoritmo HITS (Hyperlink-Induced Topic Search) (Kleinberg, 1999) determina dos valores por una página: Authority, que estima el valor del volumen de la página y Hub, 28.

(38) Capítulo ll: Gephi: herramienta para la visualización de grafos que estima el valor de sus enlaces a otras páginas. Este algoritmo es usado también en Gephi. El método Louvain es un método de optimización ávido que ha demostrado mantener excelentes resultados en una amplia gama de aplicaciones y ha sido uno de los métodos más ampliamente utilizados. El método se utiliza en muchos programas de análisis de red, incluyendo NetworkX y Gephi. Consiste en dos fases: primero, busca las comunidades “pequeñas” perfeccionando la modularidad de manera local; segundo, agrega nodos de la misma comunidad y simula una nueva red, cuyos nodos son las comunidades. Estos pasos se repiten iterativamente hasta lograr un máximo valor de modularidad (Blondel et al., 2008). Definición 2.1 (Modularidad): Función que mide la calidad de una partición. Vamos a enfocarnos en una red pesada, haciendo corresponder a cada nodo una comunidad Ci.. . . . ∑,  .   .   ! , ! ". (2.1). Donde:. Aij -------- Peso de la arista ij #∑ $ -------- Grado de i . %  ∑  --------Peso total Como se mencionó anteriormente, el primer paso del algoritmo asume que cada nodo es una comunidad. Después por cada nodo i existente se buscan sus vecinos y se calcula la modularidad (expresión 2.1). Se coloca i donde el cálculo de modularidad sea máximo; si hay dos comunidades iguales se utiliza la regla de ruptura, pero solo si las ganancias son positivas. Si ninguna es positiva, i se queda en su comunidad original. Este proceso se realiza repetidamente hasta que no se pueda encontrar ningún valor mejor para cada nodo. Esta primera fase se detiene cuando se logra los máximos locales de modularidad. Es decir, 29.

(39) Capítulo ll: Gephi: herramienta para la visualización de grafos cuando ningún movimiento individual puede mejorar la modularidad. El rendimiento del algoritmo depende del orden en que los nodos son considerados. La segunda fase es construir un nuevo grafo cuyos nodos son ahora las comunidades encontradas durante la primera fase. Los pesos de las aristas de las nuevas comunidades se obtienen de la suma de la cantidad de aristas que existen entre los nodos de cada comunidad. Una vez terminada esta segunda fase es posible volver a aplicar la primera fase del algoritmo (Blondel et al., 2008). 2.2.3 Algoritmos de Diseño Gephi implementa varios algoritmos de diseño, los cuales dan forma al grafo. Están agrupados según el rasgo de la topología que se quiere resaltar: 1) Divisivos. Figura 2.3 Grafo visualizado por algoritmos divisivos. OpenOrd: Espera grafos no dirigidos y con peso, y tiene como objetivo distinguir grupos. Puede correr en paralelo, acelerando el cómputo y para automáticamente. Es basado en el algoritmo Frutcherman-Reingold y trabaja con un número fijo de iteraciones. Quita las aristas largas para simular grupos (Martin et al., 2011).. 30.

(40) Capítulo ll: Gephi: herramienta para la visualización de grafos 2) Complementarios. Figura 2.4 Grafo visualizado por algoritmos complementarios.. ForceAtlas: Se enfoca en la calidad (lo que significa que es útil para explorar datos reales) para permitir una interpretación rigurosa del grafo con los menos errores posibles, y una legibilidad buena aún cuando es lento (Jacomy, 2011). ForceAtlas2: Es una versión mejorada de ForceAtlas. Trabaja con redes de gran dimensión. La repulsión de los nodos se aproxima con el cálculo Barnes-Hut, lo que provoca una reducción de la complejidad del algoritmo. Reemplaza las fuerzas de “atracción” y “repulsión” por un parámetro escalar (Jacomy, 2011). Fruchterman-Reingold: Simula el grafo como un sistema de partículas de masa. Los nodos son las partículas de masa y las aristas son resortes entre las partículas. El algoritmo intenta minimizar la energía de este sistema físico. Se ha convertido en un estándar pero es muy lento (Fruchterman and Reingold, 1991c). Yifan Hu Multilevel: Es un algoritmo muy rápido con una buena calidad en los grafos grandes. Combina el modelo force-directed con la técnica de dispersión de grafos, que reduce la complejidad. Las fuerzas repulsivas de un nodo de un grupo con nodos distantes se aproximan por el cálculo Barnes-Hut. Se detiene automáticamente (Hu, 2005). 31.

(41) Capítulo ll: Gephi: herramienta para la visualización de grafos 3) Reparticiones geográficas. Figura 2.5 Grafo visualizado por algoritmos de reparticiones geográficas. GeoLayout: Usa latitud/longitud de coordenadas para poner la posición de los nodos. Varias proyecciones están disponibles, incluyendo Mercator que es usado por Google Maps y otros servicios en línea. Los dos atributos de columnas del nodo para las coordenadas deben estar en el formato numérico (Jacomy, 2010). 4) Ranking Circular: Dibuja los nodos en un círculo ordenados por ID, una medida (degree, betweenness centrality...) o por un atributo. Se usa para mostrar la distribución de los nodos con sus enlaces (Groeninger, 2010).. Figura 2.6 Grafo visualizado por algoritmos ranking.. 32.

Figure

Figura 1.1. Representación de una red social.
Tabla 1.1. Criterios para algoritmos de dibujado de grafos.
Figura 2.3 Grafo visualizado por algoritmos divisivos
Figura 2.4 Grafo visualizado por algoritmos complementarios.
+7

Referencias

Documento similar