Un viejo conocido en una nueva era
El primer contacto que tuve con herramientas de análisis de datos que utilizaban técnicas de Graph Analytics fue en el año 2016 con el famoso caso de los papeles de panamá. De pronto, aquellos algoritmos que estudiamos en la facultad de informática para la optimización de redes de comunicaciones cobraron todo el sentido. Mi mente conectó con multitud de casos que nada tenían que ver con problemas TIC y se centraban en nuevos retos que tecnologías como Big Data nos habían traído: marketing digital y detección de fraude.
La representación visual de un grafo nos permite analizar la información de una forma estructurada que difícilmente somos capaces de integrar los humanos mediante tablas de datos. Sin embargo, en un escenario de datos masivos este tipo de herramientas sólo pueden ser usadas cuándo aplicamos técnicas de agrupación o resumen. Es en este tipo de problemas dónde Graph Analytics cobran una importancia vital.
Qué problemas resuelve Graph Analytics
Las herramientas que permiten manejar grafos como tipo de datos han resuelto problemas de rendimiento para resolver consultas a bases de datos con varios ordenes de profundidad en las relaciones. Por ejemplo, imaginemos que Linkedin quisiera recomendarte una lista de nuevos contactos ordenados por el nivel de contactos en común. Las bases de datos relacionales clásicas tienen graves problemas en realizar consultas con varios niveles de relación, llegando a no resolver el quinto nivel. Por esta razón, las redes sociales han impulsado este tipo de tecnología, ya que la recomendación de contenidos o de contactos se basan en gran medida en este tipo de técnicas y tecnologías especializadas en trabajar con representaciones de la información en forma de grafo, o mejor dicho, matriz de adyacencia.
Pero ¿qué otras cosas nos ofrecen este tipo de representaciones de datos? El valor añadido se encuentra en poder aplicar algoritmos clásicos de grafos como la búsqueda del camino más corto, el cálculo de la centralidad del grafo como pagerank y la detección de comunidades o componentes conexas dentro de un grafo.
El resultado de sumar este tipo de algoritmos con la tecnología distribuida en Big Data ha sido la creación de una tendencia en la que cada día aparecen nuevas aplicaciones a casos cercanos al día a día de las empresas.
Graph Analytics aplicado al Marketing Digital
El marketing digital y el marketing de influencia tienen un gran impacto en la actualidad en muchas organizaciones, siendo un dominio de la publicidad que ha pasado de ser una tendencia a una realidad. El papel de las redes sociales en las campañas de publicidad es muy importante porque nos permiten medir el impacto de las comunicaciones y buscar aliados con los que poder dirigirse el público adecuado.
El papel de las técnicas de Graph Analytics lo encontramos en la capacidad de crear grafos masivos de interacciones en las redes sociales, siendo los nodos cada una de las cuentas en a red y el arco el tipo de interacción (followers, compartir, like, comentario, etc). El resultado es un grafo que nos permite obtener por ejemplo las diferentes comunidades en función del tipo de interacción y aquellos nodos que son la centralidad de dicha comunidad o, dicho de otra forma, la cuenta del influencer y su público objetivo.
Por ejemplo, el grafo que se presenta a continuación representa todos los tweets que se realizaron antes, durante y después de las elecciones en España del pasado 10 de noviembre de 2020. En total se capturaron aproximadamente 1,2M de tweets provenientes de 300K cuentas. Mediante la aplicación de estas técnicas es posible determinar las cuentas relevantes.
A partir de aquí, se habilita el proceso aplicar técnicas de Inteligencia Artificial como detectar bots y trolls, el tema de conversación de las diferentes comunidades, su opinión en un sentido u otro o qué cuentas permiten establecer puentes o corrientes de interés.
Sin duda, Graph Analytics representa una gran oportunidad para el desarrollo de todo tipo de aplicaciones en el dominio del marketing digital y de influencia.
Graph Analytics aplicado la detección de fraude
En el año 2001 la empresa energética estadounidense Enron protagonizó el mayor escándalo financiero de la historia mediante la adulteración del mercado de compraventa de energía. Años más tarde, la Comisión de Regulación Federal del Comercio de Energía (FERC) publicaba más de 500.000 correos electrónicos de los altos cargos de la compañía, convirtiéndose así en uno de los casos de uso más conocidos para la aplicación de técnicas de análisis de datos para la detección de fraude.
En esta ocasión, la detección de fraude se concentra en identificar conversaciones que son atípicas en la compañía y las personas que están detrás de dichas conversaciones. En este sentido, el procesamiento del lenguaje natural y la aplicación de técnicas que nos permitan a lo largo del tiempo determinar qué palabras son comunes y cuales son anómalas, nos condujo a descubrir un vocabulario para cada momento de la campaña.
A su vez, mediante el modelado de un grafo que contenga las palabras clave, su fecha, el emisor y el receptor, pudimos detectar los avisos por email del FBI a los trabajadores de Enron de posible ataque terrorista, poco después de los atentados del 11S, precisamente justo al inicio del proceso de bancarrota de la empresa.
A partir de aquí, el objetivo se centró en calcular de las palabras poco comunes y con cierta importancia entre los altos ejecutivos, componer los grafos que nos permitiera determinar mediante el algoritmo de centralidad saber quienes eran los individuos que estaban detrás de los proyectos fraudulentos.
Por ejemplo, este grafo representaba las conversaciones relacionadas con el proyecto “Ricochet”, uno de los nombres en clave de los proyectos que tuvieron que ver con los apagones de California que provocaron las empresas de suministros controladas por Enron con el objetivo de variar el valor del precio de la energía. Esta información privilegiada les permitía comprar barato para vender caro. Un negocio redondo.
A partir de aquí, modelar el pagerank a lo largo del tiempo en palabras/temas sospechosos se convierte en un método infalible para detectar en un maremágnum de información qué personas están impulsando este tipo de malas prácticas en una compañía que dejó a finales de 2001 a 21.000 trabajadores en la calle.
Conclusiones
Las técnicas de Graph Analytics y las tecnologías que explotan estas capacidades nos permiten:
- Visualizar gran cantidad de información de forma que nos permita encontrar correlaciones y estructuras de fácil interpretación por una persona.
- Los algoritmos son extremadamente útiles para casos de sistemas de recomendación, detección de fraude y marketing digital o de influencia.
- Las herramientas Big Data o bases de NoSQL orientadas a grafos permiten manipular grandes cantidades de datos en operaciones tan complejas como las relaciones en profundidad.
- Es posible la aplicación de técnicas de Machine Learning para la predicción de cambios en los grafos y la detección de anomalías.
A partir de aquí…
En el Instituto Tecnológico de Informática (ITI) llevamos años investigando sobre la aplicación de técnicas de Graph Analytics en multitud de contextos, especialmente en:
- Vigilancia de Tecnologica con el objetivo de detectar tendencias, crisis y neologismos.
- Sistemas de Recomendación los sistemas de recomendación. Nuestra visión ha estado centrada principalmente en los siguientes aspectos:Simulación en tiempo real de métricas para la composición de nuevos escenarios productivos.
- Técnicas basadas en Graph Convolutional Networks (GCN) con múltiples casos de aplicación como clasificación de texto o detección de fraude.