Generación de filtros y facetas usando ML

Explorando los pros y contras de automatizar la creación de filtros y facetas en una experiencia de búsqueda usando modelos de aprendizaje automático frente al enfoque tradicional codificado de forma dura.

Elasticsearch está repleto de características nuevas que te ayudarán a desarrollar las mejores soluciones de búsqueda para tu caso de uso. Aprende a ponerlas en práctica en nuestro webinar práctico sobre crear una experiencia moderna de búsqueda con IA. También puedes iniciar una prueba gratuita en el cloud o prueba Elastic en tu máquina local ahora mismo.

Los filtros y facetas son mecanismos empleados para refinar los resultados de búsqueda, ayudando a los usuarios a encontrar contenido o productos relevantes más rápidamente. En el enfoque tradicional, las reglas se definen manualmente. Por ejemplo, en un catálogo de películas, atributos como el género están predefinidos para su uso en filtros y facetas. Por otro lado, con los modelos de IA, se pueden extraer automáticamente nuevos atributos de las características de las películas, haciendo el proceso más dinámico y personalizado. En este blog, exploramos los pros y los contras de cada método, destacando sus aplicaciones y desafíos.

Filtros vs facetas

Antes de empezar, definamos qué son los filtros y las facetas. Los filtros son atributos predefinidos que se emplean para restringir un conjunto de resultados. En un mercado, por ejemplo, los filtros están disponibles incluso antes de que se realice una búsqueda. El usuario puede seleccionar una categoría, como "Juegos de video", antes de buscar "PS5", refinando la búsqueda a un subconjunto más específico en lugar de a toda la base de datos. Esto aumenta significativamente las posibilidades de obtener resultados más relevantes.

Las facetas funcionan de forma similar a los filtros, pero solo están disponibles luego de realizar la búsqueda. En otras palabras, la búsqueda devuelve resultados y, a partir de ellos, se genera una nueva lista de opciones de refinamiento. Por ejemplo, al buscar una consola PS5, pueden mostrar aspectos como la capacidad de almacenamiento, el costo de envío y el color para ayudar a los usuarios a elegir el producto ideal.

Ahora que definimos filtros y facetas, hablemos del impacto de los enfoques tradicionales y basados en Aprendizaje Automático (ML) en su implementación y uso. Cada método tiene beneficios y desafíos que influyen en la eficiencia de búsqueda.

Enfoque tradicional de filtros y facetas

En este enfoque, los filtros y facetas se definen manualmente basar en reglas predefinidas. Esto significa que los atributos disponibles para perfeccionar la búsqueda están fijos y planeados con antelación, teniendo en cuenta la estructura del catálogo y las necesidades del usuario.

Por ejemplo, en un mercado, categorías como "Electrónica" o "Moda" pueden tener filtros específicos como marca, formato y rango de precio. Estas reglas se crean de forma estática, garantizando la coherencia en la experiencia de búsqueda pero requiriendo ajustes manuales cada vez que surgen nuevos productos o categorías.

Aunque este enfoque proporciona previsibilidad y control sobre los filtros y facetas mostrados, puede ver limitado cuando surgen nuevas tendencias que exigen refinamiento dinámico.

Pros:

  • Previsibilidad y control: Como los filtros y facetas se definen manualmente, la gestión se vuelve más sencilla.
  • Baja complejidad: No hace falta capacitar modelos.
  • Facilidad de mantenimiento: Como las reglas están predefinidas, se pueden hacer ajustes y correcciones rápidamente.

Contras:

  • Reindexación necesaria para nuevos filtros: Cada vez que un nuevo atributo necesita usar como filtro, todo el conjunto de datos debe reindexar para cerciorar que los documentos contengan esta información.
  • Falta de adaptación dinámica: Los filtros son estáticos y no se ajustan automáticamente a los cambios en el comportamiento del usuario.

Implementación de filtros/facetas – Enfoque tradicional

En Dev Tools, Kibana, crearemos una demostración de filtros/facetas usando el enfoque tradicional.

Primero, definimos la asignación para estructurar el índice:

Los campos de marca y almacenamiento se establecen como palabra clave, lo que permite usarlos directamente en agregaciones (facetas). El campo de precios es de tipo float, lo que permite la creación de rangos de precio.

En el siguiente paso, los datos del producto se indexarán:

Ahora, recuperemos los aspectos tradicionales agrupando los resultados por marca, almacenamiento y rango de precio. En la consulta, se definió size:0. En este escenario, el objetivo es recuperar solo los resultados de la agregación sin incluir los documentos correspondientes a la consulta.

La respuesta incluirá recuentos para Marca, Almacenamiento y Precio, ayudando a crear filtros y facetas.

Machine learning y enfoque basado en IA para filtros y facetas

En este enfoque, los modelos de Aprendizaje Automático (ML), incluidas las técnicas de Inteligencia Artificial (IA), analizan atributos de datos para generar filtros y facetas relevantes. En lugar de depender de reglas predefinidas, ML/IA aprovecha características de datos indexados. Esto permite el descubrimiento dinámico de nuevas facetas y filtros.

Beneficios:

  • Actualizaciones automáticas: Se generan automáticamente nuevos filtros y facetas, sin necesidad de ajustes manuales.
  • Descubrimiento de nuevos atributos: Puede identificar características de datos previamente no consideradas como filtros, enriqueciendo la experiencia de búsqueda.
  • Reducción del esfuerzo manual: El equipo no necesita definir y actualizar constantemente las reglas de filtrado mientras la IA aprende de los datos disponibles.

Contras:

  • Complejidad del mantenimiento: El uso de modelos puede requerir una pre-validación para cerciorar la consistencia de los filtros generados.
  • Requiere conocimientos en ML e IA: La solución requiere profesionales cualificados para afinar y monitorizar el rendimiento del modelo.
  • Riesgo de filtros irrelevantes: Si el modelo no está bien calibrado, puede generar facetas que no son útiles para los usuarios.
  • Costar: El uso de aprendizaje automático e inteligencia artificial puede requerir servicios de terceros, aumentando los costos operativos.

Cabe destacar que, incluso con un modelo bien calibrado y un prompt bien elaborado, los aspectos generados deberían pasar por un paso de revisión. Esta validación puede ser manual o basar en normas de moderación, cerciorando que el contenido sea adecuado y seguro. Aunque no necesariamente supone un inconveniente, es importante cerciorar la calidad e idoneidad de los aspectos antes de que estén disponibles para los usuarios.

Implementación de filtros/facetas – enfoque de IA

En esta demostración, emplearemos un modelo de IA para analizar automáticamente las características del producto y sugerir atributos relevantes. Con un prompt bien estructurado, extraemos información del catálogo y la transformamos en filtros y facetas. A continuación, presentamos cada paso del proceso.

Inicialmente, emplearemos la API de Inferencia para registrar un endpoint para su integración con un servicio de ML. A continuación se muestra un ejemplo de integración con el servicio de OpenAI.

Ahora, definimos la tubería para ejecutar el prompt y obtener los nuevos filtros generados por el modelo.

Ejecutando una simulación de esta tubería para el producto "PlayStation 5", con la siguiente descripción:

Juegos impresionantes: Maravíllate con unos gráficos impresionantes y disfruta de las características de la nueva PS5.

Inmersión impresionante: Descubre una experiencia de juego más profunda con soporte para retroalimentación háptica, disparadores adaptativos y tecnología de audio 3D.

Diseño Slim: Con la Edición Digital PS5, los jugadores cuentan con una tecnología de juego poderoso en un diseño elegante y compacto.

1TB de almacenamiento: Ten tus juegos favoritos listos y esperando para jugar con 1TB de almacenamiento SSD integrado.

Retrocompatibilidad y mejora del juego: La consola PS5 puede reproducir más de 4.000 juegos de PS4. Con Game Boost, incluso puedes disfrutar de tasas de fotogramas más rápidas y fluidas en algunos de los mejores juegos de consola de PS4.

Observemos la salida de prompt generada por esta simulación.

Ahora se agregará un nuevo campo, dynamic_facets, al nuevo índice para almacenar las facetas generadas por la IA.

Usando la API Reindex, reindexaremos el índice de juegos de video a videogames_1, aplicando la generate_filter_ai pipeline durante el proceso. Esta tubería generará automáticamente facetas dinámicas durante la indexación.

Ahora, haremos una búsqueda y obtendremos los nuevos filtros:

Resultados:

Para simbolizar la implementación de las facetas, a continuación se muestra una interfaz sencilla:

El código de la interfaz que se presenta está aquí.

Conclusión

Ambos enfoques para crear filtros y facetas tienen sus beneficios y puntos de preocupación. El enfoque tradicional, basado en reglas manuales, ofrece control y costos más bajos, pero requiere actualizaciones constantes y no se adapta dinámicamente a nuevos productos o funcionalidades.

Por otro lado, el enfoque basado en IA y Aprendizaje Automático automatiza la extracción de facetas, haciendo la búsqueda más flexible y permitiendo el descubrimiento de nuevos atributos sin intervención manual. Sin embargo, este enfoque puede ser más complejo de implementar y mantener, requiriendo calibración para garantizar resultados consistentes.

La elección entre los enfoques tradicionales y basados en IA depende de las necesidades y la complejidad del negocio. Para escenarios más simples, donde los atributos de los datos son estables y previsibles, el enfoque tradicional puede ser más eficiente y fácil de mantener, evitando costos innecesarios con infraestructuras y modelos de IA. Por otro lado, el uso de ML/IA para extraer facetas puede aportar un valor significativo, mejorando la experiencia de búsqueda y haciendo que el filtrado sea más inteligente.

Lo importante es evaluar si la automatización justifica la inversión o si una solución más tradicional ya satisface eficazmente las necesidades del negocio.

Preguntas frecuentes

¿Qué son los filtros?

Los filtros son atributos predefinidos que se utilizan para restringir un conjunto de resultados.

¿Qué son las facetas?

Las facetas son una nueva lista de opciones de ajuste que se genera tras realizar una búsqueda.

¿Cuál es el enfoque tradicional respecto a los filtros y facetas?

En el enfoque tradicional de filtros y facetas, los atributos disponibles para el ajuste de la búsqueda son fijos y planificados. El enfoque es bueno para la previsibilidad, pero carece de adaptación dinámica y requiere crear nuevos filtros para la reindexación.

¿Cuál es el enfoque de machine learning (ML) para los filtros y facetas?

El enfoque de machine learning (ML) para los filtros y facetas se basa principalmente en IA. Los modelos de ML analizan los atributos de los datos para generar filtros y facetas relevantes. En lugar de basarse en reglas predefinidas, los modelos de ML e IA aprovechan las características de los datos indexados.

Contenido relacionado

¿Estás listo para crear experiencias de búsqueda de última generación?

No se logra una búsqueda suficientemente avanzada con los esfuerzos de uno. Elasticsearch está impulsado por científicos de datos, operaciones de ML, ingenieros y muchos más que son tan apasionados por la búsqueda como tú. Conectemos y trabajemos juntos para crear la experiencia mágica de búsqueda que te dará los resultados que deseas.

Pruébalo tú mismo