1.15k likes | 2.94k Views
ACCES PERSONNALISE A DES MASSES DE DONNEES. UNIVERSITE DE VERSAILLES SAINT-QUENTIN-EN-YVELINES. Personnalisation de l ’ information : une approche de gestion de profils et de reformulation de requêtes. Soutenance de thèse de Doctorat Dimitre Kostadinov. Versailles, le 19 Décembre 2007.
E N D
ACCES PERSONNALISE A DES MASSES DE DONNEES UNIVERSITE DE VERSAILLES SAINT-QUENTIN-EN-YVELINES Personnalisation de l’information : une approche de gestion de profils et de reformulation de requêtes Soutenance de thèse de Doctorat Dimitre Kostadinov Versailles, le 19 Décembre 2007
Accès classique à un système d’information multi sources • Accès à un ensemble de sources de données distribuées, hétérogènes et autonomes • Comment résoudre le problème de la surcharge d’information ? • Est-ce que les données sont récentes ? • Est- ce je peux lire les fichiers avec mon ordinateur ? SELECT * FROM Publication WHERE sujet = ‘JAVA’ Système d’Accès aux Données
Accès personnalisé à un système d’information multi sources • Accès à un ensemble de sources de données distribuées, hétérogènes et autonomes JAVA: langage de programmation Fraîcheur < 1 mois Formats fichiers {PDF, PS} SELECT * FROM Publication WHERE sujet = ‘JAVA’ Système d’Accès aux Données
Cadre du travail: Projet APMD • Objectifs du projet APMD (2004-2007) • modélisation et évolution des profils, • exécution adaptative de requêtes, • influence de la qualité sur la personnalisation, • évaluation et la validation des approches proposées dans le projet. • Partenaires • PRiSM (Versailles) • CLIPS-IMAG (Grenoble) • IRISA (Lannion) • IRIT (Toulouse) • LINA (Nantes) • LIRIS (Lyon) • Prolongé par une collaboration avec Alcatel-Lucent …
Plan • Contexte • Contributions • Modélisation de l’utilisateur (définition de la notion de profil) • Exploitation du profil dans la reformulation de requêtes • Evaluations • Conclusions et perspectives
Modèle utilisateur ? • Centré sur plusieurs notions dont les définitions sont floues • Profil • Contexte • Préférences • Chaque application possède • Son propre modèle utilisateur • Sa propre approche d’accès personnalisé
Notion de préférence • Préférence • expressions permettant de hiérarchiser les concepts auxquels on s’intéresse • Typologie des préférences Préférence compose 0..n 1..n PréférenceSimple PréférenceComposée Unitaire Binaire Ensembliste Indépendante Prioritaire
Préférences simples Unitaire : poids Film.genre=‘action’ 0.8 binaire : >> action >> drame Ensembliste : LOWEST LOWEST(prix) Préférences Composées indépendante (action >> drame) (anglais >> français) prioritaire & (action >> drame) & (anglais >> français) Exemples
Dichotomie profil/contexte • Profil • ensemble d’informations décrivant les centres d’intérêt de l’utilisateur, plus un ensemble de préférences • Contexte • description de l’environnement d’interaction entre l’utilisateur et le système Profil Contextualisation Contexte
Meta modèle du profil utilisateur Profil IDprofil propriétaire 1..n Dimension IDdimension nom 0..n < TypeDe 0..n < TypeDe SousDimension Attribut DonnéesLivraison < TypeDe IDsousDimension nom IDattribut nom typeValeur structureValeur < TypeDe Qualité < TypeDe 1..n Sécurité 1..n ValeurAttribut DonnéesPersonnelles IDvaleur valeur DomaineIntérêt
Domaine d’intérêt Contenu 1..1 concerne DomaineIntérêt 1..n VecteurMotsCles Ontologie FormulesDisj Historique 1..n 1..n 1..n 1..n ConjPrédicats GrapheConceptuel ListeExemples 1..n 0..n 1..n 1..n 1..n 1..n Prédicat Concept Action LienSém Axiome Exemple 0..n 1..1 1..n 2..2 entre 0..n 1..1 opérateur Attribut Valeur
Exemples Exemple 1 : mots clés Profil de Paul Dim: Domaine d’Intérêt (film, action, drame, Bruce Willis, anglais) Exemple 2 : ontologie Profil de Paul Dim: Domaine d’Intérêt Film Genre Casting Langue Bruce Willis action drame anglais Exemple 3 : prédicats Profil de Paul Dim: Domaine d’Intérêt Film.genre=‘action’ Film.genre=‘drame’ Acteur.nom=‘Bruce Willis’ Film.langue=‘anglais’ Exemple 4 : historique Profil de Paul Dim: Domaine d’Intérêt
Méta modèle de contexte Contexte 1..n DimensionContexte TypeDe > < TypeDe TypeDe > Temporelle Spatiale Equipement 0..1 0..1 Moment Date Mobile Fixe Matériel Logiciel Coordonné Localité Rapport technique [Abbar et al. 07]
Exemples Contexte Maison Temporelle moment Equipement taille écran système bande passante Contexte Bureau Temporelle date Spatiale coordonnée GPS Equipement taille écran bande passante
Liens entre les méta modèles Préférence TypeDe > < TypeDe ContextualiséSelon > Profil Contexte 0..n 1..n 1..n 0..n < DéfiniSur DéfiniSur > Préférence de Profil Elément Profil Elément Contexte Préférence de Contexte ContextualiséSelon > DéfiniSur > DéfiniSur >
Exemple Profil de Paul Données personnelles téléphone = 01 11 11 11 11si contexte Maison 01 22 22 22 22 si contexte Bureau Contexte Maison Temporelle moment Equipement taille écran système bande passante Domaine d’Intérêt {Film.genre=‘action’ Film.genre=‘drame’ Acteur.nom=‘Bruce Willis’ Film.langue=‘anglais’ } 0.9 0.7 Contexte Bureau Temporelle date Spatiale coordonnée GPS Equipement taille écran bande passante 0.7 0.2 si contexte Maison {Film.genre=‘dessin animé’ Film.genre=‘comédie’ Film.langue=‘français’ } si contexte Bureau 0.9 0.3 0.8
Plateforme de gestion des méta données • Implémente • Les méta modèles • Les opérations sur les méta modèles • Composants • Gestionnaire de profils • Gestionnaire de contextes • Gestionnaire de préférences
Bilan • Clarification des notions de profil et de contexte • approche multidimensionnelle • Support à la définition des notions de profil et contexte • manuel ou automatique • Ensemble d’opérations de manipulation • instanciation • appariement • Importation • Validation • Intégration • Adaptation
Partie 2Exploitation du profil utilisateur pour la reformulation de requêtes
Reformulation Reformulation Objectif • Proposer une méthode de reformulation de requêtes qui tient compte de • la distribution de l’information • profil utilisateur Pu Q Réécritures enrichies {Q’1, Q’2, …, Q’m} SCHEMA VIRTUEL LIENS SEMANTIQUES SOURCE 1 SOURCE 2 SOURCE 3 SOURCE n
Hypothèses de base • Profil • ensemble de prédicats pondérés • Requêtes • conjonctives du type SPJ • Définition des sources • vues sur le schéma virtuel (LAV) • Problèmes terminologiques résolus
Problématique • Reformulation des requêtes utilisant le profil • quelle partie du profil est pertinente à ajouter à une requête ? • métrique de couverture • quelle partie du schéma virtuel est nécessaire pour couvrir le profil sélectionné ? • recherche d’un sous-ensemble de relations virtuelles et des chemins de jointures les reliant • quelles sources de données sont les plus appropriées pour la réécriture des requêtes ? • matching des attributs, identification de prédicats conflictuels, redondants • Définition de benchmarks d’évaluation • à la compilation • à l’exécution
Insuffisance des techniques de base • Réécriture (Halevy et al. 96), (Duschka et al. 97), (Halevy et al. 01), … • prend en compte l’aspect multi source (réécriture à travers des vues) • mais ne tient pas compte du profil utilisateur • Enrichissement (Koutrika et al. 04, 05) • prend en compte le profil utilisateur (ajout de prédicats dans la requête) • mais ne tient pas compte des mappings multi sources (pas de réécriture) Les 2 techniques sont complémentaires
Qu Pu {Schémas Sources} Réécriture Enrichissement {Q’u} {Q’’u} Première approche : composition des techniques de base • Enrichissement-réécriture R(E) • Réécriture-enrichissement E(R) Schéma Virtuel Pu Qu {Schémas Sources} Enrichissement Réécriture Q’u {Q’’u}
Deuxième approche : réécriture de requêtes guidée par le profil • Idées directrices • confronter le profil utilisateur et le schéma virtuel • sous ensemble de prédicats • sous-schéma virtuel • sélectionner les relations virtuelles sur la base de préférence (taux de prédicats pertinents) • étendre la requête avec les relations choisies • faire une réécriture personnalisée • ne produire que les réécritures enrichissables
Identification des sources pertinentes Combinaison des sources pertinentes Schémas des sources de données Principe général Schéma Virtuel requête étendue requête utilisateur Expansion de la requête sources pertinentes profil utilisateur réécritures Enrichissement final requête utilisateur reformulée
Etape 1: Expansion de la requête Qu • Principe général Match Schéma virtuel Profil R2 R5 R1 R4 R3 R6 R4 R2 Ajout à Q Ordonnancement Q’u R1 R4 R3 R3 R2
Problématique de l’expansion de la requête • Identification des relations sémantiquement liées à la requête • Recherche des chemins de jointure entre la requête et les relations virtuelles • Choix des chemins de jointure • Minimisation du nombre de nouvelles relations
Principe d’expansion • Actualisation des poids des prédicats • Choix des relations virtuelles • Ajout des relations virtuelles à la requête
R4 R5 R8 R3 R7 R6 R1 R2 Qu Principe d’expansion • Actualisation des poids des prédicats • Prise en compte de la distance entre les relations de la requête et les autres relations virtuelles • Fonction de la distance entre la requête et la relation sur laquelle est exprimé le prédicat • Choix des relations virtuelles • Ajout des relations virtuelles à la requête 0.32 R3.a=‘x’ 0.5 Hypothèse : = 0.8 nw = 0.820.5 = 0.32
R1 R4 R3 R6 R5 32% 20% 5% 3% 40% Principe d’expansion • Actualisation des poids des prédicats • Choix des relations virtuelles • somme des pertinences des relations choisies > (seuil de la portée pertinente) • pertinence d’une relation = couverture pondérée du profil utilisateur par les prédicats exprimés sur la relation • Ajout des relations virtuelles à la requête R4 32% 0% R5 3% R8 R3 Objectif : Satisfaire au moins 90% du profil utilisateur ( = 0.9) 20% 0% R7 R6 5% R1 R2 0% 92% 40% Il faut étendre Qu avec {R3, R4 } R3, R4 Qu
Principe d’expansion • Actualisation des poids des prédicats • Choix des relations virtuelles • Ajout des relations virtuelles à la requête • Minimiser le nombre de nouvelles relations (Steiner Tree Problem (Hwang et al. 1992)) • Utiliser une heuristique (Minimum Cost Paths Heuristic (Takahashi et al. 1980)) R4 32% Il faut étendre Qu avec {R3, R4 } R3, R4 R5 3% R8 R3 20% 1ere itération : Plus courts chemins : R1-R6-R3 R2-R7-R3 R2-R8-R4 2e itération: Plus courts chemins : R3-R4 R7 R6 5% 5% 0% 0% Ajout de R4 R1 R2 40% Ajout de R3 Qu
Identification des sources pertinentes Combination des sources pertinentes Schémas des sources de données Etape 2: identification des sources pertinentes Schéma Virtuel requête étendue requête utilisateur Expansion de la requête sources pertinentes profil utilisateur réécritures Enrichissement final requête utilisateur reformulée
Objectif • Trouver les sources permettant de calculer les résultats de la requête • sources contributives pour la réécriture de la requête • Choisir les sources les plus pertinentes • enrichissables par les prédicats du profil utilisateur
Problèmes à résoudre • Trouver les sources contributives • contenant des données de même nature que celles recherchées par la requête • satisfaisant les prédicats de la requête • Sélections • Jointures • Elagage des sources non pertinentes • introduction d’une métrique de pénalité
Principe de l’identification des sources pertinentes • Recherche des sources contributives pour la réécriture de la requête • construction d’un ensemble de descripteurs de sources (MCDs) (type MiniCon Halevy et al. 2001) • Filtrage des sources • pénalité d’une source (MCD) > seuil de pénalité • Couverture pondérée du profil par les prédicats exclus par la source • Conflictuels avec la définition de la sources • Inexprimables sur la source
Exemple d’identification des sources pertinentes Q’u(idV, prix, lieu_depart, moyen, comfort) :- voyage(idV, prix, lieu_depart, lieu_arrivee, nbre_jours, idT, idH), transport(idT, moyen, type_trajet, comfort), hotel(idH, nbre_etoiles, nom, region, lieu_depart, idR) lieu_arrivee='Madrid. (1) (2) (3) Profil utilisateur Pu { VOYAGE.nbre_jours>7 1.0 (a) VOYAGE.lieu_depart=’Toulouse’ 0.8 (b) TRANSPORT.moyen='avion’ 0.5 (c) HOTEL.nbre_etoiles>3 0.4 (d) TRANSPORT.comfort>2 0.4 (e) VOYAGE.lieu_depart = ‘Paris’ 0.2 (f) HOTEL.region=‘centre ville’ 0.2 (g) RESTO.catégorie=‘gastronomique’ 0.1 (h) } ? Source contributive pour la relation VOYAGE ParisVacances(idV, prix, lieu_depart, lieu_arrivee, idT):- VOYAGE(idV, prix, nbre_jours, lieu_depart, lieu_arrivée, idT, idH), lieu_depart = ‘Paris’. Pénalité(ParisVacances) = CP(Pu, {a, b}) = 0.43
Identification des sources pertinentes Combination des sources pertinentes Schémas des sources de données Etape 3: Combinaison des descripteurs Schéma Virtuel requête étendue requête utilisateur Expansion de la requête sources pertinentes profil utilisateur réécritures Enrichissement final requête utilisateur reformulée
Problématique de la combinaison de sources • Problème combinatoire • Compatibilité des sources (MCDs) • Pertinence des réécritures par rapport au contenu du profil utilisateur
Relations de la requête étendue : { VOYAGE, TRANSPORT, HOTEL } Seuil de pénalité = 0.5 0 a 0.45 b 0.45 c 0.08 d e 0.0 f g 0.0 0.1 Solution proposée • Utiliser un algorithme par niveaux (Apriori (Agrawal et al. 94)) • Élaguer les combinaisons de MCDs ayant une grande pénalité • La pénalité est monotone Redondantes : ab, ad, bc, bd, ef, eg, fg Pénalité > seuil : be, cd, ce Réécritures : bf, bg , acf, acg 0.45 0.45 acf acg 0.45 0.1 0.0 0.0 0.55 0.45 0.45 0.54 0.55 0.45 0.45 0.18 0.08 0.08 ad ae af ag be bf bg ef eg fg ab ac bc bd ce cf cg de df dg cd
Identification des sources pertinentes Combination des sources pertinentes Schémas des sources de données Etapes de l’algorithme Schéma Virtuel requête étendue requête utilisateur Expansion de la requête sources pertinentes profil utilisateur réécritures Enrichissement final requête utilisateur reformulée
Enrichissement final • Objectif • Ajouter les prédicats du profil aux réécritures candidates • Etape préparé par les étapes précédentes • Connaissance des prédicats exclus • déduction des prédicats à utiliser • Connaissance des définitions des sources • Identification des prédicats déjà satisfaits par les sources • Principe • Ajout de la conjonction des prédicats du profil à la requête
Exemple d’enrichissement final Profil utilisateur { VOYAGE.nbre_jours>7 1.0 (a) VOYAGE.lieu_depart=’Toulouse’ 0.8 (b) TRANSPORT.moyen='avion’ 0.5 (c) HOTEL.nbre_etoiles>3 0.4 (d) TRANSPORT.comfort>2 0.4 (e) VOYAGE.lieu_depart = ‘Paris’ 0.2 (f) HOTEL.region=‘centre ville’ 0.2 (g) RESTO.catégorie=‘gastronomique’ 0.1 (h) } Conflictuels avec Qu Exclus par les sources (pénalité) HOTEL.nbre_etoiles>3 0.4 (d) TRANSPORT.comfort>2 0.4 (e) A ajouter Déjà satisfaits par les sources Pas considérés lors de l’expansion RW(idV, prix, lieu_depart, moyen, comfort):- ParisVacances(idV, prix, lieu_depart, lieu_arrivee, nbre_jours, moyen, nom, nbre_etoiles, idT), lieu_depart = ‘Paris’ TransportAerien(idT, comfort), moyen = ‘avion’ lieu_arrivee='Madrid‘, nbre_jours=4 , nbre_etoiles>3, comfort>2
Plan • Contexte • Contributions • Modélisation de l’utilisateur (définition de la notion de profil) • Exploitation du profil dans la reformulation de requêtes • Evaluations • Conclusions et perspectives
Evaluation des approches de reformulation de requêtes • Proposition d’un benchmark • Construction d’une plateforme de données (Peralta 2007) • Dérivation d’un benchmark à partir de la plateforme • Définition de métriques d’évaluation • Niveau compilation des requêtes • Niveau exécution des requêtes
Plateforme des tests • Principe de construction • Caractéristiques Extraction Schéma cible Nettoyage et réconciliation des données Données IMDb BD intégrée Profils Requêtes Bons résultats Génération de requêtes et de profils Extraction Données MovieLens + référentiel de résultats pertinents pour chaque couple (profil, requête)
Benchmark des tests • Etapes de construction du benchmark • Caractéristiques Schéma cible Schéma virtuel BD intégrée Simulation du système distribué Requêtes de médiation Sources Choix des paramètres Profils et Requêtes retenus Profils Requêtes Bons résultats Choix des requêtes et des profils Système distribué
Métriques d’évaluation • Niveau compilation • Couverture des prédicats du profil • Couverture pondérée • Temps de réponse de la reformulation • Niveau exécution • Rappel • nombre de résultats pertinents obtenus / nombre total de résultats pertinents • Précision • nombre de résultats pertinents obtenus / nombre total de résultats obtenus