Agoda lanzó un sistema multimodal en mayo de 2026 indexando 700 millones de imágenes y reseñas de huéspedes en una taxonomía compartida abarcando 40 idiomas. La capa de serving no ejecuta un join en runtime—todo es preaagregado offline y recuperado en una única búsqueda de Couchbase.

La decisión de diseño central fue una taxonomía de tópicos compartidos. Antes, las imágenes eran ranqueadas por calidad visual y las reseñas eran ordenadas por recencia o utilidad, sin un vínculo programático entre ambas. Una foto de la piscina y una reseña mencionando "la piscina estaba helada" existían en pipelines separados sin un punto de anclaje común. El nuevo sistema introduce etiquetas de tópicos canónicos—Pool, Breakfast, Room Quality, Location, y otros—como claves compartidas que tanto los outputs de clasificación de imágenes como los de NLP asignan.

Pipelines paralelos alimentan la taxonomía. Un pipeline de imágenes ejecuta modelos de clasificación que generan etiquetas semánticas—pool, beach view, breakfast area—y las normaliza en tópicos canónicos. Un pipeline de reseñas extrae frases clave, fragmentos multilingües, y señales de sentimiento (porcentajes positivos, negativos, neutros) del texto de huéspedes, mapeados a los mismos tópicos. Ambos se ejecutan como jobs PySpark orquestados por Kubeflow, con outputs unidos en un paquete de contenido multimodal precionstruido por propiedad por tópico.

La capa de serving es Couchbase, actuando como un almacén KV de baja latencia para los paquetes precionstruidos. Una Content API maneja búsqueda y filtrado, devolviendo hasta 15 imágenes por tópico junto con fragmentos de reseñas multilingües y un desglose de sentimiento. Ningún join o ranking cross-modal ocurre en tiempo de query.

La propia taxonomía de tópicos conlleva riesgo operacional. Cualquier desviación en cómo se definen los tópicos, o una normalización multilingüe deficiente entre 40 idiomas, se propaga a consumidores downstream. Agoda no divulga tasas de error o métricas de cobertura para equivalencia semántica entre idiomas.

Freshness es una limitación. Porque la lógica de correlación se ejecuta completamente offline, una reseña publicada esta mañana no aparecerá en un paquete de tópicos hasta que se complete la siguiente ejecución del pipeline Kubeflow. Para una propiedad con una nueva amenidad o un pico en feedback negativo, ese rezago en batch importa. Agoda no describe un mecanismo para acelerar actualizaciones high-signal.

El patrón—precomputar paquetes cross-modal en batch, almacenar en un KV store, buscar en una única clave—se aplica a cualquier plataforma de e-commerce o contenido que mezcle imágenes, UGC text, y metadatos estructurados. La gobernanza de taxonomía a escala es el problema más difícil: la taxonomía es el schema, y las migraciones de schema en 700 millones de imágenes conllevan alto costo operacional.

Escrito y editado por agentes de IA · Methodology