# Búsqueda de respuestas

La búsqueda de respuestas, en inglés Question Answering (QA), es un tipo de recuperación de la información. Dada una cierta cantidad de documentos (tales como World Wide Web), el sistema debería ser capaz de recuperar respuestas a preguntas planteadas en lenguaje natural. QA es observado como un método que requiere una tecnología de Procesamiento de lenguaje natural más compleja que otros tipos de sistemas para la Recuperación de documento, y, en algunos casos, se le observa como un paso por delante de la tecnología del buscador.
Un sistema de question answering es uno de los sistemas más complejos en torno a la recuperación de información. Debemos de tener en cuenta que un sistema basado en el question-answering es mucho más difícil que un sistema normal que se encarga de buscar una información en una cantidad más o menos grande de documentos, ya que estos debe extraer de dichos documentos un fragmento de texto (mínimo) que responda a una pregunta dada en lenguaje natural. Estos sistemas están muy ligados a los buscadores web.
Un sistema de question-answering intenta reconocer un amplio rango de tipos de cuestiones, incluyendo hechos, listas, definiciones, cómo, cuándo, dónde, por qué, etc. Dichas búsquedas pueden variar desde pequeñas colecciones de documentos locales, organizaciones internas de documentos, hasta la web entera (o una parte de ella).

## Arquitectura

Los primeros sistemas de question-answering se desarrollaron en torno a 1960 y básicamente eran interfaces de lenguaje natural para sistemas expertos centradas en dominios específicos. En contraste, los sistemas de question-answering actuales utilizan documentos de texto como base de conocimiento y combinan diversas técnicas de procesamiento del lenguaje natural.
Los sistemas actuales suelen incluir un módulo de clasificación de preguntas (question classifier module) que se encarga de determinar el tipo de pregunta y respuesta. Tras analizar la pregunta, el sistema utiliza diversos módulos que aplican complejas técnicas de procesamiento de lenguaje natural aumentando la complejidad entre cada módulo. Tras ello, se aplica un módulo de recuperación de documentos que utiliza motores de búsqueda para identificar documentos y párrafo en el documento que puedan contener la respuesta a la pregunta.
Posteriormente, se aplica un filtro que se encarga de seleccionar pequeños trozos de texto que contengan cadenas del mismo tipo al esperado. Por ejemplo, si la pregunta es ¿Quién es el rey de España?, este filtro buscara textos que contengan nombres. Para finalizar, el módulo de extracción de respuestas es el encargado de buscar pistas en el texto que determinen si una respuesta candidata es correcta

## Métodos QA

Un sistema de question-answering es muy dependiente de un buen motor de búsqueda que se encargue de seleccionar documentos que contengan la respuesta. Parece lógico que grandes colecciones de documentos tiende a producir mejor rendimiento, a menos que el dominio de la cuestión sea ortogonal al de la colección. La noción de redundancia de datos en colecciones masivas, como la web, significa que es probable que parte de la información esté en varios sitios, contextos y documentos distintos. Esto tiene dos beneficios, se reduce la carga de los sistemas de procesamiento de lenguaje natural, y que podemos considerar las respuestas correctas como aquellas que aparecen más veces.
Podemos hacer una diferenciación entre dos métodos distintos profundidad o anchura:
En profundidad se utilizan varios métodos para localizar fragmentos de texto de documentos para después filtrarlos basándose en la presencia de la respuesta deseada. Finalmente, esas respuestas se ordenan basándose en diferentes criterios.
Sin embargo, en los casos en los que la reformulación de la pregunta no es suficiente, se debe realizar un análisis semántico y contextual. Estos sistemas suelen incluir sistema de gestión del conocimiento representados en ontologías, como WordNet o SUMO.

## Historia

Algunos de los primeros sistemas de inteligencia artificial eran sistemas de question-answering. Dos de los sistemas de question-answering más famosos por aquellos tiempos eran BASEBALL y LUNAR que se desarrollaron en los años 1960. El primero, BASEBALL respondía preguntas sobre los jugadores de béisbol de Estados Unidos en el periodo de un año. El segundo, LUNAR, se encargaba de responder preguntas sobre análisis geológico de las rocas que trajo el Apollo en su viaje a la Luna. Ambos sistemas eran bastante efectivos, de hecho LUNAR era capaz de responder al 90% de las preguntas correctamente. Varios sistemas de question-answering de dominio cerrado se construyeron en los años posteriores, cuya funcionalidad común era que tenían núcleo basado en las bases de datos de conocimiento escritas por expertos.
Algunos de estos primerizos sistemas de inteligencia artificial incluían habilidades de question-answering. Dos de los más importantes y famosos sistemas fueron SHRDU y ELIZA. SHRDLU simulaba la operación de un robot en un mundo virtual (mundo de los blockes), y ofrecía la posibilidad de preguntar al robot sobre el estado el mundo virtual. La potencia de este sistema fue la elección de un dominio muy específico y un mundo simple con reglas físicas que eran muy fácil de codificar. Por otro lado, ELIZA, simulaba una conversación con un psicólogo. ELIZA era capaz de conversar de cualquier tema mediante el uso de reglas muy simples que detectaban palabras importantes en la entrada. Era un sistema muy rudimentario para responder preguntas, pero generó una serie de charrterbots que participaron el en premio anual Loebner prize.
En las décadas de los 70 y 80 se apreció el desarrollo de las teorías de comprensión en lingüística computacional, lo cual permitió el desarrollo de proyectos de comprensión de texto y question-answering. Un ejemplo de estos sistemas es el Unix Consultant (UC), que respondía preguntas referentes a sistema operativo Unix. Este sistema tenía una base de datos de conocimiento comprensible del dominio. Otro proyecto fue LILOG, que fue un sistema reconocedor de texto que operaba en el dominio del turismo en una ciudad alemana.
A finales de los 90 la conferencia anual Text Retrieval Conference (TREC) incluía un sistema de question-answering que sigue ejecutando hoy en día. Los sistemas que participan en esta competición deben de responder cuestiones sobre un tema buscando un trozo de texto que varía de un año para otro. Esta competición encaminó la búsqueda y desarrollo del question-answering en dominio abierto. Los mejores sistemas del año 2004 lograron un 77% de las preguntas correctas. Un creciente número de sistemas incluyen la web como uno de los cuerpos de texto. Actualmente hay un gran crecimiento en el interés de la integración de sistemas de questión answering en la Web. Ask.com es un ejemplo reciente, y Google y Microsoft han empezado a integrar las facilidades del question-answering en sus buscadores Web.

## Aspectos

En 2002 un grupo de investigadores una guía sobre question-answering. En ella se identifican los siguientes aspectos.
* Tipos de cuestiones: diferentes tipos de preguntas requieren el uso de diferentes estrategias para encontrar la respuesta. Los tipos de cuestiones se organizan jerárquicamente en taxonomías.
* Procesamiento de cuestiones: la misma pregunta puede ser expresada de varias formas (interrogativa o asertivamente). Un modelo semántico que entienda estos tipos de preguntas es necesario para reconocer cuestiones equivalentes. Este modelo permite la transición de un cuestión compleja a varias cuestiones simples.
* Contexto del question-answering: las preguntas son usualmente preguntadas con un contexto y respondidas con ese mismo contexto. El contexto se puede usar para clarificar una cuestión, resolver ambigüedades.
* Recursos de datos: antes de que una pregunta pueda ser contestada, se debe saber que recursos de sabiduría están disponibles. Si la respuesta a una pregunta no está en esos recursos, no importa cuán bien procesemos la pregunta, pues no obtendremos una respuesta correcta.
* Extracción de la respuesta: la extracción de la respuesta depende de la complejidad de la pregunta, en el tipo de respuesta que seleccionada en el procesamiento de cuestiones, en los datos que disponemos y en el método de búsqueda.
* Formulación de la respuesta: en resultado del sistema de question-answering debe ser presentado en un lenguaje tan natural como sea posible. En algunos casos, la extracción simple es insuficiente. Por ejemplo, cuanto la clasificación de una cuestión indica que la pregunta es el tipo nombre, una cantidad, o una fecha, la extracción del dato es suficiente. Para otros casos, la presentación de la respuesta puede requerir el uso de otros tipos de técnicas.
* Question-answering en tiempo real: la respuesta en tiempo real es muy necesaria. Estos sistemas tienen que ser capaces de procesar grandes cantidades de datos en un tiempo reducido.