Documentation critique à propos de SUMO

rédigé par Michael RIOTTE

Stage Master 2, Université d'Aix

 

 

 

 

Introduction. 2

I. S.U.M.O.. 2

A. Méthodologie de la création de SUMO.. 2

B. L’architecture de SUMO. 2

1. Knowledge Interchange Format 2

2. Les éléments de l’ontologie. 2

a. Les Classes. 2

b. Les Prédicats. 2

c. Les prédicats de liaisons. 2

d. Les autres types de termes. 2

3. Le niveau supérieur de SUMO.. 2

C. Le navigateur Sigma. 2

D. Correspondance WordNet – SUMO.. 2

II. Etude des possibilités de SUMO. 2

A. SUMO et SUO-KIF. 2

1. Les opérateurs logiques. 2

2. Le prédicat logique. 2

3. La quantification. 2

a. La quantification existentielle. 2

b. La quantification Universelle. 2

4. Les règles d’inférence. 2

5. Utilisation d’un prédicat comme un terme. 2

B. Cas pratique: “What is the color of Henry IV’s white Horse?”. 2

1.     Représentation des termes dans SUMO.. 2

2. Comment SUMO répond il à cette question ?. 2

a. Sans ajout de connaissances dans la base. 2

b. Avec ajout de connaissances dans la base. 2

c. Synthèses des résultats, améliorations envisageable et pertinence des liens SUMO- énoncé linguistique. 2

III. Le stage sur SUMO.. 2

A.    Le déroulement du stage. 2

B.     Mes apports au projet SUMO.. 2

1. Traduction du fichier de génération de paraphrase de l’anglais vers le français : 2

2. Incorporation des concepts SUMO à l’intérieur d’Alexandria. 2

3. Création d’une page web pour consulter SUMO sur le site de Memodata. 2

Conclusion générale. 2

Bibliographie / Sitographie. 2

Sitographie principale. 2

Bibliographie. 2

Annexes. 2

Autour de SUMO.. 2

1. Electronic Metastructure for Endangered Languages Data. 2

2. Agent  Semantic Communications  Service  (ASCS)  (Li  et  al,  2001) 2

 

 

 

 

 

 

 

Introduction

 

Au point de vue historique, les ontologies sont apparues comme un domaine d’étude de la philosophie qui s’intéressait à « Qu’est-ce qui existe ? » : le genre des choses, leurs propriétés et leurs relations. Le mot « ontologie » est également employé pour des descriptions systématiques des objets et des relations de base dans le monde.

Il existe beaucoup de définitions pour le terme ontologie. Ici  nous parlerons d’une ontologie utilisée dans des applications informatiques dites intelligentes. A ce niveau, une ontologie est une formalisation systématique des concepts, définitions, rapports et règles qui capture la teneur sémantique d'un domaine dans un format compréhensible par une machine. On parle ici de langage formel.

            Les ontologies formelles sont des instruments pour capturer le sens des concepts et donc pour améliorer la gestion automatique de l’information. Elles peuvent couvrir des concepts très généraux ou, le plus souvent, représenter des domaines spécifiques et restreints. La sélection de ces concepts et le niveau des détails dépendront donc des caractéristiques et des besoins du  domaine.

Par exemple, un programme de gestion de voitures de location utilisera une représentation simpliste des voitures comme par exemple leurs noms alors qu’un programme d’aide à la maintenance d’une automobile aura besoin de beaucoup plus de détails, tel que le nombre de roues motrices ou le niveau de pression des pneus nécessaire. Le but d’une ontologie influence donc sa portée et son degré de complexité formelle.

            On a donc, par opposition aux ontologies couvrant des domaines spécifiques, les ontologies dites supérieures. Celles-ci identifient et définissent des concepts généraux.  Elles ont plusieurs buts :

 

  • La fondation pour des ontologies plus spécialisées,
  • De servir de cadre pour intégrer des ontologies orientées domaine ; et/ou
  • de faire communiquer de multiples ontologies couvrant le même domaine mais usant d’un vocabulaire différent.

 

C’est ce type d’ontologie que nous allons étudier à travers S.U.M.O The Suggested Upper Merge Ontology (Ontologie supérieure suggérée fusionnée). 

Les éléments qui composent les parties I à II.A sont principalement des traductions des documents suivants :

Niles, I., and Pease, A. 2001. Origins of the Standard Upper Merged Ontology: A Proposal for the IEEE Standard Upper Ontology. In Working Notes of the IJCAI-2001 Workshop on the IEEE Standard Upper Ontology, Seattle, Washington, August 6, 2001.

Niles, I., and Pease, A. 2001. Towards a Standard Upper Ontology. In Proceedings of the 2nd International Conference on Formal Ontology in Information Systems (FOIS-2001), Chris Welty and Barry Smith, eds, Ogunquit, Maine, October 17-19, 2001.

Deborah Nichols and Allan Terry. User's Guide to Teknowledge Ontologies, December 3, 2003.

 

I. S.U.M.O

 

SUMO contient les concepts les plus larges et les plus abstraits requis pour des ontologies. Elle a été produite par Teknowledge’s[1] (http://ontology.teknowledge.com/). Le but de  SUMO est de favoriser l'interopérabilité de données, la recherche, la récupération de l'information, l'inférence automatisée, et le traitement du langage naturel. Cette ontologie fournit un point de départ pour d’avantage de travaux. Elle est distribuée sous licence libre GNU.

SUMO est une ontologie dite de niveau supérieur. Elle a été proposée comme point de départ pour le groupe de travail de « standardisation d’ontologie supérieur » sanctionné par une norme IEEE[2] (http://suo.ieee.org/index.html) et composé de collaborateur venant de l’ingénierie, la philosophie et la science de l’information. SUMO fournit des définitions d’usage universel et se pose comme fondement pour des ontologies de domaines plus spécifiques.

 

   A. Méthodologie de la création de SUMO

 

SUMO a été créée par la fusion du contenu d’ontologies publiques disponibles, en une seule cohérente et compréhensible structure. Son contenu inclus les ontologies disponible sur l’Ontolingua server, Sowa’s ontologie de niveau supérieur, celles développées par ITBM-CNR, et diverses théories méréotopologiques entre autres sources. La langue de représentation de la connaissance pour SUMO est une version de KIF[3] (Knowledge Interchange Format) (Genesereth, 1991) appelé SUO-KIF[4].

La charte du Groupe de Travail SUO était de créer un ensemble compact de concepts faciles à comprendre et à utiliser. Dans cette optique, SUMO contient des termes choisit pour couvrir les concepts les plus généraux et représenter le monde. Il y a environ 4 000 assertions comprenant plus de 800 règles et 1000 concepts (lorsque toutes les ontologies créées pour SUMO sont chargées on obtient 74 693 assertions comprenant 2748 règles et 21223 concepts). De plus les termes SUMO ont été reliés à WordNet[5] (http://wordnet.princeton.edu/).

Certaines des matières générales couvertes dans la SUMO incluent :

 

  • Des concepts généraux comme « instance » et « sous-classe »
  • Types généraux des objets et les processus
  • Des abstractions incluant la théorie des ensembles des attributs et des relations
  • Les nombres et les mesures
  • Les concepts temporaux comme la « durée »
  • Les parties et les touts

 

Les relations structurelles définies dans SUMO, en particulier les « sous-classes » sont basiques pour définir n’importe quelle ontologie.

Il est possible de télécharger SUMO à l’adresse suivante : http://sigmakee.sourceforge.net

 

 

B. L’architecture de SUMO.

1. Knowledge Interchange Format[6]

 

SUMO est encodé dans un langage formel appelé SUO-KIF (Standard Upper Ontology-Knowledge Interchange Format). C’est une simplification du langage KIF proposé comme un standard aux Etats-Unis. Il est défini comme un langage de logique de premier ordre.

Les phrases logiques sont aussi appelées assertions. Les expressions qui ont la forme « si-alors » constituent une importante sous-classe des assertions. Ces dernières dénotent des règles d’implication ou simplement des implications.

Des exemples de syntaxe SUO-KIF sont inclus tout au long de ce document.

 

2. Les éléments de l’ontologie

 

Les éléments d’une ontologie sont appelés les termes. Ils représentent les entités couvertes dans par celle-ci. Ce sont les modules conceptuels de l'ontologie c'est-à-dire son vocabulaire, tandis que la logique fournit sa structure. Identifier les termes est le premier pas pour couvrir un domaine. Pour n’importe quelle ontologie, le but est de créer exactement les termes appropriés pour comprendre les théories ou les données de base. Ainsi les termes accompagnés de leurs définition et autres assertions les concernant définissent le domaine de connaissance.

Dans les ontologies SUO-KIF, il existe cinq types de termes dits basiques qui sont, les classes, les relations, les fonctions, les attributs ou les particuliers (Chaque type sera détaillé plus loin). Les deux plus importants sont les classes dans lesquelles les particuliers peuvent être catégorisés et les relations qui sont utilisées pour créer des liens entres tous les autres types.

Chaque type joue un rôle syntaxique différent dans les assertions SUO-KIF et peut être distingué et reconnu sur cette base. De plus des conventions ont été adoptées pour différencier ces derniers. Elles ne font pas parties de la syntaxe formelle du langage KIF mais ont été mises en place pour l’ontologie SUMO. La plus frappante est le changement de la casse. Le nom des classes, des attributs, des fonctions et des particuliers prennent donc une majuscule à l’image de ces exemples : « PassengerShip » (classe), « Titanic » (particulier), « Unsinkable » (attribut), et « TripFn » (fonction).

Il n’y a donc que les prédicats qui débutent par une lettre minuscule comme par exemples : « subclass » et « instance». Il faut remarquer que les espaces ne sont pas admis dans les noms des termes (exemples : « PassengerShip » et « US_President »).

Nous allons donc maintenant revenir sur chacun des types avec une attention plus particulière pour les relations appelées « Ontologie Linking Predicates » (OLP) qui sont utilisées pour créer la structure logique de l’ontologie.

 

a. Les Classes

 

La portée conceptuelle d'une ontologie vient principalement de sa classification.  Les classes sont employées pour récapituler les connaissances générales au sujet d'un genre de chose, parce qu’elles peuvent efficacement représenter les caractéristiques qui peuvent s'appliquer à beaucoup d'individus. Les concepts sont bien adaptés pour la représentation avec des classes. Ces dernières définissent des catégories naturelles ou des qualités saillantes, essentielles et/ou permanentes que les individus peuvent avoir.  Les caractéristiques qui définissent des états, telles que, être humain ou être un chien, sont donc représentées en tant que classes (par exemple, « humain ») dont les instances ont la qualité d’être la classe à laquelle ils appartiennent. Il faut donc les considérer comme des noms génériques qui sont appliqués à des individus (par exemple, humain, chien). Les membres individuels d’une classe ont donc les caractéristiques générales de la classe mais en tant qu’individus, mais ils peuvent aussi bien avoir d’autres caractéristiques. En effet ces derniers peuvent être décris avec plus de détails, comme par exemples leurs emplacements dans l’espace et le temps, leurs âges et les relations qu’ils entretiennent avec les individus de leurs classes ou non.

Les Classes sont utilisées pour relier des concepts dans un domaine de connaissances. La relation la plus basique est la subordination d’une classe par rapport à une autre. Par exemple dans le domaine des choses vivantes, « DomesticDog » est un sous-type de la classe « Canine ». Ces relations peuvent être utilisées pour créer un arbre hiérarchique de sous-classe que l’on appelle une taxinomie.

 

(1) le domaine de l’ontologie

 

Les classes représentant les catégories basiques de l’ontologie, un des objectifs important durant la création d’une ontologie est de couvrir tous les termes dont on a besoin et de clairement les distinguer des autres. L’exemple qui suit, une ontologie des figures géométriques planes, inclura par exemple les termes suivants pour son domaine :

 

FiguresPlanes

Cercles

Ellipses

Triangles

TrianglesEquilatéraux

TrianglesIsocèles

TrianglesScalène

Quadrilatères

Parallélogrammes

Rectangles

Carrés

Losanges

Trapèzes

 

 

(2) La hiérarchie

 

Quand les termes de base de l’ontologie sont définis, ils doivent être reliés correctement aux autres. La détermination des relations hiérarchiques est fondamentale. Elles encodent le domaine de connaissance en précisant quels sont les concepts les plus généraux et les plus spécifiques. Une ontologie peut contenir une ou plusieurs racines qui peuvent elles-mêmes contenir une ou plusieurs hiérarchies qui peuvent être distinctes ou se  chevaucher. Dans une ontologie formelle, la hiérarchie des relations de sous-classe est déclarée dans un langage formel.

La représentation ci-dessous représente les relations des classes les plus générales aux plus spécifiques de l’ontologie des figures géométriques planes avec un seul concept racine : « FiguresPlanes ».

 

 

FiguresPlanes

            Cercles

            Ellipses           

            Triangles

                        TrianglesEquilatéraux

                        TrianglesIsocèles

                        TrianglesScalène

            Quadrilatères

                        Parallélogrammes

                                   Rectangles

                                               Carrés

                                   Losanges

                        Trapèzes

 

Il existe des ontologies qui n’ont pas plus de trois termes liés par des relations de sous-classes. (On les appelle « les ontologies de classification »). Des informations supplémentaires  sur les classes peuvent inclure les points de différenciation ou l’exclusivité des classes qui ne partagent aucun membre comme les espèces biologiques par exemple. L’ontologie des figures géométriques planes contient quelques sous-classes de figures qui sont dissociées par rapport à leur nombre de coté (tel que les triangles et les quadrilatères). Il existe aussi des sous-classes de triangles dissociées par rapport à la longueur de leurs cotés, c'est-à-dire si ils ont aucun, deux ou trois cotés qui sont égaux en longueur.

 

(3) L’héritage

 

Une des caractéristiques des hiérarchies est qu’un objet qui est plus bas dans le classement, c'est-à-dire plus spécifique, hérite des caractéristiques de l’objet se situant au-dessus de lui.

Au niveau conceptuel, la définition d’un terme subordonné inclut (ou implique) la définition du terme qui lui est directement supérieur hiérarchiquement. Par exemple, ici les « Carrés » sont par définition une classe de FiguresPlanes dont les cotés sont à angles droits avec en plus la condition d’avoir tous ses cotés égaux. De plus, les termes appartenant à des classes inférieures ont toutes les propriétés des classes qui les englobent.  Par exemple, tous les termes qui tombent sous n'importe quelle sous-classe des quadrilatères ont quatre côtés.

 

 

FiguresPlanes

            Cercles

            Ellipses           

            Triangles

                        TrianglesEquilatéraux

                        TrianglesIsocèles

                        TrianglesScalène

            Quadrilatères

                        Parallélogrammes

Rectangles                               quadrilatère s’applique à toutes les

                                               Carrés                         instances de toutes ses sous-classes.

                                   Losanges

                        Trapèzes

 

 

(4) L’héritage multiple

 

Certaines ontologies sont restreintes à un héritage simple, ce qui signifie que chaque terme appartient à un ou plusieurs concepts généraux; ce qui n’est pas le cas de SUMO qui permet un héritage multiple. Pour l’exemple suivant il a été ajouté un nouveau concept, celui de « FiguresEquilatérales ». C’est la classe des « FiguresPlanes » dont tous les cotés sont égaux. Ce dernier inclut les « TrianglesEquilatéraux», les «Carrés » et les « Losanges ». Ces trois termes héritent donc des définitions des « FiguresEquilatérales » et des termes qui représentent les figures par leurs nombres de cotés comme les « Triangles » ou les « quadrilatères ».

 

 

                                                        FiguresPlanes

                                              

                                           

            Cercles                                              

            Ellipses

            Triangles                                                                FiguresEquilatérales

                        TrianglesEquilatéraux

                        TrianglesIsocèles

                        TrianglesScalène

            Quadrilatères

                        Parallélogrammes        

                                   Rectangles

                                               Carrés

                                   Losanges

                        Trapèzes

 

 

b. Les Prédicats.

 

Les prédicats sont le plus important type de relations dans l’ontologie. Ils représentent explicitement les relations qui font le lien entre deux objets ou plus pour faire une phrase complète. Par exemple, deux personnes sont reliées par le prédicat père :

 

Ex.1 : Pierre est le père de paul.

 

Les prédicats peuvent être des classes, un individu et une classe ou plusieurs individus (Ex.2,3,4):

 

Ex.2 : Les chiens sont un type d’animal.

Ex.3 : Lassie est un chien.                                                       prédicat

Ex.4 : Jacques Chirac dirige la France.

 

Les prédicats sont classifiés par leurs arités (c'est-à-dire combien d’objets ils relient). La plupart ont une arité fixe (« BinaryPredicate » deux arités, « TernaryPredicate » trois arités etc) mais il en existe quelques uns qui n’ont pas d’arité fixe (« VariableArityRelation » relation à arité variable). De plus des relations particulières sont limitées et relient juste certaines sortes de choses. Par exemple les deux arguments du prédicat « Père » sont limités aux êtres vivants (Ex.1).

 

Les objets liés par des relations sont appelés des arguments. En langage formel KIF, les arguments sont identifiés comme 1er, 2nd, 3eme, neme, selon leur position par rapport au prédicat (de la gauche vers la droite). Les spécifications du genre de choses qu’un prédicat connecte sont explicitement définies pour chacune des positions des arguments suivant le domaine. Par exemple,  la relation « subclass » (« sous-classe ») qui est binaire est restreinte à avoir deux classes comme argument et la relation « employs » (« emploie ») doit relier une organisation (comme premier argument) à une personne (comme second argument).

Les relations, prédicats compris, peuvent être classées selon d’autres caractéristiques qui apparaissent comme importantes tel que réflexive, symétrique ou transitive. Les relations réflexives sont celles qui relient quelque choses a lui-même comme par exemple « equal » (« égal »). Les relations symétriques sont celles qui si elles s’appliquent sur deux arguments sont valables dans les deux sens, « spouse » « épouse » en est une. Enfin les relations transitives sont celles qui peuvent être transférées entre une chaîne d’objets reliés. C'est-à-dire que si une relation s’applique entre A et B et B et C alors la relation s’applique entre A et C. Une définition KIF formalisé de ceci est présente dans SUMO.

 

 

c. Les prédicats de liaisons

 

Les prédicats de liens de l’ontologie (OLP : Ontology Linking Predicates ) sont les plus importantes relations dans l’ontologie. Ils sont utilisés dans la définition de tous les termes et procurent les liens fondamentaux qui existent entre eux. Ils représentent la subordination comme dans «être la sous-classe de » ou la relation d’appartenance à une classe c'est-à-dire : « être une instance de ».  Il existe quatre OLP basiques dans SUMO : « instance »,  « subclass » (« sous-classe »), « subrelation » (« sous relation ») et « subAttribute » (« sous attribut »).

Le tableau ci-dessous montre l’ordre des arguments pour chaque prédicat qui sera ensuite présenté.

 

OLP

Schéma pour les phrases utilisant les OLPs

Instance

(instance ITEM CLASS)

Subclass

(subclass SUBCLASS CLASS)

subrelation

(subrelation SPECIAL-RELATION GENERAL-RELATION)

subAttribute

(subAttribute SPECIAL-ATTRIBUTE GENERAL-ATTRIBUTE)

 

 

(1)   Les instances

 

Le terme « instance » est utilisé pour lier une chose (physique ou non) à sa classe comme par exemple :

 

(instance Titanic PassengerShip)  

 

« instance » est similaire au concept element-of (élément de) et est utilisé pour représenter le fait qu’une chose appartient à une certaine classe.

 

Jacques Chirac est le [c’est-à-dire., une instance de] président de la France.

 

Cette phrase peut être traduite en KIF en utilisant l’ OLP « instance » par :

 

(instance JacquesChirac President_Français).

 

(2) les sous-classes

 

Le terme « subclass » représente une classe qui est une spécialisation ou un sous-type d’une autre. C’est similaire à un sous-ensemble dans la théorie des ensembles. « subclass » est défini comme une relation binaire entre deux classes avec le terme le plus général venant en dernier dans l’expression. Exemple :

 

(subclass PassengerShip Ship). 

 

La relation de sous-classe peut être utilisée pour représenter explicitement la relation hiérarchique de la classe des figures géométriques planes par rapport au graphique fait précédemment. Voici donc une conversion en assertions KIF qui sont les phrases structurelles (OLP) pour l’ontologie des figures géométriques en deux dimensions :

 

(subclass Cercles FiguresPlanes)

(subclass Ellipses FiguresPlanes)

(subclass Triangles FiguresPlanes)

(subclass TrianglesEquilateraux Triangles)

(subclass TrianglesIsocèles Triangles)

(subclass TrianglesScalènes Triangles)

(subclass Quadrilatères FiguresPlanes)

(subclass Parallélogrammes Quadrilatères)

(subclass Rectangles Parallélogrammes)

(subclass Carrés Rectangles)

(subclass Losanges Parallélogrammes)

(subclass Trapèzes Quadrilatères)

 

(3) Les sous relations

 

Le terme “subrelation” est utilisé pour lier une relation à une autre qui l’englobe. Une relation est une sous relation d’une autre si la première est une spécialisation de la seconde. En plus d’être adéquatement reliées en sens, les sous relations doivent correspondre au niveau de la construction de la phrase en KIF, c'est-à-dire syntaxiquement. Toutes les paires d’arguments reliés par la première relation (plus spécialisée) doivent aussi être reliés à la seconde qui est plus générale. Par exemple, « lenght » (« longueur ») est une sous relation de « measure » (« mesure ») du fait que “lenght” est une sorte de “measure”, à savoir une taille linéaire de la plus grande dimension d’un objet :

 

(subrelation length measure).

 

De plus,  ils correspondent au niveau syntaxique :

 

            (length Titanic (MeasureFn 882.75 FootLength))

 

et

 

            (measure Titanic (MeasureFn 882.75 FootLength)).

 

“Titanic” étant le premier argument pour les deux et la quantité le second.

En sachant que le Titanic avait une longueur de 882.75 pieds, on peut inférer, grâce à la sous relation qu’il mesurait 882.75 pieds.

 

 

 (4) Les sous attributs

 

Le terme « subAttribute » est utilisé pour lier un attribut avec un autre plus général duquel il est un sous-type. Par exemple la couleur bleu azur est une spécialisation de la couleur bleue

 

(subAttribute BleuAzur Bleu).

 

Le cas des attributs est discuté plus en détail dans la section suivante.

 

En plus des OLP, il existe beaucoup d’autres relations dans SUMO comme celles concernant les groupes (exemple : « member » « membre »), les parties et les touts (exemple : « part »), le rôle dans les évènements (exemple : « agent », « instrument » et « patient »), ainsi qu’un sous groupe appelé  les fonctions qui sont conceptuellement des relations mais qui diffères des prédicats.

 

 

d. Les autres types de termes.

 

(1)   Les individus

 

Aussi appelés instances, ils sont les objets qui sont décris en utilisant les concepts de l’ontologie. Typiquement, ils sont définis comme étant les membres d’une classe. Par exemple,  un PC est une instance de la classe ordinateur. 

Les classes, comme les noms génériques human, dog et company par exemple peuvent être appliquées pour distinguer des individus nommés ou nommables. Ces derniers détiennent le caractère général de la classe à laquelle ils appartiennent mais comme individus ils peuvent détenir d’autres caractéristiques ou relations.

Jacques Chirac par exemple est une instance de la classe président français mais il a aussi un nom, un attribut (celui d’être un homme par exemple) et des relations avec d’autres individus :

 

(instance JacquesChirac FrenchPresident)

(attribute JacquesChirac Male)

Les ontologies de données contiendront beaucoup d’individus alors que celles concernant des théories contiendront seulement des classes si elles représentent les théories générales d’un sujet.

 

(2) Les attributs

 

En général, les attributs dénotent les qualités simples qui sont les caractéristiques secondaires d’un objet (exemple : rouge, solide), en contraste avec les propriétés essentielles représentées par les classes. Par exemple, considérons « être blond » par rapport à « être une personne ». Dans beaucoup de cas, les qualités représentées par des attributs peuvent être seulement temporaires. Cela inclut l’état physique d’une matière, les couleurs, l’état mental comme dormir ou les positions du corps comme se tenir debout, être couché. Les attributs sont analogues aux adjectifs tant que les classes d’objets sont similaires à des noms. Il faut aussi remarquer que les attributs ne sont pas des classes.

Le prédicat SUMO qui relit les individus aux attributs est « attribute » :

 

(attribute Pierre CheveuxBlond)

 

De multiples individus peuvent être reliés au même attribut. On peut noter tout de même que les règles de l’ontologie restreignent l’application de certains attributs à un certain type d’entités. Par exemple, les attributs de couleur ne seront employés qu’avec des objets physiques.

Comme les autres termes dans SUMO, les attributs peuvent être rassemblés dans les classes. Tous les attributs appartiennent à la classe  «Attribute » et de ce fait appartiennent pour beaucoup à des classes plus spécialisées comme « ColorAttribute » « attribut de couleur » Qui est la classe des attributs qui représente des couleurs individuelles. Comme les autres classes, celle des attributs forme une hiérarchie de sous-classes.

Les attributs ont leur propre hiérarchie d’héritage. Le prédicat « subAttribute » « sous attribut » est utilisé pour relier des attributs spécialisés aux plus généraux. Par exemple, « cheveux de couleur blond platine » est plus spécialisé que « cheveux blond » 

 

(subAttribute CheveuxBlondPlatine CheveuxBlond).

Tout objet ayant un attribut spécialisé détient aussi l’attribut général. Si Sophie est blonde platine, elle est aussi blonde.

Les schémas (a) et (b) qui suivent, utilisent une partie du corps et les couleurs pour illustrer la différence entre l’approche par classe et l’approche par attribut dans SUMO. Les humains ont normalement un cœur et une couleur de cheveux. Dans SUMO la représentation du fait « d’avoir un cœur » est transcrite à travers la création de la classe des cœurs (« heart ») qui est relié à leur propriétaires par la relation « part » : « partie de» alors que « avoir une couleur de cheveux » est un attribut. 
« Cœurs 1, 2 et 3» de la figure (a) sont créés comme des objets car chacun d’eux peut être considéré comme un objet distinct avec des caractéristique individuelles que l’on pourrait vouloir décrire (capacité de pompage, taille etc..). Ils sont donc représentés comme des objets étant des instances de la classe « Heart » dans SUMO, à l’image de « individu » qui est une instance de la classe «Human».

 (a) Objets individuels comme une partie de quelque chose.

 

 

 

                     Humain 1

 

 

 

                     Humain 2

 

 

 

 

                     Humain 3

 

 

 

 

 

 

Coeur 1

 

 

 

Coeur 2

 

 

 

 

Coeur 3

 
               Classe « Heart »                                           Classe « Human »

 

 

 

 

 

 

 


Le schéma (b) représente par opposition au précédent la classe « HairColor » (« couleur de cheveux ») comme une classe d’attributs qui représente la couleur des cheveux. Cette classe n’est pas représentée comme une partie du corps et chaque attribut de couleur de cheveux représente une qualité simple attribuable à plusieurs personnes.

 

(b) Qualités reliées aux objets individuels en tant qu’attribut.

 

                 Humain 1

 

 

 

                 Humain 2

 

 

 

 

 

 

                  Humain 3

 

 

 

 

 

 

 

 

 

 

 

 


(3) Les fonctions

 

 

 

SUMO contient aussi des termes qui sont des expressions complexes formées avec des fonctions. Elles peuvent être considérées comme des concepts incomplets qui requièrent plus d’information avant de pouvoir savoir ce qu’elles signifient. Quand une fonction est utilisé elle est associée avec n argument (c’est-à-dire un ou plusieurs). Le format d’une fonction est du type :

 

(FUNCTION  arg1 … arg2 … argn). 

 

Les expressions sont formées en mettant la fonction et le nombre requis d’arguments entre parenthèses. Les fonctions sont des relations mais contrairement aux prédicats elles ne forment pas une phrase. De plus, une fonction n’exprime pas une pensée complète ou une vérité mais elle réfère, dénote une entité. Ainsi, les fonctions sont appelées fonctions dénotative. Par exemple, on a :

 

 (AdditionFn 2 2)  dénote  4

 

L’argument associé à une fonction dénotative peut être de plusieurs types tel que : un individu, un nombre ou une classe.

Sémantiquement, les fonctions sont des relations entre deux ou plusieurs objets. Dans SUMO, « Function » est une sous-classe de « Relation ». Mais, bien que sémantiquement, toutes les fonctions sont des relations, ces dernières ne sont pas toutes des fonctions. Les fonctions sont des relations avec une unique dénotation. Ainsi biological-father (« père biologique ») est un concept fonctionnel, c’est-à-dire que tout être vivant à un seul père biologique alors que biological-offspring (« enfant naturel ») n’est pas fonctionnel du fait qu’un parent peut avoir de multiples enfants naturels.

Syntaxiquement, les fonctions et les prédicats sont significativement différents. Un prédicat est utilisé pour construire une phrase logique qui exprime une pensée complète qui a une valeur vraie, tandis qu’une fonction est utilisée pour former des termes dénotant quelque chose. Mais il est tout de même possible de représenter une fonction par un prédicat équivalent sémantiquement qui aura un argument de plus que la fonction. Par exemple, la cardinalité est représentée par le concept SUMO « CardinalityFn » comme dans :

 

            (CardinalityFn UnitedStatesState) dénote 50.

 

Cette expression représente le nombre d’instance de la classe « UnitedStatesState » (« état des Etas-Unis »). Ce concept peut aussi être représenté par un prédicat comme dans l’assertion suivante :

 

            (cardinality UnitedStatesState 50),

 

Qui affirme que la cardinalité de la classe « UnitedStatesState » est 50

 

Une fonction est syntaxiquement un terme. Seul, il ne vaut pas une phrase logique . Il doit être utilisé dans la phrase. On peut avoir par exemple :

 

(equal (CardinalityFn UnitedStatesState) 50). 

 

Cette phrase et celle utilisant le prédicat exprimant la cardinalité ont exactement le même sens. Typiquement, l’ontologie représente un concept soit comme une fonction, soit comme un prédicat mais pas les deux.

Dans SUMO, une convention de noms a été utilisée pour reconnaître les fonctions. Elles commencent avec une majuscule et finissent avec le suffixe « Fn ». 

 

(1) Quantités et unités de mesure.

 

La fonction « MeasureFn » est utilisée avec un nombre et l’unité de mesure appropriée. On a par exemple :

 

            (MeasureFn 100 Yard) è 100 yards

(MeasureFn 1533 Calorie) è 1,533 calories

(MeasureFn 48 KnotUnitOfSpeed) è 48 knots.

 

(2) Fonctions mathématiques.

 

Les fonctions arithmétiques de bases sont représentées par “AdditionFn,” “SubtractionFn,” “MultiplicationFn,” et “DivisionFn.” Sumo inclut aussi une fonction exponentielle, pour les valeurs maximales, minimales, la réciprocité et le reste. Leurs arguments sont des instances du concept « Quantity ». Ainsi les fonctions mathématiques de SUMO peuvent être appliquées aussi bien aux nombres réels qu’aux mesures quantitatives. Voici quelques exemples :

 

 

            (AdditionFn 3 7) è 10

            (Division  50 5) è 10

            (MultiplicationFn (MeasureFn 4 Meter) (MeasureFn 5 Meter)) è 9 meters².

 

(3) Autres fonctions

 

Quelques fonctions non quantitatives permettent une représentation du temps. Tel que :

·        WhenFn: dénote l’intervalle exact durant lequel une chose existe.

·        BeginFn et EndFn: dénotent le point temporal auquel une chose commence ou finit.

·        TimeIntervalFn: dénote l’intervalle entre deux points temporels spécifiés.

 

Les dates sont représentées par un terme complexe composé de plusieurs fonctions tel que « DayFn », « MonthFn »,  et « YearFn » à qui on peut ajouter les minutes et les secondes :

 

(SecondFn 26 (MinuteFn 12 (HourFn 19 (DayFn 4 (MonthFn May (YearFn 1980)))))).

 

 

3. Le niveau supérieur de SUMO

 

Ce qui va suivre est une vue du niveau supérieur de SUMO (fig. 1), un diagramme présentant une portion de l’ontologie et montrant les concepts les plus important et le principe d’organisation de cette dernière.   

Le nœud racine est, comme dans beaucoup d’ontologie, « Entity » (« Entité ») et ce concept englobe immédiatement « Physical » («Physique »)  et « Abstract » (« Abstrait »). « Physical » correspond à tout ce qui a une position dans le temps ou dans l’espace et « abstract » inclut tous le reste.

Organigramme hiérarchique       

Figure 1

 

 

C. Le navigateur Sigma

 

Pour consulter l’ontologie, un navigateur a été créé. Il s’agit de SIGMA. En voici les principales fonctionnalités.

La page accueil (fig. 2) donne une liste de toutes les bases de connaissances chargées dans Sigma. Chacune d’entre elles peut être examinées ou manipulées à travers différentes fonctions :

 

Figure 2

 

Manifest

  • La page “manifest” (fig. 3) contient la liste de tous les fichiers que contient la base de connaissances sélectionnée. Chaque fichier peut être supprimé de la base de connaissances grâce à un lien qui se trouve à coté du nom du dit fichier. En dessous de la liste il y a des commandes qui permettent d’ajouter de nouveaux fichiers à la base de connaissances si on est en mode administrateur.

Sigma est capable de charger des fichiers au format KIF qui spécifie des patrons pour la génération de phrases en langage naturel. Ces patrons permettent donc à Sigma de paraphraser les assertions logiques en langage naturel. Ce formatage est assez simpliste mais sert d’aide aux utilisateurs qui ne sont pas à l’aise en logique ou avec le langage dans lequel l’ontologie a été écrite.

L’utilisateur a la possibilité de charger des fichiers de génération de phrase en plusieurs langues qui sont disponibles à l’adresse suivante : http://sigmakee.cvs.sourceforge.net/sigmakee/KBs/Translations/ .

 

 

 

Figure 3

 

Browse

  • Lien vers la page du navigateur ou tous les arguments pour un terme donné sont présentés (la recherche peut se faire par « voisin alphabétique »)  et via WordNet avec les liens vers SUMO.

Quand aucun terme n’est sélectionné, trois mesures sont affichées (fig. 4).

    • « Total terms » est le nombre de noms définis dans la base de connaissances. Ils peuvent être des classes ou des instances.
    • « Total Axioms » est le nombre d’assertions dans la base de connaissances. Il faut remarquer que ce nombre est assez imprécis puisqu’il dépend du codage qui a été fait. En effet, (=> A (and B C)) est considéré comme une seule assertion et (=> A B) (=> B C) est considéré comme deux assertions alors qu’elles sont logiquement équivalentes. (Voir partie II.A.1 sur les opérateurs logiques).
    • « Total Rules » est aussi approximatif. Sigma compte les occurrences de «=> » et « <=> ».  En effet à partir du moment ou (=> A B) est équivalent a (or (not A) B) des bases de connaissances équivalentes auront un compte différent. Il faut remarquer que le nombre de règles est un sous-ensemble du nombre d’axiomes.
    • « KB Term » permet à l’utilisateur de rechercher des termes dans la base de connaissances et affiche toutes les assertions pour ce terme. Quand les assertions sont affichées, elles contiennent des hyperliens qui permettent à l’utilisateur d’afficher la page qui correspond au terme.
    • “English Word”, permet à l’utilisateur de rechercher les synsets  WordNet correspondant à un mot anglais donné. Chaque synset est relié à un ou plusieurs termes SUMO et de ce fait permet un retour vers la navigation dans l’ontologie. L’utilisateur peu choisir de continuer sa recherche dans le lexique WordNet, Sigma effectue un traitement des mots et cela permet à un mot d'être trouvé même si l'utilisateur écrit un pluriel puisque WordNet stocke seulement les formes grammaticales des lemmes.

 

Figure 4

 

Exemple d’une recherche avec « birth » dans la base de connaissances (fig. 5) :

 

 

Figure 5

 

Avec « birth » en tant que nom dans WordNet (fig. 6) :

 

Figure 6

 

 

 

Graph

  • Cette page permet à l’utilisateur d’obtenir une vue hiérarchique des termes et des relations dans une base de connaissances. Par défaut la relation de sous-classe est sélectionnée afin de consulter l’arbre classe/sous-classe. L’utilisateur peut également sélectionner le nombre de niveaux au-dessus ou en dessous du terme choisi. Pour l’instant seul  une vue au format texte est disponible. La figure 7 renvoie les deux sous classes du terme « entity », c’est-à-dire « Abstract » et « Physical » du fait que l’on a selectionné comme Relation : « subclass » comme terme : « entity » et que l’on a choisi de faire afficher un niveau au dessus (entity étant le terme le plus général de l’ontologie, il n’y en a pas au dessus) et deux en dessous.

 

 

Figure 7

 

 

Ask/Tell

  • Cette page qui permet à l’utilisateur de faire des requêtes ou de rajouter des informations à la base de connaissances. Elle inclut les menus pour choisir une base de connaissances et la langue de génération de paraphrase en langage naturel. (fig.8).
    • Le bouton « tell » permet d’insérer de nouvelles assertions à la base de connaissances en créant un nouveau fichier appelé « KB_userAssertions.kif » (KB étant le nom de la base de connaissances sur laquelle on travaille. Si la nouvelle assertion contient une faute de syntaxe elle n’est pas insérée.
    • Le bouton “ask” permet de poser une question au moteur d’inférence. Elle peut être contrôlée par la limitation du nombre de réponses demandées et par la limitation du temps maximum de traitement de la requête. Cette limitation dans le temps est due au fait que dans de grandes bases de connaissances il y a tellement de chemins possibles pour le raisonnement que le moteur d’inférence continuerait fréquemment à chercher indéfiniment.

Il faut noter que cette fonction est désactivée sur la page d’accueil du navigateur Sigma située sur le site ontologyportal (www.ontologyportal.org). Pour faire des requêtes il faut installer[7] SUMO sur un réseau local.

 

Figure 8

 

 

D. Correspondance WordNet – SUMO[8]

 

Il apparaît que WordNet et SUMO essayent de traiter le même problème mais avec une vision différente des choses. En effet SUMO et WordNet s’attachent à conceptualiser le monde, le premier en organisant ces concepts en une structure logique et le second avec le but de traduire cette conceptualisation en langage naturel. C’est pour cela qu’il est apparu intéressant de créer une correspondance entres ces deux ressources.

Le premier avantage qui a incité les créateurs de SUMO à établir cette correspondance a été de promouvoir l’utilisation de l’ontologie dans des applications utilisant le langage naturel. Le fait de  relier les termes WordNet aux termes de l’ontologie formelle ouvre de nombreuses perspectives à travers l’utilisation du contenu sémantique de SUMO pour des tâches de désambiguïsation de sens, de résolution d’anaphores et de génération de résumés. Par exemple l’interprétation de la phrase « The  board  approved  the pay  increase » (« la direction de l’entreprise a approuvé la hausse des salaires ») requiert de savoir ce qui est explicitement exprimé dans la phrase comme par exemple le fait que seul un agent peut participer à l’action d’approuver. De plus grâce à  la correspondance avec les deux sens de WordNet pour « board » c'est-à-dire « piece of wood » (« une pièce de bois ») et « corporate board » (« la direction de l’entreprise ») qui est relié au concept SUMO « Device and  Organization », il est possible d’employer la restriction des arguments inhérente aux relations SUMO pour désambiguïser la phrase.

Un autre avantage qui peut être tiré de cette correspondance est qu’elle sert à vérifier la couverture de l’ontologie. En effet plusieurs lacunes au niveau des concepts peuvent être trouvées. Dans le cas où un concept a une signification trop large par rapport au synset avec lequel il peut être mis en correspondance, alors il est nécessaire de définir un nouveau concept SUMO plus spécifique.

Cette correspondance enrichit donc la base de données WordNet en étiquetant chaque synset avec le concept SUMO lui correspondant. Le synset WordNet sera alors déclaré comme équivalent, comme faisant partie de lui (hyponyme) ou comme une instance du terme SUMO. Par Exemple, le synset {animal, beast, fauna} est considéré comme équivalent au concept SUMO Animal. {scavenger} (Léthrinidé) est lui déclaré comme un hyponyme du concept Animal (si il y avait eu une classe équivalente pour ce synset dans SUMO elle aurait été une sous-classe de « Animal »). Enfin, le synset {Pythagoras} (Pythagore) est déclaré comme une instance du concept SUMO « Human ».

 

 

 

II. Etude des possibilités de SUMO.

 

         A. SUMO et SUO-KIF

 

Pour créer des constructions plus complexes, le langage KIF utilise des opérateurs logiques. La syntaxe logique permet l’utilisation de l’inférence automatisée. Un autre avantage est que les opérateurs logiques sont plus facilement compris par les utilisateurs.

 

1. Les opérateurs logiques

 

Les phrases complexes en SUO - KIF sont liées par des opérateurs logiques. Les règles qui gouvernent ces opérateurs assurent que l’ontologie contient des phrases logiques justes. Ces règles déterminent la valeur des phrases (c’est-à-dire si elles sont vraies ou fausses).

Les opérateurs logiques sont (fig. 9) : “not,” “and,” “or,” “=>(implies or if-then), and “<=>” (equivalent-to or if-and-only-if or iff), respectivement “n’est pas,” “et,” “ou,” “=>” (implique ou si-alors), et “<=>” (équivalent à ou si et seulement si).

 

Opération

 Forme KIF

Definition

Négation

(not S1)

(not S1) est vrai SSI S1 est faux.

Conjunction

(and S1 S2)

(and S1 S2) est vrai SSI S1 et S2 sont vrais.

Disjunction

 

(or S1 S2)

(or S1 S2) est vrai SSI S1 ou S2 est vrai.

(Note: “ou” est inclusif et non exclusif, alors S1 et S2 peuvent être vrais.)

Implication

(if-then)

(=> S1 S2)

S1 est l’antécédent; S2 est la conséquence.

Equivalence

(if-and-only-if ou iff)

(<=> S1 S2)

(<=> S1 S2) est vrai SSI S1 et S2 sont tous les deux vrai ou faux (c’est-à-dire que S1 et S2 ont la même valeur). 

 

Figure 9

 

Les règles ci-dessus peuvent être appliquées pour déterminer la valeur de phrases logiques complexes. Par exemple si nous savons que:

 

S1: “Tony Blair is Prime Minister of Great Britain in September 2003.” est vrai,

S2: “George Bush is President of the United States in September 2003.” est vrai, et

S3: “Saddam Hussein is President of Iraq in September 2003.” est faux;

 

Alors conformément aux définitions ci-dessus :

 

(not S1) est faux,

(not S3) est vrai,

(and S1 S2) est vrai,

(and S1 S3) est faux,

(or S1 S3) est vrai,

(=> S1 S2) est vrai,

(=> S2 S3) est faux, et

(<=> S1 S2) est vrai.

 

 

Il faut noter que la définition de “if-then” dépend seulement de la valeur de ses composants et non des connections entre eux.

 

2. Le prédicat logique

 

Toute phrase sans opérateur logique est traitée comme une unité simple. Par exemple les phrases suivantes sont représentées simplement par “A” et “B” :

 

A:  Socrates is an infantryman.

B:  Plato is an aristocrat.         

 

Le prédicat logique a une syntaxe plus complexe dans laquelle les éléments de la phrase (c’est-à-dire, les sujets et les prédicats) sont distingués, et la structure conceptuelle interne de la phrase est rendue explicite. Quand les phrases sont formalisées en prédicats logiques, des symboles distincts pour les sujets et les prédicats sont combinés pour représenter une phrase. Par exemple, chacune des phrases suivantes contiennent un sujet et un prédicat (en italique) :

 

Socrates is an infantryman.

            Plato is an aristocrat.

 

L’ontologie utilise une forme de prédicat logique dans lequel le prédicat « is an infantryman » est décomposé pour montrer que le sujet appartient à la classe infantrymen. En utilisant le terme « instance » introduit plus tôt on peut traduire l’exemple ci-dessus en KIF :

 

(instance Socrates Infantryman)

(instance Plato Aristocrat).

 

3. La quantification

 

Un langage logique (comme KIF) supporte les quantifications. Il permet l’utilisation de termes spéciaux appelés quantificateurs, de faire des assertions à propos des individus dans un sens défini ou général sans pour autant les nommer. Kif a deux quantificateurs « exists » et « forall » suivis d’une variable préfixée par «? » qui représente une inconnue.

 

a. La quantification existentielle

 

Elle est utilisée pour dire qu’il y a une inconnue, dénotée par une variable, dont les caractéristiques et/ou les relations sont formellement décrites. En KIF la quantification est introduite par le terme « exists ». Par exemple, le phrase en KIF suivante dit qu’il y a des soldats américains à Bagdad (cela est vrai si et seulement si il y a au moins un soldat américain à Bagdad). 

 

 

(exists (?X)

(and

(instance ?X Infantryman)

(citizen ?X United States)

(located ?X BaghdadIraq))).

 

Existe-il un soldat américain à Bagdad en Iraq ?.

 

b. La quantification Universelle

 

Elle est utilisée pour dire que quelque chose est applicable à toutes choses dans l’univers du discours. Par exemple, on pourrait dire, lorsque l’on représente un citoyen américain, que ce sont tous des humains (c’est-à-dire que si quelqu’un est un citoyen américain, alors il ou elle est un humain)

 

(forall (?X)

(=>

(citizen ?X United States)

(instance ?X Human))).

 

Pour tout X, si X est un citoyen des Etats-Unis alors X est un Humain.

 

Cette phrase est juste si et seulement si tout citoyen américain est humain. Les phrases logiques peuvent être simples ou complexes. Les premières n’ont pas de quantification ni d’opérateur logique. Les secondes sont complexes lorsqu’elles contiennent des opérateurs logiques, des quantificateurs ou les deux.

 

4. Les règles d’inférence

 

Les règles d’inférences sont le principal atout de l’ontologie parce qu’elles permettent la création d’une nouvelle information à partir d’anciennes. Les inférences procurent une grande avance par rapport  au système de base de données parce qu’elle autorisent une application à dériver (et accumuler) des faits qui sont vrais mais pas explicitement exprimés. L’opérateur logique si-alors (« => ») est utilisé pour construire des règles d’inférence.

Une utilisation des règles d’inférence est de capturer une réalité ou une information servant de base. Ces règles peuvent être appliquées pour étendre une base de connaissances avec des informations qui n’étaient pas explicitement insérées. Par exemple, les règles représentant les connaissances à propos de conditions préalables pour être un président américain inclus :

 

            (=>

                        (instance ?X US_President)

                        (citizen ?X United States))

 

et

 

            (=>

                        (instance ?X US_President)

                        (exists (?AGE)

                             (and

                                   (greaterThanOrEqualTo ?AGE (MeasureFn 35 YearDuration))

                                   (age ?X ?AGE)))).

 

 

D’après ces règles avec le fait que :

 

            (instance GeorgeWBush US_President),

 

 

Un moteur d’inférence, peut conclure que George W. Bush est un citoyen des Etats-Unis et qu’il est âgé au moins de 35 ans.

 

Les règles d’inférence différencient une ontologie basée sur la logique de premier ordre d’une simple taxinomie (c’est-à-dire d’une hiérarchie de classes seule). Des applications plus sophistiquées utilisent des règles pour capturer, utiliser les connaissances pertinentes qui permettraient à un moteur d’inférence de faire le lien entre les activités terroristes et/ou les terroristes.

L’environnement Sigma utilise Vampire first-order logic theorem prover pour interroger les bases de connaissances constituant SUMO. Une ontologie bien constituée doit permettre de trouver des réponses précises mais aussi nouvelles.  En plus de supporter une consultation rapide et précise (avec une généralisation efficace utilisant la hiérarchie des classes), les ontologies basées sur la logique de premier ordre peuvent permettre des connections, pour le moins éloignées mais significatives entre les concepts et les instances ainsi qu’entre les connaissances et les données.

 

5. Utilisation d’un prédicat comme un terme.

 

Les phrases logiques peuvent apparaître dans d’autres phrases logiques. Dans cette situation, les phrases sont plus des termes que des phrases indépendantes. De telles phrases ancrées peuvent être reliées aux autres termes par des prédicats autres que des opérateurs logiques.

Considérons par exemple le prédicat « propositional attitude » (attitude propositionnel). Ce prédicat est utilisé pour exprimer des états psychiques tels que « believes » (croit), « knows » (connaît), « considers » (considère), et « doubts » (doute).  Les phrases logiques ancrées sont utilisées pour capturer la croyance ou l’idée qui est le contenu d’un état mental. Par exemple, cette phrase en KIF signifie que Pierre sait que deux plus deux font quatre :

 

·        (knows Pierre (equal (AdditionFn 2 2) 4)).

 

Dans ce cas, la phrase ancrée

 

·        (equal (AdditionFn 2 2) 4),

 

apparaît comme vrai. Il faut remarquer qu’une phrase ancrée n’a pas besoin d’être vrai pour que toute la phrase le soit. En effet, il peut être exact que Pierre croit que Marseille est la capitale de la France :

 

·        (believes Pierre (capitalCity Marseille France)),

 

même si en fait Paris est le capital de la France.

 

Une autre utilisation des prédicats comme des termes est la représentation d’un contenu informatif. La relation «subsumesContentInstance» est utilisée pour relier un objet contenant une information aux données qu’il contient. Par exemple la phrase en KIF qui suit nous dit que le permis de conduire de Pierre nous donne l’information que son anniversaire est le 19 septembre 1960.

 

 

            (subsumesContentInstance

PierreDriversLicense

(birthday Pierre (DayFn 19 (MonthFn September (YearFn 1960))))).

 

 

B. Cas pratique: “What is the color of Henry IV’s white Horse?

 

Après avoir présenté SUMO et ses possibilités à travers ce que l’on pourrait appeler des cas d’écoles, c’est-à-dire les possibilités « théoriques » d’une ontologie basée sur de la logique de premier ordre, il est apparu opportun de soumettre SUMO à un test pour le moins insolite utilisant le moteur d’inférence. Il s’agit de voir si SUMO est capable de répondre à la question : « Quelle est la couleur du cheval blanc d’Henry IV ? » C’est-à-dire si SUMO peut grâce aux concepts et aux règles de logique qui la constituent, gérer de nouvelles informations. Cette interrogation repose sur le fait qu’en traitement automatique des langues, on dit considérer qu’un texte décrit un monde à travers des assertions vrais ou fausses provenant d’inférences antérieurs qui sont tenues pour exactes pour l’univers qu’elles définissent tout tant en créant des nouvelles à partir de ces dernières. En effet, dans sa définition classique, l'inférence est une opération logique portant sur des propositions tenues pour vraies qui sont appelées les prémisses et concluant à la vérité d'une nouvelle proposition en vertu de sa liaison avec les premières.

Ici le but n’est donc pas de se limiter à cette question, qui sert simplement de support  pour l’étude des possibilités de SUMO et des améliorations qu’il serait envisageable de faire pour rendre cet outil plus performant, mais de voir si ce dernier est capable de restituer une information en intégrant à partir de la requête toutes les informations nécessaires au traitement de la question (donc dans une optique de traitement automatique de texte par exemple) et ceci sans qu’il n’y ait aucune information sur Henry IV ou son cheval dans la base de connaissances.

Deux hypothèses sont donc envisageables pour l’issue de ce test. La première est que SUMO ne peut pas traiter cette question sans qu’il ait des informations préalables sur Henry IV. La deuxième étant qu’il peut prendre en compte les informations données en assertion de la formule SUO-KIF.

La première hypothèse paraît la plus plausible au regard de ce que nous avons vu sur le moteur d’inférence[9]. En effet, par essence, faire une inférence signifie créer une nouvelle information à partir de connaissances déjà acquise. De plus, poser une question qui contient sa réponse revient à donner à l’interlocuteur une information dont il se servira (plus tard) pour y répondre. De ce point de vue, il apparaîtrait donc normal que SUMO ait besoin de connaissances à propos d’Henry IV avant de pouvoir donner une réponse. La Deuxième hypothèse repose sur le fait de donner tous les éléments nécessaires à SUMO dans l’assertion pour qu’il puisse y répondre sans pour autant avoir des informations sur Henry IV tel que par exemple : Il possède un cheval, ce cheval a un attribut etc.

 Nous allons donc procéder par étape en montrant tout d’abord comment SUMO considère les termes de la question. Puis nous passerons à la pratique en procédant à des tests grâce au moteur d’inférence.

 

1.    Représentation des termes dans SUMO

 

Voyons ce que nous dit[10] SUMO[11] par rapport aux termes de la phrase :

 

Which is : (fr : quelle est) : Indissociable car il caractérise la question. Cela dit, « which » n’a aucune correspondance dans SUMO ni dans WordNet mais comme nous l’avons vu plus haut le langage SUO-KIF permet La quantification existentielle[12] qui pour rappel est utilisée pour dire qu’il y a une inconnue, dénotée par une variable, dont les caractéristiques et/ou les relations sont formellement décrites. En KIF la quantification est introduite par le terme « exists ». De plus, « désambiguïsation » compte 13 sens pour la catégorie « verbe » dont 3 ne sont pas reliés à des concepts SUMO. En relation avec notre énoncé nous avons opté pour le sens  WordNet :

 

  • Have the quality of being; (copula, used with an adjective or a predicate noun); "John is rich"; "This is not a good answer». (synset 202526983)
  • Qui a la qualité d’être; (copule[13], utilisé avec un adjectif ou un attribut du nom) ; « John est riche » ; « Ce n’est pas une bonne réponse ».

 

Qui est relié au concept SUMO « instance »:

 

 

Source : http://virtual.cvut.cz/kifb/en/concepts/instance.html

 

Exemple d’axiome (SUO-KIF):

 

  • There exists thing so that thing is an instance of entity.
  • Il existe une chose donc cette chose est une instance d’entité.

 

(exists

      (?THING)

      (instance ?THING Entity))

 

è   S’il existe une chose, elle fait partie d’un tout. On en déduit qu’une question est traduite en langage SUMO c’est-à-dire en (SUO-KIF) par : (exists ( ?X)… :

                       

(exists (?X)

(and

(instance ?X Infantryman)

(citizen ?X United States)

(located ?X BaghdadIraq)))

 

è   Existe-il un X qui soit une instance d’homme d’infanterie, citoyen des Etas-Unis et localisé à Bagdad en Irak.

è   Y a t il un soldat américain à Bagdad en Irak ?

 

 

The : (fr = la) : N’a aucune correspondance dans SUMO ni dans WordNet

 

Color : (fr = Couleur) : N’a aucune correspondance dans SUMO. WordNet en donne 8 sens pour la catégorie « Nom » dont 2 ne sont pas reliés à des concepts SUMO. Ici nous avons opté pour le sens :

 

  • A visual attribute of things that results from the light they emit or transmit or reflect; "a white color is made up of many different wavelengths of light".(synset 104701714).
  • Attribut visuel d’une chose qui résulte de la lumière qu’elle émet, transmet ou reflète ; « une couleur blanche se compose de différentes longueurs d’onde de lumière ».

 

Qui est relié au concept SUMO « ColorAttribute » qui est défini  comme suit :

·        "The Class of Attributes relating to the color of Objects."

·         « La classe des attributs relevant de la couleur des objets »

Soit

  • (subclass ColorAttribute InternalAttribute) => color attribute is a subclass of internal attribute
  • (sous-classe AttributCouleur AttributInterne) => attribut de couleur est une sous classe d’attribut interne. 

 

Source : http://virtual.cvut.cz/kifb/en/concepts/_color_attribute.html

 

Exemple d’axiome (SUO-KIF):

 

  • If polychromatic is an attribute of obj, then there exist part1, part2, color attribute color1, color attribute color2 so that part1 is a superficial part of obj and part2 is a superficial part of obj and color1 is an attribute of part1 and color2 is an attribute of part2 and color1 is not equal to color2.
  • Si polychromatique est un attribut de obj, alors il existe part1, part2, attribut de couleur1, attribut de couleur2 donc part1 est une partie de la surface de obj et part2 est une partie de la surface de obj et color1 est un attribut de part1 et color2 est un attribut de part2. Color1 n’est pas égale a color2.

(=>

      (attribute ?OBJ Polychromatic)

      (exists

            (?PART1 ?PART2 ?COLOR1 ?COLOR2)

            (and

                  (superficialPart ?PART1 ?OBJ)

                  (superficialPart ?PART2 ?OBJ)

                  (attribute ?PART1 ?COLOR1)

                  (attribute ?PART2 ?COLOR2)

                  (instance ?COLOR1 ColorAttribute)

                  (instance ?COLOR2 ColorAttribute)

                  (not

                        (equal ?COLOR1 ?COLOR2)))))

 

è   Un objet polychromatique à 2 surfaces dont chacune a un attribut de couleur.

 

Of : (fr = du) : N’a aucune correspondance dans SUMO ni dans WordNet.

 

Henry IV : N’a aucune correspondance dans SUMO ni dans WordNet.

Vraisemblablement Henry IV est un humain, nous pourrions donc le considérer comme tel. Mais dans le cas qui nous intéresse, nous considérerons Henri IV comme une entité puisque techniquement on pourrait mettre n’importe quoi à sa place. En effet le cheval pourrait appartenir à un pays par exemple. On a donc dans l’ontologie :

 

·        There exists thing so that thing is an instance of entity.

·        Il existe une chose donc cette chose est une instance d’entité.

 

Ce qui donne en (SUO-KIF):

 

(exists

                         (?THING)

                         (instance ?THING Entity))

 

Ce qui est vérifié par le schéma suivant, « entity » est un hyperonyme[14] de « humain ».

 

Source : http://virtual.cvut.cz/kifb/en/concepts/_human.html

 

« Entity » possède un sens dans WordNet en tant que nom. Il est relié au concept SUMO « Physical ».

 

  • that which is perceived or known or inferred to have its own distinct existence (living or nonliving).(synset 100001740)
  • ce qui est perçu, connu ou sous-entendu pour avoir sa propre existence (vivante ou non).

 

‘s : (fr = d’ (possession) ) : N’a aucune correspondance dans SUMO ni dans WordNet. La possession peut quand même être exprimée à travers le concept « possesses » qui équivaut a la fonction d’appartenance qui est défini comme suit :

  • “Relation that holds between an Agent and an Object when the Agent has ownership of the Object."
  • “Relation qu’il y a entre un Agent et un objet quand l’agent détient l’objet”

Soit

  • (instance possesses AsymmetricRelation) => possesses désambiguïser an instance of asymmetric relation.
  • (instance possède RelationAsymetrique) => possède est une instance de relation asymétrique

Et

·        (instance possesses BinaryPredicate) => possesses is an instance of binary predicate.

·        (instance possède PredicatBinaire) => possède est une instance de prédicat binaire.

 

 

Source : http://virtual.cvut.cz/kifb/en/concepts/possesses.html

 

Exemple d’axiome (SUO-KIF):

 

  • obj is an instance of "belongings of person" if and only if person possesses obj.
  • obj est une instance d’ “appartenir à une personne” si et seulement si la personne possède obj.

 

(<=>

      (instance

            ?OBJ

            (PropertyFn ?PERSON))

      (possesses ?PERSON ?OBJ))

 

è   une personne détient un objet si il le possède.

 

Dans WordNet il possède 3 sens en tant que « verbe ». Celui qui nous intéresse correspond au concept Sumo « possesses ».

 

·        Have ownership or possession of; "He owns three houses in Florida"; "How many cars does she have?" (Synset 202184264)

·        A la propriété ou la possession de; “Il possède trois maison en Floride”; “Combien de voiture a-t-elle ? »

 

White : (fr = blanc) : Est relié a un concept SUMO « White », qui est défini comme :

 

  • "The Attribute of being white in color."
  • “l’attribut d’être de couleur blanc”

Soit

  • (instance White PrimaryColor) => White is an instance of primary color.
  • (instance Blanc CouleurPrimaire) => Blanc est une instance de couleur primaire.

 

 

Source : http://virtual.cvut.cz/kifb/en/concepts/_white.html

 

Dans WordNet, on a 13 sens en tant qu’ « adjectif ». Un correspond au concept Sumo White  et une autre au concept ColorAttribute.

 

 

White

  • being of the achromatic color of maximum lightness; having little or no hue owing to reflection of almost all incident light; "as white as fresh snow"; "a bride's white dress" (synset 400373636).
  • Être de couleur achromatique de légèreté maximale ; « blanc comme la neige fraîche » ; « la robe blanche d'une mariée ».

 

 ColorAttribute

  • (of hair) having lost its color; "the white hairs of old age" (synset 400382594).
  • (des cheveux) perdre leur couleur; « Les cheveux blanc de l’âge ».

 

White étant une instance de PrimaryColor, lui-même étant une instance de ColorAttribute, on peut donc associer White et Color aux même concept SUMO : ColorAttribute qui engloble les deux concepts.

 

Horse[15] : (fr= cheval) : Etant donné que SUMO identifie et définie des concepts généraux, Horse n’est pas présent dans SUMO. Ici on va faire le même raisonnement que pour Henry IV. On considérera donc Cheval comme une entité ce qui est vérifié par schéma suivant.

 

 

 

Source : http://virtual.cvut.cz/kifb/en/concepts/_animal.html

 

2. Comment SUMO répond il à cette question ?

 

a. Sans ajout de connaissances dans la base.

 

Normalement, la formule[16] devrait être suivant ce que nous avons vu sur les règles d’inférence :

 

1. (=>                                                             //Si

2.   (and                                                          //on a,

3.         (possesses HenryIV Horse)                 // Henry IV possède Cheval,                Informations

4.         (attribute Horse White)                        // Cheval a l’attribut d’être blanc          préalables

5.     )                                                                                                                        (prémisses)

6.  (exists ( ?X)                                               // Alors, existe-t-il un X tel que

7.        (and                            

8.            (attribute Horse ?X)                         // X soit un attribut de Cheval   Requête

9.            (instance ?X ColorAttribute) // et X  est un attribut de couleur

10.       (possesses HenryIV Horse)                // Henry IV possède le Cheval

11.     )

12.  )

Formule 1

 

Littéralement on a : si Henry IV possède un cheval et blanc, existe-t-il un couleur qui soit celle d’un cheval possédé par Henry IV.

Ce qui nous donne comme réponse :

 

 

En apparence, la machine d’inférence nous renvoie un résultat concluant mais la réponse positive et la relation qui est faite entre « White » et « ColorAttribute » est-elle bien le résultat d’une référence à la couleur du cheval blanc d’Henry IV. SUMO fait donc bien le lien entre « White » qui est une couleur primaire « PrimaryColor »: (1) « instance White PrimaryColor » et entre « PrimaryColor » et « ColorAttribute » qui est une sous-classe d’attribut de couleur : (3) « subclass PrimaryColor ColorAttribute ». Ici il se sert de sa base de connaissances pour le déduire. Ceci est représenté par [KB] dans la copie d’écran des résultats.

Du fait que SUMO déduit ce lien de l’assertion de la ligne 9 cela laisse penser qu’il fait bien le lien entre le cheval et l’inconnu « X ». Un autre test est donc nécessaire pour vérifier ceci. La façon la plus simple est donc d’insérer une négation dans la formule par rapport au fait que Henry IV possède le cheval ( Formule 1 l.10 (possesses HenryIV Cheval))  pour ainsi déterminer si quand SUMO fait le lien entre « White » et « ColorAttribute » il le fait bien en référence à la couleur du cheval d’Henry IV. On a donc une nouvelle formule :

 

1. (=>                                                             //Si

2.   (and                                                          //on a,

3.         (possesses HenryIV Horse1)               // Henry IV possède Cheval,

4.         (attribute Horse1 White)                      // Cheval a l’attribut d’être blanc

5.     )

6.  (exists ( ?X)                                               // Alors, existe-t-il un X tel que

7.        (and                            

8.            (attribute Horse1 ?X)                       // X soit un attribut de Cheval

9.            (instance ?X ColorAttribute) // et X  est un attribut de couleur.

10.          (not

11.                   (possesses HenryIV Horse)     // Henry IV possède le Cheval 

12.           )

13.     )

14.  )

Formule 2

 

Littéralement on a : si Henry IV possède un cheval blanc, existe-t-il une couleur qui soit celle d’un cheval qui n’est pas possédé par Henry IV.

Ce qui donne pour réponse l’écran suivant :

 

 

Nous avons donc ici une réponse négative. La Machine d’inférence prend donc bien en compte les assertions précédent la question. Ce qui est d’autant plus vérifiable avec une formule qui ne contient que la question :

 

1.  (exists ( ?X)                                               // Alors, existe-t-il un X tel que

2.        (and                            

3.            (attribute Horse ?X)                         // X soit un attribut de couleur

4.            (instance ?X ColorAttribute) // du cheval

5.            (possesses HenryIV Cheval) //et que ce cheval appartient à Henry IV

6.    )

7. )

Formule 3

 

 

Littéralement on a : Existe-t-il un « X » qui soit un attribut de couleur du cheval d’Henry IV

 

Qui nous donne,

 

 

La machine d’inférence nous fournie ici une réponse négative ce qui confirme bien qu’elle a pris en compte les assertions précédent la question.

On peut donc penser que les assertions en début de formule sont ici bien prises en compte et que la réponse à la formule1 fait bien référence au cheval d’Henry IV ou du moins que les règles de logique sont efficacement traitées et que le lien entre la couleur donnée en assertion (en l’occurrence « White ») et l’inconnu « X » défini comme un attribut de couleur est correctement établi en rapport aux autres prédicats de la formule.

Nous allons pouvoir vérifier cela en traitant la même question à la différence que des informations préalables vont être incorporées à la base de connaissances qui constitue SUMO.

 

b. Avec ajout de connaissances dans la base

 

Nous allons donc ajouter à la base de connaissances les informations suivantes à l’aide du bouton « Tell » :

 

(and                                                               

            (possesses HenryIV Horse)                 // Henry IV possède un Cheval

(attribute Horse White)                        // Cheval à l’attribut d’être blanc

)

 

 

Ce qui revient à insérer dans la base de connaissances l’information suivante :

 

  • HenryIV possède un cheval et ce cheval est blanc.

 

Puis on lui pose la question :

           

1.  (exists(?X)                                                                         //existe-t-il  un tel que

2.         (and                                                               

3.                     (possesses HenryIV Cheval)                            // X est un attribut de couleur du

4.                     (instance ?X ColorAttribute)                            // Cheval et

5.                     (attribute Cheval ?X))))                                   // Henri IV possède Cheval

 

Littéralement : Existe-t-il une inconnue  « X » qui soit un attribut de couleur du cheval appartenant à Henry IV.

Ici le moteur d’inférence nous donne une réponse qui est en l’occurrence « White », la réponse escomptée.

 

 

Pour vérification, on procède de la même façon que pour la formule sans ajout de connaissances, ce qui entraîne une réponse négative.

 

 

On obtient donc les mêmes résultats que pour qu’avec la formule contenant les assertions. 

 

c. Synthèses des résultats, améliorations envisageable et pertinence des liens SUMO- énoncé linguistique.

           

            Les deux hypothèses de départ sont donc vérifiées, la machine d’inférence bien que normalement limitée à utiliser les informations comprises dans la base de connaissances, gère tout de même celle qu’on lui donne dans une requête. Ceci rend SUMO, qui est une ontologie de niveau supérieur, assez autonome face aux ontologies de domaines plus spécialisés et en fait donc une base travail solide pour de nombreux projets grâce notamment à l’utilisation de la logique de premier ordre.

Ceci dit, des améliorations sont tout de même envisageables, comme l’ajout d’un module de traitement intermédiaire entre la base de connaissances et la machine d’inférence qui puisse incorporer de nouvelles informations relatives à une requête si elles ne sont pas présentes dans la base de connaissances. Le traitement des requêtes en langage naturel par la machine d’inférence pour faciliter l’utilisation de SUMO et ainsi éviter l’utilisation de la logique de premier ordre à des néophytes (ce point est actuellement en cours de réalisation) et enfin une simplification des résultats donnés par la machine d’inférence pour en faciliter la compréhension. En effet, il se pose quand même le problème de la distance qu’il existe entre les formules logiques et la multiplicité des sens inhérents à l’énoncé de départ en langage naturel. On peut donc se poser la question de savoir si face à un vrai texte et non à une phrase isolée cette retranscription est opérable. Bien qu’un module expérimental soit en cours de réalisation (CELT : The Controlled English to Logic Translation[17]) il apparaît assez difficile de pouvoir engranger dans une base de données toutes les possibilités que propose le langage naturel. On peut voir avec notre exemple qu’il y a une différence plus qu’importante entre la phrase en langage naturel et la traduction que j’ai effectué en logique formelle. En effet, « what is the color of Henry IV White Horse? » devient  littéralement « si Henry IV possède un cheval et que ce cheval a l’attribut d’être blanc alors il existe une inconnue X tel que cet X soit un attribut du cheval qu’Henry IV possède et une instance d’attribut de couleur ». De ce fait en l’état actuel une automatisation de cette opération semble assez difficile pour le cas de figure que nous avons étudié ou le traitement d’un texte mais faisable pour des énoncés simples.

 

 

 

III. Le stage sur SUMO

Merci à Dominique Dutoit, Patrick de Torcy et Yann Picand (société Memodata) ainsi qu’à Adam Pease (administrateur technique du site www.ontologyportal.org) pour leurs supports tout au long du stage.

 

A.   Le déroulement du stage.

 

L’objectif de ce stage était de présenter et d’étudier les possibilités de l’ontologie SUMO à travers un exemple concret de Question/Réponse dans le cadre d’une tâche de traitement automatique des langues.

La première partie du stage a consisté à se familiariser avec l’ontologie à travers l’installation de l’environnement Sigma (Apache Tomcat, http://sigmakee.cvs.sourceforge.net/*checkout*/sigmakee/sigma/SigmaUserManual.pdf), et à la lecture de la documentation sur et autour de SUMO (cf. Bibliographie) ainsi que sur la logique de premier ordre (langage SUO-KIF : http://sigmakee.cvs.sourceforge.net/*checkout*/sigmakee/sigma/suo-kif.pdf ). A ceci a succédé une phase de test des formules en SUO-KIF pour la retranscription de l’énoncé étudié dans la section II.B. Enfin plusieurs travaux ont été effectués. Ils sont présentés dans la section suivante.

 

B.   Mes apports au projet SUMO

 

1. Traduction du fichier de génération de paraphrase de l’anglais vers le français :

http://sigma.ontologyportal.org:4010/sigma/KBs.jsp

 

Le fichier qui a été traduit contient les patrons qui vont permettre la génération de paraphrases ainsi que la traduction d’un certain nombre de concepts définis dans SUMO pour en donner une définition en langage naturel.

Ce fichier contient donc une description du concept en langage naturel comprenant des étiquettes qui sont interprétées par le navigateur Sigma.

Ces étiquettes sont les suivantes :

 

  • &%token - fait de la chaîne de caractères ici remplacée par « token » un lien hypertexte renvoyant à la page concernant le concept.
    • (format fr copy "%1 est %n une &%copie exact de %2")

 

  • %1, %2, ... - cette étiquette sera substituée avec la représentation en langage naturel des arguments respectifs du concept.

 

    • (format fr domainSubclass "le nombre %2 argument de %1 est %n une &%sous-classe de %3")

 

  • %n{text} - Sera remplacé soit avec une chaîne vide si le prédicat est affirmatif soit par le « texte » dans les autres cas.

 

    • (format fr traverses "%1 %n{ne} &%traverse %n{pas} %2")

 

  • %p{text} - Sera remplacé par le “texte” dans une phrase affirmative et par rien pour une phrase négative.

 

    • (format en origin "%1 %n{doesn't} &%origin%p{s} at %2")

 

C’est un exemple en anglais qui a été choisi car cette étiquette n’avait pas lieu d’être en français car elle sert à empêcher la répétition du marquage de la troisième personne dans la conjugaison anglaise avec « doesn’t » et « origin».

 

  • %*{range}[delim] - %* sera remplacé par une liste de représentation en langage naturel d’un sous-ensemble d’arguments ; « range » spécifie quels arguments seront inclus. Par exemple, « range 1-4,6 » représente les arguments un à quatre plus le sixième. « delim » représente le séparateur entre les arguments qui sera utilisé. « range » et « delim » peuvent être omis et leurs valeurs par défaut sont respectivement tous les arguments et un espace.

 

    • (format fr partition "%1 est %n &%complètement &%décomposé en %*{2-}[,]")

 

 Au final, on a donc par exemple pour les paraphrases :

 

  • (format en believes "%1 %n{doesn't} &%believe%p{s} %2")

 

Qui devient,

 

  • (format fr believes "%1 %n{ne} &%croit %n{pas} %2")

 

Ou pour les concepts proprement dit :

 

  • (termFormat en Entity "entity")

 

Qui devient,

 

  • (termFormat fr Entity "entité")

 

 

Quelques difficultés ont été rencontrées. En premier lieu au niveau de la traduction où certains termes ont posé des problèmes. Tel que : « ContentBearingObject » défini dans SUMO par «Any SelfConnectedObject that expresses content. This content may be a Proposition, e.g. when the ContentBearingObject is a Sentence or Text, or it may be a representation of an abstract or physical object, as with an Icon, a Word or a Phrase. » :

 

  • (termFormat en ContentBearingObject "content bearing object")

 

Traduit par:

 

  • (termFormat fr ContentBearingObject "objet sémantique")

 

En second lieu, des modifications au point de vue de la réalisation des phrases négatives ont dû être apportées pour correspondre à l’emploi en français et on pourra remarquer qu’il a été aussi nécessaire de supprimer la marque de la troisième personne pour la conjugaison du verbe en anglais. On avait par exemple :

 

  • (format en needs "%1 %n{doesn't} &%need%p{s} %2")

 

Qui devient en français:

 

  • (format fr needs "%1 %n{n'} a %n{pas} &%besoin de %2")

SUMO avec les paraphrases en français est consultable à cette adresse :

http://sigma.ontologyportal.org:4010/sigma/KBs.jsp

 

2. Incorporation des concepts SUMO à l’intérieur d’Alexandria.

 

La deuxième étape a été d’intégrer les concepts sumo à l’intérieur d’Alexandria (cela pour permettre ensuite de créer un page web sur SUMO pour le site de Memodata incluant la possibilité de naviguer dans l’ontologie avec la technologie Alexandria).

Alexandria intégrant WordNet, grâce au fichier de correspondance (mapping), le lien peut être fait avec Alexandria. En effet SUMO utilise quatre fichiers de « mapping » fait à partir des dictionnaires de WordNet qui sont organisés de la manière suivante : on a par exemple pour le synset {accession, addition} :

 

00047131 04 n 02 accession 0 addition 0 001 @ 09536731 n 0000 | something added to what you have already; "the librarian shelved the new accessions"; "he was a new addition to the staff"

 

La première partie de l’enregistrement, c’est-à-dire 000047131 est l’identifiant unique du synset. La partie entre le symbole « @ » et « | » indique que ce synset est un hyponyme du synset dont l’identifiant est 09536731 qui correspond au synset « du sens de l’acquisition ». L’élément final correspond à la définition du synset ainsi qu’à quelques exemples d’usage.

On a donc pour SUMO, un fichier de mapping pour les noms (WordNetMapping-nouns.txt), un pour les verbes (WordNetMapping-verbs.txt), un pour les adjectifs (WordNetMapping-adj.txt) et enfin un pour les adverbes (WordNetMapping-adv.txt). Trois sortes de relation sont possibles : La synonymie (« = »), l’hyperonymie (« + »), et l’instanciation (« @ »).

La première intervient lorsque le synset est un synonyme du concept SUMO. Le synset « plant »  dans WordNet est noté de la manière suivante :

 

  • 00008864 03 n 03 plant 0 flora 0 plant_life 0 027 @ . . . | a living organism lacking the power of locomotion

 

Du fait que l’entrée WordNet est synonyme avec le concept SUMO elle devient donc dans le fichier de mapping :

 

  • 00008864 03 n 03 plant 0 flora 0 plant_life 0 027 @ . . . | a living organism lacking the power of locomotion &%Plant=

 

 

Le préfixe « % » indique que le terme est tiré de l’ontologie SUMO et le suffixe « = » indique que la relation de correspondance est la synonymie.

 

La deuxième correspondance intervient lorsque le concept SUMO a une signification que l’on peut qualifier de plus générale par rapport au synset WordNet. On parle d’hyperonyme. Prenons par exemple l’entrée WordNet suivante:

 

  • 04719796 09 n 01 Christian_Science 0 001 @ 04718274 n 0000 | religious system based on teachings of Mary Baker Eddy emphasizing spiritual healing

 

Ici il n’y a pas de concept dans SUMO qui soit équivalent en sens à « Christian_Sciences ». Cependant, l’ontologie contient le concept plus général de « Religious Organization ». L’annotation « &%ReligiousOrganization+» est donc ajoutée à la fin de l’entrée WordNet dans le fichier de mapping. Ce qui donne :

 

  • 04719796 09 n 01 Christian_Science 0 001 @ 04718274 n 0000 | religious system based on teachings of Mary Baker Eddy emphasizing spiritual healing &%ReligiousOrganization+

 

Le suffixe « + » indique que le concept est un hyperonyme du synset associé.

 

La troisième sorte de relation de correspondance est donc l’instanciation. Cette relation indique que la chose dénotée par le synset WordNet est un membre de la classe dénoté par le concept SUMO. Par exemple nous avons l’entrée WordNet suivante:

 

  • 00034393 04 n 02 Underground_Railroad 0 Underground_Railway 0 001 @ 00032687 n 0000 | abolitionists secret aid to escaping slaves; pre-Civil War in US

 

Dans ce cas, le concept SUMO le plus proche est « Organization », et il n’y a ni équivalence de sens ni hyperonymie. Le fait est donc indiqué grace à l’annotation “&%Organization@

 

 

  • 00034393 04 n 02 Underground_Railroad 0 Underground_Railway 0 001 @ 00032687 n 0000 | abolitionists secret aid to escaping slaves; pre-Civil War in US  &%Organization@

 

 

Après avoir vu comment la composition des fichiers de mapping, il fallait donc les traiter pour faire faciliter le travaille de correspondance avec Alexandria. Plusieurs solutions été possible, mais j’ai choisi d’utiliser Perl pour le faire.

La première étape a donc été de nettoyer ces fichiers pour en extraire les données qui nous intéressaient.

  • suppression de tous les synsets qui n’avaient pas de correspondance avec des concepts SUMO.
  • Extraction et séparation des différents types de correspondances. Par exemple pour le fichier « WordNetMapping-verbs.txt » on a en sorti :

 

        • verbs_=.txt
        • verbs_+.txt
        • verbs_@.txt

 

Ces fichiers contiennent donc le/les numéros de synsets suivit du concept SUMO. Exemple d’entrée dans verbs_=.txt  pour le concept SUMO « Game » :

 

 

La deuxième étape a été de récupérer les définitions des concepts SUMO pour les intégrer dans Alexandria.

·        Concaténation de tous les fichiers qui constituent les bases de connaissances SUMO

·        Extraction avec Perl de tous les concepts SUMO accompagnés de leurs définitions.

 

Je suis donc parti d’un document structuré comme ceci :

 

 

Pour arriver à un document avec pour chaque ligne un concept (le premier mot) suivit de sa définition:

 

 

Puis grâce à des programmes propres à l’entreprise permettant d’automatiser la tâche, l’intégration de concept SUMO et de leurs définitions est donc maintenant possible. A ce jour, ce travail n’a pas encore été effectué, l’intérêt immédiat n’ayant pas été trouvé.

 

3. Création d’une page web pour consulter SUMO sur le site de Memodata.

 

Adam Pease, l’administrateur technique du site ontologyportal (www.ontologyportal.org) consacré à SUMO nous ayant donné une URL sur laquelle pointer, il a suffi de générer une page web d’introduction et de présentation de l’ontologie puis d’intégrer un iframe dans la page pour permettre aux utilisateurs de naviguer dans SUMO. Le résultat de l’étape précédente permettra de pouvoir double-cliquer sur n’importe quel mot pour en faire apparaître sa définition ou sa traduction grâce à la technologie Alexandria.

 

 

Conclusion générale

 

A la vue des éléments accumulés au cours de cette étude, SUMO apparaît comme une base plus qu’intéressante pour le développement d’outil dans le domaine de la recherche d’information (Deux projets sont présentés en annexe). L’ontologie regroupe en effet plusieurs avantages majeurs. Tout d’abord c’est une ontologie dite de niveau supérieur (elle est prête à incorporer des ontologies plus spécialisées) créée dans un effort de standardisation, elle est le résultat de la fusion de plusieurs autres ontologies ce qui lui confère quand même une certaine légitimité quand à la classification qu’elle propose. De plus, elle a été construite à partir d’un langage dit de logique de premier ordre qui peut par exemple exprimer des propriétés sur des domaines infinis (c’est-à-dire les propriétés de et entre les objets) et permet ainsi l’utilisation de l’inférence (section II.A.4). Enfin, la correspondance avec WordNet (section I.D), ouvre de nombreuses perspectives à travers l’utilisation du contenu sémantique de SUMO pour différentes tâches concernant le traitement du langage naturel.    

Ceci dit, il est clair qu’il reste du chemin à parcourir (section II.B.2.c)  notamment en ce qui concerne les résultats renvoyés par la machine d’inférence (section II.B.2), et la gestion des requêtes formulées en langage naturel qui n’est pour l’instant qu’au stade expérimental.

SUMO apparaît donc comme les prémisses d’une nouvelle façon de rechercher l’information.

 

 

 

Bibliographie / Sitographie

Sitographie principale

 

Bibliographie

 

La bibliographie suivante est issu du site ontologyportal (www.ontologyportal.org)

 

 

Annexes

 

Autour de SUMO

 

 

1. Electronic Metastructure for Endangered Languages Data

 

Dans le cadre du projet Electronic Metastructure for Endangered Languages Data (EMELD) http://emeld.org/index.cfm, visant à faciliter aussi bien le partage de connaissances sur des données linguistiques annotées que la recherche de corpus de langues qui sont menacées, il a été développé une ontologie comprenant un large éventail de phénomènes linguistiques. Il s’agit de GOLD (General Ontology of Linguistic Concepts).

Du fait que la linguistique englobe des concepts de tant de domaines différents, cette ontologie a été construite sur le niveau supérieur de SUMO et cela pour plusieurs raisons selon les créateurs du projet. En premier lieu, SUMO est une fondation devant servir de base pour des ontologies de domaines plus spécifiques. Elle est le résultat de la fusion de plusieurs ontologies de niveau supérieur lui permettant d’avoir une large couverture conceptuelle et elle contient de nombreux concepts sémiotiques et linguistiques (incluant ceux dérivés des classes de verbes de Levin[18] 1993). Enfin elle a été développée par un groupe de travail IEEE comprenant de nombreux experts issus de disciplines variées.

Voici une vue sommaire de cette ontologie :

 

 

 

SUMO sert ici de fondation à ce projet qui doit s’attacher par la suite à développer un moteur de recherche et les outils pour encoder les données sur les langues menacées, des modèles conceptuels incluant la phonologie et le discours ainsi qu’un système expert de raisonnement sur les données linguistiques pour les systèmes de traduction automatisée.

Nous avons donc ici un premier cas d’application utilisant SUMO. Celle-ci s’en sert de base de départ pour créer sa propre ontologie pour ensuite développer ses propres outils et n’utilise pas tous les avantages qu’elle propose tel que la correspondance avec WordNet qui, comme nous l’avons vu dans la partie I.D, ouvre de nombreuses perspectives à travers l’utilisation du contenu sémantique de SUMO pour différentes tâches concernant le traitement du langage naturel. C’est pour cela que nous allons voir l’application suivante plus en détail.

 

2. Agent  Semantic Communications  Service  (ASCS)  (Li  et  al,  2001)

 

Avec une ample ontologie commune, l’annotation d’un document avec ses concepts permettrait sans doute d’avoir de biens meilleurs résultats qu’avec une simple recherche basée sur des mots-clés en HTML, ce qui est a peu prés l’état actuel des choses. Dans cette optique, le projet Agent  Semantic Communications  Service  (ASCS)  (Li  et  al,  2001) basé sur SUMO a été développé par l’entreprise Teknowledge (www.teknowledge.com).

Il permet aux utilisateurs d’exécuter des recherches sémantiques dans un environnement web annoté en DAML/OWL (DARPA Agent Markup Language[19]/ Web Ontology Langage[20]). L’ASCS a deux principaux composants. Un agent de recherche sémantique (Semantic  Search Agent : SSA) qui permet à des agents de trouver des entités dans des ontologies qu’ils partagent et un service de traduction sémantique (Semantic Translation Service : STS) qui procure une base entre les agents qui emploient des ontologies différentes. Pour résumer, l’architecture de l’ASCS permet à n’importe quel agent de recherche sur texte d’intégrer les résultats de moteurs pour les présenter à l’utilisateur. Une application peut donc utiliser un SSA pour rechercher une information détaillée annotée en DAML quelque part sur Internet comme par exemple des numéros de téléphone. Le résultat de cette requête est précis car le contenu sémantique d’un numéro de téléphone est indiqué par un concept contenu par une ontologie au format DAML et si certaines pages emploient une autre annotation des numéros de téléphone en DAML alors le STS peut créer une correspondance entre les différentes ontologies.

ASCS supporte plusieurs sortes d’inférences simples qui peuvent servir à élargir les requêtes à l’image de l’équivalence, l’inversion, la généralisation et la spécialisation.

 

  • L’équivalence utilise les relations DAML : « samePropertyAs » (memePropriétéQue ») et « sameClasseAs » (« mêmeClasseQue ») pour réitérer des requêtes qui ne diffèrent que dans la forme.
  • La généralisation et la spécialisation utilisent les relations « subPropertyOf » (« sousPropriétéDe »)  et  « subClassOf » (« sousClasseDe ») pour trouver des correspondances avec des classes et des relations plus ou moins spécifiques.
  • L’inversion permet par exemple de reformuler la requête (parentOfBill Mary) (« Marie est un parent de Bill ») par (childOf Mary Bill) (« Bill est un enfant de Marie ») si « parentOf » et « childOf » ont été spécifiés comme étant l’inverse l’un de l’autre.

 

L’ASCS est structuré comme un réseau d’agent distributeur. Chaque SSA a un ensemble de STS qu’il peut appeler pour traduire d’une ou vers d’autres ontologies et chaque STS connaît un ensemble de SSA auxquels il peut envoyer des requêtes. Ici un problème pourrait se poser : si un SSA donné a indexé seulement une portion du web DAML, c'est-à-dire un nombre restreint d'ontologies, il y aura un nombre limité de relation entre les SSA et les STS. Mais ceci a été anticipé car à mesure que le web DAML grandit des agents sont déployés et similairement des STS le sont aussi pour faire le lien entre les ontologies, à l’image des traducteurs humains qui entretiennent des connections dynamiques entre les locuteurs de langues différentes.

De plus, l’exécution inclut un composant de recherche/indexation ressemblant plus à un moteur de recherche basé sur l’HTML et « tisse » le web DAML en analysant chaque page et en construisant un index qui peut être efficacement fouillé.

Un problème subsiste tout de même dans cette recherche dite sémantique. En effet, l’ASCS ne prend pas bien en charge les requêtes vagues ou ambiguës. Une des solutions est d’utiliser la correspondance entre SUMO et WordNet. En effet en proposant plus d’une centaine de milliers de termes liés aux concepts SUMO, l’utilisateur peut être imprécis et laisser la correspondance prendre en charge une reformulation. Il existe bien sûr un risque que la reformulation inclut des correspondances non attendues mais ce problème peut être modéré en instaurant un échange avec l’utilisateur à propos du terme pour qu’il puisse le modifier. Mais il est aussi possible que la correspondance soit couplée avec un programme de désambiguïsation.

 

 

 



[1] Site de la société : http://teknowledge.com/

[2] The Institute of Electrical and Electronics Engineers, Inc. Il existe a peu prés 900 standards IEEE actifs (comme par exemple la norme 802.11: Réseau local sans-fil (Wi-Fi)) et plus de 400 sont en développements.

[3]American National Standard for Knowledge Interchange Format is at: http://logic.stanford.edu/kif/dpans.html.

[4] Les spécifications de langage SUO-KIF se trouve ici: http://suo.ieee.org/SUO/KIF/suo-kif.html

[5] WordNet® est un lexique de référence en ligne dont la conception est inspirée par des théories psycholinguistiques Les noms, les verbes, les adjectifs et les adverbes anglais sont organisés en jeux de synonyme, chacun représentant un concept lexicologique fondamental. Les différentes relations lient les ensembles de synonymes.cf I.D : Correspondance WordNet-SUMO.

[8] Niles and Pease, 2003

[9] Cf  II.A.4

[10] SUMO et WordNet étant en anglais, les termes de la phrase ont donc été recherchés en anglais. La correspondance en français est donnée.

[11] Pour ce test seule l’ontologie SUMO et les fichiers de génération de paraphrases anglais et français ont été chargés ceci est dû au fait que la machine d’inférence renvoyer une erreur si toutes les ontologies étaient chargées

 

[12] Cf. II.A.3.A

[13]élément linguistique qui lie le sujet a l’attribut (le verbe être est la copule la plus fréquente en français [dictionnaire Alexandria])

 

[14] Désigne un mot en ce qu'il représente une classe générale d'objets ou de concepts (on parle de terme générique) par rapport à un autre mot qui lui est subordonné parce qu'il désigne un objet ou un concept particulier de la classe (on parle de terme spécifique), et cela, dans le cadre d'une relation hiérarchique orientée du genre vers l'espèce ou encore du générique vers le spécifique. Par exemple, dans la relation un chat est une sorte d'animal, animal est un hyperonyme de chat (http://www.ling.uqam.ca).

[15] Peut être présent dans SUMO à condition d’avoir chargé une ontologie plus spécialisée.

[16] Par mesure d’économie et comme SUMO considère comme nous l’avons vu plus haut que que « possesses » prend deux arguments, un agent et un objet c’est-à-dire deux entités il n’apparaît pas nécessaire de les insérer dans les formules.

[17] Base de données de phrases en anglais avec leurs traductions en logique de premier ordre.

[18] Environs 200 classes pour 3000 verbes. Exemple “Manner of Motion: race, jump, skip”

[19] Extension du langage XML : http://www.daml.org/.