• Aucun résultat trouvé

Standards et architecture du Web sémantique

Dans le document en fr (Page 104-112)

PARTIE 3 État de l’art

3.4 La représentation des connaissances par les ontologies appliquÉes

3.4.4 Standards et architecture du Web sémantique

Lorsque le Web a débuté, il a rapidement été évident qu’un langage standard de représentation des documents (les fameuses « pages » web) était indispensable.Ces standard sont utiles par exemple pour la communication des données (ex. protocoles tel qu’HTTP5) et la présentation des documents (standard HTML6).

Le W3C, associant le MIT (US), KEIO (Japon) et l’INRIA (France), est à l’origine de ce langage standard, support de l’information en ligne. Au fur et à mesure des années, le Web est passé d’un medium d’échange d’information à un medium de déploiement de service. L’étape ultime est celle de la vision du Web sémantique.

Le Web sémantique désigne un ensemble de technologies visant à rendre le contenu des ressources du web accessible aux logiciels, grâce à un système formel de représentation, utilisant notamment la famille de langages standards développés par le W3C (World Wide Web Consortium).

Ainsi, le W3C a poursuivi le développement de standards visant à permettre l’interopérabilité de l’information, puis s’est orienté vers l’utilisation de l’information présente sur le web par les machines. L’ensemble de ces standards constitue l’architecture du web sémantique, représentée dans la « pile technologique du web sémantique », présentée par Tim Bernes-Lee en 2008 et normalisée par le W3C (Figure 26). Les

5 HyperText Transfer Protocol : littéralement protocole de transfert hypertexte

éléments importants nous concernant sont ceux partant de la base de la « pile » : URI, puis par ordre de précision XML, RDF et OWL.

3.4.4.1 XML

XML (Extensible Markup Language ou langage de balise extensible) constitue une famille de langages qui constituent la syntaxe du RDF ; XML est un langage à base de texte qui utilise des balises afin de structurer les données qui y sont contenues.

Ainsi, l’exemple ci-dessous permet de spécifier que le mot Arnaud contenu entre la balise d’ouverture et celle de fermeture est de type « prénom » :

<prenom>Arnaud</prenom><nom>Rosier<nom>

Ces balises peuvent être imbriquées les unes dans les autres, et sont le support des autres langages utilisés par le W3C : HTML, RDF, etc. XML permet d’annoter les données, afin d’indiquer à la machine le contenu sémantique de façon explicite.

3.4.4.2 RDF

Le modèle de donnée RDF (Resource Description Framework) est utilisé pour définir les ressources nommées dans l’URI.

RDF est à la base de la représentation des données. RDF est construit sous la forme de triplets de type sujet/prédicat/objet :

- Le sujet représente la ressource à décrire.

- Le prédicat représente un type de propriété applicable à cette ressource.

- L'objet représente une donnée ou une autre ressource, et correspond donc aux énoncés permettant de décrire la connaissance sous une forme exploitable par la machine.

Le triplet {sujet, prédicat, objet} peut être vu comme {sujet, verbe, complément}. Ainsi, l’assertion « Paris est en France » peut être écrite par le biais d’un triplet RDF comme en Figure 27 ; la sérialisation en RDF-XML de ce graphe pourrait prendre la forme visible en

Figure 27 – Graphe basé sur le triplet RDF « Paris est situé en France » <rdf:Description about="#paris">

<schema:pays>France</schema:pays>

</rdf:Description>

Figure 28 – Sérialisation en langage de balise du triplet « Paris est en France »

En somme, le RDF reprend un mode de représentation associant des concepts ou nœuds, et des relations (prédicats) entre eux. Cependant, RDF est limité : par exemple, RDF ne permet pas de dire que deux concepts sont disjoints. Également, il n’y a pas de représentation de la cardinalité dans RDF. Afin de s’affranchir de ces limitations, les logiques de description ont été intégrée après plusieurs étapes en un nouveau langage appelé OWL.

3.4.4.3 OWL-DL (Web Ontology Language – Description Logics)

OWL (Web Ontology Langage) est un langage dérivé du RDF, et donc utilisant

également une forme à base de triplets. OWL permet d’étendre le RDF en ajoutant des contraintes existentielles et universelles. Le langage OWL se compose de trois sous- langages qui proposent une expressivité croissante, chacun étant conçu pour des communautés de développeurs et des utilisateurs spécifiques : OWL Lite, OWL DL et OWL Full.

Le langage OWL DL est celui utilisé dans le cadre de ce travail. Il concerne les

utilisateurs qui souhaitent gagner en expressivité (c'est-à-dire en capacité à exprimer le plus de choses possibles), tout en gardant la complétude du calcul et la décidabilité du

système de raisonnement. La complétude et la décidabilité sont deux critères majeurs en raisonnement automatique :

- la complétude signifie que toutes les inférences seront assurées d’être prises en compte.

- la décidabilité signifie que tous les calculs réalisés seront terminés en un temps fini.

OWL-DL est nommé ainsi, car il utilise les logiques de description (DL pour Description Logics). Parmi les 3 sous-langages, il est le seul utilisé à des fins de raisonnement automatique. Comme nous l’avions déjà précisé, une base de connaissance modélisée en OWL peut être associé à un moteur d’inférence ou raisonneur, qui permettra d’utiliser la base de connaissance exprimée en OWL automatiquement dans le système expert.

De façon générale, l’extrême majorité des travaux de recherche utilisant les ontologies comme outil de modélisation et de raisonnement sur des connaissances médicales étaient basés sur le sous-langage OWL-DL (et désormais sur son évolution OWL2).

Les lecteurs qui souhaiteraient une illustration complémentaire de la forme que prennent les connaissances exposées dans une ontologie en OWL-DL peuvent se référer à l’exemple d’une ontologie de la « pizza », exemple servant de base aux tutoriels du langage OWL dans l’éditeur Protégé, disponible en Annexe E.

Les nombreuses possibilités supplémentaires offertes par le langage OWL-DL vient des constructeurs logiques, qui permettent de modéliser des axiomes plus précis ; ces constructeurs sont schématisés en Figure 29.

Figure 29 - Représentation graphique des constructeurs logiques de OWL-DL (avec la permission de F. Gandon, INRIA, Mooc Web sémantique 2015) Ces constructeurs permettent de modéliser, entre autres :

- l’union ou la disjonction entre deux concepts, ex. Humain = Homme + Femme, mais Homme et Femme sont des classes disjointes car aucun membre ne peut faire partie des deux.

- la formulation d’une classe par énumération des membres, ex. la classe des traitements anti-hypertenseurs

- des propriétés sur les relations, leur caractère transitif, inverse, symétrique, etc. Par exemple, la relation frère_de est symétrique : si Jean est le frère d’Antoine, alors Antoine est aussi le frère de Jean. La relation ancêtre_de est transitive : l’ancêtre de mon ancêtre est aussi mon ancêtre.

- une cardinalité, c'est-à-dire le nombre de relations entre une instance et d’autres (ex. le nombre de traitements pris par un patient).

En conclusion, XML, RDF et OWL constituent les trois couches de base du Web Sémantique : XML est la syntaxe sur laquelle s’appuient RDF et OWL pour définir des structures de données et les relations logiques qui les lient. OWL est une forme plus

expressive d’énoncés sous la forme de triplets, qui constituent le modèle de représentation de connaissance d’un domaine. Ces 3 éléments sont illustrés dans la

Figure 30. À titre indicatif, SPARQL est un langage de requête employé sur les données stockées en RDF.

Figure 30 - XML, RDF et OWL

OWL 2

OWL2 DL est une itération de OWL-DL. Ce changement de version est intervenu durant le déroulement du projet AKENATON. Si les différences dans le cadre du projet ne sont pas majeures étant donné qu'OWL 2 est rétrocompatible avec la syntaxe OWL1, il est néanmoins utile de préciser ci-après quelques différences entre les 2 versions, étant donné qu'OWL2 a rajouté certaines fonctionnalités :

- OWL2 a un pouvoir expressif supérieur, et permet de représenter des contraintes supplémentaires sur les relations telles que : des propriétés réflexives (par rapport à soi- même), irreflexives (pas par rapport à soi, par exemple la relation « strictement plus grand que »), asymétriques (si A survient avant B, alors le contraire est impossible), et disjointes (auparavant réservé aux classes)

- OWL2 améliore la gestion des datatypes (liens avec les données), qui étaient très limités dans OWL1; ceci est une fonctionnalité d'importance dans les logiciels applicatifs (et en particulier pour l'aide à la décision impliquant des données numériques). Ce point sera abordé dans la discussion.

- OWL2 utilise une syntaxe améliorée, et permet d'exprimer plus simplement certaines propositions; également, on peut désormais exprimer une proposition négative (« ce patient ne prend pas de béta-bloquants »), ce qui était auparavant impossible puisqu'il n'était possible de représenter que les relations existantes. Ceci est potentiellement d'un grand intérêt pour modéliser la connaissance médicale, puisque celle-ci utilise un très grand nombre de déclarations négatives dans le raisonnement : ce patient présente une fibrillation atriale mais ne prend pas d'anticoagulants, il est donc à risque. Ce type de raisonnement était déjà possible mais il fallait passer par des astuces syntaxiques ou des classes intermédiaires.

- OWL2 utilise désormais les IRI (internationalized resource identifier) à la place des URI (uniform resource identifier), ce qui permet l'utilisation de caractères issus des langues asiatiques.

- OWL2 possède 3 sous-langages syntaxiques (ou profils), OWL QL, EL et RL, respectivement orientés vers la gestion de thésaurus de grandes tailles tels que SNOMED- CT et le NCI-Thesaurus, l'intégration aux bases de données SQL, et l'efficacité du raisonnement en échange d'une expressivité réduite.

De façon également significative, la nouvelle version de l’éditeur d’ontologies Protégé (V4) prend désormais en compte OWL2, et surtout présente une stabilité applicative bien meilleure. C’est cette version qui a été utilisée au final dans l’implémentation de l’ontologie.

3.4.4.4 SWRL

SWRL, pour Semantic Web Rule Language (Horrocks et al. 2004) a été proposé comme solution pour les systèmes à base de règles dans le domaine du web sémantique. SWRL

permet d’appliquer des règles de production au sein du Web sémantique.

Une règle SWRL prend la même forme qu’une règle de production, et utilise le même principe : antécédent implique conclusion, c'est-à-dire si la partie de gauche est vérifiée, alors réaliser la partie de droite.

La combinaison d’OWL et SWRL à des fins de raisonnement automatique a été adoptée dans le domaine médical par plusieurs équipes durant la durée de ce travail, et des exemples seront présentés en discussion (Bright et coll. 2012).

Dans le document en fr (Page 104-112)