• Aucun résultat trouvé

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

N/A
N/A
Protected

Academic year: 2022

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

Copied!
96
0
0

Texte intégral

(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 ... 3

1. Présentation du contexte ... 4

1.1. Filtrage de l’information ... 4

1.2. Filtrage basé sur le contenu ... 6

1.3. Filtrage collaboratif ... 7

1.4. Filtrage hybride ... 9

1.5. Techniques de filtrage collaboratif... 10

2. Problématique ... 11

3. Objectifs ... 12

II. Chapitre II : Etat de l’Art ... 13

1. Filtrage Collaboratif ... 14

1.1. Classification des Algorithmes... 14

1.2. Algorithmes basés mémoire ... 14

1.3. Algorithmes basés modèle ... 16

1.4. Algorithmes hybrides ... 19

1.5. Filtrage orienté Utilisateur vs. Ressource ... 20

2. Web Sémantique ... 21

2.1. Web sémantique ... 21

2.2. Technologies sémantiques ... 23

2.3. Pourquoi le web sémantique ... 25

3. Profil Utilisateur ... 26

3.1. Caractéristiques ... 26

3.2. Modélisation d’un profil ... 27

3.3. Représentation du profil ... 30

3.4. Acquisition du profil ... 30

3.5. Le profil utilisateur dans le web sémantique ... 31

4. Similarité Sémantique ... 35

4.1. Comptage des arcs ... 36

4.2. Théorie de l’information ... 38

4.3. Similarité vectorielle ... 39

4.4. Séquences et chaînes ... 40

4.5. Texte intégral ... 40

4.6. Basée Propriétés... 40

4.7. Structures avancées ... 41

4.8. Similarités hybrides ... 41

5. Techniques Hybrides Collaboratives/Sémantiques ... 42

5.1. Inférence d’évaluations implicites ... 42

5.2. Règles d’association (Relation Mining) ... 43

(5)

Table des Matières

6. Autres Aspects ... 44

6.1. Capture des évaluations utilisateur ... 44

6.2. Diversification des thèmes ... 45

6.3. Performance sur un grand nombre de données ... 45

7. Récapitulatif ... 45

III. Chapitre III : Proposition ... 46

1. Approche proposée ... 47

2. Architecture ... 47

3. Distances et corrélation ... 48

4. Moteur de Similarités (SemSim)... 49

5. Filtrage collaboratif (ColFil) ... 53

6. Moteur de recommandations (Recommend) ... 55

IV. Chapitre IV : Evaluation ... 59

1. Implémentation ... 60

1.1. Jeu de données ... 60

1.2. Analyse du jeu de données ... 60

1.3. Données sémantiques ... 61

1.4. Chargement de données supplémentaire... 62

1.5. Construction de l’ontologie ... 63

1.6. Base de données ... 65

1.7. Interface graphique ... 65

2. Méthodologie ... 66

2.1. Evaluation des systèmes de recommandation ... 66

2.2. Mesure de la précision ... 66

2.3. Approche suivie pour l’évaluation ... 68

3. Résultats ... 68

3.1. Algorithme 1 – Prédictions Intuitives ... 68

3.2. Algorithme 2 - Algorithme purement collaboratif. ... 69

3.3. Algorithme 3 - Algorithme purement sémantique. ... 71

3.4. Algorithmes Hybrides ... 73

3.5. Algorithme 4 - Hybridation par Changement Adaptatif (Switching) ... 73

3.6. Algorithme 5 – Hybridation par Pondération (Weighting) ... 74

3.7. Algorithme 6 – Hybridation par Combinaison (Feature Combination) ... 75

4. Discussion ... 77

Conclusion ... 78

Bibliographie ... 80

Annexes ... 84

A. Construction de l’ontologie MovieLens ... 85

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 ... 16

Figure II-2 : Algorithme de clustering hiérarchisé ... 17

Figure II-3 : Algorithme des fourmis artificielles ... 18

Figure II-4 : Réseaux de Bayes ... 18

Figure II-5 : Pièces technologiques du web sémantique ... 23

Figure II-6 : Modélisation d'un profil utilisateur ... 28

Figure II-7 : Exemple de description vCard ... 31

Figure II-8 : Profiling des intérêts de l’utilisateur - Attention Profiling ... 32

Figure II-9 : Nuage de Tags "Tag Cloud" ... 33

Figure II-10 : Code hCard et affichage XHtml ... 34

Figure II-11 : Exemple de hiérarchie de termes dans WordNet ... 36

Figure II-12 : Similarité dans des arbres pondérés ... 41

Figure III-1 : Architecture du système ... 47

Figure III-2 : Structure des composants du système ... 48

Figure III-3 : Graphes des distances collaboratives et sémantiques ... 48

Figure III-4 : Signification des corrélations sémantiques et statistiques ... 49

Figure III-5 : Description sémantique ... 49

Figure III-6 : Similarité entre utilisateurs basée sur la composition de propriétés ... 50

Figure III-7 : Définition et composition de similarités sémantiques ... 51

Figure III-8 : Fichier de configuration des similarités ... 51

Figure III-9 : Structure du module SemSim ... 52

Figure III-10 : Structure du module ColFil ... 55

Figure III-11 : Sous-Matrice d'évaluation utilisée pour la prédiction ... 56

Figure III-12 : Structure du module Recommend ... 58

Figure IV-1 : Répartition des évaluations communes ... 60

Figure IV-2 : Répartition des évaluations ... 61

Figure IV-3 : Répartitions des métiers ... 61

Figure IV-4 : Répartition des codes ZIP ... 61

Figure IV-5 : Répartition des catégories ... 62

Figure IV-6 : Extrait de la description d'un film dans l'IMDB ... 62

Figure IV-7 : Classes principales de l'ontologie MovieLens ... 63

Figure IV-8 : Classification des régions et des langues ... 64

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 » ... 69

Figure IV-11 : Impact du paramètre « nombre d’évaluations minimum » ... 70

Figure IV-12 : Impact de la taille du voisinage ... 71

Figure IV-13 : Impact du « Nombre d’évaluations minimum » ... 72

Figure IV-14 : MAE, Couverture et Temps de calcul par rapport à la similarité minimale ... 72

Figure IV-15 : Changement adaptatif (répartition de l'utilisation des algorithmes)... 74

Figure IV-16 : Algorithme hybride : pondération (MAE) ... 75

Figure IV-17 : Algorithme hybride : Combinaison (MAE et couverture) ... 76

Figure IV-18 : Comparaison des algorithmes ... 77

(8)

Introduction

1

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.

(9)

Introduction

2 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.

(10)

3

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.

(11)

Chapitre I : Présentation du contexte

4

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 (e-mails) 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.

(12)

Chapitre I : Présentation du contexte

5 - 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, e-mails, … 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.

(13)

Chapitre I : Présentation du contexte

6 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.

(14)

Chapitre I : Présentation du contexte

7 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

(15)

Chapitre I : Présentation du contexte

8 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.)

(16)

Chapitre I : Présentation du contexte

9

• 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.

1.4. 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.

(17)

Chapitre I : Présentation du contexte

10 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.

(18)

Chapitre I : Présentation du contexte – Problématique

11

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.

(19)

Chapitre I : Présentation du contexte – Objectifs

12

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 100.000 é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é.

(20)

13

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.

(21)

Chapitre II : Etat de l’Art – Filtrage Collaboratif

14

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.

1.1. 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.

1.2. 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(m2n) avec (n : utilisateurs, m : ressources), qui les empêche d’être utilisées dans des environnements de production.

(22)

Chapitre II : Etat de l’Art – Filtrage Collaboratif

15 1.2.1. 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’.

1.2.2. 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.

1.2.3. La distance de Spearman (utilisateurs)

La distance de Spearman1 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é.

1 http://en.wikipedia.org/wiki/Spearman's_rank_correlation_coefficient

(23)

Chapitre II : Etat de l’Art – Filtrage Collaboratif

16 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é.

1.3.1. 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.

(24)

Clustering répété

Décrit dans [Ungar 98], le clustering répété a pour idée de regrouper

utilisateurs et les ressources de façon séparée. Dans une première phase les utilisateurs so 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

procédure jusqu’à l’obtention de clusters satisfaisants.

Clustering hiérarchisé

Décrit dans [Fisher 96], le clustering

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.

clusters obtenus. On a ainsi un

clusters qui seront utilisés dans la prédiction de l’évaluation.

Figure

Partitionnement de graphes hMetis, kMetis

Décrit dans [Oconnor 99], les algorithmes de partition de graphes utilisées pour la classification

permettent de construire des clusters de couverture de l’algorithme.

Chapitre II : Etat de l’Art – Filtrage Collaboratif

e clustering répété a pour idée de regrouper

de façon séparée. Dans une première phase les utilisateurs so 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

procédure jusqu’à l’obtention de clusters satisfaisants.

e clustering hiérarchisé se base sur la construction

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 à et les minimiser à l’extérieur du cluster. En répète l’opération pour les . 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

, les algorithmes de partition de graphes sont d’

classification, la propriété principale de ces algorithmes est qu’ils de construire des clusters de tailles égales, ce qui permet d’augmenter le niveau de couverture de l’algorithme.

Filtrage Collaboratif

17 e clustering répété a pour idée de regrouper en classe les 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 de ressources. On répète la

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 à En répète l’opération pour les arbre de clusters, les feuilles de cet arbre représentent les

d’autres alternatives , la propriété principale de ces algorithmes est qu’ils de tailles égales, ce qui permet d’augmenter le niveau

(25)

Chapitre II : Etat de l’Art – Filtrage Collaboratif

18 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.

1.3.2. 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.

(26)

Chapitre II : Etat de l’Art – Filtrage Collaboratif

19 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.

1.4. Algorithmes hybrides

1.4.1. 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.

1.4.2. 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.

(27)

Chapitre II : Etat de l’Art – Filtrage Collaboratif

20 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 Amazon2 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, http://www.amazon.com/

(28)

Chapitre II : Etat de l’Art – Web Sémantique

21

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.

2.1. 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 2004.

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].

(29)

Chapitre II : Etat de l’Art – Web Sémantique

22 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.

(30)

Chapitre II : Etat de l’Art – Web Sémantique

23 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.

2.2. 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.

(31)

Chapitre II : Etat de l’Art – Web Sémantique

24 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.

(32)

Chapitre II : Etat de l’Art – Web Sémantique

25 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.

2.3. 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.

Références

Documents relatifs

Ces systèmes sont cependant très intéressants car ils permettent la manipula- tion de plusieurs pointeurs sur un même espace de travail Dans cette catégorie de systèmes,

( ﻟﺍ ﻭﺃ ﺔﻴﻟﻼﳍﺍ ﺕﺍﻮﻨﻘ ، ﺮﺼﺘﻘﺗﻭ ﻊﻤﺴﻟﺎﺑ ﺎﳍ ﺔـﻗﻼﻋ ﻻ ﻦﻜﻟ ﻥﺯﺍﻮـﺘﻟﺎﺑ ﺱﺎﺴﺣﻹﺍ ﻰﻠﻋ ﺎـﻬﺘﻤﻬﻣ. ﺕﺍﺯﺍﺰﺘﻫﻻﺍ ﻩﺬﻫ ﻝﻮﲢ ﺪﻨﻋ ﺔﻳﻭﺎﻀﻴﺒﻟﺍ ﺓﺬﻓﺎﻨﻟﺍ ﺀﺎﺸﻏ ﱃﺇ ﻰﻄﺳﻮﻟﺍ ﻥﺫﻷﺍ

Two adults pushed on the left side to exit, instead of the right, and one child could not exit through the Butterfly Door and had to have an adult open it For the Traditional

Le « filtrage collaboratif » (Collaborative Filtering) est un cas particulier de filtrage, qui a pour principe d'exploiter les évaluations que des utilisateurs ont faites de certains

Le sigle RSB reflète donc l’association de l’algorithme de classification RecTree (scindé en deux parties, respectivement du côté serveur et du côté client), du

Dans cette section, l’utilisateur ayant la centralité de distance la plus élevée (dis- tance moyenne la plus faible) avec les autres utilisateurs de sa classe est considéré comme

Les traits distinctifs de ce qui est déjà l’avatar tel que nous l’entendons dans notre culture numérique contemporaine apparaissent nettement avec ce qui ne se définit encore

Artificial boundary conditions for diffusion equa- tions: Numerical study. Discrete artificial boundary conditions for the black-scholes equation of