Question Answering
Los sistemas de respuesta a preguntas (QA) responden directamente a preguntas en lenguaje natural. Incluye QA extractiva, de dominio abierto, generativa y visual.
Las preguntas y respuestas (QA) consisten en responder a una pregunta formulada en lenguaje natural con la propia respuesta, como «Canberra» a «¿Cuál es la capital de Australia?», en lugar de con una lista de páginas web; se trata de una tarea de procesamiento del lenguaje natural (NLP). Un sistema de preguntas y respuestas interpreta la pregunta, encuentra la información que la responde en un pasaje, una colección de documentos, una base de datos o sus propios parámetros, y devuelve o redacta la respuesta. Los recuadros de respuestas de los motores de búsqueda, los asistentes virtuales, los bots de atención al cliente y los asistentes de modelos de lenguaje grandes (LLM) que responden a preguntas sobre documentos de empresa son sistemas de preguntas y respuestas.
Los primeros sistemas respondían a preguntas sobre bases de datos limitadas: BASEBALL (1961) atendía preguntas sobre una temporada de partidos de la Liga Americana, y LUNAR (1971) respondía a las preguntas de geólogos sobre muestras de rocas lunares del Apolo. La competición de preguntas y respuestas de TREC empezó a evaluar sistemas de dominio abierto en 1999 y, en febrero de 2011, IBM Watson venció a los campeones de Jeopardy!, Ken Jennings y Brad Rutter, al generar muchas respuestas candidatas para cada pista y puntuar las pruebas de cada una mediante cientos de algoritmos.
Tipos de sistemas de preguntas y respuestas#
- Preguntas y respuestas extractivas: Seleccionan del pasaje proporcionado el fragmento que responde a la pregunta.
- Preguntas y respuestas de dominio abierto: Buscan pasajes pertinentes en una colección extensa, como toda la Wikipedia, antes de responder.
- Generación aumentada por recuperación (RAG): Redacta la respuesta con un LLM condicionado por los pasajes recuperados, de modo que puede combinar hechos de varias fuentes y citarlas.
- Preguntas y respuestas sin documentos: Responden a partir del conocimiento almacenado en los pesos del modelo, sin documentos, lo que dificulta detectar las respuestas inventadas.
- Preguntas y respuestas sobre grafos de conocimiento: Traducen la pregunta a una consulta estructurada sobre un grafo de entidades y relaciones, o sobre una base de datos.
- Preguntas y respuestas visuales (VQA): Responden a preguntas sobre una imagen o un vídeo.
Preguntas y respuestas extractivas y SQuAD#
El conjunto de datos de preguntas y respuestas de Stanford (SQuAD), publicado en 2016 por Pranav Rajpurkar y sus colegas, convirtió la QA extractiva en un benchmark estándar: los trabajadores colaborativos redactaron más de 100 000 preguntas sobre artículos de Wikipedia, y cada respuesta es un fragmento del artículo. Una línea base de regresión logística obtuvo una puntuación F1 de 51,0, frente al 86,8 de los humanos. Las puntuaciones usan la coincidencia exacta y una puntuación F1 a nivel de token entre las respuestas predichas y las de referencia, y BERT alcanzó una puntuación F1 de 93,2 en pruebas en 2018. Un modelo extractivo puntúa cada token del pasaje como posible inicio y final de la respuesta:
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]]}")El modelo responde «Pranav Rajpurkar» y «un fragmento del artículo». El pasaje no dice nada sobre idiomas, pero el modelo responde «100 000» a la tercera pregunta, porque un modelo entrenado con SQuAD 1.1 siempre devuelve algún fragmento. SQuAD 2.0 (2018) añadió más de 50 000 preguntas sin respuesta redactadas para parecer respondibles, y un sistema que obtuvo una puntuación F1 del 86 % en SQuAD 1.1 bajó al 66 % en esta versión, ya que los modelos tenían que decidir cuándo abstenerse.
QA de dominio abierto y RAG#
Los sistemas de dominio abierto dividen el trabajo entre un recuperador, que encuentra unos pocos pasajes pertinentes entre millones, y un lector, que responde a partir de ellos. DrQA (2017) recuperaba artículos de Wikipedia con TF-IDF y los procesaba con una red neuronal recurrente; Dense Passage Retrieval (2020) sustituyó TF-IDF por embeddings de BERT y búsqueda vectorial, y RAG (2020) entregaba los pasajes recuperados a un generador que redactaba la respuesta. A menudo, un reranker reordena los pasajes recuperados antes de que los vea el lector. Los autores de RAG descubrieron que condicionar el texto generado al texto recuperado hacía que el lenguaje generado fuese más específico, diverso y factual que el de un modelo comparable sin recuperación, y que citar los pasajes permitía a los lectores comprobar si había alucinaciones en una respuesta.
Respuesta visual a preguntas#
VQA toma una imagen y una pregunta como «¿Cuántas personas esperan en la parada?» y requiere una IA multimodal que combine la visión artificial con la comprensión del lenguaje, normalmente mediante un modelo de visión y lenguaje (VLM). En Ultralytics Platform Agents, un bloque LLM envía una imagen y su contexto previo, como las detecciones de YOLO26, a un modelo de visión y lenguaje junto con la instrucción, de modo que la respuesta a una pregunta sobre una escena incluye los resultados del detector como contexto.
QA y términos relacionados#
- Búsqueda semántica: Devuelve los documentos o pasajes más pertinentes para una consulta, la entrada que lee un sistema de QA para generar la respuesta.
- Chatbots: Interfaces conversacionales que gestionan diálogos de varios turnos y utilizan QA para responder a preguntas factuales durante la conversación.
- Generación de texto: Genera cualquier texto a partir de una instrucción. La QA generativa es generación de texto restringida a responder una pregunta, a menudo a partir de fuentes citadas.










