Archivo de la etiqueta: neo4j

El Big Data en los Papeles de Panamá (con Mar Cabra)

Nada más hacerse público el caso de los Papeles de Panamá, escribimos un artículo en este blog para describir cómo el paradigma del Big Data (con sus método de trabajo del dato, sus tecnologías, su aproximación al dato, etc.) había jugado un papel fundamental para ser clave y posibilitar el procesamiento de la mayor filtración de la historia del periodismo (2.6 terabytes, y 11,5 millones de documentos -Wikileaks, para que se hagan a la idea, fueron 1,7 GB “solo”-).

Dado que hemos empezado ya nuestra actividad para el próximo lanzamiento en Otoño de nuestro Programa de Big Data y Business Intelligence en nuestra sede de Donostia – San Sebastián, quisimos organizar una jornada en la que pudiéramos contar con una de las principales protagonistas de dicha investigación. Mar Cabra, que ha desarrollado su carrera alrededor del periodismo de datos y la transparencia, y que ha formado parte del International Consortium of Investigative Journalists que ha estado detrás de la investigación sobre este escándalo social y moral.

Os dejo, lo primero, su presentación, que resumo a continuación:

La verdad es que Mar señaló muchos de los puntos críticos que trabajamos en nuestros Programas de Big Data y Business Intelligence:

  • Tuvieron muchos problemas con la calidad de los datos. Estaban muy «sucios», y dedicaron gran cantidad del tiempo a ponerlos limpios y eficientes para su procesamiento.
  • Nos introdujo las tecnologías que han estado detrás de la investigación y cómo han jugado un papel totalmente determinante para que fuera un éxito el proyecto. En esta entrada ya detallamos todas las tecnologías, pero por resumir las más determinantes, Mar nos habló de Talend como ETL, NEO4J para almacenamiento y Linkurious para la representación visual. Su expresividad y las facilidades para el descubrimiento de conocimiento, fueron aspectos críticos.
  • Entre los 11,5 millones de documentos de la filtración, prácticamente 5 millones eran emails, 3 millones formatos de bases de datos, 2.1 millones PDFs, 1.1 millones eran imágenes y el resto, otro tipo de documentos. Como vemos, el grado de no-estructuración de la información y los datos era tan alto, que la importancia de las tecnologías que facilitan el procesamiento de datos no estructurados, ha sido de vital importancia.
  • Nos habló mucho sobre cómo la visualización resulta crítica para que la gente luego entienda el conocimiento hallado de una manera bastante resumida y ágil. En la visualización que han realizado en colaboración con The Guardian, destacó The Power Players, que podéis consultar aquí.
  • No solo se trata de la mayor filtración de la historia del periodismo, sino también de la mayor colaboración de la historia del periodismo. La importancia que ha tenido el haber compartido datos dentro del marco de un consorcio, trabajando con una tecnología de red social abierta, ha sido crítica. Se han evitado los silos de datos, clave para que se pudieran compartir los documentos del despacho Mossack Fonseca.
  • Las tecnologías de bases de datos de grafos les han permitido una navegación por la información tan eficiente, que han sido capaces de procesar en meses lo que de otra manera les hubiera llevado años. De esto ya hablamos en una entrada anterior. Ella lo llamó «magia» destacando lo siguiente (literal):
    • Hago clicks en “puntos” y encuentro historias!
    • Descubro nuevos nombres con las búsquedas fuzzy
    • Encuentra el camino más corto (shortest path)
  • Si a alguien le interesa, y quiere adentrarse en la base de datos de grafos generada y estructurada para modelizar los Papeles de Panamá, puede acceder aquí. Un ejercicio de transparencia y colaboración al que Mar no paraba de invitarnos.

Para terminar, os dejo los vídeos de su intervención completa, así como la entrevista que la hicimos (que resume los puntos comentados anteriormente). Un caso, como ven, el de los Papeles de Panamá, en el que el Big Data ha aportado a la sociedad mucho.


Bases de Datos NoSQL de grafos: mejor rendimiento para grandes volúmenes de datos

Como saben, la semana pasada, organizamos un evento titulado «Las tecnologías Big Data al servicio de la sociedad«.  Un evento en el que a través del famoso caso de los Papeles de Panamá, tratábamos de divulgar la utilidad que tiene este nuevo paradigma del Big Data -sus métodos y tecnologías- también para beneficio de toda la sociedad.

Iremos, a lo largo de los próximos días difundiendo los contenidos y materiales generados para esa sesión. Empezamos la serie hablando de la intervención de Mario Iñiguez, Co-founder de Adamantas Analytics, que nos explicó cómo poner en valor las tecnologías de Big Data con las Bases de Datos NoSQL de grafos.

Las Bases de Datos NoSQL aparecen a la par de la explosión de la web 2.0. En ese momento, se produce un crecimiento espectacular del volumen de datos. Además, generado por el propio usuario, con información volátil, variada, no estructurada y extensa. Las relaciones se multiplican, no existe una estructuración previa. En este contexto, el paradigma de Bases de Datos Relacional que venimos usando desde los años 70, nos limitaba mucho. Un modelo de datos estático y con dificultad de adaptación a cambios, que dispone de relaciones explícitas entre tablas, es un paradigma que no casa bien con esta explosión de datos no estructurados.

Ahí es cuando empezamos a hablar de la necesidad de disponer de un nuevo paradigma. Lo bautizamos como NoSQL, manifestando claramente su desvinculación de este paradigma relacional que había venido siendo imperante hasta entonces.  Y, aparecen, cuatro nuevos tipos de bases de datos:

  • Clave valor: el más popular, además de ser la más sencilla en cuanto a funcionalidad. Cassandra, BigTable o HBase son ejemplos de este tipo. Son bastante eficientes tanto en lectura como en escritura. En nuestro programa vemos Cassandra.
  • Columnares: las bases de datos, en lugar de estar estructuradas por filas, están estructuradas por columnas. Al tratarse de una sola dimensión, hace más eficiente la recuperación de la información. En nuestro programa, trabajamos con Vertica.
  • Documentos: almacena la información como un documento, permitiendo realizar consultas bastante avanzadas sobre el mismo. Por ello, suele considerarse como el más versátil. MongoDB o CouchDB son ejemplos de ello. Nosotros en nuestro Programa de Big Data hacemos alguna sesión práctica con MongoDB.
  • Grafos: los datos son representados como nodos y aristas que modelizan la relación entre esos nodos. De esta manera, podemos emplear la teoría de grafos -de lo que ya hemos hablado en el pasado– para recorrer y navegar por su contenido. Su principal ventaja es que permite una navegación más eficiente entre relaciones que en un modelo relacional. Neo4J -la empleada en el caso de los Papeles de Panamá- o Virtuoso son ejemplos de ello, siendo Neo4J la que vemos en nuestro programa y sobre la que sacaremos un programa específico el próximo Otoño (dada la relevancia que va adquiriendo, por lo que ya informaremos de ellol).

Este último tipo, el de grafos, fue el que nos introdujo Mario y sobre el que nos contó sus bondades. Uno de los elementos que destacó Mario es cómo esta forma de representar la información se aproxima bastante al pensamiento humano (cómo representamos la información en nuestro cerebro). A través de varios ejemplos (éste de Open Corporates de Goldman Sachs o éste de la complejidad económica del MIT), vimos las principales ventajas de representar la información en grafos. Que, básicamente, se resumen en un tiempo de ejecución bastante menor que una base de datos relacional (en la transparencia 7 de la siguiente presentación podéis ver la comparativa empírica que hizo Mario).

Para concluir, Mario nos resumió las principales utilidades de este nuevo tipo de bases de datos NOSQL de grafos:

  • Disponer de más información con agilidad y eficiencia (lugares más visitados, análisis de sentimiento, rutas y medios, quejas y reclamaciones, círculos de influencia, etc.)
  • Y, desencadenar acciones (mejora de infraestructuras, mejora de servicios, mejora de la oferta turística, oportunidades de negocio, promoción comercio local)

Además, os dejamos un vídeo donde le preguntaba por los principales puntos que trató durante su intervención y que provocó varias preguntas de la audiencia. Como concluíamos, el modelo relacional podría tener sus días contados si las tecnologías de BBDD NoSQL siguen mejorando el rendimiento y resultados de procesar grandes cantidades de datos. Será interesante ver la evolución.

El Big Data en los Papeles de Panamá

No creo que a estas alturas, a usted, estimado lector de cualquier parte del mundo del que lea esto, le tenga que contar nada sobre los «Papeles de Panamá». Unos documentos filtrados, en el que se dice la mayor filtración periodística de toda la historia. En el contenido de los mismos se puede encontrar a personas de todo el mundo aprovechando los paraísos fiscales para ocultar su dinero en el pago de impuestos. Nada que la ética no pueda explicar por si sola les voy a contar.

Pero de lo que se ha hablado menos es de cómo se produce. Como quizás también sepan, todo se produce a partir de la extracción de unos documentos de dos sitios web de la empresa Mossack Fonseca: la web que sirve como descripción de sus servicios -un WordPress- y un portal interno de clientes donde se podía compartir información sensible de todos ellos -un Drupal-. Uno, lo primero que podría pensar s que entonces la «culpa» es de la falta de seguridad tecnológica. Y efectivamente, al parecer, la falta de actualización del portal interno y un plugin de WordPress habrían expuesto toda esa documentación.

Pero, una vez obtenidos los documentos, hay que analizarlos para extraer inteligencia de los mismos. Vamos, un proyecto de Big Data, en definitiva, porque la cantidad documental de la que estamos hablando es realmente grande (2.6 terabytes, y 11,5 millones de documentos -Wikileaks, para que se hagan a la idea, fueron 1,7 GB «solo»-). El Big Data en los Papeles de Panamá ha jugado un papel nuclear.

La escala de los
La escala de los «Papeles de Panamá» (Fuente: http://www.alternet.org/files/screen_shot_2016-04-04_at_12.01.06_pm.png)

Lo interesante del caso para la temática de este blog es la parte que viene después de la obtención de la «puerta de entrada a los datos». Un proyecto de Big Data, literal:

  • Fuentes de datos: la heterogeneidad -una de las famosas 5 Vs- de las fuentes de datos es muy importante: cinco millones de emails, tres millones de ficheros de bases de datos, dos millones de PDFs, un millón de imágenes, más de 320.000 documentos de texto y 2.242 archivos de otro tipo no clasificados. Un reto de extracción de las fuentes de datos importante.
  • Integración de datos: para poder procesar esta heterogeneidad de las fuentes de datos, es preciso integrar todos estos datos en un mismo modelo de datos. Y claro, mientras hay documentos medianamente sencillos para ello (las bases de datos o los documentos de texto e emails por ejemplo -gracias a tecnologías de procesamiento de lenguaje natural-), tenemos también grandes retos como los PDF y las imágenes: deben primero pasarse a un formato de caracteres para luego poder disponerse para su explotación. Ya hablamos en este blog de la aportacióin de las herramientas ETL en ello.
  • Gestión de la calidad de los datos: hay que tener en cuenta que como «filtración» que es, los datos, obviamente, no están preparados para su explotación. Entre el mar de datos, muchos son totalmente irrelevantes y no hacen más que aportar una mala calidad a los datos de entrada. Esto, ya dijimos, era crítico de solucionar ex-ante.
  • Procesamiento de los datos para la extracción de inteligencia: una vez que los datos están preparados, se deben procesar, en este caso, buscando relaciones entre entidades y acciones. Para ello, estructurar anteriormente la información de una manera que permita navegar entre la información de manera ágil y eficiente, resulta clave. Y por ello, se procesó la información estructurada en grafas, que además de tener un buen rendimiento, permite extraer mucha inteligencia. Ya hablamos de ello.
  • Visualización de datos, obtención de inteligencia: la visualización analítica, eficiente e inteligente de datos es la que permite sacar conclusiones y tomar decisiones de manera ágil.  También lo comentamos. Para ello, es preciso visualizar los datos de una manera apropiada para obtener inteligencia de los mismos.
  • Y por debajo de todas estas etapas, una infraestructura tecnológica realmente potente: para poder hacerlo a una velocidad medianamente razonable se emplearon hasta 30 servidores en paralelo. Y, sobre estos servidores, mucho software de «Big Data», tal y como detalló Mar Cabra -responsable del área de Investigación y Datos del consorcio de periodistas ICIJ, que estaba a la cabeza de esta investigación. Incluye una lista de Software Libre y también propietario, que cedieron licencias por la causa, que ha sido adaptado por el propio consorcio para sus labores de Investigación.
    • Neo4j, tecnología que vemos en nuestro Programa de Big Data y Business Intelligence, fue la base datos de nueva generación (ya hablé de ella en otro artículo), donde se almacenaron las relaciones y coincidencias entre los documentos. Esta tecología, como ya expliqué, permite modelar la información a partir de conexiones entre entidades,  lo cual facilita mucho poder luego estudiar estos flujos de datos para detectar e inferir conocimiento. Aquí lo describe la propia empresa.
    • Nuix, un software de gestión documental, que permite indexar y categorizar información rápida y ágilmente. Aquí la noticia de ellos mismos hablando sobre el caso.
    • Con Apache Solr y Apache Tika, se puso a disposición de la búsqueda y recuperación la información contenida en los documentos de manera centralizada. Es la parte más relacionada con la integración de datos. Aquí explicado.
    • Linkurious,  la herramienta para trazar y visualizar los vínculos de la documentación obtenida por temas y sujetos de investigación. Aquí lo describen ellos mismos.

Obviamente, como solemos decir, la tecnología, por muy buena que sea, no descubre por sí sola. Por un lado, alguien debe hacerle las preguntas más acertadas, y en segundo lugar, alguien tiene que entender los resultados que nos devuelve. Ahí está la formidable labor realizada por los periodistas. Sin conocer el contexto bien, es difícil hacer un proyecto de Big Data de este calibre. Por ello, el futuro del periodismo con un importante soporte en datos y tecnologías que le permita acelerar su proceso de investigación se me antoja cada vez más cercano.

El «Big Data», como paradigma habilitante que es, permite cambiar las reglas de juego de diferentes sectores de actividad. En este caso, hemos visto cómo ayudó al caso de los «Papeles de Panamá». Y es que este método de trabajo que hemos visto (extracción, integración, depuración, procesamiento y visualización), con el apoyo de las mejores tecnologías para ello, ha venido para quedarse. El Big Data en los papeles de Panamá ha sido un paradigma muy habilitante.

Evitando el fraude a través de la presentación de la información en grafos

En nuestro workshop del pasado 27 de Octubre, también estuvo como ponente Jesús Barrasa, Field Engineer de Neo Technology. Básicamente, el  objetivo de su ponencia fue contarnos cómo poder prevenir el fraude a través de la modelización de la información en grafos. Este formalización matemática, que ha ganado bastante popularidad en los últimos años, permite una expresividad de información tan alta, que para muchas aplicaciones donde el descubrimiento de la información es crítica (como es el evitar el fraude), puede ser vital.

Pero, empecemos por lo básico. Jesús, nos describió lo que es un grafo. Un conjunto de vértices (o nodos), que están unidos por arcos o aristas. De este modo, tenemos una información representada a través de relaciones binarias entre el conjunto de elementos. Fue Leonhard Euler, matemático suizo, el inventor de la teoría de grafos en 1736. Por lo tanto, no estamos hablando de un instrumento matemático nuevo.

Un grafo, como conjunto de vértices y arcos (Fuente: https://www.flickr.com/photos/thefangmonster/352461415/in/photolist-x9suX-fDVc6-88T8hQ-7X9u8d-afsXkh-i6KLs-6PpBb6-836Ttv-85z1hy-rA46-rjfq-5RTzeU-bDcg8x-f5s1g3-a1Jv37-bsDVCK-7i62o-5WbpbF-i6LKS-aRBH8x-5RPjSa-h1Xkr2-4d5ypn-DifCQ-7SGo1D-9C4Y3c-noNEE9-7noTPo-7dYzTc-7dYzxZ-d672zw-99Z1f9-bz2Y9P-bquhCW-881tVy-4vn6sS-7Zebpn-4t7P4n-bdYG1z-ePUf2-aVcE68-f7Tsq-7JdUAY-bmhmrn-e2KEC6-63bkHm-e8zMaZ-88V6bY-9ZjTax-7SGo6Z)
Un grafo, como conjunto de vértices y arcos (Fuente: https://www.flickr.com/photos/thefangmonster/352461415/in/photolist-x9suX-fDVc6-88T8hQ-7X9u8d-afsXkh-i6KLs-6PpBb6-836Ttv-85z1hy-rA46-rjfq-5RTzeU-bDcg8x-f5s1g3-a1Jv37-bsDVCK-7i62o-5WbpbF-i6LKS-aRBH8x-5RPjSa-h1Xkr2-4d5ypn-DifCQ-7SGo1D-9C4Y3c-noNEE9-7noTPo-7dYzTc-7dYzxZ-d672zw-99Z1f9-bz2Y9P-bquhCW-881tVy-4vn6sS-7Zebpn-4t7P4n-bdYG1z-ePUf2-aVcE68-f7Tsq-7JdUAY-bmhmrn-e2KEC6-63bkHm-e8zMaZ-88V6bY-9ZjTax-7SGo6Z)

Pues bien, este tipo de representación de información (en grafos) es el tipo de bases de datos que más está ganando en popularidad en los últimos años (consultar datos aquí). Su uso en aplicaciones como las redes sociales (y todo lo que tiene que ver con el Análisis de Redes Sociales o Social Network Analysis), el análisis de impacto en redes de telecomunicaciones, sistemas de recomendación (como los de Amazon), logística (y la optimización de los puntos de entrega -vértices- a través de la distancia entre puntos – longitud de las aristas -), etc., son solo algunos ejemplos de la potencia que tiene la representación de la información en grafos.

Jesús nos introdujo un caso concreto que desde Neo Technology han trabajado para la detección y prevención del fraude. Un contexto de aplicación, que además de tener cierta sensibilidad social en los últimos años, no solo es aplicable al ámbito económico, sino también a muchos otros donde el fraude ha sido recurrente y muy difícil de detectar. El problema hasta la fecha es que los límites del modelo relacional de bases de datos (el que ha imperado hasta la fecha) han traído siempre una serie de asuntos que complicaban la detección:

  • Complejidad al modelizar relaciones (por asuntos como la integridad relacional, etc.)
  • Degradación del rendimiento al aumentar el número de asociaciones y con el volumen de datos
  • Complejidad de las consultas
  • La necesidad de rediseñar el esquema de datos cuando se introducen nuevas asociaciones y tipos de datos
  • etc.

Estos puntos (entre otros), hacen que las bases de datos relacionales tradicionales resulten hoy en día inadecuadas cuando las asociaciones entre puntos de datos son útiles y valiosas en tiempo real. Y aquí es donde las bases de datos NoSQL (orientadas a documentos, las columnares, las de grafos, etc.), son bastante útiles para soliviantar este problema.

Introducida esta necesidad por las bases de datos de grafos, Jesús nos contó el caso concreto de los defraudadores. Personas que solicitan líneas de crédito, actúan de manera aparentemente normal, extienden el crédito y de repente desaparecen. De hecho, decenas de miles de millones de dólares son defraudados al año solo a bancos estadounidenses. 25% del total de créditos personales son amortizados como pérdidas. Para prevenir esto, la modelización de los datos como grafos puede ayudar.

¿Qué es lo que se representa como un grafo? ¿Qué datos/información? Lo que Jesús denominó los anillos de fraude (que podéis encontrar en la imagen debajo de estas líneas). Acciones que va realizando un usuario, y que como son representadas a través de relaciones, permite no solo detectar el fraude, sino también minimizar pérdidas y prevenirlo en la medida de lo posible a través de cadenas de conexión sospechosas.

Anillo de fraude (Fuente: Neo Technology)
Anillo de fraude (Fuente: Neo Technology)

Como siempre, os dejamos al final de este artículo las diapositivas empleadas por Jesús. Otro caso más de aplicación del Big Data y de mejora de las sociedades, empresas e instituciones a través de la puesta en valor de los datos. En este caso, los grafos.