Desarmando el acuerdo final para la paz con Knime, Analítica y minería de datos [Parte 3]

En las siguientes líneas describiremos el proceso llevado a cabo al interior de Stradata para crear los elementos de data visualization sobre los temas del acuerdo de paz presentada en entradas anteriores.

Arquitectura general del sistema: Procesos y herramientas utilizadas

ling-knime-1

Un paso imprescindible y casi siempre la primera actividad que se debe hacer al momento de emprender un proyecto de analítica o minería de datos es conocer la data a analizar, y esto significa más que tener cargada la información en una tabla. Conocer la data implica describir (y muchas veces descubrir) su estructura interna, determinar los datos atípicos y/o excepciones que se puedan presentar, las variables útiles de interés para el problema en particular además de las relaciones entre ellas, entre otros aspectos. A esta etapa se le conoce como pre-procesamiento y para nuestro trabajo consistió en convertir el pdf en formato HTML, que por medio de sus etiquetas fue posible encontrar y extraer la estructura del artículo.

Luego, el proceso de estructuración consiste en los siguientes subprocesos:

ling-knime-2

Son este conjunto de subprocesos los encargados de descomponer el acuerdo de final para la paz en párrafos donde cada párrafo se relaciona a 1) la página donde se encuentra, 2) la sección (acuerdo, protocolo o artículo), 3) el título al cual hace parte y 4) los temas que trata.

La sección se refiere a un sector diferenciable del acuerdo de paz, resultado de una lectura inicial del mismo:

  1. Acuerdos (págs 1-192): La parte más amplia del documento, contiene los 6 puntos negociados entre las partes con sus respectivos acuerdos
  2. Protocolos (págs 193-257): Aquí se especifica el seguimiento que se le hará al cumplimiento de los acuerdos, los mecanismos, medidas y estrategias a utilizar según lo convenido entre el gobierno de Colombia y las FARC
  3. Artículos (pags 258-297): Referida principalmente a Ley de amnistía, indulto y tratamientos penales especiales.

Por su parte, en el listado de temas de interés, se establece que un conjunto de temas específicos pertenecen a un tema superior o tema general, y la tabla de insumo al sistema luce de la siguiente forma:

ling-knime-25

Con esto, e introduciendo algunas funciones de ordenamiento y filtrado en columnas y filas, la tabla resultado del proceso (workflow) luce así:

ling-knime-5

Donde las primeras 3 columnas corresponden a la jerarquía de nodos en el árbol, por consiguiente el árbol contará con 3 niveles. Las últimas 3 columnas se refieren a los atributos del nodo hoja (los nodos Párrafo), por tanto tendría una estructura similar a esta:

ling-knime-3

Ahora, con esta estructura en mente se procede finalmente a la integración D3.js para desplegar la visualización.

ling-knime-4

Se construyó un algoritmo capaz de convertir una tabla con las especificaciones anteriores en una estructura Json, la cual será insumo para la aplicación JavaScript que utiliza d3 para generar la visualización:

qqqq

El código base javascript puede ser consultado en el siguiente enlace
http://bl.ocks.org/mbostock/4339083

Veáse también:

Parte 1: http://http://stradata.com.co/nuevoun-analisis-politico-linguistico-del-proceso-de-paz-en-colombia-parte-1/

Parte 2: http://http://stradata.com.co/nuevoanalisis-politico-linguistico-del-acuerdo-de-paz-en-colombia-parte-2/

Parte 4: http://http://stradata.com.co/nuevoanalisis-opinion-estadistico-del-plebiscito-para-la-paz-en-colombia-parte-4/

Autor:
Jason E. Angel

Publicado Por Stradata

Comentarios no disponibles