lunes, 5 de septiembre de 2016

PROCESAMIENTO DEL LENGUAJE

Cuando el ordenador habla tu idioma: procesamiento de lenguaje

Siri
Todavía nos falta una parte de los sistemas inteligentes: la comunicación natural. Es quizás la parte más llamativa, la que permite que un ordenador se comunique con nosotros y nosotros con él, sin tener que aprender lenguajes de programación ni miles de comandos con poco sentido. Este es el área de la IA llamadaprocesamiento de lenguaje natural.
La primera parte es que el ordenador sea capaz de entender una frase natural. Hay varias posibilidades para lograrlo. Una de ellas, la más simple, es buscar coincidencias en una base de datos de acciones predefinidas. En otras palabras, que cuando a tu programa de control por voz le dices "Reproducir la lista de rock", lo que hará será detectar la palabra "reproducir", la palabra "lista" y "rock" y, usando instrucciones que los programadores han incluido explícitamente, buscara en tu música una lista que sea "rock" y lo reproducirá.
La cuestión es que ese enfoque es limitado. No podemos decir que un sistema es inteligente si lo único que hemos hecho ha sido preprogramarle las respuestas explícitamente. Queremos que un sistema nos entienda incluso las frases que "oye" o "lee" por primera vez.
Para resolver este problema, una de las técnicas más interesantes que se usa consiste en usar algo que deberíais recordar del instituto: análisis sintáctico. Conociendo la estructura del lenguaje, la gramática, un ordenador puede convertir una frase como "¿Cuál es la sede del ministerio que se encarga de la agricultura en España?" en una consulta que le haga buscar, entre los ministerios de España, el que entre sus responsibilidades tiene "agricultura" y que de él saque la propiedad "sede".
¿RECORDÁIS EL ANÁLISIS SINTÁCTICO DEL INSTITUTO? ESO MISMO SE PUEDE USAR PARA QUE UN ORDENADOR "ENTIENDA" LO QUE LE QUIERES DECIR
El sistema necesitará también el significado de las palabras. El análisis sintáctico le puede decir que el "ministerio" está en "España", pero necesitaría saber que "España" es un país para poder entender qué significa exactamente eso de "estar en España".
Algo así es lo que hacía el sistema SHRDLU, creado en 1971. Usando la gramática del inglés, el sistema era capaz de entender las preguntas y órdenes que se le daban sobre un mundo virtual con varios objetos, como cubos y pirámides.
CubosEste es el mundo virtual de SHRDLU, que entiende el lenguaje natural. Así, es capaz de mover objetos o apilarlos unos sobre otros en base a lo que le pidas, o responderte preguntas como "¿Dónde está el cubo verde?".
Es una tarea compleja, como podéis imaginar. Hay que tener bien organizadas y clasificadas las palabras y todos sus posibles significados (lo que se llama elléxico). Hay que tener en cuenta las ambigüedades y lo que se da por supuesto en el lenguaje, y también el contexto. Por ejemplo, ¿qué haría un ordenador con la frase "La primera planta de la casa está hecha un desastre"? Podemos estar hablando de una planta vegetal o del primer piso, eso depende del contexto. Además, el ordenador debería saber que "estar hecho un desastre" es una frase hecha y no queremos decir que la planta que teníamos en una maceta se haya convertido en un huracán o algo así.
Para saltarnos estos problemas, muchas veces se usan técnicas que no requieren tanto "entendimiento" del lenguaje. Identificación de palabras claves o nombres, resúmenes, clasificación de frases o análisis de sentimientos son algunas de las tácticas que se usan para que un ordenador "entienda" lo que un humano le está queriendo decir.
Un ejemplo es el sistema IBM Watson, capaz de jugar y ganar a humanos en un concurso llamado Jeopardy! que consiste en responder a preguntas tipo trivia sobre varios temas lo más rápido posible. Para ello, Watson usa varias técnicas para entender la pregunta y otras tantas para buscar la respuesta en su base de datos. Si varias técnicas proporcionan la misma respuesta, el sistema la da por buena. Es un enfoque pragmático: como es difícil simular la mente humana, es mejor usar varias técnicas distintas que, aunque no sean "inteligentes" y no entiendan realmente lo que se pregunta, sí sean capaces de dar respuestas y no sean tan complejas de programar.
La otra parte del procesamiento del lenguaje es recorrer el camino en sentido contrario: generar un texto natural que represente el conocimiento que quiere transmitir el sistema. Igualmente, aquí hay varios enfoques: desde el uso de plantillas predefinidas (por ejemplo, un asistente de voz cuando le preguntas qué tiempo va a hacer responde "Hoy/mañana/el día X va llover/hacer sol/nevar/diluviar") hasta sistemas que, de nuevo, "entienden" la gramática y traducen su representación formal a una estructura sintáctica y después buscan en el léxico las palabras que necesitan para crear la frase.
www.xataka.com/robotica

1 comentario:

  1. En el nudo borroneo, hay una inscripción con la palabra VIDA, en el círculo de lo Real. Lacan manifiesta que indiscutiblemente de la vida, salvo esa vaga expresión que consiste en enunciar el gozar de la vida, de la vida no sabemos nada más, sino únicamente lo que la ciencia nos induce, o sea que nada hay más real, lo cual quiere decir más imposible, que imaginar según las leyes cómo iniciarse esta construcción química que, con elementos distribuidos en cualquier cosa y de la manera que queramos clasificarla según las leyes de la ciencia, presuntamente empezó de repente a construir una molécula de ADN, esto es, algo en lo cual, permitanme decírselos, vemos ya formarse la imagen de un nudo. ¿CÓMO SE ESTRUCTURA UN ALGORITMO? Este tema, por el momento me resulta inalcanzable.
    Lacan, La Tercera

    ResponderEliminar