¿Sabes de machine learning y PLN? ¿Nos ayudas a mejorar Verba?

Desde que hace unos años descubrimos que los subtítulos de los Telediarios de RTVE estaban disponibles en su web, teníamos ganas de trabajar con esos datos. En parte porque el papel de la televisión pública es importante, pero también, desde el punto de vista técnico, porque llevábamos tiempo queriendo trabajar con información no estructurada, “texto en bruto”.

Así, Verba es para nosotros una oportunidad para aprender técnicas y herramientas de Procesamiento de Lenguaje Natural (PLN), y ver hasta qué punto son fiables con textos en español, de cara a usuarlas luego en otros ámbitos, como pueden ser pliegos de contratos, o minutas de reuniones.

La versión de Verba que lanzamos hoy es básicamente un buscador, y la única herramienta de PLN que usamos es una librería de Python, syntok, para partir la transcripción en frases. Pero estamos trabajando en otras cosas, más interesantes desde un punto de vista PLN:

  • Hemos aplicado extracción de entidades (NER) al corpus de Telediarios de los últimos años, como explicamos en este issue. Ahora mismo esta información está en la base de datos, pero no se muestra porque no teníamos el interfaz cien por cien terminado.

  • Tenemos a medias el desarrollo de un modelo de Machine Learning que sea capaz de clasificar fragmentos del Telediario en temas (Sociedad, Deportes, Política internacional…). Como explico en el issue, la idea es entrenar el modelo con un corpus de noticias sacadas de la web de RTVE, noticias que han sido etiquetadas manualmente, y luego aplicar esto a las transcripciones de los Telediarios, para poder medir cuánto tiempo se dedica a hablar de “Medio ambiente”, y no solo contar menciones a términos concretos.

  • Para poder medir bien el tiempo que se dedica a cada tema, nuestra idea inicial era partir las transcripciones en las distintas noticias que las componen. Hubo un tiempo en el que la web de RTVE incluía las escaletas de cada día, o sea, los tiempos de inicio y fin de cada noticia. Pero hace un par de años dejaron de hacerlo. Nos gustaría encontrar un método para partir las transcripciones en trozos, tal vez un modelo de machine learning entrenado con las escaletas que sí existen, o tal vez algo más sencillo. Nuestra aproximación inicial era buscar silencios en los subtítulos, pero pronto vimos que no era un método demasiado fiable y que hacerlo bien era más complicado de lo que pensábamos, así que lo tenemos aparcado.

Para la parte de PLN y machine learning estamos usando Flair. Tenemos nuestras pruebas un poco desordenadas ahora mismo, abriremos el repositorio de esa parte en los próximos días y te mantendremos al tanto. Mientras tanto: ¿Tienes preguntas? Nos encantaría leer tus ideas y propuestas para echar una mano y mejorar Verba juntos.

4 Me gusta

Hola! La verdad es que el proyecto suena super interesante!! Me encantaría poder aportar mi granito de arena si fuera posible, ¿está el corpus disponible en algún sitio? Entiendo que todo la parte de prepocesamiento ya está hecha ¿verdad?

Gracias!

1 me gusta

Hola a todos,

Suena genial! Yo estaria encantado de echar un vistazo y probar un poco por mi cuenta. No estoy seguro de si mi disponibilidad me permitirá comprometerme todo lo que me gustaría, pero llevo mucho tiempo siguiendo vuestro trabajo y queriendo contribuir. Como mínimo me gustaría seguirle la pista a Verba y quizás aportar algo :slight_smile:

Gracias por el trabajado que hacéis!

Hola! En septiembre defendí mi tesis doctoral en el análisis longitudinal de sentimiento de términos económicos durante la crisis en The Guardian y el NYT (2007-2015), triangulando datos cuantitativos de análisis de sentimiento y análisis textual.
En la UMA desarrollamos una herramienta de análisis de sentimiento llamada Lingmotif. Os paso el link Lingmotif – Tecnolengua
Me parece una herramienta excelente la que ponéis a disposición. No sé si me da la vida para colaborar, pero aquí tenéis mi contacto.

Un saludo

Gracias a todos por escribir. En los próximos días os contesto individualmente.

Una cosa que se me olvidó comentar al abrir el hilo: todo el código de la aplicación está disponible en Github (GitHub - civio/verba: Explora los Telediarios de RTVE desde 2014). Falta el código para descargar los subtítulos (aunque no tiene demasiado misterio) y las pruebas que hemos hecho con modelos de PLN. Lo publicamos en cuanto lo ordenemos un poco. Y quiero también preparar el corpus y hacerlo público, para que el que quiera pueda trastear. Os aviso por aquí.

3 Me gusta

Hola,

aprendi mucho hace un par de años sobre PLN y Machine Learning. Pero no puede seguir profundizando en estos temas, ahora veo que si puedo hacerlo con Verba =).

Por lo que he podido leer (en un vistazo rápido) en desarrollo de un modelo de Machine Learning y creo que mi experiencia de esa epoca puede ser útil hoy.

Podeís contar conmigo en todo lo que queráis. Estaré encantado de poder ayudar en lo que sea necesario.

Saludos,

David

1 me gusta

Hola David

Yo podría aportar una interfaz gráfica (graphext) para explorar el dataset. Esto podría ser beneficioso para:

  • Facilitar la tarea de investigación a periodistas
  • Validar los modelos de ML que estéis desarrollando

Si ponéis el dataset disponible creo que podría preparar rápidamente un proyecto en graphext y abrirlo para que lo use la comunidad. Graphext ya da funcionalidad básica de NLP, como NER y un topic modeling básico, que también puede ser útil. Pero lo más interesante es que puedes bucear en el dataset, filtrar y ver todos los datos desde muchos puntos de vista rápidamente.

Disclaimer: trabajo en graphext, pero genuinamente creo que puede ayudar :slight_smile:

1 me gusta

Hola David y demás interlocutores. Verba me parece una idea genial y habéis hecho un trabajo descomunal. Puede ser una mina para muchos desarrollos dirigidos al análisis de la dinámica de los media en España y su “agenda setting”.
Aunque no tengo mucha experiencia en PLN, existen muchas herramientas de Text Mining en R, lenguaje de análisis estadístico, que es el terreno en el que me muevo. En cambio conozco Python sólo de oídas. Entiendo que la manera de proceder es partir de una fase exploratoria de los datos para poco a poco construir modelos explicativos del corpus de los telediarios.
Estaría encantado de echar una mano en estos menesteres, desde la óptica de R. Un cordial saludo, José Ignacio

Hola David.
Soy ingeniera informática y siempre he trabajado en temas de PLN, minería de textos y machine learning (enfocados especialmente al análisis de artículos científicos y datos biomédicos). Vuestro proyecto me parece una idea genial y creo que podría echar una mano técnica en varios aspectos, desde el desarrollo del algoritmo para detectar entidades específicas en los textos hasta la clasificación por temas según el contenido de los textos.
Ya me dices si os puedo ser útil. Un saludo!

1 me gusta

Hola a todos de nuevo. Estuve todo el final de la semana pasada de viaje por una conferencia (por otra de nuestras obsesiones, el tema de la transparencia algorítmica), pero ya me he reincorporado. Así que esta semana me organizo, publico el corpus -para no ser cuello de botella- y os contesto en condiciones. ¡Gracias de nuevo a todos por pasar por aquí!

4 Me gusta