Expansión de Consultas

La expansión de consultas enriquece las consultas de los usuarios con contexto o términos adicionales, mejorando la precisión de la recuperación y la calidad de las respuestas en sistemas de IA como RAG y chatbots.

Expansión de Consultas

Expansión de Consultas

La expansión de consultas mejora las consultas de los usuarios añadiendo términos o contexto, optimizando la recuperación de documentos para respuestas precisas. En sistemas RAG, aumenta el recall y la relevancia, ayudando a chatbots e IA a proporcionar respuestas exactas al gestionar eficazmente consultas vagas o con sinónimos.

La expansión de consultas se refiere al proceso de mejorar la consulta original de un usuario añadiendo términos o contexto adicionales antes de enviarla al mecanismo de recuperación. Esta ampliación ayuda a recuperar documentos o piezas de información más relevantes, que luego se utilizan para generar una respuesta más precisa y adecuada al contexto. Si los documentos se buscan con consultas alternativas y luego se reordenan, el proceso RAG obtiene resultados de documentos mucho más precisos en la ventana de contexto del prompt.

Query Expansion illustration

¿Qué es la Generación Aumentada por Recuperación (RAG)?

La Generación Aumentada por Recuperación (RAG) es una arquitectura de IA que combina mecanismos de recuperación con modelos generativos para producir respuestas más precisas y contextualmente relevantes. En los sistemas RAG, un componente de recuperación obtiene documentos o fragmentos de datos relevantes de una base de conocimiento en función de una consulta del usuario. Luego, un modelo generativo (a menudo un modelo de lenguaje grande o LLM) utiliza esta información recuperada para generar una respuesta coherente e informativa.

El papel de la Expansión de Consultas en los sistemas RAG

Mejorar el rendimiento de la recuperación

En los sistemas RAG, la calidad de la respuesta generada depende en gran medida de la relevancia de los documentos recuperados. Si el componente de recuperación no obtiene la información más pertinente, el modelo generativo puede producir respuestas subóptimas o irrelevantes. La expansión de consultas aborda este desafío mejorando la consulta inicial, aumentando las posibilidades de recuperar todos los documentos relevantes.

Aumentar el recall

Al ampliar la consulta original con términos relacionados, sinónimos o parafraseos, la expansión de consultas amplía el espacio de búsqueda. Esto incrementa el recall del sistema de recuperación, es decir, capta una mayor proporción de documentos relevantes de la base de conocimiento. Un mayor recall proporciona un contexto más completo para el modelo generativo, mejorando la calidad global de la salida del sistema RAG.

¿Cómo se utiliza la Expansión de Consultas en los sistemas RAG?

Pasos en el proceso de expansión de consultas

  1. Recibir la consulta del usuario: El proceso comienza con la consulta original del usuario, que puede ser incompleta, vaga o utilizar una terminología específica que no coincide con los documentos de la base de conocimiento.
  2. Generar consultas expandidas: El sistema genera consultas adicionales que son semánticamente similares a la original. Esto puede hacerse mediante diversas técnicas, incluyendo el uso de modelos de lenguaje grandes (LLMs).
  3. Recuperar documentos: Cada consulta expandida se utiliza para recuperar documentos de la base de conocimiento. Esto da como resultado un conjunto más amplio y diverso de documentos potencialmente relevantes.
  4. Agregar resultados: Los documentos recuperados se agregan, eliminando duplicados y clasificándolos según su relevancia.
  5. Generar respuesta: El modelo generativo utiliza los documentos agregados para producir una respuesta final a la consulta del usuario.

Técnicas para la expansión de consultas

1. Uso de Modelos de Lenguaje Grandes (LLM)

LLMs como GPT-4 pueden generar consultas semánticamente similares o parafraseos de la consulta original. Al comprender el contexto y los matices del lenguaje, los LLMs pueden producir expansiones de alta calidad que capturan diferentes formas de plantear la misma pregunta.

Ejemplo:

  • Consulta original: “Efectos del cambio climático”
  • Consultas expandidas generadas por LLM:
    • “Impacto del calentamiento global”
    • “Consecuencias de los cambios ambientales”
    • “Variabilidad climática y sus efectos”

2. Generación de respuesta hipotética

En este enfoque, el sistema genera una respuesta hipotética a la consulta del usuario utilizando un LLM. La respuesta hipotética luego se añade a la consulta original para proporcionar más contexto durante la recuperación.

Proceso:

  • Generar una respuesta hipotética a la consulta.
  • Combinar la consulta original y la respuesta hipotética.
  • Usar el texto combinado como consulta para la recuperación.

Ejemplo:

  • Consulta original: “¿Qué factores contribuyeron al aumento de ingresos?”
  • Respuesta hipotética generada:
    • “Los ingresos de la empresa aumentaron debido a campañas de marketing exitosas, diversificación de productos y expansión a nuevos mercados.”
  • Consulta combinada:
    • “¿Qué factores contribuyeron al aumento de ingresos? Los ingresos de la empresa aumentaron debido a campañas de marketing exitosas, diversificación de productos y expansión a nuevos mercados.”

3. Enfoque de consultas múltiples

Este método consiste en generar varias consultas alternativas que capturan diferentes formulaciones o aspectos de la consulta original. Cada consulta se utiliza de forma independiente para recuperar documentos.

Proceso:

  • Generar múltiples consultas similares usando un LLM.
  • Recuperar documentos para cada consulta por separado.
  • Combinar y clasificar los documentos recuperados.

Ejemplo:

  • Consulta original: “Factores clave del crecimiento de la empresa”
  • Consultas expandidas:
    • “Principales factores para la expansión del negocio”
    • “¿Qué provocó el aumento del rendimiento empresarial?”
    • “Contribuyentes significativos al crecimiento organizacional”

Ejemplos y casos de uso

Caso de estudio: Mejorando RAG para el análisis de informes anuales

Escenario:
Un sistema de IA está diseñado para responder preguntas basadas en el informe anual de una empresa. Un usuario pregunta: “¿Hubo una rotación significativa en el equipo ejecutivo?”

Implementación:

  1. Generación de respuesta hipotética:
    • El sistema genera una respuesta hipotética: “Hubo una rotación mínima en el equipo ejecutivo, proporcionando estabilidad y continuidad para las iniciativas estratégicas.”
  2. Expansión de consultas:
    • La respuesta hipotética se combina con la consulta original para formar una consulta expandida.
  3. Recuperación:
    • La consulta expandida se utiliza para recuperar secciones más relevantes del informe anual que hablan de cambios en el equipo ejecutivo.
  4. Generación:
    • La IA genera una respuesta precisa basada en la información recuperada.

Beneficio:
Al proporcionar más contexto mediante la respuesta hipotética, el sistema recupera información relevante que podría haberse perdido solo con la consulta original.

Caso de estudio: Mejora de la búsqueda en chatbots de soporte al cliente

Escenario:
Un chatbot de soporte al cliente ayuda a los usuarios a solucionar problemas. Un usuario escribe: “Mi internet está lento.”

Implementación:

  1. Expansión de consultas usando LLM:
    • Generar consultas expandidas:
      • “Experimentando baja velocidad de internet”
      • “Conexión de banda ancha lenta”
      • “Problemas de latencia de internet”
  2. Recuperación:
    • Cada consulta recupera artículos de ayuda y pasos de solución relacionados con velocidades lentas de internet.
  3. Generación de la respuesta:
    • El chatbot compila la información recuperada y guía al usuario a través de posibles soluciones.

Beneficio:
El chatbot cubre una gama más amplia de posibles problemas y soluciones, aumentando la probabilidad de resolver el problema del usuario de manera eficiente.

Caso de estudio: Asistencia en la investigación académica

Escenario:
Un estudiante usa un asistente de IA para encontrar recursos sobre un tema: “Efectos de la privación del sueño en la función cognitiva.”

Implementación:

  1. Generación de consultas múltiples:
    • Generar consultas similares:
      • “¿Cómo afecta la falta de sueño a las capacidades cognitivas?”
      • “Deterioros cognitivos por la pérdida de sueño”
      • “Privación del sueño y rendimiento mental”
  2. Recuperación:
    • Recuperar artículos y estudios para cada consulta.
  3. Agregación y clasificación:
    • Combinar los resultados, priorizando los estudios más relevantes y recientes.
  4. Generación de la respuesta:
    • La IA proporciona un resumen de hallazgos y sugiere artículos clave para revisar.

Beneficio:
El estudiante recibe información completa que cubre distintos aspectos del tema, facilitando una investigación más profunda.

Beneficios de la Expansión de Consultas en sistemas RAG

  • Mejora del recall: Al recuperar más documentos relevantes, el sistema proporciona mejor contexto para generar respuestas precisas.
  • Gestión de consultas vagas: Aborda el problema de consultas cortas o ambiguas añadiendo contexto.
  • Reconocimiento de sinónimos: Capta documentos que contienen sinónimos o términos relacionados que no aparecen en la consulta original.
  • Mejor experiencia de usuario: Los usuarios reciben respuestas más precisas e informativas sin necesidad de refinar manualmente sus consultas.

Retos y consideraciones

Sobreexpansión

Añadir demasiadas consultas expandidas puede introducir documentos irrelevantes, reduciendo la precisión de la recuperación.

Mitigación:

  • Generación controlada: Limitar el número de consultas expandidas.
  • Filtrado de relevancia: Usar mecanismos de puntuación para priorizar las expansiones más relevantes.

Ambigüedad y polisemia

Las palabras con varios significados pueden llevar a expansiones irrelevantes.

Mitigación:

  • Expansión consciente del contexto: Usar LLMs que consideren el contexto de la consulta.
  • Técnicas de desambiguación: Implementar algoritmos para distinguir entre diferentes significados según el contexto de la consulta.

Recursos computacionales

Generar y procesar múltiples consultas expandidas puede requerir muchos recursos.

Mitigación:

  • Modelos eficientes: Utilizar LLMs y sistemas de recuperación optimizados.
  • Mecanismos de caché: Almacenar en caché consultas y expansiones frecuentes para reducir la computación.

Integración con sistemas de recuperación

Garantizar que las consultas expandidas funcionen eficazmente con los algoritmos de recuperación existentes.

Mitigación:

  • Ajustes en la puntuación: Modificar la puntuación de recuperación para considerar las consultas expandidas.
  • Enfoques híbridos: Combinar métodos de recuperación por palabras clave y semánticos.

Técnicas para una expansión de consultas efectiva

Ponderación de términos

Asignar pesos a los términos en las consultas expandidas para reflejar su importancia.

  • TF-IDF (Frecuencia de Término–Frecuencia Inversa de Documento): Mide la importancia de un término en un documento en relación con un corpus.
  • Puntuación BM25: Una función de ranking utilizada por los motores de búsqueda para estimar la relevancia de los documentos.
  • Pesos personalizados: Ajustar los pesos según la relevancia de los términos expandidos.

Reordenamiento de los documentos recuperados

Después de la recuperación, reordenar los documentos para priorizar la relevancia.

  • Cross-Encoders: Utilizar modelos que evalúan la relevancia de pares consulta-documento.
  • Modelos de reordenamiento (por ejemplo, ColBERT, FlashRank): Modelos especializados que proporcionan reordenamiento eficiente y preciso.

Ejemplo:

Usar un Cross-Encoder después de la recuperación para puntuar y reordenar documentos según su relevancia respecto a la consulta original.

Aprovechamiento del feedback del usuario

Incorporar las interacciones de los usuarios para mejorar la expansión de consultas.

  • Feedback implícito: Analizar el comportamiento del usuario, como clics y tiempo de permanencia en los documentos.
  • Feedback explícito: Permitir que los usuarios refinen las consultas o seleccionen resultados preferidos.

Conexión con IA, automatización de IA y chatbots

Expansión de consultas impulsada por IA

El uso de IA y LLMs para la expansión de consultas aprovecha la comprensión avanzada del lenguaje para mejorar la recuperación. Esto permite que sistemas de IA, incluidos chatbots y asistentes virtuales, brinden respuestas más precisas y apropiadas al contexto.

Automatización en la recuperación de información

Automatizar el proceso de expansión de consultas reduce la carga sobre los usuarios para crear consultas precisas. La automatización con IA gestiona la complejidad en segundo plano, mejorando la eficiencia de los sistemas de recuperación de información.

Mejora de las interacciones en chatbots

Los chatbots se benefician de la expansión de consultas al comprender mejor las intenciones del usuario, especialmente cuando utilizan lenguaje coloquial o frases incompletas. Esto conduce a interacciones más satisfactorias y resolución efectiva de problemas.

Ejemplo:

Un chatbot de soporte técnico puede interpretar una consulta vaga como “Mi app no funciona” expandiéndola a “fallos de la aplicación”, “el software no responde” y “mensajes de error de la app”, logrando así una resolución más rápida.

Investigación sobre Expansión de Consultas para RAG

  1. Mejorando la recuperación para RAG basado en preguntas y respuestas en documentos financieros
    Este artículo examina la eficacia de los modelos de lenguaje grandes (LLMs) potenciados por Generación Aumentada por Recuperación (RAG), especialmente en el contexto de documentos financieros. Identifica que las imprecisiones en las salidas de los LLMs suelen deberse a una recuperación de textos subóptima más que a los propios LLMs. El estudio propone mejoras en los procesos RAG, incluyendo técnicas sofisticadas de fragmentación y expansión de consultas, junto con anotaciones de metadatos y algoritmos de reordenamiento. Estas metodologías buscan refinar la recuperación de textos y así mejorar el rendimiento de los LLMs en la generación de respuestas precisas. Leer más

  2. Mejorando la recuperación y gestión: Sinergia de cuatro módulos para mejorar la calidad y eficiencia en sistemas RAG
    El artículo propone un enfoque modular para mejorar los sistemas RAG, centrándose en el módulo Query Rewriter, que crea consultas optimizadas para mejorar la recuperación de conocimiento. Aborda los problemas de Meseta de Información y Ambigüedad en consultas mediante la generación de múltiples consultas. Además, se proponen el Knowledge Filter y el Memory Knowledge Reservoir para gestionar el conocimiento irrelevante y optimizar los recursos de recuperación. Estos avances buscan aumentar la calidad y eficiencia de las respuestas en sistemas RAG, validados mediante experimentos en conjuntos de datos de QA. Accede al código y más detalles.

  3. MultiHop-RAG: Benchmarking la Generación Aumentada por Recuperación para consultas multi-hop
    Esta investigación resalta los desafíos de los sistemas RAG existentes al abordar consultas multi-hop, que requieren razonamiento sobre múltiples evidencias. Introduce un conjunto de datos novedoso diseñado específicamente para evaluar sistemas RAG en consultas multi-hop, con el objetivo de ampliar los límites de las capacidades actuales. El artículo discute los avances necesarios para que los métodos RAG gestionen eficazmente estructuras de consulta complejas y mejoren la adopción de LLMs en aplicaciones prácticas.

Preguntas frecuentes

¿Qué es la Expansión de Consultas?

La expansión de consultas es el proceso de aumentar la consulta original de un usuario añadiendo términos relacionados, sinónimos o contexto, ayudando a los sistemas de recuperación a encontrar documentos más relevantes y generar respuestas precisas, especialmente en aplicaciones impulsadas por IA.

¿Cómo mejora la expansión de consultas los sistemas RAG?

En los sistemas RAG (Generación Aumentada por Recuperación), la expansión de consultas aumenta el recall del componente de recuperación al ampliar el espacio de búsqueda, asegurando que se consideren más documentos relevantes para generar respuestas precisas.

¿Qué técnicas se utilizan para la expansión de consultas?

Las técnicas incluyen el uso de modelos de lenguaje grandes para generar consultas parafraseadas, generación de respuestas hipotéticas, enfoques de consultas múltiples, ponderación de términos y aprovechamiento del feedback del usuario para una mejora continua.

¿Cuáles son los beneficios de la expansión de consultas?

La expansión de consultas mejora el recall, gestiona consultas vagas o ambiguas, reconoce sinónimos y mejora la experiencia del usuario al ofrecer respuestas más precisas e informativas sin necesidad de refinar manualmente la consulta.

¿Existen desafíos en la expansión de consultas?

Sí, los desafíos incluyen la sobreexpansión (introducción de documentos irrelevantes), ambigüedad en los términos, demanda de recursos computacionales y garantizar la compatibilidad con los algoritmos de recuperación. Estos pueden mitigarse con generación controlada, filtrado de relevancia y modelos eficientes.

Explora la Expansión de Consultas con FlowHunt

Descubre cómo la expansión de consultas puede mejorar la precisión de tu chatbot de IA y optimizar la recuperación de información. Conoce las soluciones de FlowHunt para un manejo eficiente y automatizado de consultas.

Saber más