Expansión de consultas basada en LLM
Base de conocimientos de IAActualizado hace 5 meses Círculo de intercambio de inteligencia artificial 1.4K 00
¿Se ha encontrado alguna vez en la situación de teclear una palabra clave en un motor de búsqueda y que los resultados ofrezcan algo distinto de lo que desea? ¿O quiere buscar algo, pero no sabe qué palabras utilizar para expresarlo con mayor precisión? No se preocupe, la tecnología de "ampliación de consultas" puede ayudarle a resolver estos problemas.
La técnica de ampliación de consultas ha vuelto a estar de moda últimamente. Solía ser una parte estándar de los motores de búsqueda, y luego pasó a un segundo plano durante un tiempo por diversas razones. Pero ahora, con el auge de una nueva técnica llamada "Búsqueda Agenética" (Agentic Search), la expansión de consultas vuelve a estar en el candelero.
¿Por qué necesito extensiones de consulta?
Cuando normalmente utilizamos los motores de búsqueda, los términos de búsqueda que introducimos tienden a ser cortos y coloquiales. Esto puede acarrear dos problemas:
- Los términos de búsqueda son demasiado generalesPor ejemplo, si quiere conocer los últimos avances de la "inteligencia artificial", pero sólo teclea "inteligencia artificial", es difícil que el motor de búsqueda determine qué aspecto quiere conocer.
- Términos de búsqueda demasiado específicosPor ejemplo, quiere buscar información sobre una determinada enfermedad, pero no sabe qué terminología es la más precisa.
Todos estos problemas afectan a la calidad de los resultados de búsqueda. Incluso las técnicas de búsqueda más avanzadas, como la Búsqueda Agenética, se enfrentan a los mismos retos.
¿Qué es la búsqueda automática?
La búsqueda razonada es una forma más inteligente de buscar. Puedes pensar en ella como en un asistente inteligente que no solo entiende las palabras clave que tecleas, sino que también te ayuda a encontrar información más precisa y completa basándose en el contexto y en tu intención.
Por ejemplo, si buscas "cómo hacer una tarta", un motor de búsqueda tradicional sólo te devolverá páginas que contengan las palabras "hacer" y "tarta". Pero la búsqueda inferencial entiende que tu intención es aprender a hacer una tarta, por lo que puede devolverte tutoriales más detallados, vídeos o incluso recetas de distintos tipos de tartas.
Aunque la búsqueda inferencial es más inteligente, sigue teniendo dificultades para captar con precisión nuestra intención si nuestros términos de búsqueda son demasiado cortos o vagos. Para resolver este problema, necesitamos una técnica que "amplíe" o "reescriba" nuestros términos de búsqueda para que expresen de forma más precisa y completa nuestra intención de búsqueda. Es lo que se denomina "expansión de consultas".
¿Qué es la ampliación de consultas?
La expansión de consultas es una técnica para optimizar los resultados de las búsquedas. Su idea central es sencilla: añadir algunas palabras relacionadas a los términos de búsqueda originales para facilitar a los motores de búsqueda la búsqueda de los resultados deseados.
Por ejemplo, si desea buscar "Cómo hacer cerdo estofado", la extensión de la consulta puede añadir automáticamente "recetas","práctica","la vida cotidiana de una familia","cerdo entreverado"Estas palabras. De esta forma, los resultados de la búsqueda no sólo contendrán contenidos con "cerdo estofado" en el título o en el cuerpo, sino también aquellas recetas que te enseñen a hacer cerdo estofado, remedios caseros e incluso tutoriales sobre cómo hacer cerdo estofado con panceta, haciendo que los resultados de la búsqueda sean más completos y ajustados a tus necesidades.
Figura 1: Diagrama de flujo de la expansión de consultas mediante diccionario de sinónimos
La expansión de consultas puede utilizarse en todo tipo de motores de búsqueda, incluidos los tradicionales de palabras clave y los más avanzados de búsqueda inferencial. En el caso de la búsqueda inferencial, la expansión de consultas puede ayudar a comprender mejor la intención de búsqueda del usuario y, por tanto, a ofrecer resultados más pertinentes.
En los motores de búsqueda tradicionales, la expansión de consultas se utiliza principalmente para resolver los dos problemas siguientes:
- morfología (lingüística): Las distintas formas de una misma palabra (por ejemplo, "correr" y "correr") se consideran palabras diferentes, lo que da lugar a resultados de búsqueda incompletos.
- Sinónimos y palabras afinesSi busca "adelgazar", es posible que un motor de búsqueda tradicional no encuentre un motor de búsqueda que contenga "ponerse a dieta","pérdida de grasa"o"Control del peso", pero en realidad estas palabras son muy relevantes.
Se ha pensado en muchas cosas para lograr la ampliación de la consulta, como:
- Elaboración manual de un diccionario de sinónimos: Es como un diccionario que te dice qué palabras tienen significados similares.
- Encuentre automáticamente palabras relevantes entre un gran número de artículosDetermina si están relacionadas analizando qué palabras aparecen juntas a menudo.
- Análisis de los registros de búsqueda: Vea qué otras palabras clave utiliza la gente cuando busca contenidos similares.
- Basado en las opiniones de los usuariosPermite al usuario indicar al motor de búsqueda qué palabras son relevantes.
Modelización de vectores semánticos y ampliación de consultas
En los últimos años, con el desarrollo de la Inteligencia Artificial, ha surgido una nueva tecnología llamada "Modelización Vectorial Semántica". Piense en ella como un "traductor de palabras" que traduce cada palabra en una cadena de números (los llamamos "vectores"). Estos números representan el significado de la palabra, y cuanto más cercano sea el significado de la palabra, más cercana será la cadena de números (vector) correspondiente.
Con los modelos de vectores semánticos, los motores de búsqueda deberían ser teóricamente más inteligentes, y la ampliación de las consultas parece innecesaria. Por ejemplo, si se busca "Cómo hacer cerdo estofado", el modelo de vector semántico debe conocer "recetas","práctica"Estas palabras se parecen lo suficiente al significado de "cerdo estofado" como para que un motor de búsqueda pueda encontrar una receta aunque no las escriba.
Sin embargo, la realidad es que el modelo de vectores semánticos no es perfecto. Las "cadenas de números" (vectores) que produce pueden contener información ambigua, lo que conduce a resultados de búsqueda menos precisos.
Por ejemplo, si busca "granada", el motor de búsqueda puede devolver algo sobre "Teléfono Apple", y también puede devolver alguna información sobre el "fruta"El resultado también puede devolver "Apple Inc." para obtener información sobre acciones. Pero si lo que realmente busca es información sobre "Tecnología de cultivo de manzanas", pero puede verse inundado por otros resultados. Si añadimos el término de búsqueda "plantación", ayudará a los motores de búsqueda a comprender mejor nuestra intención y a encontrar resultados más acordes con nuestras necesidades.
Ampliación de consultas con grandes modelos de IA (LLM)
Ahora disponemos de una herramienta más potente para ampliar las consultas: el modelo AI Large Model (LLM).
¿Qué es un modelo AI de gran tamaño (LLM)? Se puede pensar en él como un "lingüista" superconocido que ha sido entrenado en cantidades masivas de datos de texto y ha adquirido una gran cantidad de conocimientos y habilidades lingüísticas.
Realizar la expansión de consultas con LLM tiene varias ventajas significativas sobre los métodos tradicionales de expansión de consultas:
- amplio vocabulario: LLM Mira muchas palabras y no te preocupes por encontrar los sinónimos o palabras relacionadas adecuadas.
- Ten un poco de juicioLLM: LLM puede determinar inicialmente qué palabras son relevantes para su tema de búsqueda, algo que los métodos tradicionales no pueden hacer. Te ayuda a filtrar las extensiones que no son relevantes.
- Flexible y personalizableEl comando: Puedes decirle a LLM qué extensiones quieres basándote en una tarea de búsqueda específica. Es como si le dieras a LLM un "comando" para decirle qué resultados quieres.
Una vez generadas las extensiones mediante LLM, el proceso es similar al de la ampliación tradicional de consultas: añada estas palabras a sus términos de búsqueda originales, utilice el modelo de vectores semánticos para generar un "vector de consultas" y, a continuación, utilice este vector para buscar.

Figura 2: Extensión de la consulta vectorial mediante LLM
Experimento: ver el efecto de la ampliación de la consulta
Para comprobar si la expansión de consultas asistida por LLM funciona o no, realizamos algunos experimentos.
entorno experimental
- LLM: Hemos utilizado la herramienta de Google Géminis 2.0 Modelo de flash.
- modelo vectorialModelo vectorial: utilizamos dos modelos vectoriales: jina-embeddings-v3 y all-MiniLM-L6-v2.
- conjunto de datosEl objetivo: hemos utilizado algunos conjuntos de datos de pruebas de búsqueda disponibles públicamente.
Métodos experimentales
Se han diseñado dos tipos de Prompts para guiar al LLM en la generación de una extensión. Las peticiones son como instrucciones que se dan al LLM para indicarle qué tipo de resultado se desea.
- Cuestiones comunes: Se aplica a diversas tareas de búsqueda.
- Instrucciones para tareas específicasPalabras clave diseñadas para tareas de búsqueda específicas (por ejemplo, búsquedas médicas).
También probamos diferentes números de extensiones: 100, 150 y 250.
El efecto de las señales genéricas
Descubrimos que la siguiente palabra clave genérica funcionaba bien:
Please provide additional search keywords and phrases for
each of the key aspects of the following queries that make
it easier to find the relevant documents (about {size} words
per query):
{query}
Please respond in the following JSON schema:
Expansion = {"qid": str, "additional_info": str}
Return: list [Expansion]
Esta consulta puede procesar varios términos de búsqueda a la vez y generar una lista de términos expandidos para cada término de búsqueda.
Primero lo probamos con el modelo jina-embeddings-v3 con los siguientes resultados:
juego de pruebas | palabra no expandida | 100 palabras ampliadas | 150 palabras ampliadas | 250 palabras ampliadas |
---|---|---|---|---|
SciFact(Mandato de comprobación de hechos) | 72.74 | 73.39 | 74.16 | 74.33 |
TRECCOVID(Tareas de recuperación médica) | 77.55 | 76.74 | 77.12 | 79.28 |
FiQA(Búsqueda de opciones financieras) | 47.34 | 47.76 | 46.03 | 47.34 |
NFCorpus(Recuperación de información médica) | 36.46 | 40.62 | 39.63 | 39.20 |
Toque2020(Tarea de recuperación de argumentos) | 26.24 | 26.91 | 27.15 | 27.54 |
Como puede verse en los resultados, la ampliación de las consultas mejora la búsqueda en la mayoría de los casos.
Para comprobar la eficacia de la expansión de consultas en distintos modelos, repetimos la misma prueba con el modelo all-MiniLM-L6-v2 con los siguientes resultados:
juego de pruebas | palabra no expandida | 100 palabras ampliadas | 150 palabras ampliadas | 250 palabras ampliadas |
---|---|---|---|---|
SciFact(Mandato de comprobación de hechos) | 64.51 | 68.72 | 66.27 | 68.50 |
TRECCOVID(Tareas de recuperación médica) | 47.25 | 67.90 | 70.18 | 69.60 |
FiQA(Búsqueda de opciones financieras) | 36.87 | 33.96 | 32.60 | 31.84 |
NFCorpus(Recuperación de información médica) | 31.59 | 33.76 | 33.76 | 33.35 |
Toque2020(Tarea de recuperación de argumentos) | 16.90 | 25.31 | 23.52 | 23.23 |
De los resultados se desprende que la ampliación de las consultas mejora notablemente los resultados de las búsquedas, sobre todo en el caso de los modelos más pequeños, como all-MiniLM-L6-v2.
La tabla siguiente resume la elevación media de cada modelo en todas las tareas:
modelización | 100 palabras de expansión | 150 palabras de expansión | 250 palabras de expansión |
---|---|---|---|
jina-embeddings-v3 | +1.02 | +0.75 | +1.48 |
todos-MiniLM-L6-v2 | +6.51 | +5.84 | +5.88 |
todos-MiniLM-L6-v2 El ascensor es más que jina-embeddings-v3 Mucho mayor, probablemente porque todos-MiniLM-L6-v2 El rendimiento inicial del modelo es bajo.jina-embeddings-v3 El propio modelo es más capaz de comprender el significado de los términos de búsqueda, por lo que la ayuda adicional que puede proporcionar la ampliación de consultas es más limitada.
Sin embargo, este resultado también muestra que la ampliación de consultas puede mejorar significativamente los resultados de búsqueda de algunos modelos con un rendimiento medio, permitiéndoles obtener buenos resultados en algunas situaciones.
Instrucciones para tareas específicas
Descubrimos que las palabras clave genéricas, aunque suelen ser eficaces, pueden introducir palabras irrelevantes que reducen la eficacia de la búsqueda. Por lo tanto, diseñamos palabras clave más específicas para dos tareas de búsqueda concretas (comprobación de hechos y recuperación de opciones financieras):
Please provide additional search keywords and phrases for
each of the key aspects of the following queries that make
it easier to find the relevant documents scientific document
that supports or rejects the scientific fact in the query
field (about {size} words per query):
{query}
Please respond in the following JSON schema:
Expansion = {"qid": str, "additional_info": str}
Return: list [Expansion]
Los resultados experimentales muestran que esta palabra clave más específica mejora los resultados de búsqueda en casi todos los casos:
juego de pruebas | modelización | palabra no expandida | 100 palabras de expansión | 150 palabras de expansión | 250 palabras de expansión |
---|---|---|---|---|---|
SciFact | jina-embeddings-v3 | 72.74 | 75.85 (+2.46) | 75.07 (+0.91) | 75.13 (+0.80) |
SciFact | todos-MiniLM-L6-v2 | 64.51 | 69.12 (+0.40) | 68.10 (+1.83) | 67.83 (-0.67) |
FiQA | jina-embeddings-v3 | 47.34 | 47.77 (+0.01) | 48.20 (+1.99) | 47.75 (+0.41) |
FiQA | todos-MiniLM-L6-v2 | 36.87 | 34.71 (+0.75) | 34.68 (+2.08) | 34.50 (+2.66) |
Como puede verse en la tabla anterior, los resultados de la búsqueda mejoraron con todas las configuraciones, excepto en el caso de utilizar el modelo all-MiniLM-L6-v2 en SciFact y añadir 250 extensiones.
con respecto a jina-embeddings-v3 encontramos que añadir 100 o 150 extensiones da los mejores resultados; añadir 250 extensiones reduce los resultados. Esto sugiere que más extensiones no es mejor, y que añadir demasiadas palabras puede empeorar los resultados de la búsqueda.
Ventajas y retos de la ampliación de las consultas
vantage
- Puede mejorar los resultados de búsqueda: Las extensiones de consulta permiten a los motores de búsqueda comprender mejor su intención y encontrar información más relevante y completa.
- Más eficaz para modelos de rendimiento medio: La ampliación de la consulta puede ayudar a algunos modelos con un rendimiento medio a que sus resultados de búsqueda sean decentes.
desafío
- Cuestiones de costesEl uso de LLM aumenta el tiempo y el coste computacional de la búsqueda. Se incurre en costes adicionales si se utilizan algunos servicios LLM de pago.
- Diseño de señalesEl diseño de buenas palabras clave no es fácil y requiere mucha experimentación y ajuste. Además, los distintos LLM, los distintos modelos vectoriales y las distintas tareas de búsqueda pueden requerir palabras clave diferentes.
- Otros métodos de optimizaciónSi su modelo vectorial no funciona bien, probablemente sea más rentable cambiar a un modelo mejor que dedicar tiempo a escalar las consultas.
dirección futura
Aunque la ampliación de las consultas sigue presentando algunos retos, creemos que desempeñará un papel importante en el futuro de la tecnología de búsqueda. Estamos explorando las siguientes direcciones:
- Ver si la expansión de consultas puede utilizarse para mejorar la representación vectorial de los documentos.
- Explorar el uso de la expansión de consultas en otras técnicas de búsqueda de IA, como la reordenación.
- Comparación de las extensiones generadas por LLM y los métodos tradicionales (por ejemplo, diccionarios de sinónimos) para generar
- Entrenar el LLM específicamente para la tarea de expansión de consultas.
- Optimice el número de extensiones y evite añadir demasiadas palabras a la vez.
- Investiga cómo reconocer las buenas extensiones y las malas extensiones.
Todo el código y los resultados experimentales son de código abierto y pueden rodearse y reproducirse:
llm-query-expansión: https://github.com/jina-ai/llm-query-expansion/
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...