ontologie

Petit panorama d’outils sur les ontologies : les modeleurs

Ces outils permettent de concevoir une ontologie en la modelant. L’UX et l’ergonomie de ces outils est leur principal valeur ajoutée. En voici quelques-uns…

Catégorie : ceux qui marchent

Catégorie : les morts-vivants, on ne sait pas trop

Catégorie : les disparus



Petit panorama d’outils sur les ontologies : les browsers

Ce ne sont pas vraiment des éditeurs puisque leur propos est de naviguer dans une ontologie pour en découvrir les coins et les recoins. Ce sont des outils utiles pour comprendre une ontologie et pour l’utiliser. L’UX et l’ergonomie de ces outils est leur principal valeur ajoutée. En voici quelques-uns…

Catégorie : ceux qui marchent et sont d’un usage général

Catégorie : ceux qui marchent et sont spécialisés


Petit panorama d’outils sur les ontologies : les éditeurs

Les éditeurs d’ontologie aident à la création, la modification, la visualisation et bref à la manipulation d’ontologies, et ici manipulation veut dire que le travail est plutôt manuel !

Ils gèrent les ontologies dans un ou plusieurs des langages d’expression des ontologies. Certains outils fournissent des exportations vers d’autres langages d’ontologie. Les plus simples seront des éditeurs syntaxiques réagissant à l’un des langages de description d’ontologies, en premier lieu : OWL. Il y a aussi des outils très voisins comme des éditeurs SKOS et des gestionnaires de thésaurus.

Voici quelques outils, il y en a beaucoup d’autres (vous pouvez d’ailleurs me laisser un commentaire pour je mette à jour cette page).

Catégorie : ceux qui marchent

  • Altova est un éditeur OWL payant
  • Apollo. C’est un éditeur d’ontologie. Il est téléchargeable avec sa documentation (version de 2004).
  • CmapTools Ontology Editor (COE) est un éditeur d’ontologies en techno Java téléchargeable pour Windows, Linux, Solaris et MacOS X. Il supporte de nombreux formats.
  • DOE (Differential Ontology Editor) est un éditeur d’ontologies développé à Eurécom. Il supporte de nombreux formats. Dernière version : 1.51 de 2003.
  • EMFText OWL2 Manchester Editor, basé sur Eclipse, open-source, et intégrant Pellet (raisonneur)
  • Euler GUI est un éditeur qui prend en compte des sources en N3, RDF, OWL, UML, eCore, plain XML ou XSD, des fichiers ou des URL. Il y a d’autres choses encore, à fouiller !
  • FlexViz est un outil de visualisation graphique (en Adobe Flex). Il permet aux utilisateurs de parcourir une ontologie unique où les concepts sont représentés par des nœuds et les relations entre les concepts (par exemple “is_a”, “part-of”) sont représentés par des arcs.
  • IBM Integrated Ontology Development Toolkit est une boîte à outils pour ontologies basée sur Eclipse qui offres des fonctions de stockage, manipulation, d’interrogation et d’inférerence
  • ITM, Intelligent Topic Manager gère de manière unifiée des terminologies métier, des thésaurus, des taxonomies, un dictionnaire de métadonnées (Web Services, API et standards XML, SKOS, RDF).
  • Knoodl is a community-oriented ontology and knowledge base editor.
  • Neologism est un éditeur de vocabulaire en ligne et une plateforme de publication
  • NeOn Toolkit est un éditeur très complet (beaucoup de pluggins). Il est recommandé pour les gros projets, par exemple pour les ontologies multi-modulaires, multilingues ou la fusion d’ontologie
  • Ontopia est une suite open source des outils pour construire des applications basées sur les Topic Maps, fournissant des fonctionnalités telles que designer d’ontologie, un éditeur de données d’instance, un langage de requête complet, les points d’accès aux services web, base de données de stockage, et ainsi de suite.
  • OntoStudio est un outil basé sur Eclipse. Il est téléchageable, supporte RDF(S), OWL et F-Logic. Cet éditeur permet d’édition graphique des règles, et la visualisation. Il a été conçu par ontoprise (version d’essai pendant 3 mois)
  • PoolParty est un éditeur SKOS et un gestionnaire de thésaurus
  • Protégé est un éditeur open source très complet (beaucoup de plugins). Il est le plus célèbre de sa catégorie. On pourrait aussi dire de lui que c’est un “modeleur d’ontologie”. Il propose deux types de modélisation d’ontologies : Protégé-Frames et Protégé-OWL. Les ontologies créés dans Protégé peuvent être exportées dans les formats RDF(S), OWL et XML Schema.
  • SWOOP est un petit éditeur très simple
  • TopBraid Composer est l’éditeur multi-propos de TopCadrant
  • Vitro est un éditeur intégré et une application web de navigation (‘Université Cornell, 2011)
  • WebProtégé la version en ligne de Protégé

Catégorie : les morts-vivants, on ne sait pas trop

  • Chimaera aide les utilisateurs à créer et maintenir des ontologies. Ses deux grandes fonctions sont a) la fusion et b) le diagnostic d’ontologies.  Il permet aussi  le chargement de bases de connaissances dans différents formats, la réorganisation de taxonomies, et fonctions majeurs : il supporte la fusion de plusieurs ontologies et le diagnostic d’une ontologie ou de plusieurs. On ne parvient pas à accéder au téléchargement, il faut probablement entrer en contact avec le labo de Stanford.

Catégorie : les disparus

  • Java Ontology Editor (JOE) (1998)
  • OilEd, un éditeur élémentaire d’ontologie pour la création d’ontologies basées sur OIL. Réalisé à l’Université de Manchester, il n’est plus maintenu.
  • Ontofly était un éditeur en ligne.

Bibliographie


Petit panorama d’outils sur les ontologies : les moteurs de recherche

(Mise à jour le 14 avril 2013)

Devant la difficulté de créer une ontologie, on peut vouloir en trouver une qui corresponde à son besoin. Mieux, on peut vouloir trouver une ontologie existante car elle aura déjà fait ses preuves, elle aura peut-être une communauté d’adorateurs. Bref, il n’est pas besoin de vous dire l’utilité des moteurs de recherche qui vous permettront de trouver l’ontologie de vos rêves.

L’utilisation de ces moteurs est un peu particulière. L’expression de la recherche se fait en langage naturel avec des mots clés et les résultats produits sont classés. Certaines informations supplémentaires sont souvent fournies.

Mais la difficulté n’est pas dans la recherche à proprement parlé. Une fois que vous avez une liste de résultats, la vraie question est : laquelle choisir ! C’est pour cette raison qu’il existe une nouvelle catégorie d’outils comme LOV (une version indépendante est hébergée à l’OKFN), un des modules de Datalift, destiné à cataloguer, trouver et choisir des ontologies. Ca mérite le détour.

Voici quelques outils, il y en a beaucoup d’autres (vous pouvez d’ailleurs me laisser un commentaire pour je mette à jour cette page).

Catégorie : ceux qui marchent

  • FalconS pour chercher et trouver des objets, des concepts, des ontologies ou des documents. Pour les ontologies, les résultats sont rendus avec des graphes.
  • LOV, l’outil de référence, recherche parmi des ontologies de référence.
  • ontologi.es est une liste de liens … c’est très sommaire, mais ça peut servir (merci Raphaël)
  • ontosearch pour chercher par des termes.
  • Sindice, l’outil facile et utile pour trouver en soumettant des termes, des URI, des propriétés et un mode avancé pour aller plus loin. Il y a encore d’autres fonctions utiles …
  • Swoogle est un ancien outil toujours en ligne, il n’a pas évolué depuis 2007.
  • SWSE permet de rechercher des entités RDF (résultat universitaire, 2011)
  • vocab.cc est un projet open source, qui permet de rechercher des vocabulaires de données liées. Il fournit un classement des URI. (Il tombe en 404 quand il ne trouve pas)
  • vocab.org est destiné à être un espace d’URI ouvert pour des vocabulaires tels que RDF schema ou des documents d’espaces de noms XML (merci Raphaël)
  • Watson est un moteur intéressant car il évolue régulièrement (à suivre).

Catégorie : les morts-vivants, on ne sait pas trop

Catégorie : les disparus

  • schemapedia … ce dernier était le plus intéressant car il fournissait non seulement des vocabulaires mais de nombreux exemples quant à leur utilisation. Malheureusement, il était basé sur la plate-forme Talis et il s’en est allé avec cette plate-forme. Le code est toute fois ouvert sur Google Code (merci Raphaël).

  • Petit panorama d’outils sur les ontologies

    Définition

    Commençons par rappeler ce qu’est une ontologie dans le monde du web des données. Pour cela, je vous renvoie à mon post Comment définir une ontologie ?

    Synonyme

    Le mot ontologie est souvent inconnu. Plutôt que d’être mal compris, il vaut mieux parfois proposer un synonyme. Vous pouvez choisir le mot “vocabulaire”, il est régulièrement utilisé dans ce sens.

    Expression

    Pour exprimer une ontologie, il faut un langage. Le plus courant est aujourd’hui OWL. Ce chouette langage qui tire son nom d’un acronyme, Web Ontology Language, a été proposé dès 2004 au W3C (une version française de la proposition est disponible). En 2009, une proposition pour OWL 2 a été soumise, sa dernière version date de 2012.

    Opérations

    Avant de trouver des outils pour manipuler des ontologies, commençons par nous demander ce qu’on peut vouloir faire. Très simplement, on peut créer, modifier (ou transformer), éditer, tester, cataloguer, rechercher, comparer … des ontologies.

    Donc, il nous faut des éditeurs (pour créer, modifier, éditer), des documenteurs, des validateurs (pour tester), des catalogueurs, des moteurs de recherche, des comparateurs, sans oublier des outils d’aide à des traitements plus complexes comme l’alignement d’ontologies, la gestion de version, le split d’ontologie ou son contraire la fusion (merge), la différence, etc…

    Le premier travail, qui est loin d’être facile, c’est la création d’une ontologie (cela peut prendre plusieurs mois !), il n’est guère plus facile de propager les modifications induites par l’évolution d’une ontologie. Humm, ça sent les verrous technos !

    Alors, il faut y aller en douceur : il y a des outils simples et puis des outils carrément pas simples. Et il y a des outils indépendants et des outils intégrés ou intégrables dans des plateformes, comme par exemple la plateforme Datalift.

    Encore deux précisions importantes. La première est que la création d’une ontologie est une oeuvre de l’esprit plutôt que le résultat d’un traitement sauf pour la découverte automatisée de l’ontologie d’un ou plusieurs documents structurés, dans ce cas l’ontologie ad hoc n’apporte pas d’information, elle calque la réalité observée, pas plus. La deuxième est que plusieurs travaux scientifiques ont produit des outils qui ne sont malheureusement pas toujours pérenniser … et le 404 ou le 500 ne sont pas loin.

    Dans les prochains posts, j’aborderai différentes catégories d’outils et je vous invite à réagir pour nous enrichir mutuellement de nos connaissances !


    Comprendre la philosophie de Datalift par quelques exemples…

    L’entrepreneur qui crée un nouveau produit, le développe dans son entreprise. Il a besoin d’un accès à l’extérieur pour trouver des informations sur sa concurrence et sur les attentes de sa clientèle présente ou future afin que son innovation trouve une juste place dans le marché.

    information = fonction (accès)

    L’architecte qui dresse les plans d’un futur complexe sportif, réunit beaucoup de données sur de très nombreux aspects. Lorsqu’il rencontre le maire, il présente un dossier cohérent. Pour cette harmonisation, il convertit les données de base dans un langage compréhensible par ses interlocuteurs.

    compréhension = conversion (information)

    Lorsque deux mathématiciens se rencontrent, ils peuvent coopérer et partager leurs préoccupations s’ils utilisent un langage commun. Cela leur permet d’exposer leurs travaux à l’aide des concepts qu’ils savent manipuler et qui ont la même signification pour chacun d’eux.

    exposition = partage (langage commun, compréhension)

    Pour constituer une base de données adresse de qualité, la bonne recette consiste à prendre le plus de sources et à les croiser pour, notamment, supprimer les mauvaises coordonnées. En reliant des données exposées par plusieurs contributeurs, la qualité de l’ensemble s’enrichit.

    enrichissement = croisement (exposition)

    Dans le monde journalistique, l’information qui a de la valeur, est celle qui est vérifiée par recoupement puis qui est largement diffusée. Elle acquiert sa valeur lors de sa production parce que des croisements ont été effectués par les journalistes pour la valider, lui conférant ainsi un plus haut niveau de confiance. Elle acquiert encore de la valeur parce qu’elle a des lecteurs qui peuvent l’utiliser. Les données n’ont de valeur que parce qu’elles sont exploitables et exploitées.

    valeur des données = exploitation (enrichissement) + exploitation (publication)

    Ces exemples, que je pourrais multiplier, nous ont permis d’établir intuitivement que les données ont d’autant plus de valeur qu’elles sont accessibles, comprises, partagées, croisées et exploitables. Ces caractéristiques font système, elles forment un tout. Libérer seulement les données n’est pas suffisant. Convertir les données est inutile si on ne les partage pas, etc.

    Tout cela peut sembler si simple et évident. Et pourtant, paradoxalement, combien d’entreprises restent assises sur leur capital informationnel, un capital immatériel qui ne demande qu’a se matérialiser économiquement !

    C’est ici l’intuition qui est la base des élévateurs de données dont Datalift est le paradigme exemplaire.

    Le Web est probablement entré dans la phase de sa plus profonde transition. Après avoir été accessibles sur les ordinateurs personnels et avoir permis d’accéder à des documents liés par des hyperliens voulus par les rédacteurs, il a gagné rapidement en ubiquité en pénétrant chaque partie et chaque moment de nos vies en se faisant plus collaboratif. De nouveaux appareils et de nouveaux usages sont continuellement créés par des utilisateurs promus au rang d’acteur. Et l’omniprésence de l’Internet a créé également une abondance d’informations invisibles, mais non dénuées de valeur pour qui sait en tirer profit.

    Ces données circulent dans le Web. Elles y sont stockées, mais qui sait où et en combien d’exemplaires ? Elles sont aussi transformées, traitées, rediffusées. Créées par les utilisateurs, générées par des capteurs, stockées dans des fermes de données dont la croissance semble ne pas avoir de limite, les données peuplent ce web dynamique qu’on appelle web de données. Il est la métaphore d’une base de données distribuée et mondiale.

    Ces données n’ont de valeur qu’à condition que l’on puisse y accéder, les comprendre, les croiser et les enrichir pour enfin les partager et les exploiter. Ce sont là les 5 étapes du processus d’élévation de données, celui-là même qui est au cœur de Datalift.


    WWW2012, présentation internationale de Datalift

    La semaine du 16 au 20 avril, la ville de Lyon est devenue la capitale mondiale du Web avec un évènement énorme : le WWW2012. Tout ce que web des données, alias web sémantique, alias web 3.0, se retrouve pour la grand’messe. On se retrouve entre amis, relations, collègues, geaks, web addicts !

    Mercredi 18 avril, je présente le projet Datalift toute la journée sur le stand d’Atos. Je décortiquerai ses composants, son architecture, son business model et répondrai aux questions. Ce sera aussi l’occasion rêvée de discuter avec un public concerné.

    La moitié du consortium Datalift est présent à Lyon. Je pense que ce doit être la même chose pour la plupart des autres grands projets actuels du web sémantique. Pour ceux qui ont le temps, Lyon est the place to be !


    Sémantiser des données brutes

    Quand on veut se lancer dans le monde du Web des données (alias Web sémantique ou Web 3.0, mais sincèrement il vaut mieux parler de Web des données), le plus simple est de partir de ses données, en commençant par celles qui sont structurées. Prenez donc parmi vos feuilles de calcul, vos documents XML, vos bases de données, etc.

    Trouver des vocabulaires (des ontologies) existants qui se rapportent au domaine de vos données ou créer vos vocabulaires. Vous pouvez utiliser

    Il faut alors utiliser des “convertisseurs” pour transformer les données initiales en données sémantisées. Des bibliothèques commencent à se constituer. Elles sont très inégales.

    Dans tous les cas, avancer de façon agile, c’est à dire mesurée. Cela vous donnera des idées …

    Le projet de recherche et développement DataLift réalise une infrastructure open source dont les premiers étages sont consacrés 1) à la sélection d’ontologie et 2) à la conversion.


    Comment définir une ontologie ?

    Pour faire simple

    Une ontologie est une façon de partager des connaissances entre l’homme et la machine, celle-ci  en permet le traitement.

    Ces connaissances sont un ensemble structuré de concepts (sous la forme d’une hiérarchie ou d’un graphe). Les concepts manipulés peuvent être des choses, des événements, des relations, etc.

    Mais vous voulez peut-être en savoir plus …

    Le Web de données, alias Web 3.0, alias Web sémantique, n’est plus un sujet de pure recherche. Déjà en 1999, Tim Berners-Lee expliquait que “le Web Sémantique est une extension de l’Internet où les informations sont définies sémantiquement afin de faciliter le partage et la coopération”. Aujourd’hui, on voit de plus en plus de projets, et les responsables informatiques et les décideurs des entreprises ou des administrations se renseignent pour comprendre les promesses de ce nouveau continent et envisager ce que leur système d’information y gagnera. Mais les premières difficultés rencontrées sont le vocabulaire et les concepts qu’il faut manipuler. Les oeuvres de vulgarisation sont encore peu nombreuses, il y a encore beaucoup à faire …

    Dans ce billet, il est question d’ontologie. Je vais donner quelques définitions, à différents niveaux, de cet objet particulier et central dont le seul mot déjà peut rebuter.

    Si vous êtes passés par Wikipedia, vous aurez vu qu’il y a bien d’autres acceptions : philosophique, médicale ou géopolitique. Le vocabulaire est bien chargé ! Pour autant, vous allez voir que ce n’est pas si terrible que ça. Wikipedia propose une page intéressante sur l’ontologie, au sens du Web de données ; la page anglaise est plus fournie encore. La visite d’autres sites spécialisés, comme par exemple celui du CNTRL, ne donne en revanche aucune définition sur notre sujet.

    On trouve aussi de bonnes synthèses (en français), comme celles de Benoit Lavoie ou de Gautier Poupeau.

    A – En 1993, Tom Gruber donne la célèbre définition suivante “An explicit specification of a conceptualisation” (une ontologie est une spécification explicite d’une conceptualisation). Cette définition a la vertu d’être courte, mais elle laisse sur sa fin lecteur d’aujourd’hui compte-tenu des développements du Web de données.

    B – En 2003, Sean Bechhofer, Ian Horrocks and Peter F. Patel-Schneider définissent l’ontologie comme un artefact de l’ingénierie

    • constituée par un vocabulaire spécifique, elle est utilisée pour décrire une certaine réalité
    • et un ensemble d’hypothèses explicites sur le sens voulu du vocabulaire.

    Ainsi, une ontologie décrit une spécification formelle d’un certain domaine

    • elle en est une compréhension partagée
    • et un modèle formel et manipulable par une machine.

    C - La définition de l’IEEE (2003)

    Une ontologie est semblable à un dictionnaire ou un glossaire, mais avec plus de détails et une structure qui permettent aux ordinateurs de traiter leur contenu. Une ontologie se compose d’un ensemble de concepts, d’axiomes, et de relations qui décrivent un domaine d’intérêt.

    D – En 2007, le même Tom Gruber précise.

    Dans le contexte de l’informatique et des sciences de l’information, une ontologie définit un ensemble de primitives de représentation pour modéliser un domaine de connaissance.

    Les primitives de représentation sont généralement

    • des classes (ou des ensembles),
    • des attributs (ou des propriétés),
    • et des relations (ou des liens qui relient des éléments de classe)

    Les définitions des primitives de représentation incluent

    • des informations sur leurs significations
    • et des contraintes sur leurs applications, qui doit être logiquement cohérente.

    Dans le contexte des systèmes de base de données, l’ontologie peut être considérée

    • comme un niveau d’abstraction des modèles de données, analogue aux modèles hiérarchiques et relationnels,
    • mais destinée à la modélisation des connaissances sur les individus, leurs attributs et leurs relations avec d’autres individus.

    Les ontologies sont généralement décrites dans les langages qui permettent l’abstraction indépendamment des structures de données et des stratégies de mise en œuvre. En pratique, les langages de description des ontologies ont une puissance expressive plus proche de la logique du premier ordre que celle des langages utilisés pour les modèles de bases de données. Pour cette raison, on dit des ontologies qu’elles sont de niveau “sémantique”, tandis que les schémas de bases de données sont des modèles de données de niveau «logique» ou «physique».

    Du fait de leur indépendance par rapport aux modèles de données de niveau inférieur, les ontologies sont utilisées pour l’intégration de bases de données hétérogènes, permettant une interopérabilité entre des systèmes disparates, et la spécification d’interfaces de services indépendants de la connaissance. Dans le stack technologique des standards du Web sémantique, les ontologies représentent explicitement une couche.

    E - Kore Nordmann (2009)

    Les ontologies sont un concept théorique en sciences de l’information destiné à représenter formellement des connaissances dans un logiciel capable de les traiter et de raisonner avec. Souvent aussi la lisibilité pour l’homme est un aspect central.

    F - Pour faire simple, suite (2010)

    Si je reprends ce que j’écrivais au début de cette page et que je complète un peu à l’aide des autres définitions que nous avons maintenant parcourues, on peut esquisser ceci :

    Une ontologie décrit généralement des

    • individus : des objets de base,
    • classes : des ensembles, des collections ou des types d’objets,
    • attributs : des propriétés, des fonctionnalités, des caractéristiques ou des paramètres que les objets possèdent et partagent,
    • relations : des liens qui relient  les objets,
    • événements : des changements qui affectent des attributs ou des relations.

    Ces descriptions sont la formalisation d’un ensemble de connaissances exprimées dans un langage

    • compréhensible par un humain
    • et qui peut être traité par un logiciel à des fins de raisonnement.

    La formalisation d’une ontologie en structure les termes et les concepts à l’aide d’un graphe où les relations sont

    • des relations sémantiques,
    • des relations d’inclusion (subsomption).

    L’ontologie est donc la spécification explicite d’une conceptualisation … Nous avons retrouvé la définition donnée par Tom Gruber en 1993 !

    Concluons

    Les définitions sont nombreuses et couvrent parfois des aspects différents. A l’évidence, il n’existe pas une seule bonne définition. Il faut donc y voir la marque d’une richesse que confirme la difficulté de créer une ontologie. Mais c’est là un autre sujet ! Il existe aujourd’hui plusieurs langages standard pour décrire une ontologie. La gamme d’outils commerciaux ou open source se développe. Ce seront les thèmes de prochains billets. A suivre …


  • Catégories

  • Calendrier

    May 2013
    M T W T F S S
    « Apr    
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
  • Archives

  • Copyright © 1996-2010 Blogabriel. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress