jueves, 8 de marzo de 2012

El Problema del Parafraseo.

Esta vez escribo un poco sobre lo que estoy haciendo en mi trabajo.
Trabajo en un proyecto que pretende modelar el sentido común.
Al momento estamos resolviendo un sub-problema que tiene que ver con el parafraseo.



El problema del parafraseo consiste en determinar automaticamente cuando 2 frases tienen la misma interpretación. Y cuando escribo automaticamente, me refiero a que la computadora lo haga.


Cuantas formas existen de expresar el mismo contenido?
Infinitas! Los lenguajes son creativos y variables.

Variables? Si!, variables!!
Por ejemplo, pensemos en una persona, digamos Obama. Puedes referirte a el como "el presidente", "Obama", "Barack O.","B. Obama ". Un solo concepto puede expresarse linguisticamente de diferentes formas.

 Creativo?
Es un poco mas difícil de explicar, pero la idea es que puedes  adornar una frase infinitamente de cuantos atributos,adjetivos,adverbios y aclaraciones quieras.

 Parafrase?
Imagina que estas en tu casa y acabas de terminar el almuerzo, tu mama puede decir "lleva los platos a la cocina"."recoje los platos" o "limpia la mesa".

En esta situación podríamos pensar que todas esas 3 frases significan "mas o menos" lo mismo.
Se que alguien se preguntara, pero "limpia la mesa" podria referirse a mas que simplemente levantar los platos, o que "recojer los platos" no necesariamente implica llevarlos a la cocina.
Pero dada la ambientacion sobre la situación, es muy probable que todas signifiquen 'mas o menos' la misma actividad.
Y en esto juega un papel importante el 'Sentido Comun', sabemos  [a menos que sea un lugar/situación fuera de lo común] que normalmente lavamos los platos en la cocina, y por eso no mencionamos a donde hay que llevar los platos, es 'simple' 'Sentido Comun'.


La Computadora puede encontrar parafrases?

Como hacerlo de manera automática es aun una pregunta sin respuesta.

Linguisticamente se ha establecido que el significado de una frase es la suma del significado de sus componentes [exceptuando los mal llamados 'dichos'].

Existen Ontologías como WordNet que permiten calcular la similitud entre dos palabras(no frases), apartir de grafos y conjuntos de sinónimos, lastimosamente su precision deja mucho que desear.
Sin embargo para las soluciones actuales, WordNet es un feature que no se puede despreciar.
No es un feature suficiente para la solucion  del problema, pero si necesario.

Lo que estamos haciendo  actualmente es definir un modelo de optimizacion (algunos lo llaman ILP(integer linear Programming), otros lo llaman investigación de operaciones).
En este modelo se definen restricciones y una funcion objetivo que se desea maximizar.

La idea es encontrar clusters(conjuntos) de parafrases de tal forma que el valor que se calcule de la función objetivo sea la máxima.

Que Features usar?
Bueno, la similaridad semántica establecida por WordNet, Similitud de los actores (sujetos y objetos) de las frases, entre otras. :)






No hay comentarios:

Publicar un comentario