Trouvez la bouteille qui sublimera votre recette !

Par Sean BONNEMAINS, Hélène SAVATIER-DUPRE, Maxime BOILLOT, Jonathan ADERKAOUI, élèves du parcours Data Science.

Inscrite au patrimoine mondial immatériel de l’UNESCO, la gastronomie française tient une place spéciale dans le cœur des français. L’art du “bien boire” et du “bien manger” est ancré profondément dans nos coutumes, tant et si bien que pour de nombreux français le vin et les repas cuisinés sont indissociables : 90% des repas avec invités ont une bouteille de vin à table, 92% des français associent l’image du vin à un plat, 88% associent le vin à la convivialité et au partage,…ces chiffres de l’IFOP Vins&Société ont de quoi vous donner le tournis !

Quelques chiffres sur les relations entre vin et repas

Mais si, vu de l’étranger, tout français maîtrise cet art de vivre dès la naissance, la réalité est toute autre : plus qu’un art, être capable de proposer à ses convives un repas dont les saveurs sont sublimées par une gorgée de la judicieuse bouteille de vin que vous aurez choisi pour l’accompagner est une science. Qui ne s’est jamais retrouvé dans cette situation : vous invitez vos amis à dîner chez vous, passez de nombreuses heures à étudier les recettes Marmiton à la recherche de l’inspiration, sélectionnez LA recette parfaite, partez en courses, dénichez les ingrédients nécessaires, arrivez enfin au rayon vins de votre supermarché favori et là… c’est le drame. Vous vous retrouvez devant ce mur de bouteilles et vous n’avez aucune idée de laquelle choisir. Blanc pour le poisson, rouge pour la viande : c’est bien beau tout ça, mais ça laisse quand même beaucoup d’options. Finalement, par dépit, vous partez avec une bouteille assez chère (c’est gage de qualité) et dont le design vous aura attiré l’œil. Si vous vous reconnaissez ici, vous connaissez la suite : l’accord entre votre repas et votre bouteille a de forte chance d’être hasardeux.

Sommes nous condamnés à cette incertitude, à ce pic de stress additionnel à chaque grande occasion dont nous sommes les hôtes, nous cuisiniers amateurs n’ayant pas eu la chance de naître avec un oncle sommelier ? Peut-être pas.

Et si notre meilleur ami Marmiton venait à notre rescousse et nous suggérait la bonne bouteille pour la recette que vous venez de précieusement enregistrer dans vos favoris ?

Marmiton à la rescousse…c’est possible ?

Pourquoi diable Marmiton irait vous proposer une telle fonctionnalité ?

Tout d’abord parce que c’est une fonctionnalité qui s’inscrit parfaitement dans les valeurs de l’entreprise, à savoir plaisir, générosité, accessibilité et convivialité.

Ensuite parce que c’est une fonctionnalité innovante non présente chez ses concurrents qui potentiellement améliorerait l’expérience utilisateurs de ses clients (on est quand même pas les seuls à vouloir une telle fonctionnalité, si ?).

Enfin et surtout, parce que cela permettrait de générer de nouveaux revenus de partenariat avec des vendeurs de vins en ligne en échange de nouveaux canaux d’acquisition de clients pour eux.

Alors, pourquoi pas ?

Et techniquement, c’est réalisable ?

Comment s’y prendrait-on si l’on voulait mettre en place ce type de service ? C’est l’excellente question à laquelle nous avons essayé de répondre. Tout d’abord il faudrait mieux comprendre comment se réalisent les accords mets – vins : sur quels critères gustatifs se réalisent ils ? Quels ingrédients prennent le dessus sur d’autres ? Quel est l’impact de la cuisson des plats ? Comment caractérise-t-on les vins ? Qu’est ce qui différencie une appellation d’une autre ? …autant de questions qui restent sans réponse.

Quelques lectures plus tard, on commence à y voir (un peu) plus clair : les poissons et les viandes sont souvent l’élément décisionnaire de l’accord de vin pour un plat, ces derniers peuvent être caractérisés gustativement par leurs types de cuissons, les vins ont des caractéristiques tanniques, de fraîcheur ou encore de rondeur du fait de leurs cépages, de leur sol…

Si on peut caractériser des recettes et des vins par autant d’attributs, ne pourrait-on pas faire ressortir des corrélations qui permettent de proposer un accord pertinent pour une recette donnée ? Ne pourrait-on pas appliquer des méthodes de Data Science pour recommander ces accords mets-vins ?

Des données, des données et encore des données

Afin de vérifier ces hypothèses, il nous faut des données sur des accords mets et vins. Malgré le bien fondé de l’existence d’une telle base de données (surtout lorsque la période des fêtes approche à grands pas), il s’avère qu’il n’en existe pas. Afin de pallier ce problème, nous avons retroussé nos manches et commencé à constituer une base de données en utilisant une méthode à la limite de la légalité afin de collecter des données sur internet : le scrapping. Ces techniques, tolérées à des fins éducatives ou de recherche, permettent d’utiliser des robots qui parcourent le code des pages web afin de collecter les données qui y figurent.

Après des dizaines d’heures et quelques centaines de lignes de codes, le dataset est constitué :

  • les attributs des recettes (leur intitulé, la catégorie de plat associé et les ingrédients utilisés) sont collectés sur Marmiton,
  • ceux des vins (scores sur les goûts notamment le caractère tannique ou frais, les taux de sucre, les cépages, les appellations et leur description “sommelière” notamment) sur Nicolas et V&B,
  • et les bons accords mets vins sont tirées de l’ouvrage de Olivier Bompass, Les Vins et les Mets en 2500 Accords (on y trouve un nom de recette auquel est associé sa catégorie de plat, la typologie de vins suggérés – e.g. rouge, blanc..-, une description gustative des vins et des appellations correspondantes).

Au travail maintenant !

Data Science : du buzzword aux méthodes concrètes

Dire que l’on va appliquer des méthodes de Data Science n’apporte pas beaucoup d’informations sur la manière de modéliser et traiter le problème. Afin de recommander une bouteille de vin à partir d’une recette, nous avons envisagé différentes traductions en problèmes de Data Science : nous en détaillerons ici deux.

La première consiste à développer un système de recommandations basé sur une analogie au principe de Content-Based Filtering : une recette de notre base d’accords se marie bien à certains vins, la recette fournie par l’utilisateur est similaire à cette recette, donc potentiellement les mêmes vins pourraient lui convenir.

Première approche de système de recommandation

La seconde consiste à effectuer un apprentissage supervisé qui prend en entrée les attributs de la recette et la classifie selon le type de vin qui lui correspond le mieux (à un niveau basique sur la typologie, et pour aller plus loin sur la description gustative).

Seconde approche d’apprentissage supervisé

Ces deux approches nécessitent d’exploiter des données textuelles, notamment celles contenues dans les intitulés des recettes et dans les listes d’ingrédients. Afin de permettre aux algorithmes d’utiliser ces données, il nous a fallu utiliser des méthodes de NLP (Natural Language Processing, un champ du Machine Learning qui permet de traiter les langages) afin de les encoder sous formes de vecteurs pour pouvoir par la suite effectuer des calculs dessus. Concrètement, après un pré-processing des données afin d’isoler les termes les plus porteurs de sens des textes, il s’agit de choisir la méthode de vectorization la plus adaptée à leur contexte pour les représenter : c’est l’étape de « Word Embedding ».

Champagne…?

Les résultats obtenus avec ces deux approches sont plutôt encourageants.

Pour le système de recommandation, la mise en place d’un test d’évaluation de la pertinence des recommandations de recettes similaires pour 20 recettes nous a permis d’évaluer sur 100 points différentes méthodes de NLP appliquées aux intitulés des recettes et aux listes d’ingrédients (pour les plus curieux, la similarité entre les vecteurs est évaluée par la mesure cosinus, pour s’affranchir des problèmes de dimension variable des textes).

Les algorithmes permettant d’obtenir les meilleurs scores tout en affichant une meilleure robustesse – compte tenu des biais de notre système d’évaluation – sont ceux combinant les mesures de similarité sur les ingrédients (avec TF-IDF) et celles sur les intitulés de repas (avec des Bag of Words).

Performances systèmes de recommandation (NLP)

Pour la deuxième approche, appliqué au cas plus simple de la classification sur le type de vin (rouge, blanc, rosé ou effervescent), les algorithmes supervisés ayant montré les meilleures performances sont le Support Vector Classifier et la Régression Logistique, qui parviennent à 75% de bonnes classifications sur notre base de test.

La mise en bouteille, c’est pour quand ?

Si les preuves de concept sont encourageantes, nous sommes encore loin de voir cette fonctionnalité apparaître sur Marmiton (désolé, pour ce réveillon il faudra se creuser la tête pour ne pas fâcher Mamie). Au-delà des problématiques dues au développement de la fonctionnalité sur l’application et à l’hébergement des modèles, différentes étapes peuvent et doivent être mises en place avant de pouvoir lancer un produit.

D’un point de vue algorithmique, le système de recommandation a été évalué partiellement sur la pertinence des recettes similaires proposées mais pas sur l’accord de bouteille obtenu : l’analyse de retours d’utilisateurs permettrait de mieux apprécier la qualité de nos recommandations – et par la même occasion, l’appétence des clients pour ce type de service ! -, tout comme l’évaluation de la qualité des recommandations par un sommelier professionnel. D’autres techniques de NLP peuvent être mises en place pour améliorer la précision ou exploiter d’autres attributs de notre base de données (analyse de sentiments et d’intentions dans la description des vins notamment). Enfin, la base de données pourrait être étendue pour de meilleures performances algorithmiques : la data augmentation, en modifiant certains ingrédients mineurs des recettes, est une piste envisageable.

D’un point de vue business et juridique, selon l’appétence des utilisateurs le modèle de génération de revenus doit être pensé et des accords passés afin de se procurer les droits sur l’usage des données (le scrapping n’est pas légal à des fins commerciales). La suggestion de bouteilles de vin doit également être légalement encadrée pour éviter des accusations de “parasitisme” (une atteinte à l’image d’un produit en voulant utiliser son image de marque, par exemple ici si une bouteille de prestige est associée à un repas “banal”).

D’un point de vue éthique, enfin, la recommandation de bouteilles d’alcool peut inciter à la consommation d’alcool : il faut se conformer aux lois en vigueur sur ces questions de santé publique pour proposer les recommandations dans un format en adéquation avec celles-ci.

Bibliographie