Artículos

Tecnologías esenciales para la cultura libre: el tratamiento automatizado de textos – ArticaOnline #Hackeaelsistema

Para socializar la cultura es imprescindible democratizar ciertas tecnologías esenciales. Cuando hablamos de cultura libre, no solo hablamos de acceso a materiales culturales, sino también de la libertad de reutilizarlos y transformarlos, para lo cual también es necesario tener acceso a herramientas. Las herramientas para el tratamiento del texto escrito son de las más fundamentales, ya que el texto es una de las formas de producción y transmisión de conocimientos más importantes para la humanidad. ¿Cuáles son estas herramientas? Desde traductores automáticos hasta bots que escriben textos a partir de datos crudos. Se trata de tecnologías para la realización de tareas consumidoras de tiempo y energía, pero cada vez más necesarias para organizar la gran cantidad de conocimiento que la digitalización de la cultura está generando, hacer de ese conocimiento algo útil, relevante y contextualizado, y a su vez generar nuevas producciones, con nuevos significados para ser usados en nuevos contextos. Las ciencias de la computación han generado herramientas para simplificar y automatizar procesos complejos que se realizan con texto. En algunas de estas aplicaciones tiene un rol importante la inteligencia artificial y, dentro de ella, el procesamiento de lenguajes naturales. Muchos de estos proyectos, por su complejidad, deben ser abordados en forma colectiva y multidisciplinaria. Los resultados de estos esfuerzos no deberían quedar en manos exclusivamente privadas. Como usuarios, deberíamos poder distinguir esas tecnologías de la magia para entender que pueden y deben estar en el procomún, donde cualquiera puede acudir a ellas para usarlas. Sin la intención de crear una lista exhaustiva, a continuación mencionamos algunas tecnologías que, en nuestra opinión, son esenciales para socializar la cultura escrita en tiempos digitales.

Traducción automática

El procedimiento mágico que realiza por nosotros el traductor de Google es el resultado de décadas de avances de la lingüística computacional que hoy permiten no solo la traducción de palabras sueltas, sino también de expresiones y corpus de texto completos. Aunque este tipo de traducciones automáticas no son perfectas, cada día mejoran más. Si bien podemos usar el traductor de Google gratuitamente, su código no es abierto y para utilizarlo estamos supeditados a lo que Google, una corporación privada, decida sobre su herramienta. Peor aún, el valor que aportan los usuarios para mejorar la herramienta, a través de sus correcciones, es apropiado por la empresa, que no pone a disposición los conjuntos de datos aportados por la sociedad. Es por esto que son importantes los proyectos como Apertium, un sistema de código abierto para la traducción automática que es utilizado, por ejemplo, como motor de traducción automática por Wikipedia, permitiendo a los usuarios obtener versiones de un artículo en un idioma diferente, y luego, como todo en Wikipedia, editarlo para perfeccionar la traducción inicial.

Reconocimiento óptico de caracteres (OCR)

Cuando abrimos un texto escaneado y somos capaces de hacer selecciones y búsquedas en su interior, incluso copiar y pegar contenido, estamos aprovechando las capacidades de una tecnología llamada “reconocimiento óptico de caracteres”, conocida como OCR por sus siglas en inglés. Esta tecnología nos ahorra la transcripción de grandes masas de texto, que, al ser digitalizado y reconocido, puede ser tratado y manipulado. Es particularmente útil en proyectos de digitalización de publicaciones originalmente impresas. El OCR opera mediante algoritmos que, a partir de ciertos patrones, se encargan de contrastar las imágenes con los caracteres de un alfabeto. Estos algoritmos pueden ser propiedad de una corporación, pero también existen proyectos libres cada vez mejores, que realizan esta tarea con eficacia. Uno de ellos es Tesseract, un motor de OCR desarrollado por Google pero de licencia libre, que puede ser utilizado a través de programas libres, como gImageReader o OCRFeeder

Reconocimiento automático de voz (transcripciones de voz a texto)

La inteligencia artificial aplicada en este campo permite procesar las voces y reconocer la información emitida por ellas para convertirlas a texto, interactuar con un dispositivo mediante la voz (por ejemplo, a través de asistentes personales en los teléfonos móviles) o automatizar servicios de ayuda, entre otras posibilidades. Las aplicaciones que transforman el habla en texto se usan para escribir mediante el dictado, pero también son una forma de comunicación para personas con sordera o dificultades para captar el lenguaje hablado. Para que estas herramientas funcionen se necesita la información referente a la gramática (un modelo linguístico) y la información acústica, es decir, un corpus de voces suficientemente grande en el idioma deseado como para obtener un reconocimiento eficaz. En este último aspecto es que todavía no hay un proyecto de software libre tan bueno como los privativos, ya que no se ha generado un gran corpus de voz libre en todos los idiomas. En esto está trabajando el proyecto Vosforge, entre otros, y aquí explican el problema.

Síntesis de voz (texto a voz)

Las tecnologías TTS (text to speech o texto a voz) traducen los caracteres escritos a sonidos inteligibles por humanos para que podamos escuchar el texto. Estas herramientas pueden ser utilizadas en el sistema operativo de la computadora, en el navegador web, en un smartphone, etc., y su principal uso es la accesibilidad para personas ciegas o con dificultades para leer. Por lo tanto, contar en el acervo común de la humanidad con motores y aplicaciones de texto a voz, así como con un repertorio de voces libres variado en idiomas y acentos locales, es fundamental para garantizar el acceso a la cultura a estos usuarios. Las tecnologías TTS también pueden usarse para la creación de contenidos audiovisuales en los que se necesita producir automáticamente audio a partir de texto, como, por ejemplo, para narrar un video en un idioma que no dominamos partiendo de un texto traducido. Es fundamental contar con sistemas libres y abiertos, así como distintas aplicaciones e interfaces. El Centro de Investigación de Tecnologías del Lenguaje de la Universidad de Edinburgo, la Universidad Carnegie Mellon y otras universidades han desarrollado Festival, un sistema de síntesis de voz de propósito general para múltiples idiomas. Existen diversas herramientas para usar sistemas TTS, desde aplicaciones web gratuitas hasta lectores de pantalla para Firefox y software de escritorio para distintos sistemas operativos. Un tip: las grabaciones de audio a partir de síntesis de voz pueden realizarse fácilmente con Audacity.

Extracción de datos

Extraer información que originalmente no está estructurada en la forma en que necesitamos leerla o utilizarla puede ser una tarea muy tediosa cuando se realiza copiando y pegando, uno a uno, los datos. Para superar este desafío se pueden utilizar procedimientos automáticos que extraen la información. Estos procedimientos se pueden aplicar, por ejemplo, para archivar y examinar sitios web (web crawling), o para reunir información específica de los mismos (web scraping), o de cualquier tipo de documentos de texto. Esta tarea puede ser útil para distintos propósitos, como reunir datos sobre un tema (precios, clima, etc.), o como forma de preservar versiones de sitios, como hace Internet Archive, el famoso “archivo de la web”. Lo que permite el scraping es la transformación de datos sin estructura en datos estructurados para su almacenamiento y análisis en una base de datos central, o en una planilla. Un ejemplo claro de la aplicación de este tipo de herramienta lo explica Scann en el blog Taller de digitalización, donde cuenta cómo se pudieron extraer datos de 1500 escritores argentinos a partir de un libro previamente escaneado y procesado con OCR, y obtener de esto una planilla bien estructurada.

La extracción de datos generalmente se consigue programando un script de búsqueda y extracción. Una herramienta libre para esto es Scrapy. Y si se desea utilizar una herramienta visual se puede recurrir a la interfaz de Portia para usar Scrapy.  Para tareas de extracción menos complejas, se pueden usar extensiones para Chrome y Firefox, así como aplicaciones para extracción de datos desde un PDF.

Generación de lenguaje natural (natural language generation – NLG)

Tal vez hayan escuchado algo acerca de noticias o artículos creados automáticamente por software. Puede ser algo que suena a ciencia ficción y a menudo la temática es tratada de esa manera, con grandes titulares hablando de robots que sustituyen a periodistas y escritores. Pero se trata, nada más ni nada menos, que de una tecnología que genera un texto escrito bien estructurado e inteligible a partir de datos. El concepto clave es “data to text” o datos a texto. Por ejemplo, a partir de datos del clima o de resultados deportivos, o a partir de obras literarias, la máquina puede redactar un texto por sí misma, siguiendo patrones de lenguaje natural que incorpora a través de léxicos, reglas gramaticales y algoritmos que le permiten tomar decisiones. Más que sustituir a redactores humanos, estas herramientas pueden ser un apoyo, facilitando la interpretación de datos crudos y acelerando la construcción de un texto a partir de una estructura que después es chequeada y completada. Un ejemplo bastante popular son los bots que escriben o mejoran artículos en Wikipedia, hoy imprescindibles para mantener la calidad de la enciclopedia libre. Además de realizar tareas de mantenimiento, también se aplican en algunos idiomas de Wikipedia a la creación de artículos a partir de información organizada en datos, como por ejemplo, artículos sobre asteroides con los datos de la NASA. Son programados por colaboradores y deben cumplir las políticas de bots y ser aprobados por votación en la comunidad de wikipedistas. Si bien algunas corporaciones privadas ofrecen servicios de generación de texto en lenguaje natural, todavía no existen muchos proyectos de software libre que se hayan generalizado, aunque esto en el futuro podría (y debería) cambiar. Una herramienta libre que parece muy interesante, aplicada a literatura computacional, es RiTa.

Democratizar las herramientas

Así como es innegable que la alfabetización y el acceso a la lectura y la escritura son derechos fundamentales, estas herramientas tecnológicas, cada vez más avanzadas, sofisticadas y generalizadas, deberían estar al alcance de quien las necesite. Democratizar la cultura no es tan solo disponibilizarla, sino también ampliar las capacidades de uso y transformación. Las herramientas de software libre son fundamentales en esta democratización, porque su apertura posibilita compartir las mejoras y aportes necesarios para ampliar los idiomas, léxicos y vocabularios, atendiendo a la diversidad cultural y a las necesidades de distintos colectivos frente al texto escrito.