Búsqueda de Productos Basada en Grafos con LLMs: Arquitectura y Ejemplos
La búsqueda de productos basada en consultas de texto debe manejar solicitudes de 1 a 2 oraciones de longitud. Los escenarios esperados incluyen consultas simples ("jeans"), búsqueda semántica (suéter → sudaderas), negaciones ("vestido no de algodón"), adjetivos ("vestido impresionante"), descripciones estructuradas ("vestido largo con mangas cortas"), múltiples entidades ("blusa blanca y jeans azules"), consultas basadas en propósito ("zapatos para deportes"), menciones de marca/precio ("bolso Kors por menos de 20k") y referencias a figuras públicas ("bolso como el de Dua Lipa").
Estas consultas van más allá de la búsqueda por palabras clave y vectorial, requiriendo análisis de relaciones y contexto.
Ventajas de la Representación en Grafos
Los grafos almacenan no solo entidades, sino también las relaciones entre ellas. Para una consulta como "top sin mangas", una descripción de producto que diga "jeans Levi's, combina bien con un top" no dará un falso positivo: en el grafo de consulta, "top sin mangas" está vinculado al objeto principal, pero en el producto, no lo está. La métrica de similitud grafo a grafo tiene esto en cuenta, reduciendo la puntuación.
Para "jeans", la puntuación es alta debido a la alineación semántica de estructuras.
Los grafos permiten distinguir roles de nodos: producto deseado, atributo no deseado, parte de un objeto.
Pipeline de Búsqueda en Grafos con LLM
El algoritmo consta de pasos secuenciales:
- Optimización de prompts dinámicos: Analiza la complejidad de la consulta, extrae marcas/precios. Para consultas simples (1–2 palabras), recurre a búsqueda por palabras clave o vectorial. Forma un prompt para Texto a Grafo.
- Texto a Grafo: El LLM construye un grafo de conocimiento a partir de la consulta. Se divide en subgrafos para múltiples entidades.
- Búsqueda en grafos: Compara el grafo de consulta con grafos de productos usando similitud grafo a grafo. Devuelve los índices top-N.
- Clasificador LLM: Reclasifica candidatos para mejorar la precisión.
- Evaluación de resultados: Analiza coincidencias/desajustes (encontró tipo pero no color). Si la puntuación es baja, itera o recurre a alternativas.
Una latencia de 10–15 segundos es aceptable para sistemas tipo RAG.
Ejemplos de Procesamiento de Consultas Complejas
Negaciones
Consulta: "vestido largo elegante sin mangas". El grafo marca "mangas" como un atributo no deseado. La búsqueda excluye productos con mangas, enfocándose en vestidos con atributos "elegante", "largo".
Consultas Estructuradas
"Vestido largo con mangas cortas". Grafo: vestido (largo) → mangas (cortas). El algoritmo encuentra productos con estructura jerárquica, sin limitaciones de profundidad. Útil para documentos con condiciones anidadas (aplicaciones con filtros por estado/fechas).
Múltiples Entidades
"Jeans blancos y bolso azul". Texto a Grafo se divide en subgrafos, la búsqueda se ejecuta en paralelo. Es posible emparejar conjuntos (traje azul para "chaqueta azul y pantalones azules"), pero requiere refinamiento en evaluación para evitar falsas alternativas.
Propósito Sin Tipo
"Zapatos para deportes". El grafo se expande al escenario de uso, coincide por semántica.
Marcas y Precio
"Jeans Levi's por menos de 12k". Los filtros se extraen en Texto a Grafo, se integran en el grafo. Las evaluaciones textuales ("barato") se basan en estadísticas de productos similares.
Conclusiones Clave
- La búsqueda en grafos supera a la búsqueda vectorial en consultas estructuradas con negaciones y relaciones.
- El pipeline es independiente del dominio (excepto la optimización de prompts), adaptable a libros/documentos.
- La evaluación de resultados permite iteraciones sin mostrar al usuario.
- La latencia se reduce a 2–3 segundos con vectorización y clasificador opcional.
- Perspectivas futuras: enrutamiento basado en complejidad, modelos multimodales, investigación profunda.
— Editorial Team
Aún no hay comentarios.