• Aucun résultat trouvé

II. Chapitre II : Etat de l’Art

1. Filtrage Collaboratif

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.

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/

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

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.

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.

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.

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.

Chapitre II : Etat de l’Art – Profil Utilisateur

26

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.

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

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

Chapitre II : Etat de l’Art – Profil Utilisateur

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

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

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

3.2.1. 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, …

Chapitre II : Etat de l’Art – Profil Utilisateur

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

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.