Revenir au contenu principal

Recommandations de produits basées sur le bon sens à l'aide de grands modèles de langage

par Avinash Sooriyarchchi, Sam Sawyer, Colton Peltier et Bryan Smith

Un glossaire visuel pour l'IA générative, présentant différents termes et concepts liés à cette technologie.

Découvrez nos accélérateurs de solutions LLM pour le commerce de détail pour plus de détails et pour télécharger les notebooks.

Les recommandations de produits sont une fonctionnalité essentielle de l'expérience client moderne. Lorsque les utilisateurs reviennent sur un site avec lequel ils ont déjà interagi, ils s'attendent à voir des recommandations liées à ces interactions passées pour les aider à reprendre là où ils s'étaient arrêtés. Lorsqu'ils s'intéressent à un article spécifique, ils s'attendent à ce que des alternatives similaires et pertinentes leur soient suggérées afin de trouver le produit idéal pour répondre à leurs besoins. Et lorsque des articles sont ajoutés au panier, les utilisateurs s'attendent à ce que d'autres produits leur soient suggérés pour compléter et améliorer leur expérience d'achat globale. Lorsqu'elles sont bien conçues, ces recommandations de produits facilitent non seulement le parcours d'achat, mais permettent également au client de se sentir reconnu et compris par l'enseigne.

Bien qu'il existe de nombreuses approches différentes pour générer des recommandations de produits, la plupart des moteurs de recommandation actuels s'appuient sur des modèles historiques d'interaction entre les produits et les clients. Ces modèles sont appris grâce à l'application de techniques sophistiquées sur de vastes collections de données propres aux détaillants. Ces moteurs s'avèrent particulièrement efficaces pour renforcer les modèles appris lors d'interactions clients réussies, mais il est parfois nécessaire de s'affranchir de ces schémas historiques pour proposer une expérience différente.

Prenons le cas d'un nouveau produit pour lequel nous ne disposons que d'un nombre limité d'interactions dans nos données. Les systèmes de recommandation qui nécessitent des connaissances acquises lors de nombreuses interactions clients risquent de ne pas suggérer ce produit tant que les données accumulées ne sont pas suffisantes pour étayer une recommandation.

Ou envisageons un autre scénario dans lequel un seul produit attire une attention démesurée. Dans ce cas, le système de recommandation risque de tomber dans le piège consistant à toujours suggérer ce même article en raison de sa popularité écrasante, au détriment d'autres produits tout aussi viables de la gamme.

Pour éviter ces difficultés, les détaillants peuvent adopter une stratégie qui utilise des modèles d'association de produits largement reconnus et basés sur le bon sens. À l'instar d'un vendeur attentionné, ce type de système de recommandation peut examiner les articles qui intéressent le client et lui suggérer des produits complémentaires cohérents avec les associations d'articles identifiées.

Utiliser un LLM pour générer des recommandations

Prenons l'exemple d'un client qui achète des écharpes, des bonnets et des moufles d'hiver. De toute évidence, ce client se prépare à affronter le froid. Supposons que le détaillant ait récemment ajouté des chaussettes en laine épaisse et des bottes d'hiver à sa gamme de produits. Alors que d'autres systèmes de recommandation ne détecteraient pas encore l'association entre ces nouveaux articles et ceux consultés par le client en raison du manque d'interactions dans les données historiques, le bon sens permet de lier ces articles entre eux.

Ce type de connaissances est souvent capturé par les grands modèles de langage (LLM), entraînés sur de vastes volumes de textes généraux. Dans ces textes, les moufles et les bottes peuvent être directement associées par des personnes mentionnant ces deux articles avant de sortir, et liées à des concepts comme le « froid », la « neige » et l'« hiver », ce qui renforce leur relation et permet d'intégrer d'autres articles connexes.

Lorsqu'on demande ensuite au LLM quels autres articles pourraient être associés à une écharpe, un bonnet et des moufles, toutes ces connaissances, capturées dans des milliards de paramètres internes, sont utilisées pour suggérer une liste prioritaire d'articles supplémentaires susceptibles de l'intéresser. (Figure 1)

Figure 1. Articles supplémentaires suggérés par le LLM Llama2-70b en fonction de l'intérêt d'un client pour les écharpes, bonnets et moufles d'hiver
">

La beauté de cette approche réside dans le fait que nous ne nous limitons pas à demander au LLM d'analyser uniquement les articles du panier de manière isolée. Nous pouvons prendre en compte le fait qu'un client qui achète ces articles d'hiver dans le sud du Texas peut avoir des préférences différentes de celles d'un client qui achète ces mêmes articles dans le nord du Minnesota, et intégrer cette information géographique dans le prompt du LLM. Nous pouvons également inclure des informations sur des campagnes promotionnelles ou des événements pour inciter le LLM à suggérer des articles associés à ces initiatives. Là encore, à l'instar d'un vendeur en magasin, le LLM peut équilibrer différentes variables pour formuler des recommandations pertinentes et adaptées.

Associer les recommandations aux produits disponibles

Mais comment faire le lien entre les suggestions de produits générales fournies par le LLM et les articles spécifiques de notre catalogue de produits ? Les LLM entraînés sur des ensembles de données publics n'ont généralement pas connaissance des articles spécifiques de la gamme d'un détaillant, et l'entraînement d'un tel modèle avec des informations propres à l'entreprise est à la fois long et extrêmement coûteux.

La solution à ce problème est relativement simple. À l'aide d'un modèle d'embedding léger, comme l'un des nombreux modèles open source gratuits disponibles en ligne, nous pouvons traduire les descriptions et autres métadonnées de chacun de nos produits en ce que l'on appelle des embeddings. (Figure 2)

Figure 2. Un embedding très abrégé de la description de produit associée à une paire de bottes d'hiver, généré à l'aide du modèle all-MiniLM-L6-v2.

Le concept d'embedding est un peu technique, mais pour faire simple, il s'agit d'une représentation numérique du texte et de la façon dont il cartographie un ensemble de concepts et de relations identifiés dans une langue donnée. Deux articles conceptuellement proches, comme le terme général bottes d'hiver et le modèle spécifique Acme Troopers, qui permet de fouler les rues enneigées de la ville ou les sentiers de montagne dans le confort d'une tige en toile imperméable et en cuir pour résister aux rigueurs de l'hiver, auraient des représentations numériques très similaires s'ils étaient passés dans un LLM adapté. Si nous calculons la différence mathématique (la distance) entre les embeddings associés à chaque article, nous constaterions qu'ils sont très proches. Cela indiquerait que ces articles sont étroitement liés.

Pour mettre ce concept en pratique, il suffit de convertir toutes nos descriptions de produits et métadonnées spécifiques en embeddings et de les stocker dans un index de recherche, souvent appelé base de données vectorielle (vector store). Lorsque le LLM formule des recommandations de produits générales, nous traduisons chacune d'elles en ses propres embeddings et recherchons les articles les plus proches dans la base de données vectorielle, ce qui nous permet de présenter des produits spécifiques de notre catalogue à notre client. (Figure 3)

Figure 3. Flux de travail conceptuel pour formuler des recommandations de produits spécifiques à l'aide d'un LLM
">

Concrétiser la solution avec Databricks

Le modèle de recommandation présenté ici peut enrichir efficacement la suite d'outils de recommandation utilisés par les entreprises lorsque les connaissances générales sur les associations de produits peuvent être exploitées pour formuler des suggestions utiles aux clients. Pour mettre en œuvre cette solution, les entreprises doivent pouvoir accéder à un grand modèle de langage ainsi qu'à un modèle d'embedding léger, et combiner leurs fonctionnalités avec leurs propres données propriétaires. Une fois cette étape franchie, l'entreprise doit être en mesure de transformer tous ces actifs en une solution facile à intégrer et à faire évoluer sur l'ensemble des interfaces clients où ces recommandations sont requises.

Grâce à la Databricks Data Intelligence Platform, les entreprises peuvent relever chacun de ces défis au sein d'un environnement unique, cohérent et unifié qui facilite et rentabilise la mise en œuvre et le déploiement, tout en préservant la confidentialité des données. Grâce à la nouvelle fonctionnalité AI Search de Databricks, les développeurs peuvent exploiter un magasin de vecteurs intégré avec des workflows associés qui garantissent la mise à jour des embeddings stockés. Grâce aux nouvelles Foundation Model APIs, les développeurs peuvent accéder à une large gamme de modèles de langage (LLM) open source et propriétaires avec une configuration minimale. Et grâce aux fonctionnalités améliorées de Model Serving, le workflow de recommandation de bout en bout peut être packagé pour un déploiement derrière un point de terminaison ouvert et sécurisé, permettant une intégration dans une très large gamme d'applications modernes.

Mais ne vous contentez pas de nous croire sur parole. Jugez-en par vous-même. Dans notre tout dernier accélérateur de solution, nous avons conçu un système de recommandation de produits basé sur un LLM qui implémente le modèle présenté ici et démontre comment combiner ces capacités pour passer du concept au déploiement opérationnel. L'intégralité du code est disponible gratuitement, et nous vous invitons à explorer cette solution dans votre environnement, conformément à notre engagement à aider les entreprises à maximiser le potentiel de leurs données.

Téléchargez les notebooks

(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original

Recevez les derniers articles dans votre boîte mail

Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.