M2R IADE - Sujets de stages
Identifier et enrichir des variantes de recettes de cuisine à partir des interactions des utilisateurs
Auteurs : Cordier Amélie, Mathern Benoit
Résume : Ce stage s’inscrit dans le contexte du projet Open Food System, un projet impliquant de nombreux partenaires et porté par la société SEB. L’objectif du projet Open Food System est de concevoir des outils et des interfaces innovantes pour la gestion des recettes de cuisine et la planification des repas. Dans ce stage, on s’intéressera à une problématique particulière du projet : l’identification de variantes de recettes de cuisine en s’appuyant sur les interactions des utilisateurs. Une « variante » est une recette « inspirée d’une recette existante » mais suffisamment différente pour mériter de faire l’objet d’une nouvelle fiche-recette.
L’objectif de ce stage est d’observer les actions des utilisateurs sur une interface (instrumentée) d’édition de recettes de cuisine et de trouver des « moyens » d’identifier quelles actions relèvent de l’enrichissement d’une recette (« moi j’ajoute du citron, c’est meilleur »), et quelles actions caractérisent la création d’une variante (« c’est la tarte au citron ‘à ma façon’ »). En parallèle, on cherche à enrichir l’interface d’édition de recettes de cuisine de sorte à améliorer l’expérience utilisateur et à faciliter la tâche d’identification des variantes.
Ce stage soulève donc plusieurs questions de recherche (comment identifier des éléments caractérisant une variante, comment repérer ces éléments dans des interactions utilisateurs, quels enrichissements d’interface sont pertinents dans ce contexte, etc.). Les méthodes à mettre en œuvre pour aborder ces questions restent à déterminer.
Afin de travailler dans un environnement concret, plusieurs éléments seront mis à disposition : une interface dynamique d’édition de recettes de cuisine (instrumentée de sorte à collecter, en temps réel, des traces des interactions des utilisateurs), une base de recettes (avec un ensemble de variantes déjà identifiées), un gestionnaire de traces permettant de stocker et manipuler les traces collectées sur l’interface et un outil de visualisation des traces.
Le travail sera effectué en étroite collaboration avec les membres du projet OFS.
Technologies : HTML5/JavaScript pour la partie client, Python côté serveur, RDF.
Programmation par les interactions : écrire des transformations en manipulant des objets graphiques
Auteurs : Cordier Amélie, Lefevre Marie
Résume : Ce stage s’inscrit dans le cadre du projet ANR Kolflow, un projet visant la construction d’un espace social sémantique distribué. Dans Kolflow, on utilise, entre autres objets, des « traces d’interactions ». Les traces d’interaction sont les « enregistrements » des actions des utilisateurs sur une interface. Ces traces d’interaction peuvent être manipulées et utilisées pour satisfaire plusieurs objectifs. Par exemple, on peut « transformer » des traces de sorte à filtrer certains éléments, ou alors à changer le niveau d’abstraction auquel on se place.
Par exemple, imaginons que l’on ait collecté la trace suivante : « Ctrl C déplacement_souris Enter Espace Espace Ctrl V ». Avec une transformation adéquate, on peut abstraire cette trace en « Copier Coller » (en supprimant les éléments « inutiles » et en regroupant les éléments que l’on sait regrouper).
Dans ce stage, on cherche à proposer une solution pour permettre à un utilisateur « d’écrire » les transformations au travers de manipulations visuelles sur la trace.
Reprenons l’exemple précédent et imaginons que cette trace est représentée graphiquement sur un axe temporel. Imagions qu’un utilisateur supprime tous les éléments non pertinents (déplacement_souris, Enter, Espace, Espace) et indique que l’on peut regrouper « Ctrl » et « C » en « Copier » (resp. pour « Coller »). Est-il possible d’écrire la transformation correspondante dans un langage pivot et de la réutiliser sur des traces similaires (mais pas forcément identiques) ?
L’objectif de ce stage est d’explorer cette question de recherche, d’en identifier les limites et de démontrer la faisabilité (ou non) de l’approche. Il s’agit également de développer un démonstrateur qui, même s’il s’avère impossible d’écrire automatiquement des transformations à partir d’exemples graphiques, permettra d’écrire des « ébauches » de transformations qui devront ensuite être raffinées.
On se concentrera ici sur la partie « interface graphique de manipulation des traces », l’infrastructure de stockage et de manipulation technique des traces étant fournie.
Technologies : HTML5/CSS3/Javascript/RDF/Python/Sparql
Battez les champions de l’adaptation… de recettes de cuisine
Auteurs : Cordier Amélie
Résume : L’objectif de ce stage est de réaliser un agent capable d’effectuer des adaptations de recettes de cuisine et de participer au Computer Cooking Contest.
Le Computer Cooking Contest est un concours international annuel durant lequel des « programmes » s’affrontent dans le domaine de la cuisine. Chaque année, plusieurs défis sont proposés, et les programmes doivent démontrer, lors d’une compétition, leurs capacités à relever ces défis. Les programmes sont évalués par un jury composé de scientifiques et d’experts du domaine. Ce concours s’inscrit dans le domaine scientifique du Raisonnement à Partir de Cas (Case-Based Reasoning) et vise donc à définir un benchmark pour le domaine.
Dans ce stage, on s’intéresse à une problématique particulière : celle de l’évaluation et de l’adaptation d’une recette de cuisine en prenant en compte le feedback de l’utilisateur. Pour cela, on considère le problème de l’adaptation résolu (i.e. on sait transformer une recette de tarte aux pommes en recette de tarte aux poires), et on se focalise uniquement sur les aspects suivants :
- Définition d’une méthodologie pour évaluer la qualité de l’adaptation
- Définition d’une interface pour permettre à un utilisateur d’exprimer du feedback sur l’adaptation
- Définition d’une méthodologie pour enrichir le processus d’adaptation en prenant en compte le feedback
En d’autres termes, ce sujet de stage porte sur l’acquisition dynamique de connaissances pour l’adaptation en raisonnement à partir de cas.
Un prototype devra être réalisé et devra tenter de se qualifier pour le Computer Cooking Contest. En cas de succès, le candidat pourra, s’il le souhaite, participer au Contest (à Cork, en Irlande).
Les choix technologiques sont ouverts. Pour travailler, le candidat aura à sa disposition un environnement similaire à celui de tous les autres participants du Computer Cooking Contest, à savoir une base de recettes de cuisines annotées sémantiquement, ainsi qu’une ontologie du domaine de la cuisine.