Responder a perguntas (QA, do inglês question answering) é uma disciplina da ciência da computação dentro dos campos da recuperação de informação e do processamento de linguagem natural (PLN) que se concentra na construção de sistemas capazes de responder automaticamente a perguntas formuladas por humanos em linguagem natural. Uma implementação de QA, normalmente um programa de computador, pode construir suas respostas consultando uma base de conhecimento estruturada ou, mais comumente, extraindo respostas de uma coleção não estruturada de documentos em linguagem natural. Exemplos de tais coleções de documentos incluem textos de referência, compilações de noticias de agências, páginas da Wikipedia e outros conteúdos da World Wide Web.
História
Os primeiros sistemas de responder a perguntas incluem BASEBALL e LUNAR. BASEBALL respondia a perguntas sobre a Major League Baseball durante um período de um ano, enquanto LUNAR abordava perguntas sobre a análise geológica de rochas trazidas pelas missões Apollo à Lua. Ambos os sistemas eram altamente eficazes dentro de seus domínios escolhidos; LUNAR, demonstrado em uma convenção de ciência lunar em 1971, respondia a 90% das perguntas feitas por usuários não treinados em seu domínio. Esses sistemas dependiam de bases de conhecimento escritas à mano e técnicas de linguagem semelhantes às usadas em ELIZA e DOCTOR, os primeiros programas de chatterbot.
No final dos anos 1960 e início dos anos 1970, Terry Winograd desenvolveu SHRDLU, um programa de responder a perguntas que simulava um robô em um "mundo de blocos" de brinquedo, permitendo aos usuários perguntar sobre o estado desse mundo. Sua força residía em um domínio muito específico e em regras físicas simples que eram fáceis de codificar. Durante os anos 1970, surgiram sistemas expertos com bases de conhecimento mais restringidas, produzendo respostas mais repetíveis e válidas dentro de suas áreas. Esses sistemas diferían da QA moderna em sua dependência de bases de conhecimento construídas por expertos, em lugar do processamento estatístico de grandes corpus de texto.
Os anos 1970 e 1980 viram avanços na linguística computacional, levando a projetos como o Unix Consultant (UC) na U.C. Berkeley, que respondía a perguntas sobre o sistema operativo Unix com uma base de conhecimento abrangente elaborada à mano, e LILOG, um sistema de compreensão de texto para informações turísticas em uma cidade alemã. Embora esses sistemas permanecessen na etapa de demonstração, contribuíron às teorias da linguística computacional e do raciocinio. Sistemas especializados, como EAGLi para cientistas da saúde e da vida, também foram desenvolvidos.
Em 2011, Watson da IBM, um sistema de computação QA, venceu partidas de exibição de Jeopardy! contra Brad Rutter e Ken Jennings. Facebook Research lançó DrQA, um sistema de código aberto que usa Wikipedia como fonte de conhecimento. O framework de código aberto Haystack, da deepset, combina QA de domínio aberto com responder a perguntas generativo e suporta adaptação de domínio de modelos de linguagem para uso industrial. Modelos de linguagem de grande escala (LLMs, do inglês large language models), como GPT-4 e Gemini, são sistemas QA bem-sucedidos que permiten uma compreensão e generación de texto mais sofisticadas e, quando acoplados a sistemas multimodales que processan texto, imágenes e áudio, melhoran significativamente as capacidades de QA.
Tipos
A pesquisa em QA aborda uma amplia gama de tipos de perguntas, incluindo perguntas factuais, de lista, de definición, de cómo, de por qué, hipotéticas, semanticamente restringidas e translingües. A QA de comprensión lectora, onde um sistema responde a perguntas sobre um artigo dado, é uma forma más simple porque o contexto é relativamente curto. A QA de libro cerrado se refere a sistemas que memorizaron hechos durante el entrenamiento y pueden responder sin contexto explícito, de manera similar a humanos que realizan exámenes a libro cerrado.
La QA de dominio cerrado trata preguntas dentro de un dominio específico, como medicina o mantenimiento automotriz, y puede explotar conocimiento específico del dominio, a menudo formalizado en ontologías. También puede referirse a situaciones donde solo se aceptan tipos limitados de preguntas, como preguntas descriptivas en lugar de procedimentales. Se han construido sistemas de QA médica, por ejemplo, para la enfermedad de Alzheimer. La QA de dominio abierto maneja preguntas sobre casi cualquier cosa, dependiendo de ontologías generales y conocimiento del mundo, y típicamente tiene muchos más datos disponibles para la extracción de respuestas.
Enfoques Modernos
Los sistemas de QA modernos aprovechan cada vez más los modelos de lenguaje de gran escala y las arquitecturas transformador. Estos modelos, entrenados en vastos corpus de texto, pueden realizar QA de libro cerrado generando respuestas a partir del conocimiento aprendido. Los sistemas de dominio abierto a menudo usan generación aumentada por recuperación, combinando un recuperador que selecciona documentos relevantes de un corpus con un generador que formula la respuesta. Este enfoque se usa en frameworks como Haystack y DrQA.
El aprendizaje profundo y las redes neuronales han impulsado avances recientes, permitiendo a los sistemas manejar tipos de preguntas complejas y entradas multimodales. Los modelos de IA generativa, como los desarrollados por OpenAI y Anthropic, han demostrado un fuerte rendimiento en QA en diversos dominios. La investigación continúa en temas como interactividad, reutilización de respuestas, análisis semántico, presentación de respuestas, representación del conocimiento y análisis de redes sociales.
Aplicaciones y Desafíos
Los sistemas de QA se aplican en diversos campos, incluidos el soporte al cliente, la atención médica, la educación y la recuperación de información. Impulsan asistentes virtuales, motores de búsqueda y herramientas de gestión del conocimiento empresarial. Los desafíos incluyen manejar preguntas ambiguas, garantizar la precisión fáctica y gestionar sesgos en los datos de entrenamiento. La investigación actual explora la QA encarnada, donde los agentes interactúan con entornos físicos, y la QA visual, que combina la comprensión de imágenes con el responder a preguntas.
Direcciones Futuras
Es probable que los sistemas de QA futuros se integren más profundamente con datos multimodales, incluidos audio y video, y mejoren las capacidades interactivas, permitiendo a los sistemas hacer preguntas aclaratorias. Los avances en aprendizaje por refuerzo y en eficiencia de modelos pueden permitir sistemas más robustos y escalables. A medida que la IA continúa evolucionando, la QA seguirá siendo un componente central de la interacción humano-computadora.