How Fuzzy Set Theory Can Help Make Database Systems More Cooperative Aurélien Moreau
Total Page:16
File Type:pdf, Size:1020Kb
How fuzzy set theory can help make database systems more cooperative Aurélien Moreau To cite this version: Aurélien Moreau. How fuzzy set theory can help make database systems more cooperative. Databases [cs.DB]. Université Rennes 1, 2018. English. NNT : 2018REN1S043. tel-01985938 HAL Id: tel-01985938 https://tel.archives-ouvertes.fr/tel-01985938 Submitted on 18 Jan 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. ANNÉE 2018 THÈSE / UNIVERSITÉ DE RENNES 1 sous le sceau de l’Université Bretagne Loire pour le grade de DOCTEUR DE L’UNIVERSITÉ DE RENNES 1 Mention : Informatique École doctorale MathSTIC présentée par Aurélien MOREAU préparée à l’unité de recherche IRISA – UMR 6074 Institut de Recherche en Informatique et Systèmes Aléatoires École Nationale Supérieure des Sciences Appliquées et de Technologie Thèse soutenue à Lannion How Fuzzy le 26 juin 2018 devant le jury composé de : Set Theory Arnaud MARTIN Professeur, Université de Rennes 1 / Président Allel HADJALI Can Help Make Professeur, ISAE-ENSMA / Rapporteur Marie-Jeanne LESOT Maître de conférences HDR, Sorbonne Université / Database Systems Rapporteur Dominique LAURENT More Cooperative Professeur, Université de Cergy-Pontoise / Examinateur Olivier PIVERT Professeur, ENSSAT / Directeur de thèse Grégory SMITS Maître de conférences HDR, Université de Rennes 1 / Co-directeur de thèse À mon père. iv Résumé de la thèse en français Les bases de données sont désormais omniprésentes, et nécessaires dans de nombreux cas d’utilisation : la gestion des employés d’une entreprise, le placement des cours d’une université, la gestion des stocks d’un entrepôt, la recherche de liens entre différents achats effectués, etc. Nées dans les années 1970 suite à la genèse du modèle relationnel par Codd, les bases de données relationnelles se sont progressivement imposées comme le standard permettant de stocker et de manipuler des informations. Le modèle relation- nel est basé sur la logique booléenne, ce qui se traduit par plusieurs conséquences pour l’utilisateur : pas de classement des résultats (qui sont soit satisfaisants soit non satis- faisants), pas de prise en compte de la sensibilité aux bornes (une modification d’une condition de sélection pouvant transformer un ensemble de résultats vide en un ensem- ble de résultats pléthorique, et vice-versa). Plusieurs propositions ont été faites pour traiter ces problèmes, telles que les requêtes à préférences, des mécanismes coopérat- ifs permettant de gérer la cardinalité des ensembles de réponses, ou divers paradigmes d’interrogation tels que la recherche par facettes, par mots-clés ou à partir d’exemples. La théorie des ensembles flous permet de modéliser l’appartenance partielle d’un objet à une classe, par opposition à l’appartenance binaire modélisée par la logique booléenne. Elle permet ainsi d’apporter plus de flexibilité dans l’interaction entre les humains et les SGBD. L’utilisateur peut donc exprimer des préférences, et obtenir des réponses ordonnées en fonction de celles-ci. Des variables linguistiques peuvent être utilisées pour modéliser des termes de la langue naturelle tels que jeune ou bien payé. Cela se fait à l’aide de fonctions d’appartenance déterminant les seuils de valeur à partir desquels un élément aura totalement, partiellement, ou pas du tout la propriété définie. La formulation de requêtes à l’aide de variables linguistiques permet de renforcer l’expressivité des langages de requêtes, et donc de rendre les SGBD plus “intelligents”. Dans ces travaux de thèse nous proposons de tirer parti de la théorie des ensembles flous afin d’améliorer les interactions entre les systèmes de bases de données et les utilisateurs. Les mécanismes coopératifs visent à aider les utilisateurs à mieux interagir avec les SGBD, notamment par le biais de réponses utiles et ne prêtant pas à confusion. Ces mécanismes doivent faire preuve de robustesse : ils doivent toujours pouvoir proposer des réponses à l’utilisateur. Empty set (0,00 sec) est un exemple typique de réponse qu’il serait désirable d’éradiquer, en indiquant par exemple à l’utilisateur quelles clauses de sa requête ont le plus contribué à la production d’une réponse vide. Plusieurs approches coopératives basées sur la théorie des ensembles flous ont déjà été proposées, permettant v vi notamment d’éviter les réponses vides à l’aide de techniques de relaxation par exemple. Par ailleurs, les réponses à certaines requêtes peuvent parfois laisser les utilisateurs dubitatifs : qu’il s’agisse de réponses vides ou de réponses pléthoriques, il apparaît souhaitable de pouvoir expliquer ces réponses. L’origine des réponses (parfois appelée provenance) n’est que rarement précisée et beaucoup de systèmes sont vus comme des boîtes noires avec lesquelles les modalités d’interaction sont limitées. Le caractère informatif des explications de réponses est parfois plus important que les réponses elles-mêmes : ce peut être le cas avec les réponses vides et pléthoriques par exemple, d’où l’intérêt de mécanismes coopératifs robustes, capables à la fois de contribuer à l’explication ainsi qu’à l’amélioration des résultats. Exemple 1 Un utilisateur formule la requête “restaurants à burgers bons marché à Lannion” et obtient la réponse Empty set (0,00 sec). Comme l’ensemble des résultats est vide, l’utilisateur pourrait souhaiter comprendre quelle(s) condition(s) de sa requête a (ont) contribué à la vacuité de cet ensemble de résultats (telle que “bon marché” par exemple), et obtenir des relaxations possibles pouvant mener à des résultats acceptables quoique pas entièrement satisfaisants vis-à-vis de la requête initiale (par exemple en relaxant l’interprétation de “bon marché”). L’exemple ci-dessus illustre une situation où il n’existe pas de réponse pleinement satisfaisante, et où une réponse proche pourrait tout à fait satisfaire un utilisateur. Cependant une explication reste nécessaire pour indiquer à l’utilisateur quelle condi- tion de sa requête empêchait l’obtention de résultats. De plus, l’utilisation de termes de la langue naturelle pour décrire les données permet de garantir l’interprétabilité des explications fournies. La possibilité pour l’utilisateur de raffiner un vocabulaire contribue à la personnalisation des explications et améliore l’interprétabilité. Dans l’exemple ci-dessus la modalité “bon marché” est utilisée pour définir les valeurs de prix désirées par l’utilisateur : l’utilisation de modalités définies par les utilisateurs contribue à l’interprétabilité de la requête pour l’utilisateur. Nous proposons de nous intéresser aux explications dans le contexte des réponses coopératives sous trois angles : • dans le cas d’un ensemble pléthorique de résultats ; • dans le contexte des systèmes de recommandation ; • dans le cas d’une recherche à partir d’exemples. Ces axes définissent des approches coopératives où l’intérêt des explications est de per- mettre à l’utilisateur de comprendre comment sont calculés les différents résultats pro- posés dans un effort de transparence. Le caractère informatif des explications apporte une valeur ajoutée aux résultats bruts, et en ce sens constitue une réponse coopérative. Explication de clusters de réponses Des solutions pour la gestion des réponses pléthoriques ont déjà été proposées : à base de renforcement ou d’augmentation de la requête, ou de résumés des résultats vii ou encore de diversification des résultats. Nous proposons ici une approche mêlant les résumés de données avec les explications pour permettre aux utilisateurs de comprendre la structure des réponses à leurs requêtes. Nous utilisons un vocabulaire flou composé de partitions décrivant chacun des attributs de la base. Chaque partition est composée de modalités dont les labels permettent la formulation d’explications avec des termes de la langue naturelle. L’objectif général de l’approche est de permettre à un utilisateur de comprendre l’ensemble des résultats de sa requête, s’il est possible d’y trouver des sous-ensembles intéressants, et le cas échéant quelles sont les propriétés qui caractérisent chacun de ces sous-ensembles et pas les autres. Exemple 2 Considérons un utilisateur recherchant une voiture de seconde main de marque Peugeot, modèle 407 sur un site en ligne dédié. L’ensemble de réponses com- prend plus de 1000 résultats, ce qui n’est pas évident à parcourir manuellement. Les attributs qui intéressent tout particulièrement l’utilisateur sont le prix et le kilométrage. Un partitionnement de ces résultats conduit à la formation de deux sous-ensembles dis- tincts : • un sous-ensemble de voitures chères avec un faible kilométrage ; • un sous-ensemble de voitures bon marché avec un fort kilométrage. De plus, des informations complémentaires (qui n’ont pas été demandées explicitement par l’utilisateur) spécifiques à chaque sous-ensemble sont disponibles : les voitures du premier sous-ensemble sont récentes, quand celles du second sont plus anciennes. Avec l’approche proposée nous visons trois objectifs : • robustesse de l’approche (fournir des explications pour permettre aux utilisateurs de comprendre