Seleccionar página

La moción de censura nos da la oportunidad de re-usar

 

Dos políticos han sido protagonistas de la moción de censura que se ha desarrollado recientemente en el Congreso de los Diputados: Santiago Abascal y Pablo Casado. Ambos han destacado por sus discursos en sede parlamentaria, por motivos que no son el objeto de este post.

El objetivo de este post no es otro que utilizar varios conceptos introducidos en post anteriores para analizar sus discursos desde el punto de vista de técnicas básicas dentro del Procesamiento del Lenguaje Natural.

Ficheros de los discursos

 

Tanto VOX como el PP han publicado los ficheros PDF con el contenido de los discursos de moción de censura de sus líderes. El de Abascal lo podéis encontrar aquí, y el de Casado aquí.

Hemos utilizado una forma simple y que todo el mundo puede hacer: almacenar en un fichero de texto diferente (.TXT) cada discurso. Hay herramientas online que fácilmente convierten un fichero PDF o una página HTML en un fichero de texto. Con ese fichero PDF por discurso, el único trabajo «manual» que hemos hecho ha sido convertirlo a un fichero TXT. Y se acabó el trabajo manual: no hay que volver a tocar los ficheros nunca más, ni para limpiarlos de caracteres extraños. De eso ya se encargarán nuestros métodos.

Para todos aquellos que quieran hacer sus propios análisis con los ficheros de los discursos de cada político, aquí tenéis el link, una vez hemos transformado el PDF en un fichero de texto plano.

Pre-procesado y análisis

 

Tal y como hemos detallado en anteriores posts, lo primero es realizar un pre-procesado para poder disponer de nuestros datos (palabras). Hay muchas formas de pre-procesar la información para que se puedan utilizar las técnicas NLP. En nuestro caso, hemos leído los ficheros de los discursos, limpiado de caracteres extraños, divididos en palabras y eliminado las stop words. En este post lo explicamos en detalle.

Después, estos son los análisis que hemos realizado:

  1. Cuenta de palabras totales vs palabras útiles, así como su distribución, tal y como hicimos en este post.
  2. Bag of Words, tal y hicimos en este post. En este caso hemos identificado las 15 palabras más utilizadas y los 10 binomios de palabas más usados en cada discurso.
  3. TF-IDF, tal y como hicimos en este post, identificando las 15 palabras con mayor score y los 10 binomios de palabras con mayor score de cada discurso.

Palabras totales vs. palabras útiles de los discursos

 

Haciendo un simple conteo de las palabras totales vs. palabras útiles del discurso de cada líder político, vemos que Abascal se extendió bastante más en su discurso con mucha diferencia (12563 frente a 4883 palabras). Recordemos que las palabras útiles son las que aportan significado y para quedarnos con ellas simplemente hemos eliminado las stop words de nuestro corpus que contiene los discursos. En nuestro análisis, hemos incluido como stops words, además de las típicas del castellano, «señor», «abascal», «casado», «partido», «popular», «vox», «señorías», «moción» y «censura».

En el gráfico de abajo podemos ver cuántas palabras contiene cada discurso, y cuántas de ellas son útiles.

Moción de censura: conteo de palabras por discurso

Distribución de palabras totales vs. palabras útiles de los discursos

 

Aunque en el anterior gráfico podíamos intuir cómo se repartía el porcentaje de palabras útiles respecto al total de palabras en el discurso de cada político, si lo visualizamos en forma de «donut», el resultado nos dice que el porcentaje es del 41,51% de palabras útiles de Abascal y el 37,25% de palabras útiles de Casado.

Moción de censura: distribución de palabras útiles por político

Bag of Words sobre los discursos

 

Recordando el concepto de Bag of Words, hemos asignado un identificador único a cada palabra distinta de cada discurso y contar las veces que se repite esa palabra a lo largo del discurso (corpus). Hay una característica importante de este método: no importa el orden en el que están dispuestas las palabras, lo único que se tiene en cuenta es el número de ocurrencias de cada palabra en cada documento del corpus, en este caso, cada discurso.

Las palabras más repetidas por Abascal fueron «España», «españoles» y «gobierno». Para Casado fueron «España», «Sánchez» y «gobierno».

Lo mismo, pero con binomios de palabras

 

Otro análisis interesante es, en vez de contabilizar el número de veces que se usan las palabras de forma individual, considerar un análisis de los binomios de palabras y ver qué sale.

En los siguientes gráficos vemos el resultado: Para Abascal, los binomios más utilizados son «millones personas» «Pedro Sánchez», «dieciocho sistemas» y «consenso progre». Para Casado, los binomios más utilizados son «bloque ruptura» y «izquierda derecha», «unida diversa» y «Unión europea».

TF-IDF de los discursos

 

Hacemos un pequeño repaso de lo que es TF-IDF: significa Term Frequency times Inverse Document Frequency (es decir, TF x IDF) y es una métrica o score que establece un valor sobre la importancia de una palabra («p») en un documento («p»). Aquí term es análogo a palabra.

Utilizando esta técnica, el discurso de moción de censura de Abascal tuvo como palabras más frecuentes «España», «españoles» y «gobierno». Para Casado, las palabras más frecuentes fueron «España», «Sánchez» y «gobierno».

Esta técnica funciona especialmente bien cuando hay varios documentos a comparar. Es decir, si hubiéramos tenido a nuestra disposición todos los discursos de cada político, nos habría dado mejores resultados.

 

Finalmente, nos binomios de palabras

 

El método TD-IDF también se puede aplicar sobre binomios de palabras, es decir, sobre todos los pares de palabras que aparecen de forma consecutiva en los discursos de Abascal y Casado.

Según la técnica TF-IDF, los binomios más utilizados por Abascal fueron «millones personas», «soberanía nacional» y «dieciocho sistemas». Para Casado fueron «bloque ruptura», «España izquierda», «izquierda derecha» y «unida izquierda».

Si te interesa el código, aquí lo tienes

Takeaway

Los discursos de moción de censura de Abascal y Casado nos han dado la oportunidad para re-usar masivamente el trabajo realizado en posts anteriores para limpiar, pre-procesar y analizar documentos.

En primer lugar hemos realizado el ejercicio sencillo de contar palabras, además de conocer qué porcentaje de palabras aporta poco significado a un discurso.

Después hemos contado las palabras y nos hemos quedado con las que más se repiten y hemos realizado un análisis adicional sobre los binomios de palabras más usados.

Finalmente hemos buscado las palabras que mejor caracterizan al discurso, utilizando la técnica TF-IDF, aunque habríamos sacado más rendimiento a la téncica si hubiésemos tenido varios discursos por cada polícito.



Ver en Kaggle