jeudi 30 décembre 2010

A0142 Admirez ma pudeur

Beaucoup de gens s'épouvantent à l'idée que leurs précieuses données personnelles pourraient tenter de   cupides ou malhonnêtes cybervoyeurs. Ils s'en ouvrent à longueur de journée sur leurs blogs. Que personne ne lit.

mercredi 29 décembre 2010

A0141 Litteratus Calculus: Leçon Numéro 4

Après avoir énoncé les principes du calcul littéraire dans la leçon numéro 3,  posons-nous la question: s'exprimer en  inférons, est-ce bien raisonnable ? Cette forme de langage est-elle aussi naturelle qu'elle le prétend ?

Voici quelques considérations qui répondent positivement à la question. On évoquera peut-être un jour des opinions opposées.

La littérature en fragments est une tradition ancienne. Sans remonter à l'Antiquité, Pascal, Spinoza, Wittgenstein et Roland Barthes s'y sont adonnés.

La logique mathématique est bien sûr basée sur des énoncés qui ont tout des inférons; on les appelle des clauses. Le langage de programmation Prolog est entièrement fait de clauses.

Notons que le premier sens en Français de "clause", au moyen-âge,  était le "vers d'un poème".

Évoquons aussi à cette époque la discipline de concision de Rachi, le vigneron champenois,  dans ses commentaires de la loi juive: "une goutte d'encre vaut de l'or"

On pourra être moins fier des 140 caractères de Twitter, mais ils illustrent bien la tendance contemporaine à la concision.

Regardez, écoutez les magazines à la télévision de nos jours: ils sont découpés en séquences d'au maximum 5 -cinq-  secondes; de purs inférons,  chacun prononcé par un interlocuteur différent.

Si d'un côté  les phrases raccourcissent, de l'autre les URL allongent jusqu'à devenir des  inférons: l'énoncé est l'URL; c'est vrai en particulier pour les fils d'actualité, voir l'exemple de l'instant:

http://actu.orange.fr/people/michel-polnareff-est-papa-pour-la-premiere-fois_84568.html

Ainsi, l'inféron est devenu le point omega de l'expression médiatique.

S'agit-il là d'un déplorable appauvrissement de la langue ? Ça se discute.

Socrate disait déjà à ses interlocuteurs:  faites des phrases courtes ("serrées"), car j'ai une mauvaise mémoire.

Quand à moi, j'ai brusquement décidé de prendre mes notes en inférons en Octobre 2003. J'assistais à une conférence en Anglais, sur un sujet que je connaissais mal, j'essayais de  noter en direct ce que j'entendais en Idéliance, sur mon ordinateur, et je n'arrivais pas à suivre. Je suis passé alors en .txt.

Maintenant, j'en suis à plus de 50 000 inférons.  Voilà une motivation quotidienne à écrire le programme qui les exploite. 

Je rédige en inférons mes compte-rendus de conférence , et l'on me dit en général que c'est plus facile à lire qu'une "prose" classique de retour de congrès.

S'exprimer en inférons est un effort littéraire qui porte ses propres fruits. Cela n'appauvrit pas le langage. Au contraire, la concision exige un choix rigoureux et imaginatif du mot juste.

Plus les phrases sont resserrées, plus le vocabulaire est étendu.

Cette discipline quotidienne conduit naturellement au jaillissement spontané  d' aphorismes.

Un aphorisme, c'est le moins que l'on puisse dire.

Les aphorismes sont à la littérature ce que la musculation est à la danse.

lundi 20 décembre 2010

A0140 Passéistes - Progressistes

Pourquoi tant de gens se soucient tellement de la pérennité de l'information alors que l'on se plaint d'en avoir de plus en plus, et même de trop en trop, et que par ailleurs on n'a guère amélioré les manières de la représenter et de la retrouver depuis des dizaines d'années ?

Pas facile de concilier devoir de mémoire et droit à l'oubli

N'en déplaise aux twitteurs, on ne peut pas se souvenir du présent

A0139 Transfert Université - Entreprise

A l’Université, les chercheurs se plaignent d’avoir trop d’étudiants.
Alors ils partent en entreprise. 
Et là, ils se plaignent d’avoir trop de chefs.

dimanche 5 décembre 2010

A0138 Litteratus Calculus: Leçon Numéro 3

La leçon numéro 2 nous a appris que des formats très simples comme SVC et SVCI, d'une part respectaient le principe de la représentation de toute information en langage naturel et d'autre part étaient extrêmement simples à manipuler par des programmeurs.

Cependant, le format SVC reste perçu par les utilisateurs -c'est à dire ceux qui vont écrire les inférons, vous et moi- comme trop contraignant, voire trop abstrait. Dire que ceci ou cela est un sujet ou un complément ou un verbe sous-entend un effort d'abstraction et surtout de régularité dans l'abstraction. Il faut décider de l'existence d'entités, les nommer, décider de relations entre elles, nommer ces relations, etc ... Cet effort d'abstraction, de modélisation, s'il est mille fois plus léger que l'abstraction pratiquée par un informaticien professionnel lorsqu'il modélise un système en UML,  en rebute plus d'un. Plus d'un et même, nous l'avons constaté avec Idéliance, plus de 95% de la population des cols blancs.

Donc nous en revenons à notre principe de la première leçon: il faut que les données soient représentées en langage naturel, c'est à dire en vrai langage naturel, et non  en leur forme contrainte SVC ou SVCI.

Il faut accepter comme inféron n'importe quelle phrase en langage naturel, par ailleurs aussi autonome et minimale que possible.

Pour ne pas l'avoir compris, le Web Sémantique promu par le W3C, qui s'en tient pour l'essentiel à un format SVC mâtiné d'un peu de SVCI, n'obtient que peu de succès, malgré la propagande incessante qui le supporte depuis 10 ans. De fait, le  Web Sématique a jusqu'à présent servi essentiellement à faire passer des thèses, monter des projets européens, et organiser des congrès internationaux.

Le vrai jeu, le grand jeu, en sémantique, c'est de travailler directement en langage naturel.

Nous avons évoqué, dans la seconde leçon, la démarche qui consiste à procéder à une analyse linguistique automatique (lexicale, syntaxique et sémantique) d'un inféron pour lui associer des caractéristiques analytiques:

-- forme lemmatisée des mots (verbes à l'infinitif, adjectifs au singulier ...)
-- arbre syntaxique (étiquetage des rôles: groupe nominal, verbe, complément, adjectifs, conjonctions ...)
-- dépendances syntaxico / sémantiques (tel groupe nominal est le sujet de tel groupe verbal, tel épithète se réfère à tel nom ...)

C'est  la voie suivie dans le projet Tanguy, où l'on indique par exemple que:

-- la chaîne "les chevaux" située entre les caractères 1230 et et 1243 de tel document correspond au lemme "cheval"
-- la chaîne "tirent" sitiée entre les catactères 1245 et et 1250 du même document correspond au lemme "tirer"
-- la première chaîne est le sujet de la seconde.

Tous ces résultats d'analyse linguistique automatique sont formalisés sous forme de graphe, donc de manière structurée, et sont de ce fait trivialement représentables en formats SVC ou SVCI.

Il s'agit là certainement d'une voie d'avenir, qu'il faut continuer à expérimenter.

Cependant, elle suppose l'existence d'analyseurs linguistiques automatiques extrêmement coûteux à développer et à maintenir pour chacune des langues naturelles utilisées, et souvent propriétaires. Le projet TANGUY utilise ainsi l'analyseur XIP de XEROX.

C'est pourquoi, en parallèle à cette voie "linguistiquement riche", nous expérimentons une solution plus légère, qui est pour nous le "calcul littéraire (ou litteratus calculus) par excellence".

Nous partons d'un ensemble d'inférons, c'est à dire de phrases en langage naturel, minimales et autonomes.

Pour tout couple d'inférons, nous calculons l'ensemble des mots qu'ils ont en commun.

Nous appelons ces ensembles de mots des "interlogos".

Exemple:

Soient les inférons:

I1: Pierre Martin a dit à IBM que Oracle allait racheter les activités CRM de SAP

I2: Pierre Martin est un spécialiste en intelligence économique

I3: Oracle est le leader du CRM en Amérique du Sud

I4: SAP développe ses activités CRM au Vénézuela

I1 et I2 donnent naissance à l'interlogos "Pierre Martin"

I1 et I3 donnent naissance à l'interlogos "Oracle CRM"

I1 et I4 donnent naissance à l'interlogos " SAP activités CRM"

I3 et I4 donnent naissance à l'interlogos "CRM"

Si l'on considère le graphe constitué des inférons et des interlogos dont ils sont issus, on obtient automatiquement un graphe qui décrit les points communs entre tous les interlogos.

On construit ainsi tous les chemins possibles qui relient les différents éléments de notre système d'information. Toutes les jointures potentielles - au sens des bases de données relationnelles- de notre système d'information sont ainsi représentées dans un formalisme très simple, sans que nous n'ayons eu d'autre effort à faire qu'à écrire des inférons, c'est à dire faire des phrases le plus naturellement du monde.

Le minimum de concession  :-) que nous pourrons faire à l'ingénierie linguistique sera de lemmatiser les formes des différents mots, avant de constituer les interlogos.

Notons au passage que le mécanisme des interlogos fait émerger sans effort -et sans linguistique- un premier niveau de concepts utilisés dans les inférons, ce que d'aucuns pourraient appeler une ontologie.

Nous appelons argos un tel graphe reliant inférons et interlogos.

Abandonner toute structuration, prétendre formaliser avec le seul langage naturel, est-ce bien raisonnable?

Nous nous posons la question dans la quatrième leçon.

A0136 Litteratus Calculus: Leçon Numéro 1

Au milieu des années 1980, je m'occupais de l'intelligence artificielle à Bull. Nous menions des projets d'interrogation en langage naturel de bases de données relationnelles (projets Corail et Sesame).
En fait, cela consistait à habiller de langage naturel le schéma conceptuel de la base de données, et c'était en fait très peu naturel. Si l'on modifiait le schéma de la base, il fallait faire évoluer le modèle du langage naturel généré, en faisant appel à des linguistes et à leurs lourds formalismes.
Les données restaient entièrement rigides, leur structure totalement figée, totalement prisonnière de l'engineering, qu'il soit linguistique ou informatique.  Aucune couche de peinture naturelle ne pouvait masquer la dictature de l'ingénierie logicielle sous-jacente.

J'en tirai la conclusion que le langage naturel ne devait pas être à la périphérie, à l'interface du système d'information, mais en son cœur même: ce sont les données qui devaient être en langage naturel.
Aux informaticiens de se débrouiller ensuite avec!

"Les données en langage naturel", ça veut dire ça:

Si on a une table de base de données avec une colonne Nom et une colonne Adresse, et si,  sur la même ligne, on trouve dans ces deux colonnes  "Pierre" et "Paris", l'information correspondante  peut s'énoncer ainsi en langage naturel:

"Pierre habite Paris"

Si on fait ça pour chacune des cellules de chacune des  tables relationnelles d'un système d'information, on peut remplacer tout notre système d'information par un ensemble de phrases en langage naturel, comme "Pierre habite Paris".

Il suffit ensuite d'écrire des programmes qui vont travailler sur ce matériau naturel: c'est le propos du "calcul littéraire", dit aussi "litteratus calculus" en latin, que nous allons développer dans la deuxième leçon.

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.

jeudi 2 décembre 2010

A0135 Actualité

Le SDF décédé lors de son interpellation à Colombes ne serait pas mort à cause du pistolet électrique Taser, mais par asphyxie suite à l'inhalation des gaz lacrymogènes tirés par les policiers.
Ouf, on respire.

mercredi 1 décembre 2010

A0134 Vocation

Un jury de mémoire de fin de stage en industrie.
A l'issue de la présentation, un membre du jury fulmine:
"Pendant la première partie de l'exposé, on ne voyait pas du tout où vous vouliez en venir, et pendant la seconde partie,  vous nous avez dit des choses que nous savions déjà, tout ça pour conclure qu'énormément de travail restait à faire"
Le président du jury interroge:
--"Quelle était la spécialité de votre stage ?"
--"Consultant en systèmes d'information"
--"Eh bien, vous méritez une très bonne note"