Este post trata de cómo los investigadores de la Inteligencia Artificial (IA) entrenan a los ordenadores a leer y extraer información de documentos escritos. Es decir, sobre cómo conseguir que un ordenador realice análisis automático de textos.
La comprensión de una lengua natural como el español o el chino (Natural Language Understanding, en la jerga de la IA) es una de las tareas claves para dotar de inteligencia a agentes computacionales. El lenguaje es probablemente el mecanismo de entrada de datos más importante y eficiente de los seres humanos, superando a la visión (aunque no suplantándola).
Leer una pregunta de un usuario y buscarla en una fuente de información (ya sea en una base de datos o en Internet) para proporcionar una respuesta es un buen ejemplo de un sistema de comunicación hombre-máquina. Con la extensión global de Internet estamos inundados de Big Data (cantidades enormes de datos en diversos formatos, incluido el textual). Nadie es capaz ni de imaginarse leyendo y procesando toda esa información.
Por ello, los sistemas de Análisis automático de texto (Text Analytics) han florecido en los últimos tiempos. Su objetivo es entender la información no estructurada expresada en una lengua y convertirla en información estructurada, bien como resumen de su contenido, como una relación entre sus elementos más significativos o clasificando un documento por tu tipología temática. La tecnología está madura y se aplica a muy diversos sectores, desde la medicina a las finanzas o la legislación. Hay aplicaciones que leen millones de emails y los clasifican como spam o analizan tuits como positivos o negativos. Incluso hay un sistema (Watson) que ha ganado en el concurso Jeopardy a los mejores competidores humanos. Otro ejemplo es la herramienta Lynguo, que analiza textos de forma automática para perfilar a los clientes, detectar opiniones, sentimientos, intenciones o emociones.
¿Cómo se ha conseguido todo esto? Naturalmente con décadas de investigación y desarrollo, pero sobre todo de aproximaciones híbridas e interdisciplinarias: desde razonamiento lógico y lingüístico hasta análisis estadístico, e innumerables bases de conocimiento.
Cualquier niño de la escuela infantil, antes de aprender a escribir, ya habla su lengua materna con una fluidez y destreza muy superiores a las de un adulto que está aprendiendo una segunda lengua a la que le ha dedicado varios años de estudio. La aparente paradoja cognitiva entre la capacidad de aprendizaje y el nivel de experiencia e inteligencia del niño y el adulto es la pregunta que ha inspirado a numerosos psicólogos y lingüistas durante décadas.
Por supuesto, todavía estamos lejos de llegar a un funcionamiento fluido y satisfactorio similar a la capacidad analítica de un ser humano medio. Como dice John Sowa, los sistemas inteligentes necesitan integrar un ciclo cognitivo de percepción, aprendizaje, razonamiento y acción. La parte del procesamiento del lenguaje natural se centra sobre todo en la percepción (entender el contenido) y en el aprendizaje, es decir, cómo conseguir interpretar mensajes nuevos nunca antes analizados por el ordenador. Esto es precisamente lo que realizan los niños: con pocos estímulos y escasa instrucción directa son capaces de ir aprendiendo muy rápidamente estructuras lingüísticas y contenido semántico y pragmático. Sin embargo, los ordenadores tienen todavía una capacidad de aprendizaje de fenómenos lingüísticos nuevos muy reducida. De hecho, el coste de adaptar un sistema a un nuevo dominio semántico es todavía muy alto en términos de tiempo y esfuerzo.
Si te interesa adentrarte en el Análisis automático de texto, te animamos a que te descargues la publicación Text Analytics: the convergence of Big Data and Artificial Intelligence.
Es muy provechosa está información. Por años he estado desarrollando un algoritmo computacional capaz de interpretar un texto de respuesta a una pregunta abierta en un cuestionario acerca de un tema específico dentro de una clasificación internacional, tal como la CIIU, la CIUO, la CIE10, etc. Un ejemplo: Pregunta: Qué actividad económica realizó donde trabajó la semana pasada? Respuesta textual del informante: estuve dedicado al cuidado de niños, lavado, planchado en casas particulares. El sistema debe leer el texto, separar frases relacionadas con la actividad o servicio, el producto, el lugar y el modo de hacer la actividad. Luego debe contrastar con el texto de la actividad codificada en la clasificación internacional CIIU 4 y devolver el código o códigos más cercanos en significado con el texto respondido a un nivel jerarquico específico de la clasificación.