martes, 7 de junio de 2016

Dios, ángeles y la serpiente en grafos del Génesis

El grafo que comenté en mi anterior post sobre el Génesis solo mostraba los datos de las relaciones humanas. Volvamos a verlo y partamos de la información que ya teníamos con el anterior post:

Como ya expliqué, del cálculo de esas relaciones saqué de manera premeditada a Dios y al resto de seres superiores (por llamarlos de alguna manera): ángeles, demonio, Espíritu Santo... Veamos qué pasa con el grafo si sí lo tenemos en cuenta:
El grafo pasa de estar compuesto de un núcleo principal y otro secundario alejado (alrededor de Noé, conectado con Adán), a tener un único núcleo principal del que salen diferentes ramas no demasiado alejadas. Coloquemos ahora un color diferente a aquellas entidades humanas y aquellas no completamente humanas:

Dios aparece localizado muy cerca de Abraham, y con fuertes relaciones con Isaac, Jacob, José, Adán, Caín y la familia de Noé. De hecho estas relación son las que han hecho que Adán y Noé fortalezcan enormemente sus relaciones indirectas con el núcleo principal del grafo. Efectivamente, la relación con Dios de estas personas es una relación mucho más importante que la frágil relación familiar que pueda haber entre ellos.

Pero antes de pasar adelante con más relaciones: ¿de quién hablamos exactamente cuando hablamos de los seres superiores en el Génesis? Pues en concreto de estos nodos:

Y vosotros diréis que aquí hay varias cosas raras. En primer lugar, ¿Espíritu Santo? Efectivamente no hay ninguna mención con ese nombre en el Génesis, pero sí hay varias al Espíritu de Dios, colocación que decidí codificarla como Espíritu Santo aunque señalando mediante un atributo de que no estaba completamente seguro.

En segundo lugar, ¿por qué hay ángeles y no demonios? ¿Por qué solo aparece diablo en singular? La respuesta es clara: porque no hay menciones a demonios en plural (como si encontramos en otros libros, como los Evangelios). Y aquí viene una de las cosas sorpresas que me he encontrado: de hecho no hay prácticamente menciones al diablo en el Génesis. Exclusivamente en el capítulo 3 se menciona a la serpiente en Edén un puñado de veces. Después del capítulo 3 nada similar a un diablo vuelve a aparecer en el Génesis. Es por eso que en el grafo completo, el diablo aparece estrechísimamente relacionado con Adán y Eva, más incluso que sus propios hijos:

Y en tercer lugar ¿Jesús? ¿No nos hemos saltado unos cuantos miles de años en la cronología bíblica? La cosa es que cuando leemos la bendición de Jacob a sus hijos, en la de Judá aparece esto:
Y por lo que busqué, en algunos casos se interpreta Siloh como una mención a Jesús. Obviamente marqué como insegura esta referencia. Por lo visto en la Biblia hay unos cuantos huevos de Pascua (y casi nunca mejor dicho) escondidos.

Por último me he preguntado con quiénes coaparecen los seres superiores. Resultados:

Dios
Ángeles
Espíritu Santo
Diablo

Seguir leyendo este post...

jueves, 2 de junio de 2016

Grafo sobre el Libro de Rut

Dije que iba a seguir hablando del grafo del Génesis y cómo Dios modifica las relaciones entre las personas, pero vamos a hacer un inciso para ver un pequeño grafo del Libro de Rut, el último en formar parte de la edición XML-TEI Bible. Después de los 50 cargadísimos capítulos del Génesis me apetecía algo ligerito. Los 4 capítulos de Rut han sido como esas tapas minimalistas que te ponen en algunos bares que te terminas antes de querer darte cuenta. Tenéis datos, archivo gephi y visualización en GitHub:


Es bastante interesante observar de nuevo el desarrollo de la historia representado en el grafo: arriba a la derecha aparecen las personas y grupos mencionados al comienzo del libro, mientras que el extremo inferior izquierdo son menciones del final del libro. De esta manera aparece la gradación entre personas moabitas hasta el pueblo de Israel. Y es que de eso va Rut basicamente: una mujer que pasa a ser judía por su relación con Noemí y Booz.

Un aspecto muy interesante es observar ese lazo que sale de Rut hacia la izquierda, a través de Tamar y Fares y que vuelve a ella por Obed (el hijo que tiene con Booz). Ese lazo representa exactamente un lazo familiar que se describe en relación a Rut desde el versículo 4:12 hasta el final del libro en 4:22. Los ancianos del pueblo de Israel comparan en 4:12 la familia de Rut con la de Fares, hijo de Judá (es decir, con los descendientes más importantes de Jacob). Y al final del capítulo se mencionan las generaciones que van de Fares a Rut:
Ese lazo parece bastante similar al que veíamos en Mateo. No solo en la forma, en ese también veíamos los nombres de Rut, Boaz, Tamar, Fares, Obed, Isaí, David... Conectados con Jesús:

Seguir leyendo este post...

viernes, 27 de mayo de 2016

Grafo de personajes del Génesis


Como comenté en mi anterior post, sigo editando en XML-TEI textos bíblicos y hace poco terminé Génesis. Así que he empezado a extraer y visualizar datos. Tenía muchísimo interés en visualizar el grafo entre personajes del Génesis, ya que está tan bien dividido en diferentes partes con principales protagonistas: Adán, Noé, Lot, Abraham, Isaac, Jacob, José...

Para este post los nodos son personas y grupos que encontramos en la ontología. Las relaciones están definidas como que las dos entidades aparecen en el mismo versículo, ya sea como mención, como entidad que comunica o como entidad a la que es comunicada y no he eliminado ninguna arista. Aunque he codificado también los lugares, en este post solo vamos a ver relaciones entre grupos y personas, y en concreto solo aquellos que pueden considerarse humanos, por lo que quedan fuera Dios, el Espíritu Santo, el diablo... Vamos a echarle un ojo muy por encima:

Veamos el grafo poco a poco (el original está aquí en SVG). Como vemos hay un conjunto principal de nodos abajo a la derecha y otro menor arriba a la izquierda. El núcleo superior congrega a casi todos las personas anteriores a Lot y Abraham, mientras que el núcleo principal engloba desde Lot y Abraham hasta José y sus descendientes. Veamos más de cerca el primer núcleo cronológico:
Si nos fijamos en la esquina superior izquierda, tenemos a la familia originaria: Adán, Eva y sus hijos. Caín está conectado con sus descendientes (que terminan con Lamec; hay otro Lamec, padre de Noé, pero obviamente no era el mismo), pero su línea no continúa. La semilla de Adán fluye por la rama de su tercer y menos conocido hijo: Set. Esta rama avanza pasando por Matusalén hasta Noé (no se le distingue claramente, pero ahí está). Este crea un conjunto de relaciones, entre ellas las de sus descendientes, quienes continuarán la rama familiar pasando por Canaán (no el lugar, sino el nieto de Noé, hijo de Cam). Esta rama va descendiendo hasta conectar con el núcleo principal del grafo, la conformada por los patriarcas Abraham, Isaac y Jacob y sus hijos:

Reconocemos rápidamente algunos nombres: Abraham, Esaú, Jacob, sus hijos, José... Si nos fijamos más, veremos otros nombres como Ismael, Labán, Isaac, Rubén, Judá... Y aquí ya podemos observar algo que quizás no es siempre claro: Isaac es mucho menos importante para la historia del Génesis que Abraham, Jacob o incluso José.

Una cosa muy interesante es observar qué ramas de la familia son apartadas y cuáles se mantienen en el tronco principal. Lo habíamos visto ya con Caín, y hay otros ejemplos alrededor de Noé. Pero en la última visualización queda claro de nuevo con los ejemplos de Ismael y Esaú. Incluso ambos aparecen hacia el mismo lado del grafo y es que Esaú acudió a Ismael para buscar esposa, por lo que hay relaciones entre ambas ramas.

Las relaciones familiares llegan a representarse en el grafo de tal manera que iincluso se reconocen entre los hijos de Jacob quiénes eran de la misma madre. Vemos a José y Benjamín (hijos de Raquel) en el extremo superior de la siguiente imagen; Gad y Aser (hijos de Zilpa) en la parte inferior; Dan y Neftalí (hijos de Bilha) en el lado izquierdo; y Judá, Rubén, Leví, Simeón, Zabulón e Isacar  (hijos de Lea) en el lado derecho (solo la olvidada Dina aparece apartada de sus hermanos, pero este personaje es tratado de manera totalmente diferente a sus hermanos).

Las relaciones familiares siguen su camino hacia los extremos con las diferentes tribus. El hecho de marcase las personas cuando se mencionaban de manera individual pero como tribu al señalarse de manera conjunta hace todavía más claro las relaciones entre patriarcas, descendientes y tribus:
Como vemos las relaciones familiares son desde luego uno de los principales aspectos que representan la coaparición por versículo, pero no todas. Por ejemplo José agrupa a su alrededor una serie de nodos cuya mayoría no son familiares (aunque algunos como Manasés o Efraín sí): el faraón, los egipcios, , Potifar, el jefe de la cárcel, el copero...

Otro ejemplo curioso de nodos que penden sin ser familia es la rama que pende hacia arriba desde Abraham, rama muy similar a las creadas por las tribus de Israel. En realidad el tal Bera es el rey de Sodoma, con el que Abraham se relaciona en el capítulo 14. El resto de nodos que penden de Bera son también reyes que guerrean entre ellos:
En algunos casos las relaciones entre personas en realidad señalan relaciones de grupo étnico (si es que se les puede llamar grupo étnico). Por ejemplo en la siguiente imagen encontramos a Het por encima de "descendientes de Abraham" y a Moab en la esquina izquierda inferior.  
Het en realidad es bisnieto de Noé. ¿Por qué entonces aparece tan cerca de Abraham? Porque la palabra Het se encuentra más frecuentemente dentro de la construcción hijos de Het, una denominación étnica especialmente frecuente en el capítulo 23, contemporáneo a Abraham. Algo similar ocurre con Moab, nombre que sirve de base para el grupo de los moabitas, quienes también aparecen en la anterior imagen. Esto me ha hecho pensar en la manera de definir las relaciones. Veamos el código XML-TEI:
Como vemos, Abraham y Het en realidad son elementos que penden en diferentes niveles. Abraham y los hijos de Het cuelgan del mismo elemento, mientras que Het cuelga de un elemento inferior (de sus hijos en concreto). Es decir, que si decidiésemos coger solamente los elementos que son hijos directos del versículo, quizás conseguiríamos relaciones más homogéneas.

De cualquier manera, lo que personalmente observo de manera clara es que la coaparición de referencias en el mismo versículo está en correlación con la relación familiar. También resulta llamativa la forma que tiene el grafo de manera conjuntan. Esperaba ver diferentes núcleos alrededor de los nombres como Adán, Noé, Abraham, Isaac, Jacob y José; y que esos núcleos no estuviesen lejos entre sí. Lo cierto es que hay un enorme núcleo desde Abraham a Jacob y sus hijos; Noé y Adán quedan ambos como núcleos menores conectados entre sí y con el resto del grafo de manera muy débil. Y es que las personas no hacen mención al pasado anterior a Abraham: Adán no vuelve a aparecer en todo el texto después del capítulo 5. Lo mismo ocurre con Noé desde el capítulo 10. ¿Sabían de ellos Abraham y sus descendientes?

Y la pregunta más importante de todas: ¿Y Dios? ¿Dónde queda? ¿Qué cambia si lo tenemos en cuenta en el grafo? Eso lo vemos en otro post, que este ya ha quedado suficientemente largo.

Seguir leyendo este post...

lunes, 4 de abril de 2016

XML-TEI Bible

En uno de los últimos posts comenté algunos aspectos de un pequeño proyecto que comencé hace algunos meses y del que me gustaría informar sobre importantes novedades. El proyecto pasa a llamarse XML-TEI Bible y es una codificación en XML-TEI de los textos de la Biblia. XML es un lenguaje de marcado (markup language) emparentado con el HTML que conocemos de la web. TEI es una variante muy utilizada en proyectos editoriales y filológicos dentro y fuera de las Humanidades Digitales. Con este lenguaje estoy marcando en los textos bíblicos la siguiente información por ahora:
  • Estructura básica de libros, capítulos, perícopas y versículos
  • Identificar unívocamente personas, grupos, lugares y momentos
  • Diálogo, incluyendo quién habla con quién cómo (escrito, hablado, oración)
El código tiene la siguiente pinta, por ejemplo en concreto el pasaje de Mateo 1:20-21:
¿Por qué hago esto? Porque no me he encontrado una versión TEI de la Biblia que tenga codificada información dentro de los versículos. Creo que la Biblia tiene un mensaje importante para cada persona. Poder estructurar el texto lentamente de esta manera me permite acceder a detalles que una lectura normal omite. Y una vez el trabajo está terminado con un libro (y unas pocas decenas de capítulos por libro no es tanto), permite ver tendencias que los versículos ocultan.

Porque una vez se tienen los datos estructurados en el texto, se pueden extraer aspectos concretos y visualizarlos mediante otras herramientas. Por ejemplo, ¿quién habla en el Apocalipsis?:

¿A quién se menciona en los diálogos del Evangelio de Juan?

¿Y quiénes aparecen mencionados en el mismo versículo en el Evangelio de Mateo?
Estos son solo un par de ejemplos sobre posibles visualizaciones, pero al estar los datos ahí, se pueden utilizar o visualizar de otras maneras.

Por ahora están completados los Evangelios de Mateo, Juan y Apocalipsis, y he comenzado hace algunos días con Génesis, tras lo cual quiero continuar dando saltos por la Biblia. Además he desarrollado algunos programitas y archivos para facilitar la preparación (python), la extracción (XSLT y python) y visualización (CSS) de los datos, amén de cierta documentación. Todo está publicado en GitHub:

Hasta ahora he trabajado con el texto en español, lengua en la que quiero seguir realizándolo, aunque también se puede desarrollar el proyecto parte o totalmente en otras lenguas si existe el interés de realizarlo.

El proyecto ha tenido tres importantes influencias:
  1. la primera persona que me trajo la idea de estructurar digitalmente el contenido bíblico fue Silvia Gutiérrez 
  2. Un proyecto absolutamente fascinante sobre la Biblia y las Humanidades Digitales es OpenBible, a quienes les agradezco su web, sus datos, sus ideas y su cercanía
  3. Y por último, este proyecto reutiliza muchísimo de lo que aprendo a diario en CLiGS, en la Universidad de Würzburg. De hecho le agradezco a mi colega Ulrike Henny su constante ayuda con XPath y XSLT
Quiero ser todo lo abierto que me dejen con el proyecto. No solo los datos están ahí, también estoy muy abierto a posibles colaboraciones tanto puntuales como a medio o largo plazo. Sería especialmente interesante que gente con más conocimientos que yo de teología, Biblia, historia, informática u otras lenguas (vivas o muertas) quisiesen colaborar. También estoy abierto a otras perspectivas o áreas que puedan enriquecer el proyecto.

Seguir leyendo este post...

sábado, 12 de marzo de 2016

Adán y Eva, la condenación y Cristo en el Olimpo, de Leipzig

Mi reciente visita a Leipzig con motivo de las DHd 2016 me ha dejado un hueco para poder visitar el Museum der bildenden Künste, en pleno centro de la ciudad. El museo tiene una exposición permanente de muy buena calidad, especialmente si te interesa el arte de finales del siglo XIX y comienzos del XX. Las entradas son muy asequibles y si eres estudiante es casi regalada. Así que si pasas por Leipzig debería ser uno de tus destinos.

Aquí comparto algunas de las obras que más me impresionaron:

Adam und Eva in paradiesischer Landschaft (Adán y Eva en paisaje paradisíaco), de Ludwig von Hofmann, 1893/97 

Die Verdammnis (La maldición), de Balthasar Permoser, c. 1725. 

Christus im Olymp (Cristo en el Olimpo), de Max Klinger, 1889–1897

Seguir leyendo este post...

lunes, 15 de febrero de 2016

XML-TEI del evangelio de Mateo

A principios de este año decidí invertir tiempo en desarrollar una idea que había comenzado hace algunos meses. He utilizado XML-TEI para codificar el evangelio de Mateo. La idea es poder acceder a textos bíblicos de una manera innovadora, como ya probé.

Principalmente he marcado las menciones a personas, lugares y grupos; también he marcado cuando alguien dice algo de manera directa, colocando atributos sobre quién lo ha dicho, de qué manera y a quién. El código actualmente tiene la siguiente pinta:



Estoy  desarrollando el código con un esquema para validarlo y voy desarrollando una ontología de personas de la Biblia según van apareciendo nuevos personajes. Lo estoy desarrollando en GitHub, donde quiero publicarlo en cuanto me quede claro cómo hacerlo correctamente.

He hecho algunas pruebas de visualizaciones con CSS sobre el texto y tengo otras tantas ideas que quiero implementar según vaya consiguiendo que XSLT se deje de quejar.

Por ejemplo, en la siguiente visualización se muestra el evangelio de Mateo, cada versículo como un cuadradito. Las superficies en azul son diálogos dicho por Jesús; los rojos son diálogos pronunciados por alguien diferente a Jesús:


Si los versículos no nos dejan ver el texto, al hacer cada versículo más pequeño conseguimos reconocer ciertos patrones. En primer lugar vemos como al principio y al final del evangelio Jesús tiende a no decir mucho. También se reconocen  ciertos monólogos bastante largos en los que Jesús habla de manera ininterrumpida. También se reconocen muchas secciones en las que alguien dice algo (normalmente en un único versículo) y posteriormente Jesús responde. Esas son todas esas secciones en las que Jesús es preguntado o acusado de algo y él responde o se defiende.

CSS también permite mezclar una lectura alejada y cercana del texto, ya que mediante las funciones hover, al pasar el cursor por un versículo, podemos agrandarlo para poder leerlo:
En fin, esto es solo un par de pruebas sobre posibilidades de visualizaciones a partir del texto codificado. Actualmente estoy viendo cómo continuar con el evangelio de Juan reutilizando lo ya obtenido en Mateo de la mejor manera. Iré postando novedades, ideas y dudas. Estoy buscando recursos e idea que reutilizar o que aplicar, así que estoy muy abierto a sugerencias, ideas y colaboraciones :)

Seguir leyendo este post...

domingo, 13 de diciembre de 2015

Comparación léxica de los programas electorales del 20D 2015

Todas las pruebas que he hecho hasta ahora con estilometría sobre los programas electorales daban información general sobre los programas electorales, pero no aportaban información sobre el contenido o los conceptos clave de los textos. Por eso en este caso voy a utilizar la función oppose de stylo. El objetivo de esta función es contraponer dos grupos de textos y rescatar aquellos términos léxicos que en un grupo están sobrerrepresentados y en el otro infrarrepresentados. Esta función está basada en el concepto de Burrow's Zeta. Siguiendo los resultados de nuestro anterior experimento sobre derecha (PP, PSOE y Ciudadanos_2015) e izquierda (IU, Podemos, UPyD y Cs_2008), en la siguiente imagen aparecen a la derecha las palabras preferidas por los partidos de la derecha  y los de la izquierda:


Encontramos que términos directamente relacionados con los partidos aparecen entre las palabras más frecuentes (socialistas, izquierda, iu...). Es lógico que estas palabras aparezcan frecuentemente en los programas del partido y no en los del contrincante. También es interesante ver que los partido de izquierda  proponen, mientras que los de derecha impulsan y promueven. Pero lo cierto es que los resultados son bastante complicados de interpertar: parece que la derecha utiliza más verbos en primera persona mientras que los de la izquierda utilizan más sustantivos. No sé interpretar eso ni en clave política ni en clave estilística. Así que decidí quedarme solamente con aquellas palabras cuyo contenido semántico es más fácil de descifrar: los sustantivos. Y para intentar eleminar el ruido que aporta el plural y el singular, he reunido ambos tipos de formas en el lema. Para realizar este paso he utilizado la herramienta Freeling y posteriormente limpié ciertos errores que la heramienta había cometido al analizar lingüísticamente los encabezamientos. Para el futuro sería positivo tener los programas en XML-TEI. ¿Alguien se anima a pedir un proyecto para hacer esto y publicarlo en abierto y Creative Commons :) ?

Es decir, que de los textos originales hemos borrado todas las categorías gramaticales que no fuesen nombres (propios o comunes) y además hemos eliminado la diferencia entre singular y plural. Sobre esta lista de sustantivos realicé un árbol de consenso desde las 1000 hasta las 5000 palabras más frecuentes. El resultado:

Como vemos el resultado es bastante similar al que vimos con los trigramas, aunque no idéntico:
  • PP y PSOE siguen en una rama
  • UPyD_2011 y 2015 tiene su propia rama independiente
  • El resto de partidos están en otra rama, aunque en esta hay diferencias: IU está organizado en una rama propia; Podemos, Ciudadanos y UPyD_2008 comparten rama
Estos cambios respecto a los anteriores resultados parecen señalar que IU y Podemos comparten una manera de expresarse similar y a su vez PP, PSOE y Cs_2015; pero si vamos a los conceptos (representados con los sustantivos), Podemos se desliga de IU y se acerca más a UPyD y Ciudadanos; y a su vez Ciudadanos deja de estar relacionado con PP y PSOE, también en su versión 2015. Parece que los sustantivos han conseguido separar relativamente bien a los partidos nuevos.

Pero volvamos a la comparación de sustantivos y veamos los resultados:


En este caso las diferencias son mucho más fácilmente apreciables. Recordemos que los sustantivos de la columna de la derecha son los que PP, PSOE y Cs_2015 prefieren utilizar; mientras que los sustantivos en la columna izquierda son los preferidos por IU, Podemos, UPyD y Cs_2008. Vamos a ir comentando algunos grupos de palabras (¡y prometo que he intentado ser equilibrado en este comentario!):
  • La izquierda utiliza derogación, supresión, limitación, revisión, prohibición. Es decir, sustantivos que señalan un cambio en cuanto a lo que se ha hecho hasta ahora
  • La derecha usa reto, respuesta, desafío,  modernización, caminio, senda, horizonte; palabras que señalan un problema actual y su resolución en el futuro
  • Además, frente a la ruptura de la izquierad, la derecha utiliza más conceptos que representan llegar juntos a acuerdos: diálogo, consenso, flexibilidad, cohesión, interlocutor, interconexión
  • La izquierda utiliza sustantivos que señalan aspectos negativos de la economía como precariedad, privatización, recorte, explotación
  • La derecha usa conceptos positivos, muchas veces relacionados con la economía: éxito, talento, potencial, confianza, fruto, eficacia, productividad, ventaja, vanguardia, crecimiento, motor, bienestar
  • La izquierda utiliza conceptos positivos relacionados con la democracia (o la denuncia de su falta): referéndum, censo, privilegio,  fraude, circunscripción, debate, democratización, regeneración, constitucional, ciudadanía
  • La derecha utiliza conceptos geográficos amplios, desde las Comunidades Autónomas hasta el ámbito internacional: comunidad, autónoma, internacionalización, globalización
  • La izquierda utiliza más conceptos desde el ámbito municipal hasta las comunidades autónomas: circunscripción, ayuntamiento, pueblo, Navarra
  • La izquierda habla de la iglesia católica y de la religión: iglesia, confesión, religión, laicismo, católica
  • La izquierda menciona a sus grupos clásicos de votantes, como son sindicatos, estudiantes y trabajadores agrarios; también menciona aspectos relacionados con las viviendas: casa, alquiler, sindicato, beca, agricultura
  • La derecha menciona a los autónomos: emprendimieneto 
Vamos que resumiendo:
  • La izquierda (IU, Podemos, UPyD) se destaca por hablar de cambio, de situación económica injusta, de renovación democrática, de ámbitos regionales pequeños, de religión y de algunos aspectos concretos de sus votantes
  • La derecha (PP, PSOE y Cs) se destaca por hablar de los retos del futuro, de los aspectos positivos de la economía, de abordar problemas de manera dialogada, de aspectos regionales amplios y de autonómos
Ustedes me dirán que para saber esto se podían haber ido a la página de Wikipedia sobre derechas e izquierdas y yo no tendría ni que haber hecho este experimento ni haber escrito este post, porque lo que señalo es una obviedad detrás de la otra. Cierto... en parte. El hecho de que nos encontremos cosas obvias hace que atestigue que el eje derecha e izquierda sigue siendo válido: si no lo fuese, estaríamos ante un conjunto rándom de sustantivos. En segundo lugar, esto da legitimidad a utilizar Burrow's Zeta a programas electorales (cosa que hasta donde yo sé, no se hace por ahora).

Pero no todo es del todo obvio: esperaba que los partidos de derecha hablasen más sobre inversión, beneficios, impuestos, pensiones... Y no parece. Tampoco me parece del todo obvio que la derecha se muestre tan dialogante y flexible si tenemos en mente como se han comportado con Cataluña, por mencionar un caso. Ni es obligatoriamente un clásico de la izquierda exigir más democracia, pero en la comparación queda bastante claro que la izquierda española lo reclama. El resultado tampoco muestra que ambas ramas se distingan principalmente por otros aspectos como feminismo, corrupción, ecología, cultura, educación, monarquía...

Desde luego este experimento no es definitivo: hay mucho que mejorar en el formato de entrada de los textos, la lematización y la interacción del formato de salida de Freeling y cómo lo interpreta el tokenizador de stylo. Como en los casos anteriores, espero que el experimento pueda aportar algo interesante, pueda aportar una nueva manera de mirar los programas electorales y quizás anime a hacer más experimentos sobre los textos.

Seguir leyendo este post...

sábado, 12 de diciembre de 2015

Machine learning con programas electorales: ¿qué partidos son de izquierda y derecha?

En el anterior post he probado unsupervised machine learning para organizar (cluster) los programas políticos. Para ello al programa solo le dábamos los textos, no le aportábamos más información sobre si algunos partidos eran de derechas o de izquierdas. Esa falta de información es lo que hace que el método sea unsupervised. En este post voy a hacer lo contrario.

Supervised machine learning

Supervised machine learning  se utiliza cuando tenemos un conjunto de elementos que estamos seguros que pertenecen a una clase concreta. El programa aprende (por eso se llama machine learning) qué características son propias a esas clases; posteriormente se le pide al programa que aplique ese conocimiento a otros nuevos elementos.

¿Muy abstracto? Vamos a por un ejemplo sobre autoría literaria: escogemos un grupo de textos de dos autores cuya autoría está clara. Hacemos que el programa aprenda qué rasgos distinguen los textos de un autor y los textos del otro. Una vez realizado, le entregamos al programa otro texto cuyo autor creemos que es uno de los dos analizados y vemos qué nos responde. 

Supervised Machine learning con programas políticos


Vamos a aplicar el mismo método a programas políticos; y en vez de buscar a un autor, vamos a preguntarnos por la orientación ideológica de cada programa. El eje tradicional de la política izquierda-derecha ha sido puesto en duda tanto por los votantes (PSOE, PP, la misma mierda es) como por los nuevos partidos como Ciudadanos, UPyD o Podemos. ¿Pero realmente ya no podemos ordenar a los partidos en ese eje?

Creo que tanto los partidos como los votantes están de acuerdo en que el PP es de derechas y que IU es de izquierdas, ¿cierto? A nadie se le caen los anillos por decir eso. Es decir, tenemos elementos cuya clase no está discutida. Pues esos partidos van a representar el conjunto de datos de los que nuestro programa va a aprender qué rasgos son típicos de izquierdas y de derechas.

Los rasgos sobre los que lo va a aprender son desde las 1000 hasta las 5000 palabras más frecuentes, de nuevo voy a implementarlo con stylo, mediante la función classify y he utilizado Support Vector Machines .

Comprobando el método


Antes de aplicar ese conocimiento a los otros partidos, vamos a hacer una prueba para ver si el programa hace el trabajo de manera aceptable. Vamos a darle los programas de UP y del PP 2015 (programas que no formaban el conjunto de datos de los que ha aprendido) para ver si los clasifica correctamente. El resultado es el siguiente:

1000 MFW , culled @ 0%,  2 of 2    (100%)
2000 MFW , culled @ 0%,  2 of 2    (100%)
3000 MFW , culled @ 0%,  2 of 2    (100%)
4000 MFW , culled @ 0%,  2 of 2    (100%)
5000 MFW , culled @ 0%,  2 of 2    (100%)

¿Qué significa esto? Pues que tanto en las 5 pruebas desde las 1000 hasta las 5000 palabras, tanto el programa de UP como el de PP han sido reconocidos correctamente como izquierda y derecha. Es decir, hay un acierto de 2 de 2, 100%.

(Sé que probarlo con dos programas de los mismos partidos no sería suficiente para demostrar que el experimento funciona de manera totalmente científica, pero creo que es una aproximación válida si queremos poder publicar algo antes de las elecciones.)

Resultados con 1000 palabras más frecuentes

Ahora que  ya tenemos algún dato de que el programa ha hecho  bien 2 tareas, vamos a ponerlo a prueba con los programas de los otros partidos. ¿A qué partido pondrá en la izquierda? ¿A cuál en la derecha? Los resultados son los siguientes, según las 1000 palabras más frecuentes:

CS_2008_Generales     -->     izquierda
CS_2015_Generales     -->     izquierda
Podemos_2015_Generales     -->     izquierda
PSOE_2004_Generales     -->     izquierda
PSOE_2008_Generales     -->     derecha
PSOE_2011_Generales     -->     derecha
PSOE_2015_Generales     -->     izquierda
UPyD_2008_Generales     -->     izquierda
UPyD_2011_Generales     -->     izquierda
UPyD_2015_Generales     -->     izquierda

1000 MFW , culled @ 0%,  2 of 2    (100%)

Por ahora el programa solo localiza los programas del PSOE_2008 y 2011 en la derecha. Hay que tener en cuenta que de los cuatro programas electorales del PSOE presentes en este análisis, los de 2008 y los 2011 son los que el PSOE escribió desde el gobierno, los de 2004 y los de 2015 desde la oposición. O sea, que con las 1000 palabras más frecuentes, el programa localiza al PSOE como derecha cuando gobierna. Al resto de partidos en la izquierda.

Resultados hasta 5000 palabras más frecuentes

Vamos a ver ahora qué pasa si hacemos los mismos análisis hasta las 5000 palabras más frecuentes:

CS_2008_Generales     -->     izquierda
CS_2015_Generales     -->     izquierda
Podemos_2015_Generales     -->     izquierda
PSOE_2004_Generales     -->     izquierda
PSOE_2008_Generales     -->     derecha
PSOE_2011_Generales     -->     derecha
PSOE_2015_Generales     -->     izquierda
UPyD_2008_Generales     -->     izquierda
UPyD_2011_Generales     -->     izquierda
UPyD_2015_Generales     -->     izquierda

2000 MFW , culled @ 0%,  2 of 2    (100%)



CS_2008_Generales     -->     izquierda
CS_2015_Generales     -->     izquierda
Podemos_2015_Generales     -->     izquierda
PSOE_2004_Generales     -->     izquierda
PSOE_2008_Generales     -->     derecha
PSOE_2011_Generales     -->     derecha
PSOE_2015_Generales     -->     izquierda
UPyD_2008_Generales     -->     izquierda
UPyD_2011_Generales     -->     izquierda
UPyD_2015_Generales     -->     izquierda

3000 MFW , culled @ 0%,  2 of 2    (100%)



CS_2008_Generales     -->     izquierda
CS_2015_Generales     -->     izquierda
Podemos_2015_Generales     -->     izquierda
PSOE_2004_Generales     -->     derecha
PSOE_2008_Generales     -->     derecha
PSOE_2011_Generales     -->     derecha
PSOE_2015_Generales     -->     izquierda
UPyD_2008_Generales     -->     izquierda
UPyD_2011_Generales     -->     izquierda
UPyD_2015_Generales     -->     izquierda

4000 MFW , culled @ 0%,  2 of 2    (100%)



CS_2008_Generales     -->     izquierda
CS_2015_Generales     -->     derecha
Podemos_2015_Generales     -->     izquierda
PSOE_2004_Generales     -->     derecha
PSOE_2008_Generales     -->     derecha
PSOE_2011_Generales     -->     derecha
PSOE_2015_Generales     -->     derecha
UPyD_2008_Generales     -->     izquierda
UPyD_2011_Generales     -->     izquierda
UPyD_2015_Generales     -->     izquierda

5000 MFW , culled @ 0%,  2 of 2    (100%)

General attributive success:  10 of 10 (100%)

Como vemos, algunos programas han ido pasando de la izquierda a la derecha según ampliábamos la cantidad de palabras por analizar. Vemos algo que ya habíamos visto en el post anterior: en primer lugar, el PSOE pasa a ser considerado siempre de derechas, da igual si en la oposición o en el gobierno. En segundo lugar, Ciudadanos_2015 pasa también a ser parte de la derecha.

Interpretación

En primer lugar hay que señalar que el método ha sabido no solo detectar correctamente la tendencia política de los programas actuales del PP y de UP, sino que también ha sabido ordenar correctamente a Podemos, cuya orientación política es clara. En segundo lugar, el método llega a conclusiones similares a opiniones muy extendidas y que encajan con opiniones extendidas:
  • UPyD es de izquierda
  • Ciudadanos era de izquierda, hoy en día es de derechas
  • El PSOE ha abandonado la izquierda; es obvio cuando está en el gobierno, hay que ir más al fondo del programa cuando están en la oposición
En tercer lugar, el método consigue llegar a diferenciaciones más sutiles según recoge más palabras. Parece que según más cantidad de programa electoral tiene en cuenta, mejor sabe calar a los partidos.

Seguir leyendo este post...

viernes, 11 de diciembre de 2015

Estilometría políticas: elecciones generales 2004-2015

Como os podíais imaginar no iba a dejar pasar estas elecciones sin hacer algunas pruebas estilométricas sobre los programas electorales. ¡Vamos allá!

¿Qué es esto de la estilometría?

Como he comentado en otros posts en elecciones anteriores, la estilometría es el estudio de la frecuencia de palabras en textos con el objetivo de encontrar similitudes entre ellos. Principalmente se ha utilizado para investigar autoría literaria, aunque también se ha aplicado para estudiar las diferencias de estilos entre hombres y mujeres, la época que fue escrito o el género literario. La idea general es que los textos que pertenecen a un clase común (textos de tal autor, textos de tal género) comparten ciertas características léxicas que pueden observarse estadísticamente. Estas similitudes son encontradas y visualizadas mediante diferentes métodos de unsupervised machine learning.

¿Por qué estilometría en programas políticos?

Los programas políticos son textos fácilmente comparables ya que comparten características concretas con valores muy claros: un programa político es de un partido, de un año y para un  ámbito (generales, europeas...). Después de unas pocas pruebas se observa que los textos aparecen organizados por partidos políticos, pero que también se observa información sobre tendencia política, temporal e incluso de líder político.

Método


En este caso he utilizado trigramas, es decir unidades del tipo "las comunidades autónomas", "común para españa", "acceso a la", "a través de"... Es decir, fragmentos de tres (tri+) palabras (+gramas). La idea detrás de utilizar trigramas en vez de palabras únicas (o unigramas), es que con los trigramas se recogen además de aspectos léxicos, ciertos aspectos sintácticos.

Lo he implementado con stylo (of course) y he utilizado una medida de distancia muy utilizada en las Humanidades Digitales llamada Delta, propuesta por Burrow pero en la versión de Maciej Eder ya que hay estudios que señalan  que esta funciona mejor para lenguas flexionantes como el español. Los datos los visualizo a través de un dendograma, es decir, una estructura que imita un estructura de árbol. La distancia en el eje horizontal señala la similitud del estilo entre los textos. Veamos los resultados utilizando los 1000 trigramas más frecuentes

Resultados: dendogramas


Antes de pasar hablar de los resultados, asegurémonos de todos estamos interpretando la imagen de la misma manera; vamos a observar solo los resultados del PP y del PSOE. Como vemos, los textos del PSOE aparecen organizado; el PSOE_2011 y el PSOE_2008 serían textos muy similares entre sí; el siguiente más similar a estos dos es el PSOE_2015; y el siguiente más similar a estos tres es el PSOE_2004. Hasta aquí de acuerdo, ¿verdad? Si seguimos la dirección de la rama hacia la izquierda veremos que los textos más similares a los del PSOE son los del PP_2015 y PP_2008. El siguiente más similar a estos 6 es el PP_2004; el siguiente más similar a estos 7 es el PP_2011.


Si echamos un vistazo al árbol en su conjunto, veremos que hay dos grandes ramas: una con el PP y el PSOE; la otra con el resto de partidos (UPyD y Ciudadanos más juntitos; IU y Podemos arrimados). Por ahora no hay resultados demasiado extraños como que Ciudadanos, IU y PP forman una rama, ¿verdad?

Pero ¿qué pasa esi en vez de utilizar los 1000 trigramas más frecuentes utilizados los 5000? Pues:

Como vemos la imagen ha cambiado bastante; UPyD_2015 y 2011 ahora forman su propia rama exiliada; los textos del PP ahora forman un grupo más homogéneo y ¡Ciudadanos_2015 se mete entre el PSOE (y el PP)!

¿Qué resultados elegimos: el de los 1000 trigramas o el de los 5000?

Más resultados: árbol de consenso


Una manera de resolver este problema es combinar los resultados en un árbol de consenso que refleje diferentes dendogramas. La siguiente imagen es un árbol de consenso que recoge 5 dendogramas diferentes, desde los 1000 hasta los 5000 trigramas más frecuentes:


Aquí el punto de mayor división no está a la izquierda como hasta ahora habíamos visto. En el árbol de consenso se encuentra en el centro. Y del centro de este arbolito salen tres ramas:
  1. UPyD_2011 y 2015
  2. PP, PSOE y CS_2015
  3. IU-UP, Podemos, Cs_2008 y UPyD_2008
Dentro de esas grandes ramas, observamos que el método tiende a agrupar de manera bastante correcta los textos de los partidos. Y dentro de las ramas por partidos (en las divisiones más sutiles) observamos que el método tiende a agrupar los textos por cercanía cronológica. En fin, que el método, sin saber nada de política, ni de español, ni de historia, ha sabido distinguir bastante bien tendencias políticas, partidos y años. ¿Qué más pedirle?

Interpretación


Vale José, el método es la pera, pero ¿qué aporta esto de manera práctica? Pues creo que otra mirada sobre los programas y los partidos. Está habiendo mucha discusión sobre el grado de renovación del PSOE, si Ciudadanos es de centro derecha o de centro izquierda, si Podemos se está moderando... Creo que estos resultados pueden aportar algo más de luz desde un sitio que ni los partidos ni los medios controlan. Personalmente estos resultados me hacen pensar varias cosas:
  • Hay una rama izquierda-centro izquierda donde está IU, Podemos y donde estaban Cuidadanos y UPyD
  • Hay una rama tradicional donde se encuentran el PSOE, el PP y Ciudadanos
Por partidos, observo:
  • PP: el partido con menos variación. Conservadores en el estilo y en la política
  • PSOE: a diferencia de los análisis realizados en las europeas, es un partido más cercano al PP que la izquierda; la marcha de Zapatero y la llegada de Sánchez no ha traído ningún cambio notable
  • IU-UP: Garzón parece haber modificado el discurso de su partido y de hecho ahora aparece más relacionado con nuestro siguiente partido
  • Podemos: es difícil saber si se ha moderado, pero desde luego el texto más similar al de Podemos es el de IU
  • Ciudadanos: un caso interesante ya que en 2011 no se presentó. Ciudadanos ha pasado del centro izquierda en el que estaba en 2008 al centro derecha en 2015. Nada sorprendente, según la percepción de los electores y su reciente afiliación europea al Partido Liberal
  • UPyD: en 2008 UPyD tenía un discurso de centro izquierda muy similar a Ciudadanos. Posteriormente encontró una manera radicalmente diferente de expresarse que ha mantenido en estas elecciones. Un caso muy interesante para mayor estudio, lástima que le queden dos telediarios
Hasta aquí mis análisis y mis interpretaciones. Si la idea os atrae pero mi manera no os convence, descarga stylo, los programas electorales y déjame un comentario para que comparemos resultados ;)

Actualización

Los mismos datos hasta ahora comentados los he convertido en una tabla de relaciones de tipo grafo y lo he visualizao a través de Gephi. Es decir, la siguiente imagen se basa en los mismos datos que el anterior árbol de consenso; la diferencia es que en el árbol de consenso aparecían solamente señalada la relación de un texto con otro(s) texto(s) más cercano. En el árbol de consenso no veíamos por ejempo si algún programa electoral de IU tenía alguna relación (por ínfima que fuese) con el PSOE. La siguiete imagen sí reproduce esas relaciones de caracter terciario:


 Anexo: enlaces a los programas electorales:

  • https://www.ciudadanos-cs.org/nuestras-ideas
  • http://unpaiscontigo.es/wp-content/uploads/2015/12/Programa-Elecciones-Generales-Podemos-2015.pdf
  • www.psoe.es/media-content/2015/11/PSOE_Programa_Electoral_2015.pdf
  • http://www.pp.es/sites/default/files/documentos/programa_electoral_20d.pdf
  • http://www.unidadpopularvalladolid.org/component/jdownloads/send/6-programa/66-porgrama-unidad-popular
  • http://www.eaj-pnv.eus/adjuntos/pnvDocumentos/17970_archivo.pdf
  • upyd2015.es/wp-content/uploads/2015/12/Programa_UPYD_Elecciones_Generales_2015.pdf

Seguir leyendo este post...

sábado, 23 de mayo de 2015

Más estilometría sobre programas autonómicos españoles 2015

Después de que la semana pasada publicase algunos resultados sobre comparaciones textuales estilométricas sobre los programas electorales de la Comunidad de Madrid, decidí seguir por el mismo camino. En vez de 10 programas de una sola comunidad, decidí ampliar a 50 de 7 comunidades autónomas más los programas marcos. No he podido conseguir todos los programas: algunos son imposibles de encontrar, algunos no he podido descargarlos (por ejemplo Ciudadanos en Asturias). Las comunidades autónomas son:
  • Andalucía
  • Aragón
  • Asturias
  • Castilla la Mancha
  • Navarra
  • Madrid
  • Valencia
En este caso he realizado de nuevo un consensus tree y con esos mismos datos una visualización de tipo network analysis.

El resultado del consensus tree es:
Observamos:
  • Con excepción de un par de textos (PP y PSOE), los partidos quedan separados en dos grandes ramas
  • Dentro de esas ramas, los partidos tienden a agruparse de manera bastante clara en subramas, aunque no hay correspondencia perfecta
Si interpretamos algunos aspectos (habría muchísimo más que decir) estos datos, podremos decir que:
  • Hay dos ramas principales de la política: una que agrupa la mayor parte de programas electorales de centro-derecha y derecha (principalmente PP, UPyD y Cs); la otra agrupa a los partido de centro-izquierda e izquierda (principalmente IU, PSOE y Podemos)
  • Los partidos que solo están representados por un programa programa (Foro, Compromís, UPN, Bildu, Partido Andalucista) quedan bien representandos ideológicamente.
  • Los programas marcos muestran resultados extraños. Quizás esto se deba a que no son las formaciones autonómicas quienes los realizan, sino sus direcciones nacionales
  • Con más datos, UPyD deja de tener resultados tan anómalos: aparecen emparentados con Cs y de manera más lejana con el resto de partidos de la derecha
Si observamos el network analysis vemos resultados algo similares

Si interpretamos los resultados generales, observamos:
  • De nuevo vemos que se refleja la clásica división derecha-izquierda (más esperable que la obtenida en la CA de Madrid)
  • Aunque ambas representaciones están basadas en los mismos datos, aquí se visualiza mejor la cercanía y relación entre PSOE y PP. De hecho en esta visualización Cs y PSOE aparecen casi en el mismo eje horizontal
  • UPyD vuelve a mostrar resultados algo sorprendentes: en esta imagen aparece más cercano a partidos de izquierda, principalmente IU
  • Foro y UPN aparecen perfectamente integrados entre los textos del PP
  • Bildu y Compromis aparecen integrados entre los programas de IU
  • Podemos forma un grupo bastante homogeneo de textos (ya se observaba en el consensus tree)
Algunos datos generales que me han llamado la atención:
  • PSOE - Castilla la Mancha aparece como programa netamente de derechas
  • El marco del PP aparece entre los programas del PSOE
  • Cs Madrid es el programa más a la derecha de ese partido, integrado entre los programas del PP
  • PSOE Valencia y IU Aragón son los dos textos que más relaciones comparten con otros (qué significa esto es algo a lo que no puedo responder)
  • Los programas de Podemos Valencia y PSOE Valencia están fuertemente relacionados
  • El programa de Cs Castilla la Mancha tiene mayor relación con los textos de UPyD que con los de Cs
  • UPyD Asturias aparece sorprendentemente cerca a Foro

Seguir leyendo este post...

domingo, 17 de mayo de 2015

Estilometría: comparación de los programas electorales de CA Madrid 2015

En una semana habrá elecciones municipales y autonómicas, entre ellas en la Comunidad de Madrid. De la misma manera que realicé varios análisis estilométricos con los programas políticos de Andalucía, he recogido algunos programas políticos autonómicos de los partidos que se presentan en estas elecciones autonómicas madrileñas y he realizado algunas pruebas de comparación cuantitativa de textos entre ellos. En concreto de los partidos madrileños (con los candidatos a las elecciones de la semana que viene entre paréntesis):
  • Ciudadanos (Cs) (Ignacio Aguado)
  • IU (Luis García Montero)
  • Podemos (José Manuel López)
  • PP (Cristina Cifuentes)
  • PSOE (Ángel Gabilondo)
  • UPyD (Ramón Marcos)
Además, para el análisis resulte más consistente, he recogido los programas electorales de aquellos partidos que se presentaron en 2011. Me hubiese gustado utilizar también el de 2007, pero me ha resultado imposible encontrar los programas políticos (y eso que en ese año solo había tres partidos con representación en la Comunidad de Madrid...). Hay que recordar que durante el post hablaré de partidos, aunque en realidad hay que entender que me refiero a los textos de los programas electorales de esas formaciones en dos citas electorales. Agradezco a Miguel Ortega la ayuda para conseguir algunos programas políticos. Y reconozco la inspiración de los artículos de Regional Manifestos Project en eldiario.es.

Para quien necesite una introducción a esto de la estilometría y los tratamientos cuantitativos de textos, sugiero la guía a Humanidades Digitales, la específica sobre literatura, Macroanalysis de Jockers (2013) o Graphs, maps, trees de Moretti (2005). La política no es mi campo de conocimiento, sino la filología. Estaría encantado de colaborar con politólogos o periodistas para profundizar de manera conjunta en este ámbito.

Para este análisis he vuelto a trabajar con la estupenda herramienta stylo para realizar el análisis. En este caso he preferido utilizar todas las unidades que stylo permite analizar (las 5000 más frecuentes), para no tener que tomar ninguna decisión.

Cluster analysis

En primer lugar he realizado un cluster analysis, es decir, le pedimos al programa que vaya agrupando todos los textos según las 5000 palabras (tokens en realidad, aunque para que sea más comprensible utilizaré en el post palabras) más frecuentes:

(Nota sobre los colores: no los elijo yo, es aleatorio; sé que ver el PSOE como amarillo o Podemos de azul no es lo más intuitivo, qué se le va a hacer...)

Resultados:
  • Los programas electorales aparecen dividas en dos grandes ramas: en una PP y Cs; en la otra el resto de partidos.
  • Podríamos interpretar, claro, ambas ramas como derecha e izquierda
  • Los partidos quedan identificados casi perfectamente; solo un único caso cambia: el IU de 2011 es más similar a Podemos que a IU de 2015. En mi opinión, revelador.
  • Los partidos parecen graduados ideológicamente; los más a la izquierda son IU y Podemos, después vendría PSOE, posteriormente UPyD. Cs representa una derecha menos radical que el PP.

Consensus tree

Además del cluster analysis, he realizado también un consensus tree de los cluster analysis desde las 100 palabras más frecuentes hasta las 5000, incrementando cada vez 100 palabras. Es decir, un montón de cluster analysis hechos a la vez (por eso se llama consensus), mostrados en representación arbórea (por eso se llama tree). Este análisis es más robusto que el anterior:

El resultado son tres ramas principales, ocupadas por:
  1. PP y Cs
  2. UPyD
  3. PSOE, IU y Podemos
Es decir, que el consensus tree aparta a UPyD del resto de partidos de la izquierda. Las otras relaciones se mantiene: gradación ideológica, acierto de partidos, excepción de IU2011 y Podemos.

Si interpretamos estos resultados de manera ideológica, señalaríamos que:
  • PP y Cs son de derecha
  • IU, Podemos y PSOE de izquierda
  • UPyD se desmarca de ambos, probablemente localizándose en el centro

Principal Component Analysis

Pero esto no es lo único que podemos hacer con la estilometría y stylo, uno de los tipos de análisis más utilizados es el llamado Principal Component Analysis o PCA. Para quien quiera saber más, recomiendo el libro de Jackson, A user's guide to principal components (2003). De manera muy reducida y simplista, este análisis entiende cada palabra como una dimensión diferente; cada texto recibe un valor para cada dimensión, por lo que cada texto termina definido por valores de 5000 dimensiones (que son las palabras con las que nosotros hemos decidido trabajar, eligiendo las más frecuentes). Para posibilitar una visualización, el análisis rota esas dimensiones en dos principal components que terminan representados en clásicas coordenadas cartesianas. Lo interesante de este resultado es que se consigue visualizar una cantidad enorme de información; la desventaja es que esa rotación pierde información. Vamos a ver un ejemplo:

 
Como vemos, los programas electorales son puntos en coordenadas cartesianas. Es importante tener en cuenta que el eje de x (el horizontal) tiene un valor de 28,2%, frente a la y (o vertical) que tiene un 18,6%. ¿Qué quiere decir eso en cristiano? Que las diferencias que vemos en la horizontal son más importantes que las que vemos en la vertical.

¿Y qué vemos en este PCA?
  • PP y Cs se localizan muy cercanos, de nuevo
  • PSOE, IU y Podemos son muy cercanos
  • UPyD está aislado
Es decir, observamos resultados muy similares a los que el consensus tree nos señalaba. Aunque UPyD y PP-Cs aparecen alineados en la vertical (los tres partidos están entre valores de -1 y -0,5 de la x), en la horizontal sus valores son radicalmente diferentes: PP-Cs están entre -1 y -2, UPyD está entre 1 y 2.

Otro aspecto que hay que tener en cuenta es que aunque PP y PSOE parecen muy separados, en el valor x tienen valores casi idénticos, principalmente en el año 2011: ambos están en -1. En los programas electorales de este año la diferencia ha aumentado: el PP se ha ido al extremo, mientras que el PSOE se ha acercado a IU y Podemos.

En general este análisis resulta muy interesante ya que parece mostrar que el principal component 1 diferencia a los partidos en cuatro grupos:
  1. PP 2015
  2. PP 2011, Cs y PSOE
  3. IU y Podemos
  4. UPyD
Mientras que el  principal component 2 separa los partidos en dos grupos:
  1. UPyD, Cs y PP
  2. PSOE, IU y Podemos
Si interpretamos el PC1, diría que nos muestra la diferencia izquierda-derecha, aunque UPyD en ese caso aparece como extrema izquierda, algo que es difícil de tragar. Pero el PC2 parece indicar claramente centralismo vs. no-centralismo. Esperaría esos resultados en los programas autonómicos de Cataluña o País Vasco (entre otras comunidades), no en el de la Comunidad de Madrid.

Network analysis

Por último, realicé un Network analysis utilizando los datos del consensus tree. De esta manera conseguimos la robustez del consensus tree, pero nos permite visualizar las relaciones entre cualquiera de los textos entre ellos. Cada texto es un nodo y los nodos tienen relaciones entre ellos; cuanto más ancha sea la línea que los une, más intensa es la relación.
En este caso, claro, los colores no son aleatorios, Gephi me ha permitido elegirlos. Probablemente esta visualización es una de las más completas e intuitivas de todas las vistas hasta ahora.

Algunos datos generales de la visualización:
  • Las relaciones internas entre los programas de un partido son las más fuertes (con una excepción)
  • Los partidos parecen diferenciarse en un eje ideológico derecha-izquierda
  • Si eso fuese así, UPyD quedaría como un partido de extrema izquierda
Analizando las relaciones por partidos, observamos:
  • PP: No cambia apenas entre 2011 y 2015; sus mayores relaciones son con el PSOE2011 y con Cs
  • PSOE: En el 2011 aparecía localizado como partido de la derecha, mientras que el texto de 2015 mantiene relaciones intensas con Podemos y también (aunque menos) con IU
  • Cs: Sus principales relaciones son en primer lugar con el PSOE y en segundo lugar con el PP
  • IU: Es el único partido cuyas relaciones internas no son las más intensas: IU2011 tiene mayor relación con Podemos que con IU2015. Mantiene importantes relaciones con PSOE y UPyD
  • Podemos: parece el heredero de IU2011; tiene importantes relaciones con el PSOE, ligeras con UPyD y Cs y nulas con PP
  • UPyD: Está en las antípodas del PP. Tiene cierta relación con Podemos pero principalmente con IU2011

Conclusiones

Después de tantos dibujitos con colores y de tantos números, vamos a intentar sacar algunas cosas en claro. De nuevo, en las conclusiones hablo de partidos, y en realidad debería hablar de textos. Permitidme la metonimia:
  1. La estilometría tiene mucho que decir y que analizar sobre los programas políticos
  2. Los diferentes análisis realizados (cluster analysis, consensus tree, PCA y Network analysis) muestran resultados bastante similares, aunque con algunos matices
  3. Aunque es fácilmente observable cierta relación entre espacio ideológico (derecha vs. izquierda) en las representaciones, no parece que sea solo eso lo que vemos, a menos que se acepte que UPyD Madrid es de extrema izquierda (cosa que ni UPyD aceptaría, ni tampoco la extrema izquierda)
  4. La principal diferencia entre partidos sigue siendo derecha-izquierda (frente a otros posibles ejes como nuevo-viejo o gobierno-oposición)
  5. El eje centralista-no centralista también divide los partidos en la política madrileña
  6. Cs de Madrid y PP constituyen la derecha política, siendo Cs más moderado que el PP. El PP se ha ido más a la derecha que en las anteriores elecciones
  7. Podemos, IU y PSOE hoy en día se agrupan en la izquierda
  8. El PSOE de Madrid era muy cercano al PP en 2011, pero en estas elecciones se ha acercado a Podemos e IU
  9. La principal relación de IU Madrid 2011 no es con IU Madrid 2015, sino con Podemos. ¿Podemos entender Podemos como un heredero textual de IU?
  10. UPyD Madrid es un partido raro. No parece tan relacionado con Cs como podría pensarse. En cierta manera está relacionado con la izquierda, en cierta manera con la derecha, en cierta manera está aislado. Es una lástima que sea dudoso que se mantengan mucho tiempo. Es posible que estos resultados extraños se deban a un error sistemático en los textos
  11. Los resultados difieren algo de los que publiqué sobre las elecciones andaluces (de nuevo, UPyD) y difieren también de las pruebas que he hecho y que aún no he publicado con los programas a las elecciones europeas y nacionales de las últimas décadas
  12. Es decir, hay que seguir trabajando e investigando para tener resultados más sólidos. Con este post me gustaría invitar a politólogos y periodistas a colaborar

Seguir leyendo este post...

LinkWithin

Related Posts with Thumbnails