Transmission des connaissances: une solution prometteuse en XML, par Daniel Martin

Après avoir décrit les difficultés de la transmission des connaissances, ce texte de vulgarisation décrit la solution informatique émergente, basée sur le langage XML

Position du problème

Le progrès de la société repose beaucoup sur l'accroissement du volume de connaissances dans toutes sortes de domaines: industriel, scientifique, artistique, sociologique, etc. Lorsque les connaissances ne progressent pas, ou très lentement, la société ne progresse pas; exemples: le Moyen Age, l'Egypte ancienne.

 

Aujourd'hui le plus gros problème n'est plus le volume de connaissances ou sa vitesse de croissance, c'est l'aptitude à utiliser les connaissances qui existent quelque part. Nous sommes gênés par:

 

En pratique, la connaissance est stockée surtout par écrit (texte, images...) Or:

Aspect informatique de ces problèmes

Structure des documents

Pour comprendre un mot qu'on vient de lire il faut tenir compte de son contexte: phrase, titre du paragraphe, etc. Le même mot anglais "Cook" peut désigner le grand explorateur, l'archipel qui porte son nom, un cuisinier et le verbe cuire. Il est donc en général illusoire d'espérer trouver ce qu'on cherche dans une bibliothèque informatisée en n'utilisant que des critères de recherche à base de mots du texte: il faut absolument effectuer des recherches qui tiennent compte du contexte.

 

Le contexte se décrit d'abord à l'aide de la notion de structure du document, qui distingue le titre de l'ouvrage et son résumé, les divers chapitres, le titre et les paragraphes d'un chapitre, le titre d'un paragraphe, les figures et leur titre, etc. Le même mot peut avoir une signification différente et un intérêt différent dans une opération de recherche selon qu'il est dans un titre ou dans le corps d'un paragraphe. Si on veut un livre sur le navigateur Cook on cherchera un livre dont le titre contient le mot Cook: la recherche doit pouvoir accéder aux titres des ouvrages en tant que titres distincts du texte lui-même.

 

Le contexte se décrit ensuite avec les concepts d'un vocabulaire standard: on aura des vocabulaires distincts pour les ouvrages d'histoire, de géographie et de cuisine. Les mots de ce vocabulaire ont des définitions connues et précises, et leur liste est courte: quelques centaines de mots en général. Le vocabulaire lui-même caractérise un domaine de connaissances comme l'Histoire ou un métier comme la Banque. Pour trouver le navigateur Cook dans un livre d'histoire, on cherchera dans le vocabulaire standard d'Histoire le concept de navigateur pour trouver le mot standard correspondant, par exemple "explorateur". Ensuite, si on veut un livre qui a une chance de citer le navigateur Cook quelque part, on cherchera un livre d'histoire où il est question d'explorateur, pas de navigateur (mot inconnu dans le vocabulaire standard).

Recherche utilisant la structure et le vocabulaire standard

Une recherche utilisant seulement la structure avec des mots quelconques, ou le vocabulaire standard sans la structure, n'est pas assez fine: on risque de trouver trop d'ouvrages. Exemples: un livre dont le titre contient le mot Cook pourrait être un livre de cuisine, et un livre d'histoire où il est question de l'explorateur Cook pourrait citer Cook sans avoir Cook pour sujet principal. Il faut pouvoir chercher des ouvrages en utilisant à la fois les critères de structure et de vocabulaire; nous appellerons recherche "mixte" le type de recherche correspondant.

 

Pour pouvoir utiliser des recherches mixtes il faut d'abord que les ouvrages soient stockés dans un ordinateur avec, en plus de leur texte, la structure de celui-ci. On doit savoir qu'il y a un titre (et connaître les mots de ce titre), qu'il y a des chapitres (et pour chacun le titre et les paragraphes avec les mots qui y figurent), etc. Il faut ensuite qu'à chaque fois que, dans le texte, le sens d'un mot correspond à celui d'un mot du vocabulaire standard (comme "navigateur" correspond à "explorateur") le mot standard figure à côté du nom qu'il qualifie: devant le nom propre "Cook" on trouvera le mot standard "explorateur", pour indiquer que "Cook" est un explorateur, pas un archipel ou un cuisinier. En somme, au lieu de stocker un document tel quel dans l'ordinateur, avec ses mots l'un derrière l'autre, on le stockera sous une forme qui en fasse apparaître la structure et les concepts du vocabulaire d'une manière utilisable. Cela demandera du travail, mais permettra ensuite des recherches précises et rapides.

 

Première solution pour stocker et retrouver des documents: SGML

Nous avons déjà une solution informatique aux besoins exprimés jusqu'ici: le langage de documentation SGML. Un langage informatique est un ensemble de conventions de représentation d'informations, document ou programme par exemple. SGML permet de définir des vocabulaires et structures de documents d'une manière parfaitement utilisable selon les critères ci-dessus. Et c'est un langage standard: tout le monde, partout, l'écrit et le lit de la même façon; un document à la norme SGML (c'est une norme ISO) peut être interprété correctement, sans ambiguïté, par toute personne, quelque soit son pays ou son ordinateur.

 

Hélas, SGML est un langage pour spécialistes. Son utilisation est très complexe. On ne peut donc en envisager une utilisation généralisée pour stocker et retrouver les connaissances. Et il ne répond pas au deuxième problème de transmission des connaissances que nous allons maintenant énoncer.

Problème de la coopération des programmes

Une forme particulière de connaissance est aujourd'hui très utilisée: les données informatiques, que celles-ci concernent de la gestion (commandes, comptabilité, etc.), des calculs scientifiques (position et mouvements des planètes, etc.) ou des documents à vocation non-culturelle tels qu'un catalogue de vente par l'Internet.

 

Ces données informatiques sont manipulées par des programmes qui ont l'immense inconvénient d'être, en général, incapables de coopérer: un programme écrit pour un ordinateur de type AS/400 est incapable de poser des questions ou de fournir des réponses à un programme écrit pour ordinateur Sun. Cette incapacité est le cas général: si on a, dès le départ, conçu ces programmes pour coopérer, alors ils coopéreront.

 

La coopération n'étant possible que lorsqu'on l'a prévue à l'écriture des programmes, l'informatique aujourd'hui ne peut pas improviser ou s'adapter. Si mon ordinateur PC ne contient pas les programmes nécessaires pour que j'achète un billet d'avion à la compagnie aérienne australienne Quantas en passant par l'Internet, je ne pourrai pas effectuer cet achat par ce moyen, pourtant commode. Or je ne puis avoir d'avance tous les programmes dont je pourrais avoir besoin, car il y a des millions de sociétés et d'organismes avec qui je suis susceptibles de travailler. Je ne peux pas, non plus, me faire envoyer au fur et à mesure, par chaque société dont les produits m'intéressent, des programmes certains de fonctionner sur mon PC.

Deuxième solution: la coopération universelle par échange de données XML

La coopération entre applications qui n'ont pas prévu de coopérer lors de leur écriture a aujourd'hui une solution: l'échange de données en format standard XML.

 

XML est un langage informatique dérivé de SGML après un processus de simplification. Il a les avantages essentiels de SGML (description de structure et vocabulaire standard) tout en étant fort simple. On peut apprendre à lire un document XML en quelques heures.

 

La puissance descriptive de XML est considérable: il peut servir pour le stockage sur ordinateur puis la recherche de n'importe quel type d'ouvrage, fut-il gros, technique et illustré, de messages de courrier électronique, de programmes d'ordinateur, etc.

 

Deux programmes qui veulent coopérer peuvent aujourd'hui le faire de la manière suivante: ils vont s'échanger des messages (c'est à dire des documents, courts ou longs) en XML. C'est comme lorsqu'un Chinois veut travailler avec un Serbe à un projet commun: ils s'écriront en Anglais.

Troisième solution informatique: le langage de mise en page HTML

Le stockage et l'échange de documents en format XML sont indépendants de la mise en page de ces documents. En XML, un livre en format A4 (pages de 21 cm x 29,7 cm) ou en format A3 (29,7 cm x 42 cm) se représentent de la même façon. XML ne dit pas, non plus, si les titres doivent être en caractères gras ou italiques: ce langage est indépendant de la mise en page, il ne décrit que la structure et le vocabulaire, pas le côté visuel.

 

Cette indépendance est à la fois un avantage et un inconvénient. Avantage lorsqu'il permet à chacun d'adapter la mise en page d'un texte à ses besoins du moment; ainsi, par exemple, l'affichage sur écran s'adaptera à la taille de celui-ci. Inconvénient lorsque la mise en page aide à mieux comprendre ou à lire plus vite, et que celle imaginée par l'auteur est perdue dans le stockage ou la transmission du document.

 

On a donc imaginé un langage de mise en page universel: HTML. C'est le langage utilisé pour décrire les pages Internet. Tous les PC qui accèdent à l'Internet peuvent visualiser les pages que leur envoie le serveur auquel ils sont connectés, quelque soit leur marque ou la taille de leur écran. Et HTML est un cousin de XML: quand on connaît l'un on apprend l'autre assez vite. La solution HTML est donc complémentaire de la solution XML, à laquelle elle apporte la mise en page lorsque celle-ci est nécessaire.

 

HTML permet même la coopération entre programmes, lorsque celui de l'utilisateur est un simple programme d'affichage et saisie sur PC. Ce programme, appelé navigateur et disponible gratis, peut coopérer (par échange de pages HTML prêtes à afficher et de réponses de l'utilisateur) avec n'importe quel type de serveur de l'Internet, n'importe où. C'est un cas particulier simple de coopération entre programmes, où l'un des programmes est toujours le même, le navigateur.

Le progrès en marche

Les possibilités apportées par XML - et HTML pour affichage dans un navigateur actuel - sont considérables et impacteront notre vie dans les années à venir.

  • Les bibliothèques informatisées vont se développer et s'interconnecter, pour qu'en accédant à l'une d'elles on puisse accéder en même temps aux documents des autres. Leur langage commun pour stocker et s'échanger les documents sera de type XML. Petit à petit, toutes les connaissances écrites de l'humanité se trouveront ainsi disponibles sous une forme où la recherche et l'extraction sont facilitées. L'impact sur la société sera sensible, les hommes prenant de plus en plus conscience du patrimoine commun de connaissances, du caractère universel des contributions au progrès, du fait qu'aucun pays, aucune langue, aucun siècle n'a le monopole de la culture, de l'éthique ou de la compétence technique.
  • Du texte XML extrait d'une bibliothèque est immédiatement utilisable pour le travail en cours. Une description de pièce mécanique extraite d'un catalogue XML est immédiatement utilisable dans le programme de Conception Assistée par Ordinateur, qui comprend cette description élément par élément.
  • Des synergies vont se créer automatiquement. Exemple: un concepteur d'automatismes industriels cherche un circuit intégré électronique capable de compter des impulsions à fréquence très élevée; grâce à une recherche basée sur XML il trouve des catalogues sur l'Internet, puis retient un certain circuit; mais ce dernier exige la présence d'un logiciel, dont il faut rechercher les caractéristiques actuelles; on les trouve aussi sur l'Internet, d'où on les extrait en format XML pour les réutiliser dans la conception en cours sans modification ou recopie.
  • Des programmes informatiques auparavant incapables de coopérer pourront le faire. Un programme de ressources humaines (paye, carrière, formation...) comme PeopleSoft pourra recevoir des prévisions de charge de travail d'un programme de logistique de fabrication comme SAP, alors qu'aujourd'hui l'impossibilité de faire coopérer ces programmes coûte cher aux entreprises en temps et énergie perdus.
  • Les échanges d'informations entre pays vont se développer en dépassant la barrière des langues. On peut imaginer Interpol mettant en place des vocabulaires internationaux (listes de concepts standard indépendantes des langues) sur les terroristes ou les trafiquants de drogue, pour simplifier et accélérer l'échange d'informations entre pays.
  • Petit à petit l'utilisation d'agents (appelés aussi robots) se généralisera. Un agent est un programme qui représente un utilisateur pour le compte de qui il travaille en permanence, de façon autonome. Exemple: un constructeur automobile peut avoir un agent dans l'ordinateur d'un sous-traitant. Au fur et à mesure de la fabrication chez le constructeur et des consommations dans les concessions, l'agent est mis au courant des pièces qui sont utilisées et peut commander des réassortiments au sous-traitant. Autre scénario: si le sous-traitant offre tout à coup une promotion, telle qu'une baisse de prix conséquente en échange d'une quantité minimale commandée, l'agent en prend connaissance et dialogue avec le plan de charge du constructeur pour déterminer la meilleure manière de profiter de cette promotion. Ce type de fonctionnement permet des optimisations spectaculaires des coûts de production; il n'est possible que si tout le monde (constructeur, sous-traitants et concessionnaires) utilise un langage commun pour faire coopérer ses programmes. Ce langage, c'est XML, qui permet en même temps à chacun de modifier ses programmes ou ses ordinateurs à son rythme, sans gêner les autres puisqu'il continue à dialoguer avec eux de la même façon, en XML.

Daniel Martin

Retour XML   Back to XML