29.4.09

¿Podría el PLN ayudar a José Manuel Lúcia?

Cual es mi sorpresa al consultar El Mundo, ver que la portada de la sección de televisión presenta como noticia principal la increible actuación de José Manuel Lúcia en Pasapalabra. Es digno de contemplarse.

Tras esta impresionate hazaña, que le ha valido a Jose Manuel la nada despreciable cifra de 396.000 euros de premio, viene a mi mente mi post de ayer en el que IBM se plantea como próximo reto de la Inteligencia Artificial el construir un sistema capaz de competir a nivel humano en el programa Jeopardy!

El programa Jeopardy! es un popular concurso norteamericano de preguntas de memoria, que exige no sólo una gran capacidad de almacenamiento (en el estándar humano), sino también una enorme rapidez de recuperación de datos. IBM plantea competir con su tecnología de respuesta a preguntas (Question Answering) llamada Watson. Aunque para un profano puede parecer fácil, el campo de QA es uno de los más activos por su interés práctico pero también por su dificultad.

¿Sería Pasapalabra un reto de igual magnitud para un sistema de Procesamiento de Lenguaje Natural? Indudablemente, no en mi opinión. Si en Jeopardý la dificulta consiste en interpretar la pregunta, en Pasapalabra nos remitimos a una interpretación básica (detectar "Contiene la X" vs. "Con la C"), y luego recuperar una palabra dada su definición. Esta segunda parte se puede hacer por técnicas de Recuperación de Información básicas sobre un diccionario exhaustivo previamente indexado. ¿O no?

Para la reflexión, ¿qué ocurre con las categorías gramaticales? Tomemos esta definición improvisada: "Con la V: Ejercicio del derecho de elección de los representantes políticos en los órganismos gubernamentales". ¿La respuesta es "Votar" o "Voto"?

Otra aplicación del Procesamiento del Lenguaje Natural relacionada con Pasapalabra es la de elección de las palabras que conforman el "rosco". El camino trivial es la elección aleatoria, pero la dificultad del rosco sería muy variable y a veces escandalosamente excesiva. La solución es catalogar las palabras por su dificultad. ¿Y como calcularla? Opino que la aproximación más razonable es usar un corpus representativo del español, y asignar a las palabras de un diccionario una dificultad según su frecuencia o popularidad, con atención a la lematización. La variación morfosintáctica debe contemplarse para, por ejemplo, reducir la flexión verbal al infinitivo que aparece en un diccionario. El detalle de seleccionar las palabras de manera que mantengan un nivel de dificultad que equilibre el rosco es un problema de optimización que se puede resolver con algorítmica habitual (entiendo que en este caso, podría valer una aproximación de avance rápido (greedy) o a lo sumo de programación dinámica.

Para finalizar, felicitar a José Manuel por su hazaña, y agraderle su inspiración para este post y el magnífico momento que me ha hecho pasar contemplando el vídeo.