lunes, 12 de diciembre de 2016

Grafos sobre Éxodo: grupos y subgrupos

El proyecto XML-TEI Bible continúa editando libros bíblicos y extrayendo algunos datos en formas de visualizaciones varias. El último libro en editarse ha sido Éxodo, del que he creado un grafo según las coocurrencias de personas y grupos en los versículos. El resultado mostraba agrupaciones interesantes que he tratado de señalar mediante colores del fondo en la siguiente imagen:

Veámoslo en detalle:
  • El área violeta superior contiene la tribu de Leví y todos sus descendientes, incluida las familias de Moisés y Aarón.
  • El área naranja de la derecha contiene personas egipcias o directamente relacionadas con Egipto: faraones, egipcios, esclavos, hija de Farón... Moisés y los hebreos podrían considerarse que están en esta zona.
  • La zona inferior derecha de color amarilla son grupos varios que ni son egipcios ni hebreos (con la excepción de María, hermana de Aarón)
  • El resto de grupos son grupos hebreos varios. Los he agrupado en 5 áreas, todas con tonos azules:
    • Inferior: tribu de Dan y otras referencias a cabezas de tribus
    • Inferior izquierda: tribu de Simeón
    • Inferior  izquierda central: tribu de Judá
    • Superior izquierda: tribu de Rubén
    • Superior izquierda central: patriarcas
He probado a hacer un clustering automático en Gephi para ver si los resultados eran los mismos y la respuesta es: no. Algunos tribus o los egipcios sí solían encontrarse en un cluster, pero la tribu de Leví quedaba divida en varias ramas, algunas de ellas unidas con otras partes de las tribus. De todas maneras el clustering de personajes de textos es algo bastante nuevo que todavía no ha sido evaluado en relación a metadatos y ground truth: es terreno por sembrar.

El grafo también permite observar claramente que Éxodo va principalmente de estos elementos: Moisés, Dios, Israel y el Faraón. Y posteriormente, Éxodo va sobre la relación que debe haber entre Israel y otros grupos sociales: se crean las instituciones de los sacerdotes y jueces hebreos, se escapa de los egipcios, se definen los grupos enemigos, se rechaza alabar otros dioses, aparecen leyes que protegen a los pobres... A diferencia del Génesis, donde el protagonismo lo tenían personas, en Éxodo son grupos sociales quienes absorben ese protagonismo.

Algo que comparten ambos libros es la cercanía de personas según su parentesco, algo que ya comenté sobre Génesis. ¿Podría exportarse a otros textos para intentar ver relaciones familiares?

Seguir leyendo este post...

jueves, 23 de junio de 2016

¿Es Unidos Podemos más Unidos o más Podemos? Clasificación y aprendizaje automático de programas electorales

Llevo dos posts sobre estilometría de las elecciones generales españolas del 26 de junio de 2016. En el primero realicé varios clusters e intenté observar si ciertos partidos habían copiado el anterior programa electoral. En el segundo colacioné las dos versiones del programa de Unidos Podemos y encontré alguna anomalía.

En este post lo que me pregunto es: ¿Es el programa de Unidos Podemos más similar a los anteriores de Izquierda Unida o a los de Podemos? Para ello voy trabajar de una manera similar al post en el que intenté descubrir mediante aprendizaje automático qué partidos eran de izquierda  y cuáles de derecha. En este caso también utilizo aprendizaje automático supervisado (o clasificación). La máquina aprende cómo son los textos de IU y de Podemos a partir de los programas electorales de las anteriores elecciones generales, de las europeas y del texto marco para las autonómicas y municipales:

Posteriormente le damos a la máquina dos tareas diferentes. En primer lugar le damos un conjunto de textos para comprobar si consigue clasificar los textos correctamente, un test. En concreto le doy seis programas electorales de diferentes comunidades autónomas por cada partido:
Y por último le doy las dos versiones (¡ya que ahora sabemos que son algo diferentes, probemos ambas!) del programa electoral de Unidos Podemos para que tome la decisión de si le parece más similar a Podemos o a IU:

Como casi siempre, trabajo con el paquete de R stylo para estilometría, en concreto con la función classify(). Realizo la prueba desde las 1000 MFW hasta las 10000 MFW y utilizo la distancia textual Eders Delta.

Resultados de stylo


Podemos_2015_andalucia     -->     IU
UniPod_2016_Generales_IU     -->     Podemos
UniPod_2016_Generales_Podemos     -->     Podemos

1000 MFW , culled @ 0%,  11 of 12    (91.7%)



Podemos_2015_andalucia     -->     IU
UniPod_2016_Generales_IU     -->     Podemos
UniPod_2016_Generales_Podemos     -->     Podemos

2000 MFW , culled @ 0%,  11 of 12    (91.7%)



Podemos_2015_A_Asturias     -->     IU
Podemos_2015_andalucia     -->     IU
UniPod_2016_Generales_IU     -->     Podemos
UniPod_2016_Generales_Podemos     -->     Podemos

3000 MFW , culled @ 0%,  10 of 12    (83.3%)



Podemos_2015_A_Asturias     -->     IU
Podemos_2015_andalucia     -->     IU
UniPod_2016_Generales_IU     -->     Podemos
UniPod_2016_Generales_Podemos     -->     Podemos

4000 MFW , culled @ 0%,  10 of 12    (83.3%)



Podemos_2015_A_Asturias     -->     IU
Podemos_2015_andalucia     -->     IU
UniPod_2016_Generales_IU     -->     Podemos
UniPod_2016_Generales_Podemos     -->     Podemos

5000 MFW , culled @ 0%,  10 of 12    (83.3%)



Podemos_2015_andalucia     -->     IU
UniPod_2016_Generales_IU     -->     Podemos
UniPod_2016_Generales_Podemos     -->     Podemos

6000 MFW , culled @ 0%,  11 of 12    (91.7%)



Podemos_2015_andalucia     -->     IU
UniPod_2016_Generales_IU     -->     Podemos
UniPod_2016_Generales_Podemos     -->     Podemos

7000 MFW , culled @ 0%,  11 of 12    (91.7%)



Podemos_2015_andalucia     -->     IU
UniPod_2016_Generales_IU     -->     Podemos
UniPod_2016_Generales_Podemos     -->     Podemos

8000 MFW , culled @ 0%,  11 of 12    (91.7%)



UniPod_2016_Generales_IU     -->     Podemos
UniPod_2016_Generales_Podemos     -->     Podemos

9000 MFW , culled @ 0%,  12 of 12    (100%)



UniPod_2016_Generales_IU     -->     Podemos
UniPod_2016_Generales_Podemos     -->     Podemos

10000 MFW , culled @ 0%,  12 of 12    (100%)

General attributive success:  109 of 120 (90.8%)

Visualización de los resultados e interpretación
En general el programa consigue reconocer bastante bien si los textos autonómicos son de IU o de Podemos. A partir de 1000 MFW reconoce entre 10 y 11 textos de un total de 12 de manera correctamente: el Podemos de Andalucía y de Asturias (solo desde 3000 a 5000  MFW) le parece IU. A partir de las 9000 MFW clasifica todos los textos autonómicos correctamente. ¡Bien!

¿Y qué dice de Unidos Podemos?
 
Lo tiene claro: el programa de Unidos Podemos es clasificado como de Podemos y no de IU. Ese resultado ocurre en todos los rangos de MFW, y ocurre tanto con la versión del programa de IU como de Podemos. Es decir, aunque habíamos señalado que el estilo de los dos programas era algo diferente y aunque estamos analizando el estilo del texto, esas diferencias no son suficientemente fuertes como para que esas versiones diferencien pertenencia a partido.


Como en otras ocasiones, las conclusiones son en parte esperables (¡Podemos ES el hermano mayor en escaños de la coalición!). Pero están sostenidas por algo más que "pues a mí me parece...".

Seguir leyendo este post...

martes, 21 de junio de 2016

¿Unidos? ¿O Podemos? Colación de las versiones del programa electoral

En el anterior post señalaba algunas particularidades de las siguientes elecciones y de los programas electorales y realizaba un análisis estilométrico. Señalé que tomaba el programa electoral de Unidos Podemos, pero en realidad fue una simplificación de la historia, porque lo cierto es que nos descargamos diferentes versiones del programa de las  webs de IU o de Podemos, diferencia que resulta obvia por los colores de los encabezados:

Además de la disposición y color de los encabezamientos, se ve que el título en Podemos ha añadido la colocación "Cambiar España". La pregunta es: ¿puedo estar seguro de que ambos textos sean iguales en todos los detalles? Porque cualquiera que haya trabajado en un texto importante entre diferentes personas sabe lo endiablado que se vuelve el control de versiones.

Para ello he exportado el texto de los PDFs a texto plano y he limpiado algunos caracteres que quedaban de la decoración de la listas y  la paginación. Posteriormente he utilizado el programa de Ubuntu Meld Diff Viewer (en Windows suelo utiliza  Beyond Compare) para cotejar los textos automáticamente.

El resultado en general demuestra que los textos son bastante similares, aunque no idénticos. Y no solo hay pequeñas diferencias de estilo, hay cambios también de contenido. He hecho una búsqueda rápida sobre esas posibles diferencias y encuentro un artículo en Público que informa de un trabajo del PSOE muy crítico con los programas de Unidos Podemos. Ninguna de las conclusiones a las que llega el PSOE son las mismas a las que yo llego (puede ser que ellos partan de textos diferentes a de los que yo parto). Mis conclusiones son de mucho menos calado que las suyas y las diferencias son muy secundarias. Si no saben si creer al PSOE o a mí, arriba tienen los links a los textos que he utilizado, suya es la posibilidad de reproducir este post.

Vayamos al ajo programático. La enorme mayoría de diferencias representan cambios de estilo. Parece que una parte importante de corrección ocurrió en las sedes de los diferentes partidos después de que se negociase el programa común. Veamos algunos casos:
Como vemos en esa imagen, hay algunos cambios léxicos como reiterada por continuada, algún cambio de orden (anual tributaria > tributaria anual), cambios en el estilo de la lista, de mayúsculas... Esta es la norma de las diferencias entre los dos documentos. Aquí va otro ejemplo donde se pueden observar ciertos cambios gramaticales puramente de estilo:


En algún punto se han cambiado el orden de los párrafos y los puntos, por lo que parece que se ha cambiado texto, cuando no es así:
Lo que sí ocurre en la imagen anterior es que la numeración de los puntos ya no va a la par, lo que dificulta la comparación del resto del documento. A partir de este punto Podemos va un número adelantado en comparación a IU. Ese punto es rescatado con el punto 19 del programa de IU "Cultura":
¿Qué ha pasado con ese parrafito sobre cultura en la versión de Podemos? La palabra artista no aparece en el programa de Podemos. El párrafo en el programa de IU señala que desarrollaran un modelo fiscal específico para artistas y que reducirán el IVA cultural. ¿Alguien cercano a los partidos podría explicarlo?

El otro gran aspecto que diferencia ambos textos es el 38 "Desarrollo rural y Política Agraria Común (PAC)":
Como vemos, es un punto muy largo en el programa de IU con menciones concretas a leyes y programas, mientras que en el de Podemos es escueto y algo vago, aunque no señalan información contradictoria entre ellos

En conclusión:
  • los programas de Unidos Podemos de las web de IU o de Podemos son diferentes, tanto en su maquetación, la corrección de estilo y ciertas diferencias de contenido
  • los programas son en su enorme mayoría idénticos en cuanto al contenido
  • la mayor diferencia de ambos programas está en el punto sobre Cultura, que no aparece en el programa de Podemos
  • la versión del programa de IU contiene bastante más contenido en cuanto a agricultura

Seguir leyendo este post...

sábado, 18 de junio de 2016

¿Escribimos un nuevo programa o copiamos el anterior? Estilometría sobre elecciones generales 2016

Nuevas elecciones > incremento en el corpus de programas electorales > nuevo post sobre estilometría política. Las elecciones generales en España del 26 de junio de 2016 se caracterizan por ser en realidad la repetición de las anteriores. Ni la época, ni los candidatos, ni los partidos ni (en principio) las ideas han cambiado. Así que ¿habrán cambiado los textos? ¿Su estilo? Quitando claro la excepción de Unidos Podemos y sus versiones en Cataluña, Valencia y Galicia (cuyos textos no están representados aquí por diferentes razones).

En primer lugar he realizado un análisis de la distancia textual mediante Delta. Dependiendo de la cantidad de palabras a utilizar los resultados varían notablemente. Aquí un ejemplo de los resultados de los 4000 y 6000 MFW:

Como vemos en el primero, el PP forma su propia rama mientras que en el segundo caso aparece bastante mezclado con los programas del PSOE. Por eso he considerado en  realizar un Consensus tree que agrupe los diferentes resultados entre 1000 y 10 000 MFW en un solo análisis:
Como vemos, PNV y UPyD tienen sus propias ramas perfectamente diferenciadas. IU y Podemos muestran relaciones similares en sus programas de 2011 y 2015. Curiosamente su programa electoral unido de 2016 no aparece entre los textos. En el caso del PP y PSOE, sus programas de 2015 y 2016 aparecen emparejados, mientras que los otros textos aparecen en diferentes lugares. Finalmente hay un grupo de tres textos que en realidad se pueden considerar tres textos aislados: Unidos Podemos 2016, Ciudadanos 2016 y PP 2011.

Resulta sorprendente que el programa de Unidos Podemos no aparezca en la misma rama en la que encontramos los textos de IU y Podemos anteriormente. Por lo visto negociar un programa electoral no produce un término medio entre los programas anteriores de los partidos. Al menos en su estilo, que es de lo que la estilometría parte.

Aún más sorprendente resulta que el programa de Ciudadanos 2016 no esté estrechamente emparentado con su programa de 2015. ¿Qué puede explicar esta diferencia? Lo desconozco.

Porque en realidad uno esperaría que los partidos le hubiesen echado un poquito de cara y que en realidad hubiesen presentado el mismo programa que hace 6 meses, maquillándolo un poco y cambiando las fechas y fotos. De hecho podemos intentar medir qué partidos se han plagiado a sí mismos. Para ello troceamos cada texto en cadenas de 7 palabras (7-gramas), unidades del tipo "centros tecnológicos inspirados en los advanced manufacturing" o "como una inversión no como un gasto". Esperamos que estas unidades sean suficientemente largas como para considerar que no se repetirán aleatoriamente y que su coaparición en varios textos debería representar un relación de copia y pega entre textos. Con esa base, realizaremos un PCA cuyo resultado es un representación bidimensional de los textos:
El partido que se ha plagiado más a sí mismo es el PSOE (1945 7-gramas comunes en los programas de 2015 y 2016), quien queda apartado del resto en el eje horizontal (PC1). Los siguientes partidos que más han copiado-pegado su propio programa son en este orden PP (1082 7-gramas comunes), UPyD (¡943 7-gramas en los tres programas!  ¡se llevan copiando desde 2011 hasta el día de hoy!) y PNV (710 7-gramas comunes).

El resto de partidos (Ciudadanos, IU, Podemos y Unidos Podemos) no presentan repeticiones notables de cadenas de 7 palabras y por eso están tan cerca del valor 0 en ambos ejes. Solo algunos 7-gramas aparecen en programas de partidos muy diferentes, como por ejemplo: "a lo largo de toda la vida", "la participación de los ciudadanos en la", "por debajo del umbral de la pobreza", etcétera.

Es curioso observar que la repetición señala principalmente relaciones entre textos muy similares y no sencilla similitud del estilo. No vemos que los textos del PSOE y PP del 2011 estén a medio camino entre el valor 0 y los textos de 2015-2016. La idea intuitiva de que cadenas relativamente largas podrían señalar copia entre textos parece validarse.

Por supuesto hay dos manera de interpretar la repetición de cadenas largas en diferentes textos: como señal de desidia o como señal de coherencia. Uno puede valorar que el país no ha cambiado desde diciembre de 2015 y que por lo tanto no hay que cambiar los textos. Puede ser cierto, aunque en realidad lo que aquí se analiza no es el fondo del texto (las ideas) sino la superficie del texto (su estilo). Se puede expresar la misma idea de varias maneras y la estilometría no reconocerá su similitud.

Entiendo bastante bien que un partido como UPyD, que está para que lo rematen, quiera ahorrarse cualquier trabajo y reutilice el texto. Lo sorprendente es que en realidad los dos partidos que más han copiado sean a su vez los más grandes y con mayores medios. Si no les faltan medios, será  que les falta interés.

Seguir leyendo este post...

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...

LinkWithin

Related Posts with Thumbnails