• Aucun résultat trouvé

III.3 L’annotation sémantique

III.3.2 Représentation formelle des annotations

III.3.2.1 Technologies du Web sémantique

Plusieurs langages de représentation de la connaissance et d’annotation sémantique ont été proposés (plus de détails dans [Amardeilh, 2007,Oren et al., 2006]). La plupart de ces langages sont essentiellement apparus dans le Web Sémantique et sont surtout standardisés et recom-mandés par W3C15 16. Ils ont la particularité d’être munis de sémantique formelle permettant d’être compatible les uns les autres [Baget et al., 2005]. Nous nous intéressons particulièrement ici aux langages (Figure III.2) d’assertion ou d’annotation (RDF), de définition de ressources sémantiques (RDFs, OWL), de manipulation et d’interrogation des annotations (SPARQL).

Figure III.2Architecture du Web Sémantique par Berners-Lee17.

RDF [Klyne and Carroll, 2004, Hayes, 2004](Resource Description Framework) est un modèle formel qui permet de définir des relations entre des ressources du Web (pages web, documents textuels bruts (pdf, txt, doc, etc.), multimédias (images, vidéos), etc.) anonymes ou identifiées par une URI18. RDF repose sur un modèle de graphe décrit sous forme de triplets. Chaque triplet correspond à un ensemble de trois éléments : <sujet -prédicat-objet> où le sujet représente la ressource à décrire, le prédicat correspond la propriété descriptive du sujet, et l’objet représente la valeur de cette propriété (qui est

15. http ://www.w3.org/

16. http ://fr.wikipedia.org/wiki/World_Wide_Web_Consortium 17. http ://www.w3.org/2009/Talks/0204-campus-party-tbl

18. Uniform Resource Identifier(http ://fr.wikipedia.org/wiki/Identifiants_uniformisés_de_ressource)

III.3 L’annotation sémantique

soit une valeur littérale (numérique, chaîne de caractères) soit une autre ressource du Web).

RDF est surtout utilisé pour annoter sémantiquement un document dans son ensemble.

Les annotations peuvent être des notes, des commentaires, des explications qu’on as-socie à un document. Elles peuvent aussi être conceptuelle c’est-à-dire qu’elles lient un concept sémantique tiré d’une ontologie afin d’établir le sujet principal du document (par exemple un document qui parle des matchs de la ligue 1 parle de « Football »). Ce type d’annotation est implémenté dans des outils comme SMORE [Kalyanpur et al., 2003] ou Annotea [Kahan et al., 2001]. L’annotation du contenu à proprement parler d’un docu-ment consiste le plus souvent à annoter de façon précise des parties, des mots ou des groupe de mots du document. Ce dernier est le cas qui apparaît le plus dans la littérature et est souvent assimilé à l’indexation conceptuelle. Les mots du document sont annotés par des concepts tirés d’un modèle sémantique pouvant par exemple être une ontologie. Des outils ont été proposés pour annoter un document au regard d’un tel modèle sémantique.

On peut citer les outils Semtag [Dill et al., 2003] ou KIM [Popov et al., 2003], reposant eux-mêmes sur des outils d’extraction pour identifier les fragments de texte à annoter et leur associer une étiquette sémantique. Il s’agit d’ordinaire de systèmes d’extraction d’informations dans des ressources non structurées qui exploitent une analyse linguistique du texte comme certains modules d’extraction d’information intégrés à la plateforme lin-guistique GATE [Cunningham, 2002] ou Amilcar [Ciravegna and Wilks, 2003].

RDFa [Adida and Birbeck, 2008,Adida et al., 2008] (RDF in attributes). Dans la majo-rité de ces outils, les annotations ne sont pas intégrées dans le document, en particulier lorsque celui-ci est non structuré. Elles sont alors stockées dans un document indépen-dant de triplets RDF. Un tel document serait alors composé d’un ensemble d’occurrences (chacune correspondant à un triplet) d’objets conceptuels (concept, relation ou propriété, ou instance). L’exempleIII.3 décrit un ensemble de triplets RDF qui définissent une oc-currence d’une instance du concept « Doctorant »(via le prédicat « rdf :type ») ainsi que des propriétés caractéristiques de celle-ci (« skos :prefLabel», « lieu_naissance »,

« date_naissance »). Récemment (en 2008), le modèle de représentation RDFa a été recommandé par le W3C pour intégrer des annotations sous forme de triplets RDF dans le document. Il permet alors d’encapsuler des triplets RDF dans des pages XHTML19; celui-ci respectant la syntaxe XML est compatible avec RDF. Et dans le document, tout fragment de texte annoté correspond à un ou plusieurs triplets RDF où chacun d’eux peut

19. http ://fr.wikipedia.org/wiki/Extensible_HyperText_Markup_Language

Chapitre III. Autres notions utiles

aussi servir à annoter un sous-fragment du fragment annoté. L’exempleIII.4reprend ainsi l’annotation RDF de la figure III.3au format RDFa.

<rdf:Description rdf:about="http://www-lipn.univ-paris13.fr#Guisse">

<skos:prefLabel>Abdoulaye Guisse</skos:prefLabel>

<rdf:type rdf:resource="#Doctorant"/>

<lieu_naissance rdf:resource="#Dakar"/>

<date_naissance>18 Juin 1983</date_naissance>

</rdf:Description>

Figure III.3Exemple de triplets décrivant une annotation sémantique d’un fragment de texte.

<html xmlns="http ://www.w3.org/1999/xhtml">

...

<div typeof="Doctorant" about="http ://www-lipn.univ-paris13.fr#Guisse">

L’étudiant <span property="skos :prefLabel">Abdoulaye Guissé</span> suit sa thèse à Pa-ris 13. <span typeof="http ://www-lipn.univ-paPa-ris13.fr#Guisse">Il</span> est né à <span property="lieu_naissance"><span typeof="Dakar">Dakar</span></span> le <span pro-perty="date_naissance">18 Juin 1983 </span>...

</div>

...

</html>

Figure III.4Exemple d’annotation RDFa.

RDFS[Antoniou et al., 2005] (RDF Schema) a été proposé comme extension du langage RDF pour décrire les ressources sémantiques utilisées pour annoter un document RDF.

Il permet d’étiqueter les concepts sous forme de classes afin de structurer les annotations RDF. RDFS est un langage de triplet comme RDF mais destiné à définir le vocabulaire des informations stockées dans les triplets RDF. A travers le vocabulaire, il peut être utilisé pour définir des ontologies très basiques correspondant à une taxonomie de classes et de leurs relations. Cela offre une expressivité sémantique intéressante aux annotations RDF où chaque sujet de triplet RDF est une instance d’une classe conceptuelle du schéma RDF utilisé. Sur la figure III.5, nous montrons des triplets RDFS définissant un petit vocabulaire pour l’annotation précédente (FigureIII.3).

OWL [Antoniou et al., 2005] (Web Ontology Language). Les ontologies sont de plus en plus utilisées pour les besoins d’indexation conceptuelle ou d’annotation sémantique de

III.3 L’annotation sémantique

<Doctorant rdf :type rdfs :Class>, le concept Doctorantest une classe ;

<étudiant rdf :type rdfs :Class>, le concept étudiant est une classe ;

<Doctorant rdfs :subClassOf étudiant>, unDoctorant est un étudiant;

<Ville rdf :type rdfs :Class>, le concept Ville est une classe ;

<Dakar rdf :type Ville>,Dakar est uneVille, c’est une instance du concept ;

<lieu_naissance rdf :type rdfs :Property>, lieu_naissanceest une propriété ;

<lieu_naissance rdfs :domain étudiant>, toute ressource utilisée comme sujet au prédicat lieu_naissanceest de type étudiant (ex :Doctorant) ;

<lieu_naissance rdfs :range Ville>, toute ressource utilisée comme objet au prédicat lieu_naissanceest de type Ville (ex :Dakar) ;

...

Figure III.5Exemple de triplets RDFS.

documents. Une ontologie définit un modèle de données représentatif d’un ensemble de concepts d’un domaine particulier et les relations qu’ils entretiennent. Nous avons vu que RDFS pouvait servir à définir une ontologie simple à partir d’une taxonomie de classes.

Cependant RDFS présente des limites qui bornent l’expressivité sémantique des connais-sances notamment son impossibilité à raisonner sur celles-ci. Comme une ontologie repose sur un modèle de graphe d’organisation des connaissances où les concepts sont définis les uns par rapport aux autres autorisant le raisonnement sur les connaissances, la défini-tion d’un modèle de représentadéfini-tion ontologique est plus que nécessaire. C’est ainsi que le langage OWL (Web Ontology Language) a été proposé par le W3C et permettant de décrire des ontologies. OWL est fondé sur la syntaxe RDF et est une sorte d’exten-sion de RDFS inspiré de la logique descriptive20. En effet, il a la capacité de décrire les concepts en classes via une taxonomie comme dans RDFS, mais aussi il propose un ensemble de relations logiques entre les classes et leurs propriétés. Il s’agit notamment de relation de comparaison : identité, équivalence, contraire, cardinalité, symétrie, tran-sitivité disjonction, etc. Il permet aussi d’apposer des contraintes notamment d’intégrité ou des restrictions sur les classes. Tout cela lui confère ainsi une forte expressivité sup-plémentaire comparer au RDFS et une sémantique formelle permettant de raisonner et mieux manipuler les connaissances. OWL est un langage riche et complexe à la fois, il est défini en trois niveaux : 1) OWL Lite est l’équivalent du RDFS permettant de définir une taxonomie de classes. 2) OWL DL est équivalent à une logique de description assez complexe mais décidable. Il offre la possibilité d’inférer et d’effectuer des calculs logiques sur les connaissances. 3) OWL Full est une extension de OWL DL autorisant la représen-tation de collections de classes et laissant la possibilité qu’une classe soit instance d’une

20. http ://fr.wikipedia.org/wiki/Logique_de_description

Chapitre III. Autres notions utiles

autre classe. La logique de description sous-jacente n’est pas décidable.

SKOS[Miles et al., 2005,Assem et al., 2006] (Simple Knowledge Organization System).

Basé aussi sur le modèle RDF, SKOS est utilisé pour décrire des terminologies telles que des vocabulaires, des thésaurus, des dictionnaires, des glossaires, etc. De ce fait, il est souvent combiné aux modèles de type OWL afin de définir des ontologies lexi-calisées c’est-à-dire des ontologies enrichies de connaissances lexicales (terminologiques) [Buitelaar et al., 2011]. C’est ce type d’ontologies qui est dans la méthode de construc-tion Terminae [Aussenac-Gilles et al., 2008] où les concepts ontologiques sont associés à un ensemble de valeurs terminologiques synonymes. Dans ce cas précis, SKOS permet d’associer aux concepts des termes préférentiels et des termes alternatifs qui dotent une ontologie d’une sémantique linguistique, laquelle sert ensuite à améliorer l’annotation sémantique d’un contenu textuel[Bechhofer et al., 2002].

SPARQL21 (SPARQL Protocol and RDF Query Language) est un langage de requête inspiré du SQL et essentiellement proposé pour manipuler des données RDF. Il permet de rechercher, ajouter, modifier ou supprimer des données dans un graphe RDF. Il est aussi utilisé pour naviguer dans un ensemble d’annotations RDF, dans des vocabulaires RDFS ou OWL ou pour naviguer entre les annotations et les vocabulaires.