L'Oréal
BotiqueAI
🎨 L'Oréal☁️ GCPNLP · Embeddings · Clustering
Case Study

Consumer Loop

Intelligence des avis mondiale — sentiment unifié sur chaque site, langue et variante produit.

Un système ML multi-pipeline qui collecte les avis produits sur des sites e-commerce dans plusieurs pays, harmonise les noms de produits par embeddings et clustering, et livre des signaux de sentiment structurés à grande échelle sur Google Cloud.

Multi
pays couverts
FR · UK · US · DE · IT …
3
pipelines Vertex AI
Données · Entraînement · Inférence
XLM-R
modèle sentiment
BERT multilingue fine-tuné
BigTable
store d'avis
Faible latence à grande échelle
Client
L'Oréal
Leader mondial de la beauté
Projet
Consumer Loop
Intelligence des avis
Cloud
GCP
Google Cloud Platform
Stockage
BigTable
Store d'avis à faible latence
Pipelines
3 × Vertex AI
Data · Training · Inference
Périmètre
Multi-pays
Plusieurs langues et sites
Le Défi

Même produit.
Des dizaines de noms, de sites et de langues.

L'Oréal vend le même produit sous des noms légèrement différents sur Sephora, Amazon, Douglas, Boots et de nombreux autres distributeurs — dans différents pays et volumes. Aucun site ne décrit un produit de manière identique.

Sans identité produit unifiée, agréger le sentiment des consommateurs sur les sites était impossible. Les avis étaient fragmentés, inexploités et inexploitables à grande échelle.

Identités produits fragmentées
"Elvive Total Repair 5" sur Sephora.fr devient "Total Repair Shampoo" sur Amazon.co.uk et "Elvive Reparatur Shampoo" sur Douglas.de.
Bruit multilingue des avis
Les avis arrivent en français, anglais, allemand, italien, espagnol et plus — chacun avec des argots, des expressions et un vocabulaire beauté différents.
Aucune infrastructure de données unifiée
Les données d'avis étaient cloisonnées par site, par pays — aucun pipeline unique pour collecter, normaliser et analyser à grande échelle.
Volume et vélocité
Des milliers de nouveaux avis par jour sur des centaines de variantes de produits — l'analyse manuelle n'était pas réalisable.
La Solution

Trois pipelines
Vertex AI coordonnés.

Consumer Loop est construit comme trois pipelines ML indépendants mais interconnectés sur Vertex AI — chacun gérant une étape distincte : collecte de données, entraînement du modèle et inférence en direct. Tous partagent un store central BigTable.

L'innovation clé est la couche d'harmonisation des produits : des embeddings multilingues + clustering qui relie les variantes de produits entre les sites avant toute analyse de sentiment.

Pipeline de données
Récupère les avis de tous les sites et pays cibles. Normalise le texte brut, détecte la langue et stocke dans BigTable.
Pipeline d'entraînement
Lit depuis BigTable, génère des embeddings, regroupe les produits par similarité de nom, affine XLM-RoBERTa pour le sentiment beauté, enregistre le modèle.
Pipeline d'inférence
Tâche par lot programmée qui associe les nouveaux avis aux clusters produits, exécute l'inférence de sentiment et écrit les résultats dans BigQuery.
3
Pipelines Vertex
Data · Training · Inference
XLM-R
modèle sentiment
100+ langues nativement
cosine
similarité produit
Matching par embeddings
live
BigQuery output
Données sentiment prêtes
Architecture

Schéma des
3 pipelines

Les arêtes en pointillés représentent les flux de données inter-pipelines. BigTable est le store partagé — il alimente les pipelines d'entraînement et d'inférence. L'artefact de modèle entraîné circule depuis le registre vers l'inférence par lots.

① Data Pipeline
② Training Pipeline
③ Inference Pipeline
Flux inter-pipelines

Arêtes pleines = flux pipeline · Arêtes pointillées = partage de données inter-pipelines

L'Algorithme

Des avis fragmentés
aux signaux de sentiment unifiés

Le défi central n'est pas l'analyse de sentiment — c'est de savoir que deux avis de sites différents parlent du même produit. Consumer Loop résout cela avec une approche en deux étapes : harmonisation des produits via des embeddings, puis classification de sentiment multilingue.

1
Harmonisation des produits — embeddings + clustering

Les noms de produits de différents sites sont encodés dans un espace vectoriel partagé à l'aide d'un modèle d'embedding multilingue. La similarité cosinus + clustering regroupe les variantes de produits représentant le même article, quelle que soit la langue ou la convention de nommage.

Sephora.fr · FR
"Elvive Total Repair 5 Shampooing"
Amazon.co.uk · EN
"Total Repair 5 Restoring Shampoo"
Douglas.de · DE
"Elvive Reparatur Shampoo 5"
Les 3 correspondent au même cluster produit · cluster_id: ELVIVE_REPAIR_5_SHAMPOO
2
Sentiment multilingue — XLM-RoBERTa affiné

Un modèle XLM-RoBERTa de base est affiné sur des avis de produits de beauté annotés. Le modèle classifie le sentiment au niveau de l'avis (positif / négatif / neutre) et extrait des signaux au niveau des aspects — texture, parfum, efficacité, emballage.

Positif
"Laisse les cheveux soyeux, j'adore le parfum"
Négatif
"A asséché mes cheveux après 2 utilisations"
Neutre
"Bon produit, identique à la version précédente"
🏷️
Tags aspects
texture · parfum · efficacité · emballage
3
Stratégies de clustering

Deux niveaux de clustering sont utilisés dans le pipeline — l'un pour la résolution d'identité produit, l'autre pour la découverte de thèmes dans les avis.

🧩
K-Means — clustering des noms produits

Les embeddings de titres de produits sont regroupés avec K-Means pour regrouper les variantes du même produit. Le nombre de clusters K est estimé par ligne de produit. Le score de silhouette valide la qualité du regroupement.

Embeddings multilingual-e5-large
Distance cosinus
Optimisation du coefficient de silhouette
💬
DBSCAN — découverte de thèmes

Les embeddings de texte d'avis sont regroupés avec DBSCAN pour faire remonter les thèmes récurrents au sein d'un cluster produit — sans prédéfinir le nombre de sujets. Les points de bruit (avis aberrants) sont filtrés automatiquement.

Embeddings Sentence-BERT
Auto-tuning epsilon DBSCAN
BERTopic pour le labelling des sujets
Stack Technique

Stack ML
native GCP

Tout fonctionne sur Google Cloud. Vertex AI gère l'orchestration des pipelines, l'entraînement et le service des modèles. BigTable fournit la colonne vertébrale à faible latence. BigQuery expose les sorties aux analyses en aval.

Cloud & Calcul
⚙️
Vertex AI Pipelines
Orchestration KFP pour les 3 pipelines sur GCP
📦
Vertex AI Model Registry
Stockage versionné des modèles et gestion des déploiements
Stockage
🗄️
Google BigTable
Store clé-valeur à faible latence pour les avis bruts et traités
📊
BigQuery
Sorties de sentiment agrégées — tables analytiques prêtes à requêter
ML & NLP
🧬
multilingual-e5-large
Embeddings de phrases multilingues état de l'art (HuggingFace)
🤖
XLM-RoBERTa
Affiné pour l'analyse de sentiment multilingue dans le domaine beauté
Clustering
🧩
Scikit-learn K-Means
Harmonisation des noms de produits entre sites et langues
💬
DBSCAN + BERTopic
Découverte de thèmes d'avis sans nombre de sujets prédéfini
References

Pour aller plus loin

Vertex AI Pipelines
Orchestration de pipelines ML basée sur Kubeflow sur GCP
Google BigTable
NoSQL entièrement géré pour des charges de travail à grande échelle
multilingual-e5-large
Embeddings de phrases multilingues état de l'art — HuggingFace
XLM-RoBERTa
Apprentissage de représentation cross-linguale non supervisé
BERTopic
Exploitation de BERT pour la modélisation de sujets en NLP
Scikit-learn — DBSCAN
Clustering spatial basé sur la densité pour un regroupement robuste
Sentence Transformers
Production d'embeddings de phrases sémantiquement significatifs
BigQuery ML
Exécution de modèles ML directement dans BigQuery — Google Cloud
BotiqueAI
Custom AI and MLOps for enterprise clients
← Nos Réalisations