A.
Méthodologie de la création de SUMO
1. Knowledge Interchange Format
2.
Les éléments de l’ontologie
d.
Les autres types de termes.
3.
Le niveau supérieur de SUMO
D.
Correspondance WordNet – SUMO
II. Etude des possibilités de SUMO.
a.
La quantification existentielle
b.
La quantification Universelle
5.
Utilisation d’un prédicat comme un terme.
B. Cas pratique: “What is the color
of Henry IV’s white Horse?”
1. Représentation des termes dans SUMO
2.
Comment SUMO répond il à cette question ?
a.
Sans ajout de connaissances dans la base.
b.
Avec ajout de connaissances dans la base
1.
Traduction du fichier de génération de paraphrase de l’anglais vers le
français :
2.
Incorporation des concepts SUMO à l’intérieur d’Alexandria.
3.
Création d’une page web pour consulter SUMO sur le site de Memodata.
1.
Electronic Metastructure for Endangered Languages Data
2.
Agent Semantic Communications Service
(ASCS) (Li et
al, 2001)
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 :
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 :
Deborah Nichols and Allan Terry. User's Guide to
Teknowledge Ontologies, December 3, 2003.
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 :
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
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
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.
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
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
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.
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
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 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
(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
(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
(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
(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
(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
(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.
Figure 1
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 –
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 –
Quand aucun terme n’est sélectionné, trois mesures sont affichées (fig. 4).

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 –

Figure 7
• Ask/Tell –
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.
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.
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
S2: “George Bush is President of the
S3: “Saddam Hussein is President of
Iraq in September
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).
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.
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
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
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 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
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
Qui est relié au concept SUMO « instance »:

Source : http://virtual.cvut.cz/kifb/en/concepts/instance.html
Exemple d’axiome (SUO-KIF):
(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 :
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

Source : http://virtual.cvut.cz/kifb/en/concepts/_color_attribute.html
Exemple d’axiome (SUO-KIF):
(=>
(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 ».
‘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 :
Soit
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):
(<=>
(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
· 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 :
Soit

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
ColorAttribute
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. (=> //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
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 :
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
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.
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
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 :
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 « origins ».
Au final, on a donc par exemple pour les paraphrases :
Qui devient,
Ou pour les concepts proprement dit :
Qui devient,
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. » :
Traduit par:
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 :
Qui devient en français:
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
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 :
Du fait que l’entrée WordNet est synonyme avec le concept SUMO elle devient donc dans le fichier de mapping :
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:
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 :
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:
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@”
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.
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 à
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.
Sitographie principale
La bibliographie suivante est issu du site ontologyportal (www.ontologyportal.org)
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
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’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
[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/.