La respuesta a preguntas ( QA ) es una disciplina de la informática dentro de los campos de recuperación de información y procesamiento del lenguaje natural (NLP) que se ocupa de construir sistemas que respondan automáticamente preguntas planteadas por humanos en un lenguaje natural . [1]
Una implementación de preguntas y respuestas, generalmente un programa informático, puede construir sus respuestas consultando una base de datos estructurada de conocimiento o información, generalmente una base de conocimiento . Más comúnmente, los sistemas de preguntas y respuestas pueden extraer respuestas de una colección no estructurada de documentos en lenguaje natural.
Algunos ejemplos de colecciones de documentos en lenguaje natural utilizados para sistemas de respuesta a preguntas incluyen:
La investigación de preguntas y respuestas intenta desarrollar formas de responder a una amplia gama de tipos de preguntas, incluidas preguntas sobre hechos, listas, definiciones , cómo, por qué, hipotéticas, semánticamente restringidas y translingüísticas.
Otra forma de clasificar los sistemas de preguntas y respuestas es según el enfoque técnico utilizado. Existen distintos tipos de sistemas de control de calidad, entre ellos:
Los sistemas basados en reglas utilizan un conjunto de reglas para determinar la respuesta correcta a una pregunta. Los sistemas estadísticos utilizan métodos estadísticos para encontrar la respuesta más probable a una pregunta. Los sistemas híbridos utilizan una combinación de métodos estadísticos y basados en reglas.
Dos de los primeros sistemas de respuesta a preguntas fueron BASEBALL [4] y LUNAR. [5] BASEBALL respondió preguntas sobre las Grandes Ligas de Béisbol durante un período de un año [ ambiguo ] . LUNAR respondió preguntas sobre el análisis geológico de las rocas devueltas por las misiones Apolo a la Luna. Ambos sistemas de respuesta a preguntas fueron muy eficaces en sus dominios elegidos. LUNAR se demostró en una convención de ciencia lunar en 1971 y pudo responder al 90% de las preguntas en su dominio que fueron planteadas por personas no capacitadas en el sistema. En los años siguientes se desarrollaron otros sistemas de respuesta a preguntas de dominio restringido. La característica común de todos estos sistemas es que tenían una base de datos central o un sistema de conocimiento que fue escrito a mano por expertos del dominio elegido. Las habilidades lingüísticas de BASEBALL y LUNAR usaban técnicas similares a ELIZA y DOCTOR , los primeros programas chatterbot .
SHRDLU fue un exitoso programa de preguntas y respuestas desarrollado por Terry Winograd a finales de los años 1960 y principios de los años 1970. Simulaba el funcionamiento de un robot en un mundo de juguete (el "mundo de los bloques") y ofrecía la posibilidad de formularle preguntas sobre el estado del mundo. La fortaleza de este sistema era la elección de un dominio muy específico y un mundo muy simple con reglas de física que eran fáciles de codificar en un programa informático.
En la década de 1970, se desarrollaron bases de conocimiento que apuntaban a dominios de conocimiento más estrechos. Los sistemas de respuesta a preguntas desarrollados para interactuar con estos sistemas expertos produjeron respuestas más repetibles [ necesitaban aclaración ] y válidas a las preguntas dentro de un área de conocimiento. Estos sistemas expertos se parecían mucho a los sistemas de respuesta a preguntas modernos, excepto en su arquitectura interna. Los sistemas expertos dependen en gran medida de bases de conocimiento construidas y organizadas por expertos , mientras que muchos sistemas de respuesta a preguntas modernos se basan en el procesamiento estadístico de un corpus de texto grande, no estructurado y en lenguaje natural.
En los años 1970 y 1980 se desarrollaron teorías integrales en lingüística computacional , que llevaron al desarrollo de proyectos ambiciosos en comprensión de textos y respuesta a preguntas. Un ejemplo fue Unix Consultant (UC), desarrollado por Robert Wilensky en UC Berkeley a fines de los años 1980. El sistema respondía preguntas relacionadas con el sistema operativo Unix . Tenía una base de conocimiento integral y elaborada a mano de su dominio, y apuntaba a formular la respuesta para adaptarse a varios tipos de usuarios. Otro proyecto fue LILOG, un sistema de comprensión de textos que operaba en el dominio de la información turística en una ciudad alemana. Los sistemas desarrollados en los proyectos UC y LILOG nunca pasaron de la etapa de simples demostraciones, pero ayudaron al desarrollo de teorías sobre lingüística computacional y razonamiento.
Se han desarrollado sistemas especializados de respuesta a preguntas en lenguaje natural, como EAGLi para científicos de la salud y la vida. [6]
Los sistemas de control de calidad se utilizan en una variedad de aplicaciones, incluidas
A partir de 2001 [actualizar], los sistemas de preguntas y respuestas generalmente incluían un módulo clasificador de preguntas que determinaba el tipo de pregunta y el tipo de respuesta. [7]
Los distintos tipos de sistemas de respuesta a preguntas emplean diferentes arquitecturas. Por ejemplo, los sistemas de respuesta a preguntas de dominio abierto modernos pueden utilizar una arquitectura de recuperador-lector. El recuperador tiene como objetivo recuperar documentos relevantes relacionados con una pregunta dada, mientras que el lector se utiliza para inferir la respuesta a partir de los documentos recuperados. Sistemas como GPT-3 , T5, [8] y BART [9] utilizan una arquitectura de extremo a extremo [ jerga ] en la que una arquitectura basada en transformadores [ jerga ] almacena datos textuales a gran escala en los parámetros subyacentes. Dichos modelos pueden responder preguntas sin acceder a ninguna fuente de conocimiento externa.
La respuesta a preguntas depende de un buen corpus de búsqueda ; sin documentos que contengan la respuesta, poco puede hacer cualquier sistema de respuesta a preguntas. Las colecciones más grandes generalmente significan un mejor rendimiento de respuesta a preguntas, a menos que el dominio de la pregunta sea ortogonal a la colección. La redundancia de datos en colecciones masivas, como la web, significa que es probable que fragmentos de información se redacten de muchas maneras diferentes en diferentes contextos y documentos, [10] lo que genera dos beneficios:
Algunos sistemas de respuesta a preguntas dependen en gran medida del razonamiento automatizado . [11] [12]
En la recuperación de información , un sistema de respuesta a preguntas de dominio abierto intenta devolver una respuesta a la pregunta del usuario. La respuesta devuelta se presenta en forma de textos cortos en lugar de una lista de documentos relevantes. [13] El sistema encuentra respuestas utilizando una combinación de técnicas de lingüística computacional , recuperación de información y representación del conocimiento .
El sistema toma una pregunta en lenguaje natural como entrada en lugar de un conjunto de palabras clave, por ejemplo: "¿Cuándo es el día nacional de China?" Luego transforma esta oración de entrada en una consulta en su forma lógica . Aceptar preguntas en lenguaje natural hace que el sistema sea más fácil de usar, pero más difícil de implementar, ya que hay una variedad de tipos de preguntas y el sistema tendrá que identificar la correcta para dar una respuesta sensata. Asignar un tipo de pregunta a la pregunta es una tarea crucial; todo el proceso de extracción de respuestas se basa en encontrar el tipo de pregunta correcto y, por lo tanto, el tipo de respuesta correcto.
La extracción de palabras clave es el primer paso para identificar el tipo de pregunta de entrada. [14] En algunos casos, las palabras indican claramente el tipo de pregunta, por ejemplo, "Quién", "Dónde", "Cuándo" o "Cuántos"; estas palabras pueden sugerir al sistema que las respuestas deben ser del tipo "Persona", "Ubicación", "Fecha" o "Número", respectivamente. Las técnicas de etiquetado POS (partes del discurso) y de análisis sintáctico también pueden determinar el tipo de respuesta. En el ejemplo anterior, el sujeto es "Día Nacional Chino", el predicado es "es" y el modificador adverbial es "cuándo", por lo tanto, el tipo de respuesta es "Fecha". Desafortunadamente, algunas palabras interrogativas como "Cuál", "Qué" o "Cómo" no corresponden a tipos de respuesta inequívocos: cada una puede representar más de un tipo. En situaciones como esta, es necesario considerar otras palabras en la pregunta. Se puede utilizar un diccionario léxico como WordNet para comprender el contexto.
Una vez que el sistema identifica el tipo de pregunta, utiliza un sistema de recuperación de información para encontrar un conjunto de documentos que contienen las palabras clave correctas. Un etiquetador y un fragmentador de grupos de verbos/NP pueden verificar si se mencionan las entidades y relaciones correctas en los documentos encontrados. Para preguntas como "Quién" o "Dónde", un reconocedor de entidades nombradas encuentra los nombres de "Persona" y "Ubicación" relevantes en los documentos recuperados. Solo se seleccionan los párrafos relevantes para la clasificación. [ aclaración necesaria ]
Un modelo de espacio vectorial puede clasificar las respuestas de los candidatos. Compruebe [ ¿quién? ] si la respuesta es del tipo correcto, tal como se determinó en la etapa de análisis del tipo de pregunta. Una técnica de inferencia puede validar las respuestas de los candidatos. Luego, se otorga una puntuación a cada uno de estos candidatos según la cantidad de palabras interrogativas que contiene y qué tan cerca están estas palabras del candidato: cuanto más y más cerca, mejor. Luego, la respuesta se traduce mediante análisis en una representación compacta y significativa. En el ejemplo anterior, la respuesta de salida esperada es "1 de octubre".
En 2018 se publicó un sistema de respuesta a preguntas de código abierto y con reconocimiento matemático llamado MathQA , basado en Ask Platypus y Wikidata . [15] MathQA toma una pregunta en lenguaje natural en inglés o hindi como entrada y devuelve una fórmula matemática recuperada de Wikidata como una respuesta sucinta, traducida a una forma computable que permite al usuario insertar valores para las variables. El sistema recupera nombres y valores de variables y constantes comunes de Wikidata si están disponibles. Se afirma que el sistema supera a un motor de conocimiento matemático computacional comercial en un conjunto de pruebas. [15] MathQA está alojado por Wikimedia en https://mathqa.wmflabs.org/. En 2022, se amplió para responder 15 tipos de preguntas matemáticas. [16]
Los métodos de MathQA necesitan combinar lenguaje natural y de fórmulas. Un enfoque posible es realizar anotaciones supervisadas a través de Entity Linking . La "Tarea ARQMath" en CLEF 2020 [17] se lanzó para abordar el problema de vincular preguntas recién publicadas desde la plataforma Math Stack Exchange con las existentes que ya fueron respondidas por la comunidad. Proporcionar hipervínculos a preguntas ya respondidas y semánticamente relacionadas ayuda a los usuarios a obtener respuestas antes, pero es un problema desafiante porque la relación semántica no es trivial. [18] El laboratorio estuvo motivado por el hecho de que el 20% de las consultas matemáticas en los motores de búsqueda de propósito general se expresan como preguntas bien formuladas. [19] El desafío contenía dos subtareas separadas. Tarea 1: "Recuperación de respuestas" que combina las respuestas de publicaciones antiguas con las preguntas recién planteadas, y Tarea 2: "Recuperación de fórmulas" que combina las fórmulas de publicaciones antiguas con las preguntas nuevas. Comenzando con el dominio de las matemáticas, que involucra el lenguaje de fórmulas, el objetivo es luego extender la tarea a otros dominios (por ejemplo, disciplinas STEM, como química, biología, etc.), que emplean otros tipos de notación especial (por ejemplo, fórmulas químicas). [17] [18]
También se ha investigado la inversa de la respuesta a preguntas matemáticas: la generación de preguntas matemáticas. El motor de generación y prueba de preguntas de física PhysWikiQuiz recupera fórmulas matemáticas de Wikidata junto con información semántica sobre sus identificadores constituyentes (nombres y valores de las variables). [20] Luego, las fórmulas se reorganizan para generar un conjunto de variantes de fórmulas. Posteriormente, las variables se sustituyen con valores aleatorios para generar una gran cantidad de preguntas diferentes adecuadas para pruebas de estudiantes individuales. PhysWikiquiz está alojado por Wikimedia en https://physwikiquiz.wmflabs.org/.
Los sistemas de respuesta a preguntas se han ampliado en los últimos años [ pueden estar obsoletos a partir de abril de 2023 ] para abarcar dominios adicionales de conocimiento [21] Por ejemplo, se han desarrollado sistemas para responder automáticamente preguntas temporales y geoespaciales, preguntas de definición y terminología, preguntas biográficas, preguntas multilingües y preguntas sobre el contenido de audio, imágenes [22] y video. [23] Los temas de investigación actuales de respuesta a preguntas incluyen:
En 2011, Watson , un sistema informático de respuesta a preguntas desarrollado por IBM , compitió en dos partidos de exhibición de Jeopardy! contra Brad Rutter y Ken Jennings , ganando por un margen significativo. [32] Facebook Research puso a disposición su sistema DrQA [33] bajo una licencia de código abierto . Este sistema utiliza Wikipedia como fuente de conocimiento. [2] El marco de código abierto Haystack de deepset combina la respuesta a preguntas de dominio abierto con la respuesta a preguntas generativas y admite la adaptación de dominio [ aclaración necesaria ] de los modelos de lenguaje subyacentes [ aclaración necesaria ] para casos de uso de la industria [ vago ] . [34] [35]
{{cite book}}
: Mantenimiento de CS1: falta la ubicación del editor ( enlace ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite web}}
: CS1 maint: bot: estado de URL original desconocido ( enlace )