Le catalogue de vente au détail de DoorDash est un ensemble de données centralisées contenant des informations essentielles sur tous les produits vendus par les nouveaux marchands verticaux, c'est-à-dire les marchands qui exploitent un commerce autre qu'un restaurant, comme une épicerie, une supérette ou un magasin de spiritueux. Dans le catalogue de vente au détail, chaque UGS, ou unité de gestion des stocks, est représentée par une liste d'attributs de produit. La figure 1 montre un exemple de SKU et certains de ses attributs tels qu'ils sont stockés dans le catalogue de vente au détail.
Disposer d'attributs de produits de haute qualité, complets et précis pour chaque UGS est un élément essentiel d'une expérience d'achat de premier ordre :
- Meilleure sélection et exécution - Les clients peuvent facilement trouver un article sur DoorDash, en étant sûrs que ce qu'ils commandent correspond à ce qu'ils veulent. Les Dashers, les livreurs du service, disposent d'informations complètes pour trouver le bon produit dans le magasin.
- Une meilleure personnalisation. Les attributs de produits permettent à DoorDash de regrouper les produits sur la base de points communs, en construisant un profil de produit pour chaque client en fonction de ses affinités avec certains attributs. Ce sont les éléments de base pour fournir des recommandations d'achat hautement pertinentes et personnalisées.
Lorsqu'un marchand s'inscrit sur DoorDash, nous ajoutons ses données SKU internes - données brutes du marchand - à notre catalogue de vente au détail. Les données SKU des différents marchands sont de formats et de qualité variables ; elles peuvent, par exemple, avoir des valeurs d'attributs manquantes ou incorrectes. Pour garantir que la qualité de notre catalogue ne se dégrade pas, nous normalisons et enrichissons les données brutes des commerçants. Historiquement, cet enrichissement des UGS par l'extraction et le marquage des attributs a été un processus purement manuel mené par des opérateurs contractuels. Mais l'externalisation de cette tâche entraîne de longs délais d'exécution, des coûts élevés et tellement d'inexactitudes qu'une deuxième personne doit vérifier les résultats générés par la première. Au fur et à mesure que notre catalogue s'étoffe, nous recherchons de nouvelles approches basées sur l'apprentissage automatique pour enrichir automatiquement les données des UGS.
L'extraction d'informations attribut-valeur à partir de données non structurées est formellement connue sous le nom de reconnaissance d'entités nommées; les approches les plus récentes modélisent la tâche d'extraction comme une classification de jetons. Par exemple, étant donné le nom de l'article "Dove Silk Glow Body Wash 500 ml", un classificateur de jetons étiquetterait chaque entité dans le nom de l'article comme indiqué dans le tableau 1.
Construire un modèle d'extraction d'attributs
La création d'un modèle interne d'extraction d'attributs/de marquage à partir de zéro nécessite une quantité importante de données d'entraînement étiquetées pour atteindre la précision souhaitée. C'est ce que l'on appelle souvent le problème du démarrage à froid du traitement du langage naturel (NLP). La collecte de données ralentit le développement du modèle, retarde l'ajout de nouveaux éléments au catalogue actif et entraîne des coûts d'exploitation élevés.
Utilisation des LLM pour contourner le problème du démarrage à froid
Les grands modèles de langage, ou LLM, sont des modèles d'apprentissage profond formés sur de grandes quantités de données. Parmi les exemples, citons GPT-4 d'OpenAI, Bard de Google et Llama de Meta. Grâce à leurs connaissances étendues, les LLM peuvent effectuer du NLP avec une précision raisonnable sans avoir besoin d'un grand nombre d'exemples étiquetés, voire d'aucun. Diverses invites peuvent être utilisées pour demander aux LLM de résoudre différents problèmes de NLP.
Nous allons souligner ici comment nous utilisons les LLM pour extraire des attributs de produits à partir de données SKU non structurées, ce qui nous permet de construire un catalogue de vente au détail de haute qualité qui offre la meilleure expérience possible aux utilisateurs dans tous les nouveaux secteurs verticaux. Dans les sections suivantes, nous décrivons trois projets dans lesquels nous avons utilisé des LLM pour construire des produits ML pour l'extraction d'attributs.
Extraction de la marque
La marque est un attribut essentiel du produit qui permet de distinguer les produits d'une entreprise de tous les autres. Chez DoorDash, un graphe de connaissances hiérarchique définit une marque, comprenant des entités telles que le fabricant, la marque mère et la sous-marque, comme le montre la figure 2.
Le marquage précis des marques offre un certain nombre d'avantages en aval, notamment l'augmentation de la portée des publicités sponsorisées et la granularité de l'affinité des produits. Le nombre de marques réelles étant techniquement infini, la taxonomie des marques de DoorDash n'est jamais complète. Au fur et à mesure que le spectre des produits s'élargit, de nouvelles marques doivent être intégrées pour combler les lacunes de la couverture. Auparavant, l'ingestion des marques était un processus réactif et purement manuel pour répondre aux besoins de l'entreprise. Cela limitait le volume de nouvelles marques pouvant être ajoutées, ne permettait souvent pas de combler une grande partie des lacunes de couverture et entraînait la duplication des marques, ce qui rendait difficile la gestion du système de taxonomie.
À cette fin, nous avons construit un pipeline d'extraction de marques alimenté par LLM qui peut identifier de manière proactive de nouvelles marques à l'échelle, en améliorant à la fois l'efficacité et la précision lors de l'ingestion de marques. La figure 3 montre notre pipeline d'ingestion de marques de bout en bout, qui suit les étapes suivantes :
- Les descriptions de produits non structurées sont transmises à notre classificateur de marques interne.
- Les UGS qui ne peuvent pas être rattachées avec certitude à l'une des marques existantes sont transmises à un LLM pour l'extraction de la marque.
- Le résultat de l'extraction est transmis à un second LLM, qui récupère des marques similaires et des exemples de noms d'articles dans un graphe de connaissances interne afin de déterminer si la marque extraite est une entité dupliquée
- La nouvelle marque entre dans notre graphe de connaissances et le classificateur interne est réentraîné avec les nouvelles annotations.
Étiquetage des produits biologiques
Les consommateurs s'intéressent aux caractéristiques alimentaires lorsqu'ils constituent leur panier et sont plus enclins à s'intéresser à un produit s'il est adapté à leurs préférences personnelles. L'année dernière, nous avons mis en place un modèle d'étiquetage de tous les produits d'épicerie biologique. L'objectif final était de permettre des expériences de découverte personnalisées, telles que l'affichage d'un carrousel Fresh & Organic à un consommateur dont les commandes antérieures montraient une forte affinité pour les produits biologiques.
Le pipeline de bout en bout adopte une approche en cascade, en tirant parti des données existantes, le cas échéant, pour accroître la rapidité, la précision et la couverture. Ce processus peut être divisé en trois grandes catégories :
- Correspondance des chaînes de caractères: nous trouvons la mention exacte du mot-clé "biologique" dans le titre du produit. Cette approche a offert la plus grande précision et une couverture décente, mais elle n'a pas tenu compte des cas où le mot "organique" est mal orthographié ou supprimé, ou encore lorsqu'il est présenté de manière légèrement différente dans les données.
- Raisonnement LLM : Nous exploitons les LLM pour déterminer si un produit est biologique sur la base des informations disponibles sur le produit. Ces informations peuvent provenir directement des commerçants ou être extraites de photos d'emballage par reconnaissance optique de caractères. Cette approche a permis d'améliorer la couverture en relevant les principaux défis posés par l'appariement de chaînes de caractères et d'obtenir une précision supérieure à celle de l'homme.
- Agent LLM: Les agents LLM effectuent des recherches en ligne d'informations sur les produits et transmettent les résultats de la recherche à un autre agent LLM pour qu'il les analyse. Cette approche a permis d'améliorer notre couverture.
La figure 4 montre le pipeline alimenté par LLM pour étiqueter les UGS de notre catalogue avec des étiquettes biologiques.
En tirant parti des LLM et des agents, nous avons surmonté le problème de l'insuffisance des données et répondu aux questions déductives par la recherche et le raisonnement à l'aide de données externes. L'amélioration de la couverture des labels biologiques nous a permis de lancer des carrousels d'articles ciblant les clients ayant une forte affinité avec les produits biologiques, ce qui a amélioré nos indicateurs d'engagement.
Extraction d'attributs généralisée
La résolution d'entité est le processus qui consiste à déterminer si deux UGS font référence au même produit sous-jacent. Par exemple, 'ÄúCoronaExtra Mexican Lager (12 oz x 12 ct)'Äù vendu par Safeway est le même produit que 'ÄúCoronaExtra Mexican Lager Beer Bottles, 12 pk, 12 fl oz'Äù vendu par BevMo !. Nous avons besoin d'une résolution précise des entités pour créer un catalogue mondial capable de remodeler la façon dont les clients font leurs achats tout en débloquant les publicités sponsorisées.
Déterminer si deux UGS font référence au même produit sous-jacent est un problème difficile. Il faut valider que les deux UGS correspondent exactement à tous les attributs, ce qui signifie qu'il doit y avoir une extraction précise de tous les attributs applicables en premier lieu. Les produits appartenant à des catégories différentes sont caractérisés par des ensembles différents d'attributs qui les définissent de manière unique. Par exemple, un produit alcoolisé est défini de manière unique par des attributs tels que le millésime, le vieillissement et la saveur. En commençant par des annotations limitées générées par l'homme, nous avons utilisé des LLM pour construire un modèle d'extraction d'attributs généralisé.
Nous avons utilisé les LLM et la génération augmentée de recherche, ou RAG, pour accélérer les annotations d'étiquettes. Pour chaque UGS non annotée, nous tirons d'abord parti des encastrements OpenAI et de la technique des voisins les plus proches pour récupérer les UGS les plus similaires de notre ensemble d'annotations dorées. Nous transmettons ces exemples d'annotations dorées à GPT-4 en tant qu'exemples en contexte afin de générer des étiquettes pour l'UGS non annotée. Le choix des exemples sur la base de la similarité d'intégration est plus avantageux que la sélection aléatoire, car les exemples sélectionnés sont plus susceptibles d'être pertinents pour la tâche assignée et réduisent l'hallucination. Enfin, les annotations générées sont utilisées pour affiner un LLM en vue d'une inférence plus évolutive.
Cette approche nous a permis de générer en une semaine des annotations qui auraient autrement nécessité des mois de collecte, ce qui nous a permis de nous concentrer sur le développement du modèle proprement dit pour réduire les risques liés à notre objectif.
Impacts en aval
L'extraction d'attributs nous permet non seulement de mieux représenter chaque produit dans le catalogue, mais aussi d'alimenter les modèles ML en aval qui améliorent l'expérience d'achat du client. Les attributs tels que la marque et l'étiquette biologique sont des caractéristiques importantes dans nos modèles de classement personnalisés, qui recommandent des articles reflétant les besoins et les préférences uniques d'un consommateur. Des attributs tels que la catégorie et la taille du produit permettent de recommander des substitutions plus pertinentes lorsque l'article d'origine n'est plus en stock, ce qui permet aux clients de bénéficier d'une expérience d'achat sans heurts.
Regarder vers l'avenir
Jusqu'à présent, la plupart de nos modèles d'extraction d'attributs sont construits à partir d'entrées textuelles. Cette approche se heurte toutefois à la présence d'abstractions et d'abréviations dans les descriptions de produits écrites. Heureusement, la qualité des images de produits varie moins d'un commerçant à l'autre. Nous explorons activement les progrès récents des LLM multimodaux qui peuvent traiter le texte et les images ensemble ; actuellement, nous expérimentons l'extraction d'attributs multimodaux par le biais de Visual QA et Chat + OCR. Notre équipe d'ingénieurs travaille également à la mise en place de technologies et d'infrastructures fondamentales permettant aux Dashers de prendre des photos de produits afin que nous puissions procéder à l'extraction d'attributs directement sur les articles en magasin.
Alors que nous identifions davantage de domaines où les LLM peuvent être utilisés, nous travaillons également avec notre équipe ML Platform pour démocratiser leur utilisation à travers DoorDash par le biais d'une plateforme de modèle centralisée où tout le monde peut facilement concevoir, affiner et déployer des LLM.
Remerciements
Nous remercions tout particulièrement Aparimeya Taneja, JJ Loh, Lexi Bernstein, Hemanth Chittanuru, Josey Hu, Carolyn Tang, Sudeep Das, Steven Gani et Andrey Parfenov, qui ont tous collaboré à la réalisation de ce travail passionnant !