L usage des concepts du web sémantique dans le filtrage d information collaboratif

Dimension: px
Commencer à balayer dès la page:

Download "L usage des concepts du web sémantique dans le filtrage d information collaboratif"

Transcription

1 Ministère de l enseignement Supérieur et de la recherche scientifique Institut National d Informatique Alger Mémoire présenté pour l obtention du diplôme de Magistère Option : Ingénierie des Systèmes d Information et Documents Électroniques (ISIDE) Thème L usage des concepts du web sémantique dans le filtrage d information collaboratif Par : M. Amokrane BELLOUI Membres du jury : M. BALLA A. Maître de conférences INI Président du jury M. HIDOUCI W.K. Maître de conférences INI Examinateur M. TANDJAOUI D. Docteur CERIST Examinateur M. NOUALI O. Maître de recherche CERIST Directeur de thèse 2007/2008

2 Dédicaces Je dédie ce mémoire à tous ceux qui ont lutté, qui luttent et qui lutterons pour que cessent famine, malheurs, conflits et injustice dans le monde. Remerciements Je tiens d abord à remercier mon directeur de mémoire, Monsieur Nouali, qui a bien voulu diriger mes travaux de recherche. Son aide et ses conseils, sans lesquels ce mémoire n aurait probablement jamais vu le jour, on été d une très grande utilité tout au long du parcours. Remerciements spéciaux pour les membres du jury, M. Balla, M. Hidouci et M. Tandjaoui pour l intérêt qu ils ont porté au thème du mémoire. Je remercie aussi tous les enseignants de l INI et des autres universités qui ont intervenu dans notre formation et qui ont bien voulu nous léguer une partie de leur savoir précieux. Ma famille et mes amis qui ont toujours été là pour me supporter tant bien que mal.

3 Résumé Les systèmes de filtrage collaboratif sont des systèmes analysant le profil (préférences) d un utilisateur pour pouvoir lui recommander les ressources pouvant l intéresser. Cependant ces systèmes souffrent de problématiques liées au nombre peu important d évaluations, au démarrage à froid du système et au nouvel utilisateur/nouvelle ressource. Les systèmes de recommandation ont une importance majeure pour le web d aujourd hui en général et pour le e-business en particulier car ils permettent de cibler les préférences de l utilisateur et de filtrer l information qui lui parvient. C est pour cela que plusieurs voies ont été explorées pour trouver des solutions aux problématiques associées. Dans ce mémoire nous montrons que l utilisation des informations sémantiques décrivant les utilisateurs et les ressources peut améliorer la précision, la couverture et la qualité des systèmes de recommandation. Ceci en fournissant des informations supplémentaires permettant d enrichir les similarités collaboratives calculées à partir des évaluations par des similarités sémantiques. Le web sémantique est l infrastructure idéale pour obtenir ces descriptions sémantiques car il permet la gestion décentralisée de l information et l agrégation de plusieurs sources. On présente dans ce mémoire un Framework que nous avons conçu permettant de calculer les similarités entre ressources sur le web sémantiques. Mots clés Filtrage collaboratif, Similarité sémantique, Profil utilisateur, Système de filtrage hybride Abstract Collaborative filtering systems are systems analyzing user preferences/profile to recommend resources that may be interesting for him. But these systems suffer from problems: the Sparsity of the evaluation matrix, the cold-start problem, and the new user/new resource problem. However, recommendation engines are very important nowadays, on the web in general and for e-business more particularly; many alternatives have been explored trying to find the best solution to these problems. In this document, we show that using semantic information describing users and resources can reduce the problems and lead to a better precision, coverage and quality for the recommendation engine, by introducing extra information that enriches collaborative similarities by semantic ones. Semantic web is the ideal infrastructure for managing such semantic descriptions, it allows a distributed information management and aggregation, and relies on many proven standards. We also present in this thesis a framework that we have conceived to ease similarity calculation between semantic resources. Keywords Collaborative filtering, Semantic similarity, User Profile, Hybrid filtering systems

4 Table des Matières Table des Matières Table des Matières... 1 Liste des figures... 3 Introduction... 1 I. Chapitre I : Contexte de la recherche et Objectifs Présentation du contexte Filtrage de l information Filtrage basé sur le contenu Filtrage collaboratif Filtrage hybride Techniques de filtrage collaboratif Problématique Objectifs II. Chapitre II : Etat de l Art Filtrage Collaboratif Classification des Algorithmes Algorithmes basés mémoire Algorithmes basés modèle Algorithmes hybrides Filtrage orienté Utilisateur vs. Ressource Web Sémantique Web sémantique Technologies sémantiques Pourquoi le web sémantique Profil Utilisateur Caractéristiques Modélisation d un profil Représentation du profil Acquisition du profil Le profil utilisateur dans le web sémantique Similarité Sémantique Comptage des arcs Théorie de l information Similarité vectorielle Séquences et chaînes Texte intégral Basée Propriétés Structures avancées Similarités hybrides Techniques Hybrides Collaboratives/Sémantiques Inférence d évaluations implicites Règles d association (Relation Mining)... 43

5 Table des Matières 6. Autres Aspects Capture des évaluations utilisateur Diversification des thèmes Performance sur un grand nombre de données Récapitulatif III. Chapitre III : Proposition Approche proposée Architecture Distances et corrélation Moteur de Similarités (SemSim) Filtrage collaboratif (ColFil) Moteur de recommandations (Recommend) IV. Chapitre IV : Evaluation Implémentation Jeu de données Analyse du jeu de données Données sémantiques Chargement de données supplémentaire Construction de l ontologie Base de données Interface graphique Méthodologie Evaluation des systèmes de recommandation Mesure de la précision Approche suivie pour l évaluation Résultats Algorithme 1 Prédictions Intuitives Algorithme 2 - Algorithme purement collaboratif Algorithme 3 - Algorithme purement sémantique Algorithmes Hybrides Algorithme 4 - Hybridation par Changement Adaptatif (Switching) Algorithme 5 Hybridation par Pondération (Weighting) Algorithme 6 Hybridation par Combinaison (Feature Combination) Discussion Conclusion Bibliographie Annexes A. Construction de l ontologie MovieLens B. Prototype d interface graphique... 87

6 Table des Matières Liste des figures Figure I-1 : Modèles de recherche et de filtrage d'information... 4 Figure I-2 : Filtrage basé sur le contenu... 6 Figure I-3 : Filtrage collaboratif... 7 Figure I-4 : Composantes d'un système de filtrage collaboratif... 7 Figure I-5 : Processus de filtrage collaboratif... 8 Figure II-1 : Algorithme des K-moyennes Figure II-2 : Algorithme de clustering hiérarchisé Figure II-3 : Algorithme des fourmis artificielles Figure II-4 : Réseaux de Bayes Figure II-5 : Pièces technologiques du web sémantique Figure II-6 : Modélisation d'un profil utilisateur Figure II-7 : Exemple de description vcard Figure II-8 : Profiling des intérêts de l utilisateur - Attention Profiling Figure II-9 : Nuage de Tags "Tag Cloud" Figure II-10 : Code hcard et affichage XHtml Figure II-11 : Exemple de hiérarchie de termes dans WordNet Figure II-12 : Similarité dans des arbres pondérés Figure III-1 : Architecture du système Figure III-2 : Structure des composants du système Figure III-3 : Graphes des distances collaboratives et sémantiques Figure III-4 : Signification des corrélations sémantiques et statistiques Figure III-5 : Description sémantique Figure III-6 : Similarité entre utilisateurs basée sur la composition de propriétés Figure III-7 : Définition et composition de similarités sémantiques Figure III-8 : Fichier de configuration des similarités Figure III-9 : Structure du module SemSim Figure III-10 : Structure du module ColFil Figure III-11 : Sous-Matrice d'évaluation utilisée pour la prédiction Figure III-12 : Structure du module Recommend Figure IV-1 : Répartition des évaluations communes Figure IV-2 : Répartition des évaluations Figure IV-3 : Répartitions des métiers Figure IV-4 : Répartition des codes ZIP Figure IV-5 : Répartition des catégories Figure IV-6 : Extrait de la description d'un film dans l'imdb Figure IV-7 : Classes principales de l'ontologie MovieLens Figure IV-8 : Classification des régions et des langues Figure IV-9 : Schéma de la base de données... 65

7 Table des Matières Figure IV-10 : Impact des critères «Evaluations en commun» et «Distance minimale» Figure IV-11 : Impact du paramètre «nombre d évaluations minimum» Figure IV-12 : Impact de la taille du voisinage Figure IV-13 : Impact du «Nombre d évaluations minimum» Figure IV-14 : MAE, Couverture et Temps de calcul par rapport à la similarité minimale Figure IV-15 : Changement adaptatif (répartition de l'utilisation des algorithmes) Figure IV-16 : Algorithme hybride : pondération (MAE) Figure IV-17 : Algorithme hybride : Combinaison (MAE et couverture) Figure IV-18 : Comparaison des algorithmes... 77

8 Introduction Introduction Le filtrage collaboratif est la technique qui vise à prédire l intérêt que porterait un utilisateur pour une ressource donnée. A la différence des moteurs de recherche où l accès est actif les systèmes de filtrage présentent un accès passif à l information. Ils présentent aussi d autres avantages, comme la possibilité de recommander tout type de ressources (images, vidéos etc.), la possibilité d exprimer d autres facteurs liés à la qualité, au public visé etc. Cependant les systèmes de filtrage soulèvent des problématiques. D abord le nombre peu important d évaluations dans la matrice, moins de 5% d évaluations explicites (pour des systèmes comme MovieLens, Netflix). Ensuite, cette problématique devient plus importante dans le cas du nouvel utilisateur ou de la nouvelle ressource pour lesquels nous n avons aucune évaluation, et encore pire lors du démarrage à froid du système ou aucune information n est disponible. Il faut aussi tenir compte de la complexité de ces systèmes, les techniques doivent s adapter aux centaines de milliers d utilisateurs ou de ressources, en gardant un niveau de performance acceptable. L adoption des systèmes de filtrage est assez importante aujourd hui mais le challenge est l amélioration des pratiques et des méthodes utilisées pour rendre les systèmes plus précis, interactifs, adaptés aux contextes, performants. Cette amélioration passe par l amélioration de la prise en charge des problématiques liées à ces types de systèmes et par la proposition de nouvelles approches pour améliorer les fonctionnalités. Plusieurs techniques, que nous présentons dans l état de l art [Chapitre II], ont été explorées pour réduire les problématiques liées au filtrage collaboratif. Certaines sont statistiques (classification, réduction de la dimension, etc.) elles permettent d alléger l impact du faible nombre d évaluations et d améliorer la performance. D autres visent à résoudre les problématiques de démarrage à froid, de la nouvelle entité et du nombre d évaluations en introduisant l aspect sémantique de différentes manières dans le processus de prédiction, et en intégrant les deux types d approches dans des techniques hybrides. Dans notre travail, nous nous sommes penchés sur la piste visant à introduire l aspect sémantique, ceci en utilisant l infrastructure du web sémantique, à cause des avantages que nous pouvons en tirer : des données partagées sur le web, répondant à des standards éprouvés, utilisables par les machines, etc. 1

9 Introduction Nos contributions se résument aux points suivants : Nous avons montré que l inclusion des informations sémantiques, selon l approche décrite dans notre proposition [Chapitre III] améliorait la précision et la couverture de l algorithme de recommandation. Pour cela nous avons évalué [Chapitre IV] plusieurs algorithmes : collaboratif pur, sémantique pur ainsi que plusieurs stratégies d hybridation sur un jeu de données que nous avons enrichi d informations supplémentaires extraites à partir de sources sémantiques alternatives. Nous présentons aussi [Paragraphe III.4] un Framework que nous avons nommé SemSim qui permet le calcul des similarités entre ressources sémantiques par simple configuration et composition de mesures de similarités présentées dans état de l art des techniques de calcul de similarités sémantiques [Paragraphe II.4]. Nous avons montré dans nos expérimentations qu il est plus facile et plus précis d utiliser un Framework, nous avons eu de meilleurs résultats avec le Framework et les données sémantiques qu avec des données relationnelles classiques. Utilisateur et ressource sont les deux dimensions d un système de recommandation, si la dimension ressource est à chaque fois différente car elle représente un domaine bien spécifique, la dimension utilisateur est généralement la même. Nous présentons [Paragraphe II.3] le contenu du profil utilisateur (information générales, sociales, préférences etc.) et les techniques du web sémantique et du web 2.0 qui permettent la représentation de ce profil. Le présent document est donc organisé en quatre chapitres. Dans le chapitre I, nous cernons le contexte et présentons la problématique et nos objectifs. Dans le chapitre II, nous présentons l état de l art des pratiques du filtrage collaboratif, du web sémantique, de la description du profil utilisateur, des similarités sémantiques et de l hybridation des algorithmes collaboratifs et sémantiques. Dans le chapitre III, nous présentons notre solution et son architecture que nous évaluons dans le chapitre IV. Nous terminons par une conclusion et la description des perspectives. 2

10 I. Chapitre I : Contexte de la recherche et Objectifs Dans ce chapitre nous commençons par présenter le contexte général de la recherche et du filtrage d information et un aperçu global des approches utilisées. Nous définissons ensuite notre problématique et les objectifs. 3

11 Chapitre I : Présentation du contexte 1. Présentation du contexte 1.1. Filtrage de l information La quantité d information produite de nos jours est devenue astronomique, et les supports de diffusion se multiplient, que ce soit le web, les chaînes télévisées, les radios, les téléphones cellulaires, etc. Les modalités d accès à cette information évoluent donc elles aussi pour correspondre à ces nouveaux besoins. Les modalités d accès à l information peuvent être catégorisées en 2 groupes : Accès actif Caractérisé par le fait que l utilisateur fait un effort de recherche pour trouver ce qu il désire. Par exemple : naviguer parmi les documents hypertexte (en suivant des liens), naviguer dans les catégories d un répertoire d information (Yahoo, Google Directory) pour cibler les ressources recherchées, ou bien utiliser des moteurs de recherche (Google, ). Accès passif Caractérisé par le fait que l utilisateur reçoit des informations ou bien des recommandations sur ce qui l intéresse. Que se soit des recommandations faites par un ami, une liste de diffusion ( s) ou bien un système de filtrage d information. Ces modalités d accès correspondent à deux types de systèmes : les systèmes de recherche et les systèmes de filtrage. Figure I-1 : Modèles de recherche et de filtrage d'information Ces modalités d accès possèdent plusieurs points de similarité et de différence qui les rendent complémentaires [Berrut 03]. - La recherche est typiquement concernée par des usages singuliers du système, avec une personne avec un objectif et une requête à la fois, alors que le filtrage est concerné par des usages répétitifs du système, par une personne ou un groupe avec des intérêts à long terme. - La recherche connaît des problèmes d adéquation entre requêtes et besoin en information. Le filtrage fait l hypothèse que l évolution des profils peut compenser ces problèmes. 4

12 Chapitre I : Présentation du contexte - Collecter et organiser les documents est une des fonctionnalités des systèmes de recherche d information, distribuer des documents à des groupes ou à des individus demeure la priorité fonctionnelle des systèmes de filtrage. - La recherche d information permet la sélection de documents à partir d une base relativement statique. En contrepartie, le filtrage d information sélectionne ou élimine des documents à partir d un flux dynamique de données. - La recherche d information permet l interaction de l utilisateur avec le document durant une session unique de recherche. De son côté, le filtrage d information autorise des changements à long terme à travers des séries de session de recherche. Filtrage de l information Le filtrage de l information pourrait être défini comme étant le processus qui vise à filtrer les informations d un flux pour ne faire parvenir que celles qui intéressent l utilisateur, contrairement à la recherche d information ou l utilisateur à l aide d une requête sélectionne l information pertinente à partir du flux. Les propriétés principales d un système de filtrages sont : Filtrer l information non désirée pour ne garder que ce qui est intéressant. Le flux d information est dynamique (envoi d alertes, ). Personnalisation via la constitution et la maintenance d un profil utilisateur, et prise en charge des intérêts à long terme. L adéquation entre besoin et ressource peut être fait avec plusieurs dispositifs : indexation, contenu sémantique, évaluation, Interaction de l utilisateur, avec l évaluation des ressources recommandées, pour la mise à jour de son profil. Plusieurs systèmes de filtrage existent, initialement appliqués aux forums, s, leur domaine d application s est étendu pour inclure les ressources documentaires en général sans oublier que ces systèmes sont largement utilisés dans les domaines du commerce électronique (Amazon) et des divertissements (MyStrands, Last.fm, Netflix, Movielens, ). Le filtrage d information est catégorisé en trois familles : Filtrage cognitif : basé sur le contenu. Filtrage collaboratif : basé sur les évaluations des utilisateurs sur les ressources. Filtrage hybride : Combine les deux approches. 5

13 Chapitre I : Présentation du contexte 1.2. Filtrage basé sur le contenu Le filtrage basé sur le contenu peut être vu comme un système de recherche d information où la requête joue le rôle d un filtre permanent ou à long terme. Ce type de systèmes est basé sur un processus à deux phases : La première étant la sélection de ressources correspondant au profil de l utilisateur, La deuxième étant la mise à jour du profil de l utilisateur après retour de pertinence des résultats. Figure I-2 : Filtrage basé sur le contenu L'avantage des systèmes de filtrage cognitifs, basés contenu est qu'ils permettent d'associer des documents à un profil utilisateur. Notamment, en utilisant des techniques d indexation et d intelligence artificielle. L'utilisateur est indépendant des autres ce qui lui permet d'avoir des recommandations même s'il est le seul utilisateur du système. Cependant, ce type de systèmes présente certaines limitations. L effet «entonnoir» : les besoins de l utilisateur sont de plus en plus spécifiques, ce qui l empêche d avoir une diversité de sujets. Même pire, un nouvel axe de recherche dans un domaine bien précis peut ne pas être pris en compte car il ne fait pas parti du profil explicite de l utilisateur. Filtrage basé sur le critère thématique uniquement, absence d autres facteurs comme la qualité scientifique, le public visé, l intérêt porté par l utilisateur, etc. Les difficultés à recommander des documents multimédia (images, vidéos, etc.) et ceci à cause de la difficulté à indexer ce type de documents, c est en fait la même problématique dont souffrent les systèmes de recherche. Problème de démarrage à froid : Un nouvel utilisateur du système éprouve des difficultés à exprimer son profil en spécifiant des thèmes qui l intéressent. Ceci malgré les techniques d apprentissage ou l utilisateur fournit des textes exemples. 6

14 Chapitre I : Présentation du contexte 1.3. Filtrage collaboratif Le filtrage collaboratif se base sur le principe qui dit qu on devrait pouvoir se servir de ce que les autres ont déjà trouvé et évalué pour trouver ce que nous cherchons. C est comme la notion de bouche à oreille sur une grande échelle. Le fait que ce type de systèmes ne soit pas basé sur le contenu, permet de filtrer n importe quel type de ressources qu elles soient : textuelle, image, vidéo et même physique. Elle est au contraire basée sur la construction de profils d utilisation, ces profils seront crées au fur et à mesure par les évaluations des utilisateurs. Figure I-3 : Filtrage collaboratif Le filtrage collaboratif utilise des méthodes statistiques pour faire des prévisions basées sur l'évaluation des intérêts des utilisateurs. Ces prévisions sont utilisées pour faire des propositions en se basant sur la corrélation entre son profil personnel et les profils des autres utilisateurs (qui présentent des intérêts semblables). Un système de filtrage collaboratif est organisé comme suit : Collecter les appréciations et le comportement des utilisateurs, en général l'utilisateur fournit des évaluations sous forme de notes, sur un ou plusieurs axes : qualité, correspondance au besoin, etc. ; Intégrer ces informations au profil de l utilisateur ; Le système utilise ces informations pour faire des recommandations. Figure I-4 : Composantes d'un système de filtrage collaboratif 7

15 Chapitre I : Présentation du contexte L utilisateur peut alors demander au système de : Lui suggérer une ressource susceptible de lui plaire ; Le prévenir des ressources qu il ne devrait pas apprécier ; Donner une estimation d évaluation d une certaine ressource ; Le schéma ci-dessus [Berrut 03] montre l architecture globale d un système de filtrage collaboratif. Figure I-5 : Processus de filtrage collaboratif Le filtrage collaboratif permet aussi de capturer l'historique de l'utilisation d'une ressource, quand nous lisons un document, rien ne nous permet d'évaluer un document à priori, si ce n'est les pages froissées, les empruntes digitales sur les marges, etc. Le filtrage collaboratif reproduit cet historique d'utilisation pour les ressources numériques. Le filtrage collaboratif peut être poussé à un niveau plus détaillé. L évaluation d un document ne sera plus globale mais par chapitre. L évaluation des pistes d un album au lieu de l album lui-même. Plusieurs systèmes utilisent le filtrage collaboratif vu les avantages qu il apporte, parmi ces systèmes on peut citer : Amazon, Netflix, MovieLens, Jester, Citeseer, Tapestry, Phoaks, etc. On remarque que le domaine d application des systèmes de filtrage est souvent le domaine commercial du fait que cela permette de vendre plus. Dans le domaine des ressources documentaires, les systèmes ne sont pas encore très matures, car difficiles à implémenter, du fait de la décentralisation des ressources, des descriptions hétérogènes et le nombre énormes de données pouvant exister. Certes des systèmes comme Citeseer recensent des publications dans un domaine bien précis, mais la question qui se pose est : peut on appliquer le filtrage collaboratif à des ressources non structurées du web? Les principaux avantages des systèmes de filtrage collaboratif découlent de la possibilité de tirer profit des évaluations effectuées par les autres utilisateurs du système. En se basant sur les évaluations des utilisateurs plutôt que sur le contenu, le filtrage collaboratif permet de résoudre les problématiques liées au filtrage par contenu, et donc de filtrer tout type d information (ressources physiques, images, vidéos, etc.) 8

16 Chapitre I : Présentation du contexte L effet entonnoir est atténué par le filtrage collaboratif, car tout document évalué par une personne peut être recommandé. L utilisateur peut bénéficier de nouveaux axes de recherche auxquels il n a jamais pensé. Le filtrage collaboratif permet d exprimer d autres facteurs et critères tels que : la qualité de l information, le public visé, la zone géographique, etc. Chose qui n est pas possible dans un système de filtrage thématique. Cependant, des problématiques existent, principalement liés au démarrage à froid, au très petit nombre d évaluations ainsi qu à la montée en charge du système. Le démarrage à froid survient à chaque nouvelle ressource ou nouvel utilisateur. En effet, toute nouvelle ressource ne peut être recommandée car elle n est sujette à aucune évaluation. De la même manière un utilisateur ne peut recevoir de recommandation car il ne fait préalablement partie d aucune communauté d utilisateurs. Le problème est d autant plus difficile à résoudre dans le cas ou les utilisateurs ont des goûts exotiques non communs. Cependant ce problème peut être réduit par les informations initiales fournies par l utilisateur ou bien par l administrateur du système (pour les ressources). Un autre point à considérer est le fait que les matrices des évaluations sont souvent des matrices creuses contenant dans la plupart des cas moins de 5% d évaluations explicites (1% pour MovieLens, 3% pour Netflix). Un autre problème majeur est la diminution des performances pour les systèmes à grande échelle, où un nombre important d utilisateurs et de ressources existe. Nous avons besoin d algorithmes plus performants. D autres inconvénients sont directement liés à l utilisateur à l utilisation du système : Rapport coût/bénéfice : Pour qu un système de filtrage collaboratif soit utile il faut que l utilisateur effectue un nombre minimal d évaluations, l utilisateur peut abandonner s il n est pas convaincu du résultat à court ou à moyen terme. Expression du besoin : Un système de filtrage par défaut recommande les ressources pouvant intéresser l utilisateur, mais ne prends pas en charge le contexte dans lequel est l utilisateur. Donc l utilisateur peut recevoir des recommandations qui ne correspondent pas au contexte Filtrage hybride Constatant les avantages et inconvénients des deux approches, on comprend naturellement l utilité des méthodes hybrides qui visent à combiner les deux types d approches pour limiter les inconvénients. L hybridation des méthodes peut être effectuée avec différentes méthodes, décrites dans [Burke 02] parmi lesquelles : la pondération, le changement adaptatif, la composition, la combinaison, la cascade, l augmentation de fonctionnalité, etc. 9

17 Chapitre I : Présentation du contexte 1.5. Techniques de filtrage collaboratif L exploitation des données disponibles dans un système de filtrage peut se faire de plusieurs manières. Dans [Breese 98], ces méthodes sont classées en deux familles. Des méthodes basées mémoire, et des méthodes basées modèle [Berrut 03]. Les méthodes basées mémoire consistent à utiliser la totalité des informations disponibles pour générer les prédictions. La complexité du traitement dans cette méthode augmente avec l augmentation du nombre d utilisateurs et de ressources. Ces méthodes reposent sur le calcul des corrélations entre utilisateurs, une fois un voisinage choisis, une prédiction est calculée et des recommandations faites. La deuxième approche consiste à élaborer des modèles sur lesquels la prédiction va se baser. La complexité est grandement réduite, mais l évolution de l apprentissage et de la qualité de l algorithme est plus lente. Parmi ces méthodes on peut citer les méthodes de Clustering, où on classe un utilisateur dans un Cluster (communauté) et puis faire des recommandations en se basant sur ces communautés. On trouve aussi les modèles basés sur les réseaux de Bayes. Les approches hybrides viennent combiner efficacement les deux approches pour limiter les inconvénients. Les approches peuvent aussi être classifiées d une autre manière. Certains algorithmes se basent sur l utilisateur, i.e. que l on cherche un ensemble d utilisateurs similaires et on génère la recommandation à partir des évaluations de cette communauté (cette approche est l approche classique pour un système de filtrage collaboratif). Dans un système orienté sur la ressource, l inverse est appliqué à partir d un certain nombre de produits similaires on effectue une recommandation, Amazon en est un exemple. Comme décrit dans [Sarwar 01] les systèmes basés ressource peuvent améliorer les performances du système toute en gardant la même précision que pour les systèmes orientés utilisateur. D autres techniques visent à améliorer les techniques classiques, ces techniques introduisent principalement les notions sémantiques, d optimisation, d intelligence artificielle, etc. Parmi ces méthodes on peut citer les algorithmes génétiques, les systèmes multi agents, etc. Nous avons présenté dans ce chapitre les différentes approches utilisées dans le filtrage collaboratif pour pouvoir se mettre dans le contexte des approches actuelles et pouvoir poser la problématique et les objectifs auxquels nous voulons arriver, une description plus détaillée des approches peut être trouvée dans l état de l art. 10

18 Chapitre I : Présentation du contexte Problématique 2. Problématique L adoption des systèmes de filtrage est assez importante dans l internet d aujourd hui mais le challenge est l amélioration des pratiques et méthodes utilisées pour rendre les systèmes plus précis, interactifs, adaptés à des contextes particuliers, performants, etc. Cette amélioration passe par l amélioration de la prise en charge des problématiques liées à ces types de systèmes comme le démarrage à froid et par la proposition de nouvelles approches pour améliorer les fonctionnalités. Notre problématique peut être articulée sur les axes suivants : Premièrement, le démarrage à froid. Etant l inconvénient principal, car quand aucune donnée n est présente la qualité des recommandations est nulle, en effet comment pourrais t on recommander quelque chose à un utilisateur sur lequel on n a aucune information? Comment recommander une ressource dont on ne connaît pas la nature? Il faut avoir des sources alternatives, sémantiques, disponibles au démarrage pour pouvoir atténuer l effet des problématiques du filtrage collaboratif. Deuxièmement, la qualité de la prédiction. Même après le démarrage la qualité reste faible car la matrice d évaluation est souvent creuse (<5% d évaluations pour Netflix et Movielens). Il faut aller chercher l information cachée avec des méthodes statistiques avancées, ou bien tirer profit des informations sémantiques pour atténuer le faible nombre d évaluations. Troisièmement, le contexte. Les systèmes de filtrage sont souvent perçus comme des outils statistiques. Loin de là, la prédiction d une valeur positive ne signifie en aucun cas que la recommandation est bonne, il faut tenir compte du contexte et des besoins de l utilisateur. Ce sont des aspects du profil de l utilisateur qui dépasse le simple profil statistique. Quatrièmement, la performance et la montée en charge du système. On ne peut se permettre d avoir un temps de réponse de plus d une seconde pour un utilisateur sur le web, certaines méthodes, même très précises, ne peuvent donc être appliquées si elles ne respectent pas les critères de performance et de montée en charge. L interaction de l utilisateur avec le système est aussi un critère important en effet même si l utilisateur n est pas satisfait des recommandations, le système doit au moins lui offrir la possibilité de naviguer et de trouver facilement les ressources qu il recherche. L encourager à évaluer des ressources est aussi important. 11

19 Chapitre I : Présentation du contexte Objectifs 3. Objectifs L objectif de notre recherche est d apporter une solution qui permettrait d améliorer la qualité globale des systèmes de recommandation, de réduire l impact des problématiques citées précédemment en introduisant l aspect sémantique. L aspect sémantique est caractérisé par la description des entités du système par des attributs sémantiques. L utilisateur sera décrit par des propriétés démographiques, des préférences, des liens sociaux, etc. La ressource quand à elle sera décrite par des catégories, des propriétés physiques, de qualité, de public visé, etc. Le but de notre recherche est de montrer comment et à quel point ces données pourraient améliorer les systèmes de recommandation. Pour valider notre modèle nous nous sommes basés sur le jeu de données de MovieLens, comportant un ensemble de évaluations effectuées par 943 utilisateurs sur un ensemble de 1682 films. Les informations sémantiques disponibles pour les utilisateurs sont l âge, le métier et la région (Etats-Unis), les films sont décrits par le titre, l année de sortie, les catégories, et l url IMDB «Internet Movie Data Base» qui permettra de récupérer un ensemble d informations supplémentaires. Premièrement, introduire la sémantique pour générer prédictions et recommandations. En essayant d utiliser un maximum de sources d information et en tirant profit de l infrastructure web sémantique pour définir les informations disponibles à froid. Et en étudiant les différentes stratégies d hybridation et leur applicabilité dans le contexte. La validation est faite par le calcul de métriques permettant de calculer la précision de l algorithme. Pour le démarrage à froid, nous avons calculé la couverture de l algorithme, une couverture de 100% signifie que le problème du démarrage à froid ne subsiste plus. Un autre objectif est de proposer un Framework réutilisable permettant le calcul des similarités sémantiques par configuration et composition de mesures. Deuxièmement, avoir un niveau de performance acceptable. L orientation actuelle pour l amélioration de la performance consiste à séparer les actions en deux, les actions «on-line» actionnées par des actions utilisateur dont la complexité doit être la plus faible, idéalement o(1), et les actions en tache de fond «offline», contenant les traitements lourds qui doivent s exécuter indépendamment des requêtes utilisateurs. Tout en étudiant la possibilité d adapter le modèle en un modèle distribué. 12

20 II. Chapitre II : Etat de l Art Dans ce chapitre, nous présentons l état de l art des pratiques de filtrage collaboratif. Et comme nous essayons de tirer profit de la description sémantique, nous présentons ensuite le web sémantique, la description du profil utilisateur et le calcul des similarités sémantiques. Nous poursuivons par une revue des techniques hybrides permettant d intégrer les systèmes de filtrage collaboratifs à d autres types de systèmes. Et finalement nous présentons d autres aspects liés aux systèmes de filtrage en général. 13

21 Chapitre II : Etat de l Art Filtrage Collaboratif 1. Filtrage Collaboratif Comme nous l'avons vu dans la présentation du contexte [Paragraphe I.1.3], le filtrage collaboratif est le processus qui vise à utiliser les évaluations qu'effectuent les utilisateurs pour pouvoir trouver des utilisateurs similaires ces similarités seront utilisées pour calculer la prédiction d'une évaluation. Dans ce qui suit nous faisons la revue des méthodes utilisées pour le filtrage collaboratif Classification des Algorithmes L exploitation des données disponibles dans un système de filtrage peut se faire de plusieurs manières. Dans [Breese 98], ces méthodes sont classées en deux familles principales : les algorithmes basés mémoire est les algorithmes basés modèle [Berrut 03] [Lumineau 03]. Les méthodes basées mémoire, consistent à utiliser la totalité des informations disponibles pour générer les prédictions. La complexité du traitement dans cette méthode augmente avec l augmentation du nombre d utilisateurs et de ressources. Le deuxième type d approche consiste à élaborer des modèles sur lesquels la prédiction va se baser. La complexité est grandement réduite, mais l évolution de l apprentissage et de la qualité de l algorithme est plus lente. Les approches hybrides viennent combiner efficacement les deux approches pour limiter les inconvénients Algorithmes basés mémoire Dans ce type d algorithme, on utilise l ensemble des données pour générer une prédiction. La prédiction de l évaluation d une ressource par un utilisateur sera calculée par la formule : est l évaluation moyenne de l utilisateur a est un coefficient de corrélation entre l utilisateur actif a et l utilisateur i Coefficient de Pearson, Cosinus entre les vecteurs, les Moindres Carrés, est l évaluation moyenne de l utilisateur i est un coefficient de normalisation, tel que la somme des poids est égal à 1. est le nombre d utilisateurs considérés pour le calcul Ces algorithmes ont l avantage d être simples à mettre en œuvre, les prédictions sont de bonne qualité, car sont recalculées à chaque fois, mais le problème est la forte complexité combinatoire o(m 2 n) avec (n : utilisateurs, m : ressources), qui les empêche d être utilisées dans des environnements de production. 14

22 Chapitre II : Etat de l Art Filtrage Collaboratif Corrélation de Pearson Le coefficient de Pearson a été utilisé dans le contexte des systèmes de filtrage collaboratif pour la première fois dans les recherches du GroupLens Research Project [Resnick 94]. Le coefficient est calculé avec la formule suivante : est l évaluation de l utilisateur a pour la ressource j. est l évaluation moyenne de l utilisateur a Cosinus des vecteurs Le cosinus entre les vecteurs est une autre méthode pour calculer le poids de l utilisateur i par rapport à l utilisateur actif a. Le coefficient est calculé avec la formule suivante : est l évaluation de l utilisateur a pour la ressource j. Les termes du dénominateur servent à normaliser les évaluations pour que les utilisateurs qui ont évalué plus d items ne soient pas favorisés La distance de Spearman (utilisateurs) La distance de Spearman 1 est équivalente à la distance de Pearson, mais au lieu d utiliser les évaluations comme critère pour la distance elle utilise le classement des préférences. Si un utilisateur a évalué 20 ressources, la ressource préférée a une note de 20 et la ressource la moins préférée une note de 1. Une distance de Pearson est calculée sur ces notes. La distance de Spearman n est pas très significative et ne doit être utilisée que dans les cas ou l échantillon de données ne peut être normalisé

23 Chapitre II : Etat de l Art Filtrage Collaboratif 1.3. Algorithmes basés modèle Le deuxième type d algorithmes, est comme le nom l indique basés sur des modèles, supposés réduire la complexité. Ces modèles peuvent être probabilistes et utiliser l espérance de l évaluation pour calculer la prédiction. Comme ils peuvent être basés sur des classificateurs permettant de créer des classes pour réduire la complexité Clustering L'idée du modèle cluster est de regrouper (en clusters) les utilisateurs ayant les mêmes goûts, et de regrouper (en clusters) les ressources portant sur les mêmes sujets, ou qui ont tendance à plaire aux mêmes personnes. Ainsi, pour prédire la note qu'un utilisateur donnera à une ressource, on pourra utiliser les avis des utilisateurs qui appartiennent à son groupe. En d'autres termes, on veut associer une classe (ou plusieurs) à chacun des utilisateurs, ainsi qu'à chacune des ressources. Ces classes étant a priori inconnues, elles doivent être dérivées du processus d'estimation. Les systèmes de clustering se différencient par la fonction objective choisie pour évaluer la qualité des Clusters, et la stratégie de contrôle pour parcourir l'espace des clusters possibles. Mais tous suivent le principe général traditionnel en clustering qui consiste à maximiser la similarité des observations à l'intérieur du cluster, et minimiser la similarité des observations entre clusters, pour arriver à une partition de la base aussi pertinente que possible. Le clustering peut donc améliorer la qualité des recommandations, à condition d éviter les groupes trop généralistes, surtout pour la dimension ressource. K-Moyennes C est l algorithme le plus connu et le plus utilisé, car étant simple à mettre en œuvre. L algorithme des K-moyennes se décompose en 4 étapes : Choisir aléatoirement K objets pour former les K clusters initiaux. Ces objets représentent entre autres les centres des clusters, ne contenant qu un seul élément. Réaffecter les objets à un cluster. Chaque objet x est assigné à la classe dont il est le plus proche du centre, selon une mesure de distance : Pearson, Euclidienne, Recalculer les nouveaux centres des K clusters. Répéter les étapes 2 et 3 jusqu à ce que plus aucune réaffectation ne soit possible. Figure II-1 : Algorithme des K-moyennes L algorithme est certes simple à mettre en œuvre mais présente certains inconvénients, lié à la criticité du choix des clusters initiaux, pouvant influencer sur la qualité de la classification. 16

24 Chapitre II : Etat de l Art Filtrage Collaboratif Clustering répété Décrit dans [Ungar 98], le clustering répété a pour idée de regrouper en classe les utilisateurs et les ressources de façon séparée. Dans une première phase les utilisateurs sont regroupés en fonction des ressources et les ressources regroupées en fonction des utilisateurs. Dans une deuxième phase les utilisateurs sont regroupés en fonction des clusters de ressources et les ressources en fonction des clusters de ressources. On répète la procédure jusqu à l obtention de clusters satisfaisants. Clustering hiérarchisé Décrit dans [Fisher 96], le clustering hiérarchisé se base sur la construction d une hiérarchie de clusters. En effet en commence par décomposer les utilisateurs ou bien les ressources en 2 clusters, en utilisant l algorithme des plus proches voisins pour maximiser les similarités à l intérieur du cluster et les minimiser à l extérieur du cluster. En répète l opération pour les clusters obtenus. On a ainsi un arbre de clusters, les feuilles de cet arbre représentent les clusters qui seront utilisés dans la prédiction de l évaluation. Figure II-2 : Algorithme de clustering hiérarchisé Partitionnement de graphes hmetis, kmetis Décrit dans [Oconnor 99], les algorithmes de partition de graphes sont d autres alternatives utilisées pour la classification, la propriété principale de ces algorithmes est qu ils permettent de construire des clusters de tailles égales, ce qui permet d augmenter le niveau de couverture de l algorithme. 17

25 Chapitre II : Etat de l Art Filtrage Collaboratif Cartes de communautés en 2D Cette approche est utilisée dans le projet COCoFil [AnTe 06]. L algorithme est composé de deux étapes, la première étape vise à réduire l espace des utilisateurs d un espace N dimensionnel vers un espace 2 D pour avoir une meilleure perception des communautés. Figure II-3 : Algorithme des fourmis artificielles Une fois la dimension réduite, on perçoit plus facilement les communautés. On peut alors appliquer l algorithme des K-Moyennes pour créer les Clusters. L avantage de l algorithme n est pas uniquement la perception des clusters mais aussi sa précision. En effet, les recherches de «Handl et al.» ont montré que l algorithme des fourmilles artificielles pouvait être plus performant que l algorithme des K-Moyennes, de la classification hiérarchique ascendante et des cartes de Kohonen Réseaux de Bayes Il est possible d utiliser les réseaux de Bayes et les arbres de décision dans le contexte du filtrage collaboratif [Candillier 01]. En effet, un réseau de Bayes [Heckerman 99] est un graphe acyclique dirigé qui représente une distribution de probabilités de dépendance entre un ensemble d entités (utilisateurs ou ressources). Chaque nœud dans le graphe représente une entité, et chaque arc une dépendance directe entre variables. Ainsi, chaque variable est indépendante de ses non descendants dans le graphe, étant donné l'état de ses parents. Figure II-4 : Réseaux de Bayes Si on dispose d'un ensemble d'apprentissage, l'idée pour l'algorithme d'apprentissage est alors d'effectuer une recherche parmi les différentes structures de modèle possible, en termes de dépendance, pour que dans le réseau résultant, chaque ressource puisse avoir un ensemble de ressources parentes qui soient les meilleurs prédicateurs de ses votes. 18

26 Chapitre II : Etat de l Art Filtrage Collaboratif Une idée est alors d'associer un réseau de Bayes à chaque ressource de la base. À chaque feuille de l'arbre est associée une probabilité d'attribuer une note à la ressource, étant donné l'état des parents identifiés. Pour prédire l'estimation de note d'un utilisateur sur une ressource, on se déplace alors dans le réseau de Bayes correspondant, selon les notes que l'utilisateur considéré a donné aux articles parents présents dans le réseau, et on attribue, pour l'article considéré, la note la plus probable Algorithmes hybrides Approche graphique : Horting Cette approche, décrite dans [Aggrawal 99], repose sur la construction d un graphe orienté, ou les utilisateurs sont représentés par les nœuds et l influence entre les utilisateurs par les arcs. Cette notion d influence est caractérisée par deux contraintes : La première étant le Horting : nombre d évaluations communes. Et la deuxième étant la Prédictibilité qui correspond au degré de similarité entre utilisateurs en se basant sur la distance de Manhattan qui les séparent. Cette distance est calculée avec la formule suivante : : est l évaluation normalisée [-1, 1] de x pour la ressource i. : est l évaluation normalisée [-1, 1] de y pour la ressource i. Le principe général de cette approche est que la prédiction peut être calculée à partir d un certain nombre d arcs qui satisfont les conditions : Horting > Seuil1, Prédictibilité < Seuil2 Ceci revient à considérer la transitivité dans la relation entre utilisateurs. Si un utilisateur x est similaire à y, est l utilisateur y est similaire à z, alors la probabilité pour que x et y soient similaires est très grande Diagnostique de personnalité Cette méthode décrite dans [Pennock 00] introduit la notion de personnalité et la notion que l évaluation peut être biaisée par un facteur externe tel l humeur de l utilisateur. La personnalité de l utilisateur est décrite par un vecteur d évaluations dites vraies qui ne sont pas accessibles au système de filtrage collaboratif. Pour pouvoir faire une prédiction il faut trouver à partir des évaluations de l utilisateur le type personnalité auquel il appartient. Cette approche peut s interpréter de la manière suivante. Les évaluations d un utilisateur sont considérées comme des symptômes et le type de personnalité comme une maladie. Ainsi, pour déterminer la personnalité, il suffit de déterminer quel type de personnalité est la cause la plus probable des évaluations. Une fois la personnalité de l utilisateur inférée on peut calculer les prédictions. 19

27 Chapitre II : Etat de l Art Filtrage Collaboratif 1.5. Filtrage orienté Utilisateur vs. Ressource Les premières approches dans le filtrage collaboratif étaient centrées sur l utilisateur, on cherche un ensemble d utilisateurs similaires et on génère la recommandation à partir des évaluations de cette communauté. Un deuxième type d approche, utilisé d abord par le site Amazon 2 et dans les recherches de [Karypis 00] et [Sarwar 01], oriente le système sur la ressource. L inverse est appliqué, à partir d un certain nombre de produits similaires on effectue une recommandation. Dans les systèmes ou le nombre d utilisateurs est plus important que le nombre de ressources, il est préférable de baser la classification sur la ressource pour améliorer la qualité de la prédiction. Les expérimentations de [Karypis 00] et [Sarwar 01] ont montré que ce type d approche pouvait améliorer les performances de 28 fois et la qualité de 27%. Les travaux de [Wang 06] montrent que la fusion des deux, similarités utilisateurs et des similarités ressources permet d améliorer la précision de la prédiction, en limitant l effet des matrices creuses. 2 Amazon, 20

28 Chapitre II : Etat de l Art Web Sémantique 2. Web Sémantique L objectif de la recherche étant d améliorer et de booster la performance des systèmes collaboratifs en introduisant l aspect sémantique, nous introduisons dans ce chapitre les différentes notions liées au web sémantique et à la représentation de la similarité entre entités de l ontologie. La représentation de l information sémantique peut cependant être faite de plusieurs manières alternatives, dans des bases de données relationnelles ou autres, le choix c est porté sur le web sémantique car nous pensons que c est l alternative qui offre le plus de possibilités et d outils. Technologiquement, l approche est basée sur le web sémantique et toutes les technologies connexes. Ce choix est principalement justifié par le besoin de représenter un domaine de connaissance en l occurrence pour pouvoir calculer les similarités sémantiques entre ressources et entre utilisateurs. En plus de cela, les technologies du web sémantique sont des normes définies par le w3c et donnent donc la possibilité d importer des infos sémantiques Web sémantique Présentation La notion de métadonnées utilisables par les machines fut proposée assez tôt dans l'histoire du Web, dès 1994 par son inventeur Tim Berners-Lee, lors de la conférence WWW 94 où fut annoncée la création du W3C. Ces métadonnées formelles sont alors présentées comme une nécessaire représentation utilisable par les machines de l'information contenue dans les documents, par exemple le fait qu'une personne X est employée par une organisation Y. Le développement de cette idée aboutira à la publication en 1999 de la première version de RDF (Resource Description Framework), langage qui définit un cadre général pour la standardisation des métadonnées des ressources Web. Sur la base de RDF vont ensuite se développer des vocabulaires spécifiques destinés à des applications particulières, comme par exemple FOAF destiné à décrire les relations entre personnes, puis des langages destinés à structurer ces vocabulaires, comme RDFS et le langage d'ontologie OWL, publiés dans leur forme finale en février Le Web sémantique est entièrement fondé sur le Web et ne remet pas en cause ce dernier. Il se base donc sur la fonction basique du Web «classique» : un moyen de publier et consulter des documents. Mais les documents traités par le Web sémantique contiennent non pas des textes en langage naturel (français, espagnol, chinois, etc.) mais des informations formalisées pour être traitées automatiquement. [Wikipédia] Vision La vision du web sémantique est une vision globale, large. Les visions peuvent être perçues sous différents angles, selon l interaction faite avec l infrastructure [Passin 04]. 21

29 Chapitre II : Etat de l Art Web Sémantique 1. Rendre les données compréhensibles par des machines : La vision est d avoir des ressources web pouvant être exploitées par les machines, non pour l affichage seulement. 2. Pouvoir utiliser des agents intelligents : Cette vision étend la première en y ajoutant la notion d agents intelligents, ceux-ci pourront des raisonnements logiques sur les ressources. 3. Vision de base de données partagée : C est une vision très intéressante car elle étend la vision du web classique. Le web sémantique vise à reproduire sur les connaissances ce que le web à fait pour les données (documents destinés à la lecture). 4. Vision d infrastructure automatisée : Le web actuel ne permet pas de faire grand-chose d automatisé, les seules choses que l on peut faire sont : gérer des liens, indexer des pages Le web sémantique n étant pas une application mais une infrastructure, vise à fournir des briques qui permettront de faire plus de choses automatiquement. 5. Annotations améliorées : Avec le web sémantique, il sera possible d avoir des annotations exprimées dans un langage compréhensible par les machines. 6. Améliorer la recherche d informations : Permet d avoir des recherches plus sophistiquées pas seulement par des mots clés mais par la navigation et le contenu. 7. Services web : Par cette vision, le web sémantique permettra de partager des services et de pouvoir rechercher ces services. Fondations Pour pouvoir réaliser les visions du web sémantique, il faut avoir une base, des fondations sur lesquelles construire. Heureusement certaines bases existent déjà, la base la plus importante est évidement le Web il offre l infrastructure permettant de partager l information. D autres fondations existent aussi comme les services web et les agents intelligents. Les ressources Représentent les différents objets et notions pouvant être décrits sur le web, ils constituent évidement la base, pouvant être des ressources, documents, services, objets physiques, Adressage avec les URI Les URI, «Unified Resource Identifier», permettent de localiser n importe quelle entité disponible sur le web, que ce soit pour le http, ftp, Ils permettent de définir un objet a l aide d un identifiant unique sur toute l étendue du web. Métadonnées Un moyen pour définir et décrire les ressources et les entités avec un ensemble de propriétés. Utilisées principalement pour la description des ressources bibliographiques, des normes existent telles que : MARC, ISBDS, EAD, LOM, MPEG-7 et plus récemment Dublin Core. Ces méta données sont des métadonnées métier, i.e. quelles concernes un domaine précis. A l inverse des métadonnées techniques et administratives qui elles représentent des aspects transversaux : taille du fichier, attributs MS Office, tags Id3 des les fichiers audio (techniques) et PICS, P3P pour le contrôle d accès et la confidentialité (administratives). Logique et agents intelligents La possibilité d effectuer des raisonnements logiques par les machines car la structuration de l information permet de le faire. 22

30 Chapitre II : Etat de l Art Web Sémantique Respect des Standards Les spécifications et les normes sont aussi une fondation non négligeable, car la compréhension partagée passe d abord par des standards en terme technologiques et fonctionnels. La majorité des standards concernant le web sémantique sont définis par le W3C, organisme de standardisation des normes du web en général Technologies sémantiques Technologies Le schéma ci-dessous représente les différentes briques technologiques sur lesquelles repose le web sémantique. Au dessus des briques du web (URI, Unicode et XML, ) viennent se poser les briques du web sémantique, en l occurrence RDF, OWL, SparQL, Figure II-5 : Pièces technologiques du web sémantique Description des ressources (RDF/RDFS) RDF est la première brique technologique pour le web sémantique. Il se base sur un modèle simple en triplets «ressource propriété valeur» permettant de décrire n importe quelle entité. Pouvant être retranscrit de différentes manières, le format XML est souvent utilisé, faisant oublier qu il n est pas la seule notation possible. RDFS est une extension du RDF permettant de spécifier des contraintes au schéma RDF, les classes, l héritage (sous classes), l applicabilité des propriétés, etc. un peu comme pour le modèle objet. Accès aux données, requêtes (SparQL) C est la norme permettant d effectuer des requêtes sur une base de données RDF. Le langage est simple et ressemble à SQL, il correspond au modèle en triplets de RDF. Les requêtes possibles sont des : SELECT, CONSTRUCT, DESCRIBE, ASK. SparQL défini aussi un protocole pour effectuer des requêtes distantes. Ce protocole est défini par le format de la requête et de la réponse ainsi que le transport utilisé : HTTP ou SOAP. 23

31 Chapitre II : Etat de l Art Web Sémantique Ontologies (OWL) C est le langage défini par le W3C pour représenter les ontologies, il est le successeur des langages DAML et OIL. Il est dérivé en 3 catégories : OWL lite (minimal : classification, cardinalités, etc.), OWL DL (Logique descriptive) et OWL Full (Complet). Règles La logique est caractérisée par les règles d inférences. Certaines règles sont défini dans RDFS ou OWL (l héritage, les propriétés transitives, etc.) d autres règles peuvent cependant être définies d une manière externe. Par exemple des règles métier du genre, «si la personne X abonnée depuis plus d un an alors la personne X bénéficie de la promotion P». Les langages pour les règles sont en plein dans le processus de normalisation, et seulement quelques Framework utilisent ces normes. RIF : Rule Interchange Format RuleML : Rule Markup Language RuleML FOAF : Règles pour le schéma FOAF SWRL : Semantic Web Rules Language (OWL et RuleML) SWRL FOL : Logique du premier ordre pour SWRL Services Web Sémantiques (SWSF) Définit un Framework pour les services web sémantiques. Il est composé de deux parties, le langage SWSL et l ontologie SWSO et permet ainsi de normaliser l écriture de services web sémantiques Ontologies Les ontologies fournissent la base sémantique du web sémantique, toute application sémantique sera basée sur une ou un ensemble d ontologies. Le choix d utiliser des ontologies existantes ou d en créer de nouvelles reste un choix qu il faut étudier en profondeur. D une part, parce que la construction d une ontologie est un processus complexe et coûteux. D une autre part, la réutilisation d une ontologie peut être risquée si celle-ci n est pas approuvée par la communauté, pas d outils, gestion des versions et planification hasardeuse, etc. Certaines ontologies sont largement adoptées comme : Dublin Core, SKOS, FOAF, vcard, DOAP, RSS, PICS, GEO, WordNet, etc. Dublin Core Le Dublin Core est un schéma de méta données générique pour la description de ressources et d établir des relations avec d autres ressources. Composé de 15 attributs parmi lesquels : titre, créateur, sujet, description, date, type, format, langue, relation, couverture, plus des éléments d affinage pour certains attribut. Les attributs tels que sujet prennent leurs valeurs dans un vocabulaire contrôlé, pour d autres on peut utiliser d autres ontologies telles que vcard pour représenter les personnes. 24

32 Chapitre II : Etat de l Art Web Sémantique SKOS Standard permettant une représentation standard des thésaurus, classifications ou tout autre vocabulaire contrôlé. Etant basé sur RDF il vise à faciliter la publication des vocabulaires structurés pour leur utilisation dans le contexte du web sémantique. Exemples : AGROVOC (Agriculture, pêche, alimentation), GEMET (Environnement UE). SKOS dispose aussi d un module de mapping permettant de mapper les concepts de deux schémas différents. Description utilisateurs Des ontologies existent pour la description d utilisateur et de communautés comme : vcard (VisitCard), FOAF (Friend of a Friend), SIOC (Semantically Interlinked Online Communities), Nous décrivons ces ontologies plus en détails dans le [Paragraphe 3.5] quand nous décrirons le profile utilisateur et sa représentation. Autres ontologies / Librairies La réutilisation d ontologies étant recommandée sans oublier que le choix doit être étudié avec précaution, nous pouvons trouver plusieurs ontologies sur des portails du web. SchemaWeb, catalogue d ontologies RDF-S, OWL pouvant être consulté par services web. DAML Ontology Library, ensemble de schémas écrits en DAML. Protégé Ontology Library, librairie d ontologies maintenue par le projet Protégé Moteur de recherche Swoogle permet de trouver des ontologies, des termes ainsi que des documents concernant le web sémantique. Outils Les outils qui permettent le développement du web sémantique sont très nombreux, néanmoins les principaux outils nécessaires sont : Un éditeur d ontologies, Protégé s impose comme l un des meilleurs éditeurs, développé à l université de Sandford, il est basé sur un mécanisme de plugins, donc extensible. Une API sémantique, en Java les API les plus utilisées sont Jena, Sesame, Corese Une base de données RDF pour l enregistrement des Triplets RDF. Joseki est utilisé par Jena, Kowari, Oracle10g RDF sont d autres exemples d implémentation. Une interface SparQL vers la base de données RDF, ARQ implémente l interface et est utilisé par Jena. D2R server est une interface pour Joseki, etc. Des raisonneurs et des moteurs de règles : Pellet, KAON2, Bossam, etc Pourquoi le web sémantique Il est clair, en présentant le web sémantique et les technologies associées, que la vision du web sémantique est avantageuse par rapport à d autres approches, car elle offre un mécanisme qui permet l échange ouvert d informations, dont la compréhension est équivalente entre systèmes car tous s entendent sur l utilisation d ontologies bien définies. En plus de la possibilité d effectuer des raisonnements et la définition de règles. 25

33 Chapitre II : Etat de l Art Profil Utilisateur 3. Profil Utilisateur Un profil utilisateur est une source de données qui contient un ensemble d informations concernant divers aspects de l utilisateur pouvant être utilisées pour adapter et/ou dicter le comportement du système. Dans le contexte plus précis des systèmes de filtrage et de recommandation, l utilisateur est un élément principal. Il est au même temps consommateur et contributeur et la qualité du résultat dépend de la quantité et de la qualité d informations disponibles pour cet utilisateur. Le profil est un élément essentiel, que se soit pour les systèmes basés contenu où l utilisateur doit définir ses domaines d intérêt, ou bien pour les systèmes collaboratifs ou on utilise le profil quand l utilisateur n a effectué aucune évaluation. La description initiale du profil de l utilisateur est donc une étape cruciale pour un système de filtrage, sans laquelle on ne pourra faire de recommandation, et l utilisateur abandonnera tout simplement le système Caractéristiques Les caractéristiques d un profil utilisateur peuvent être décomposées en deux groupes, comme décrit dans [Brusilovsky 01], des caractéristiques explicites qui sont en général objectifs, et d autres implicites plus subjectifs et difficiles a capter mais contenant plus d information sur les réels besoins de l utilisateur Caractéristiques Explicites Ces traits sont représentés par : les acquis de l utilisateur, ses connaissances, ses objectifs, ses préférences. Auxquels on peut ajouter les critères de choix et de centre d intérêt. Connaissances Les connaissances possédées par l utilisateur est une caractéristique qui permet de recommander à l utilisateur les ressources qui pourrait correspondre à son niveau de connaissances. Objectifs Les buts escomptés d un système de recommandations dans un contexte particulier, pourquoi l utilisateur veut utiliser le système, quel est son but ultime. Ce genre d informations est difficile à acquérir, une manière d y parvenir est de définir un ensemble d objectifs qu il pourrait avoir pour un système bien précis et poser des questions qui permettrait de le classifier dans l un des objectifs. Références/background et Expérience Références de l utilisateur : métier, professions, domaines de recherche, L expérience dénote le niveau de maitrise d une certaine connaissance, ceci doit pouvoir permettre l adaptation du résultat au niveau d expérience de l utilisateur. Préférences L utilisateur peut avoir des préférences d ordre global, comme la langue, le type et le format de l information, la couverture temporelle, les auteurs, etc. 26

34 Chapitre II : Etat de l Art Profil Utilisateur Choix et/ou Centres d intérêt L utilisateur peut décrire un certain nombre de centres d intérêt. Sur la base de mots clés, de tags, de catégories choisies a partir d un référentiel, etc. Traits de caractère Les traits de caractère peuvent être un critère important pour les recommandations. Un utilisateur pouvant être introverti, extraverti, timide, exubérant, etc. Il devrait recevoir plusieurs types de ressources correspondant à son trait de caractère Caractéristiques implicites Ce sont les caractéristiques qui sont induites à partir de l activité de navigation, d évaluation, marquage avec des tags, réponse à des questions, etc. L avantage d utiliser des techniques implicites se fait sentir car l utilisateur est déchargé de certaines actions, telles que la définition de ces préférences, de son caractère, etc Modélisation d un profil La modélisation d un profil utilisateur se traduit en l énumération des informations nécessaires à la description de cet utilisateur. L objectif de la modélisation est la mise en place d une structure qui contiendra les informations liées aux caractéristiques de l utilisateur [Paragraphe 3.1]. Différents travaux ont abordé la structuration et la modélisation du profil utilisateur, le W3C à défini le P3P pour la sécurisation des profils, 3 classes sont définies : attributs démographiques (identité et infos personnelles), attributs professionnels (employeur, adresse, type) et des attributs de comportement (trace de navigation). [Amato 99] propose 5 catégories pour les utilisateurs d une bibliothèque digitale : données personnelles (identité), données collectées (contenu, structure et provenance des documents), données de livraison (temps et moyen de livraison), données de comportement (interaction de l utilisateur avec le système), données de sécurité (conditions d accès) Profil utilisateur Les travaux de [Kostadinov 04] et [Bouzeghoub 04] considèrent que les approches citées précédemment sont insuffisantes pour couvrir le contexte de la personnalisation dans les systèmes de filtrage et de recommandation. Ils distinguent 8 dimensions, 7 auxquelles on peut ajouter une huitième contenant toutes les informations inclassables. Données personnelles Centres d intérêt Ontologie du domaine Qualité attendue des résultats délivrés Customisation Sécurité et confidentialité Retour de préférences (feedback) Informations diverses La dimension Données personnelles est caractérisée par : l identité de la personne, l âge, le sexe, la profession, les langues parlées, 27

35 Chapitre II : Etat de l Art Profil Utilisateur Les centres d intérêt sont en général décrits sous la forme de mots clés. L ontologie du domaine permet de rendre explicite la sémantique de certains termes employés comme centres d intérêt. La qualité attendue exprime le niveau de qualité, l origine, la précision, la fraicheur et la crédibilité de l information. La customisation concerne l adaptation du résultat selon les commodités d utilisation, l esthétique, etc. On y trouve des données sur l environnement de l utilisateur comme : La localisation géographique de l utilisateur Des paramètres temporels le matériel et logiciels utilisés pour accéder à l information. Performance, nombre de résultats, etc. Ces données ont la propriété qui leur permet d être trouvées automatiquement, exemple le User Agent qui permet de définir le logiciel/matériel utilisé, l adresse IP permet de trouver le pays voire la localisation, un système de géo localisation peut déterminer votre emplacement exacte, etc. La sécurité et confidentialité concerne la définition des droits d accès au système et l expression de la volonté de cacher certaines actions faites par l utilisateur. Le retour de préférences désigne le feedback de l utilisateur concernant les ressources, qu il soit explicite ou bien implicite en analysant le comportement de l utilisateur sur le système. Figure II-6 : Modélisation d'un profil utilisateur Identification de l utilisateur L identité de l utilisateur est un aspect important. Aujourd hui sur le web chaque utilisateur s inscrit à presque chaque site que l on visite, on se retrouve avec une multitude de comptes, certains utilisant un identifiant, une adresse mail, etc. sans parler des mots de passe que l on oublie. Ce besoin d identification de l utilisateur ce fait ressentir et des projets comme OpenID visent à créer une identité unique (voire même l authentification unique). 28

36 Chapitre II : Etat de l Art Profil Utilisateur Dans le contexte d un système de recommandation, l identification de l utilisateur ouvre la possibilité de bénéficier de données supplémentaires à partir d autres sites où l utilisateur est inscrit, et d étoffer son profil d informations supplémentaires : Adresse , identifiant ; Identité OpenID ; etc. Identifier un utilisateur par son numéro de téléphone (par exemple) reste fragile, car celui-ci risque de perdre les informations de son profil s il change de numéro. Utiliser un numéro de téléphone pour l authentification reste recommandé pour un opérateur mais il faut y associer un mécanisme d identification par adresse étant plus stable dans le temps qu un numéro Aspects sociaux Un aspect important non présenté par les modélisations présentées ci-dessus est l aspect social. La dimension relationnelle consiste à définir les liens entre utilisateurs : Liens entre utilisateurs (familiaux, professionnels, amitié, etc.) ; Appartenance à des groupes Dans cette dimension on doit inciter l utilisateur à définir ces relations au fur et à mesure, mais on ne peut lui demander de lister toutes lors de l inscription. On peut aussi lui demander d introduire ces comptes de messagerie pour que le système puisse automatiquement extraire la liste de ces contacts. Relation entre utilisateurs Les types de relation doivent correspondre au cas d utilisation, un système pour les offres d emploi aurait des relations hiérarchiques, des relations de type compétences, Les relations sont unidirectionnelles dans la plupart des cas. Formation des groupes et mise en relation directe La mise en relation directe peut aussi s avérer très utile dans certains contextes. Prenons l exemple de la communauté des chercheurs. Avoir des recommandations de documents c est bien, mais avoir la possibilité de trouver les personnes qui travaillent sur les mêmes recherches est encore meilleur [Agosto 05]. Recommandations de groupe Les recommandations de groupe sont un aspect à investiguer, en effet dans un système de recommandation d événements culturels, on peut faire une recommandation pour un groupe de personnes donné (des amis) car c est généralement en groupe qu on se rend à de tels évènements. Réputation Il est possible d améliorer la qualité de la prédiction en y ajoutant un coefficient de confiance. La prédiction de la valeur de l évaluation n est plus égale à la moyenne des évaluations des personnes qui ont le même profil, mais cette moyenne sera pondérée par les niveaux de confiance associés à ces utilisateurs [Goldbeck 05]. 29

37 Chapitre II : Etat de l Art Profil Utilisateur Relations transitives Il faut aussi gérer les relations transitives, «l ami de mon ami est mon ami», l utilisation de 3 niveaux semble correcte. Pour des aspects de performance, on doit limiter le nombre de niveaux pour le calcul des relations implicites. Relations négatives Les gens ont des affinités avec certaines personnes mais pas d autres, voire même des personnes que l on considère ennemies. Ces relations négatives sont une autre source d informations utiles pour le système, mais il n est pas évident de demander à une personne de déclarer des ennemis, la aussi ces information peuvent être privées et ne pas apparaître aux autres utilisateurs Représentation du profil Plusieurs modèles peuvent être utilisés. En effet on peut utiliser un modèle relationnel simple ou l utilisateur est décrit par un ensemble d attributs. On peut utiliser un modèle vectoriel ou les coordonnées d un vecteur représentent le poids lié à un terme [Zemirli 05]. Un modèle plus élaboré, et c est celui que nous avons utilisé, est le modèle sémantique, où un utilisateur est décrit par un ensemble d attributs dont les valeurs appartiennent à l ensemble des termes d une ontologie Acquisition du profil Il y a plusieurs façons d'obtenir les caractéristiques d un profil utilisateur en fonction du degré d'autonomie du système, de ses capacités d'observation et d'adaptation. Profils statiques décrits par des experts : nécessite de dresser une liste des profils et de les faire décrire par des experts. Cette approche est statique, donc une fois que le système à démarré, il est difficile de mettre à jour les profils utilisateurs. Profils réflexifs : L'utilisateur doit remplir des formulaires pour configurer son propre profil. Cette approche permet plus de précision et d'adaptation. Profils corrigés dynamiquement : Un système de modélisation observe l activité de l'utilisateur et apprend le profil de l'utilisateur à partir de ses actions. L agrégation de données à partir d autres sources permet de disposer de plus d information dont la qualité peut être meilleure et d avoir ainsi un profil plus étoffé. Un opérateur de téléphonie mobile peut agréger les données du contrat, les relations par induction à partir de la liste des appels les plus fréquents, etc. La problématique qui existe est liée à la vie privée des utilisateurs, ceux-ci peuvent vouloir garder leur anonymat et les informations ne pourront être exposées à d autres utilisateurs ou à d autres systèmes. Les questions à se poser sont : Si nous avons le droit d utiliser des informations concernant un utilisateur? Si nous avons le droit d exposer les informations concernant un utilisateur? Le choix revient à l utilisateur, mais il faut insister dur le faut qu il a grand intérêt que les informations le concernant soient publiques, car celles-ci permettront de définir le niveau de confiance qui lui est associé, par les techniques de sécurité et de réputation. 30

38 Chapitre II : Etat de l Art Profil Utilisateur 3.5. Le profil utilisateur dans le web sémantique Le web d aujourd hui ce concentre de plus en plus sur l utilisateur et plusieurs projets et standards viennent prendre part au web 2.0. Des ontologies RDF (comme FOAF, vcard, etc.), des standards XML (comme APML, etc.), des extensions de HTML (les microformats, etc.) Tous ces standards sont là pour avoir un web plus ouvert et plus structuré, pour pouvoir partager le plus grand nombre d information sur l utilisateur, dans l objectif d améliorer la qualité des informations transmises à celui-ci Formats VCard VCard 3 (VisitCard) est un format ouvert pour l échange des données personnelles, il est utilisé par les logiciels de carnet d adresses (Outlook, Thunderbird, ) ainsi que par les appareils mobiles et les logiciels de messagerie instantanée (Jabber). Il est possible de décrire les données vcard dans un format simple utilisé par les outils cités ci-dessus, ou bien au format RDF ou XML [http://www.w3.org/tr/vcard-rdf] pour utilisation dans un système plus global. Avec vcard, il est possible de représenter des informations personnelles (nom, prénom, surnom, date de naissance, titre, rôle, organisation, adresse, , téléphone, ), des données binaires (photo, son, logo, ), ainsi que des liens vers d autres entrées vcard via la propriété (agent). <rdf:rdf xmlns:rdf=" /22-rdf-syntax-ns#" xmlns:vcard=" /vcard-rdf/3.0#"> <rdf:description rdf:about = "http://qqqfoo.com/staff/corky" > <vcard:fn>corky Crystal</vCard:FN> <vcard:n rdf:parsetype="resource"> <vcard:family>crystal</vcard:family> <vcard:prefix>dr</vcard:prefix> </vcard:n> <vcard:bday> </vcard:bday> <vcard:title>computer Officer Class 3</vCard:TITLE> <vcard:role>programmer</vcard:role> <vcard:tel rdf:parsetype="resource"> <rdf:value> </rdf:value> <rdf:type rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#work"/> <rdf:type rdf:resource="http://www.w3.org/2001/vcard-rdf/30#voice"/> </vcard:tel> </rdf:description> </rdf:rdf> Figure II-7 : Exemple de description vcard FOAF FOAF 4 (Friend Of A Friend) est une ontologie permettant de décrire les personnes, les liens entre eux, et les choses qu'ils créent et font. Elle est composée de plusieurs modules, des attributs basics (nom, prénom, ,...), des informations personnelles (connaissances, blogs, intérêts,...), comptes (MSN, ICQ, Yahoo,...), Appartenance à des groups (groups, organisations, projets), documents (documents, images,...) [Mika 05]. 3 ftp://ftp.rfc-editor.org/in-notes/rfc2426.txt 4 31

39 Chapitre II : Etat de l Art Profil Utilisateur Une des extensions de FOAF est FOAF/Trust qui est un module permettant de définir la confiance d une relation [Goldbeck 05] [Dolog 03]. La confiance dans une relation permet de définir les utilisateurs pouvant influencer dans le cadre d un système de recommandation. Une personne peut donc être identifiée par son profil FOAF, celui-ci étant unique sur le web. On peut donc apercevoir la possibilité d avoir une authentification unique avec OpenID et un profil unique avec FOAF dans un futur proche. SIOC L ontologie SIOC 5 (Semantically Interlinked Online Communities) a pour objectif de rationaliser les communautés en ligne, Utilisateurs, Groupes, Forums, Posts, Mailing-Lists et thèmes associé. Cette ontologie s intègre donc naturellement avec FOAF, ou une entité foaf:person peut avoir plusieurs comptes sioc:user. SKOS peut aussi être utilisée pour définir les thèmes des forums. APML APML 6, Attention Profiling Markup Language, est un standard émergeant permettant de modéliser les préférences d un utilisateur. L idée est de regrouper toute forme de données concernant les préférences (attention portée à des thèmes) dans un format portable contenant ces préférences et leurs poids [APML 1]. Le processus global de capture de préférences est composé des étapes suivantes : 1. Analyse du comportement de l utilisateur sur un ensemble de ressources, nommées «Attention Data» 2. Inférence des intérêts de l utilisateur «Interest Cloud» 3. Structuration du profil sous forme XML «APML profile» Figure II-8 : Profiling des intérêts de l utilisateur - Attention Profiling

40 Chapitre II : Etat de l Art Profil Utilisateur En plus de la partie principale qui vise à pondérer les préférences de l utilisateur, La spécification APML défini un certain nombre de concepts : 1. Liste pondérées de préférences allant de -100% à +100%. 2. La source a partir de laquelle les préférences on été inférées. Par exemple : des préférences musicales inférées à partir de last.fm 8, des préférences cinématographiques à partir de Flixter La possibilité de définir plusieurs contextes. En général, l utilisateur sépare le contexte professionnel, du contexte personnel, du contexte familial, Il est donc possible de définir plusieurs contextes avec APML. 4. Il est possible de spécifier si les préférences ont été explicitement déclarées par l utilisateur ou bien implicitement inférées par le système. Les avantages du standard APML résident dans les points suivants : Il permet/facilite le filtrage de l information. En pondérant l attention portée à des thèmes, des auteurs, il est possible de donner des priorités ou de filtrer les données reçues par un utilisateur. Imputabilité des données. Certaines informations inférées automatiquement par le système peuvent être erronées, l utilisateur peut valider l exactitude de ces données. Respect de la vie privée, par la définition du : Qui, Quand, Quoi. Qui peut voir quelles informations, à quel moment? Données partagées. Le partage de données et l agrégation de plusieurs profils APML peut donner lieu à des scenarii du genre : J écoute de la musique sur last.fm. Mon profil APML est transféré vers Amazon. Lorsque je me connecte sur Amazon, le système me propose d acheter la musique que j aime. Control du profil. APML donne la possibilité à l utilisateur de contrôler son profil, pour qu il soit le plus proche de la réalité et pour contrôler l image qu ont les autres personnes de vous. Un exemple de représentation des préférences utilisateur est le nuage de Tags «Tag Cloud» Figure II-9 : Nuage de Tags "Tag Cloud" 10 Ceci est l utilisation la plus simpliste des données de préférences. D autres utilisations sont faites en pratique : la correspondance d utilisateurs par la comparaison de leurs préférences, le filtrage basé contenu par l indexation des contenus et leur comparaison aux préférences, etc

41 Chapitre II : Etat de l Art Profil Utilisateur Microformats Les microformats 11 (hcard, hcalendar, hreview, rel-tag, XFN, ) sont des normes d écriture de fichiers XHtml, pour pouvoir en tirer une signification, en utilisant des valeurs spéciales dans les attributs (class et rel) de XHtml. Ci-dessous un exemple d utilisation de microformats pour l affichage d un numéro de téléphone. Du html classique pour l utilisateur, pouvant être compris par les machines. <span class="tel"> <span class="type">home</span>: <span class="value"> </span> </span> home: Figure II-10 : Code hcard et affichage XHtml La vision des microformats vient se positionner entre le web classique et le web sémantique. En fait le web classique se focalise sur l utilisateur comme consommateur de l information, et le web sémantique sur la machine et l adoption du web sémantique fût un peu difficile, les microformats viennent améliorer le web classique sans le changer carrément. En introduisant des conventions sur l utilisation de propriétés XHtml telles que (class et rel). Donc les microformats sont conçus pour l homme d abord, pour ne pas chambouler tout ce qui a été construit pour le web 1.0, puis pour les machines qui peuvent traiter ces données Portabilité des données (Data Portability) L initiative Data Portabilité 12, DP, et les standards ouverts permettent de partager les données d une manière plus libre entre différents sites pour pouvoir réutiliser les informations personnelles, les listes de contacts, les préférences, Plusieurs standards composent aujourd hui l initiative : OpenID, OAuth, RSS, APML, Yadis, OPML, hcard, XFN, Une telle initiative permet à l utilisateur de reprendre contrôle sur ces propres données, lui permettant de réutiliser ces données et d éviter de créer un nouveau compte pour chaque site, retenir les informations d authentification, créer son profil, créer sa liste de contacts,

42 Chapitre II : Etat de l Art Similarités Sémantiques 4. Similarité Sémantique Après avoir présenté le web sémantique et des technologies associées dans le chapitre précédent, nous revenons à l utilisation du web sémantique dans le contexte des systèmes de recommandation et de filtrage. Pour pouvoir intégrer l aspect sémantique dans un système de recommandation, on doit pouvoir calculer des distances entre les objets d une ontologie pour pourvoir constituer un voisinage ou une communauté (cluster). Quelque soit l étape du processus de filtrage dans laquelle les informations sémantiques sont intégrées, nous avons besoin de trouver des similarités. Par exemple si nous voulons trouver un voisinage pour un utilisateur qui est nouveau au système, il faut pouvoir trouver les utilisateurs qui lui sont similaires sémantiquement : du même âge, pratiquant la même profession, étant de la même région, ayant les mêmes pôles d intérêt, etc. Il est à noter que les concepts et les algorithmes que nous allons présenter ne sont pas uniquement liés aux ontologies, au web sémantiques ou aux technologies associées. Ces pratiques peuvent être adaptées pour être appliquées sur des modèles plus basiques : bases de données relationnelles, modèle objet ou tout autre. Plusieurs méthodes de calcul de similarité sémantique on été décrites dans la littérature. Dans les travaux faits dans [Petrakis 06] on peut trouver 4 grandes catégories. Comptage des arcs entre deux termes (Edge Counting) Approche basée sur le contenu informationnel (Information Content) Méthodes basées sur les fonctionnalités (Feature-Based) Méthodes hybrides Ces méthodes se concentres sur des structures d ontologies hiérarchiques, où la notion de relation est-un, is-a est centrale. En plus de ces types de mesures on peut ajouter les mesures de similarité vectorielles, en effet une ressource est souvent caractérisée par un vecteur de notions. Un utilisateur par un ensemble de préférences, une ressource par un ensemble de catégories, un texte par un ensemble de termes significatifs, etc. On trouve aussi les similarités en chaines de caractères, car certaines descriptions textuelles ne sont pas structurés, l indexation en texte intégral permet de déduire la similarité entre elles. 35

43 Chapitre II : Etat de l Art Similarités Sémantiques 4.1. Comptage des arcs La méthode la plus intuitive pour le calcul de similarité dans une ontologie est le calcul du nombre d arcs entre deux concepts dans la hiérarchie. Cette Méthode est utilisée lorsque l ontologie est sous forme d arborescence. Figure II-11 : Exemple de hiérarchie de termes dans WordNet La similarité entre deux termes est calculée en fonction de la distance qui lie les deux termes dans la hiérarchie (plus proche parent commun) et en fonction de la profondeur des termes dans la hiérarchie. En effet en allant plus profondément dans la hiérarchie on va vers des termes plus spécifiques et la similarité est plus grande que celle qui lie 2 notions très génériques, au contraire, celles-ci sont très opposées. Cette approche est idéale pour les taxonomies du genre WordNet et Mesh ou les termes sont hiérarchisés selon la relation «est un» ou la profondeur de la hiérarchie est grande. Un autre exemple d ontologies où on peut utiliser le comptage d arcs est «Gene Ontology» [Sanfilippo] Rada La distance la plus intuitive est la distance proposée par Rada [Rada 89]. La distance entre deux concepts est représentée par la distance minimale entre les éléments et le parent commun le plus récent. La distance entre Professor et Administrator est égale à la distance entre Professor et Employee plus la distance entre Administrator et Employee, Le concept Employee étant le parent commun le plus récent. La distance est ainsi égale à 3. La distance entre Professor et Student est égale à 4. On remarque que la distance n est pas normalisée pouvant aller de 0 à l infini [0, *[. Il faut une mesure de similarité allant de [0, 1] par exemple. Ou la valeur 1 représenterait une similarité parfaite et 0 aucune similarité entre les concepts. 36

44 Chapitre II : Etat de l Art Similarités Sémantiques Resnik Une première possibilité pour la représentation de la similarité est mentionnée par Resnik [Resnik 99]. La similarité de Resnik est donnée par la formule suivante : Max : représente la plus grande distance entre la racine de l ontologie et les feuilles de l arborescence. Len(Cx, Cy) : la plus petite distance entre deux concepts Cx et Cy Max : est la distance entre Person et Doctorant, elle est égale à 4. Len(Cx, Cy) : correspond à la distance de Rada et est égale à 3. La similarité est donc égale à : (2*4 3) / 2*4 Ce qui donne 0,625. On aura toujours une similarité entre [0, 1] L inconvénient de cette approche est que la similarité entre les termes en haut en bas de la hiérarchie sont égales, par exemple la similarité entre Assistant et Professor est égale à la similarité entre Employee et Student 0,75. Alors que nous devons avoir une similarité plus grande entre Assistant et Professor Wu & Palmer Une autre variante, La similarité conceptuelle, décrite par Wu & Palmer [Wu Palmer 94] introduit la notion de position dans la hiérarchie. Elle est calculée avec la formule suivante : N1, N2 : Les distances entre concepts Cx, Cy respectivement et le premier parent commun. N3 : La distance entre le premier parent commun et la racine de l ontologie. Distance entre Professor et Assistant est égale à Distance entre Employee et Student est égale à Dans le cas ou deux termes sont directement les fils de la racine la similarité est égale à 0, comme pour Person et Animal 37

45 Chapitre II : Etat de l Art Similarités Sémantiques Leacock & Chodorow Leacock & Chodorow [Leacock 98] introduisent une autre formule : Max : La plus grande distance entre la racine de l ontologie et les feuilles de l arborescence Théorie de l information Le problème de la distance dans une ontologie est qu elle dépend sur le caractère subjectif de la construction des ontologies. Pour adresser ce problème, les chercheurs dans le domaine du traitement naturel de la langue proposent de mesurer la similarité entre deux concepts (dans leur cas des termes) dans une ontologie (dans leur cas Wordnet [Miller 93]) en termes de mesure d entropie (Information Theoric entropy measures [Resnik 99] [Lin 98]). Lin [Lin 98] argumente qu une classe (terme) est définie par son usage. Le contenu en information d un terme est égal à : IC(x) = -log P(x). Ou P(x) est la probabilité d apparition du terme x (ou de certains de ces descendants) dans le corpus de référence. Il est possible de calculer le contenu en information directement à partir de WordNet. En modélisant son évaluation sur l expérience de Miller & Charles [Miller 91] qui utilise des sujets humains pour évaluer la similarité entre 30 paires de termes, Resnik montre que les méthodes basées sur la théorie de l information apportent une amélioration significative, une corrélation de 0.79 au lieu d une corrélation de 0.60 pour les méthodes de comptage d arcs classiques Resnik Resnik [Resnik 99] défini la similarité comme étant : CA (Cx, Cy) : est l ensemble des ancêtres communs de Cx et Cy. -log PCz : le contenu en information du terme Z Lin Lin [Lin 98] défini la similarité différemment : : Le contenu en information du parent commun le plus récent. : Le contenu en information du terme X. 38

46 Chapitre II : Etat de l Art Similarités Sémantiques Jiang Conrath Jiang et Conrath [Jiang 98] définissent une autre formule : La similarité est égale au contenu en information de X + le contenu de Y le contenu du parent le plus récent Similarité vectorielle Les termes d une ontologie peuvent être représentés par des vecteurs de valeurs, de mots, d évaluations, etc. Plusieurs métriques de similarité peuvent être utilisées pour le calcul des distances entre vecteurs. Parmi les distances typiques on trouve : Cosinus Jaccard Overlap Dice Euclidienne La distance cosinus mesure la similarité entre deux vecteurs comme étant le cosinus de l angle entre les deux vecteurs. La distance Jaccard mesure le ratio du nombre d attributs communs [Strehl 00]. On remarque que ces distances sont utilisées dans les systèmes collaboratifs pour calculer la distance entre utilisateurs selon les vecteurs d évaluation. Dans un contexte sémantique la similarité vectorielle consiste à calculer la distance entre deux vecteurs définis dans l ontologie. Si on prend l exemple d une ontologie ou des ressources peuvent être assignées à des catégories, la similarité entre ressources peut être substituée à la similarité entre les deux vecteurs contenant les catégories de chaque ressource. 39

47 Chapitre II : Etat de l Art Similarités Sémantiques 4.4. Séquences et chaînes La distance entre séquences / chaînes est calculée avec la distance de Levenshtein [Levenshtein 66] La distance de Levenshtein correspond au nombre de modifications nécessaires pour transformer une séquence / chaîne en une autre. C est le nombre d insertions, suppressions et remplacements nécessaires. On normalise la similarité en divisant par le nombre d actions dans le pire des cas D autres distances sont utilisées dans le cas de chaînes courtes et plus précisément dans le cas de mots, comme la distance de Jaro et Jaro Winkler. Ces distances peuvent être utilisées pour faire correspondre des mots écrits avec des erreurs syntaxiques avec les mots corrects Texte intégral Dans cette approche la similarité est calculée en comparant la différence entre les descriptions textuelles de ces deux termes. Par exemple par le calcul de cooccurrence de termes dans les textes. La précision est améliorée en utilisant WordNet comme outil statistique donnant plus de poids à des termes très spécifiques étant positionnés profondément dans la hiérarchie. L algorithme de similarité textuelle TF-IDF se base sur la description textuelle des concepts d une ontologie. Ces descriptions sont indexées à l aide d un moteur d indexation. Les mots sont réduits à leurs racines (stems) en utilisant un Stemmer. On applique sur les résultats l algorithme standard TF-IDF décrit dans [Baeza 99]. TF-IDF compte la fréquence d occurrence d un terme dans un document par rapport à la fréquence d apparition dans un corpus. Les fréquences sont alors utilisées pour construire un vecteur pondéré de termes décrivant le document. La similarité est donc déduite par le calcule de la similarité vectorielle entre les deux vecteurs de termes (Cosinus, Jaccard, Overlap, Dice, Euclidienne, etc.). L approche est idéale quand l ontologie n est pas très riche et il faut donc recourir aux descriptions des termes pour déduire des similarités Basée Propriétés Les approches basées propriétés utilisent les propriétés d un terme pour calculer la similarité. La catégorie, la date de sortie, les acteurs sont des propriétés permettant de calculer la similarité entre deux films. Cette approche est adaptée aux cas ou la hiérarchie des termes est horizontale (non profonde), c est le cas pour la description des métadonnées pour un ensemble de ressources. 40

48 Chapitre II : Etat de l Art Similarités Sémantiques Tversky Dans la méthode basée propriétés comme décrite dans [Tversky 97] les ressources dont la similarité est calculée sont décrites comme ayant un ensemble de caractéristiques (propriétés). La similarité est calculée à base de ce vecteur de propriétés Arbre pondéré La méthode Weighted Tree Similarity [Boley 04] défini la similarité entre deux termes comme la somme pondérée des similarités entre les valeurs des propriétés, chaque propriété ayant un poids bien défini (ceci d une façon récursive). Les poids peuvent être définis et changés selon le cas d utilisation. Figure II-12 : Similarité dans des arbres pondérés Dans l exemple ci dessus la similarité entre deux cours, est en fonction de la similarité entre le niveau, la description et la configuration avec 3 poids pour les 3 propriétés. D une façon récursive la distance entre 2 niveaux est en fonction de la catégorie d âge et du contexte, etc. Quelques propriétés de l algorithme sont: La similarité entre les feuilles est binaire (1 si égaux, 0 sinon) La similarité est pondérée avec une fonction A(p) entre [0, 1], avec A(p) >= p pour compenser la dégradation de similarité dans les arbres imbriqués (profonds) 4.7. Structures avancées Certaines applications plus avancées peuvent avoir besoin de calculer des similarités sur des structures avancées comme les arbres et les graphes. Arbres: Bottom-up/Top-down Maximum Common Subtree, Tree Edit Distance. Graphes: Conceptual Similarity, Graph Isomorphism, Subgraph Isomorphism, Maximum Common Subgraph Isomorphism, Graph Isomorphism Covering, Shortest Path Similarités hybrides Dans les approches hybrides on utilise plusieurs des approches définies précédemment et ceci pour améliorer la précision quand une approche unique est insuffisante. 41

49 Chapitre II : Etat de l Art Techniques Hybrides 5. Techniques Hybrides Collaboratives/Sémantiques L aspect sémantique peut être introduit de différentes manières, plusieurs approches existent : Certaines approches utilisent la similarité sémantique pour compléter la matrice creuse des évaluations statistiques comme la technique des évaluations implicites [Jin 03] [Ziegler 04] [Melville 02] ; D autres étendent le mécanisme d apprentissage inductif et introduisent les notions sémantiques [Dai 02] [Dai 03] [Jin 02] [Stumme 02] [Wang 06]. En définissant des relations (Relation Mining) sémantiques Inférence d évaluations implicites Les informations sémantiques concernant les contenus peuvent être utilisées pour générer des évaluations implicites, ces évaluations viendront donc compléter la matrice des évaluations explicites. Pseudo-évaluations sémantique Dans un système «basé sur le contenu» pur, la prédiction de l évaluation d un utilisateur X est égale à la moyenne des évaluations des produits similaires. Cela permet de donner une évaluation initiale à la ressource mais cette évaluation reste peu correcte car le nombre de ressources équivalentes évaluées est toujours très faible, pour augmenter le nombre de ces évaluation qui permettront d établir une prédiction plus pertinente, on ajoute les évaluations effectuées par les utilisateurs ayant un profil équivalent [Melville 02]. Les pseudo-évaluations doivent être mises à jour au fur et à mesure de l insertion de nouvelles évaluations, soit à chaque nouvelle évaluation ou après un certain nombre. Une fois les évaluations implicites insérées, la matrice d évaluations deviens moins creuse, on peut y appliquer un algorithme de filtrage collaboratif classique pour pouvoir effectuer les recommandations. Pseudo-évaluations sémantique et collaboratives On peut utiliser le même processus décrit précédemment sauf que pour la prédiction on utilise, en plus de la prédiction sémantique la prédiction de l algorithme collaboratif, ce qui permet de calculer toutes les prédictions à priori. Le processus de la recommandation deviens direct car une prédiction de l évaluation est disponible pour chaque paire utilisateur ressource, ceci si on calcule toute les pseudoévaluations, ce qui n est pas possible en pratique du fait du nombre astronomique de prédictions à calculer en arrière plan. Une approche plus commune et d ajouter les pseudoévaluations les plus probables pour avoir une matrice moins creuse, ceci reviens à implémenter un algorithme de recommandation. 42

50 Chapitre II : Etat de l Art Techniques Hybrides Le temps de réponse dans cette méthode est toujours fixe o(1) ce qui est un avantage énorme pour les systèmes live sur le web. Mais l inconvénient majeur de cette méthode est qu il faut recalculer les prédictions à chaque nouvelle évaluation avec un processus complexe et très coûteux. On ne peut maintenir la matrice des évaluations compète surtout si le nombre d utilisateurs et de ressources est important. Les logiques de similarité, de prédiction et de recommandation sont très liées et rendent l algorithme difficile à maintenir et à étendre Règles d association (Relation Mining) Cette technique se situe entre les techniques de datamining et celle orientées logique et raisonnement. Elle consiste en l utilisation de règles pour effectuer la prédiction et la recommandation. Ces règles pouvant être déclarées explicitement ou bien déduites à partir de l ensemble des évaluations si elles présentent un niveau de soutien et de fiabilité importants. Si en prends l exemple de l achat du pain qui implique l achat du lait (association) : = é= ( h ) ( h ) Nombre (acheteurs pain et lait) Nombre (acheteurs pain) La méthode FARAMS introduit un nouveau concept qui associe les techniques d extraction de règles avec l exploitation des similarités sémantiques pour adresser les matrices creuses et les relations non transitives. Cette méthode est décrite dans [Leung 06]. Le projet RACOFI [Lemire 03] utilise des règles pour pouvoir inférer les prédictions ne pouvant être effectuées par un système de filtrage collaboratif classique. Les règles déclarées explicitement peuvent s avérer très utiles pour adresser la problématique du nouvel utilisateur et de la nouvelle ressource ou bien lors de compagnes de promotion, etc. 43

51 Chapitre II : Etat de l Art Autres aspects 6. Autres Aspects 6.1. Capture des évaluations utilisateur Les évaluations de l utilisateur peuvent êtres capturées de différentes manières : Evaluation immédiate : Document que l on évalue après l avoir lu ; Chanson après l avoir écouté. Evaluations à posteriori : Achat d un article qu on ne peut évaluer à l achat mais seulement après utilisation ; Téléchargement d un jeu ; Il faut prendre en considération la durée d utilisation de la ressource nécessaire pour pouvoir recueillir une évaluation. Evaluation implicite : Observation du comportement de l utilisateur ; Règles du genre : o Ecoute entre 20 et 40 secondes d une chanson et change -> n aime pas ; o S il lit un article compétemment -> l article l intéresse. L acquisition implicite des préférences utilisateur, et le filtrage basé logs est une manière de réduire le manque d informations dans les matrices d évaluation. Les recherches de [Wang 06a] explorent l utilisation des logs comme outil pour la capture des préférences utilisateurs. En effet, dans certains cas, comme les listes d écoutes musicales, il est plus intéressant de tirer profit des informations d écoute, le fait de demander à un utilisateur d évaluer chaque piste devient lourd. Les recherches effectuées dans [Claypool 00] montrent que dans le contexte de la navigation web, certains indicateurs implicites sont fortement corrélés aux évaluations explicites d autres pas. Le temps passé sur une page, la quantité de scrolling, correspond aux préférences explicites des utilisateurs. Le nombre de clicks, la méthode de scrolling, par contre ne correspondent pas aux préférences de l utilisateur. Les systèmes de recommandation actuels ne tirent pas réellement profit, car la possibilité d inférer l évaluation de l utilisateur reste mal comprise. Les avantages étant : Réduire le coût lié à l évaluation explicite Chaque interaction utilisateur peut contribuer à déduire une évaluation Faut-il cependant choisir les bons critères pour les indicateurs implicites, dépendamment des cas d utilisations, car le choix d indicateurs erronés peut mener à des qualités de recommandation limitées et donc affecter le système. 44

52 Chapitre II : Etat de l Art Autres aspects 6.2. Diversification des thèmes La diversification des thèmes est un autre paramètre à prendre en considération. En fait, pour dire qu un système de recommandation est bon, il ne suffit pas d avoir les éléments qui ont la plus grande valeur de prédiction, car on peut tomber sur le cas dans lequel l utilisateur reçoit un certain nombre de recommandations correspondant au même type de ressources Performance sur un grand nombre de données Un enjeu important pour les systèmes de recommandation est la possibilité de montée en charge et de prise en compte d un grand nombre d utilisateurs et de ressources. Plusieurs approches peuvent être adoptées pour résoudre cette problématique, parmi lesquelles : Utilisation de modèles (comme le Clustering). Calculs faits en arrière plan. La réduction de dimension, par la décomposition des matrices ou par clustering. Les modèles distribués, le traitement est partagé sur plusieurs ressources physiques. La réduction de la dimension peut être faite par la décomposition la matrice d évaluation en valeurs singulières, SVD (Singular Value Decomposition). Les recherches effectuées par [Sarwar 00a] montrent que la décomposition en valeurs singulières peut permettre la prise en charge de la montée en charge sous certaines conditions, tout en gardant les mêmes précisions pour les valeurs prédites, et la même diversité (liste Top N recommandations). Sachant que la montée en charge est un problème principal pour les systèmes de filtrage plusieurs implémentations adaptent leurs algorithmes pour les rendre distribués, ainsi la charge peut être partagée sur plusieurs machines. 7. Récapitulatif Qu ils soient basés sur le contenu ou bien collaboratifs. Les systèmes de filtrage permettent d éviter à l utilisateur de se sentir noyé sous la masse d informations, en filtrant les informations n ayant pas d intérêt pour lui. Le filtrage collaboratif est sans doute le type le plus utilisé, vu les avantages qu il procure. Les principaux axes de recherche pour le filtrage collaboratif sont d ordre statistique et de classification, et actuellement l aspect sémantique devient plus important en venant se placer la ou les techniques statistiques montrent leurs limites, notamment pour résoudre le problème des matrices creuses et de démarrage à froid. D un point de vue pratique, la performance devient un enjeu important, l orientation actuelle consiste à séparer les actions en deux, les actions «online» actionnées par des actions utilisateur dont la complexité doit être la plus faible, idéalement o(1), et les actions en tache de fond «offline», contenant les traitements lourds qui doivent s exécutent indépendamment des requêtes utilisateurs. 45

53 III. Chapitre III : Proposition Dans ce chapitre nous présentons notre proposition de solution intégrant le web sémantique dans le filtrage collaboratif. Nous présentons d abord l approche et son architecture, puis nous détaillons le modèle utilisé pour la représentation des distances, point essentiel dans un système de filtrage. Nous continuons par présenter le Framework que nous avons conçu pour la prise en charge du calcul des distances sémantiques. Nous terminons par la description du module collaboratif et finalement par le module de recommandation hybride. 46

54 Chapitre III : Proposition 1. Approche proposée La solution que nous proposons pour améliorer la qualité globale des systèmes de filtrage collaboratif repose sur l adoption d un système hybride où le calcul des similarités se base sur deux aspects, l aspect collaboratif et l aspect sémantique. L aspect sémantique permettra d apporter de l information supplémentaire pour réduire l effet du démarrage à froid, nouvel utilisateur, nouvelle ressource et des matrices creuses. 2. Architecture Dans ce qui suit nous présentons l architecture globale du système de recommandation hybride réalisé, et nous décrivons chaque module par la suite. Figure III-1 : Architecture du système Le système est composé des composantes suivantes Figure III-1 : matrice d évaluations, les descriptions sémantiques des utilisateurs et des ressources, les distances entre utilisateurs et entre ressources (distances collaboratives et/ou sémantiques) et du moteur de prédiction et de recommandation. Le structure détaillée du système de prédiction / recommandations est décrite par le diagramme de composants UML, Figure III-2. Le système est composé des modules suivants : Un moteur collaboratif, pour le calcul des similarités collaboratives et l ajout de nouvelles évaluations, etc.; Un moteur de similarités sémantiques, pour le calcul des similarités sémantiques ; Un module clustering (éventuellement pour pouvoir monter en charge); Un moteur de prédiction et de recommandation. Nous avons choisi d utiliser la plateforme Java pour sa portabilité, les divers projets existant en open source. Le développement se base en grande partie sur le Framework Spring qui offre tout les services J2EE sur une plateforme légère. Nous avons aussi opté pour Jena 13 comme API sémantique et pour MySQL comme base de données de l entrepôt sémantique et ainsi que des autres données du système. 13 Jena : API pour le web sémantique 47

55 Chapitre III : Proposition Figure III-2 : Structure des composants du système 3. Distances et corrélation Pour le moteur de recommandations du système nous avons exploré la piste de l utilisation d un graphe des distances ou les nœuds représentent les utilisateurs ou les ressources et les arcs la distance (sur plusieurs paramètres : distance collaborative, distance sémantique, nombre d évaluation communes, distance sociale, ) entre deux utilisateurs ou bien deux ressources. Ce graphe sera un point de référence pour le calcul des similarités. Figure III-3 : Graphes des distances collaboratives et sémantiques La Figure III-3 (b) montre que les liens sémantiques entre entités viennent compléter les associations collaboratives Figure III-3 (a) pour permettre d avoir un graphe plus complet. La signification des distances est récapitulée dans le tableau suivant : Utilisateur Ressource Collaboratif Les utilisateurs ont les mêmes goûts Les ressources vont de paire (On a les mêmes goûts, qu écoutezvous d autre?) acheté B : (Ceux qui ont acheté A ont aussi Amazon) 48

56 Chapitre III : Proposition Sémantique Les utilisateurs son équivalents Les ressources sont équivalentes (Qu écoutent les jeunes de mon âge?) (Si vous n aimez pas A vous pourriez aimer B : alternative) ou bien (Si vous aimez A vous aimerais B) Figure III-4 : Signification des corrélations sémantiques et statistiques En analysant le tableau, il est clair qu un système de e-commerce ce base sur la ressource plutôt que sur l utilisateur, pour assurer la relation client : Vous cherchez quelque chose de précis, vous n aimez pas A, alors essayer B! Vous avez lu un livre A, vous devez lire B, car il est dans la même catégorie! Vous avez planifié un voyage, voulez vous un appareil photo? D autres systèmes se concentrent plutôt sur la satisfaction de l utilisateur et non pas sur la possibilité de lui vendre un autre article, ils répondent à des questions du type : Oh, on a les mêmes goûts, qu écoutez-vous d autre? Qu écoutent les jeunes de mon âge? Notre solution se base spécialement sur les calculs en arrière plan, les résultats de ces calculs seront stockés dans le graphe. A l ajout ou à la modification d un utilisateur, d une ressource les distances sémantiques sont recalculées pour l individu concerné. Lorsqu un certain nombre d évaluations son effectuées, les distances collaboratives sont recalculées. Il est à noter que la corrélation utilisée dans le cas des distances collaboratives est la corrélation de Pearson car elle possède le meilleur comportement pour le filtrage collaboratif. La corrélation est appliquée sur la matrice normalisée [-1, 1] pour atténuer les effets associés aux utilisateurs qui on tendance à évaluer sur différentes échelles (certains évaluent avec des notes entre 3 et 5, d autres avec des notes entre 2 et 4, etc. 4. Moteur de Similarités (SemSim) Descriptions sémantiques La description sémantique des utilisateurs et ressources peut être réalisée de plusieurs manières, dans une base de données relationnelle Figure III-5 (a), ou dans un modèle web sémantique Figure III-5 (b). Figure III-5 : Description sémantique Les distances sont calculées par des requêtes SQL dans le premier cas, ou bien par des requêtes sémantiques et des méthodes de similarité sémantiques dans le deuxième cas. Dans l évaluation, nous avons utilisé et comparé les résultats obtenus avec les deux types d approches. 49

57 Chapitre III : Proposition Moteur de similarités Un système de recommandations a pour acteurs les utilisateurs et les ressources, ces deux entités devront être décrites sémantiquement dans une ontologie ou une base de données. Dans le but de calculer les similarités sémantiques entre utilisateurs ou entre ressources, nous avons conçu un Framework que nous avons nommé SemSim dont le but est l implémentation des mesures de similarités définies dans l état de l art, [Paragraphe II.4]. L idée principale du Framework est la composition de plusieurs mesures de similarité pour définir la similarité entre 2 ressources. Par exemple pour la définition de la similarité entre deux utilisateurs il est possible de composer la similarité entre plusieurs attributs pondérés : L âge (similarité de valeurs) ; Langues (comptage d arcs, donné une classification hiérarchique des langues) ; La région (similarité métier spécifique) ; Les préférences (similarités entre ensembles). Figure III-6 : Similarité entre utilisateurs basée sur la composition de propriétés L objectif est donc de construire la mesure de similarité par la composition d un ensemble de mesures implémentée au préalable. Ces similarités peuvent être de 3 types correspondant aux types de données sémantiques : Valeur (pour les valeurs scalaires) ; Ressources (pour les ressources sémantiques définies par un URI) ; Set (pour les ensembles). Le Framework pourrait être utilisé sur n importe quel entrepôt sémantique uniquement par l écriture d un fichier de configuration, qui contiendrait la définition des mesures de similarité et la composition de celles-ci. Ce fichier de configuration contiendrait, pour notre exemple, les informations décrites dans la Figure III-7 : la définition des mesures de similarités et leur composition. 50

58 Chapitre III : Proposition Figure III-7 : Définition et composition de similarités sémantiques Techniquement, pour la définition d un tel fichier de configuration, on pourrait utiliser un fichier XML qui reprendra les définitions. Cependant nous n avons pas utilisé un format propriétaire, nous avons préféré réutiliser le Framework d injection de dépendances Spring, car il permet d instancier des objets Java (des mesures de similarité dans notre cas) et de les injecter dans d autres objets via des setters de propriétés ou des constructeurs. Spring offre des mécanismes de base, tels que la définition de bean, property, constructor-args, mais il permet aussi de définir des espaces de nommage et des balises de configuration spécifiques. Comme dans le fichier de configuration Figure III-8 qui reprends notre exemple précédent. Figure III-8 : Fichier de configuration des similarités Un certain nombre de mesures a été implémenté dans SemSim, parmi lesquelles : Similarité composée : pondération de la similarité de plusieurs propriétés ; Similarité propriété : basée sur la similarité entre une propriété des deux ressources ; Distance identité : égalité (identité) de deux ressources ; Distance Jaccard : pour les vecteurs binaires ; Intervalles pour les valeurs numériques et les dates ; Similarité entre chaines Jaro Winkler et WordNet ; Comptage d arcs, Wu & Palmer; Définition de matrices de similarités (définition explicites de similarités) ; Extension avec des similarités métier (exemple similarité entre deux codes ZIP). 51

59 Chapitre III : Proposition Le Framework dispose d une façade qui est responsable de la gestion globale du module : Connexion à la base de données et au modèle Jena Contenir les différentes mesures de similarité définies dans le fichier de configuration Récupération d une ressource via son URI. Calcul de similarité entre deux ressources pour un contexte donné: user, ressource, Gestion des plugins, entre autres l enregistrement de distances dans une BD. Gestion du mécanisme de cache. Structure du module Le schéma [Figure III-9] décrit la structure du module sémantique, diagramme des classes UML structurant le Framework SemSim. Figure III-9 : Structure du module SemSim Toutes les mesures de similarité implémentent l interface (Similarity), ou l une des trois interfaces de similarité : Similarité de valeurs littérales (ValueSimilarity), de termes sémantiques (ResourceSimilarity) ou de listes (ListSimilarity). SemanticSimilarity est la classe façade qui fournit toutes les actions, elle est configurée à l aide du fichier XML. 52

60 Chapitre III : Proposition 5. Filtrage collaboratif (ColFil) Le module de filtrage collaboratif, ColFil, est un module classique permettant la gestion des évaluations de l utilisateur et des distances entre utilisateurs et entre ressources. Le module prend donc en charge les fonctionnalités suivantes : L insertion de nouvelles évaluations L accès à la matrice d évaluation Le calcul et l accès aux distances collaboratives Nouvelles évaluations En effet, l insertion d une nouvelle évaluation implique l obligation de recalculer un certain nombre de distances. Lorsqu un utilisateur U évalue une ressource R, il faut recalculer toutes les distances entre l utilisateur U et les utilisateurs ayant évalué la ressource R ainsi que les distances entre R et toutes les ressources étant évaluées par U. Le recalcule des distances peut ce faire selon différentes stratégies. Mode batch : le calcul est refait chaque nuit, chaque semaine, Mode en temps réel : le recalcule est fait à chaque évaluation Mode différé : les évaluations sont dans une file d attente et traitées en différé selon la charge du serveur. Dans le premier mode, on garde trace de toutes les distances à recalculer, le traitement batch est lancé régulièrement. L inconvénient est que les évaluations ne sont pas prises en compte immédiatement, la qualité des recommandations pourrait être meilleure. Cette méthode à néanmoins l avantage d être non coûteuse. Dans les 2 ème et 3 ème modes, à chaque évaluation on lance le calcul des distances entres les utilisateurs et entre les ressources impactés par l évaluation. Cette méthode permet d avoir des distances correctes en temps réel, mais la performance du système peut être réduite. On peut mixer les deux approches dans le sens ou sur un ensemble de relations à recalculer, on calcule certaines qui sont significative et on laisse les autres s exécuter avec le prochain batch, ainsi on peut atténuer les inconvénients des deux modes. Plus le nombre d évaluations effectuées en commun avec un utilisateur est grand, moins la distance entre les deux est influencée par la nouvelle évaluation. Donc on peut recalculer les distances entre les utilisateurs ayant un nombre d évaluations communes inférieures à un seuil en temps réel et mettre les autres en batch. Si en moyenne un utilisateur a effectué 20 évaluations, alors le nombre de relations à mettre à jour et de 2 fois 20, 40 relations (utilisateurs et ressources). Transformations Avant de calculer la distance, on peut effectuer des transformations pour normaliser les évaluations des utilisateurs. Supposer par exemple l utilisateur qui évalue les ressources de 3 à 5 sur une échelle de 5, un autre qui utilise l échelle complète de 1 à 5. La distance entre les deux serait biaisée (sachant que l opinion est équivalente entre la note 3 de la première personne et la note 1 de la seconde) On peut dans ce cas appliquer une normalisation des notes vers une échelle ou la moyenne est de 0 et la déviation de 1. 53

61 Chapitre III : Proposition On peut aussi appliquer une amplification des valeurs. En élevant la valeur à une puissance l évaluation par un facteur, les grandes valeurs seront plus grandes et les petites plus petites. Cette transformation est utilisée après une normalisation. On peut aussi pondérer les évaluations et amplifier les évaluations des ressources qui n ont été évaluées que rarement. L idée est que des éléments rares peuvent êtres plus significatifs au calcul des distances que des éléments plus communs. Par exemple, vous trouvez une personne qui connaît un artiste que vous seul connaissez dans votre entourage, vous êtes très content et discutez avec cette personne de vos goûts et découvrez de nouveaux sons et artistes. Cette approche est décrite dans [Breese 98]. Dans notre cas cette transformation doit être adaptée, principalement car les distances sont pré-calculées. Les ressources peuvent être classées en 3 catégories, rares avec un poids de 3, normales avec un poids de 2, et communes avec un poids de 1 (Ceci ne signifie pas que les ressources rares seront plus recommandées que les autres mais qu elles seront plus significatives dans le calcul de la distance). Lorsque une ressource change de catégorie de rareté, il faut recalculer les distances entre les utilisateurs ayant évalué la ressource. Si l on choisit de redéfinir les 3 catégories (nombre d évaluations) il faut recalculer les distances. Calcul de la Distance La distance entre deux utilisateurs se calcule par rapport aux évaluations effectuées par les deux selon une formule. Plusieurs formules sont utilisées. Le coefficient de Pearson est calculé avec la formule suivante : : évaluation de l utilisateur a pour la ressource i. : évaluation moyenne de l utilisateur a. Changement de formule utilisée Une problématique se pose si on veut changer la formule de calcul de la distance ou bien les transformations appliquées. Effectivement, on ne peut pas changer les valeurs des distances existantes car cela rendrait le système inutilisable le temps de la mise à jour (le temps nécessaire pour recalculer des distances). Il faut garder les deux distances la deuxième distance n est utilisée uniquement si toutes les distances sont recalculées. On peut alors changer de formule en toute transparence. Structure du module Le module est composé, comme montré dans le schéma [Figure III-10] d une façade CollaborativeService qui permet toutes les actions d un système de filtrage collaboratif : insertion d évaluations, récupération d évaluations et de voisinages. Les similarités sont implémentées par les interfaces UserSimilarity et ItemSimilarity. Les objets d accès aux données MatrixDAO et DistanceDAO permettent d accéder aux données de la base. 54

62 Chapitre III : Proposition Figure III-10 : Structure du module ColFil 6. Moteur de recommandations (Recommend) Le moteur de recommandation est le module qui va composer les outputs des deux modules (sémantique et collaboratif) pour le calcul des prédictions et des recommandations. Le module est composé en 3 sous modules : voisinage, prédiction, recommandation. Définition du voisinage La définition du voisinage consiste à définir les entités (utilisateurs ou ressources) les plus proches d une entité X. Intuitivement, cela revient à choisir les entités avec la plus grande corrélation avec certains paramètres : Nombre minimal d évaluations communes entre entités ; Distance minimale entre deux individus ; Nombre minimal d individus dans le voisinage. Nous pouvons aussi appliquer des approches utilisant des modèles pour enrichir la qualité des distances, parmi ces approches : Clustering (Ant-Clustering, K-Moyennes, etc.) Exploitation du graphe (ex. Horting) 55

63 Chapitre III : Proposition Prédiction L étape prédiction, se résume à prédire l évaluation que donnerait un utilisateur à une ressource donnée. Cette prédiction peut être utile pour plusieurs utilisations : Valeur affichée à l utilisateur lorsqu il navigue dans la liste des ressources ; Utilisation pour la recommandation. On adopte l approche de fusion des similarités utilisateur et des similarités ressources décrite dans [Wang 06]. Etant donné l utilisateur et la ressource, on sélectionne un voisinage de l utilisateur et de la ressource, on récupère la sous matrice correspondant aux évaluations du voisinage, et on calcule la moyenne pondérée, comme illustré dans l exemple ci-dessous. La prédiction est calculée avec la formule suivante : Pour l exemple la prédiction est égale à : Stratégie d hybridation Figure III-11 : Sous-Matrice d'évaluation utilisée pour la prédiction L hybridation des méthodes peut être effectuée de différentes manières, décrites dans [Burke 02]. Nous avons expérimenté avec 3 types d hybridation : pondération, changement adaptatif (Switching), composition. La pondération (Weighting) a pour but d exécuter les deux types d algorithmes et de combiner les résultats. Le changement adaptatif permet de séparer l effet des deux algorithmes selon les cas. La composition permet d améliorer la qualité en ajoutant des individus au voisinage d une entité qui n en possède que peu. Il est à noter que l hybridation peut mener à une des résultats plus mauvais si le choix des paramètres de chaque approche n est pas bien fait. Recommandations La recommandation est le processus qui consiste à choisir un ensemble de ressources (selon la situation et le contexte) et calculer les prédictions associées à ces ressources et recommander à l utilisateur celles qui lui correspondent. Des adaptations peuvent être apportées pour certains scénarios. Par exemple pour booster des ressources rares ou bien mettre en valeur des goûts exotiques. Il faudra aussi considérer l approche à suivre pour fidéliser un nouvel utilisateur ou pour promouvoir une nouvelle ressource, etc. Il faut aussi adapter le système de filtrage pour éviter des recommandations aberrantes, du genre recommander un article que l utilisateur vient d acheter ou un film qu il vient de voir. Un autre aspect important est le public visé, on ne peut recommander des films d une certaine catégorie à un public jeune, par exemple. 56

64 Chapitre III : Proposition Scenarios de Recommandation Lorsqu un utilisateur navigue sur le site, il peut recevoir des recommandations génériques ou selon le contexte, correspondant à la dernière, aux dernières, ou à toutes les ressources. Plusieurs requêtes peuvent être adressées au système de recommandation : 1. Ressources pouvant convenir à un utilisateur (1 U -> n R) 2. Ressources équivalentes à la ressource sélectionnée/visualisée (1 U, 1 R -> n R) 3. Ressources pouvant convenir à un utilisateur dans le contexte actuel (1 U, n R -> n R) 4. Utilisateurs pouvant aimer une ressource, campagne marketing (1 R -> n U) 5. Utilisateurs équivalents, ayant les mêmes goûts, (1 U -> n U) 6. Ressources qui vont de paire, définition de règles, promotion, (1 R -> n R) Et d autres. Le processus de recommandation revient à calculer les prédictions pour un utilisateur X et lui recommander les ressources dont la prédiction est la plus grande (cas 1). L étendue des ressources peut être réduite au voisinage d une ressource (cas 2) ou d un ensemble de ressources (cas 3). De la même manière on peut baser la recommandation sur la ressource. Pour une ressource donnée, on recommande aux utilisateurs avec une grande valeur de la prédiction (cas 4). Campagne Marketing On peut aussi sélectionner des utilisateurs, pertinemment ou aléatoirement, et leur envoyer par messagerie électronique, des recommandations, des invitations à aller visiter le site, etc. On peut aussi promouvoir une ressource, en la recommandant aux utilisateurs qui serait intéressés, en utilisant les prédictions d évaluation de ces utilisateurs. On peut aussi recommander, avec un label nouveautés new, des nouvelles ressources (pour la prédiction, on aura besoin d utiliser les distances sémantiques) pour les promouvoir et pour pouvoir recueillir des évaluations. Règles liées au métier Le modèle doit aussi prendre en compte un certain nombre de contraintes : Recommander ou pas un élément qui a déjà été recommandé ; Recommander ou pas un élément qui a déjà été téléchargé/acheté ; Combien de temps doit passer avant de pouvoir refaire la recommandation d une ressource déjà recommandée ; Ne pas étouffer l utilisateur avec des tas de recommandations. 57

65 Chapitre III : Proposition Structure du module Il est possible d implémenter plusieurs algorithmes ColaborativeImpl, SemanticImpl, HybridImpl, tous dérivent de la même classe BaseImplementation, qui fournit les méthodes de base : construction des poids, calcul de la prédiction sur une sous-matrice, etc. Les algorithmes peuvent implémenter l interface PredictionService, pour la prédiction de valeurs, ou bien RecommendationService, pour la sélection de listes de recommandation. L algorithme de base utilise deux objets d accès CollaborativeNeighborhoodDAO et SemanticNeighborhoodDAO qui permettent d accéder aux deux modules précédents, module collaboratif et sémantique. Figure III-12 : Structure du module Recommend 58

66 IV. Chapitre IV : Evaluation Pour valider notre proposition, nous effectuons dans ce chapitre l évaluation du système proposé. Nous commençons par présenter les détails du jeu de données choisi, la construction de l ontologie, et l implémentation du prototype. Nous présentons, dans le deuxième paragraphe, la méthodologie suivie pour l évaluation. Dans le troisième paragraphe nous présentons les résultats de l évaluation des différents algorithmes, collaboratif, sémantique et hybride. Nous discutons ces résultats dans le dernier paragraphe. 59

67 Chapitre IV : Evaluation Implémentation 1. Implémentation 1.1. Jeu de données Pour expérimenter les différentes hypothèses exposées dans cette recherche, nous avons utilisé le jeu de données MovieLens 14. Ce jeu de données, qui est souvent utilisé dans les recherches concernant le filtrage collaboratif, concerne le domaine de la recommandation de films, il est composé d utilisateurs, de films et des évaluations des utilisateurs. Plusieurs recherches ont évalué leurs propositions sur la base du jeu de données MovieLens, ce qui permet d effectuer éventuellement des comparaisons. Le jeu de données contient, en plus des évaluations, des informations démographiques et sémantiques décrivant les utilisateurs et les ressources, les ressources sont aussi référencées par leur lien dans l IMDB 15 (Internet Movie Data Base) Analyse du jeu de données Nous avons commencé par analyser le jeu de données pour avoir une idée sur la distribution des données pour pouvoir choisir des indicateurs et des seuils cohérents. Le jeu que nous avons utilisé dans ce qui suit contient évaluations réalisées par 943 utilisateurs sur 1682 films entre Septembre 1997 et Avril L ensemble des évaluations est divisé en deux, une partie Test qui contient les données d apprentissage utilisées par l algorithme et une partie Base contenant les données qui vont servir à évaluer l algorithme. La partie Test contient 9430 évaluations, soit 10 évaluations par utilisateur. La matrice des évaluations d apprentissage contient donc 0.6% d évaluations. Nous avons d abord analysé le jeu de données pour avoir une idée de sa structure : Nombre d évaluations pour chaque utilisateur est égal à 10 évaluations ; Nombre d évaluations pour chaque ressource varie entre 1 et 97 évaluations ; Le nombre d évaluations en commun est faible (Figure IV-1). Figure IV-1 : Répartition des évaluations communes Seulement 2 % des utilisateurs ont plus de 3 évaluations en commun. Seulement 5 % des ressources ont plus de 3 évaluations en commun. 14 MovieLens, 15 IMDB, Internet Movie Data Base 60

68 Chapitre IV : Evaluation Implémentation Pour la répartition des notes données par les utilisateurs, la proportion faible pour les scores défavorables. 5% (1 étoile), 10% (2 étoiles) Figure IV-2 : Répartition des évaluations La plupart des utilisateurs évaluent avec des notes, dans l ordre décroissant, de 4, 3 et 5 35 % des évaluations effectuées sont représentées par des notes de 4 26 % par des notes de 3 23 % par des notes de 5 Ce qui signifie que les utilisateurs n évaluent que rarement les ressources qu ils considèrent comme non intéressantes et se focalisent plutôt sur les ressources qui préfèrent Données sémantiques Les données démographiques disponibles sont : âge, profession et localisation ZIP Code. Pour le critère profession nous définissons une fonction qui permettra de retourner une valeur de similarité entre deux fonctions, effectivement enseignant et chercheur sont 2 professions proches comparativement à enseignant et musicien. Figure IV-3 : Répartitions des métiers Pour le critère localisation nous définissons aussi une fonction qui permet de calculer la similarité de deux codes postaux (ZIP code aux États-Unis), une fonction simple telle que le nombre de chiffres similaires en commençant de la gauche peut être utilisée (celle-ci ne prends pas en compte les exceptions). Figure IV-4 : Répartition des codes ZIP 61

69 Chapitre IV : Evaluation Implémentation Les données sémantiques décrivant les films sont le titre, l année de sortie et les catégories. Un film peut appartenir à plusieurs catégories. Figure IV-5 : Répartition des catégories La date de l évaluation peut aussi être utilisée dans le calcul de la prédiction Chargement de données supplémentaire Le jeu de données MovieLens fournit le lien (URL) vers la description du film dans l IMDB (Internet Movie Data Base), nous avons écris un parseur pour traiter le contenu HTML et déduire des données supplémentaire, liées aux mots-clés, langues, attributs (couleur, MPAA 16, etc.), acteurs et d autres. La Figure IV-6 montre l extrait d une page web de l IMDB décrivant le film «The green mile» Figure IV-6 : Extrait de la description d'un film dans l'imdb Ces données ont été utilisées pour alimenter la construction de l ontologie. 16 MPAA: Motion Picture Association of America, codes décrivant le contenu des films. 62

70 Chapitre IV : Evaluation Implémentation 1.5. Construction de l ontologie Comme nous voulons introduire le web sémantique, nous devons construire notre ontologie. Le processus de construction d ontologies est un processus, décrit dans plusieurs articles, comme complexe car c est un processus qui fait intervenir des experts pour formaliser un domaine de connaissance bien défini. La construction d ontologies fait bien sur intervenir la réutilisation et l agrégation d ontologies bien définies comme Dublin Core, FOAF, etc. Notre but n est pas de construire une ontologie prenant en considération tous les aspects du domaine cinématographique mais plutôt une ontologie relativement simple qui reprendrait les informations sémantiques dont on dispose et qui nous permettrait d évaluer l approche que nous avons proposée. Nous avons réalisé l ontologie à l aide de l éditeur d ontologies Protégé 17, l ontologie est composée de plusieurs classes liées à la description d un utilisateur et d un film. Ces classes sont définies dans le schéma ci-dessous. Utilisateurs Figure IV-7 : Classes principales de l'ontologie MovieLens Les utilisateurs sont décrits par les propriétés suivantes : hasname nom de l utilisateur (dans notre cas c est un code qui est utilisé). hassex has Age haszipcode code postal aux États-Unis. hasoccupation (Occupation) métier ou poste occupé

71 Chapitre IV : Evaluation Implémentation Films Les films sont eux décrits par les propriétés suivantes : hastitle, hasalternativetitle Titre et titre dans des langues alternatives. hastagline, hasplotoutline, hasdescription, hascomments, hasawards hasreleasedate, hasruntime Date de sortie et durée. hasmpaa (MPAA), hasmpaareason Catégorie du film dans le système MPAA. haslanguage (Language) Langues du film. hascolor (MovieColor) Couleurs / Noir et blanc. hasaspectratio (AspectRatio) Type d affichage 16/9, etc. hasgenre (Genre) Genres et catégories. haskeywords Mots clés. hasrole Acteurs, metteur en scène, etc. o haswriting (Writing), hascasting (Casting), hasdirector (Director) hascompany (Company) Companie. haslocation Lieux (Pays, lieux) où à été tourné le film. o hasplace (Place) o hascountry (Country) Le film est aussi décrit par un ensemble de rôles d acteurs (Casting) et d écriture (Writing). Le Casting est décrit par : hasranking Le rang tenu par l acteur. hascharactername Le nom du personnage. has Actor (Actor) Le rôle d écriture (Writing) est décrit par : haswriter (Writer) haswritingrole Autres Les régions et les langues sont modélisées en une hiérarchie de classes, ceci nous permettra de définir la similarité entre les langues (ou les localisations) à l aide des méthodes de comptage d arcs. Figure IV-8 : Classification des régions et des langues L ontologie est décrite plus en détail en Annexe [A. Construction de l ontologie MovieLens]. 64

72 Chapitre IV : Evaluation Implémentation 1.6. Base de données Nous avons utilisé une base de données MySQL qui contient les informations suivantes : Matrice d évaluations ; Distances collaboratives et sémantiques entre utilisateur/ressource ; Entrepôt RDF Jena ; Données de référence utilisées pour l évaluation ; Figure IV-9 : Schéma de la base de données 1.7. Interface graphique Comme l utilisateur est le point central du système, il ne faut pas négliger l aspect interactif et ergonomique du système. L évaluation et la visualisation des documents recommandés doivent être intuitives et simples pour inciter l utilisateur à utiliser le système. Facilité d utilisation La facilité d utilisation du système est un aspect très important car si on veut avoir un feedback et des évaluations, l opération doit être facile, intuitive non encombrante pour l utilisateur. L utilisation de la technologie AJAX 18 par exemple permet d invoquer une action sur le serveur sans recharger la page en entier, l évaluation d une ressource avec note peut être effectuée sans recharger toute la page. Le rechargement complet de la page, prenant du temps, aurait dissuadé les utilisateurs d effectuer des évaluations. Visualisation Un aspect important du système de recommandation est la présentation des résultats. On peut présenter une liste ordonnée selon la prédiction d évaluation, ou bien utiliser des méthodes innovatrices plus complexes. Par exemple, l utilisation de graphes permet d avoir une vision globale des distances et des intérêts. Les Nœuds du graphe représentent les utilisateurs/ressources, la taille du nœud peut représenter la prédiction de l évaluation, la couleur peut représenter la popularité de la ressource, les arcs les distances entre ressources. On peut aussi utiliser un graphe pour représenter les utilisateurs proches, avec l utilisateur en question au centre avec une couleur et les autres utilisateurs autour, où la taille du cercle représente la réputation de l utilisateur. Un prototype d interface utilisateur à été réalisé, voir en annexe [B. Prototype d interface graphique]. 18 AJAX, Asynchronous Javascript And Xml 65

73 Chapitre IV : Evaluation - Méthodologie 2. Méthodologie 2.1. Evaluation des systèmes de recommandation L évaluation des algorithmes de recommandation est une tache complexe. En effet, les systèmes ont souvent été évalués selon des critères différents, ce qui rend leur comparaison difficile. L évaluation diffère aussi selon la structure statistique des données, le contexte, les fonctionnalités que l on veut évaluer, etc. Les travaux effectués par [Herlocker 04] exposent les contextes et les différents paramètres liés à l évaluation des systèmes de recommandation : Les fonctionnalités attendues par l utilisateur ; La correspondance entre la structure des données et l algorithme ; Les métriques d évaluation ; Autres mesures qualitatives (autres que la précision). Parmi les fonctionnalités attendues par l utilisateur : 1. Annotation et prédiction lors de la navigation / diriger la navigation ; 2. Trouver des items intéressants ou bien tout les éléments intéressants ; 3. Recommander une séquence ; 4. Crédibilité du recommandeur ; 5. Evaluations dans le but d améliorer son profil, de s exprimer, d aider ou d influencer les autres utilisateurs Mesure de la précision Métriques prédictives Les métriques prédictives calculent la précision des prédictions par rapport à l évaluation réelle effectuée par l utilisateur, cette métrique correspond à la fonctionnalité utilisateur «Annotation et prédiction lors de la navigation». Mais peut décrire la capacité du système à classer les préférences de l utilisateur. La mesure la plus utilisée est le MAE «Mean Absolute Error» qui correspond à l erreur absolue moyenne entre l évaluation réelle et la prédiction. La mesure est calculée par la formule suivante : Ou est la prédiction et la valeur réelle et l ensemble des évaluations réelles utilisées pour le calcul. D autres mesures équivalentes peuvent être utilisées, comme le MSE, RMSE, NMAE. Les deux premières MSE «Mean Squared Error» et RMSE «Root Mean Squared Error» élèvent l erreur au carré avant de faire la somme, cette mesure est utile lorsque qu on veut donner plus de criticité aux erreurs importantes. 66

74 Chapitre IV : Evaluation - Méthodologie La troisième métrique, le NMAE «Normalized Mean Absolute Error» est équivalente à MAE, mais en prenant en considération l échelle d évaluation, c'est-à-dire que les prédictions sont d abord traduites vers des valeurs appartenant à l échelle d évaluation, par exemple une prédiction de serait transformée vers une valeur de 2, le MAE est ensuite calculé sur la base de ces valeurs normalisées. Métriques de classification Ces métriques considèrent les éléments comme bons ou mauvais, elles sont donc idéales pour la fonctionnalité «Trouver les items intéressants» Les mesures utilisées sont la «Precision» et le «Recall», pour calculer ces indicateurs, on a besoin de la matrice suivante : (S) Sélectionné (N) Non Sélectionné Total (P) Pertinent N ps N pn N p (I) Non pertinent N is N in N i Total N s N n N P R Sélectionné ou Non représente les éléments recommandés ou pas à l utilisateur (prédiction). Pertinent / non pertinent l avis qu a l utilisateur de la ressource (évaluation réelle). Autres mesures Il est clair qu un système de recommandation précis n est pas suffisant, il doit être utile, et pour cela on doit calculer l utilité par des indicateurs. Parmi ces indicateurs on peut citer : Couverture : Le pourcentage sur lequel le système peut produire des prédictions par rapport à l ensemble total. Nouveauté et diversité : Le système doit recommander des items nouveaux et diversifiés. Supposons un système de recommandation de musique qui nous propose un album très connu des Beatles, ceci est une très mauvaise recommandation, car les personnes intéressés par cette musique ont tous soit acheté l album soit décidés à ne pas l acheter. La diversité consiste à avoir des items qui changent à chaque demande de recommandation pour ne pas ennuyer l utilisateur avec les mêmes ressources. Confiance : Le degré de certitude dans la production d une prédiction. Evaluation de l utilisateur : On peut mesurer la satisfaction de l utilisateur, soit en lui demandant son avis, soit en analysant son comportement sur le site. 67

75 Chapitre IV : Evaluation - Méthodologie 2.3. Approche suivie pour l évaluation En gardant à l esprit que l objectif de la recherche est d étudier l impact de l inclusion des données sémantiques sur la qualité des systèmes de recommandation, nous avons procédé de la façon suivante dans notre évaluation. Nous avons commencé par choisir les métriques. Pour le calcul de la précision prédictive le MAE devrait être suffisant car il permettrait de faire la comparaison entre les différents algorithmes, mais pour fournir une base pour la comparaison avec d autres recherches nous avons calculé le RMSE. En plus de la précision prédictive nous avons calculé la couverture «Coverage» pour chacun des algorithmes. Nous avons commencé par réaliser des algorithmes intuitifs pour montrer les résultats obtenus dans le pire des cas. Le meilleur de ces algorithmes peut être utilisé pour compléter les algorithmes où la couverture n est pas complète. Nous avons ensuite étudié un algorithme collaboratif, en l occurrence en utilisant la distance de Pearson pour déduire le voisinage collaboratif. Puis nous avons utilisé l algorithme purement sémantique sur deux types d approches, (1) sur les donnée simples décrites dans une base de données relationnelle, (2) sur l ontologie que nous avons construite ; et plusieurs valeurs pour la taille du voisinage, et le nombre minimum d évaluations pour générer une prédiction. Puis nous avons analysé le résultat de la composition de plusieurs algorithmes selon les différentes approches de pondération, de changement adaptatif et de composition. 3. Résultats 3.1. Algorithme 1 Prédictions Intuitives - Note=2.5 pour toutes les prédictions. - Aléatoire, entre 1 et 5, on prend la moyenne de plusieurs tentatives. - Valeur la plus probable après étude du jeu de test note=4. - Moyenne des évaluations de l utilisateur. - Moyenne des évaluations de la ressource. - Moyenne des évaluations de l utilisateur et de la ressource. Algorithme RMSE MAE Couverture Prédiction moyenne 2.5 pour toutes les prédictions % Aléatoire entre [1 et 5], moyenne de plusieurs tentatives % Valeur la plus probable après étude du jeu de test % Moyenne Utilisateur % Moyenne Ressource % Moyenne Utilisateur/Ressource % Ces méthodes ne sont pas utilisables comme algorithmes de recommandation car ils sont aléatoires, mais peuvent être utilisés pour compléter les algorithmes ou la couverture n est pas complète. 68

76 Chapitre IV : Evaluation - Résultats 3.2. Algorithme 2 - Algorithme purement collaboratif. L algorithme collaboratif est caractérisé par les paramètres suivants : 1. C : nombre minimal d évaluations communes ; 2. D : distance minimale entre deux entités ; 3. M : nombre d évaluations minimal dans la sous-matrice correspondant au voisinage. Impact des paramètres «Nombre d'evaluations en Commun» et «Distance Minimale» Après l analyse statistique du jeu de données Movie Lens effectuée [Paragraphe 1.2], le choix du paramètre C : nombre minimal d évaluations communes est clair. En effet, on ne peut juger de la similarité de deux utilisateurs sur la base d une seule ressource évaluée en commun, il faut un minimum d évaluations en commun, chose difficile à obtenir du fait de la rareté des évaluations dans la matrice. Dans notre cas, une valeur de deux évaluations communes entre utilisateurs est le seul choix possible. Pour les ressources on peut choisir 2 ou 3 évaluations en commun. Nous analysons le système en faisant varier la «Distance Minimale» D sur deux cas : 2, 3 : Au moins 2 évaluations communes entre utilisateurs, et 3 entre ressources 2, 2 : Au moins 2 évaluations communes entre utilisateurs, et 2 entre ressources Figure IV-10 : Impact des critères «Evaluations en commun» et «Distance minimale» Les schémas correspondent respectivement au MAE et à la couverture de l algorithme. Il est clair que le cas avec 2 évaluations en commun entre utilisateurs et 2 entre ressources (2,2) donne des résultats meilleurs, ceci car ce cas fournit plus d informations au système et donc une plus grande précision. La deuxième conclusion est : choisir uniquement les éléments très similaires correspondant à des valeurs de similarité élevées (0,8 ; 0,9 ; ) ne mène pas à des résultats plus précis mais au contraire, ceci car en posant une contrainte élevée, on réduit la quantité des informations disponibles pour le système. 69

77 Chapitre IV : Evaluation - Résultats La qualité n est pas réduite parce qu un utilisateur avec une similarité de 0,1 par exemple n influencera le système qu avec un poids de 0,1, mais affinera la qualité de la prédiction quand même. Impact du paramètre «Nombre d évaluations minimum» En choisissant les valeurs 2 pour le nombre d évaluation en commun minimal et 0,1 pour la distance minimale, on fait varier le nombre d évaluation minium pour pouvoir produire une prédiction et on évalue le comportement de l algorithme. Figure IV-11 : Impact du paramètre «nombre d évaluations minimum» L augmentation de la contrainte «Nombre minimum d évaluations» donne une meilleure précision, cependant avec une décroissance de la couverture. La valeur optimale d après le graphe est égale à 10 et elle correspond au nombre moyen d évaluations effectués par l utilisateur. Cette valeur permet d obtenir un MAE de 0,7964 et une couverture de 29,90%. 70

78 Chapitre IV : Evaluation - Résultats 3.3. Algorithme 3 - Algorithme purement sémantique. Pour l algorithme de recommandation purement sémantique nous avons considéré deux approches : (1) Calcul de la similarité sur les données sémantiques simples décrites dans une base de données relationnelle. (2) Calcul de la similarité sur l ontologie que nous avons construite en utilisant le Framework SemSim. On fait varier 3 paramètres : Taille du voisinage (utilisateurs et ressources) Nombre d évaluations minimum Similarité minimale entre deux éléments Impact du paramètre «Taille du voisinage» On compare les deux approches, (1) : données simples, (2) : ontologie du domaine. Figure IV-12 : Impact de la taille du voisinage La précision de l algorithme est plus grande avec les données étendues, cependant le comportement est différent : pour la mesure (1) l augmentation du voisinage augmente la précision, pour l approche (2) elle diminue la précision. La couverture est plus grande à chaque fois que le voisinage est plus grand (sachant que l expérience à été effectuée avec la contrainte de 30 évaluations minimum pour pouvoir effectuer une prédiction) La précision optimale est obtenue en utilisant la deuxième mesure et un voisinage composé d environs 75 éléments, le MAE est alors égal à 0,8077 et la couverture à 79,58%. On peut donc conclure que l augmentation de la quantité de données sémantiques peut mener vers de meilleures précisions, mais l algorithme utilisé peut avoir un comportement différent par rapport au paramètre «Taille du voisinage». Il est aussi à signaler que plus le voisinage est grand plus le temps nécessaire au calcul de la prédiction est plus grand. 71

79 Chapitre IV : Evaluation - Résultats Impact du paramètre «Nombre d évaluations minimum» On considère maintenant l approche (2), avec les données de l ontologie, et on étudie l impact du «nombre d évaluation minimum» pour pouvoir produire une prédiction. On prend aussi un voisinage de 75 éléments. Figure IV-13 : Impact du «Nombre d évaluations minimum» La précision augmente avec une contrainte du nombre minimal plus grande. Par contre le nombre d éléments non couverts augmente avec l augmentation de cette contrainte. Une précision optimale peut être obtenue en choisissant une contrainte de 30 évaluations minimum, on obtient alors un MAE de 0,8077 et une couverture de 79,59%. Impact du paramètre «similarité minimale» On continue l expérience en fixant la taille du voisinage à 75 éléments et le nombre minimal d évaluations à 2 et on fait varier la similarité minimale entre deux éléments. On augmentant la similarité minimale, on réduit la précision ainsi que la couverture contrairement à ce qu on pourrait croire. Contraindre la similarité minimale ne ferait que réduire le temps nécessaire au calcul, ce paramètre n est donc pas utile à considérer, car la taille du voisinage peut elle aussi aider à limiter le temps de traitement. Meilleurs résultats Figure IV-14 : MAE, Couverture et Temps de calcul par rapport à la similarité minimale La meilleure précision que nous pouvons obtenir est en choisissant les paramètres suivants : Similarité minimale : 0 ; Nombre d évaluations minimum : 30 ; Taille du voisinage : 75, on obtient un MAE de 0,8077 et une couverture de 79,58%. 72

80 Chapitre IV : Evaluation - Résultats 3.4. Algorithmes Hybrides Pour effectuer l analyse des algorithmes hybrides, nous choisissons les paramètres optimaux des algorithmes précédents : Collaboratif minimum 2 évaluations en commun entre utilisateurs minimum 2 évaluations en commun entre ressources Similarité collaborative minimale = 0.1 Nombre minimum d'évaluations = 10 Sémantique Voisinage de 75 éléments Nombre d'évaluation minimum = 30 Distance minimale = Algorithme 4 - Hybridation par Changement Adaptatif (Switching) Le changement Adaptatif consiste à choisir un des algorithmes cités précédemment pour chacun des cas de prédiction. On considère l ensemble des paramètres de l algorithme collaboratif et de l algorithme sémantique et on suit un des flux suivant : La 1 ère variante consiste à appliquer l algorithme collaboratif si les paramètres sont respectés sinon l algorithme sémantique si ses paramètres son respectés, sinon aucune prédiction. Dans la 2 ème variante, l algorithme sémantique est principal, et si les conditions ne sont pas respectées, l algorithme collaboratif est utilisé si ses conditions sont respectées. La 3 ème variante consiste à choisir, si les deux algorithmes sont applicables, celui qui a les meilleures propriétés/chances de déboucher sur une meilleure prédiction (le plus grand nombre d évaluations dans le voisinage choisi, par exemple) Nombre d évaluations Algorithme MAE Couverture Collaboratif Sémantique Collaboratif 0, , Sémantique 0, , Collaboratif -> Sémantique 0, Sémantique -> Collaboratif 0, Meilleures Propriétés (Chances) 0, En faisant l expérience, on s attend à avoir des résultats meilleurs en choisissant par exemple le changement «Collaboratif -> Sémantique», ce n est pas le cas car sur les ensembles des prédictions certains sont interposées sur les deux méthodes, ce qui fait qu en choisissant par exemple l algorithme collaboratif pour ceux-ci on perd toutes les prédictions sémantiques qui pourraient être meilleures que celles trouvées par l algorithme collaboratif. 73

81 Chapitre IV : Evaluation - Résultats L algorithme «Meilleur propriétés/chances» donne un résultat meilleur car sur la base d une fonction de prédiction (ici le nombre d évaluations dans le voisinage choisi) on choisi l algorithme qui donnerait le meilleur résultat probable. Figure IV-15 : Changement adaptatif (répartition de l'utilisation des algorithmes) La répartition des algorithmes utilisés (dans le cas ou les deux sont applicables) est plus équilibrée dans l algorithme «Meilleures Propriétés/Chances» Algorithme 5 Hybridation par Pondération (Weighting) L hybridation par la pondération, consiste en la pondération des prédictions des algorithmes collaboratif et sémantique (lorsque ceux-ci peuvent être calculés). Algorithme MAE Couverture Collaboratif 0, ,90 % Sémantique 0, ,58 % Poids collaboratif=1, Poids sémantique= % Poids collaboratif=1, Poids sémantique=3 0, % Poids collaboratif=1, Poids sémantique=5 0, % Poids collaboratif=3, Poids sémantique=1 0, % Poids collaboratif=5, Poids sémantique=1 0, % Poids = Nombre d'évaluations dans le voisinage 0, % Poids = Qualité 19 (non normalisé) 0, % Poids = Qualité (normalisé) 0, % 19 Qualité : fonction, par exemple on utilise la moyenne du nombre d évaluations communes entre utilisateurs 74

INF6304 Interfaces Intelligentes

INF6304 Interfaces Intelligentes INF6304 Interfaces Intelligentes filtres collaboratifs 1/42 INF6304 Interfaces Intelligentes Systèmes de recommandations, Approches filtres collaboratifs Michel C. Desmarais Génie informatique et génie

Plus en détail

Systèmes de Recommandation. David Loup

Systèmes de Recommandation. David Loup Systèmes de Recommandation David Loup Systèmes de recommandation Plan Définition Motivations Domaine : Films Techniques / Approches Exemples Problèmes Evolution future 2/33 Définition Une plateforme pour

Plus en détail

Exposé: Web sémantique. Web 2.0: impact Sur les IHM, Plasticité. Présenté par: BEN AMOR Akram

Exposé: Web sémantique. Web 2.0: impact Sur les IHM, Plasticité. Présenté par: BEN AMOR Akram Exposé: Web sémantique. Web 2.0: impact Sur les IHM, Plasticité Présenté par: BEN AMOR Akram Plan Web Sémantique Définition et objectif Historique Principe général Quels sont les finalités et les objectifs

Plus en détail

WEB 1.0, les tous débuts WEB 2.0. WEB 1.0 maturité LABD. Séance 9 : WEB Sémantique. web = pages statiques liées entre-elles par des liens hypertexts.

WEB 1.0, les tous débuts WEB 2.0. WEB 1.0 maturité LABD. Séance 9 : WEB Sémantique. web = pages statiques liées entre-elles par des liens hypertexts. WEB 1.0, les tous débuts LABD Master Info M1 2014-2015 web = pages statiques liées entre-elles par des liens hypertexts. Utilisateur = lecteur mise à jours (relativement) rares Séance 9 : WEB Sémantique

Plus en détail

Intégration de la dimension sémantique dans les réseaux sociaux

Intégration de la dimension sémantique dans les réseaux sociaux Intégration de la dimension sémantique dans les réseaux sociaux Application : systèmes de recommandation Maria Malek LARIS-EISTI maria.malek@eisti.fr 1 Contexte : Recommandation dans les réseaux sociaux

Plus en détail

Noureddine Kerzazi noureddine.kerzazi@polymtl.ca

Noureddine Kerzazi noureddine.kerzazi@polymtl.ca Domaine de la modélisation des processus pour le génie logiciel. Noureddine Kerzazi noureddine.kerzazi@polymtl.ca DSL4SPM Domain-Specific-Language for Software Process Modeling Il s agit d un nouveau cadre

Plus en détail

Présentation générale du projet data.bnf.fr

Présentation générale du projet data.bnf.fr Présentation générale du projet data.bnf.fr La Bibliothèque nationale a mis en œuvre un nouveau projet, qui a pour but de rendre ses données plus utiles sur le web. Ceci nécessite de transformer données

Plus en détail

Apprentissage Automatique

Apprentissage Automatique Apprentissage Automatique Introduction-I jean-francois.bonastre@univ-avignon.fr www.lia.univ-avignon.fr Définition? (Wikipedia) L'apprentissage automatique (machine-learning en anglais) est un des champs

Plus en détail

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs Journée organisée par le CRFCB Midi-Pyrénées / Languedoc-Roussillon

Plus en détail

Introduction au WEB Sémantique Cours 1 : Qu est ce que le WEB sémantique?

Introduction au WEB Sémantique Cours 1 : Qu est ce que le WEB sémantique? Cours 1 : Qu est ce que le WEB sémantique? ESIL Université de la méditerranée Odile.Papini@esil.univmed.fr http://odile.papini.perso.esil.univmed.fr/index.html Plan du cours Introduction 1 Introduction

Plus en détail

Une extension pour RDF/RDFS utilisant des relations procédurales

Une extension pour RDF/RDFS utilisant des relations procédurales Une extension pour RDF/RDFS utilisant des relations procédurales Jean-François Baget * * INRIA Sophia-Antipolis & LIRMM(CNRS - UM2) LIRMM, 161 rue Ada, 34392 Montpellier Cedex 5 baget@lirmm.fr RÉSUMÉ.

Plus en détail

Catalogue des formations Edition 2015

Catalogue des formations Edition 2015 Antidot - Formations Catalogue des formations Edition 2015 : catalogue_formation_2015 Révision du 06.01.2015 Sommaire!!"##$%&'( )! $*$+,(-'(."##'+.'&( /!,'.0+"1"2%'( /!!."3'( /! $(3&"3"!(-4(5(.$,$1"24'(-'!(6"&#$,%"+!(7('-%,%"+()89:(;(

Plus en détail

COCoFil2 : Un nouveau système de filtrage collaboratif basé sur le modèle des espaces de communautés

COCoFil2 : Un nouveau système de filtrage collaboratif basé sur le modèle des espaces de communautés UNIVERSITÉ JOSEPH FOURIER GRENOBLE I N 0 attribué par la bibliothèque / / / / / / / / / / / THÈSE pour obtenir le grade de DOCTEUR DE L UNIVERSITÉ JOSEPH FOURIER GRENOBLE I Discipline : Informatique présentée

Plus en détail

Entrepôt de données 1. Introduction

Entrepôt de données 1. Introduction Entrepôt de données 1 (data warehouse) Introduction 1 Présentation Le concept d entrepôt de données a été formalisé pour la première fois en 1990 par Bill Inmon. Il s agissait de constituer une base de

Plus en détail

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht. Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.fr 1 MVC et le web 27/05/14 2 L'évolution des systèmes informatiques

Plus en détail

Construire une Documentation Structurée des Dépendances et des Services (DSDS) Rafael Diaz Maurin, CRU JRES, Nantes, le 2 décembre 2009

Construire une Documentation Structurée des Dépendances et des Services (DSDS) Rafael Diaz Maurin, CRU JRES, Nantes, le 2 décembre 2009 Construire une Documentation Structurée des Dépendances et des Services (DSDS) Rafael Diaz Maurin, CRU 1 Agenda Introduction : qu'est-ce qu'une DSDS? Les ontologies : outils pour la DSDS Protégé : éditeur

Plus en détail

Apprentissage de structure dans les réseaux bayésiens pour

Apprentissage de structure dans les réseaux bayésiens pour Apprentissage de structure dans les réseaux bayésiens pour la détection d événements vidéo Siwar Baghdadi 1, Claire-Hélène Demarty 1, Guillaume Gravier 2, et Patrick Gros 3 1 Thomson R&D France, 1 av Belle

Plus en détail

Resource Description Framework

Resource Description Framework Resource Description Framework Resource Description Framework xml-rdf Code: xml-rdf Originaux url: http://tecfa.unige.ch/guides/tie/html/test/test.html url: http://tecfa.unige.ch/guides/tie/pdf/files/test.pdf

Plus en détail

ASR9 Application de prise de notes basée sur LDP et RWW.io

ASR9 Application de prise de notes basée sur LDP et RWW.io TELECOM SudParis ASR9 Application de prise de notes basée sur LDP et RWW.io Encadrant Olivier Berger Thomas SMAGGHE et Alexis TERRAT Table des matières Présentation du projet... 2 1.1 Contexte... 2 1.2

Plus en détail

Indexation et interrogation de photos de presse décrites en MPEG-7

Indexation et interrogation de photos de presse décrites en MPEG-7 Indexation et interrogation de photos de presse décrites en MPEG-7 Emmanuel Bruno Jacques Le Maitre Elisabeth Murisasco Laboratoire SIS, Equipe Informatique Université de Toulon et du Var Bâtiment R, BP

Plus en détail

données en connaissance et en actions?

données en connaissance et en actions? 1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)

Plus en détail

Compte-rendu re union Campus AAR 3 mars 2015

Compte-rendu re union Campus AAR 3 mars 2015 Compte-rendu re union Campus AAR 3 mars 2015 Table des matières Liste d actions... 2 I. Environnement d analyse : INA, Armadillo... 3 a. Connexion de l outil INA avec API Armadillo... 3 b. Outil d analyse

Plus en détail

Fouille de données et sémantique : des techniques pour donner du sens aux données

Fouille de données et sémantique : des techniques pour donner du sens aux données Fouille de données et sémantique : des techniques pour donner du sens aux données Nathalie Aussenac-Gilles (IRIT) co-animatrice avec M. Boughanem de l axe masse de données et calcul http://www.irit.fr/-masses-de-donnees-et-calcul,677-?lang=fr

Plus en détail

L INFORMATION GEOGRAPHIQUE

L INFORMATION GEOGRAPHIQUE Champs sur Marne ENSG/CERSIG Le 19-nove.-02 L INFORMATION GEOGRAPHIQUE Archivage Le Système d information géographique rassemble de l information afin de permettre son utilisation dans des applications

Plus en détail

Introduction au Data-Mining

Introduction au Data-Mining Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme

Plus en détail

Web sémantique, données libres et liées, UNT

Web sémantique, données libres et liées, UNT Web sémantique, données libres et liées, UNT Yolaine Bourda September 20, 2012 Web sémantique De nombreux documents sont présents sur le Web. Pourtant il est parfois difficile d avoir des réponses à des

Plus en détail

Linked Open Data. Le Web de données Réseau, usages, perspectives. Eric Charton. Eric Charton

Linked Open Data. Le Web de données Réseau, usages, perspectives. Eric Charton. Eric Charton Linked Open Data Le Web de données Réseau, usages, perspectives Sommaire Histoire du Linked Open Data Structure et évolution du réseau Utilisations du Linked Open Data Présence sur le réseau LOD Futurs

Plus en détail

Dans ce chapitre nous allons étudier une méthode pratique d anti-phishing, ce qui consiste à un système de classification automatique.

Dans ce chapitre nous allons étudier une méthode pratique d anti-phishing, ce qui consiste à un système de classification automatique. I INTRODUCTION Les pages de phishing sont l un des problèmes majeurs de sécurité sur internet. La majorité des attaques utilisent des méthodes sophistiquées comme les fausses pages pour tromper les utilisateurs

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

Vers l automatisation de la construction de systèmes de médiation pour le commerce électronique

Vers l automatisation de la construction de systèmes de médiation pour le commerce électronique Vers l automatisation de la construction de systèmes de médiation pour le commerce électronique I. Introduction C. Reynaud, G. Giraldo Université Paris-Sud, CNRS UMR 8623, INRIA-Futurs L.R.I., Bâtiment

Plus en détail

Recommandation dans les réseaux sociaux professionnels

Recommandation dans les réseaux sociaux professionnels Recommandation dans les réseaux sociaux professionnels Application sur un réseau bibliographique 6 mai 2010 Objectif et Motivation Techniques utilisées Algorithme exhaustive de recherche de toutes les

Plus en détail

Learning Object Metadata

Learning Object Metadata Page 1 of 7 Learning Object Metadata Le LOM (Learning Object Metadata), est un schéma de description de ressources d enseignement et d apprentissage. Le LOM peut être utilisé pour décrire des ressources

Plus en détail

Contexte général de l étude

Contexte général de l étude 1 2 Contexte général de l étude Les entrepôts de données associés à des outils d analyse On Line Analytical Processing (OLAP), représentent une solution effective pour l informatique décisionnelle (Immon,

Plus en détail

Page 1 2 La présente invention concerne le domaine des architectures informatiques, et en particulier un procédé pour le développement d applications destiné à un fonctionnement en réseau, par exemple

Plus en détail

Analyse des réseaux sociaux et apprentissage

Analyse des réseaux sociaux et apprentissage Analyse des réseaux sociaux et apprentissage Emmanuel Viennet Laboratoire de Traitement et Transport de l Information Université Paris 13 - Sorbonne Paris Cité Réseaux sociaux? Réseaux sociaux? Analyse

Plus en détail

Recherche d information textuelle

Recherche d information textuelle Recherche d information textuelle Pré-traitements & indexation B. Piwowarski CNRS / LIP6 Université Paris 6 benjamin@bpiwowar.net http://www.bpiwowar.net Master IP - 2014-15 Cours et travaux pratiques

Plus en détail

Les typologies d information que le moteur est en mesure de rechercher sont :

Les typologies d information que le moteur est en mesure de rechercher sont : AIDE SUR LA BIBLIOTHEQUE VIRTUELLE Le système de recherche de la bibliothèque virtuelle permet l accès rapide aux informations qui intéressent les étudiants et qui sont disponibles dans le cyberespace

Plus en détail

MEMOIRE DE PROJET DE FIN D ETUDES POUR L OBTENTION DU DIPLOME DE LA MAITRISE

MEMOIRE DE PROJET DE FIN D ETUDES POUR L OBTENTION DU DIPLOME DE LA MAITRISE Ministère de l Enseignement Supérieur Université du 7 Novembre à Carthage MEMOIRE DE PROJET DE FIN D ETUDES POUR L OBTENTION DU DIPLOME DE LA MAITRISE Filière : Informatique Appliquée Titre Organisme :

Plus en détail

Fouille de données spatiales Mr Dib Abderrahim & Dr Mohamed-Khireddine KHOLLADI

Fouille de données spatiales Mr Dib Abderrahim & Dr Mohamed-Khireddine KHOLLADI Fouille de données spatiales Mr Dib Abderrahim & Dr Mohamed-Khireddine KHOLLADI Introduction On assiste de plus en plus à la création d entrepôts de données. Les raisons sont multiples : 1. le tout numérique

Plus en détail

Spring IDE. Mise en œuvre. Eclipse

Spring IDE. Mise en œuvre. Eclipse A Spring IDE Bien que Spring mette à disposition d intéressants mécanismes afin d améliorer l architecture des applications Java EE en se fondant sur l injection de dépendances et la programmation orientée

Plus en détail

Les techniques d exploitation de données (Data Mining)

Les techniques d exploitation de données (Data Mining) Les techniques d exploitation de données (Data Mining) 1 Présenté par : Emer Mestiri, M.sc Finance, Data Scientist Conseiller Gestion de risque de crédit, Mouvement Desjardins Sommaire 2 I. Logiciel SAS

Plus en détail

Techniques de DM pour la GRC dans les banques Page 11

Techniques de DM pour la GRC dans les banques Page 11 Techniques de DM pour la GRC dans les banques Page 11 II.1 Introduction Les techniques de data mining sont utilisé de façon augmentaté dans le domaine économique. Tels que la prédiction de certains indicateurs

Plus en détail

Architectures web pour la gestion de données

Architectures web pour la gestion de données Architectures web pour la gestion de données Dan VODISLAV Université de Cergy-Pontoise Plan Le Web Intégration de données Architectures distribuées Page 2 Le Web Internet = réseau physique d'ordinateurs

Plus en détail

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base)

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) 1. Généralités sur l'information et sur sa Représentation 1.1 Informations et données : a. Au sen de la vie : C

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

Filtrage collaboratif

Filtrage collaboratif Chapitre 8 Filtrage collaboratif 8.1. Introduction 8.1.1. Motivation et application des systèmes de filtrage 8.1.1.1. Principe général L accès à l information s effectue à l heure actuelle selon différentes

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

Gestion de données complexes

Gestion de données complexes Master 2 Informatique Spécialité AIGLE Gestion de données complexes Amayas ABBOUTE Gilles ENTRINGER SOMMAIRE Sommaire i 1 - Introduction 1 2 - Technologies utilisées 2 2.1 API Jena........................................

Plus en détail

agility made possible

agility made possible DOSSIER SOLUTION Utilitaire ConfigXpress dans CA IdentityMinder Ma solution de gestion des identités peut-elle rapidement s adapter à l évolution des besoins et des processus métier? agility made possible

Plus en détail

Motivation : pourquoi exploration de données? Nous nous noyons dans les données, mais manquons cruellement de connaissances

Motivation : pourquoi exploration de données? Nous nous noyons dans les données, mais manquons cruellement de connaissances 1 Introduction Définition et motivations Tâches de data mining (fouille de données, exploration de données) Techniques et algorithmes Exemples et applications 1 Motivation : pourquoi exploration de données?

Plus en détail

FlexIS: vers un système d intégration d information flexible

FlexIS: vers un système d intégration d information flexible FlexIS: vers un système d intégration d information flexible P. Colomb 1, et H. Jaudoin 2 1 LIMOS - CNRS UMR 6158, Université Blaise Pascal, France email: colomb@isima.fr LIMOS, 24 Avenue des Landais,

Plus en détail

Classification Automatique de messages : une approche hybride

Classification Automatique de messages : une approche hybride RECIAL 2002, Nancy, 24-27 juin 2002 Classification Automatique de messages : une approche hybride O. Nouali (1) Laboratoire des Logiciels de base, CE.R.I.S., Rue des 3 frères Aïssiou, Ben Aknoun, Alger,

Plus en détail

Travailler avec les télécommunications

Travailler avec les télécommunications Travailler avec les télécommunications Minimiser l attrition dans le secteur des télécommunications Table des matières : 1 Analyse de l attrition à l aide du data mining 2 Analyse de l attrition de la

Plus en détail

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

Plus en détail

Release Notes POM v5

Release Notes POM v5 Release Notes POM v5 POM Monitoring http://www.pom-monitoring.com Ce document est strictement réservé à l usage de la société POM Monitoring. Il ne peut être diffusé ou transféré sans l autorisation écrite

Plus en détail

IBM Cognos TM1. Fiche Produit. Aperçu

IBM Cognos TM1. Fiche Produit. Aperçu Fiche Produit IBM Cognos TM1 Aperçu Cycles de planification raccourcis de 75 % et reporting ramené à quelques minutes au lieu de plusieurs jours Solution entièrement prise en charge et gérée par le département

Plus en détail

avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data

avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data Historique de Big data Jusqu à l avènement d Internet et surtout du Web 2.0 il n y avait pas tant de données

Plus en détail

Mongi TRIKI Docteur en Informatique Université Paris Dauphine

Mongi TRIKI Docteur en Informatique Université Paris Dauphine Université Méditerranéenne Libre de Tunis Faculté Méditerranéenne Privée des Sciences Informatiques, Economiques et de Gestion de Tunis Département d Informatique LICENCE INFORMATIQUE Guide du Stagiaire

Plus en détail

Introduction au datamining

Introduction au datamining Introduction au datamining Patrick Naïm janvier 2005 Définition Définition Historique Mot utilisé au départ par les statisticiens Le mot indiquait une utilisation intensive des données conduisant à des

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université

Plus en détail

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln. MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.fr Plan Introduction Généralités sur les systèmes de détection d intrusion

Plus en détail

Bilan de thèse à mi-parcours

Bilan de thèse à mi-parcours Bilan de thèse à mi-parcours Benjamin Lévy 26 mars 2012 Introduction La thèse de doctorat d informatique (école doctorale 130, EDITE) dont le titre officiel est le suivant : Avatars capables d écoute,

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

Master 2 Informatique UAG. Classification de documents/textes

Master 2 Informatique UAG. Classification de documents/textes Data Mining Master 2 Informatique UAG Classification de documents/textes Utilisée en text mining, information retrieval : amélioration du recall et de la précision Moyen de trouver les voisins les plus

Plus en détail

SEO Camp'us -4 et 5 février 2009. Directeur du pôle métiers Aposition

SEO Camp'us -4 et 5 février 2009. Directeur du pôle métiers Aposition L'apport de la sémantique et de la linguistique statistique pour le SEO SEO Camp'us -4 et 5 février 2009 Philippe YONNET Directeur du pôle métiers Aposition Président de l association SEOCamp Comment classer

Plus en détail

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

Plus en détail

Cours 7: Conception des systèmes interactifs (partie 1)

Cours 7: Conception des systèmes interactifs (partie 1) Cours 7: Conception des systèmes interactifs (partie 1) Anastasia.Bezerianos@lri.fr (plusieurs slides sont basés sur des slides de T. Tsandilas, W. Mackay, M. Beaudouin Lafon, D. Vogel et S. Greenberg)

Plus en détail

Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge concurrente

Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge concurrente Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge Travail de diplôme réalisé en vue de l obtention du diplôme HES par : Muhammad Maqbool

Plus en détail

Département Informatique 5ème année 2008-2009. Cahier des Charges

Département Informatique 5ème année 2008-2009. Cahier des Charges École Polytechnique de l Université de Tours 64, Avenue Jean Portalis 37200 TOURS, FRANCE Tél. +33 (0)2 47 36 14 14 Fax +33 (0)2 47 36 14 22 www.polytech.univ-tours.fr Département Informatique 5ème année

Plus en détail

Forum sur les au Canada. Bibliothèque et Archives Canada, Ottawa. 19 et 20 septembre 2003. Rapport du forum

Forum sur les <métadonnées> au Canada. Bibliothèque et Archives Canada, Ottawa. 19 et 20 septembre 2003. Rapport du forum Direction des bibliothèques Service de catalogage Forum sur les au Canada Bibliothèque et Archives Canada, Ottawa 19 et 20 septembre 2003 Rapport du forum Présenté à : Jean-Pierre Côté, Directeur

Plus en détail

ALEM: Un Modèle de Référence pour les Applications Web Adaptatif Educatif

ALEM: Un Modèle de Référence pour les Applications Web Adaptatif Educatif ALEM: Un Modèle de Référence pour les Applications Web Adaptatif Educatif Mohammed TADLAOUI 1, Azzedine CHIKH 2, Karim Bouamrane 1 1 Université d Oran, Algérie, 2 Université de King Saud, Royaume d'arabie

Plus en détail

Outils Statistiques du Data Mining

Outils Statistiques du Data Mining Outils Statistiques du Data Mining Pr Roch Giorgi roch.giorgi@univ-amu.fr SESSTIM, Faculté de Médecine, Aix-Marseille Université, Marseille, France http://sesstim-orspaca.org http://optim-sesstim.univ-amu.fr

Plus en détail

IFT3913 Qualité du logiciel et métriques. Chapitre 5 Mesure de la qualité du logiciel

IFT3913 Qualité du logiciel et métriques. Chapitre 5 Mesure de la qualité du logiciel IFT3913 Qualité du logiciel et métriques Chapitre 5 Mesure de la qualité du logiciel Plan du cours Introduction Théorie de la mesure Qualité du logiciel Mesure du produit logiciel Mesure de la qualité

Plus en détail

GED ECM :Alfresco. S I A T. T é l : ( + 2 1 6 ) 7 1 7 9 9 7 4 4. F a x : ( + 2 1 6 ) 7 1 7 9 8 3 6 3

GED ECM :Alfresco. S I A T. T é l : ( + 2 1 6 ) 7 1 7 9 9 7 4 4. F a x : ( + 2 1 6 ) 7 1 7 9 8 3 6 3 GED ECM :Alfresco Alfresco est une solution de gestion de contenu d'entreprise (ECM) : elle propose une gestion de contenu d'entreprise complète : gestion documentaire, collaboration, gestion de cycle

Plus en détail

Technologies et Knowledge Management. Knowledge Management. Panorama des technologies. Gilles Balmisse. Journée EGIDE - 4 mars 2003 1

Technologies et Knowledge Management. Knowledge Management. Panorama des technologies. Gilles Balmisse. Journée EGIDE - 4 mars 2003 1 Journée EGIDE - 4 mars 2003 1 Knowledge Management Panorama des technologies Journée EGIDE - 4 mars 2003 2 AU SOMMAIRE Introduction PARTIE 1 Panorama des technologies PARTIE 2 Portail de KM Conclusion

Plus en détail

COURS SYRRES RÉSEAUX SOCIAUX. Jean-Loup Guillaume

COURS SYRRES RÉSEAUX SOCIAUX. Jean-Loup Guillaume COURS SYRRES RÉSEAUX SOCIAUX Jean-Loup Guillaume Le cours http://jlguillaume.free.fr/www/teaching/syrres/ Exemple 1 : Expérience de Milgram Objectif faire transiter une lettre depuis les Nebraska à un

Plus en détail

1 La visualisation des logs au CNES

1 La visualisation des logs au CNES 1 La visualisation des logs au CNES 1.1 Historique Depuis près de 2 ans maintenant, le CNES a mis en place une «cellule d analyse de logs». Son rôle est multiple : Cette cellule est chargée d analyser

Plus en détail

INDEXATION des IMAGES

INDEXATION des IMAGES INDEXATION des IMAGES Marine Campedel www.tsi.enst.fr/~campedel mars 2005 Plan du cours Généralités Méthodes Indexation textuelle Indexation par le contenu Récupération de l information (retrieval) Feedback

Plus en détail

L ANALYSE DU RISQUE DE FAILLITE PAR LE BIAIS DES SYSTÈMES DE L INTELLIGENCE ARTIFICIELLE

L ANALYSE DU RISQUE DE FAILLITE PAR LE BIAIS DES SYSTÈMES DE L INTELLIGENCE ARTIFICIELLE L ANALYSE DU RISQUE DE FAILLITE PAR LE BIAIS DES SYSTÈMES DE L INTELLIGENCE ARTIFICIELLE Paul Pașcu, Assist Prof, PhD, Ștefan cel Mare University of Suceava Abstract: This article aims to present a number

Plus en détail

Bouchekif Abdesselam 11 mars 2012

Bouchekif Abdesselam 11 mars 2012 Expériences sur les données du répertoire de données de UCI avec une boîte à outils Bouchekif Abdesselam 11 mars 2012 Résumé Les dix dernières années ont été témoin de grands progrès réalisés dans le domaine

Plus en détail

1998.02 Composition d un portefeuille optimal. Dinh Cung Dang

1998.02 Composition d un portefeuille optimal. Dinh Cung Dang 199802 Composition d un portefeuille optimal Dinh Cung Dang Docteur en gestion de l IAE de Paris Ingénieur Conseil Résumé : Dans ce travail, le risque est défini comme étant la probabilité de réaliser

Plus en détail

Comment marche le Web?

Comment marche le Web? Comment marche le Web? Sara Alouf Chargée de Recherche, INRIA 6 décembre 2012 Lycée Henri Matisse, Vence Comment marche le Web? Introduction du Web et de l Internet Aperçu historique Comment marche le

Plus en détail

5. Apprentissage pour le filtrage collaboratif

5. Apprentissage pour le filtrage collaboratif 686 PARTIE 5 : Au-delà de l apprentissage supervisé 5. Apprentissage pour le filtrage collaboratif Il semble que le nombre de choix qui nous sont ouverts augmente constamment. Films, livres, recettes,

Plus en détail

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

Apple Pro Training Series Mac OS X Support Essentials Guide de maintenance et de dépannage pour Mac OS X 10.5

Apple Pro Training Series Mac OS X Support Essentials Guide de maintenance et de dépannage pour Mac OS X 10.5 Apple Pro Training Series Mac OS X Support Essentials Guide de maintenance et de dépannage pour Mac OS X 10.5 Kevin M. White Bien démarrer Ce manuel se base sur les mêmes critères utilisés pour la formation

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Méthodes de DM pour la GRC dans les banques

Méthodes de DM pour la GRC dans les banques Techniques de DM pour la GRC dans les banques Page 21 III.1 Introduction Avant de chercher des techniques à appliquer dans la gestion des relations avec les clients. Il faut étudier les données des clients

Plus en détail

Introduction à la méthodologie de la recherche

Introduction à la méthodologie de la recherche MASTER DE RECHERCHE Relations Économiques Internationales 2006-2007 Introduction à la méthodologie de la recherche geraldine.kutas@sciences-po.org Les Etapes de la Recherche Les étapes de la démarche Etape

Plus en détail

Les technologies documentaires adhoc intégrées au sein des services SharePoint pour Windows.

Les technologies documentaires adhoc intégrées au sein des services SharePoint pour Windows. Les technologies documentaires adhoc intégrées au sein des services SharePoint pour Windows. Les services «Microsoft SharePoint» offrent aux utilisateurs Windows un ensemble de fonctions de stockage de

Plus en détail

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème.

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème. Mathématiques - classe de 1ère des séries STI2D et STL. 1. Analyse On dote les élèves d outils mathématiques permettant de traiter des problèmes relevant de la modélisation de phénomènes continus ou discrets.

Plus en détail

Écriture de pages Web

Écriture de pages Web Écriture de pages Web Le langage HTML / XHTML Laurent Tichit Janvier 2011 Laurent Tichit 2005-2010 1 Comment fonctionne le Web? C'est un mécanisme client-serveur. Logiciel serveur : programme qui a pour

Plus en détail

Système D Indexation et de Recherche d Images par le contenu

Système D Indexation et de Recherche d Images par le contenu Système D Indexation et de Recherche d Images par le contenu 1 Houaria ABED, 1 Lynda ZAOUI Laboratoire : Systèmes, Signaux, Données Département Informatique, Faculté des Sciences Université des Sciences

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Table des matières. Avant-propos. Les moteurs (et systèmes) de recommandation... 17 Imad SALEH

Table des matières. Avant-propos. Les moteurs (et systèmes) de recommandation... 17 Imad SALEH Table des matières Avant-propos. Les moteurs (et systèmes) de recommandation... 17 Imad SALEH Chapitre 1. Introduction générale aux systèmes de recommandation... 23 Ghislaine CHARTRON et Gérald KEMBELLEC

Plus en détail

Introduction. Introduction et HTML. A l issue de ce module vous devriez... Ce cours n est pas...

Introduction. Introduction et HTML. A l issue de ce module vous devriez... Ce cours n est pas... Introduction et HTML Technologies du Web 1 Jean-Christophe Routier Licence 1 SESI Université Lille 1 Introduction Objectifs : Présentation des bases de la création de documents web par la découverte des

Plus en détail

Glossaire Analyse en Composantes Principales (ACP) Analyse Factorielle des Correspondances (AFC) Apprentissage supervisé Apprentissage non supervisé

Glossaire Analyse en Composantes Principales (ACP) Analyse Factorielle des Correspondances (AFC) Apprentissage supervisé Apprentissage non supervisé Glossaire Analyse en Composantes Principales (ACP) : *méthode factorielle (Pearson 1901, Hotelling 1933) permettant de fournir un résumé descriptif (sous forme graphique le plus souvent) d une population

Plus en détail

XML_GFD : UN GENERATEUR DYNAMIQUE DE FORMULAIRES XLM VALIDES DTD

XML_GFD : UN GENERATEUR DYNAMIQUE DE FORMULAIRES XLM VALIDES DTD XML_GFD : UN GENERATEUR DYNAMIQUE DE FORMULAIRES XLM VALIDES DTD MAREDJ Azze-Eddine, KHOUATMI-BOUKHATEM Samia, ADJERAD Halima Douniazed Centre de Recherche sur l Information Scientifique et Technique CERIST

Plus en détail