PrécédentSommaireSuivant
Accueil RED&S

BRIDGING THE GAP BETWEEN HUMAN AND COMPUTER LANGUAGE

Serge DIEBOLT

Using logic to detect implicit arguments
French-American Conference (Syracuse) April, 1996

 


Résumé

Le langage humain utilisé dans les décisions de justice est composé des arguments liés entre eux par des liens logiques. Mais la logique utilisée est différente de celle de l'ordinateur. La machine utilise une logique formelle et disjonctive explicite, alors que l'homme utilise une logique informelle conjonctive, basée sur l'implicite. Elles sont différentes mais pas incompatibles, et le rôle du convertisseur implicite/explicite est d'assurer une traduction entre les deux langages permettant des inférences correctes. Nous montrerons que l'application de la logique formelle au langage naturel permet d'autres opérations utiles, comme la vérification d'exactitude, la mesure de l'inexactitude, le compactage des données et l'optimisation de la communication homme-machine.


 

Quand on veut construire un système expert, la principale difficulté n'est pas de trouver les règles : elles sont données par les experts. Il est beaucoup plus difficile pour l'ordinateur de donner un raisonnement qui soit correct et convaincant. La plupart des systèmes à base de règles donnent des solutions justes, mais elles sont souvent plus difficiles à lire et à comprendre que si elles étaient produites par un humain.

Le principal problème est une rupture de communication : le langage qu'utilise la machine est formel, le notre est naturel. En effet, la résolution automatique des cas nécessite l'emploi d'un langage symbolique, et ce langage doit être formel pour assurer l'exactitude des inférences. Il faut donc trouver un lien entre le langage juridique et le langage informatique.

Il existe des différences dans la syntaxe et la sémantique des deux langages, mais un des problèmes majeurs vient du fait que le langage naturel contient des énoncés implicites, et non le langage formel. Il est alors nécessaire d'utiliser une interface qui " décode " le langage naturel en entrée et le " recode " en sortie.

Le filtre logique explicite les arguments. Il décode les énoncés pour rendre possible un traitement logique automatique (donc juridiquement correct).

Ensuite, la phase d'implicitation recode les arguments pour rendre la décision " humainement lisible ". L'expérience des systèmes experts à bases de règles montre en effet que l'explicitation de tous les énoncés nuit à la clarté du discours : il ne faut dire que ce qui est important. La phase de recodage va donc consister à éliminer toutes les étapes du raisonnement qui ne changent pas le cours naturel des choses (étapes non conclusives).

Ces deux opérations peuvent être regroupées dans une interface unique nommée " Convertisseur Implicite/Explicite " (IEC). Sa première tâche est de convertir le langage naturel en langage machine (1). Le traitement peut alors être effectué par la base de règles. Le convertisseur effectue ensuite l'opération de conversion inverse (2).

Convertir le langage humain en langage machine (formel)

Comment l'interface peut-elle expliciter les éléments d'un problème, surtout si celui-ci est énoncé de manière incomplète et en langage naturel ? Une technique consiste à utiliser la logique formelle pour mettre à l'épreuve la cohérence des arguments d'un discours. On peut utiliser la logique par défaut pour vérifier et simplifier les faits (1.1 et 1.2). La contraposition (1.3) et l'implication (1.4) permettent de vérifier les raisonnements.

Utiliser l'implicite pour simplifier les arguments complexes

Notre manière de raisonner utilise souvent des règles d'interprétation implicites. C'est le cas quand nous analysons les solutions d'un problème qui se déroule sur une longue période de temps. Si les faits sont livrés dans le désordre, nous sommes capables de les reconstituer de manière cohérente dans une chronologie. Cette conversion est essentielle pour la détermination de la solution : Chaque action est analysée en fonction des actions passées (contexte). Les actions sont enchaînées dans des relations de cause à effet.

Dans ce cas, les arguments implicites sont un redoutable obstacle à une analyse automatique, car il est difficile de décrire a priori un contexte. Une analyse argumentative doit donc être opérée sur le texte afin de réduire le nombre des univers possibles auxquels il se réfère. Par exemple, si un conducteur est arrêté alors qu'il conduit ivre, on sait implicitement qu'il avait pris sa voiture, et qu'auparavant il avait bu. De même, on déduit qu'il possédait les papiers de son véhicule, sans quoi ce fait aurait été signalé. L'implicite est le mécanisme de base de la présomption.

Implicite et " frames ".

Les " frames " sont les premiers outils de détection de l'implicite. La logique intervient alors par défaut.

Le principe est que beaucoup de nos actions sont régies de manière procédurale par le droit. Un mariage, par exemple, suppose l'accomplissement séquentiel d'un grand nombre d'opérations : établissement d'état-civil, demande aux services municipaux selon une règle de compétence territoriale précise, production de diverses attestation, visite médicale... Si, à un moment un élément vient à manquer, le processus s'arrête.

On sait alors implicitement que toutes les étapes précédentes ont été franchies. La logique par défaut pose en effet que dans un processus séquentiel, l'étape échouée ne suit que des étapes qui ont réussi. Il est alors possible de reconstruire un ensemble contenant de nombreux éléments, à partir de quelques-uns seulement.

Ces mécanismes sont très souvent utilisés lors de la qualification judiciaire des faits, quand on ne dispose que d'informations partielles. Ils ont une grande importance en matière pénale, qui utilise souvent les présomptions.

Mais dans d'autres domaines, les données implicites sont source de nombreuses difficultés d'interprétation, notamment quand il faut retrouver l'intention du législateur ou des parties à un contrat. En effet, pour être lisible et facilement compréhensible, une norme ou une clause doivent être courtes et synthétiques, et le rédacteur va alors impliciter les énoncés qu'il suppose universellement connus et admis. Certains d'entre eux n'étant pas représentables par des frames, le système doit recourir à la logique de manière plus directe.

Contraposition et implicite

Une implication logique peut être représentée en langage naturel sous la forme : Pour que A, il faut que B. La contraposée donne : Pour que B, il suffit que A.

Exemple :

Pour qu'un homme soit emprisonné, il faut qu'il soit coupable.

D'où la contraposée :

* Pour qu'un homme soit coupable, il suffit qu'il soit emprisonné.

Pour la logique, ces deux phrases sont vraies. Mais on est un peu choqué par la deuxième, alors qu'elle est l'équivalent logique de la première. On sait bien que parfois des hommes sont emprisonnés sans être coupables, alors que la première phrase énonce que c'est théoriquement impossible. Il existe en effet un décalage entre le il faut linguistique et le il faut logique.

Ce décalage entre logique formelle et déontique a permis à J. Legrand [1993] d'affirmer in Le droit saisi par l'ordinateur (p.224) qu'une règle Si-alors n'était pas une implication, car elle est un couple état-action. Il est pourtant possible, en détaillant la règle, de retrouver la structure d'une implication. Mais il faut l'expliciter par la contraposition.

Contraposer pour détecter les relations

Reprenons l'exemple de J. Legrand, citant J.B. Grize à propos de la contraposition en droit.

Soit une personne incapable, et son représentant légal. Si l'incapable est lésé, le droit de porter plainte échoit au représentant. Envisagée sous l'angle des droits civils, la règle prend cette tournure :

(1) Pour que le droit de porter plainte appartienne au représentant légal, il suffit que le lésé n'ait pas l'exercice de ses droits civils.

D'où la contraposition :

(2) Pour que le lésé n'ait pas l'exercice de ses droits civils, il faut que le droit de porter plainte appartienne à son représentant légal.

Dans cet exemple, il n'y a pas de problème chronologique. Le représentant est investi du pouvoir de porter plainte au moment même ou l'incapable est lésé. Le problème vient de ce que la phrase 1 comporte un implicite qui conduit à une erreur. En effet, le droit de porter plainte appartient au représentant parce que son représenté a été lésé, et non parce qu'il n'a pas de droits civils (sinon, il serait pas son représentant : sa qualité est implicite). Dans le langage courant, ce glissement est difficile à détecter. Mais la contraposition le met ici en valeur.

Une représentation graphique sera utile pour illustrer les différents niveaux de relations entre les objets.

DC=Droits civils, PP= Pouvoir de porter plainte

Dans la phrase 1, la survenance de DC (cause) semble entraîner directement PP (effet). C'est une erreur d'analyse. C'est le fait que DC devienne propriété de (lésé) qui donne à (représ.) une qualité nécessaire pour recevoir le pouvoir de porter plainte (PP).

Il est donc nécessaire d'expliciter à la machine quelles sont les étapes logiques qui sont occultées (implicitées) par la relation intuitivement faite entre DC et PP.

Non seulement la contraposition, en établissant les relations implicites, permet de remonter de l'effet (PP) à la cause (lésé+DC) sans discontinuité, mais elle révèle leur véritable lien. On découvre que pour trouver la cause de l'effet (PP), il n'est pas nécessaire de remonter jusqu'à DC, mais il suffit de s'arrêter à l'objet global (lésé+DC) (cadre pointillé). En effet, il est établi que l'incapable n'a pas de droits civils, puisqu'il a un représentant. Donc, c'est le fait qu'en plus il soit lésé qui donne à son représentant le droit de porter plainte.

La phrase peut être ainsi formalisée : Incapable + lésion Représentant + pouvoir de porter plainte.

Il faut donc modifier l'énoncé initial. La formulation n'est pas très différente, bien qu'un peu redondante (l'implicite supprime les redondances), et le sens ne semble pas radicalement changé. On obtient ainsi quelque chose comme :

(1 bis) Pour que le droit de porter plainte appartienne au représentant légal, il suffit qu'il représente un lésé qui n'a pas l'exercice de ses droits civils.

Cette petite modification permet d'obtenir une contraposition correcte :

(2 bis) Pour que le lésé qui n'a pas l'exercice de ses droits civils soit représenté, il faut que le droit de porter plainte appartienne à son représentant légal.

L'accent est alors porté sur la véritable relation entre les parties : la représentation (flèche pointillée). On notera au passage que les énoncés ont gagné en clarté. Un autre exemple peut être trouvé dans le principe de légalité : pas de peine sans texte. On pourrait dire : Pour qu'il y ait une peine, il faut qu'il y ait un texte, mais la contraposée pour qu'il y ait un texte, il suffit qu'il y ait une peine achoppe quelque peu. Il faut expliciter une relation temporelle et un objet implicite : l'infraction. On obtient alors Pour qu'une infraction soit sanctionnée par une peine, il faut qu'elle ait été définie dans un texte et Pour qu'une infraction ait été définie dans un texte, il suffit qu'elle soit sanctionnée par une peine, ce qui nous semble beaucoup plus correct.

Cet exemple est différent du précédent : l'implicitation ne rend pas la phrase incorrecte. En effet la phrase 1, bien que formellement correcte, amène le lecteur à penser que c'est la privation des droits civils qui déclenche les conséquences concernant le représentant, alors que ce n'est qu'un préalable, même s'il est indispensable au déclenchement des conséquences (les conditions sont cumulatives).

La contraposée peut mettre à jour les relations causales, mais aussi temporelles entre plusieurs événements.

Contraposer pour valider le sens temporel des inférences

Les énoncés déontiques marquent souvent implicitement une succession temporelle, ce que n'opère pas la logique formelle, de sorte que la validité des énoncés : Pour avoir le droit de voter, il faut être majeur, et Pour être majeur, il suffit d'avoir le droit de voter parait quelque peu forcée. Elle est exacte, mais serait mieux comprise avec une formulation du type : Vous avez le droit de voter ? Donc, vous êtes majeur. On remarque que ce raisonnement semble être une déduction, or c'est une induction. On remonte de l'effet à la cause.

La contraposition formelle est donc un outil intéressant pour expliciter le sens inférentiel d'un raisonnement, et en vérifier la validité. On explicitera la chronologie des faits dans la forme canonique : Pour que A, il faut qu'il y ait eu B, qui donne Pour qu'il y ait eu B, il suffit que A.

Mais cette opération est souvent insuffisante :

Pour être anglais, il faut être né en Angleterre

donne :

Pour être né en Angleterre, il suffit d'être anglais

ce qui semble à première vue curieux (bien que logiquement exact).

C'est parce que la notion de sens inférentiel se situe également au niveau du déroulement temporel explicite des opérations liées par une relation de cause à effet, et particulièrement les énoncés déontiques. La relation devient chrono-logique. Un autre exemple simple peut être trouvé dans l'énoncé du principe de présomption d'innocence : Pour être puni, il faut avoir été reconnu coupable. On ne peut évidemment admettre en langage courant : Pour avoir été reconnu coupable, il suffit d'être puni.

De fait, la contraposée donne au raisonnement un déroulement chrono-logique indépendant du raisonnement lui-même. La lumière fait plus qu'être portée sur les liens entre les choses, elle montre également la manière dont elles s'enchaînent, et cet enchaînement fait partie du raisonnement. Le système expert dispose alors d'une information supplémentaire dont il peut se servir pour reconstituer un script incomplet. De même, dans l'élaboration d'un nouveau script, le système pourra ne communiquer à l'utilisateur que les points importants, et passer sous silence l'évidence, sans perte de sens ni ambiguïté.

Cette propriété est due au fait que la logique formelle révèle l'irréversibilité du temps qu'utilise la logique intuitive de l'homme pour produire des raisonnements. On dit que la logique formelle est réversible, alors que la logique humaine ne l'est pas. On en déduit que si elle le devient, alors elle a acquis les mêmes qualités de transparence et d'exactitude que sa consoeur formelle : elle est devenue formelle.

La logique offre un autre outil de vérification du raisonnement : le syllogisme.

Logique des syllogismes et implicite : la détection de l'implicite erroné

Une norme ne peut viser tous les cas de figure possibles. Ce serait une loi universelle, trop générale pour des besoins précis. Elle est donc la plupart du temps munie d'un " filtre " qui conditionne son application. Elle sera alors représentable sous la forme d'un couple condition-action, que formalise la représentation Si-alors. On considère couramment qu'il s'agit d'une implication : commettre un vol entraîne la comparution devant un tribunal correctionnel. L'analyse pragmatique peut ici venir compléter l'analyse sémantique. Une étude du contexte d'une décision permet de limiter le nombre des univers possibles visés par les normes étudiées.

Mais l'implication linguistique ne correspond pas vraiment à l'implication logique. Elle s'entend de manière beaucoup plus stricte.

Prenons l'exemple : Si Socrate a été décapité, alors Socrate est mort.

Cette phrase est considérée comme vraie par la logique formelle, même si Socrate n'a pas été décapité. Pour dire que cette phrase est fausse, nous reconstituons un syllogisme implicite : Tous les décapités meurent, Socrate est mort, donc Socrate a été décapité, et nous voyons aussitôt que la mineure a été dérivée des conséquences de la majeure, et non de ses conditions. Cette inversion aurait tout aussi bien pu donner : Tous les chats sont mortels, Socrate est mortel, donc Socrate est un chat. Cette analyse de l'implicite d'inférence peut être très utile, car il n'est pas rare que des présomptions judiciaires soient basées sur ce type de raisonnement : Tous les individus dangereux veulent agresser les autres, Untel a eu envie d'agresser quelqu'un, donc Untel est dangereux.

Ce type d'inférence porte un réel risque d'arbitraire, mais c'est souvent la seule solution pour établir un faisceau d'indices (on raisonne en ce cas par induction). Un système expert qui l'utiliserait doit pouvoir calculer quel degré d'incertitude s'y attache.

Au niveau de l'interface langage naturel langage formel, ne pourra être considérée comme vraie que toute implication dont les deux membres sont vrais, et reliés par une relation de cause à effet. Si le syllogisme n'est pas applicable, on en conclura que le raisonnement sera faux. Ainsi, la phrase Si Socrate est un homme, alors les chats sont des animaux, vraie pour la logique formelle, sera rejetée par le système. À l'autre bout du processus, si une implication est inférée par le moteur formel, mais non vérifiée par un syllogisme, elle sera rejetée par l'interface langage formel langage naturel.

Impliciter le langage machine pour le rendre humain

Après le traitement des faits par la base de règles, la solution est trouvée. L'IEC doit maintenant la " filtrer " pour éliminer les étapes du raisonnement considérées comme inutiles pour l'argumentation. C'est l'opération de recodage. On utilise pour cela une logique conjonctive (2.1). Cette opération rend la décision lisible, convaincante et permet d'affiner la recherche ultérieure de cas (2.2).

Implicitation et logique conjonctive

Le langage machine utilise une logique formelle. Cette logique est dite disjonctive, car elle postule qu'on ne peut être A et non-A, et qu'il faut qu'on soit A ou non-A. C'est la logique d'Aristote. Tous les éléments du raisonnement sont isolés les uns des autres, ce qui explique que la base de fait soit plus grande après la première conversion de l'IEC.

Or, la logique intuitivement utilisée par les hommes est de type conjonctif, c'est-à-dire que nous avons tendance à associer des idées. Notre culture et notre éducation font que nous possédons un grand nombre d'associations d'idées communes. Ce sont des choses simples comme aller au restaurant ou des notions complexes comme celle de la bonne foi, l'intention de nuire ou les risques de troubles à l'ordre public. Dans ces cas, nous sentons intuitivement leur contenu, même si nous ne sommes pas capables de l'expliciter.

L'opération humaine d'association permet de lier des éléments hétérogènes, comme un mot et une action, une action et un fait, etc. C'est ainsi que nous lions souvent un évènement à sa conséquence : la responsabilité est à la fois une qualification et son produit. De même pour la culpabilité : ce mot suggère, dans un certain contexte, une action, une qualification, un jugement, un prononcé, etc.

Quels seront alors les critères permettant de recoder les informations ?

Il est nécessaire d'analyser l'ensemble du processus d'argumentation, pour, à chaque étape, déclencher un scénario hypothétique (de type What if ?). On observe alors la solution. Si le cours du raisonnement n'est pas changé, c'est que l'argument peut être implicité : il est non-conclusif. L'ordinateur va alors associer ces éléments dans un même sous-ensemble.

Les frames peuvent aussi être appliquées, dans le sens inverse de l'étape 1. Des notions comme la culpabilité, nous l'avons vu, permettent d'impliciter un grand nombre d'étapes du processus de décision. Ce type de simplification s'applique également à un grand nombre d'actions courantes. En fait, tous les faits explicités au début par la machine peuvent être implicités à la fin, mais c'est rarement le cas, car certains faits deviennent conclusifs, et doivent donc rester explicites.

A la fin de l'analyse, la machine ne livre que la solution, suivie des seuls arguments conclusifs. Cette solution est thériquement optimale. Elle facilite la lecture et la recherche ultérieure des cas.

Impliciter pour faciliter l'analyse des cas

Un des majeurs problèmes dans la recherche des cas consiste à trouver les précédents les plus pertinents. Une solution courante consiste à lancer une analyse multicritère et à affecter des poids aux occurences, en utilisant par exemple la logique floue.

L'implicitation de l'IEC peut permettre d'améliorer les performances de ces outils. En effet, l'explicitation des seuls arguments conclusifs permet de réduire le bruit lors des recherches. Cependant, l'expérience montre que les décisions en langage humain sont déjà hautement optimisées. Le gain est donc faible.

Les opérations effectuées par la machine ont pourtant deux avantages : d'une part, elles sont issues d'un raisonnement formulé en langage formel, et sont donc exactes, alors qu'un raisonnement humain habilement formulé peut paraître exact alors qu'il est faux (comme : Tout ce qui est rare est cher, un cheval bon marché est rare, donc un cheval bon marché est cher). D'autre part, une implicitation peut se faire par niveaux.

L'opération consiste à classer les étapes non conclusives par ordre décroissant d'importance. Par exemple, des arguments implicités parce qu'ils sont chaînés dans un même processus ont tous le même " niveau d'implicite ", mais un niveau de moins que les actions dont ils constituent un sous-ensemble (exemple : ouvrir la porte, s'asseoir à une table, commander à manger et à boire, payer par carte et sortir auront un niveau d'implicite 2 si l'action aller au restaurant est de niveau 1. Les sous-actions de l'action payer par carte : sortir des sa poche une carte de crédit, la présenter au serveur, composer le code sur la machine et valider, seront de niveau 3).

On peut ainsi modifier la méthode de recherche : si la recherche sur les seuls arguments conclusifs (niveau 1) est infructueuse, on peut " développer " les arguments de niveau 2 et relancer la recherche, et ainsi de suite. On observe cependant qu'à partir du niveau 3, les combinaisons possibles des cas deviennent trop importantes et la recherche a peu de chances d'être pertinente.

Ce type de recherche est permise par une méthode de stockage dite par " interférences ". Dans la plupart des décisions juridiques, les mêmes causes aboutissent aux mêmes effets (S1 : excès de vitesse amende). Mais il arrive que certaines petites différences viennent changer la solution (S2 : excès de vitesse + perte de contrôle du véhicule pas d'amende). On stocke alors la référence de la décision de base (S1), le fait conclusif supplémentaire interférentiel (perte de contrôle), et le changement apporté à la solution initiale (inversion).

Cette méthode réduit la place de stockage nécessaire, permet de quantifier le taux d'exception d'une norme générale et facilite l'apprentissage d'une règle et de son évolution.

Cependant, on ne peut comparer des éléments trop hétérogènes. Il est donc nécessaire que l'IEC détermine le niveau d'implicitation des arguments à rechercher, si l'utilisateur ne l'a pas déjà fait. On peut ainsi faire des recherches croisées entre niveaux, ou des recherches par sous-niveaux pour observer les interférences des faits sur les principes posés ou émergents, etc. Ces classements permettent une grande variété d'observations : on peut observer une tendance à la hausse ou à la baisse de l'utilisation de l'implicite dans les tribunaux, en déduire des besoins en moyens de recherche de preuve ou de législation, ou établir des modèles de gestion et de politique à long terme des juridictions. On peut aussi faire une mesure d'efficience des normes, au sein d'un ensemble codifié ou de principes jurisprudentiels (les principes les plus efficients étant ceux dont l'application est la plus directe, donc nécessite le moins de recours à l'implicite).

Conclusion

L'analyse logique permet, nous l'avons vu, d'éliminer les erreurs et les imprécisions, sans remettre en question la souplesse du droit. Cette approche n'est pas non plus incompatible avec un moteur utilisant une logique d'inférences non monotones. Son point le plus intéressant réside dans la possibilité de programmer une interface traitant en parallèle de nombreux facteurs qui reste intelligibles.

L'implicite, de gênant, devient ainsi utile pour assurer une meilleure communication entre l'homme et la machine. Il a aussi un rôle très essentiel de compactage des données, car il permet de ne retenir que l'information signifiante. Dans une base de données classique, les données signifiantes sont mélangées aux autres, de sorte que le signal est dilué dans le bruit. Filtrer les données implicites revient à éliminer ce bruit. Il en résulte une réduction significative de la taille des informations stockées, sans aucune perte de qualité. L'accroissement des performances d'un système basé sur les données ne dépend alors plus du nombre, mais seulement de la qualité des informations stockées.

Mais on peut alors se demander, puisque le droit se trouve altéré dans sa forme lors des opérations de codage-recodage, s'il ne va pas l'être dans sa structure, et quelle sera la portée de ce changement. Le sens commun nous fait penser que si le droit obéit à une logique, il obéit par définition à la logique formelle, et que l'opération sera neutre.

Mais on pourra aussi se demander si un droit purement logique, tel que donné par l'ordinateur, serait plus efficace qu'un droit où l'approximation et l'erreur humaine peuvent apparaître. Ceci est une question que seule l'expérience tranchera.

PrécédentDébutSuivant
© Réseau Européen Droit et Société