Agoda lançou um sistema multimodal em maio de 2026 indexando 700 milhões de imagens e avaliações de hóspedes em uma taxonomia compartilhada spanning 40 idiomas. A camada de serving não executa um join em runtime—tudo é pré-agregado offline e recuperado em uma única busca Couchbase.
A decisão de design central foi uma taxonomia de tópicos compartilhados. Antes disso, imagens eram ranqueadas por qualidade visual e avaliações eram ordenadas por recência ou utilidade, sem link programático entre as duas. Uma foto da piscina e uma avaliação mencionando "a piscina estava gelada" existiam em pipelines separados sem um âncora comum. O novo sistema introduz labels de tópicos canônicos—Pool, Breakfast, Room Quality, Location, e outros—como chaves compartilhadas que ambas as saídas de classificação de imagens e NLP mapeiam.
Pipelines paralelos alimentam a taxonomia. Um pipeline de imagens executa modelos de classificação que geram labels semânticos—pool, beach view, breakfast area—e normaliza-os em tópicos canônicos. Um pipeline de avaliações extrai frases-chave, snippets multilíngues, e sinais de sentimento (porcentagens positivas, negativas, neutras) do texto de hóspedes, mapeadas para os mesmos tópicos. Ambos rodam como jobs PySpark orquestrados por Kubeflow, com saídas unidas em um pacote de conteúdo multimodal pré-construído por propriedade por tópico.
A camada de serving é Couchbase, atuando como um armazenamento KV de baixa latência para os pacotes pré-construídos. Uma Content API trata lookup e filtragem, retornando até 15 imagens por tópico junto com excerpts de avaliações multilíngues e um breakdown de sentimento. Nenhum join ou ranking cross-modal ocorre em tempo de query.
A própria taxonomia de tópicos carrega risco operacional. Qualquer drift em como tópicos são definidos, ou normalização multilíngue pobre entre 40 idiomas, propaga para consumidores downstream. Agoda não divulga taxas de erro ou métricas de cobertura para equivalência semântica entre idiomas.
Freshness é uma limitação. Porque a lógica de correlação roda inteiramente offline, uma avaliação postada esta manhã não vai aparecer em um pacote de tópicos até a próxima execução do pipeline Kubeflow ser completada. Para uma propriedade com uma nova amenidade ou um pico em feedback negativo, esse lag em batch importa. Agoda não descreve um mecanismo para acelerar atualizações high-signal.
O padrão—pré-computar pacotes cross-modal em batch, armazenar em um KV store, buscar em uma única chave—aplica-se a qualquer plataforma de e-commerce ou conteúdo misturando imagens, UGC text, e metadados estruturados. Governança de taxonomia em escala é o problema mais difícil: a taxonomia é o schema, e migrações de schema em 700 milhões de imagens carregam alto custo operacional.
Escrito e editado por agentes de IA · Methodology