Contributions au probleme d’heterogeneite semantique dans les systemes pair- a-pair

Ces quarante dernières années l’informatique a connu deux grandes évolutions majeures. D’une part, la démocratisation de l’ordinateur personnel, dans les années 1970, a permis au grand public de consulter, de manipuler et de créer du contenu numérique. D’autre part, l’apparition du Web dans les années 1990, a permis de créer du contenu et de le partager avec les autres utilisateurs du Web. Ce mode de partage a rendu disponible une grande quantité de données sur le Web. Pour accéder à ces données, de nombreux outils ont été proposés, en particulier des moteurs de recherche tels que Google [PBMW99], Yahoo ! [MPR00], etc. Ces derniers permettent aux internautes de formuler des requêtes, souvent à l’aide de mots-clés, et de récupérer un ensemble de documents. Les outils de recherche à base de mots-clés souffrent de problèmes liés à la linguistique : synonymie, polysémie, etc. Pour palier ces problèmes, une solution consiste à considérer que les documents et les requêtes peuvent être représentés à l’aide de concepts issus d’une ontologie. Une ontologie est une structure permettant de représenter des connaissances en définissant des concepts et en liant les concepts par des relations [SS04, Pow03]. Bien qu’elle nécessite d’annoter ou d’indexer sémantiquement les documents et les requêtes, cette approche a l’avantage de considérer le sens des concepts plutôt que seulement leurs représentations, et les relations entre les différents concepts. Les ontologies permettent de raisonner sur les concepts qui les composent. Par exemple, il est possible de développer des méthodes d’expansion de requêtes : les requêtes sont enrichies par des concepts proches de ceux considérés initialement [Voo94, VCLV08].

Le Web fonctionne sur le modèle client/serveur : les données sont stockées sur des serveurs et les clients accèdent aux serveurs pour les consulter. Ce paradigme possède un certain nombre de limites. Premièrement il n’est pas tolérant aux pannes car la défaillance d’un serveur rend indisponible l’ensemble des données qui s’y trouvaient. Deuxièmement, lorsqu’un utilisateur publie une donnée sur un serveur, il en perd le contrôle : il est désormais tributaire du serveur. Troisièmement, le fait que de nombreux clients se connectent au même serveur peut conduire au phénomène de goulot d’étranglement. La réplication des données sur différents serveurs permet de palier partiellement les problèmes de tolérance aux pannes et de passage à l’échelle. Néanmoins cette approche oblige à maintenir la cohérence entre les données stockées sur les différents serveurs. De plus, les coûts d’achat, de maintenance et la consommation énergétique pour ces différents serveurs peuvent être importants. Les systèmes pair-à-pair (P2P) représentent une alternative au modèle client/serveur [SGG03, SMLN+03, Coh03, ZHS+04]. Dans ce modèle chaque participant, appelé pair ou nœud, joue à la fois le rôle de client et le rôle de serveur. Les systèmes P2P présentent des propriétés intéressantes : passage à l’échelle, tolérance aux pannes, autonomie des pairs, gestion de la dynamicité.

Dans des systèmes à grande échelle comme le Web, les utilisateurs ont souvent des objectifs, des points de vue, des niveaux d’expertise différents [ELBB+04, HPS04, SE08]. Même s’ils sont intéressés pour partager des documents sur un domaine précis, il est peu probable qu’ils arrivent à s’entendre sur l’usage d’une ontologie universelle pour représenter leurs données. Dans le cas où plusieurs ontologies sont utilisées au sein d’un système, nous parlons d’hétérogénéité sémantique. L’hétérogénéité sémantique est un frein à l’interopérabilité car les requêtes émises par les pairs peuvent être incomprises par les autres pairs. Les méthodes d’alignements d’ontologies permettent d’identifier des correspondances entre les concepts de deux ontologies [ES07, ADMR05, MCH09]. Ces correspondances peuvent alors être utilisées pour permettre à deux participants de communiquer bien qu’ils utilisent des ontologies différentes. Néanmoins, dans les systèmes P2P, il se peut qu’un pair ne reçoive aucune réponse à une requête soit parce qu’il n’existe pas suffisamment de correspondances entre son ontologie et celles des pairs qui la reçoivent, ou soit parce que les pairs capables de la comprendre ne sont pas contactés pour la traiter.

ontologies, alignements d’ontologies et mesures sémantiques

Des vocabulaires contrôlés aux ontologies 

La richesse des langues naturelles fait qu’il est difficile, pour une machine, d’interpréter le contenu d’un texte. Pour faciliter la recherche d’information dans une collection de documents, il est possible de définir un vocabulaire précis et prédéfini pour caractériser ces données : c’est ce qu’on appelle un vocabulaire contrôlé. Par exemple, dans une librairie les livres peuvent être décrits suivant leur genre littéraire : roman, roman policier, pièce de théâtre, comédie, essai, etc. Ainsi Les fourberies de Scapin de Molière peuvent être décrites par les termes pièce de théâtre et comédie. Lorsque les termes de ce vocabulaire sont hiérarchisés, il s’agit d’une taxonomie. Une taxonomie permet de préciser qu’un roman policier est un type de roman, et qu’une comédie est une pièce de théâtre. De cette manière, annoter l’œuvre de Molière avec le terme comédie suffit pour expliciter le fait qu’il s’agit d’une pièce de théâtre. Dans une taxonomie, les termes sont hiérarchisés suivant la relation de subsomption (relation « est un »). Un thésaurus est un type de taxonomie dans lequel les termes sont organisés suivant divers types de relations (subsomption, synonymie, association, etc.). Les thésaurus permettent de décrire les concepts décrivant des domaines de connaissance. En ce sens ils se rapprochent de ce que sont les ontologies. Les graphes conceptuels permettent de représenter les connaissances sous forme de graphes étiquetés [CM08a] dans lesquels les nœuds sont des concepts, des propriétés de concepts, ou des instances de concepts, et les arcs sont des relations entre les nœuds. Les mécanismes de raisonnement sont basés sur l’homomorphisme des graphes. Les graphes conceptuels permettent d’interroger des bases de connaissances et de visualiser graphiquement les résultats. En science de l’information une ontologie est une structure permettant de représenter des connaissances.

Ontologies

En sciences de l’information, les ontologies ont initialement été utilisées en intelligence artificielle pour permettre à différents agents d’interopérer. L’une des premières définitions a été donnée par Thomas Gruber en 1993 : « Une ontologie est une spécification explicite d’une conceptualisation » [Gru93]. Une ontologie sert à décrire une partie du monde réel d’un point de vue particulier. En 1997, Borst définit une ontologie comme étant une « spécification formelle d’une conceptualisation partagée » [Bor97]. Cette définition suggère qu’une ontologie doit représenter le point de vue de plusieurs parties, et non d’un seul individu. Guarino et Giaretta proposent de définir une ontologie comme étant « une théorie logique qui définit explicitement une description partielle d’une conceptualisation » [GG95]. Ils insistent sur le fait qu’une ontologie ne peut pas être une représentation de la réalité dans le sens où celle-ci peut être perçue différemment selon les points de vue, les cultures, etc. Toutes ces définitions font apparaître la notion de conceptualisation. Selon Guarino, Oberle et Staab « une conceptualisation est une vue abstraite et simplifiée du monde que l’on souhaite représenter dans un certain but » [GOS09]. Dans [Hep08], Hepp insiste sur le fait qu’une ontologie n’est pas une base de connaissance. Une ontologie définit le vocabulaire et la spécification formelle permettant de construire une base de connaissance : elle contient des concepts et des instances. Par exemple les concepts homme et femme peuvent être contenus dans une ontologie, mais les instances Pierre, Paul et Jacques (qui sont des instances d’homme) doivent être stockés dans une base de connaissance. En réalité, lorsqu’une ontologie contient des instances, nous parlons d’ontologie peuplée [AEPR11].

Les langages ontologiques doivent répondre à plusieurs exigences. Ils doivent :

– être bien définis syntaxiquement : c’est une condition nécessaire à tout langage devant être interprété par une machine,
– être bien définis sémantiquement : ils ne doivent pas être interprétables de différentes manières par différentes personnes, ou différents agents. La sémantique doit être sans ambiguïté,
– présenter un support de raisonnement efficace : ils doivent être construits de manière à faciliter le raisonnement, la déduction, etc.,
– être suffisamment expressifs : ils doivent permettre de définir des notions complexes,
– faciliter la définition d’ontologies : ils doivent être suffisamment simples pour que les concepteurs puissent définir des ontologies “facilement”.

RDF(S) : Resource Description Framework 

Le ressource description framework (RDF) a été développé par le W3C pour permettre d’annoter sémantiquement le Web dit syntaxique [Pan09, Pow03]. L’objectif est de rendre le Web compréhensible non pas seulement par les humains, mais également par les machines (ou agents intelligents). Les ressources Web (pages, services, etc.) sont annotées à l’aide de triplets RDF. Un graphe RDF est un ensemble de triplets RDF, chaque triplet étant de la forme :

(sujet propriété objet)

Le sujet et la propriété sont des ressources, c’est-à-dire qu’elles sont identifiées de manière unique (soit par un URI, soit par un URIref). L’objet peut être une ressource ou un littéral (une chaîne de caractères, un nombre entier, etc.).

Le framework RDF définit le langage RDF/XML permettant de représenter des triplets RDF. La figure 1.1 présente un ensemble de triplets RDF décrivant la ressource http://example.org/People#John. Le titre de cette ressource est All about John Doe et elle a été crée par Jane Doe. La figure 1.2 présente le même ensemble d’annotations dans la syntaxe RDF/XML.

@prefix rdf: <http://www.w3.org/1999/02/22-ref-syntax-ns#>
@prefix ex: <http://example.org/People#>
ex:John ex:titre « All about John Doe » .
ex:John ex:createur « Jane Doe » . 
Figure 1.1 – Annotations RDF.

<rdf:RDF xmlns:rdf= »http://www.w3.org/1999/02/22-rdf-syntax-ns# »
xmlns:ex= »http://example.org/People# »>
<rdf:Description rdf:about= »ex:John »>
<ex:titre>All about John Doe</ex:titre>
<ex:createur>Jane Doe</ex:createur>
</rdf:Description>
</rdf:RDF> .
Figure 1.2 – Annotations RDF exprimées en RDF/XML. 

Le W3C a développé le langage RDFS (RDF Schema). Celui-ci prédéfinit des ressources permettant de créer des classes (rdfs:Class), des  propriétés (rdfs:Property) et des ressources (rdfs:Resource). Il définit également un ensemble de méta-propriétés :
– rdf:type : permet d’instancier une ressource,
– rdfs:subClassOf : correspond à la relation de subsomption entre deux classes,
– rdfs:subPropertyOf : correspond à la relation de subsomption entre deux propriétés,
– rdfs:domain : domaine d’une propriété,
– rdfs:range : codomaine d’une propriété

La figure 1.3 présente une ontologie RDFS contenant trois classes : les classes Homme et Femme sont des sous-classes de Personne. Trois propriétés sont définies : age (entre une personne et un nombre entier), mere (entre une personne et une femme) et enfant (entre deux personnes). Il est possible d’utiliser des schémas de métadonnées prédéfinis pour annoter des ressources. Par exemple le Dublin Core Metadata Element Set regroupe quinze propriétés permettant d’annoter des ressources bibliographiques. Il contient les propriétés dc:Title, dc:Creator, dc:Date, etc.

@prefix rdf: <http://www.w3.org/1999/02/22-ref-syntax-ns#>
@prefix ex: <http://example.org/People#>
ex:Personne rdf:type rdfs:Class .
ex:Homme rdf:type rdfs:Class ;
rdfs:subClassOf ex:Personne .
ex:Femme rdf:type rdfs:Class ;
rdfs:subClassOf ex:Personne .
ex:age rdf:type rdfs:Property ;
rdfs:domain ex:Personne ;
rdfs:range http://www.w3.org/2001/XLMSchema#Integer .
ex:mere rdf:type rdfs:Property ;
rdfs:domain ex:Personne ;
rdfs:range ex:Femme .
ex:enfant rdf:type rdfs:Property ;
rdfs:domain ex:Personne ;
rdfs:range ex:Personne . 
Figure 1.3 – Une ontologie RDFS. 

Le langage SPARQL permet d’interroger (ou de modifier) les bases de triplets RDF, aussi appelés triplestores [PS06, HBS09]. Depuis Janvier 2008, SPARQL est devenu la recommandation officielle du W3C. La figure 1.4 présente un exemple de requête SPARQL. Celle-ci permet d’extraire l’âge de tous les hommes contenus dans une base de triplets.

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ex: <http://example.org/People#>
SELECT DISTINCT ?age
WHERE {
?personne rdf:type ex:Homme.
?personne ex:age ?age
} .
Figure 1.4 – Une requête SPARQL retournant les âges de tous les hommes présents dans une base de triplets RDF. 

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

INTRODUCTION
I Introduction
Contexte général
Problématiques
Contributions
Organisation du document
II État de l’art
1 Sémantique : ontologies, alignements d’ontologies et mesures sémantiques
1.1 Des vocabulaires contrôlés aux ontologies
1.2 Ontologies
1.2.1 RDF(S) : Resource Description Framework (Schema)
1.2.2 OWL : Web Ontology Language
1.2.3 Logique de description
1.3 Hétérogénéité : niveaux et sources
1.3.1 Niveaux d’hétérogénéité
1.3.2 Sources de l’hétérogénéité sémantique
1.4 Alignement d’ontologies
1.4.1 Processus d’alignement
1.4.2 Applications
1.4.3 Exemples de systèmes d’alignements existants
1.5 Mesures sémantiques
1.5.1 Similarités intra-ontologie
1.5.2 Similarités entre ontologies
1.6 Bilan
2 Systèmes P2P
2.1 Paradigme P2P
2.2 Architectures P2P
2.2.1 Systèmes à index centralisés
2.2.2 Systèmes décentralisés
2.2.3 Systèmes hiérarchiques
2.2.4 Comparaison
2.3 Protocoles épidémiques
2.3.1 Principes
2.3.2 Applications
2.4 Bilan
3 Recherche d’information
3.1 Introduction à la recherche d’information
3.2 Modèles de recherche d’information
3.2.1 Modèle booléen
3.2.2 Modèle vectoriel
3.2.3 Modèle booléen étendu
3.2.4 Modèle probabiliste de pertinence
3.3 Évaluation d’une méthode de RI
3.3.1 Corpus de test
3.3.2 Mesures
3.4 Bilan
4 Systèmes distribués de RI et de gestion de données
4.1 Systèmes distribués homogènes de recherche d’information
4.2 Systèmes distribués hétérogènes de gestion de données
4.2.1 Bases de données relationnelles
4.2.2 Données XML
4.2.3 Dépôts de triplets RDF
4.3 Méthodes de réconciliation sémantique et méthodes de réorganisation
4.3.1 Méthodes de réduction des disparités entre pairs
4.3.2 Méthodes de réorganisation
4.4 Bilan
III Contributions
5 Mesures d’hétérogénéité sémantique
5.1 Problématique et objectifs
5.2 Modèle de système P2P sémantique
5.2.1 Ontologies et correspondances
5.2.2 Fonctions d’appariement
5.2.3 Mesure de disparité entre pairs
5.2.4 Modèle de système P2P sémantique
5.2.5 Mesure d’hétérogénéité sémantique
5.3 Typologie de mesures d’hétérogénéité sémantique
5.3.1 Intuitions
5.3.2 Typologie des mesures d’hétérogénéité sémantique
5.4 Mesures d’hétérogénéité sémantique
5.4.1 Mesures ne tenant pas compte de la topologie
5.4.2 Mesures tenant compte de la topologie
5.5 Mesures de disparité sémantique entre pairs
5.5.1 Mesures basées sur les entités des ontologies
5.5.2 Mesures considérant la notion de similarité intra-ontologie
5.5.3 Mesures prenant en compte les intérêts des pairs
5.6 Discussions
6 Diminution de l’hétérogénéité liée aux disparités
CONCLUSION

Lire le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *