• Aucun résultat trouvé

Inférence et moteur d’inférence

Dans le document en fr (Page 75-79)

PARTIE 3 État de l’art

3.1.3 Inférence et moteur d’inférence

Dans sa définition classique, l'inférence est une opération logique portant sur des propositions tenues pour vraies appelées prémisses et concluant à la vérité d'une nouvelle proposition en vertu de sa liaison avec ces prémisses. Il existe plusieurs types particuliers d’inférence selon Pierce (déduction, induction et abduction) ; cependant, la déduction est celle qui nous intéresse plus particulièrement, car c’est le seul type d’inférence pour laquelle la vérité des prémisses assure totalement la vérité de la conclusion. En d’autres

termes, la déduction garantit le résultat déduit sous réserve que les éléments à la base du raisonnement soient vrais.

La modélisation du raisonnement par déduction a donc été profondément étudiée, afin de fournir les outils nécessaires à son automatisation. Ainsi, depuis la fin du XXe siècle, l’informatique et les mathématiques sont impliquées dans une révolution qui a abouti à l’utilisation de modèles informatiques compatibles avec la logique formelle mathématique, et notamment avec la logique des prédicats (ou logique de premier ordre), qui vient combler des lacunes de la logique propositionnelle. Ces termes sont définis ici plus avant.

Logique propositionnelle

La logique des propositions, ou calcul des propositions, est la première étape de la logique dite classique (au sens historique), issue de la logique stoïcienne. Ainsi, Diogène cite Chrysippe définissant une proposition comme « ce qui est vrai ou faux, ou un état de choses complet qui […] peut être asserté ».

Une proposition est donc une construction syntaxique qui peut être qualifiée de vraie ou fausse, par exemple : « M. Dupond est vivant », « 2+2=4 » ; en revanche, « reviens dans une heure » n’est pas une proposition, car on ne peut y attribuer une valeur de vérité.

Sur la base de ces propositions, on peut construire un raisonnement visant à passer de prémisses (propositions initiales qu’on n’a pas besoin de démontrer), via une nouvelle prémisse, à une conclusion :

« Jean est un homme » + « les hommes sont mortels » donc « Jean est mortel »

Logique des prédicats

Le trait caractéristique de la logique des prédicats (appelée également calcul des prédicats du premier ordre, calcul des relations ou logique du premier ordre) est l'introduction d'un ensemble de symboles appelés variables, d'un ensemble d'autres symboles désignant des

relations, d'un ensemble de symboles désignant des prédicats, ainsi que des connecteurs

Plus simplement, un prédicat est généralement une proposition utilisant une variable, et dont la valeur de vérité dépendra de cette variable, par exemple : « Cette personne est de sexe masculin » aura une valeur vraie ou fausse suivant la valeur de la variable « personne ».

Cela permet ainsi de formuler des énoncés tels qu’illustrés en Figure 13 et Figure 14.

La logique des prédicats permet donc d’obtenir des propositions plus générales, car applicables à de multiples particuliers. On peut déjà pressentir que pour réaliser un raisonnement automatique au sujet de patients, ce type de logique est nécessaire.

Le point crucial lorsqu’on souhaite confier une opération à un système automatique est la confiance dans le processus et donc le résultat donné par ce système ; cela n’en est que plus vrai dans le domaine de l’aide à la décision médicale. L’intérêt de la logique des prédicats est qu’il est possible de démontrer toutes ses lois, de façon automatique. Ainsi, l’utilisation d’un moteur d’inférence avec ce type de représentations permet de réaliser

ࢌሺ࢞) x est f

ሺ׊࢞)ࢌሺ࢞) tous les x sont f

ሺ׌࢞)ࢌሺ࢞) il existe un x qui est f

Figure 13 – Utilisation des connecteurs en logique des prédicats

ሺ׊ݔ)ሺܪݔ ՜ ሺ׌ݕ)ሺܿݕ רܽݔݕ))

Tout Humain a un cœur

Pour tout x, si x est un Humain, alors il existe un y tel que c est un cœur et x a y

Figure 14 - Énoncé de la logique des prédicats, utilisant donc des variables et connecteurs

des déductions automatiques avec l’assurance « mathématique » d’une conclusion vraie (sous la réserve unique que les prémisses sont vraies, d’où l’importance majeure de s’en assurer).

Noter ici que les énoncés peuvent donc se représenter sous la forme de triplets : sujet / prédicat / objet, exemple : Humain / action d’avoir / coeur. Cette modélisation en triplet est le format de base du langage OWL/RDF utilisé dans le projet AKENATON comme modèle de connaissance.

3.1.3.2 Moteurs d’inférence

Les premiers moteurs d'inférences sont nés dans les années 1960 dans la communauté des chercheurs en informatique, notamment lors du lancement du programme de recherche américain sur le General Problem Solver. En France, le moteur Prolog (inventé par Alain Colmerauer à Marseille en 1972) est un exemple mondialement connu de moteur d'inférence en logique formelle monotone d'ordre 1. Les équipes de recherche au Japon avaient décidé de fonder leur programme de recherche sur les ordinateurs dits de « 5e génération » sur ce langage.

Plus en rapport avec notre objectif de thèse, de nombreux moteurs d'inférences gratuits ou commerciaux ont été développés depuis 10 ans, tels que Racer, Pellet, Fact, Fact++, Hermitt, etc. Ces moteurs d’inférence sont compatibles avec les langages que nous avons utilisés dans AKENATON (logiques de description, OWL). Certains moteurs d'inférence ne peuvent raisonner qu'au niveau terminologique (c'est-à-dire au niveau des concepts et des propriétés, par exemple la classe patient) alors que des moteurs tels que Racer et Pellet que nous avons utilisés permettent de raisonner également sur les instances de concepts (c'est-à-dire les individus particuliers, par exemple Roger Dupont, membre de la classe patient) (Sirin et coll. 2007). L’existence de raisonneur adapté aux objectifs est un bénéfice déterminant de l’utilisation de certains langages tels que OWL-DL (Rubin, Knublauch, et al. 2005).

Mode d’inférence

Le fonctionnement des moteurs d’inférence peut répondre à plusieurs modes, dont les plus connus sont respectivement :

- le chaînage avant, qui signifie que toutes les règles dont les prémisses sont vraies sont activées successivement afin d’en déduire de nouvelles conclusions ; on parle de raisonnement piloté par les données (car les données sont le point de départ, et on avance vers la conclusion).

- le chaînage arrière, qui consiste à partir de la réponse à une question que l’on souhaite évaluer, et à remonter dans les règles pouvant potentiellement parvenir à élucider cette question. Ce fonctionnement plus proche du raisonnement déductif est celui utilisé dans Prolog. D’une certaine façon, on part du résultat escompté en cherchant à évaluer si les règles susceptibles d’y parvenir s’appliquent. MYCIN, décrit p.81, utilise un moteur d’inférence utilisant le chaînage arrière.

- un chaînage mixte, bidirectionnel ou hybride (termes synonymes). Ce mode est une composition des 2 modes précédents. Réputé plus efficace, il est par exemple le mode utilisé par le moteur d’inférence DROOLS3. DROOLS a notamment été utilisé par Pascal

Van Hille lors du projet AKENATON comme une approche complémentaire aux ontologies (Van Hille et coll. 2012).

Ces modes concernent notamment les systèmes à base de règles ; même s’il en existe d’autres, les plus classiques ont été précisés ici.

Dans le document en fr (Page 75-79)