Question Answering
Os sistemas de resposta a perguntas (QA) devolvem uma resposta direta a uma pergunta em linguagem natural. Abrange QA extrativa, de domínio aberto, generativa e visual.
A resposta a perguntas (QA) é a tarefa de processamento de linguagem natural (NLP) que consiste em responder a uma pergunta formulada em linguagem natural com a própria resposta, como "Camberra" para "Qual é a capital da Austrália?", em vez de apresentar uma lista de páginas Web. Um sistema de QA interpreta a pergunta, encontra a informação que lhe responde num trecho, numa coleção de documentos, numa base de dados ou nos próprios parâmetros e devolve ou formula a resposta. As caixas de resposta dos motores de pesquisa, os assistentes virtuais, os bots de apoio ao cliente e os assistentes de modelos de linguagem de grande porte (LLM) que respondem a perguntas sobre documentos da empresa são todos sistemas de QA.
Os primeiros sistemas respondiam a perguntas sobre bases de dados restritas: o BASEBALL (1961) tratava perguntas sobre uma época de jogos da Liga Americana, e o LUNAR (1971) respondia às perguntas de geólogos sobre amostras de rocha lunar da missão Apollo. A pista de resposta a perguntas do TREC começou a avaliar a QA de domínio aberto em 1999, e, em fevereiro de 2011, o IBM Watson venceu os campeões do Jeopardy!, Ken Jennings e Brad Rutter, gerando várias respostas candidatas a cada pista e pontuando as evidências de cada uma com centenas de algoritmos.
Tipos de sistemas de QA#
- QA extrativa: Seleciona o trecho de uma passagem fornecida que responde à pergunta.
- QA de domínio aberto: Pesquisa numa grande coleção, como toda a Wikipédia, por trechos relevantes antes de responder.
- Geração aumentada por recuperação (RAG): Formula a resposta com um LLM condicionado pelos trechos recuperados, para poder combinar factos de várias fontes e citá-las.
- QA de livro fechado: Responde com base no conhecimento armazenado nos pesos do modelo, sem documentos, o que dificulta a deteção de respostas inventadas.
- QA com grafo de conhecimento: Traduz a pergunta numa consulta estruturada sobre um grafo de entidades e relações ou sobre uma base de dados.
- Resposta visual a perguntas (VQA): Responde a perguntas sobre uma imagem ou um vídeo.
QA extrativa e SQuAD#
O Conjunto de Dados de Respostas a Perguntas de Stanford (SQuAD), lançado em 2016 por Pranav Rajpurkar e colegas, tornou a QA extrativa um benchmark padrão: trabalhadores da multidão escreveram mais de 100.000 perguntas sobre artigos da Wikipédia, e cada resposta é um trecho do artigo. Uma linha de base de regressão logística alcançou 51,0% de F1, contra 86,8% dos humanos. As pontuações usam correspondência exata e uma pontuação F1 ao nível do token entre as respostas previstas e as de referência, e o BERT alcançou uma F1 de teste de 93,2 em 2018. Um modelo extrativo pontua cada token da passagem como possível início e fim da resposta:
import torch
from transformers import AutoModelForQuestionAnswering, AutoTokenizer
# DistilBERT fine-tuned on SQuAD v1.1 for extractive question answering
model_id = "distilbert/distilbert-base-cased-distilled-squad"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForQuestionAnswering.from_pretrained(model_id)
context = (
"SQuAD was released in 2016 by Pranav Rajpurkar and colleagues at Stanford University. "
"Crowdworkers wrote more than 100,000 questions about Wikipedia articles, and every answer is a span of the article."
)
for question in ["Who released SQuAD?", "Where do the answers come from?", "How many languages does SQuAD cover?"]:
inputs = tokenizer(question, context, return_tensors="pt", return_offsets_mapping=True)
offsets = inputs.pop("offset_mapping")[0]
with torch.no_grad():
outputs = model(**inputs)
# The answer is the context span between the highest-scoring start and end tokens
start, end = outputs.start_logits.argmax(), outputs.end_logits.argmax()
print(f"{question} -> {context[offsets[start][0] : offsets[end][1]]}")O modelo responde "Pranav Rajpurkar" e "um trecho do artigo". A passagem não diz nada sobre idiomas, mas o modelo responde "100.000" à terceira pergunta, porque um modelo treinado no SQuAD 1.1 sempre retorna algum trecho. O SQuAD 2.0 (2018) acrescentou mais de 50.000 perguntas sem resposta, escritas para parecerem respondíveis, e um sistema que obteve 86% de F1 no SQuAD 1.1 caiu para 66% nele, pois os modelos agora tinham de decidir quando se abster.
QA de domínio aberto e RAG#
Os sistemas de domínio aberto dividem o trabalho entre um recuperador, que encontra algumas passagens relevantes entre milhões, e um leitor, que responde com base nelas. O DrQA (2017) recuperava artigos da Wikipédia com TF-IDF e os lia com uma rede neural recorrente; o Dense Passage Retrieval (2020) substituiu TF-IDF por embeddings BERT e busca vetorial; e o RAG (2020) entregava as passagens recuperadas a um gerador que redige a resposta. Um reranqueador costuma reordenar as passagens recuperadas antes de o leitor as ver. Os autores do RAG descobriram que condicionar o texto gerado ao texto recuperado o tornava mais específico, diverso e factual do que o de um modelo comparável sem recuperação, e as passagens citadas permitem aos leitores verificar se uma resposta contém alucinações.
Resposta visual a perguntas#
A VQA recebe uma imagem e uma pergunta, como "Quantas pessoas estão esperando no ponto?", e exige IA multimodal que combine visão computacional com compreensão de linguagem, geralmente por meio de um modelo visão-linguagem (VLM). Nos Agentes da Ultralytics Platform, um bloco LLM envia uma imagem e o contexto proveniente de etapas anteriores, como as detecções do YOLO26, a um modelo visão-linguagem junto com o prompt, para que uma pergunta sobre a cena seja respondida usando os resultados do detector como contexto.
QA e termos relacionados#
- Busca semântica: Retorna os documentos ou as passagens mais relevantes para uma consulta, a entrada que um sistema de QA lê para produzir a resposta.
- Chatbots: Interfaces conversacionais que gerenciam diálogos com várias interações e usam QA para responder às perguntas factuais feitas durante a conversa.
- Geração de texto: Produz qualquer texto a partir de um prompt. A QA generativa é a geração de texto restringida à resposta a uma pergunta, geralmente com base em fontes citadas.










