martes, 3 de mayo de 2016

Análisis y comprensión artificial de textos

I

Antonio Moreno, "¿Cómo puede un ordenador entender el lenguaje natural?", en  Huffington Post, 3/05/2016:

¿Cómo entrenan los investigadores de la Inteligencia Artificial a los ordenadores para leer y extraer información de documentos escritos? ¿Cómo consiguen que un ordenador realice análisis automático de textos?

La comprensión de una lengua natural es una tarea clave 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 incluso a la visión. Un buen ejemplo de un sistema de comunicación hombre-máquina sería uno en el que una máquina puede leer una pregunta de un humano y procesarla para proporcionar una respuesta.

Hoy estamos inundados de Big Data, es decir, cantidades enormes de datos en diversos formatos, incluido el textual, y sería un disparate leer y procesar toda esa información de forma manual. Es por eso por lo que los sistemas de análisis automático de texto (Text Analytics) están teniendo mucho éxito en los últimos tiempos, ya que su función es entender la información no estructurada expresada en una lengua y convertirla en información estructurada como resumen de su contenido, como una relación entre sus elementos más significativos o clasificando un documento por su temática.

La tecnología se aplica ya a sectores muy diversos, desde la medicina a las finanzas o la legislación. Hay aplicaciones que leen millones de emails y los clasifican como spam, y otras que clasifican tuits como positivos o negativos. Algunos ejemplos de ello son el sistema Watson, que ha ganado a los mejores competidores humanos en el concurso Jeopardy, o la aplicación Lynguo, que analiza textos de forma automática para perfilar a los clientes y detectar opiniones o emociones.

¿Cómo es todo esto posible? Naturalmente, con décadas de investigación y desarrollo, pero sobre todo con aproximaciones híbridas e interdisciplinarias: combinando razonamiento lógico y lingüístico, análisis estadístico e innumerables bases de conocimiento.

Sin embargo, 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 comprensión del contenido y en el aprendizaje, es decir, cómo conseguir interpretar mensajes nunca antes analizados por el ordenador.

Esto es precisamente lo que realizan los niños: con pocos estímulos e instrucción, son capaces de ir aprendiendo estructuras lingüísticas y contenido semántico y pragmático muy rápidamente. Sin embargo, los ordenadores todavía tienen una capacidad de aprendizaje de fenómenos lingüísticos nuevos muy reducida.

Si quieres saber un poco más sobre el análisis automático de texto, consulta este artículo: El análisis automático de texto con 'Big Data' e Inteligencia Artificial.

II


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.