Mejorando los motores de búsqueda con Machine Learning

Trabajamos junto a una compañía orientada al aprovisionamiento, ingeniería y pruebas de servicios para componentes electrónicos y sistemas, dentro del mercado aeroespacial y entornos hostiles donde el el fracaso no es un opción

El objetivo de nuestro cliente es estar cerca de la comunidad aeroespacial proporcionando una solución técnica que les sea de utilidad. Para ello contaban con una herramienta online que permite al usuario encontrar componentes en una base de datos de más de 15 millones de registros, consultar de forma amplia, precisa y detallada todo tipo de especificaciones técnicas, comparar entre los distintas opciones y realizar un análisis técnico profundo con el fin de obtener una lista más completa de aquellos componentes de interés.

Reto

Desarrollar un sistema de búsqueda en una base de datos de más de 15 millones de componentes resultaría complicado desde el punto de vista de la usabilidad, pero en este caso se complicaría aún más por dos razones:

Por un lado, cada componente se puede clasificar en más de 150 categorías diferentes, y la importancia de cada una de ellas varía en función del tipo y la familia a la que pertenece el componente. Esto hace que ofrecer una búsqueda facetada o navegar usando filtros sea muy complicado.

Por otro lado, los nombres y descripciones de familias enteras de componentes son muy similares entre sí, y la diferencia puede ser una característica específica entre cientos. Esto hace que una búsqueda abierta ofrezca resultados normalmente no concluyentes para el usuario, que se verá obligado a repetir una y otra vez la búsqueda para encontrar el componente que le interesa.

Debido a los problemas relacionados con las categorías, las facetas y la búsqueda abierta, los usuarios generalmente encontraron que la navegación a través del sitio web era confusa y complicada, lo que supuso un incremento considerable de las tasas de abandono del site y en consecuencia una baja participación de los usuarios en la plataforma.

Soluciones

1.- Optimización del sistema de clasificación facetada.

La principal mejora que se produjo en el sistema de búsqueda fue gracias al desarrollo y a la mejora del sistema de facetas. Cada componente de la plataforma podría pertenecer a más de 100 categorías diferentes. En una interfaz de búsqueda facetada no tiene sentido ofrecer al usuario más de un número limitado de facetas, cada una con un número limitado de elementos. De ser así, el sistema de búsqueda facetado es inutilizable y, por lo tanto, ineficiente.

El objetivo era ofrecer al usuario, de forma dinámica, solo aquellas facetas que fueran más relevantes para él. Las facetas más relevantes en cada búsqueda se calculan utilizando algoritmos de agrupación implementados en Tensor Flow en función de la similitud entre facetas y componentes. En función de los componentes devueltos por la búsqueda, las facetas que están más cerca de estos componentes se calculan en función del número de incidencias y la distribución de los componentes dentro de dicha faceta. A partir de ahí se buscarían las facetas que mejor representan los componentes devueltos por la búsqueda.

2.- Sistema de recomendación de componentes.

Con la intención de que el usuario pueda explorar y comparar componentes similares fácilmente, nos propusimos ofrecer una lista de componentes relacionados. El problema es que un sistema de componentes relacionados basado solo en categorías o palabras clave similares no ofrecía al usuario información de valor debido al enorme árbol de taxonomía y a las similitudes en términos de palabras clave entre los componentes. Así que configuramos un sistema de recomendaciones aplicando técnicas de agrupación en clúster en Tensorflow, que consiste en proporcionar sugerencias basadas en la navegación de usuarios similar a la actual (usuarios como yo). Básicamente, el sistema puede aprender y alimentarse de la navegación de usuarios que visitaron el site con anterioridad para facilitar la navegación a futuros usuarios.

Resultados

Una vez que se implementaron ambos sistemas, realizamos una medición exhaustiva de una serie de KPI's específicos y observamos que la tasa de participación de los usuarios se había incrementado en un promedio del 25%.

Por otro lado, las facetas comenzaron a utilizarse un 30% más en el total de las búsquedas, con lo que aumentó el número de búsquedas satisfactorias por usuario.

Uno de cada 5 usuarios también hizo uso del sistema de recomendación (hizo clic en algunos de los componentes asociados).

Háblanos de tu proyecto, podemos ayudarte.

Hacemos uso de las cookies para mejorar su experiencia en nuestra web. Más info.