Civis Sum: Herramienta de analítica visual sobre la ...

52
Universidad de los Andes Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Proyecto de Grado Civis Sum: Herramienta de analítica visual sobre la representación ciudadana en Colombia Presentado por: Juan Pablo Rocha, Nicolás Moreno y Andrea Beltrán Códigos: {201611835, 201615907, 201423144} Asesor: José Tiberio Hernández Grupo IMAGINE (I+D+i en Computación Visual) Bogotá, Colombia Julio 2020

Transcript of Civis Sum: Herramienta de analítica visual sobre la ...

Page 1: Civis Sum: Herramienta de analítica visual sobre la ...

Universidad de los Andes

Facultad de Ingeniería

Departamento de Ingeniería de Sistemas y Computación

Proyecto de Grado

Civis Sum: Herramienta de analítica visual sobre la

representación ciudadana en Colombia

Presentado por:

Juan Pablo Rocha, Nicolás Moreno y Andrea Beltrán

Códigos: {201611835, 201615907, 201423144}

Asesor:

José Tiberio Hernández

Grupo IMAGINE (I+D+i en Computación Visual)

Bogotá, Colombia

Julio 2020

Page 2: Civis Sum: Herramienta de analítica visual sobre la ...

2

Tabla de contenido

1. Introducción: 5

2. Antecedentes: 7

3. Propuesta: 8

4. Objetivos: 9

4.1. Objetivo General: 9

4.2. Objetivos Específicos: 9

5. Manejo de los datos disponibles: 10

5.1. Observatorio de la Democracia: 10

5.1.1. Apropiación de la base de datos: 10

5.1.2. Procesamiento de los datos: 11

5.1.3. Creación de archivos JSON 13

5.2. Congreso Visible: 16

5.2.1. Apropiación de la base de datos: 16

5.2.2. Procesamiento de los datos 17

5.2.3. Creación de archivos JSON 20

6. Diseño de Ingeniería: 22

6.1. Arquitectura: 22

6.2. Librerías e Implementación: 24

6.2.1. D3 JS: 24

6.2.2. Vega-Lite JS: 26

6.2.3. JQuery JS: 28

6.2.4. Bootstrap JS/CSS: 29

6.2.5. Slim Select JS: 29

7. Desarrollo de Front-end y Experiencia de Usuario: 29

7.1. Visualización de datos: 30

7.2. Conclusiones Cualitativas: 33

8. Evaluación: 35

9. Resultados: 36

10. Conclusiones: 36

10.1. Observatorio de la Democracia: 36

10.2. Congreso Visible: 37

11. Anexos 38

11.1. Observatorio de la Democracia: 38

11.2. Congreso Visible: 38

12. Referencias: 51

Page 3: Civis Sum: Herramienta de analítica visual sobre la ...

3

“La soberanía reside exclusivamente en el pueblo, del cual

emana el poder público. El pueblo la ejerce en forma directa

o por medio de sus representantes, en los términos que la

Constitución establece.”

Constitución Política de Colombia, 20 de julio de 1991, Artículo 3ro.

Page 4: Civis Sum: Herramienta de analítica visual sobre la ...

4

1. Introducción:

Colombia a partir de la Constitución de 1991, estableció al país como un Estado

Social de Derecho, bajo el cual se contemplaron varios mecanismos de participación

ciudadana, mediante los cuales, los ciudadanos pueden ejercer el derecho a participar del

poder político, lo anterior acorde a la definición de Democracia, que en palabras del Council

of Europe (s. f.) es un estilo de gobernanza que le da el poder al pueblo y su voluntad. Por lo

anterior, por medio de mecanismos como el derecho al voto, el plebiscito, el referendo, la

consulta popular, el cabildo abierto, la iniciativa legislativa y la revocatoria del mandato, los

ciudadanos colombianos pueden demostrar sus intereses a partir del ejercicio y control del

poder político, de acuerdo con artículo 40 de la Constitución Política de Colombia,

Registraduría Nacional del Estado Civil. (s. f.).

Este proyecto de grado persigue la conexión entre los intereses de los ciudadanos

colombianos y la actividad legislativa de sus representantes, específicamente de los elegidos

para ocupar los cargos políticos en el Congreso de la República (Senado de la República y

Cámara de Representantes). El Congreso de la República, es un cuerpo colegiado de tipo

bicameral que lo conforman miembros con voz y voto de manera igualitaria, la primera

cámara alta, el Senado de la República, está conformado por 102 senadores, 100 de ellos son

elegidos por voto popular en todo el territorio nacional, los dos restantes, corresponden a la

representación de grupos indígenas por circunscripción especial. Por otra parte, la Cámara de

Representantes, actualmente cuenta con 166 representantes, en el cual 161 son elegidos

territorialmente por departamentos y por el Distrito Especial, los 5 restantes corresponden a 2

curules para comunidades afrodescendientes, dos para representación de colombianos

residentes en el exterior y uno para las comunidades indígenas, Congreso Visible (2018).

Page 5: Civis Sum: Herramienta de analítica visual sobre la ...

5

De acuerdo con contexto participativo, democrático y representativo que se establece

en la República de Colombia, la representación ciudadana se podrá definir como: El acto

mediante el cual el gobernante (Congresista de la República) actúa en nombre de un

representado (Ciudadanos Colombianos) para satisfacer los intereses de este. Por atribución

de la Constitución, el representado puede controlar y exigir al gobernante responsabilidades

por medio de mecanismos de participación ciudadana. Con lo anterior, es importante aclarar

también, que la representación ciudadana de forma más estricta es política, por ende, la

inclusión de los términos representación y afinidad políticas. La representación política hace

alusión a que los representantes están en el deber de actuar con responsabilidad en cuanto a

los intereses de los ciudadanos que los eligieron, obedeciendo las normativas, leyes y la

constitución de la República, por lo que en este tipo de representación puede darse una

pérdida de confianza entre ciudadanos, partido político y representantes. Por otro lado, la

afinidad política se entenderá como el nivel de aceptación de las ideas o postulados sobre el

funcionamiento de las instituciones políticas del Estado y de una sociedad, que una ideología

política manifiesta y que busca perdurar en el tiempo.

Para el cumplimiento de este proyecto, la base teórica y metodológica para el manejo

de la información y sus resultados será Visual Analytics. Visual Analytics es la ciencia del

razonamiento lógico de la información a partir de interfaces visuales, usando estos métodos

hace posible sintetizar y concluir insights de grandes cantidades de datos ambiguos para que

mediante su procesamiento y visualización se pueda extraer información sobre problemas

complejos. Este campo se considera multidisciplinario al combinar áreas como: Técnicas de

Razonamiento Analítico, Técnicas de Representación e interacción visual, Representación y

transformación de los datos, Finalmente, producción, presentación y diseminación de los

resultados del análisis (Thomas & Cook, 2005). Mediante el uso del proceso de Visual

Analytics, fue posible cumplir las etapas de recolección y conocimiento de los datos

Page 6: Civis Sum: Herramienta de analítica visual sobre la ...

6

provenientes de Congreso Visible y El Observatorio de la Democracia para su

transformación, también, se construyeron modelos de datos para estructurar la información de

las bases de datos, asimismo, por medio del Mapping de los datos, crear las visualizaciones

para presentar los datos y brindar interacción con el usuario. Finalmente, fue posible obtener

insights y conocimiento a partir de los modelos y la visualización para entregar conclusiones

cualitativas de la representación estudiantil de acuerdo con la opinión de los ciudadanos y el

comportamiento legislativo de los congresistas de la República de Colombia.

Para poder generar resultados, durante la implementación del proyecto se propuso el

uso y procesamiento de datos originados de dos fuentes, cada base de datos posee una visión

útil para el proyecto de grado. En primer lugar, Congreso Visible, proyecto del Departamento

de Ciencia Política de la Universidad de los Andes el cual, “realiza un seguimiento y análisis

permanentes del Congreso de la República a través de la publicación de su actividad

legislativa, fortaleciendo y promoviendo la participación de la ciudadanía en procesos de

exigencia de rendición de cuentas a sus elegidos.” (Congreso Visible, s. f.). Para el proyecto,

se usó la información sobre los proyectos de ley que fueron parte del historial legislativo del

Congreso de la República a partir del año 2006 con un aproximado de 404.000 datos

disponibles, estos proyectos de ley se entienden como: propuestas legales que se presentan a

la rama legislativa para su trámite y aprobación, las cuales son votadas y procesadas en varias

instancias según establece la Constitución, adicionalmente, estos proyectos pueden ser

propuestos por iniciativa popular, por el Gobierno de turno, los legisladores, entidades e

inclusos ser mixtas.

En segundo lugar, la siguiente fuente de información es la ofrecida públicamente por

el Observatorio de la democracia, el cual “es el centro académico de investigación y análisis

de opinión pública y de comportamiento político y social del Departamento de Ciencia

Política de la Universidad de los Andes, Desde hace más de una década se ha encargado de

Page 7: Civis Sum: Herramienta de analítica visual sobre la ...

7

realizar, en Colombia, el principal estudio de opinión pública del continente americano: El

Barómetro de las Américas.” (Observatorio de la Democracia. s. f.). Una de las actividades

más importantes de esta organización es el Barómetro de las Américas, una encuesta de

opinión pública realizada a ciudadanos desde el año 2004, generando muestras nacionales en

Colombia cada 2 años.

2. Antecedentes:

Para el año 2018, el profesor y co-asesor en este proyecto de grado, John Alexis

Guerra Gómez, inició un proyecto de Visual Analytics con los datos de Congreso Visible. En

este proyecto se muestra gráficamente las conexiones entre los senadores que han votado más

de n número de veces en común, siendo n un valor seleccionado por el usuario de la

herramienta (Guerra, 2018). Para lograr el objetivo, John Guerra utilizó un widget llamado

Navio, el cual es utilizado para explorar datos a gran escala (Guerra, 2017). Esta librería da la

posibilidad de resumir y navegar sobre los datos en cientos de miles de registros y docenas de

columnas de una manera fácil, intuitiva y visual, permitiendo procesar los datos con tres

sencillas interacciones, las cuales son: organizar, filtrar por rango y filtrar por valor. Con esta

librería se construyó la herramienta de visualización de datos para los patrones de votación de

senadores de Colombia, la cual se cita al inicio de este párrafo.

Page 8: Civis Sum: Herramienta de analítica visual sobre la ...

8

Figura 1: muestra de la utilización de Navio con los datos de Congreso Visible

Por otro lado, para el año 2018, un estudiante del profesor John Guerra llamado Juan

José Castro Varón, desarrolló junto al grupo de investigación de Computación Visual

IMAGINE y el equipo de Congreso Visible, un análisis en el que se ilumina los patrones de

votos pro y anti-gobierno del congreso, y cómo estos han cambiado entre los años 2006 y

2018 (Castro, 2018). En dicha herramienta se logra demostrar, bajo el formato de

Storytelling, la organización de los partidos y congresistas gobiernistas y antigobiernistas con

base en su apoyo a las iniciativas del gobierno, que se estarían efectuando en el cuatrienio

analizado.

Figura 2: muestra de la herramienta de Juan José Castro

3. Propuesta:

Civis Sum es la plataforma desarrollada durante este proyecto de grado, cuyo nombre

significa en latín “Soy Ciudadano”, cuyo objetivo principal es informar cuál es la

representación ciudadana del Congreso de la República, con base en las votaciones de los

congresistas para los proyectos de ley y los intereses de los ciudadanos durante los últimos 15

años. Por medio de elementos visuales, permitirá observar el comportamiento a partir de dos

puntos de vista: el Ciudadano y El Congresista, teniendo en cuenta años y periodos

Page 9: Civis Sum: Herramienta de analítica visual sobre la ...

9

legislativos (temporalidad), categorías de los proyectos de ley, categorías de las preguntas

realizadas por el Observatorio de la Democracia y finalmente, los congresistas y/o partidos

políticos. A partir de dicha información, Civis Sum mostrará conclusiones e insights como

resultado de una consulta general o específica, de esta manera, generar conocimiento sobre la

comparación entre los intereses de los ciudadanos y el comportamiento en las votaciones de

proyectos de ley de los congresistas y/o partidos políticos, que sea útil para el experto o

investigador de temas relacionados a las ciencias sociales y la representación ciudadana en

Colombia.

Con la información del Congreso de la República obtenida de Congreso Visible entre

los años 2006 al 2018, Civis Sum entregará insights del comportamiento legislativo de los

congresistas bajo las dimensiones de temporalidad y categorías específicas de proyectos de

ley. Teniendo en cuenta lo obtenido del Observatorio de la Democracia, y haciendo el uso de

más de dos millones de datos entre el 2004 al 2018, Civis Sum, procesa los datos de las

preguntas hechas en las encuestas teniendo en cuenta el año y la categoría de cada pregunta,

por lo que entregará insights de las respuestas de los ciudadanos y sus opiniones de forma

sencilla basándose en una consulta única. En general, Civis sum, plantea una herramienta que

hace uso de dos bases de datos grandes y complejas, para establecer conclusiones que

permitan contrastar la opinión de los ciudadanos contra el comportamiento legislativo de sus

representantes, con alta flexibilidad, permite que el usuario realice una consulta sobre

cualquier horizonte temporal de los últimos 15 años, cualquier congresista o partido político y

además, de elegir entre 82 categorías o temas diferentes bajo los cuales toda la información

de las bases de datos fueron etiquetados.

Page 10: Civis Sum: Herramienta de analítica visual sobre la ...

10

Figura 3: Página de portada de Civis Sum

4. Objetivos:

4.1. Objetivo General:

Civis Sum busca encontrar relaciones e insights entre las bases de datos de Congreso Visible

y el Observatorio de la Democracia, es decir, entre la actividad legislativa del Congreso de la

República y la opinión pública de los ciudadanos, para de esta manera brindar una

herramienta analítica con componentes visuales, gráficas y conclusiones cualitativas, que

apoye investigaciones planteadas por analistas o expertos de ciencia política alrededor del

tema de Representación Ciudadana en Colombia desde el 2006 hasta el 2018.

4.2. Objetivos Específicos:

- Presentar visualizaciones para la vista general de los datos acerca de los elementos

globales de cada base de datos: Proyectos de ley votados en el congreso durante los

últimos tres periodos legislativos, del 2006 al 2010, del 2010 al 2014 y del 2014 al

2018 y sobre las preguntas realizadas por Observatorio de la Democracia desde el

2004 hasta el 2018.

Page 11: Civis Sum: Herramienta de analítica visual sobre la ...

11

- Filtrar automáticamente la información planteada para el cumplimiento del objetivo

general, proveniente de las bases de datos de Congreso Visible y del Observatorio de

la Democracia teniendo en cuenta las siguientes dimensiones:

- Temporalidad: La información es visible en término de un año o varios años

en específico dados por el rango de 2004 al 2018.

- Tema o categoría: Los proyectos de ley y las preguntas provenientes de las

fuentes de información deben estar categorizados en 82 categorías comunes.

- Preguntas: De acuerdo con las preguntas hechas por el Observatorio de la

Democracia a la ciudadanía en sus muestras nacionales desde el 2004,

presentar las preguntas por tema y año.

- Congresistas o Partidos Políticos: Para entender en forma específica el

comportamiento legislativo del Congreso la información se mostrará para todo

el congreso en general, para uno o varios congresistas o para uno o varios

partidos políticos.

- Hacer consultas dinámicas bajo las dimensiones anteriormente mencionadas, sobre la

información legislativa y sobre la opinión ciudadana obtenidas de las dos fuentes

bases para el proyecto, para obtener insights o conclusiones cuantitativas y

cualitativas de interés y apoyar a las investigaciones de ciencia política, relacionadas a

los temas de representación ciudadana en Colombia.

- Ofrecer conclusiones cualitativas y cuantitativas que le de un panorama comparativo

al experto en Ciencia Política en cuanto a la conexión de los intereses de los

ciudadanos y sus representantes en el Congreso de la República en uso activo de la

información por medio de una consulta específica.

Page 12: Civis Sum: Herramienta de analítica visual sobre la ...

12

5. Manejo de los datos disponibles:

Teniendo en cuenta que el objetivo principal de este proyecto es juntar la información de dos

bases de datos completamente alejadas entre sí y generar conclusiones dicientes para un

experto analista de ciencia política, se muestra a continuación cuál fue el manejo que se le dio

a cada base de datos y cómo se consiguió una relación entre las mismas.

5.1. Observatorio de la Democracia:

5.1.1. Apropiación de la base de datos:

El primer paso de la apropiación de la base de datos fue tener reuniones en conjunto

tanto con Congreso Visible como con el Observatorio de la Democracia. Gracias a la ayuda

de Juan Camilo Plata obtuvimos dos conjuntos de datos. El primer conjunto contiene diversas

estadísticas y una versión general sobre la temporalidad y las preguntas realizadas en los

cuestionarios. El segundo, llamado “Colombia 2004 - 2018 v.1.3” contiene las respuestas de

dichas preguntas. Su formato original de este último es .dta y el rango de años para los dos

conjuntos de datos va del 2004 al 2018 con excepción de los años 2015 y 2017.

Para el primer conjunto de datos se extrajo solo la lista de preguntas que se han

realizado en cada uno de los cuestionarios, con sus respectivos códigos y en qué año se han

realizado. Para el perfilamiento de los datos se utilizó la herramienta KNIME. Para hacer uso

de dicha herramienta fue necesario convertir primero el archivo, que venía en formato .xlsx a

formato CSV. Al hacer el perfilamiento se obtuvo un total de 1564 preguntas, 95.5% de

registros con la pregunta realizada en los cuestionarios, 33.7% de preguntas sin tener un tema

asignado, 27.5% de datos en donde no estaba marcado si en cierto año se había realizado

cierta pregunta.

Page 13: Civis Sum: Herramienta de analítica visual sobre la ...

13

Sobre el segundo conjunto de datos se realizó un perfilamiento desde la herramienta

Stata/SE el cual es un software para Estadística y Ciencia de Datos. Desde aquí se importo el

archivo .dta y, desde el menú Datos, se seleccionó la opción de “Describir datos (codebook)”

y la opción “Listar datos”.

A partir de la información recolectada desde estas opciones fue posible obtener la

información del tipo de dato de cada variable, el rango de valores, las diferentes respuestas

que cada persona podía marcar dentro de la encuesta, número de ausencias, etc. Asimismo,

para ciertos valores numéricos se calcularon datos como la desviación estándar, percentiles,

media, entre otros. Se encontró que hay un total de 19,695 registros y que el tipo de dato más

común entre las variables es double. También, se halló un número alto de valores ausentes,

sin embargo, pudo ser posible concluir que dichos valores ausentes se debían a que en ese

año no se había realizado dicha pregunta.

Por otro lado, entre los datos se encontró que muchos estaban referenciados con las

siguientes etiquetas estándar:

- .a = No sabe

- .b = No responde

- .c = Inaplicable

- .z = No se le preguntó a este país o año

Había otras preguntas que tenían los siguientes tipos de escalas:

Page 14: Civis Sum: Herramienta de analítica visual sobre la ...

14

Figura 4: Tipos de Escalas en las encuestas del Observatorio de la Democracia

5.1.2. Procesamiento de los datos:

Para el primer conjunto de datos, se notó que el Observatorio de la Democracia había

realizado etiquetas con respecto a varias preguntas. Sin embargo, estas eran muy generales y

tenían varios datos ausentes. Por lo tanto, tomando como referencia las categorías que ya

estaban, se clasificó cada pregunta dentro de una etiqueta o subcategoría más específica con

el fin de facilitar el análisis y posterior comparación con los datos de Congreso Visible. Las

etiquetas son las siguientes:

Figura 5: Etiquetas creadas a partir de las preguntas del Observatorio de la Democracia

Posteriormente, se convirtió el archivo .dta llamado “Colombia 2004 - 2018 v.1.3” a

formato CSV desde Stata/SE y se exportó para continuar con su análisis por medio de la

herramienta llamada KNIME. La relación existente entre el primer conjunto de datos, de

Page 15: Civis Sum: Herramienta de analítica visual sobre la ...

15

ahora en adelante el archivo de preguntas, y el segundo conjunto de datos, de ahora en

adelante el archivo de respuestas, es un código único relacionado a cada pregunta. Por medio

de este código, fue posible, por medio de un script en Python, filtrar las preguntas que

estuvieran tanto en el archivo de preguntas como con el archivo de respuestas. Este filtrado

pudo quitar tanto las preguntas que estuvieran en el archivo de preguntas, pero no en el

archivo de respuestas y viceversa.

Con un nuevo archivo de respuestas más consolidado se pasó a la limpieza de dichos

datos. Gracias al perfilamiento se pudo observar las diferentes escalas que maneja el

Observatorio de la Democracia. Sin embargo, se notó que había escalas que no contenían un

número previo que marcara el inicio o el final de dicha escala. Por ejemplo, en la escala de 1

a 7, en donde 1 es Nada y 7 es Mucho, había respuestas de varias preguntas en donde no

había un uno o un siete que antecediera para marcar el inicio o final de dicha escala. Desde

KNIME se hizo la conversión de dichas respuestas, eliminando el número, para poder crear

más consistencia en los datos. Entre esta limpieza también se reemplazó los datos ausentes

con la etiqueta “.z”. De igual manera, las etiquetas “.a”, “.b” y “.c” se convirtieron a lenguaje

natural siguiendo el mismo estándar mostrado previamente.

Entre otros escenarios se encontró que había respuestas que estaban marcadas con

números, pero al momento de estudiar los cuestionarios dichos números correspondían a una

respuesta en lenguaje natural. Desde KNIME se hizo la conversión de dichas respuestas.

Finalmente, se encontró que había varios números que correspondían a la respuesta

“Inaplicable” o había respuestas de este estilo que marcaban “No aplicable”. Al no tener un

número estandarizado y ante la diversidad de dicha respuesta se buscó caso a caso para tener

un único tipo de respuesta y fuera más fácil su filtrado más adelante. Se decidió que todas las

respuestas que entraran en esta categoría se quedaran como “Inaplicable”.

Page 16: Civis Sum: Herramienta de analítica visual sobre la ...

16

Por último, se redactaron los nombres de las preguntas, desde el archivo de preguntas,

para que en lo posible fueran más cortas para un mejor acoplamiento a la herramienta, se

mejoró la ortografía, se completaron las preguntas que estaban incompletas con la ayuda de

los cuestionarios, y se eliminaron tanto de las preguntas como del archivo de respuestas

aquellas preguntas que dependían de otras preguntas. Estas últimas, dada su dependencia no

era posible redactarlas de tal manera que fueran entendibles puesto que la pregunta a la que

dependía no se encontraba en el archivo de preguntas.

Al final del procesamiento de datos se tenía un total de 907 preguntas. Desde el

archivo de respuestas, un total de 19.695 datos por pregunta, es decir, 17’863.365 datos en

total y, desde el archivo de preguntas, las 907 preguntas con su código, nombre de la

pregunta, etiqueta y los diversos años en donde se había realizado. Más adelante, se hizo a

versión mejorada de este último archivo la cual será descrita en la sección de creación de

archivos JSON.

5.1.3. Creación de archivos JSON

Se crearon dos archivos JSON. Uno llamado “2004-2018.json” que contuviera el

código de la pregunta (un identificador único para cada pregunta), el nombre de la pregunta

(la pregunta en sí realizada en los cuestionarios), el año correspondiente, el total de respuestas

realizadas sobre esa pregunta en ese año, el nombre de la respuesta (la respuesta en sí) y el

conteo de cada respuesta. El otro archivo se llamó “Preguntas.json” en donde se tiene el

código de la pregunta, el nombre de la pregunta, la etiqueta correspondiente a la pregunta (las

categorías presentadas previamente), los diferentes años en lo que se realizó y el total de años

en donde se realizó la pregunta.

Para el primer archivo en formato JSON se utilizó la herramienta KNIME. El primer

paso fue leer el archivo CSV de las respuestas, es decir, el archivo llamado “Colombia 2004 -

Page 17: Civis Sum: Herramienta de analítica visual sobre la ...

17

2018 v.1.3”. Cabe mencionar que había una columna cuyo código correspondía al año. Esto

significa que cada registro de este archivo tenía un año relacionado. Luego de leer el archivo,

se utilizó el nodo Row Filter para filtrar todas aquellas filas que estuvieran relacionadas con

el año seleccionado. En la siguiente imagen se ve un ejemplo de cómo funciona para el año

2004.

Figura 6: Filtrado realizado por año en KNIME

Después, se utilizó el nodo Statistics el cual arroja una tabla llamada “Tabla de

ocurrencias”. En dicha tabla, por cada fila procesada salen 3 nuevas filas: todos los valores

posibles encontrados en cada columna (donde cada columna a su vez corresponde a cada

pregunta), el conteo de las ocurrencias de cada valor y la frecuencia relativa. En Column

Filter se eliminó esta última fila puesto que no era relevante. Finalmente, el resultado se

escribió en un archivo CSV. A continuación, un ejemplo del proceso completo realizado para

el año 2004.

Page 18: Civis Sum: Herramienta de analítica visual sobre la ...

18

Figura 7: Proceso realizado en KNIME a través del año 2004

Una vez se realizó este mismo procedimiento para cada año, se creó un código en

Python (referenciado en Anexos como “datos-finales.py”) en donde, primero, leyera cada

archivo CSV creado desde KNIME. Luego, obtuviera la información necesaria para el

archivo “2004-2018.json” como, por ejemplo, el código de la pregunta o cada respuesta. Y,

posteriormente, filtrara todos aquellos datos en donde la respuesta estuviera marcada como

un “.z” o un “Inaplicable”. Desde aquí se realizó el conteo total de respuestas por pregunta y

se añadió un número al inicio sobre cada respuesta que perteneciera a un tipo de escala. Esto

permitió que, más adelante, se ordenaran de menor a mayor con excepción de las respuestas

“No sabe” y las respuestas “No responde” que se dejaron al final. Como último detalle, se

cambiaron las respuestas para que todos comenzaran en mayúsculas y finalmente se realizó la

creación del archivo con cada nuevo dato obtenido y procesado en el código de Python. Cabe

mencionar que para correr este script es necesario transponer los datos desde Excel y quitar el

“Count()” en las variables que lo contengan. Un ejemplo de una pregunta se muestra a

continuación:

Figura 8: Ejemplo de un objeto en el archivo “2004-2018.json”

Por otra parte, en el archivo de preguntas había varias casillas vacías. Sin embargo,

este representó un gran punto de partida para hacer esto mismo, pero por medio de un código

hecho en Python. Se realizó un procedimiento desde KNIME muy similar al presentado en la

creación del archivo “2004-2018.json” con la excepción de que en el nodo Column Filter

también se omitió la columna que tuviera el conteo de las ocurrencias de cada valor. Es decir,

Page 19: Civis Sum: Herramienta de analítica visual sobre la ...

19

solo se dejó los valores posibles encontrados en cada pregunta. La lógica de código consistía

en leer el archivo resultante de cada año de KNIME y, luego, determinar que si en la casilla

posterior había una respuesta marcada como “.z” seguida de una cadena vacía entonces en ese

año no se había realizado dicha pregunta. Con esto se creó un nuevo archivo actualizado en

donde 1 representaba que se había hecho esa pregunta en dicho año y 0 en los casos en que

no. Para ya la creación del archivo en formato JSON se convirtió el 1 por el año

correspondiente al que pertenecía. Por ejemplo, si marcaba 1 en la columna “2014” entonces

se cambiaba ese 1 por 2014. Con resultado, se obtuvo un archivo en formato JSON con el

código de la pregunta:

Figura 9: Ejemplo de un objeto en el archivo “Preguntas.json”

Se siguió esta estructura para que fuera más directo poder leer el año en que se había

o no se había realizado la pregunta y, eventualmente, fuera más rápida la lectura al momento

de leer el archivo desde el Front.

Page 20: Civis Sum: Herramienta de analítica visual sobre la ...

20

Figura 10: Diagrama de proceso para el manejo de los datos del Observatorio de la Democracia.

5.2. Congreso Visible:

La implementación de la herramienta y el manejo de los datos proveídos por

Congreso Visible, se fueron realizando en diversas fases a lo largo de todo el desarrollo. Cada

una de las fases descritas a continuación tiene un objetivo y un desarrollo explicado:

5.2.1. Apropiación de la base de datos:

Para esta fase preliminar se tuvieron varias reuniones con los encargados de Congreso

Visible: la directora del departamento de Ciencia Política de la Universidad de los Andes,

Laura Wills Otero y la coordinadora de Congreso Visible, Beatriz Helena Gil. Gracias a estas

reuniones se empezaron a estructurar y construir las ideas principales que constituyen lo que

es hoy Civis Sum.

Para lograr la apropiación de la base de datos, y debido a que los dos principales

contactos con esta iniciativa no tenían los conocimientos necesarios para indicar los métodos

de acceso a la misma, se optó por hacer una revisión al servidor en donde está desplegada la

Page 21: Civis Sum: Herramienta de analítica visual sobre la ...

21

página de Congreso Visible. Una vez realizada la revisión del servidor, en donde sólo se

encontraba el Back de la página, se recopiló la información que era relevante para el

cumplimiento de los objetivos propuestos y se determinó que lo ideal era utilizar los datos de

todas las votaciones de los proyectos de ley para los últimos 3 cuatrienios. Estos datos son los

mismos que se utilizan en la herramienta, nombrada en el numeral antecedentes, de nuestro

co-asesor John Guerra.

El número total de registros de las votaciones de los congresistas para cada proyecto

de ley de los últimos 3 cuatrienios es de 404,651. Cada registro consta de 9 atributos, los

cuales se muestran en la siguiente tabla:

Atributo Valor

tema_principal Tema principal del proyecto de ley al que

pertenece el voto - 43 temas en total

tema_secundario Tema secundario del proyecto de ley al que

pertenece el voto - 43 temas en total

congresista Nombre del congresista que realizó el voto -

669 congresistas en total

voto Tipo de voto que realizó el congresista: sí, no,

se abstuvo, no asistió

partido Nombre del partido al que pertenece el

congresista que realizó el voto - 54 partidos en

total

iniciativa Tipo de iniciativa a la que pertenece el

proyecto de ley al que pertenece el voto:

gubernamental, legislativa, mixta, popular y

otras entidades

fecha Fecha en la que fue realizado el voto del

proyecto de ley al que pertenece el voto

corporación Tipo de corporación asociada al proyecto de

ley al que pertenece el voto - 23 corporaciones

en total

legislatura Año legislativo que está asociado con el

proyecto de ley al que pertenece el voto - 12

Page 22: Civis Sum: Herramienta de analítica visual sobre la ...

22

años legislativos en total

5.2.2. Procesamiento de los datos

Los datos descritos en el numeral anterior estaban acogidos todos en un archivo de

valores separados por coma (CSV), por tal motivo, se optó por utilizar la herramienta de

minería de datos Knime como principal instrumento para el procesamiento de los datos

(KNIME Analytics Platform, 2006). Con esta plataforma desarrollada sobre la plataforma

Eclipse, se permite la construcción de nodos de procesamiento de datos de manera visual, en

donde cada nodo tiene una única tarea de procesamiento. A cada tarea se le establece los

parámetros necesarios para que se logre los resultados acordes al objetivo y que se utilizarán

en el siguiente nodo de la cadena.

Para este proyecto, se usaron alrededor de 100 nodos de procesamiento, los cuales se

muestran a gran escala en la imagen a continuación:

Figura 11: representación visual de los nodos de procesamiento

Para lograr relacionar los datos de Congreso Visible con los de Observatorio a la

Democracia, se puso sobre la mesa las 82 etiquetas que fueron recogidas de las preguntas del

Observatorio a la Democracia, y con base en estas etiquetas se empezaron a relacionar los

Page 23: Civis Sum: Herramienta de analítica visual sobre la ...

23

proyectos de ley. Debido a la gran cantidad de datos que se tenían para Congreso Visible, no

era viable asignar etiquetas a cada uno de los proyectos, así que se ideó una estrategia para

lograr relacionar cada voto a un proyecto de ley, que a su vez está relacionado a las etiquetas

anteriormente dichas. En primer lugar, se utilizaron los atributos de cada voto llamados

tema_principal y tema_secundario, y para todos los 404,651 registros de votos que se tenían,

se creó una nueva columna que contenía, para cada registro, un string nuevo con el tema

principal seguido del tema secundario. Esto facilitó en gran medida la asociación, puesto que

una vez realizado el join, se procedió a indexar cada uno de los registros creados y se les

asignó un número de identificación único, creando así el nuevo atributo llamado id_proyecto.

Como era de esperarse, al ser una tabla de votaciones a los proyectos de ley, el

atributo id_proyecto para cada voto podría ser repetido, por tal motivo se realizó el conteo de

proyectos que se tenían para los 404,651 datos y se determinó un total de 271 proyectos. Una

vez finalizado este proceso, seguía el procedimiento de relacionamiento con las etiquetas de

Observatorio de la Democracia. Para esta etapa, se recogieron los 271 proyectos que se

habían filtrado anteriormente, con su tema principal y secundario, y con base en esto, se

empezó a relacionar proyecto por proyecto con cada una de las etiquetas que serían afines a

este.

Finalizado el proceso de relacionamiento principal para las dos bases de datos, se

procedió con el filtrado de estos con la herramienta anteriormente presentada, Knime

(KNIME Analytics Platform, 2006). Antes que nada, se necesitaban tener datos primordiales

como congresistas, partidos, fechas (cuatrienios), entre otros; y para esto se crearon archivos

CSV nuevos que contenía cada una de estas especificaciones, asignando a cada congresista,

partido y cuatrienio su propio id único. Asimismo, se generaron todas las iniciativas de cada

uno de los proyectos, entre las cuales están gubernamental, legislativa, mixta, popular y otras

Page 24: Civis Sum: Herramienta de analítica visual sobre la ...

24

entidades; estas ayudan a que el profesional de Ciencia Política tenga en cuenta bajo qué

iniciativa se encuentra cada proyecto de una manera rápida y sencilla.

Por otro lado, un filtrado de datos de gran importancia para el cumplimiento del

objetivo de este proyecto de grado es el del conteo de los votos. Cada registro de los datos

obtenidos es un voto, así que cada congresista puede tener cientos o miles de registros. Para

solucionar esto y obtener una tabla con el conteo para cada tipo de voto de todos los

congresistas, se utilizó el nodo de Knime llamado pivoting, el cual convierte filas en

columnas según sean los parámetros de configuración de este. Para el caso específico de las

votaciones, se organizaron todos los congresistas de manera ascendente bajo los siguientes

patrones: en primer lugar, organizar ascendentemente el id del congresista, el cual está

organizado alfabéticamente; seguido del id del proyecto asociado el voto y finalizando con el

tipo de votación con su respectivo conteo de votos para cada congresista, dejando un

resultado como el que se muestra a continuación para cada uno de los votos:

Figura 12: tabla generada de los votos

Con esta tabla, se puede iniciar con el proceso de pivotado, creando una columna

nueva para cada tipo de votación y un único registro para cada congresista por proyecto,

logrando un resultado como el siguiente:

Page 25: Civis Sum: Herramienta de analítica visual sobre la ...

25

Figura 13: tabla de congresistas y conteo de votos

Una característica que también es muy importante para tener en cuenta, y que es de

interés primordial para los profesionales de Ciencia Política, es la discriminación por

cuatrienios. Para lograr esto se tuvo que corregir el formato de las fechas para los 404,651

registros, pasando de una fecha escrita de la forma d/MM/yy a una fecha con formato correcto

dd/MM/yyyy. Para lograr esto no bastaba con una búsqueda simple, sino que se tuvo que

implementar una búsqueda de expresión regular (Regex) para que sea válido con cualquier

tipo de fecha para todos los registros; se utilizaron dos búsquedas, una para el día y otra para

los años. Dichas expresiones se demuestra a continuación: (\d/) y (/[0-9]+/)([0-

9]+). Lo que hace realmente cada expresión es guardar en subgrupos, por medio de los

paréntesis, cada coincidencia: la expresión (\d/) guarda en el grupo 1 todos los dígitos de

una sola cifra que están a la izquierda de una barra diagonal, los cuales serían los días del 0 al

9; la expresión (/[0-9]+/) guarda en el grupo 2 todos los dígitos de cualquier número de

cifras que están entre dos barras diagonales, que serían todos los meses; y por último, la

expresión ([0-9]+) guarda en el grupo 3 todos los dígitos de cualquier número de cifras.

Una vez seleccionadas todas las fechas que deben ser corregidas, se corrige primero el grupo

1 (para que la segunda expresión no afecte a las fechas que tienen el formato dd) agregando

un 0 antes de este, con la siguiente expresión: 0$1, la cual significa que todas las fechas

quedan con el día correcto. Ahora, para los años se deja de una manera similar: $220$3, esto

Page 26: Civis Sum: Herramienta de analítica visual sobre la ...

26

indica que el grupo 2 irá seguido de un 20 y luego el grupo 3, para dejar todas las fechas con

el formato correcto de dd/MM/yyyy. Todo lo anterior se hizo para lograr dividir los votos por

cuatrienios desde el 2006 hasta el 2018.

5.2.3. Creación de archivos JSON

Culminado el procesamiento de datos que se describió en el numeral anterior, se

procede a crear los archivos JSON, que son una opción excelente para recorrer los datos de

manera eficiente y rápida en la tecnología utilizada para desarrollar la herramienta,

JavaScript. Estos archivos y su contenido se describen a continuación.

Para los datos de Congreso Visible se crearon 12 archivos JSON con base en los datos

anteriormente filtrados. En primer lugar, se tiene el archivo “Congresistas.json”, el cual

contiene un arreglo de objetos partidos, el cual registra el id del partido, el nombre y un

arreglo de objetos congresista, que incluye cada congresista asociado a ese partido con el id

del congresista y el nombre de este. En el caso de los proyectos, se creó un archivo

“Proyectos.json” que contiene un arreglo de objetos proyecto, el cual registra el id de cada

proyecto de ley, el nombre de este, según el tema principal y secundario, y un arreglo de

etiquetas, el cual contiene el id y nombre de cada una de las etiquetas asociadas a dicho

proyecto de ley.

Teniendo en cuenta los dos archivos descritos anteriormente, se creó un archivo

“Anios.json”, el cual acoge tres dimensiones muy importantes para el filtrado por congresista,

años y temas. En este archivo se encuentra un arreglo de años, en el que cada índice es un año

y un arreglo, a su vez, de congresistas que han votado en ese año. En este arreglo de

congresistas se encuentran el id de cada congresista y los proyectos que están en este año.

Los congresistas están organizados de manera ascendente por su id y en el arreglo de

proyectos están el id del proyecto asociado al congresista para ese año y la fecha de votación

Page 27: Civis Sum: Herramienta de analítica visual sobre la ...

27

de dicho proyecto. Para un mejor entendimiento de la estructura de este archivo se demuestra

un ejemplo de este, es válido aclarar que los datos presentados en este ejemplo no se

asemejan a la realidad y los id fueron creados con el objetivo de ilustrar:

Figura 14: muestra de ejemplo Anios.json

El archivo descrito anteriormente guarda todas las votaciones de todos los congresistas para

todos los años de los últimos 3 cuatrienios. Es un total de 404,651 datos registrados.

De manera similar al anterior archivo descrito, se creó “Votos_unido.json”, el cual

acoge el conteo de todos los votos de un congresista en específico, organizados por el tipo de

voto, siendo estos sí, no, se abstuvo y no asistió. Este archivo contiene un arreglo de objetos

congresista, el cual incluye el id del congresista y un arreglo de proyectos, en donde se

registra el id del proyecto y el conteo de votos para ese proyecto organizados por el tipo de

votación. Para un mejor entendimiento de la estructura de este archivo se demuestra un

ejemplo de este, es válido aclarar que los datos presentados en este ejemplo no se asemejan a

la realidad y los id y votaciones fueron creados con el objetivo de ilustrar:

Page 28: Civis Sum: Herramienta de analítica visual sobre la ...

28

Figura 15: muestra de ejemplo Votos_unido.json

Gracias a los archivos “Congresistas.json”, “Anios.json”, “Proyectos.json” y

“Votos_unido.json” se logró representar de manera gráfica y por cada congresista, las

votaciones a cada uno de los proyectos de ley.

Figura 16: Diagrama de proceso para el manejo de los datos.

Page 29: Civis Sum: Herramienta de analítica visual sobre la ...

29

6. Diseño de Ingeniería:

6.1. Arquitectura:

Civis Sum es una herramienta web diseñada y desarrollada en JavaScript, HTML y

CSS. Escrito en JavaScript un lenguaje orientado a objetos, dinámico y basado en prototipos,

lo que facilita su ejecución en exploradores al ser muy ligero. El manejo de datos se realizó

por medio de archivos JSON y CSV que fueron resultado del procesamiento, que durante el

proyecto se logró que fueran los más reducidos posibles y contuviera la información

necesaria para los objetivos planteados.

Figura 17: Arquitectura de Civis Sum

De acuerdo con la Figura 14, se presenta la arquitectura de Civis Sum, que se

construye en el Client-Side es decir en el buscador (Chrome, Firefox, Safari). La arquitectura

maneja tres vistas principales correspondientes a: index.html, vista-datos.html y filtrado.html

que hacen uso de CSS para de esta manera presentar el Front-end de la herramienta, luego, a

modo de controladores, algunos archivos JavaScript recolectan los datos de las vistas, están

escuchando constantemente la interacción del usuario y poseen la lógica del software. Dentro

de los controladores, encontramos algunas librerías externas que se presentarán en el

Page 30: Civis Sum: Herramienta de analítica visual sobre la ...

30

siguiente numeral, las cuales permiten cumplir con el funcionamiento de las visualizaciones y

del filtrado de información de las consultas. Para modelar los datos, el resultado de su

procesamiento con archivos que modelan los datos de forma sencilla y de acuerdo con la

información que requiere el sistema, por ende, se poseen archivos JSON y CSV que

contienen la información y son el insumo para las visualizaciones. En resumen, la

arquitectura se basa en poseer objetos sencillos que puedan ser procesados y filtrados a partir

de las vistas de Civis Sum.

Las vistas implementadas en Civis Sum, específicamente en el filtrado presentado, se

esquematizan en 6 pasos que faciliten y cumplan el objetivo de mostrar y filtrar la

información de la manera más fácil y eficiente posible. Se construyó por medio del estilo

Storytelling un flujo de tareas que permiten al Back-end procesar los datos y hacer las

consultas solicitadas por el experto de ciencia política de acuerdo con las dimensiones

específicas. A continuación, se presenta el flujo de actividades que Civis Sum tienes y se

relacionan a las posibilidades que tiene el experto para consultar, todos los filtros son

opcionales a excepción de la dimensión de Temas y Categorías, el cual es el requisito mínimo

para ir de lo más global a lo mas especifico para ofrecer los resultados cualitativos y

cuantitativos acerca de la representación ciudadana.

Page 31: Civis Sum: Herramienta de analítica visual sobre la ...

31

Figura 18: Esquematización de actividades de Civis Sum

6.2. Librerías e Implementación:

Para el presente proyecto se realizo el uso de librerías externas para la

implementación de las visualizaciones y funcionalidades de Civis Sum, todas librerías para

JavaScript, entre ellas encontramos:

6.2.1. D3 JS:

D3 es una librería de JavaScript para manipular documentos basados en datos, esta

librería ayuda a visualizar los datos usando HTML, SVG y CSS, teniendo en cuenta los

protocolos estándar, D3 funciona y es estable en todos los exploradores, permitiendo al

programador ser dueño del Framework, tener múltiples componentes de visualización y una

manipulación de los datos en el DOM (Bostock, s. f.). Para el desarrollo del proyecto se

usaron las versiones V5.0 y V3.0 de D3, para la visualización de los datos en elementos como

burbujas y flores. Para la implementación de esta librería, en primer lugar se procesaron todos

los proyectos de ley que fueron votados en el Congreso de la República que fueron

clasificados en las 82 categorías mencionadas anteriormente, mediante una función

JavaScript, se realizó el conteo de cuantos proyectos habían relacionados a cada una de las

categorías globales, asimismo, de los JSON que contenían los proyectos de clasificar la

iniciativa de la que provenía el proyecto de ley, el CSV que salió como resultado, permitió

alimentar la visualización de burbujas usando D3.js con una estructura de: el id,

correspondiente a la categoría global, el groupid, correspondiente a la iniciativa (1,2,3,4,5) y

el size, correspondiente a la frecuencia de proyectos en el tema en específico.

Page 32: Civis Sum: Herramienta de analítica visual sobre la ...

32

Figura 19: muestra de ejemplo iniciativas.csv

Figura 20: resultado de visualización Burbujas.

Por otra parte, la implementación de la visualización que muestra el conteo de las

votaciones para un congresista o para un partido político para cada uno de los temas

seleccionados por el usuario, fue realizado a partir de tres archivos JSON que contiene toda la

actividad legislativa de los congresistas y los respectivos proyectos de ley. Por medio de una

función de JavaScript, se realiza un fetch de la información, haciendo un recorrido al filtrar

los datos para cada una de las dimensiones aplicadas, como los años y las categorías; a

continuación, se realiza el conteo de los votos de los congresistas para los proyectos de ley

resultantes del filtrado. Teniendo en cuenta los tipos de voto, la visualización contiene cuatro

flores que muestras en conteo de votos para cada tipo de voto, siendo estas a favor, en contra,

Page 33: Civis Sum: Herramienta de analítica visual sobre la ...

33

abstenciones e inasistencias. Por lo anterior, la siguiente estructura presenta el objeto

Congresista o Partido Político del cual se realiza el conteo de votos para proyectos de ley.

Figura 21: muestra de ejemplo votos.unido.json

Figura 22: resultado de visualización Flores: votos a favor y en contra en temas de aborto de los partidos:

Alianza Verde, Cambio Radical, Centro Democrático y Conservador Colombiano

Por medio del uso de D3.js se realizó la implementación de tooltips que permiten

observar detalles de la visualización, por ejemplo, para ambos tipos de visualización

implementadas (burbujas y flores), es posible obtener el tema y la frecuencia de votos para

proyectos relacionados con la consulta del usuario.

Page 34: Civis Sum: Herramienta de analítica visual sobre la ...

34

Figura 23: Tooltip en la visualización de burbujas

6.2.2. Vega-Lite JS:

Vega-Lite es una librería de JavaScript especializada en gráficas interactivas de alto

nivel y visualizaciones de datos provenientes de Properties, usando JSON sintaxis genera

gráficas de forma rápida. Vega Lite compila automáticamente componentes y visualizaciones

como los ejes, leyendas y escalas respetando las reglas de comportamiento de las gráficas

(UW IDL, s.f.). Esta librería fue usada en el proyecto para realizar la visualizaciones y

gráficas de barras de los resultados de las preguntas hechas por el Observatorio de la

Democracia. En dichas gráficas se puede analizar el porcentaje de respuestas hechas por cada

ciudadano sobre cada pregunta, y si se escoge más de un año, se puede estudiar el

comportamiento de estos a través del tiempo.

Para el caso en que se escogiera un solo año, por medio de Vega-Lite, se logró hacer

una visualización por medio de una gráfica de barras. En cada gráfica está representada una

pregunta para un solo año (el año escogido), en el eje x aparece el porcentaje personas que

escogieron cierta respuesta a dicha pregunta y en el eje y se encuentra cuál fue dicha

respuesta escogida.

Page 35: Civis Sum: Herramienta de analítica visual sobre la ...

35

Figura 24: Gráfica de barras para un solo año

El formato de entrada de los datos es en formato JSON el cual contiene una respuesta,

con su respectivo valor, y un porcentaje, con su respectivo valor.

Figura 25: JSON de entrada utilizado para la visualización

Por otro lado, cuando se escoge más de un año aparece un nuevo tipo de gráfica en el

que en el eje x se muestran los años escogidos o los años en donde se hicieron determinada

pregunta, en el eje y sale el porcentaje de ciudadanos que hayan escogido determinada

respuesta y luego dichos datos aparecen por cada una de las respuestas de cada pregunta. En

el caso de la imagen se ve una escala del 1 al 7 en donde 1 es Nada y 7 es Mucho.

Page 36: Civis Sum: Herramienta de analítica visual sobre la ...

36

Figura 26: Gráfica para más de un año

El formato de entrada de los datos es en formato JSON el cual contiene el año

escogido y/o año en que se realizó la pregunta, una respuesta, con su respectivo valor, y un

porcentaje, con su respectivo valor.

Page 37: Civis Sum: Herramienta de analítica visual sobre la ...

37

Figura 27: JSON de entrada utilizado para la visualización

6.2.3. JQuery JS:

JQuery es una librería de JavaScript rápida y pequeña que facilita la manipulación de

documentos HTML, animaciones y Ajax que permite por medio de una API funcionar en

todos los navegadores (JS Foundation, s. f.). Esta librería fue usada para manipular los

HTML de Civis Sum, y en el uso de interacciones como botones.

6.2.4. Bootstrap JS/CSS:

Bootstrap es un Framework y un conjunto de herramientas de código abierto para el

diseño de aplicaciones web. Contiene variados elementos y plantillas de diseño para

elementos visuales basado en CSS y HTML y plugins de JavaScript centrado en el desarrollo

de Front-end (Otto, s.f.). Civis Sum usa Bootstrap para el diseño de la página, el estilo

Storytelling, botones, títulos, entre otros. Se desarrolló el Front-end usando esta librería.

6.2.5. Slim Select JS:

Slim Select es una librería de JavaScript que despliega un avanzado Select dropdown

en el HTML. Permite tener un select con múltiple elección de opciones, que responde a

eventos, permite la búsqueda y un estilo limpio (Voelker, 2020). Se usó este componente para

realizar los filtros sobre la información facilitando al usuario la selección de filtros sobre la

consulta en Civis Sum. En el proyecto se usó esta librería en 4 ocasiones diferentes: select de

los años, select de las categorías o etiquetas, select de las preguntas y select de los

congresistas o partidos. Estos select dropdown son el eje central de toda la herramienta Civis

Sum, ya que como mínimo, para lograr generar alguna visualización, se debe seleccionar por

lo menos una categoría. Con esto se pueden generar, en el caso de Congreso Visible, la

Page 38: Civis Sum: Herramienta de analítica visual sobre la ...

38

representación gráfica general de los votos para todos los congresistas registrados y que estén

relacionados con el tema elegido.

El formato de entrada de los datos es un objeto con un atributo text, el cual es el dato

que se mostrará en el select. Para cada uno de los select se debe realizar un proceso antes: en

el caso de los años, se imprimen los años desde el 2004 hasta el 2018; para las categorías o

etiquetas se recolectó toda la información del archivo “Etiquetas.json” (que registra las 82

etiquetas) y las guarda en un objeto local para cada opción del select; por el lado de las

preguntas, este select es generado al momento de hacer el filtrado de las etiquetas, logrando

obtener todas las preguntas relacionadas a los años y temáticas seleccionadas en los apartados

anteriores; por último, para los congresistas se tiene dos opciones, el select por congresistas y

el select por partidos, ambos utilizan el archivo “Congresistas.json”, y según sea escogido por

el usuario se genera el select con la información que este haya escogido.

7. Desarrollo de Front-end y Experiencia de Usuario:

Basado en un modelo Storytelling, Civis Sum fue diseñado para ser una herramienta

web de fácil acceso, que le brinda al usuario la narración de una historia interactiva mediante

la acción del usuario (Scrolling), usando tecnologías web como HTML5, JavaScript, D3,

Vega lite. En primer lugar, por medio de un landing page Civis Sum ofrece la información

general de la herramienta, sus funcionalidades y el acceso a las diferentes visualizaciones

(Contexto de los datos y Acceso a las Consultas).

Page 39: Civis Sum: Herramienta de analítica visual sobre la ...

39

Imagen 28: Landing page Civis Sum

7.1. Visualización de datos:

La primera sección corresponde a la titulada “Vista general de los datos”, en la cual se

cuenta la introducción a la historia de Civis Sum, los datos que se usaron con algunas

especificaciones y visualizaciones generales de los datos desde el 2004 para Observatorio de

la Democracia y desde el 2006 para Congreso Visible. Para presentar estos datos se utilizó

una visualización con tooltips de tipo bubbles, donde cada burbuja corresponde al conteo de

un elemento (frecuencia) con características comunes. A continuación, se presentan las

visualizaciones implementadas para mostrar el contexto general de los datos procesados para

la funcionalidad de Civis Sum:

Page 40: Civis Sum: Herramienta de analítica visual sobre la ...

40

Figura 29: Visualización de Burbujas (Congreso Visible)

Figura 30: Visualización de Burbujas para los últimos tres periodos legislativos (Observatorio de la

Democracia)

Luego de conocer los datos y dar un contexto general al usuario, la próxima

experiencia corresponde a la consulta o pregunta de investigación que se podrá realizar sobre

las bases de datos. Civis Sum le pedirá al usuario algunos datos para generar visualizaciones y

concluir sobre la representación ciudadana, el o los años (campo opcional), Tema/s (campo

obligatorio), preguntas realizadas por el Observatorio de la Democracia (campo opcional) y

el congresista o partido político (campo opcional). Los componentes Select realizan el

filtrado de los datos de acuerdo con la dimensión aplicada, y acorde a la experiencia, le

brinda al usuario la posibilidad de establecer sus propias condiciones para una consulta

específica.

Page 41: Civis Sum: Herramienta de analítica visual sobre la ...

41

Figura 31: Filtros de Temporalidad y Temas o Categorías.

Figura 32: Filtros de Preguntas y Congresistas/ Partido Político.

Luego de que el usuario especifica las dimensiones para las conclusiones de la

representación ciudadana, se implementaron dos tipos de visualización para mostrar los

datos. En primer lugar, es posible visualizar en diagramas de puntos las preguntas filtradas

por años y temas realizadas por el Observatorio de la Democracia, donde el eje y representa

el porcentaje de personas que respondió a la pregunta, el eje x los años en los que se realizó la

pregunta y la leyenda especifica el color de cada una de las posibles respuestas de la

pregunta, así es posible ver el comportamiento de las respuestas a través del tiempo.

Page 42: Civis Sum: Herramienta de analítica visual sobre la ...

42

Figura 33: Visualización de pregunta: “Hasta qué punto tiene confianza en las autodefensas”.

Por otro lado, la segunda visualización corresponde al conteo de votos (A favor, En

contra, Inasistencia, Abstención) de los congresistas o partidos políticos filtrados por el

usuario, sino se elige ninguno, se tomará el conteo total de la actividad legislativa de todo el

Congreso de la República, esta visualización es llamada flower, para cada tema se genera la

visualización de cuatro flores que representan el conteo de votos de proyectos de ley sobre

ese tema específico, cada uno de los pétalos corresponde al conteo de votos un congresista o

partido político, por lo tanto en un flor aparece la comparación de los votos de los

congresistas o partidos políticos seleccionados para cada uno de los temas categorías. Esta

visualización posee un tooltip que indica para cada partido (pétalo), el nombre del partido

político, el número de congresistas y el conteo de votos.

Page 43: Civis Sum: Herramienta de analítica visual sobre la ...

43

Figura 34: Visualización de conteo de votos para congresistas o partido político del tema: Aborto.

7.2. Conclusiones Cualitativas:

Civis Sum luego de permitir el filtrado de datos, de acuerdo con comportamiento

presentado en las visualizaciones, ofrece conclusiones cualitativas sobre la opinión ciudadana

o el comportamiento legislativo, brindando herramientas adicionales para encontrar una

relación de la representación ciudadana. Para los datos de la opinión ciudadana se presenta

una conclusión que resume los datos más importantes sobre la consulta, como el año al que

está relaciona la respuesta, la respuesta o respuestas más significativas de la pregunta de

acuerdo con sus porcentajes de elección, las opciones y la pregunta que responde, por ende,

se genera una conclusión para cada año en que la o las preguntas se realizaron en las muestras

nacionales.

Page 44: Civis Sum: Herramienta de analítica visual sobre la ...

44

Figura 35: Ejemplo de conclusión cualitativa para una pregunta hecha por el Observatorio de la Democracia

en la muestra nacional en el año 2016.

Ahora para el caso del comportamiento legislativo de los congresistas o partidos

políticos, se presenta una conclusión cualitativa que resume de forma global los resultados

más interesantes del conteo de las votaciones en proyectos de ley relacionados a los temas

filtrados definidos por la consulta. Se presenta una conclusión para uno de los congresistas o

partidos políticos para cada tema consultado, se muestra el congresista o partido político, el

tema o categoría, el conteo mayor entre los cuatro tipos posibles y una posible relación con la

segunda votación más alta.

Page 45: Civis Sum: Herramienta de analítica visual sobre la ...

45

Figura 36: Ejemplo de conclusión cualitativa para el conteo de votos en proyectos de ley relacionados al

Aborto registrado por Congreso Visible.

8. Evaluación:

Desde una perspectiva global, la herramienta muestra la unión de dos bases de datos

por medio de la clasificación de un conjunto de categorías que integra las preguntas

realizadas por el Observatorio de la Democracia y las votaciones de los proyectos de ley

encontrados en los datos dados por Congreso Visible.

Con dicha clasificación se logró construir dos visualizaciones que muestran, por una

parte, la visión general de los datos por medio del conteo de preguntas por categoría y, por el

otro lado, el número de proyectos de ley asociados a los distintos tipos de iniciativas. En

paralelo, dicha unión también converge en términos temporales. A través de este es posible

conocer comportamientos de los datos en torno a cuatrienios que son de importancia para

aquel que quiera entender la distribución de estos, a través de una misma exhibición de datos

con base en los tiempos manejados por el Congreso de la República.

Desde una visión más específica, es posible desde la herramienta filtrar los datos por

medio de cuatro dimensiones: años, temas o categorías, congresistas o partido, y preguntas

realizadas a los ciudadanos. Posterior a este filtrado se obtiene lo que son las primeras

representaciones visuales como gran punto de comparación y que no solo representan el

resultado del filtrado sino del procesamiento, limpieza y clasificación de los datos realizados

desde un comienzo. Es en este punto en donde el usuario puede realizar una contrastación

directa de ambos conjuntos de datos y logra llegar a Insights. Finalmente, se recopila una

serie de conclusiones con el fin de orientar mejor al usuario a entender los resultados

obtenidos previamente en las visualizaciones.

Page 46: Civis Sum: Herramienta de analítica visual sobre la ...

46

Con base en lo presentado previamente, y gracias a los comentarios recibidos por el

Observatorio de la Democracia y Congreso Visible, fue posible concluir que la experiencia de

usuario al momento de usar la página web no era la más adecuada, ya que resultaba ser poco

intuitiva y no era clara la organización de la información. Otra dificultad evidenciada surge

en que muchos usuarios nuevos llegaban directamente a la funcionalidad de los filtrados sin

antes de pasar por la visión de los datos, lo cual causaba confusiones y poco entendimiento

sobre la herramienta.

Sin embargo, en términos de funcionalidad, se obtuvieron comentarios positivos y

críticas hacia mejoras en torno a nuevos prospectos por trabajar en este proyecto. Los

expertos consideraron que la herramienta les era de gran utilidad, les permitía entender mejor

cada conjunto de datos y, gracias a las visualizaciones, pudieron generar un conjunto de

preguntas e Insights para responder a la problemática inicial sobre el nivel de representación

ciudadana. Resaltaron el gran número de posibilidades e interacciones que posee actualmente

la página web y del potencial que tiene a futuro.

9. Resultados:

Los resultados de la implementación de Civis Sum y del procesamiento de datos logrados

en este proyecto de grado son:

- Obtención de la visión global y específica de los datos de Congreso Visible y

Observatorio de la Democracia, dado por el procesamiento y comprensión de los

datos usando herramientas y funciones de minería de datos. Esta actividad permitió

obtener los datos necesarios y archivos JSON y CSV para la visualización filtrado en

Civis Sum.

Page 47: Civis Sum: Herramienta de analítica visual sobre la ...

47

- Exposición y visualización de los proyectos de ley votados en el congreso entre los

años 2006 al 2018 y las preguntas realizadas por el Observatorio de la Democracia

entre los años 2004 al 2018 por medio de herramientas de Visual Analytics con el uso

de librerías externas.

- Realizar una consulta sobre la representación ciudadana en Colombia, filtrando de la

información de Congreso Visible y el Observatorio de la Democracia teniendo en

cuenta 4 dimensiones de búsqueda: (1) Años, (2) temas o categorías, (3) Congresista/s

y (4) Preguntas hechas a los ciudadanos.

- Exportar la información resultado de la consulta en archivos con formato CSV.

- Exposición y visualización del conteo de votos (Actividad legislativa) de cada uno de

los temas para cada congresista o partido político de la consulta, también, el

comportamiento de la opinión ciudadana a través de el tiempo de acuerdo con cada

pregunta y sus correspondientes respuestas.

- Conclusiones cualitativas para una consulta general o específica.

10. Conclusiones:

10.1. Observatorio de la Democracia:

Si bien el archivo de respuestas proporcionado por el Observatorio de la Democracia

contenía un número mayor de datos solo fue posible usar aquellos en donde se pudiera

relacionar el código de este con el código en el archivo de preguntas para así saber el nombre

de la pregunta. Esto causó que se filtraran un número muy alto de preguntas que pudieron

haber sido usadas en la herramienta. Se propone que para trabajo a futuro se pueda agregar el

nombre de la pregunta a estos datos que no pudieron agregarse y así crecer el conjunto de

datos del Observatorio de la Democracia dentro de la página web.

Page 48: Civis Sum: Herramienta de analítica visual sobre la ...

48

Por otra parte, para poder clasificar cada pregunta dentro de una categoría se realizó

un proceso manual y leyendo uno a uno los datos. Por lo tanto, se propone que se genere un

mecanismo de clasificación más automatizado en donde se pueda relacionar directamente el

tema de la pregunta y asignarlo a una categoría. Esto ayudará que sea mucho más escalable y

que dicho proceso sea mucho más rápido y eficiente. Una forma de realizar esto es que a

medida que se cree una nueva pregunta se asigne inmediatamente un nuevo atributo y que

dicho atributo sea una categoría específica. Esto, asimismo, permitirá que el conjunto de

categorías crezca y sea más diverso.

10.2. Congreso Visible:

Durante todo el proceso realizado para lograr este proyecto, desde el lado de

Congreso Visible, se fueron encontrando diferentes factores que podrían ser utilizados para el

trabajo futuro de la herramienta. En primer lugar, se tuvo como limitante el formato en el que

se manejan los datos en congreso visible, ya que el CSV principal en donde se tienen los 404

mil datos de los votos de proyectos de ley y que fue descrito en el numeral 5.2.1., no cuenta

con un atributo en el que se demuestre de manera explícita si el proyecto de ley al que

pertenece cada voto es a favor o en contra de manera positiva o negativa, p. ej., para un

proyecto de ley que está asociado con la etiqueta Aborto, los cuatro tipos de votaciones que

se tienen no dicen de manera explícita si el congresista que está votando está a favor o en

contra del aborto per se, sino del proyecto por el que está votando, el cual podría ser legalizar

el aborto. Si el congresista votó sí, quiere decir que está a favor del aborto, sin embargo, si

para para el mismo congresista con un proyecto de ley que sea prohibir el aborto, en este

caso el congresista votaría no. La solución a este problema es leer y estudiar uno a uno los

proyectos de ley que se tienen en la base de datos de Congreso Visible y etiquetar con un

nuevo atributo booleano cada proyecto y que esto indique si es un voto positivo o negativo al

proyecto. Esta solución se optó para dejar como trabajo futuro ya que sería responsabilidad

Page 49: Civis Sum: Herramienta de analítica visual sobre la ...

49

de Congreso Visible el acceder a la base de datos de la plataforma y etiquetar todos y cada

uno de estos proyectos.

Teniendo en cuenta lo anterior, si se logra clasificar cada uno de los proyectos de ley,

se podrían generar conclusiones más dicientes para el profesional de ciencia política que

estaría utilizando la herramienta. Estas conclusiones utilizarían este nuevo atributo para poder

determinar si las votaciones de los congresistas están acordes con las respuestas que se tienen

del Observatorio de la Democracia, logrando así determinar cuál sería la representación

ciudadana en el Congreso de la República. Asimismo, se podrían agregar diferentes

visualizaciones para dichas conclusiones, en donde sea mucho más fácil para el usuario

entender cómo es la convergencia de los datos de ambas bases de datos.

Reconociendo el trabajo actual y el recorrido de la curva de aprendizaje sobre los

datos de Congreso Visible y El Observatorio de la Democracia, uno de los puntos principales

que cambiaría bajo un escenario de inicio de cero del proyecto, sería las visualizaciones, pues

teniendo en cuenta las múltiples implementaciones de Visual Analytics y estudio previo de

que tipo de visualización sería óptima para presentar la implementación sería diferente. Por

otra parte, la experiencia de usuario que actualmente es estática y lineal puede ser

implementada para buscar priorizar la interactividad y la facilidad de uso para cualquier

usuario sin necesidad de una capacitación. Otro punto relevante, corresponde al

procesamiento de datos que obedezca a un objetivo final y no a pequeños logros objetivos,

pues esto evita tener un proceso estándar de manipulación de la información que puede ser

pensado más eficiente para el trabajo futuro. Finalmente, es necesario considerar en

centralizar toda información y archivos de lógica que fueron usados para el proyecto, de esta

manera permitir que las organizaciones puedan continuar y avanzar sobre la herramienta

actual.

Page 50: Civis Sum: Herramienta de analítica visual sobre la ...

50

11. Anexos

Civis Sum está desplegada en el servicio de alojamiento de GitHub llamado “GitHub

Pages” y puede encontrarse en el siguiente enlace: juanpablor5.github.io/CV-OD. El software

Civis Sum es de código abierto y el repositorio en donde este se fue almacenando a lo largo

de todo el proceso se encuentra en el siguiente enlace: github.com/Juanpablor5/CV-OD. A

continuación, se muestran los diferentes anexos necesarios para la sucesión del proyecto en el

futuro; estos anexos se encuentran en la carpeta Anexos en el repositorio compartido

anteriormente.

11.1. Observatorio de la Democracia:

Para poder continuar a futuro con el crecimiento de esta herramienta se comparten

una serie de archivos utilizados para el procesamiento de datos desde la etapa inicial hasta el

último paso en donde se crean los archivos en formato JSON utilizados directamente sobre la

página web. Los primeros dos archivos son scripts utilizando el lenguaje de programación

Python. El primero, llamado “años-preguntas.py” fue utilizado para poder determinar si en

cierto año se hizo cierta pregunta y el segundo, llamado “datos-finales.py” en donde se

realizan los pasos siguientes a los realizados sobre la herramienta KNIME y en donde se

realiza tanto el orden de los datos y su conversión a archivos CSV. En este script es necesario

cambiar la ruta del archivo que se lee, la ruta del archivo que se escribe y la variable “anio”

correspondiente al año del archivo que se está tratando. Asimismo, este script se debe correr

para cada archivo obtenido desde la herramienta KNIME. Una vez se corre este script se

obtiene un archivo CSV y, finalmente, se uno cada archivo resultante en uno solo y se

convierte a JSON. Finalmente, se comparte el workflow de Knime llamado “Knime-

OD.knwf” con todos los nodos necesarios para el procesamiento de los datos partiendo del

CSV obtenido por la conversión del archivo inicial en formato .dta.

Page 51: Civis Sum: Herramienta de analítica visual sobre la ...

51

11.2. Congreso Visible:

Para continuar con el trabajo futuro de la herramienta, se comparte el workflow de

Knime llamado “Knime-CV.knwf” con todos los nodos necesarios para el procesamiento de

los datos partiendo del CSV base. Para importarlo a Knime, se debe ingresar al programa y en

el apartado File, seleccionar Import Workflow. Cada nodo está configurado para lograr el

procesamiento que se necesita para dejar los archivos JSON preliminares, sin embargo, es

necesario realizar otros procesos a dichos archivos para lograr construir cada uno de los

archivos JSON necesarios para que la herramienta funcione como es debido. Para lograr esto,

se recomienda utilizar el programa “Data-processor-CV.py” programado en lenguaje Python

que también queda anexo a este documento, el cual realiza varios de los últimos procesos a

los datos para luego afinarlos con base en el formato descrito en el apartado 5.2.3. por medio

de búsquedas de expresión regular (Regex).

12. Referencias:

[1] Guerra Gómez, J. (2018). Visualización de los patrones de votación de los Senadores

Colombianos. Bogotá, CO.: johnguerra.co. Recuperado de:

https://johnguerra.co/viz/senadoColombia/.

[2] Guerra Gómez, J. (2017). Navio. Bogotá, CO.: johnguerra.co. Recuperado de:

https://navio.dev/.

[3] Oficina de Comunicaciones y Prensa de la Registraduría Nacional del Estado Civil. (s. f.).

ESTOS SON LOS MECANISMOS DE PARTICIPACIÓN CIUDADANA. Recuperado 2 de

junio de 2020, de https://www.registraduria.gov.co/Estos-son-los-mecanismos-de.html

[4] Secretaria General del Senado. (1991, julio 20). Constitución Política de la República de

Colombia. Recuperado 2 de junio de 2020, de

http://www.secretariasenado.gov.co/index.php/constitucion-politica.

[5] Congreso Visible. (2018). ¿Qué es el Congreso de la República? Recuperado 2 de junio

de 2020, de https://congresovisible.uniandes.edu.co/democracia/congreso/.

[6] Congreso Visible. (s. f.). Congreso Visible - ¿Qué es Congreso Visible? Recuperado 2 de

junio de 2020, de https://congresovisible.uniandes.edu.co/quesomos/.

[7] Subgerencia Cultural del Banco de la República. (2015). Ideologías políticas. Recuperado

de: http://www.banrepcultural.org/blaavirtual/ayudadetareas/politica/ideologias_politicas.

[8] Council of Europe. (s. f.). Democracia COMPASS: Manual de Educación en los Derechos

Humanos con jóvenes. Recuperado 2 de junio de 2020, de

https://www.coe.int/es/web/compass/democracy.

Page 52: Civis Sum: Herramienta de analítica visual sobre la ...

52

[9] Thomas, J. J., & Cook, K. A. (2005). Illuminating the Path: Research and Development

Agenda for Visual Analytics. U.S.: IEEE-Press.

[10] KNIME Analytics Platform (Nº de version 4.1.2). (2006). Windows. Zúrich, Suiza:

KNIME.com GmbH.

[11] Observatorio de la Democracia. (s. f.). ¿QUIÉNES SOMOS? Recuperado 2 de junio de

2020, de https://obsdemocracia.org/nosotros/.

[12] Voelker, B. (2020). Slim Select. Recuperado 7 de junio de 2020, de

http://slimselectjs.com

[13] University of Washington Interactive Data Lab. (s. f.). Vega-Lite – A Grammar of

Interactive Graphics. Recuperado 7 de junio de 2020, de https://vega.github.io/Vega-Lite/.

[14] Otto, M. J. T. (s. f.). Bootstrap. Recuperado 7 de junio de 2020, de

https://getBootstrap.com.

[15] JS Foundation. (s. f.). jQuery. Recuperado 7 de junio de 2020, de https://jquery.com.

[16] Bostock, M. (s. f.). D3.js - Data-Driven Documents. Recuperado 7 de junio de 2020, de

https://d3js.org

[17] Castro Varón, J. (2018). Partidos políticos en Colombia: ¿gobiernistas o

antigobiernistas? Bogotá, CO. Recuperado de: https://congreso.castrovaron.com/.