miércoles, 17 de septiembre de 2014

Categorías gramaticales y estilometría: conjunciones decimonónicas vs. puntuación modernista

En el anterior post hice una primera aproximación sobre algunos métodos estilométricos, como el clustering, aplicados a las novelas españolas de la Edad de Plata. Para ese análisis utilicé las formas simples de las palabras. Pero ¿y si en vez de analizar dijo, decía, dicho (etc.) solo analizamos el verbo decir? O sea ¿y analizamos un texto lematizado? O más abstracto aún: ¿y si solo usamos sobre categorías gramaticales? En este post os quiero comentar los resultados de un pequeño experimento estilométrico con categorías gramaticales en textos entre los siglos XIX y XX. Había varios aspectos de las pruebas que os voy a comentar en este post que aún tengo que comprobar.

Para saber con qué estamos trabajando, vamos a basarnos en un texto concreto: Niebla de Unamuno. Debemos partir de una versión en texto plano .txt:
Niebla en formato plano

Para procesar el texto he utilizado TreeTagger, de la Universidad de Múnich y lo he utilizado directamente desde el entorno de R mediante la librería koRpus. Confieso que poner a trabajar las diferentes herramientas no fue sencillo, ni para mí ni para los docentes del European Summer School in Digital Humanities. Si quisiésemos lematizar Niebla, el resultado debería ser un archivo txt similar a este:

Niebla lematizada
Por lo general la estilometría prefiere no trabajar con lemas ya que se considera que muchos datos se pierden: se pierde la diferencia entre las novelas escritas en pasado o aquellas escritas en presente, por ejemplo. Algunos autores han señalado que podría ser más interesante dar un paso más allá de la lematización y conseguir las categorías gramaticales (Part of Speech, POS) de todas las palabras del texto. Es lo que vamos a hacer para nuestro experimento; esto sigue siendo Niebla habiendo hecho un análisis gramatical de cada palabra:

Niebla según categorías gramaticales del TreeTagger
Como vemos en la documentación de las categorías gramaticales para el español del TreeTagger, no solo se nos aporta si es un verbo o un sustantivo, también se nos da si el verbo está en forma finita (VLfin) o si es un nombre propio o común. Por ejemplo don Miguel de Unamuno sería en la anterior imagen «NC NP PREP NC». En total TreeTagger devuelve más de 70 categorías gramaticales diferentes.

Como queremos trabajar algo más manejable, decido simplificar el análisis a solo 10 grandes categorías gramaticales. En este análisis don Miguel de Unamuno sería «N N R N». El resultado es el siguiente:

No, no es Mátrix, es Niebla, en 10 cómodas categorías gramaticales.
Lo que observamos en la anterior imagen es la estructura léxico-gramatical de Niebla. Este proceso lo realizamos con varias decenas de textos publicados entre finales del siglo XIX y principios del siglo XX. Las listas obtenidas de categorías gramaticales las analizamos mediante Principal Components Analysis, con lo que obtenemos una visualización en dos dimensiones teniendo en cuenta aquellos valores que más tienden a diferenciar textos. ¿El resultado?

En esta nueva imagen vemos que los textos de Valle, por ejemplo, quedan en la parte superior y que los textos de Valera aparecen en el extremo inferior. Es decir, hay un valor que diferencia por completo a estos dos autores. A su vez, Unamuno aparece en el extremo derecho y Blasco Ibáñez a la izquierda. Pero ¿qué significan estas agrupaciones? ¿Según qué criterios se están organizando? Para saberlo, utilizamos la opción loading en stylo.

Sé que no lo parece, pero esta imagen es muy interesante. Es la misma imagen anterior, ahora los textos están en gris, y con las categorías gramaticales como vectores. Observamos que nombres, artículos, preposiciones y adjetivos aparecen muy cercanos entre ellos en la izquierda: es decir, las categorías gramaticales que forman principalmente sintagmas nominales aparecen agrupados.

Ese «polo nominal» aparece enfrentado en la dimensión horizontal por otro polo formado por verbos y pronombres (y en parte también por signos de puntuación, adverbios y conjunciones): una especie de «polo verbal». El Principal Components Analysis que esa diferencia entre polo nominal y polo verbal resulta importantísima, ya que el valor de ese PC es un excepcionalmente alto 50,3%.

Es decir, la imagen nos está indicando que se puede hacer una diferencia sólida entre textos que prefieren sintagmas verbales, y aquellos que prefieren sintagmas nominales. Unamuno, por ejemplo, resultaría extraordinariamente verbal; Blasco Ibáñez, por contra, resultaría bastante nominal.

Estos resultados son interesantes, sí, pero no sorprendentes: es bastante esperable que haya autores que utilicen más verbos (y estos suelen llevar pronombres relacionados) y otros que utilicen más sustantivos (con sus adjetivos y determinantes). Lo inesperado es el eje vertical.

Porque el análisis muestra que la otra dimensión de mayor importancia es la diferencia entre conjunciones (y adverbios) frente a signos de puntuación. ¿Cómo? ¿Qué significa eso? Yo lo interpreto en el sentido que algunos autores preferirían relacionar las oraciones entre sí mediante símbolos de puntuación, como Valle o Baroja; frente a otros, que preferirían utilizar conjunciones: como Valera u Ortega.

Sinceramente, no esperaba esta diferenciación ya que tendería a pensar que los signos de puntuación y las conjunciones no se excluyen. Al tener estos resultados delante hay que recordar que los signos de puntuación no son una categoría gramatical de por sí como adjetivos, adverbios, sustantivos o verbos. La lingüística computacional tiende a darle rango de categoría gramatical y por eso lo incluyo en el análisis, pero es cuestionable desde el punto de vista teórico. Además los signos de puntuación es un aspecto sensible a la intervención del editor, por lo que lo óptimo sería utilizar textos que han sido editados de manera homogénea.

Señaladas estas precauciones, creo que es un aspecto interesante que hay que seguir estudiando, también en relación a otras variables. Porque resulta aún más llamativo cuando introducimos en el análisis la variable cronológica. En la siguiente imagen los textos decimonónicos aparecen en rojo, frente a los verdes del siglo XX.


De manera casi total (un texto de Bazán, Fernández Flórez y Ortega son las excepciones), los títulos en rojo aparecen en la mitad inferior de la imagen: es decir, el siglo XIX prefería las conjunciones; frente a esto los títulos verdes aparecen en la parte superior: es decir, el siglo XX prefiere los signos de puntuación.

En el paso del siglo XIX al XX la literatura no solo realizó cambios estéticos o temáticos, parece que también cambió conjunciones por signos de puntuación.

Seguir leyendo este post...

martes, 9 de septiembre de 2014

Estilometría: stylo y novelas en español

Como comenté en mi último post, tuve el privilegio de estar en la European Summer School in Digital Humanities 2014 donde pude aprender sobre estilometría. Los profesores Jan Rybicki y Maciej Eder fueron los encargados de enseñarnos sobre estilometría y la librería de R llamada stylo que ha diseñado el grupo Computational Stylistics Group:

stylo, sonriente nada más despertarse

La estilometría es una metodología estadística para analizar textos a través de sus palabras más frecuentes (Most Frequent Words o MFW). Fue Wincenty Lutosławski quien acuñó esta palabra; en los últimos años John Burrow ha sido uno de los principales investigadores, cuya influencia puede observarse en varios grupos de investigación en Centro Europa.

La estilometría se ha utilizado principalmente para estudiar atribuciones de autorías. Cada autor tiene tendencias al escribir: unos tienden a utilizar más estructuras determinante+adjetivo+sustantivo, algunos prefieren sumar oraciones con y u o, otros prefieren la confrontación mediante peros y aunques... Decenas de esos rasgos medidos estadísticamente medidos y enfrentados crearían la llamada huella dactilar textual de un autor: un patrón que podría reconocer la autoría de cualquier autor. Al menos esa es la idea.

La realidad, como casi siempre, es más compleja. Pero lo emocionante que os quiero enseñar que esta metodología funciona sorprendentemente bien. Para empezar a trabajar necesitaremos un grupo de textos que formen un corpus más o menos equilibrado. Para esta prueba he decidido trabajar con un grupo de textos entre la segunda mitad del siglo XIX y las primeras décadas del siglo XX. Por ejemplo La batalla de Arapiles, de Galdós, publicada por Clásicos Hispánicos. Algunos criterios que se deben tener al trabajar con estilometría es que el corpus:
  • debe tener varios textos del mismo autor
  • los textos pueden tener un formato plano, pero asegúrate que la codificación y el tipo de final de línea es homogéneo
  • los resultados son mejores si el género literario es homogéneo
Bajo estos criterios, vamos a trabajar con algunas novelas de autores como Baroja, Bazán, Blasco Ibáñez, Clarín, Galdós, Miró, Sénder, Unamuno, Valle... Cada una de las novelas la guardamos en un archivo de texto diferente. Queremos que el stylo ordene los textos según su semejanza. Intuitivamente tenderíamos a pensar que dos novelas de Galdós son más semejantes entre sí  que una novela de Galdós y una de Clarín; y que las novelas de Galdós y Clarín (ambos parte del realismo) son más semejantes entre sí que, digamos, una novela de Galdós y una de Valle, ¿cierto?

Para ello vamos a realizar un cluster analysis, (algoritmo de agrupamiento) que stylo consigue realizar de manera múltiple en iteraciones: primero trabaja con las 100 palabras más frecuentes y crea un cluster, después coge las siguientes 100 palabras y hace otro cluster; así hasta que llega a las 5000 palabras más frecuentes. Todos esos clusters son tenidos en cuenta para crear un resultados más robustos en forma de Consensus Tree. Para ello utilizamos la Distance Delta en la variedad de Eder. ¿El resultado? La siguiente imagen:

Quizás estés pensando ¿qué son estas raíces de colores y qué significa? Estamos ante una visualización bidimensional de los clusters (o grupos) de las novelas. La relación jerárquica de las ramas significa la distancia entre los textos. Vamos a ver un segmento de este consensus tree:
Rama con textos de Clarín, Valera y Blasco Ibáñez
En esta rama de Clarín, Valera y Blascos Ibález vemos que los dos textos de La Regenta penden de un mismo nodo, por lo que los dos textos son muy similares entre sí. De la misma manera penden los dos textos de Valera. Los textos de Blasco Ibáñez tienen una estructura más compleja: Arroz y tartana es similar a la segunda parte de La araña negra; esos dos son parecidos a La catedral (aunque no tan parecidos); estos tres textos a su vez serían similares a La barraca. El análisis de clusters señala que los textos de Clarín y Valera son más similares entre sí y que estos, a su vez, tienen cierto parecido (aunque menor) con los de Blasco Ibáñez. Ahora que ya sabemos entender las ramas, volvamos a la imagen completa:
El programa nos facilita la visualización por colores, con lo que nos es muy fácil reconocer los autores de los textos. Como vemos el análisis de clusters ha conseguido reconocer la huella del autor: los textos de Galdós no se mezclan con los de Bazán: ambos aparecen en una misma rama, pero el programa consigue distinguirlos por autores. De esta manera todos los textos han sido ordenados correctamente por autor. Es decir, la huella digital textual no es solo una bonita metáfora: se puede demostrar empíricamente. ¡Hurra!

Solo hay un problema:



¿Todos los textos han sido organizados por autor? ¡No todos! Sénder y su primera novela Imán está separado de sus otras dos novelas, que aparecen emparentadas con Baroja. Es decir, que de 32 novelas, 31 han sido organizadas por autor correctamente. Vale, el sistema no es perfecto, pero no me dirán que resulta fascinante que una máquina que no sabe absolutamente nada de literatura consiga organizar miles de palabras mágicamente por autor.

Pero lo cierto es que la máquina ha hecho más que eso. Si nos fijamos, observamos que también se ha organizado cronológicamente: casi todos los autores del siglo XIX están en la rama inferior; los que empiezana  publicar en el siglo XX en la rama superior. La máquina no solo ha conseguido distinguir la autoría: también la periodización literaria.

Ahora bien ¿qué significan las ramas intermedias? Uno esperaría haber encontrado a Valle, Unamuno y Baroja en una rama a la que llamaríamos «Rama del 98» y confirmaría la clásica agrupación de autores; pero no, el programa ha agrupado a Valle con Miró y a Baroja con Sénder. ¿Qué significan estos datos? ¿Es que Valle y Miró escribían novelas líricas mientras que Baroja y Sénder escribían novelas de aventuras? ¿Es otra cosa? ¿Esa diferencia es más importante? ¿Por qué Fernández Flórez aparece rodeado de autores muy anteriores a él? ¿Qué es lo que reúne a Clarín, Valera y Blasco Ibáñez, que los diferencia de Bazán y Galdós?

¿Son estos resultados ruido? ¿O están apuntando nuevas agrupaciones literarias?

Seguir leyendo este post...

LinkWithin

Related Posts with Thumbnails