• Aucun résultat trouvé

Représenter des connaissances en Sciences de la vie

1.11 L’approche objets

Le raisonnement plausible introduit les notions de schémas et de prototype pour inclure des connaissances spécifiques du domaine dans le raisonnement. Un schéma présente les concepts et relations couramment associés à un type de concept ; les différents schémas associés à un type de concept correspondent aux différentes façons de voir l’utilisation de ce type de concept. A la différence des définitions de types, les schémas n’établissent pas de conditions nécessaires et suffisantes pour leurs types. Si les schémas prennent en compte la connaissance du domaine au niveau des types de concepts, les prototypes le font au niveau des individus. Un prototype est un individu typique d’un concept, ayant des valeurs par défaut pour les différentes relations intervenant dans le concept. Les schémas et les prototypes permettent de raisonner sur des graphes incomplets mais le raisonnement, à la différence de la logique du premier ordre, n’est pas monotone, et les conclusions obtenues à un moment donné peuvent être remises en question plus tard.

Discussion

A la différence des réseaux sémantiques qui représentent dans un même réseau plusieurs propositions, ainsi que des définitions de concepts, des relations de sous-typages et des liens vers des perceptions du monde, les graphes conceptuels organisent les différents types d’éléments dans des structures différentes : la hiérarchie de spécialisation, le treillis de type. Cette distinction permet la manipulation et la vérification de chaque structure à partir d’un ensemble réduit de règle de cohérence.

D’autre part, l’équivalence entre les graphes conceptuels et la logique du premier ordre ga-rantit que les inférences du modèle sont correctes. L’abstraction des concepts offre un mécanisme utile de définition de concepts complexes.

Cependant, le choix d’un graphe conceptuel comme unité de représentation pose les problèmes déjà soulignés pour la logique et les réseaux sémantiques. La connaissance concernant un objet est répartie dans différents graphes, ce qui pose de sérieux problèmes dès lors que le domaine possède des objets complexes et que la base est importante.

1.11 L’approche objets

1.11.1 Les objets

La notion d’objet est présente dans de nombreux domaines de l’informatique qui construisent des modèles conceptuels du monde réel, tels que les bases de données, le génie logiciel et l’in-telligence artificielle. Cette notion est née d’une volonté d’avoir une représentation informatique de haut niveau qui reflète directement des entités du monde réel et sur laquelle raisonnent les utilisateurs humains. En programmation, les mécanismes de base sont maintenant bien connus et maîtrisés (cf. par exemple (Perrot & Napoli 1996). En Intelligence Artificielle, les langages à objets sont devenus omniprésents, bien que le terme objet revête des significations bien dif-férentes suivant les communautés (Pachet 1997). On distingue traditionnellement deux familles de langages à objets : les langages de programmation par objets et les langages centrés-objets, appelés aussi représentaton par objets.

Les langages orientés objet

Les langages orientés objets (LPOO) sont dédiés à la programmation. Ils permettent de modé-liser l’univers d’une application à l’aide d’une hiérarchie de classes. Le langage Simula (O.J.Dahl & Nygaard 1966) basé sur le langage Algol-60 a développé les idées qui ont conduit au premier langage objet : Smalltalk (Goldberg & Robson 1983). De nombreux langages se sont dévelop-pés par la suite, en introduisant la notion de classes dans les langages existants tel que C++ (Stroustrup 1989), la version orientée-objet du langage C ou les versions objets du langage Lisp tel que CLOS (Bobrow & Stefik 1988a, Keene 1989). On peut également citer Eiffel (Meyer 1990) ou encore Java, qui fait référence à l’heure actuelle comme langage portable de conception orienté objets, en particulier pour le développement d’applications on-line.

Ces langages sont basés sur le paradigme classe/instance qui reposent sur la notion d’objet comme entité regroupant une structure et un textitcomportement, définis dans la classe de l’objet et donc communs à toutes les instances. La structure représente l’essence de l’objet, définisse de quoi est fait l’objet. Cette structure permet d’organiser les objets en un réseau par l’intermédiaire de relations. Le comportement d’un objet définit ce que sait faire l’objet. Il est représenté par un ensemble de méthodes (fonctions ou procédures), déclenchées par des messages explicites. Enfin, les classes sont organisées en une hiérarchie d’héritage permettant la définition par addition de structure et de comportements.

En particulier, trois notions essentielles sont à la base des langages objets : l’héritage, l’encapsulation et l’envoi de message :

– L’héritage : les classes héritent des propriétés et des méthodes (fonctions) de leur super-classes, c’est-à-dire les classes dont elles dérivent, situées plus haut dans la hiérarchie de classe. Elles se spécialisent par addition de nouvelles propriétés (éléments structurels) et de nouvelles méthodes. Eventuellement, certaines méthodes peuvent être surchargées, pour particulariser un traitement générale à la hiérarchie, mais spécifique à la classe.

– L’encapsulation : les classes encapsulent des données et des fonctions qui leur appartient. Les données sont ainsi protégées et manipulées par du code local. Cet aspect est très important pour une programmation de qualité, c’est-à-dire une clarté et une lisibilité du code amélioré,

– L’envoi de messages : un objet communique avec une autre objet par l’intermédiaire d’un message. L’objet récepteur décide seul de la manière de traiter le message qui peut conduire à émettre d’autres messages à d’autres objets, etc. On quitte ainsi la vision centralisée du paradigme procédurale des langages tels que Pascal et C pour lesquels une procédure globale ordonnance l’exécution séquentiel du programme.

Ces trois propriétés sont à la base du succès des langages objets car elles favorisent la modu-larité et la réutilisation des programmes. Ces idées ont données lieu à une grande variété de lan-gages. Ainsi, les langages acteurs comme ACT (Lieberman 1987) renforcent l’indépendance entre les objets et la communication par envoi de message, qui sont traités de manière asynchrones, comme des processus. Les systèmes méta-circulaires comme ObjVlisp (Cointe 1987) considèrent les classes comme étant instances de (méta) classes, elles même instances (méta-méta) classes, ce qui permet de modifier la sémantique des classes par l’intermédiaire du langage. Un certain nombre de ces travaux sur l’utilisation de ces langages pour résoudre divers problèmes

d’In-1.11. L’approche objets telligence Artificielle ont été menés sur la base de ces travaux, notament par l’école parisienne (Pachet 1997) : implémentation efficace de mécanismes d’inférence (Voyer 1989), représentation des hiérarchies de parties et des multi-facettes (Wolinski 1990), représentation des mécanismes d’évaluation (Krief 1990) ou encore connotation et coréférence (Bourgeois 1990).

Enfin, des langages comme LOOPS (Bobrow & Stefik 1988b) ou FLAVORS (Moon 1986) traitent des aspects additionnels comme l’héritage multiple, les perspectives et les objets com-posites.

Les bases de données orientés objets

A la différence des bases de données relationnelles, les Systèmes de Gestion de Bases de Données orientées-objets (SGBDOO) tels que ORION (Kim et al. 1987) ou Versant(Ver n.d.) utilisent comme structure de base les objets et les organisent en une hiérarchie de classes. Ces classes sont définies à l’aide d’un LPOO, (généralement C++). La structure organisationnelle ainsi construite est appelée le Schéma de la base de données et les données proprement dites sont les instances des classes définies par le schéma. Le rôle essentiel des SGBDOOs est d’assurer la persistance des données. Bien que relativement puissants, les SGBDOOs n’ont pas réellement réussi à s’imposer dans le domaine. Certainement parce que l’élaboration d’un schéma peut être difficile ou parce que le prix des licences de la plupart des SGBDOOs est souvent relativement élevé. Le standard actuel est encore, depuis les années 70, le modèle relationnel.

1.11.2 Les systèmes de représentation des connaissances à objets

A l’origine, les langages de représentation par objets se sont constitués par tentative d’enrichir le modèle des frames avec de nouvelles idées, en particulier en provenance de la programmation par objets. Les premiers langages, qualifiés de post-frames (Euzenat 1998) préservent l’utilisation de facettes, mais imposent une plus grande discipline dans cette utilisation en limitant la variété initiale. A côté, ils adoptent une distinction générique-spécifique qui se traduit par la division des unités de description, les frames, en classes et instances. La fonction essentielle d’un SRCO est de stocker, d’organiser les connaissances à l’aide des objets, ainsi que de fournir les méthodes d’inférences nécessaires destiner à compléter l’information disponible au sein du système.

Parmis les Systèmes de Représentation des Connaissances à Objets (SRCO) on pourra ci-ter par exemple les systèmes KRL (Bobrow & Winograd 1977), FRL (Roberts & Goldstein 1977), SHIRKA (Rechenmann 1988, Rechenmann et al. 1990), ROME (Carré 1989), OBJLOG (Dugertil 1988a, Dugertil 1988b), Y3 (Ducournau 1988a) et YAFOOL (Ducournau 1988b) ou encore TROPES (Mariño et al. 1990, SHERPA 1995) devenu TROEPS (Valtchev 1999).

Il est difficile de donner des caractéristiques universelles pour définir un SRCO. Certains systèmes, qualifiés de hybrides (Masini et al. 1989, Napoli 1992) permettent l’envoi de messages, l’appel à des fonctions ou d’autres mécanismes propres à des paradigmes aussi variés que la logique avec contraintes, la programmation fonctionnelle ou les langages à objets.

Toutefois, il est possible de donner un aperçu d’un système à objets par contraste avec d’autres formalismes précédemment introduits. Ainsi, les moyens d’exprimer les connaissances, désignés par langages de description, s’articulent autour de la notion d’objets structurés, classe

ou instances.

Représentation des connaissances

Les entités de bases des SRCOs sont les objets (ou instances), regroupées au sein d’entités plus génériques appelés classes. Chaque objet possède une identité qui peut être dans certain cas attribué automatiquement par le système, soit par l’utilisateur. Elle se décrit par un ensemble de couples attributs-valeurs, les attributs étant ceux définis par la classe d’appartenance. La valeur d’un attribut peut relever d’un type primitif comme entier, booléen ou chaîne de caractères, ou être instance d’une autre classe. Dans ce dernier cas, l’attribut matérialise une relation entre la classe à laquelle il est attaché, appelé domaine de la relation et la classe de l’instance qui constitue sa valeur, appelé co-domaine de la relation. Ceci permet de lier les classes entre elles par l’intermédiaire de leur propriétés.

Dans les classes, des facettes (ou descripteurs) sont associées aux attributs. Les facettes sont en nombre restreint et servent principalement à préciser le type des valeurs des attributs. Elles servent également à introduire des contraintes ou des mécanismes capables de calculer la valeur d’un attribut (démons) en fonction d’autres valeurs ou encore de gérer les relations entre objets (Euzenat 1999). Ainsi, les facettes de typage permettent de restreindre l’ensemble des valeurs possibles d’un attribut, en précisant les valeurs admissibles par une énumération de valeurs ou par une union d’intervalles, dans le cas des types numériques. Une facette de cardinalité peut permettre de restreindre le nombre maximal d’objets en relation avec l’instance concernée (relation de type 1 − n).

Les classes sont organisées par l’intermédiaire d’une relation d’ordre partiel en une hiérarchie conceptuelle H = (χ, 4 ,ω) où χ est un ensemble de classes, 4 la relation de spécialisation (ou relation d’héritage) et ω est l’élément maximal de χ suivant 4 (Simon 2000). Une classe hérite des propriétés de ses ascendants directs, appelés super-classes. L’héritage est dit multiple lorsqu’une classe peut avoir plusieurs ascendants.

Dans les SRCO, la sémantique de la relation de spécialisation est celle de l’inclusion ensem-bliste : une classe s’interprète comme un ensemble d’individus et les individus appartenant à l’interprétation d’une classe doivent appartenir à l’interprétation des super-classes (fig.1.12). De cette interprétation découlent les principes suivants :

– plus une classe est spécifique, plus les domaines de ses attributs sont restreints,

– si une classe est sous-classe de deux classes, les domaines de ses attributs sont forcément inclus dans (ou égaux à) l’intersection des domaines de ces deux classes,

– si un objet est instance d’une classe, il l’est aussi de toutes les super-classes.

Mécanismes de raisonnement dans les SRCO

Les mécanismes d’exploitation des connaissances sont utilisés pour la consultation des connais-sances disponibles dans les bases ou bien pour extraire de nouvelles connaisconnais-sances qui ne sont pas explicitement représentées dans la base.

1.11. L’approche objets

Fig. 1.12 – Exemple d’une représentation à objet à héritage simple. Les classes sont organisées en une hiérarchies de spécialisation. Les instances doivent respecter les contraintes définies par le domaine de définition des attributs. L’extension d’une classe plus spécifique est incluse dans l’extension de la classe la plus générale.

contraintes d’intégrités sont :

– le partage de propriétés. Le mécanisme d’héritage met en jeu de façon dynamique ou statique le partage de propriétés entre classes. En héritage statique, les propriétés sont recopiées explicitement dans les sous-classes. Lorsque l’héritage est dynamique, les proprié-tés ne sont pas recopiées dans les sous-classes : le mécanisme d’héritage effectue alors un parcours du graphe de classe pour récupérer les propriétés des super-classes. Dans les deux cas, une classe hérite de toutes les propriétés de ses super-classe et peut éventuellement les surcharger.

– le calcul de la valeur d’un attribut. Des facettes d’inférences peuvent être associées à un attribut et permettent de calculer automatiquement une valeur. La plus utilisées est la facette par défaut qui permet de donner une valeur à priori à un attribut en l’absence de tout autre valeur renseignée explicitement. Une facette particulière, l’attachement procédural, permet d’effectuer un calcul et d’associer le résultat du calcul à l’attribut. Plusieurs facettes peuvent être attachées simultanément à un même attribut, ce qui implique qu’une stratégie soit mise en place pour décider de l’ordre d’application de ces facettes (Napoli 1992), – la classification concerne les instances ou les classes. La classification de classes consiste

à placer une nouvelle classe dans le graphe des classes en recherchant ses super-classes les plus spécifiques et ses sous-classes les plus générales. La classification d’instances consiste à

trouver la classe d’appartenance la plus adaptée d’un individu dans la hiérarchie de classe (Napoli 1992, Ducournau et al. 1999).

– le filtrage. Pour la recherche d’un ensemble d’instances qui possèdent certaines proprié-tés, le mécanisme de filtrage permet de regrouper les individus s’appariant à un filtre. Ce mécansime s’apparente aux requêtes des bases de données.

1.11.3 Les objets composites

Le modèle de représentation des connaissances que nous présentons au chapitre suivant étant basé sur la notion d’objets composites, nous développons les différentes interprétations de le relation de composition utilisés par les systèmes centré-objets qui manipulent les objets composites (Napoli 1992, Drews 1993).

La relation de spécialisation (ou subsomption) est fondamentale dans le modèle objet au regard du grand nombre de mécanismes basés sur cette relation : inférence par héritage, classifi-cation, recherche des Ascendants les Plus Spécifiques (APS), etc. Cependant, certains systèmes à objets, tels que LOOPS (Bobrow & Stefik 1988b, Masini et al. 1989) ou SRL (Fox et al. 1986) par exemple accorde un rôle particulier à la relation de composition et aux objets composites.

Un objet composite est un objet complexe pour lequel est défini un ensemble de sous-parties. Chaque sous-partie est elle-même décrite par un composant. Un objets composite est relié à chaque sous-partie par un relation de type « partie-de » qui peut être interprétée de différentes façons (Napoli 1992, Drews 1993). Winston et al. (1987) ont identifié 6 catégories de relations de compositions (cf. tableau 1.1), qui se distinguent par trois aspects :

– Fonctionnalité : la relation entre le tout et les parties est-elle fonctionnelle? C’est le cas lorsqu’une partie réalise une sous-tâche de la tâche réalisée par le tout.

– Homogénéité : les parties sont-elles du même type que le tout? – Séparabilité : les parties sont-elles séparables du tout?

Relation Exemple Fonctionalité Homogénéité Séparabilité

Composant / tout Moteur-voiture + - +

Membre / collection Arbre-forêt - - +

Portion / masse Grain-sel - + +

Matière / objet Bois-armoire - -

-Trait / activité Payer-faire des courses + -

-Lieu / Aire Oasis-Désert - +

-Tab. 1.1 – Les 6 types de relations de compositions, d’après (Winston et al. 1987)

La relation de composition est une relation transitive, non réflexive et antisymétrique : – non réflexive car un objet n’est pas une partie de lui-même,

– asymétrique car si a est une partie de b, alors b n’est pas partie de a,

1.11. L’approche objets Cette dernière propriété de transitivité n’est pas toujours valide. Par exemple, on peut dire (Winston et al. 1987) :

Le carburateur fait partie du moteur(relation composant–objet entier) Le moteur fait partie de la voiture(relation composant–objet entier)

Alors, le carburateur fait partie de la voiture(relation composant–objet entier) Par contre, on ne peut pas dire :

Le bras de Paul fait partie-de Paul (relation composant–objet entier)

Paul fait partie du département de philosophie(relation membre-collection)

En général, la propriété de transitivité est garantie lorsque la relation “partie-de” est entendue avec un seul des sens mentionné ci-dessus. Dans les cas où différentes sémantiques interviennent, la transitivité de la relation peut-être remise en question.

La plupart des systèmes de représentation à objets manipulant des objets composites ne font pas la distinction explicite entre ces différents types de relation de composition. Ces systèmes peuvent se classer en trois groupes selon le type de définition adoptée (Drews 1993) :

– Définition structurelle des objets composites : un tout et des composants qui sont des objets à part entière tel que dans LOOPS (Bobrow & Stefik 1988b, Masini et al. 1989),

– La sémantique de la relation est donnée explicitement par le concepteur de la base, tel que dans les systèmes de représentation des connaissances tels que dans les langages Objlog (Dugertil 1991) ou SRL (Fox et al. 1986),

– Définition fonctionnelle : la relation de composition est le vecteur du maintien de la cohé-rence entre les sous-parties et le tout par propagation de contraintes entre objets. (Borning 1981, Sussman & Steele 1980, Davis 1987).

1.11.4 Évolution et points de vue dans les SRCOs

Certains modèles à objets mettent en avant l’évolution des connaissances et la possibilité d’ex-primer plusieurs points de vue sur les connaissances, comme par exemple le système de gestion de bases de connaissances à objets TROEPS (Mariño et al. 1990, SHERPA 1995, Valtchev 1999). TROEPS (originellement TROPES) est le successeur du système SHIRKA (Rechenmann et al. 1990), développé par l’équipe SHERPA de l’INRIA Rhône-Alpes. La conception de TROEPS a été motivée par le besoin d’apporter une solution à un ensemble de problèmes existant dans les SRCO (Carré & Comyn 1988, Carré 1989, Napoli 1992, Drews 1993, Euzenat 1999, Valtchev 1999). D’une part, comment gérer d’une manière efficace l’évolution des connaissances et d’autre part comment autoriser des classifications multiples sein différents points de vue sur ces connais-sances. La figure 1.13 illustre la vision multi-points de vue, telle qu’elle est considérée dans le système TROEPS. La notion de passerelle permet de lier les différents points de vue, de manière à permettre d’exprimer des relations d’inclusion entre classes de points de vue différents.

Pratiquement, la logique des points de vue est très semblable à la logique de composition. Cependant, elle ne possède pas une sémantique aussi riche. En effet, lors d’une classification, l’ab-sence avérée d’une sous-partie sera prise en compte comme une information, alors que l’abl’ab-sence

Fig.1.13 – Exemple d’une base de connaissances multi-points de vue en TROEPS (Valtchev 1999). Le concept appartement est représenté selon trois points de vue : prix, taille et localisation. Une instance est visualisée avec ses liens d’attachement sous chaque point de vue.

d’un point de vue n’a aucune signification classificatoire (Euzenat 1999).