Une application Smartphone pour des Recommandations Alimentaires Personnalisées Anne Tireau Lundi 13 septembre 2010 Stage Master 2 IFPRU : 15/02/2010-15/07/2010 Supervisor: Nicole Koenderink powered by LAT E X 1 / 34
Plan 1 Contexte et Objectifs 2 3 4 2 / 34
Contexte Objectifs Profils Système conceptuel Wageningen University & Research Center Intelligent Systems Team 14 permanents Recherche en informatique appliquée Ingénierie des connaissances Démarche brevets et applications opérationnelles 3 / 34
Contexte Objectifs Profils Système conceptuel Wageningen University & Research Center Restaurant of the Future Au Restaurant du Futur (RoF), nous voulons modéliser les préférences alimentaires des consommateurs et essayer de fournir un système de conseils personnalisés pour des choix plus sains. 4 / 34
Contexte Objectifs Profils Système conceptuel Consultation de conseils alimentaires personnalisés Objectif : conseils Concevoir et développer un prototype d application de conseils pour les consommateurs du RoF en fonction : leurs caractéristiques personnelles, leurs préférences alimentaires, leurs objectifs de régime alimentaire, et... objectifs du système (e.g. objectif prix vs santé) 5 / 34
Contexte Objectifs Profils Système conceptuel Consultation de conseils alimentaires personnalisés Objectif : conseils Concevoir et développer un prototype d application de conseils pour les consommateurs du RoF en fonction : leurs caractéristiques personnelles, leurs préférences alimentaires, leurs objectifs de régime alimentaire, et... objectifs du système (e.g. objectif prix vs santé) Objectif : utilisation au RoF Consultation du menu "personnalisé" Localisation des produits Estimation de son plateau (énergie, vitamines, etc.) Réaction du système aux choix 5 / 34
Contexte Objectifs Profils Système conceptuel Profils de consommateurs Nous avons choisi de limiter nos hypothèses à 3 scénarios : John qui doit faire un régime basse calorie Wim un jeune sportif qui veut se préparer pour un championnat Esther qui a des préoccupations environnementales et une intolérance à la tomate 6 / 34
Contexte Objectifs Profils Système conceptuel John The Dieter Recommandations diététiques pour John : 1 le repas est divisé en catégories 2 Soupe : bouillon ou basse calorie 3 Pain : max 2 tranches, complet 4 Assortiment sandwich : max 2 tranches de fromage 5 Salade : une salade naturelle 6 repas apportant moins de 600 kcal 7 / 34
Contexte Objectifs Profils Système conceptuel Besoins et solutions proposées Exigences du système : des connaissances & données sur le RoF et les consommateurs un modèle de conseils pour fournir des règles ou recommandations une interface utilisateur conviviale et mobile 8 / 34
Contexte Objectifs Profils Système conceptuel Besoins et solutions proposées Exigences du système : des connaissances & données sur le RoF et les consommateurs ontologies un modèle de conseils pour fournir des règles ou recommandations une interface utilisateur conviviale et mobile 8 / 34
Contexte Objectifs Profils Système conceptuel Besoins et solutions proposées Exigences du système : des connaissances & données sur le RoF et les consommateurs ontologies un modèle de conseils pour fournir des règles ou recommandations chercheurs en comportement et alimentation une interface utilisateur conviviale et mobile 8 / 34
Contexte Objectifs Profils Système conceptuel Besoins et solutions proposées Exigences du système : des connaissances & données sur le RoF et les consommateurs ontologies un modèle de conseils pour fournir des règles ou recommandations chercheurs en comportement et alimentation une interface utilisateur conviviale et mobile smartphone 8 / 34
Contexte Objectifs Profils Système conceptuel Besoins et solutions proposées Exigences du système : des connaissances & données sur le RoF et les consommateurs ontologies domaine pluridisciplinaire, évolutif un modèle de conseils pour fournir des règles ou recommandations chercheurs en comportement et alimentation une interface utilisateur conviviale et mobile smartphone 8 / 34
Contexte Objectifs Profils Système conceptuel Besoins et solutions proposées Exigences du système : des connaissances & données sur le RoF et les consommateurs ontologies domaine pluridisciplinaire, évolutif un modèle de conseils pour fournir des règles ou recommandations chercheurs en comportement et alimentation boîte noire une interface utilisateur conviviale et mobile smartphone 8 / 34
Contexte Objectifs Profils Système conceptuel Besoins et solutions proposées Exigences du système : des connaissances & données sur le RoF et les consommateurs ontologies domaine pluridisciplinaire, évolutif un modèle de conseils pour fournir des règles ou recommandations chercheurs en comportement et alimentation boîte noire une interface utilisateur conviviale et mobile smartphone environnement hétérogène, réparti 8 / 34
Contexte Objectifs Profils Système conceptuel Architecture conceptuelle 9 / 34
État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations 10 / 34
État de l art Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations Applications proches et vocabulaires existants PIPS [Jaime(2005)] UMLS 1, SNOMED 2, Agrovoc Thesaurus 3 Ressources mobilisables Wurvoc : OUM (mesure), Dairy, Food Additives, Drinks Autre Vocabulaire : nutriments, allergènes, poissons, épices, légumes, etc. Outils de formalisation Technologies du Web Sémantique (W3C) : RDF, RDFS et OWL 1 Unified Medical Language System 2 Systematized Nomenclature of Medicine 3 FAO : Food and Agriculture Organization of the United Nations 11 / 34
Ontologie Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations Défintion Ensemble structuré de concepts et de relations entre ces concepts Inclus significations et contraintes logiques d application [Gruber(2009)] Permet de faire des inférences : découvrir de nouvelles relations (W3C) 12 / 34
Ontologie Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations Défintion Ensemble structuré de concepts et de relations entre ces concepts Inclus significations et contraintes logiques d application [Gruber(2009)] Permet de faire des inférences : découvrir de nouvelles relations (W3C) Exemples de concepts : Consummer, Product, Nutrient 12 / 34
Ontologie Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations Défintion Ensemble structuré de concepts et de relations entre ces concepts Inclus significations et contraintes logiques d application [Gruber(2009)] Permet de faire des inférences : découvrir de nouvelles relations (W3C) Exemples de concepts : Consummer, Product, Nutrient Exemples de relations : hascharacteristic, concernednutrient 12 / 34
RDF Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations RDF : Resource Description Framework Langage de description de ressources en fonction de propriétés Ensemble de triplets : sujet, prédicat, objet Exemple du triplet (John, ismemberofinstitut, AFSG) <cons:consumer r d f :ID= " John "> < c o n s :ismemberofinstitut r d f :resource= " consumer#afsg" / > < / cons:consumer> 13 / 34
RDFS Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations RDFS : Resource Description Framework Schema Structure RDF Définition des domaine et image de propriétés Hiérarchie de classes et de relations Exemple de définition de la signature de ismemberofinstitut < owl:objectproperty r d f : a b o u t = " consumer# i s M e m b e r O f I n s t i t u t " > <rdfs:domain r d f :resource= " consumer#consumer " / > <rdfs:range rdf:resource= " consumer# I n s t i t u t e " / > <rdfs: label rdf:datatype= " http: / /www.w3. org /2001/XMLSchema# string ">is member of< / rdfs: label> < / owl:objectproperty> Exemple de hiérarchie de relations <owl:objectproperty rdf:id= " favored "> <rdfs:subpropertyof rdf:resource= " #involved " / > <rdfs:domain rdf:resource= " #DietType " / > < / owl:objectproperty> 14 / 34
OWL Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations OWL : Web Ontology Language Construit sur RDF et RDFS Plus d expressivité : propriétés transitive, inverse, etc. ; restriction ; etc. Exemple de relations inverse et union <owl:objectproperty rdf:id= " product #aggregates "> < owl:inverseof r d f :resource= " product #belongsto " / > <rdfs:domain> <owl:class> <owl:unionof rdf:parsetype=" C o l l e c t i o n "> < r d f :D e s c r i p t i o n r d f :a b o u t = " product #B u f f e t " / > <rdf:description rdf:about= " product #Category " / > < r d f :Description r d f :about= " product #Menu" / > < / owl:unionof> < / owl:class> < / rdfs:domain> <rdfs:range rdf:resource= " product #Product " / > < / owl:objectproperty> 15 / 34
Démarche de modélisation Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations Processus de développement Méthodologie "Ontologie development 101..." [Noy & Mcguinness(2001)] Sources : données existantes experts du comportement des consommateurs et diététicien expertise de l institut articles scientifiques 16 / 34
Composants Contexte, Produits et Consommateur État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations 17 / 34
Assemblage Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations 18 / 34
Menu du jour? Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations Menu et contexte Menu composé d aliments = produits Catégorie, Buffet (localisation) Produit -> Pomme Buffet : "dessert" et "jus" Catégorie : "fruit" Caractéristiques : prix : 0.56 euros énergie : 99 kcal masse de protéine : 0.81 g 19 / 34
Qui est John? Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations 20 / 34
Recommandations Contexte et Objectifs État de l art Web Sémantique Démarche Ontologie du Contexte et des Produits Ontologie basée sur la personne Ontologie des recommandations 21 / 34
Architecture générale Environnement de connaissances Module métier Web Service Application Smartphone 22 / 34
Architecture générale Contexte et Objectifs Architecture générale Environnement de connaissances Module métier Web Service Application Smartphone 23 / 34
Système à base de connaissances Architecture générale Environnement de connaissances Module métier Web Service Application Smartphone Utilisation de Sesame Framework Java Base de triplets RDF Raisonneur RDF/S, (OWLIM) API d interrogation Java avec SPARQL 24 / 34
Module métier Contexte et Objectifs Architecture générale Environnement de connaissances Module métier Web Service Application Smartphone Création d un menu personnalisé Marquage des éléments : "conseillé" ou "à éviter" 25 / 34
Module métier Contexte et Objectifs Architecture générale Environnement de connaissances Module métier Web Service Application Smartphone Création d un menu personnalisé Marquage des éléments : "conseillé" ou "à éviter" Gestion de la caractéristique principale à afficher, Gestion de la tentation Gestion du plateau virtuel Génération de représentation XML 25 / 34
Web Service Contexte et Objectifs Architecture générale Environnement de connaissances Module métier Web Service Application Smartphone REST : Representational State Transfer Environnements hétérogènes Méthodes GET, PUT et DELETE Framework Restlet Navigation : Menu > Catégories > Produits > Caractéristiques Format d échange XML 26 / 34
Plateforme Smartphone Contexte et Objectifs Architecture générale Environnement de connaissances Module métier Web Service Application Smartphone Windows Phone 7 Emulateur Windows Phone 7 Silverlight, C#, XAML et LINQ Patron de conception Modem-ViewModel-Model 27 / 34
Application Lunch@RoF Contexte et Objectifs Architecture générale Environnement de connaissances Module métier Web Service Application Smartphone 28 / 34
Application Lunch@RoF Contexte et Objectifs Architecture générale Environnement de connaissances Module métier Web Service Application Smartphone 29 / 34
30 / 34
Contexte et Objectifs Bilan Prototype environnement opérationnel mis en place faisabilité de l approche Composants ontologiques réutilisables, évolutifs : consommateurs, les menus, etc. Module métier POO favorise extension Web Service REST Application Smartphone sous Windows Phone 7 Plusieurs scénarios testés Article soumis 31 / 34
Contexte et Objectifs Perspectives Test sur plateforme réelle (prévu octobre 2010) Intégration du modèle réel et adaptation de l ontologie pour les recommandations Recherche : évolution des ontologies, communication entre les modèles 32 / 34
Fin Merci pour votre attention 33 / 34
Une application Smartphone pour des Recommandations Alimentaires Personnalisées Anne Tireau Lundi 13 septembre 2010 Stage Master 2 IFPRU : 15/02/2010-15/07/2010 Supervisor: Nicole Koenderink powered by LAT E X 34 / 34
Gruber T. (2009). Ontology. Ling Liu and M. Tamer Özsu (Eds.), Springer-Verlag. Jaime C. (2005). An example of food ontology for diabetes control. Dans Proceedings of the International Semantic Web Conference 2005 workshop on Ontology Patterns for the Semantic Web. Disponible à l adresse http://www.csc.liv.ac.uk/~floriana/ PIPS/papers/FoodOntology.pdf. Noy N. & Mcguinness D. (2001). Ontology development 101: A guide to creating your first ontology. Rap. Tech.. 34 / 34