Elasticsearch ofrece a los desarrolladores el conjunto de herramientas de búsqueda más completo, desde la búsqueda vectorial hasta las potentes API REST. Descubre los cuadernos de muestra en GitHub para probar algo nuevo. También puedes iniciar tu prueba gratuita o ejecutar Elasticsearch localmente hoy mismo.
Introducción
En la última parte de este serial, explicamos cómo desplegar el modelo E5 preentrenado de Elastic (así como otros modelos multilingües de incrustación de texto de Hugging Face) y nos adentramos en la generación de incrustaciones vectoriales densas a partir de tus datos textuales usando Elasticsearch y Kibana. En este blog, analizaremos los resultados de estas incrustaciones y destacaremos los beneficios significativos de aprovechar un modelo multilingüe.
Ahora que tenemos nuestro índice coco_multilingual, realizar la búsqueda nos dará documentos en varios idiomas, con el campo "en" para que podamos consultar:
Realizando una búsqueda en inglés
Intentemos hacer la búsqueda en inglés y ver qué tal va:
Aquí, aunque la consulta parezca engañosamente simple, estamos buscando las incrustaciones numéricas de la palabra 'kitty' en todos los documentos y todos los idiomas que aparecen debajo del capó. Y como realizamos búsqueda vectorial, podemos buscar semánticamente todas las palabras que puedan estar relacionadas con 'kitty': "cat", "kitten", "felino", "gatto" (italiano), "meo" (vietnamita), 고양이 (coreano), 猫 (chino), etc. Como resultado, aunque mi consulta esté en inglés, también podemos buscar contenido en todos los demás idiomas. Por ejemplo, buscar un gatitoying on something también devuelve documentos en italiano, neerlandés o vietnamita. ¡Eso sí que es eficiencia!
Realizar una búsqueda de contenido en otros idiomas
De manera similar, realizar una búsqueda por palabra clave de "cat" en coreano ("고양이") también devolverá resultados significativos. Lo espectacular aquí es que ni siquiera tenemos documentos en coreano en este índice.
Esto funciona porque el modelo de incrustación representa el significado en un espacio semántico compartido, permitiendo la recuperación de imágenes relevantes incluso con una consulta en un idioma diferente al de los subtítulos indexados.
Aumento de resultados de búsqueda relevantes con búsqueda híbrida y reposicionamiento
Estamos contentos de que los resultados relevantes llegaron como se esperaba. Pero, en el mundo real, por ejemplo en comercio electrónico o en aplicaciones RAG que necesitan reducir a los 5-10 resultados más aplicables, podemos usar un modelo de reclasificación para priorizar los resultados más relevantes.
Aquí, realizar una consulta que pregunte "¿de qué color es el gato?" en vietnamita dará muchos resultados, pero el top 1 o 2 puede no ser el más relevante.
Todos los resultados mencionan gato, o algún tipo de color:

¡Así que vamos a mejorar eso! Integremos el modelo multilingüe de reclasificación de Coherepara mejorar el razonamiento correspondiente a nuestra pregunta.
Ahora, con los mejores resultados, nuestra solicitud puede responder con confianza que el color del gatito es negro o marrón con rayas. Lo que resulta aún más interesante aquí es que nuestra búsqueda vectorial detectó una omisión en el pie de foto en inglés del conjunto de datos original. Es capaz de encontrar al gato de rayas marrones aunque la traducción de referencia al inglés no mencionó ese detalle. Este es el poder de la búsqueda vectorial.
Conclusión
En este blog, explicamos la utilidad de un modelo de incrustación multilingüe y cómo aprovechar Elasticsearch para integrar los modelos y generar embeddings, y mejorar eficazmente la relevancia y la precisión mediante una búsqueda híbrida y un reclasificador. Puedes crear tu propio clúster en la nube para probar la búsqueda semántica multilingüe usando nuestro modelo E5 estándar en el idioma y conjunto de datos que elijas.




