dimanche 5 décembre 2010

A0137 Litteratus Calculus: Leçon Numéro 2

La première leçon est de représenter toutes les données d'un système d'information en langage naturel.

On appelle inféron une unité élémentaire d'information. Un inféron est une phrase dans un langage naturel compris par une certaine communauté de personnes, et qui est  autonome et minimale.

Autonome, en ce sens qu'elle se suffit à elle-même, et peut être lue et interprétée indépendamment des autres.

Minimale, en ce sens qu'elle ne dit qu'une seule chose, qu'elle ne peut pas être remplacée par deux ou plusieurs phrases plus courtes.

Ces définitions ne sont pas formelles; de leur respect ne dépend que la qualité du système d'information, mais non son existence.

Nous voulons construire des systèmes d'information constitués d'un ensemble d'inférons, instrumentés par des programmes informatiques qui vont aider à tirer parti de ces inférons.
De tels programmes vont certainement être plus complexes que ceux qui exploitent les bases de données traditionnelles bien carrées et bien modélisées.
Pour faire les premiers pas dans cette direction, commençons par les phrases les plus simples possibles: Sujet / Verbe / Complément (SVC)

Adopter cette restriction n'est pas autre chose que de choisir la représentation sous forme de réseau sémantique, pratiqué en informatique et en intelligence artificielle depuis les origines, par exemple sous la forme des "frames".

En format SVC, on peut dire des choses comme:

Pierre / travaille à / Marseille
Marseille / est dirigé par / Jean-Claude Gaudin
Jean-Claude Gaudin  / est une / Personne
Personne / est une / Catégorie
travaille à / est un / Verbe

Il est commode de considérer qu'un inféron SVC peut avoir un inverse:

Pierre / habite à  / Marseille

peut être associé à un autre inféron:

Marseille / est le lieu de travail de / Pierre

On pourra alors ajouter les inférons:

est le lieu de travail de / est un / Verbe
est le lieu de travail de / a pour inverse / travaille à
travaille à / a pour inverse / est le lieu de travail de

et bien sûr:

a pour inverse / a pour inverse / a pour inverse !

Avec ces inférons SVC, on peut dire simplement des choses assez simples, mais comment dire des choses plus compliquées comme:

"Pierre travaille à Marseille depuis 2007"

Une première solution est de considérer cet inféron comme un "gros sujet", un sujet d'inférons plus simples qui vont le détailler:

Pierre travaille à Marseille depuis 2007 / a pour sujet / Pierre

Pierre travaille à Marseille depuis 2007 / a pour verbe / travaille à

Pierre travaille à Marseille depuis 2007 / a pour complément direct / Marseille
 
Pierre travaille à Marseille depuis 2007  / a pour complément de temps / 2007
 
Cela revient à faire l'analyse (syntaxique et sémantique) d'une phrase et à représenter les éléments de cette analyse sous forme SVC.

Cette analyse peut être faite et traduite manuellement, ou bien automatiquement, comme dans le projet ANR TANGUY

Il existe une autre manière d'enrichir le format SVC, pour appliquer cette idée de considérer un inféron comme sujet possible d'autres inférons.
Il suffit d'associer à chaque inféron SVC un indentifiant I, qui pourra prendre la place de sujets ou de complément -voire de verbe- dans d'autres inférons SVC. Nous parlerons alors de format SVCI. Exemple:


Pierre / travaille à / Marseille / I-20
I-20 / depuis / 2007 / I-30
Paul  / dit que / I-30 / I-40

Ce qui veut dire:

Paul dit que c'est depuis 2007 que Pierre travaille à Marseille

On peut aussi énoncer des choses comme:

Marie / habite à / Cassis / I-50
I-20 / parce que / I-50
I_50 / a pour plausibilité / fort

Ce qui veut dire:

Il est probable que Pierre travaille à Marseille parce que Marie habite à Cassis.

Sur le plan informatique, les représentations SVC et SVCI sont très simples à représenter, par de simples tables à respectivement trois ou quatre colonnes. Tout programmeur peut implémenter de tels systèmes.

Il n'est plus nécessaire de se référer à la conception  de modèles de données de type relationnel.

Toute personne capable d'articuler des phrases simples peut construire de tels systèmes d'information simplement en rassemblant ces phases.

Le logiciel IDELIANCE a été construit dès 1993 sur sur de telles représentations de type SVC et SVCI.

Dans la leçon numéro 3, nous ferons le bilan de ce que nous avons appris depuis 1993 avec le système IDELIANCE.

4 commentaires:

cesteyries a dit…

Le terme d'inféron augure-t-il de l'implantation d'un moteur d'inférence dans Idéliance ?

Jean Rohmer a dit…

Non, inféron est à prendre ici au sens de "porteur d'information" comme dans "fero". Et ce terme fait aussi allusion au caractère minimal, atomique de l'inféron.

Par ailleurs, il y a un moteur d'inférence dans Idéliance. IL faut que je documente ça ...

ogerard a dit…

Pardonnez ma naïveté, mais en quoi l'idée d'un inféron SVC diffère t-elle d'un triplet de base Objet1 Predicat2 Objet3, tels qu'on en utilise massivement de nos jours dans différents systèmes, où ces triplets sont gérés dans des systèmes de base de données conçues ou optimisées (TripleStore, AlegroGraph, Mulgara, Virtuoso, Jena, ...) pour ce genre d'informations ?

De plus, il me semble que l'autonomie est une notion qui peut mener à des incohérences puisqu'elle fait implicitement référence au savoir commun d'un ensemble , la "communauté de personnes". Ainsi, chaque inféron nécessiterait en toute rigueur la mention d'un contexte de référence, celui dans lequel l'énoncé n'est ni ambigu, ni rejeté, ni indifférent.

En outre, pour des inférences de bonne qualité, les contextes devraient pouvoir être hierarchisés (inclusion, exclusion, ...) et datés (intervalles de validité pour la communauté, date et lieu d'énonciation ou d'inférence, etc.).

Jean Rohmer a dit…

Réponses à ogerard.
1) Comme indiqué, le format SVC est très ancien (années soixante), et est synonyme de réseau sémantique. Les triplets du Web Sémantique W3C sont une récente utilisation de ce vieux concept
2) Le monde réel est incohérent. Ses représentations aussi.
3) Parler de contexte, c'est parler d'une partie de la réalité du monde: "voici dans quel contexte X a dit cela". Le contexte n'est pas hors du monde, il est dans le monde, et, de ce fait, est représenté par des inférons comme les autres.
Il ne faut pas introduire la notion de contexte dans un outil de représentation;il faut que l'outil de représentation puisse représenter les contextes
4) Le format SVCI se prête très bien à représenter les contextes