FR 2808907 A1 20011116 FR 0006028 A 20000511 La présente invention concerne d'une façon générale un système et un procédé de traitement de données destiné à faciliter, pour l'utilisateur d'un poste client, l'accès à des serveurs publics ou privés de bases de données via un réseau tel 'Internet ou un Intranet. Etat de la technique La plupart des services et informations les plus utiles accessibles l'Internet sont aujourd'hui inaccessibles en tant que tels aux moteurs de recherche et annuaires classiques, limités à une simple fonction de recherche documentaire dans des pages de texte. Ainsi, avec les outils de recherche actuellement mis à la disposition internautes sur les portails Internet, il est fréquent de constater que la grande majorité des sites trouvés par le moteur de recherche n'ont rien à voir avec l'information recherchée. En outre, une fois que le portail a proposé à l'utilisateur une liste de sites en réponse à sa question, l'utilisateur doit alors entrer dans une phase de navigation fastidieuse d'un site à l'autre, en ne pouvant le plus souvent accéder qu'à la page d'accueil du site visité et en devant donc effectuer une navigation intra-site qui n'est pas toujours aisée. Au surplus, lorsque l'utilisateur accède enfin à la page de formulaire recherchée, il doit effectuer une nouvelle saisie au clavier de certaines informations avait déjà saisies lors de la mise en oeuvre du moteur de recherche du portail. Résumé de l'invention La présente invention a pour objet, bien au delà de l'objectif consistant a trouver les sites en rapport avec une question posée, à permettre, à partir de questions posées par l'utilisateur en langage naturel, de trouver uniquement le ou les serveurs peuvent répondre exactement à la question posée. Un autre objet de la présente invention est de permettre un accès direct pages de réponse des serveurs identifiés, et donc de réduire considérablement le temps de navigation sur un réseau tel que l'Internet. Pour résoudre ces problèmes, la présente invention propose un système de traitement de données pour permettre à un poste client d'accéder sélectivement à des informations ciblées d'une pluralité de serveurs de bases de données via un réseau informatique tel que l'Internet, caractérisé en ce qu'il comprend - une table structurée d'informations, chaque article de la table étant associé à un formulaire d'interrogation correspondant à un serveur, et chaque article de la table comprenant * un identificateur de formulaire , * une adresse du serveur correspondant sur le réseau * une pluralité d'identificateurs de variables destinées à être contenues dans le formulaire, * une pluralité d'emplacements pour les valeurs desdites variables, - des moyens d'analyse sémantique d'une question posée par un utilisateur en langage naturel, aptes à identifier au moins un formulaire adapté à la question posée et à tirer de ladite question la valeur d'au moins une variable manquante pour le ou chaque formulaire, et - des moyens pour construire, à partir du contenu de la table associée au ou à chaque formulaire, une requête dans une forme directement interprétable par le serveur associé au formulaire, et pour adresser ladite requête au serveur. Certains aspects préférés, mais non limitatifs, du système selon l'invention sont les suivants - le système comprend en outre des moyens de sélection aptes, dans le cas où les moyens d'analyse sémantique ont identifié plus d'un formulaire adapté à la question posée, à permettre à l'utilisateur d'effectuer un choix parmi lesdits formulaires et/ou parmi les serveurs respectivement y associés. - ladite table structurée d'informations comprend, en association avec chaque identificateur de variable, une information indiquant si la presence d'une valeur dans l'emplacement associé est obligatoire ou facultative avant la mise en oeuvre des moyens d'analyse sémantique. - le système comprend en outre, en association avec un utilisateur donné du poste client ou avec le poste client lui-même, des moyens de mémorisation permanente d'au moins une valeur préférée ou par défaut pour au moins une variable donnée, tandis que les moyens de construction de requête sont aptes à charger automatiquement dans le ou les emplacements associés la ou lesdites valeurs. - le système comprend en outre des moyens aptes, dans le cas où les moyens d'analyse sémantique ont échoué à remplir au moins un emplacement pour valeur de variable dans la table structurée d'informations, à afficher sur le poste client au moins une question invitant l'utilisateur à saisir la valeur souhaitée pour ladite variable. - les moyens d'analyse sémantique comprennent des moyens pour éliminer d'une question en langage naturel les mots non significatifs. - lesdits moyens d'élimination coopèrent avec une table de mots non significatifs. - les moyens d'analyse sémantique coopèrent avec ensemble de règles prédéterminées comprenant chacune un ensemble de mots signifiants dans un ordre donné, et comprennent des moyens d'analyse de similitude semantique mot signifiant par mot signifiant et des moyens de comparaison d'ordre des mots signifiants entre question en langage naturel et lesdites règles. - les moyens de construction de requête comprennent des moyens de fusion entre format de requête obtenu à partir du serveur correspondant et les valeurs des variables contenus dans les emplacements de la table. - ladite table structurée d'informations, les moyens d'analyse sémantique et moyens de construction de formulaires sont contenus dans un serveur intermédiaire entre le poste client et les serveurs. Selon un deuxième aspect, la présente invention propose un p rocédé mis en #uvre dans un réseau informatique tel que Internet ou un Intranet comportant une pluralité de serveurs de bases de données et une pluralité de postes clients, pour permettre à poste client d'accéder sélectivement à des informations ciblées d'une pluralité de serveurs, caractérisé en ce qu'il comprend - la fourniture à un utilisateur sur un poste client d'une interface lui permettant de poser une question en langage naturel, ladite interface incluant une série d'exemples de questions en langage naturel, - le traitement de la question en utilisant un ensemble de règles comprenant chacune un premier membre possédant un certain nombre de mots signifiants et un second membre possédant une pluralité de noms de variables et des emplacements associés pour leurs valeurs, chaque règle étant associée à un formulaire de requête à un serveur donné, et en effectuant une comparaison sémantique avec lesdits premiers membres pour déterminer la ou les règles les mieux applicables à question, - la localisation, dans la question posée, de valeurs de variables à placer dans lesdits emplacements de variables dans le second membre d'une règle sélectionnée, - la construction, à partir du contenu du second membre ainsi complété, d'une requête dans une forme directement interprétable par le serveur associé, et - l'envoi de ladite requête audit serveur. Certains aspects préférés, mais non limitatifs, du procédé selon l'invention sont les suivants - le procédé comprend en outre une étape de fourniture à l'utilisateur d'une interface de sélection d'une parmi une pluralité de règles également applicables à la question posée. - le procédé comprend en outre, pour le cas où au moins un emplacement valeur de variable dans le second membre d'une règle sélectionné n'a pas pu être rempli, l'étape consistant à présenter à l'utilisateur une question associée, l'étape consistant à remplir ledit emplacement avec une valeur saisie par l'utilisateur en réponse à ladite question. - procédé comprend en outre, préalablement à l'étape de présentation d'une question associée, une étape de vérification d'un attribut de ladite variable indiquant si elle est ou non requise. - procédé comprend en outre une étape de placement, dans au moins un emplacement de valeur de variable, d'une valeur désignée par une information associée à ladite variable et désignant un emplacement, dans une mémoire permanente, d'une valeur préférée ou par défaut pour ladite variable. - l'étape de traitement comprend une sous-étape d'élimination de mots non signifiants dans la question posée. Brève descrip tion des dessins D'autres aspects, buts et avantages de la présente invention apparaîtront mieux à la lecture de la description détaillée suivante d'une forme de réalisation 'férée de celle-ci, donnée à titre d'exemple non limitatif et faite en référence aux dessins annexés, sur lesquels la figure 1 illustre sous forme de table les résultats obtenus avec un processus d'interface en langage naturel utilisé dans la présente invention la figure 2 illustre un exemple préféré de structure de tables données liées utilisée dans la présente invention, la figure 3 est un organigramme simplifié d'un processus de mémorisation de formulaires utilisé dans la présente invention, les figures 4, S et 6 illustrent des parties de certaines tables illustrées sur la figure 2, créées par le processus de la figure 3, pour un exemple particulier de questionnaire, la figure 7 est un schéma synoptique des fonctions remplies selon l'invention, et la figure 8 illustre un tableau affiché dans le cas d'une sélection finale multiple. Description détaillée d'une forme de réalisation préférée I - Présentation d'ensemble A titre préliminaire, on notera ici que toutes les marques citées dans la présente description sont des marques déposées au nom de leurs titulaires respectifs. Une fonctionnalité essentielle de la présente invention est permettre d'accéder directement aux informations stockées dans les nombreuses bases de données accessibles en ligne, dont le contenu n'est délivré dynamiquement qu'après avoir rempli un formulaire (questionnaire de recherche) constitué général par une page au format HTML (" Hypertext Markup Language " en terminologie anglo-saxonne) fournie par le poste serveur de la base de données au poste client. Plus précisément, le système et le procédé de la présente invention ont pour objet, à partir d'une simple question posée par l'utilisateur en langage naturel, d'effectuer les opérations suivantes (a) retrouver le ou les serveurs de bases de données qu'il connaît déjà et qui lui semblent les plus adaptées à la question ; en cas d'informations incomplètes ou ambiguës, poser des questions complémentaires à l'utilisateur ; construire une requête ayant une forme telle qu'elle est directement compréhensible par le serveur de bases de données choisi, remplissant automatiquement le plus de zones possibles dans cette requêtes ; appliquer la ou les requêtes sur les différentes bases après confirmation de l'utilisateur; présenter les résultats, avec ici deux possibilités soit directement au format produit par le serveur utilisé lorsque résultats sont fournis par une serveur unique (par exemple un annuaire de personnes ou de sociétés, un exploitant de réseau national de chemins de fer, etc.) ; # soit de façon synthétique et standardisée avec possibilité d'accéder aux serveurs proprement-dits, lorsqu'il s'agit de requêtes multi-serveurs (comparaison d'offres, mise en concurrence de catalogues, etc.). En outre, le système et le procédé de la présente invention mettent en oeuvre des outils sophistiqués d'aide à l'indexation permettant le référencement de nouveaux sites proposés par leurs responsables ou par les utilisateurs. Pour prendre des exemples concrets, on va indiquer ci-dessous un certain nombre de requêtes en langage naturel que le système et le procédé de la présente invention sont capables de traiter, par des moyens que l'on détaillera plus loin # À quelle heure part le prochain train pour Lille ? # Comment aller en métro de Château-d'Eau à Cardinal Lemoine # Où habite Monsieur Georges Dupont # Trouve-moi une recette de crème au chocolat. # À quelle heure et dans quelles salles passe le dernier film de Ridley Scott ? # Quelles sont les symptômes de la grippe ? # Qui était Thomas Jefferson ? Combien vaut 1 dollar ? # Quelle distance entre Paris et Montpellier ? Traduis-moi ce texte en anglais : " TEXTE " Prononce ce texte à voix haute. Quelle température fera-t-il demain à Kuala Lumpur ? # Quel le cours de Microsoft à la Bourse de New York ? # Je veux commander en ligne Word 97 au meilleur prix. # Je cherche un emploi d'infographiste. # Recherche des CV de secrétaire de direction. # Je veux écouter le dernier CD de Céline Dion. # Je veux calculer mes impôts. # Combien puis-je emprunter pour acheter ma maison ? # Voir exposition sur les surréalistes. # Quelle est l'adresse e-mail de Monsieur Georges Dupont ? Je veux voir des tableaux de Vasarely. # Quelles sont les dernières nouvelles sur l'accord de paix en Tchétchénie ? Trouve-moi des icônes de boîte aux lettres. # Quels étaient les acteurs d ` Autant en emporte le vent " ? # Qui a inventé la poudre à canon ? Quelle est la formule chimique du kérosène ? # Quelle est la formule de l'accélération ? Ainsi le système et le procédé selon la présente invention mettent en oeuvre, à titre de premier composant essentiel, un annuaire d'adresses de pages Internet définies de façon classique en soi par leurs adresses " URL " (" Uniform Resource Locator " en terminologie anglo-saxonne, pour " Adresse Uniformisée de Ressource à chacune desquelles sont associés un ou plusieurs formulaires d'interrogation. partie de cet annuaire est prédéfini, et peut être enrichi de façon automatique et semi- automatique (référencement), comme on le verra en détail plus loin. formulaire sera identifié par l'adresse URL correspondante combinée ' un identificateur de formulaire lorsque plusieurs formulaires existent dans un même serveur. À chaque formulaire sont associés # une liste d'exemples de questions dans la langue de l'utilisateur, # un modèle de formulaire pré-rempli correspondant à question, associé à l'adresse Internet sous forme d'URL. On va maintenant décrire en détail les différents composants de la présente invention. Il - L'interface en langage naturel (ILN) On va décrire dans ce chapitre les principes généraux des deux modes de fonctionnement du système et du procédé d'interrogation en langage naturel faisant partie de la présente invention, à savoir un mode d'interrogation par les utilisateurs et un mode de référencement de nouvelles bases de données. 11.1 - Le mode interrogation On considère ici l'un des exemples précédents Question : À quelle heure part le prochain train pour Lille ? Etape 1- Elimination des " mots vides " (ou mots de liaison) de la question À quelle heure part le prochain train pour Lille ? -> heure prochain train Lille Nous appellerons cette suite de mots question simplifiée. Cette étape est avantageusement conduite par comparaisons successives des membres de la phrase avec les éléments répertoriés dans un dictionnaire de mots vides, tel qu'on le décrira plus loin. Etape 2 - Recherche de correspondances dans la base de règles La présente invention utilise un corps de règles, comme on le verra détail plus loin. Chaque règle comprend un "membre gauche " et un "membre droit ", le membre gauche étant utilisé pour la comparaison avec la question posee, comme on va le voir, tandis que membre droit correspond pour l'essentiel à une décomposition du membre gauche en noms de variables et en valeurs desdites variables. En comparant la question simplifiée aux membres gauches des règles de réécriture contenues dans la base de données (voir ci-après le chapitre " Le mode référencement " pour la méthode de génération de ces règles), on obtient une liste pondérée de règles. La pondération se calcule en fonction du nombre de mots sémantiquement identiques et présents dans le même ordre dans la question et dans les regles. L'opération effectuée est une intersection séquentielle de listes de mots, par une algorithmique classique en soi. Un de la question utilisateur doit pouvoir être reconnu (identité sémantique) dans le membre gauche d'une règle même si il est mal orthographié ; # il s'agit d'un mot dérivé du mot générique, comme dans le cas des pluriels pour les substantifs, d'un accord en genre ou en nombre pour les adjectifs ou d'une conjugaison pour les verbes. Pour répondre à ces contraintes, la présente invention combine deux procédés algorithmiques, à savoir # un procédé de traitement analytique des fins de mots ; # un procédé de transcription phonétique. Algorithme de traitement analytique des fins de mots Cet algorithme ne traite que le problème des dérivés et se présente comme suit Le système affecte un score compris entre 0 et 1 à la comparaison des deux mots (appelés dans la suite " motl " et " mot2 "), et considère qu'il sont sémantiquement identiques si ce score est supérieur ou égal à une valeur donnée, par exemple 0,8. Le principe général de l'algorithme est le suivant Si motl = mot2 alors score=1 Sinon Soit MC le mot le plus court des 2 Soit ML le mot le plus long des 2 Si MC inclus dans ML alors Si longueur(MC)>2 alors Score = Longueur(MC) / Longueur(ML) (Score nul si mot très court, car i1 peut correspondre à un préfixe) Sinon Si longueur(MC) (Car 1e mot raccourci pourrait correspondre à un préfixe] Sinon Si longueur de (MC)≥5 alors Si (MC moins ses 2 derniers caractères) inclus dans alors Score = Longueur(MC)-2 / Longueur(ML) Sinon Si longueur de (MC)≥4 alors Si (MC moins son dernier caractère) inclus dans alors Score = Longueur(MC)-2 / Longueur(ML) Algorithme de transcription phonétique Ce procédé consiste à transcrire en phonèmes les mots à comparer. Comme le prétend l'adage " on écrit comme on parle ", la plupart des fautes d'orthographe ne changent la prononciation, mis à part l'aperture (" o ", " e " ouverts ou fermes). (Exemples : faute d'orthographe, fote d'ortaugrafe ; girafe, jirafe, giraffe.) En revanche, certains mots peuvent avoir la même prononciation mais des sens différents (Exemples : vers, verre, vert, vair, ver. Ils pourront, si nécessaire être exclus de transcription phonétique). Ainsi, en comparant les mots après conversion en phonèmes, l'algorithme de sélection capable de reconnaître, dans de nombreux cas, l'identité sémantique de deux mots même si l'un d'eux - ou les deux - est mal orthographié. Avantageusement, le moteur de transcription phonétique opère sur une transformation de mots en phonèmes, par exemple selon les règles établies dans l'ouvrage Prononciation du Français Standard ", Pierre-R. LÉON, Editions Didier, Paris, 1 Recherche élargie par association sémantique De plus, dans le cas d'un échec de la sélection, c'est-à-dire si aucun mot la question est reconnu dans l'ensemble des membres gauches de la base de règles, l'algorithme - remplace dans la question un mot non reconnu par des mots associés contenus dans une " base des associations " indépendante ; puis - relance l'algorithme de sélection avec la nouvelle question. La base des associations ne relie pas seulement des synonymes, mais des termes proches thématiquement, compte tenu du contexte d'utilisation (recherche de services sur l'Internet) Exemples voyager -> train, avion, bateau, etc. manger -> restaurant, brasserie, etc. sortir -> cinéma, théâtre, etc. Par exemple, si à partir de la question en langage naturel " Voyager vers Lille le système pu trouver aucune règle correspondante, alors le système utilise la base des associations pour transformer la question en " train avion bateau vers Lille , à partir de laquelle le processus est relancé. Ainsi, apres application des étapes 1 et 2 au présent exemple " À quelle heure part le prochain train pour Lille ? ", nous obtenons les pondérations telles qu'illustrées dans le tableau la figure 1 des dessins. L'algorithmique décrite ci-dessus a ici permis de sélectionner quatre questions types appartenant à un corps de questions types ou " règles " tel qu'on le définira plus loin, à savoir - " Heure prochain train X " - " Heure prochain avion X " - " Train X Y Z " - " Heure " La figure montre également les adresses des serveurs (sites Internet) correspondant à ces questions types, ainsi que le score de pondération obtenu pour chacune d'elles. (On notera ici que, pour faciliter la lisibilité et la compréhension de ces exemples, les versions des règles de réécriture présentées ci-dessus ont été volontairement simplifiées.) On a également représenté sur la figure 1 les règles correspondantes, issues d'une table de règles telle qu'on la détaillera plus loin, et présentées sous la forme Membre gauche 1 --;> A7embre droit A l'issue de cette étape, le processus est apte à sélectionner la ou les règles de plus forte pondération. Et dans cet exemple, on sélectionne finalement dans la base l'unique règle suivante Heure prochain train X 1 Date de départ = " Le plus tôt possible " ; Gare de départ = Y; Gare d'arrivée = X On notera ici que, dans le où le processus décrit aboutit à plusieurs règles de même pondération, on applique la suite du processus simultanément à toutes ces règles, ce qui, au final, donne choix à l'utilisateur entre des solutions concurrentes. On notera par ailleurs que, pour la mise en oeuvre de cette étape, on peut utiliser des outils d'analyse sémantique connus en eux mêmes, existant sur le marché. Etape 3 - Génération des requêtes Pour chacune des règles sélectionnées issues de l'Etape 2, on remplace les variables de la règle de réécriture assoeiee par les mots (ou suites de mots) de même rang dans la question simplifiée. Cette opération est nommée instanciation, et notée Inst. Dans notre exemple, en instanciant par " Lille " la variable X, on a [Heure prochain train Lille] Inst. [Heure prochain train X ---;> Date de départ _ " plus tôt possible "; Gare de départ = Y; Gare d'arrivée = XJ ce donne [Heure prochain train Lille Date de départ = " Le plus tôt possible " ; -e de départ = Y; Gare d'arrivée =Lille] Le membre gauche de la règle instanciée (" Heure prochain train Lille ici strictement identique à la question simplifiée initiale. Cela signifie que peut directement générer la requête Date de départ = " Le plus tôt possible " ; Gare de départ = Y; Gare d' rivée va donner ci-dessus certains détails de la procédure d'instanciation présentée ci- dessus. L'opération d'instanciation utilise un traitement comparatif de chaînes de caractères pour réaliser une opération d'intersection séquentielle de listes de mots, selon une algorithmique classique en soi, et exploite également les mots dans leur rôle de délimiteurs. Ainsi en reprenant la question initiale : "A quelle heure part le prochain train pour Lille . , puis en obtenant la question simplifiée : "heure prochain train Lille", on va considérer le cas où le membre gauche de la règle sélectionnée est "Horaire prochain train Dans ce , l'intersection séquentielle donne comme mots identiques et dans le même ordre "prochain train", d'où l'on déduit par comparaison avec le membre gauche que train" est le mot délimiteur gauche de la variable X. Aucun mot ne se trouvant à la droite de la variable X, celle-ci ne possède pas de mot délimiteur droit. La partie de la question simplifiée délimitée par "train" nous donne la valeur permettant d'instancier la variable X, soit ici : "Lille" Etape 4 - Détermination des variables manquantes Les informations disponibles dans les questions des utilisateurs ne permettent pas toujours renseigner toutes les zones de saisie des formulaires de requêtes bases de données. Lors de procédure de référencement, les zones de formulaire sont indispensables à l'exécution d'une requête peuvent être déclarées requises à l'aide d'un attribut approprié. Elles feront l'objet, pour vérification, d'une question posée à l'utilisateur ' elles correspondent à une variable instanciée dans la requête obtenue à l'issue de l'étape 4. La ou les questions posées sont obtenues, comme on le verra plus loin, à partir d'une table " Eléments " contenant en association avec chaque élément (désignant lui-même une zone de formulaire) une question en association avec chaque élément. Par exemple, la question " A quelle heure part le prochain train ?" donne, à l'issue de l'Etape 4, règle de réécriture suivante [Heure prochain trait? X 1 @ Date de départ = " Le plis t61 possible " ; Gare de départ = ; Gare d 'arrivée = X] X Y n'étant pas instanciées, elles donneront lieu aux deux questions "Gare d'arrivée? " et " Gare de départ ? " En outre, l'utilisateur a la possibilité de paramétrer, via des données de type " cookies " contenues dans son poste informatique, ou encore par un enregistrement avec mot de passe sur le serveur, des informations de localisation et de personnalisation (préférences) pouvant être utilisées pour instancier automatiquement certaines variables manquantes. Ainsi, si un paramètre = Paris à été défini par l'utilisateur dans ses préférences, et si la zone " Gare de départ " à été associée à lors du référencement (cf. plus loin à propos de la table " Eléments "), la règle réécriture précédente devient Heure prochain train X @--@ Date de départ = " Le plus tôt possible ; Gare de départ = ; Gare d'arrivée = X la requête générée devient Date de départ = " Le plus tôt possible " ; Gare de départ = ; Gare d'arrivée =Lille et sera automatiquement complétée, dans l'hypothèse où l'utilisateur a déclaré la " ville locale " comme étant " Paris ", en Date de départ = " Le plus tôt possible " ; Gare de départ = Paris ; Gare d'arrivée puis correctement exécutée. 11.2 - Le mode référencement Le mode référencement utilise des exemples de questions et les formulaires correspondants remplis de façon à fournir les réponses à ces questions. II permet de générer automatiquement ou semi-automatiquement les règles réécriture nécessaires au mode interrogation. Il est effectué par des opérateurs spécialisés dans cette activité de référencement, peuvent être des employés du gestionnaire du système selon l'invention (entrées prédéfinies de la base), mais aussi par tout internante désireux de référencer une base de données en ligne, soit pour l'ensemble de la communauté (zone publique), soit pour son usage propre (zone privée accessible via un enregistrement avec mot de passe sur le serveur). Etape 1- Le personnel de référencement fournit la page contenant le formulaire à référencer. Le système charge alors le formulaire dans une fenêtre. Etape 2 - Le personnel de référencement saisit une liste d'exemples de questions correspondant au formulaire et complète celui-ci avec des valeurs de zones correspondant à celles des variables dans la question. Si ce formulaire est déjà référencé dans la base, la liste des questions précédemment enregistrées pour ce formulaire est affichée par le système. Exemple Question : A quelle heure part le prochain train pour Lille ? Formulaire : Date de départ = " Le plus tôt possible " ; Gare de départ locale> ; Gare d'arrivée =Lille Etape - Eliminatiou des " mots vides " (ou mots de liaison) de la question À quelle heure part le prochain train pour Lille ? -> heure prochain train Lille Nous appellerons ici encore cette suite de mots question simplifiée. observera ici que le moteur utilisé pour cette étape dans le référencement est avantageusement le même celui utilisé dans l'étape d'analyse en langage naturel décrit plus haut. Etape - Génération de la règle de réécriture Le systeme recherche les mots communs à la question simplifiée aux valeurs données dans le questionnaire, les remplace par des variables, et crée les membres gauche droit de la règle de réécriture correspondante (on notera général, le membre gauche est directement formé à partir de la question simplifiée, en remplaçant la valeur donnée à titre d'exemple dans la question Lille ") par la variable associée (X)) Heure prochain train X 1 ---;> Date de départ = " Le plus tôt possible " ; Gare de départ = Ville locale> ; Gare d'arrivée =X Etape S - Enregistrement dans la base La règle de réécriture obtenue à l'Etape 4 est enregistrée par le système dans la table de règles, en association notamment avec l'adresse URL associée au formulaire. I11- Le métaformulaire Un autre aspect essentiel de la présente invention consiste à récupérer les formulaires d'interrogation des serveurs de bases de données accessibles ' l'Internet, non sous leur forme conventionnelle HTML, mais sous la forme d'une collection d'objets structurés, dont la mémorisation dans une base de données simple et économique et le traitement par programme plus aisé. Lors de l'interrogation par l'utilisateur et après le traitement langage naturel de la question posée tel que décrit plus haut, le système et le procédé selon l'invention recomposent dynamiquement un métaformulaire d'interrogation, puis l'envoient au serveur associé. La page de résultats après soumission du métaformulaire est celle du serveur. Ainsi, le système selon l'invention constitue bien un portail vers des données telles qu'elles sont présentées aux utilisateurs par des sites, sans modification de l'intégrité de ces données. Mais une spécificité de la présente invention réside en ce que l'on accède directement à une page de résultats, et non comme c'est le cas avec les portails courants, à la page d'accueil du site auquel le système accède. Le métaformulaire élaboré comme indiqué ci-dessus peut le cas échéant être affiché sur l'écran du poste client, par exemple dans son format HTML, pour validation par l'utilisateur. Dans ce cas, il est avantageux que cette page comporte par exemple le l'identification et la description du serveur destinataire, ainsi qu'un lien vers sa page d'accueil. IV - Structure des données On a représenté sur la figure 2 une organisation sous forme d'une structure de tables liées utilisée par le système selon l'invention. Cette organisation comporte - une table " Vides " contenant des mots vides ou non signifiants " Mot ", utilisée comme décrit plus haut pour transformer une question en langage naturel en une question simplifiée correspondante ; - dans le cas d'une application multilingue de la présente invention, une plusieurs autres tables de mots vides, par exemple " Vides Anglais " ; - un table de " Formulaires " avec pour chaque article ou instance de la table: * URL : une adresse au format URL d'un serveur de bases de données (par exemple en format texte de 255 caractères) ; * NomFormulaire : l'identification d'un formulaire associé (par exemple en format texte de 50 caractères), utile dans le cas où plusieurs formulaires existent en association avec un même serveur, et donc avec une même adresse URL * Action : une action à accoler à l'adresse URL pour déclencher dans le serveur à cette adresse l'action requise (typiquement un résultat la requête appliquée) * Méthode : typiquement Post ou Get dans le langage HTML * Theme : le sujet général auquel se rapporte le site, avec classification qui peut être extrêmement variable en fonction du type de questions à traiter * EMail : l'adresse de courrier électronique du serveur concerné ; - une table d"` Eléments " (variables) avec pour chaque instance * l'adresse URL figurant dans l'article associé de la table de " Formulaires " ; * l'identification de formulaire " NomFormulaire ", utile notamment dans le cas où plusieurs formulaires existent sur le serveur à l'adresse URL en question * une variable " OrdreElément ", utilisée pour fixer un ordre d'affichage des éléments à l'utilisateur lorsqu'il doit valider ou compléter une requête, * Tag : une étiquette de type de donnée, par exemple INPUT, SELECT, etc, selon la normale HTML ; * NomElément : la désignation, en général sous forme de texte en clair, de la variable ; de préférence, NomElément est directement récuperé à partir des champs NAME du formulaire en format HTML engendré par le serveur; * Typelnput : le format de la variable (ici encore de préférence conformément à la norme HTML) * ValeurInput : la valeur effective de la variable ; * Checked : une étiquette liées aux cases à cocher (habituel en HTML) ; * QuestionAssociée : un champ de texte constituant faisant partie d'une question additionnelle que le système doit poser à l'utilisateur dans le cas où ValeurInput pour l'élément considéré n'a pas pu être déterminée par l'interface en langage naturel décrite plus haut ; * ElémentCookieAssocié : désigne la variable contenue dans un " Cookie " de préférences ou de localisation, de manière à charger automatiquement la valeur de cette variable dans le champ ValeurInput comme décrit plus haut ; le " Cookie " peut être dans le poste client ou sur un serveur mettant en oeuvre le système de l'invention ; - une table de " Règles " constituant un corps de règles prédéterminé comprenant pour chaque instance * l'adresse URL, ; * l'identification de formulaire " NomFormulaire " * OrdreRègles : une variable d'ordonnancement règles créée par numérotation automatique incrémentielle, à chaque fois qu'une règle nouvelle est créée par le personnel de référencement ; cette variable permet de distinguer les unes des autres plusieurs règles associées à un même formulaire d'un serveur donné * " Phraselnitiale " : contenant l'exemple de question type en langage naturel (dans l'exemple précédent : "Â quelle heure est le prochain train pour Lille ? " * " MembresGauches " : membre gauche de la règle * " MembresDroits " : membres droits de la règle - une table d'" Options " composée pour chaque instance * des éléments " URL NomFormulaire " et " OrdreElément indiqués plus haut ; * des éléments " OrdreOption TexteOption ValeurOption " et " SelectedOption ", d'une manière classique en soi lorsqu'un utilisateur doit effectuer un choix parmi une liste d'options. On observe également sur la figure 2 les liens entre les différentes tables, un Formulaire possédant un ou plusieurs Elements liés et une ou plusieurs Règles liées, et un Elément (de type Select) possédant plusieurs options liées. Les liens s'établissent par un identificateur constitué ici - par la combinaison de URL et de NomFormulaire pour les liens entre Formulaires et Eléments et pour les liens entre Formulaires et Règles ; - par la combinaison de URL, de NomFormulaire et de OrdreElément pour les liens entre Eléments et Options. 111.2 Procédé de mémorisation des formulaires La figure 3 illustre le synoptique de ce procédé. L'automate de récupération consiste en une analyse des marques HTML contenues dans la page d'interrogation. Chaque marque est mémorisée sous forme structurée dans les tables Formulaires, Déments et Options de la structure de tables. Cet automate est avantageusement utilisable en ligne, soit par l'exploitant du système, soit dans certains cas par des tiers. Par ce biais, les sites peuvent proposer leurs formulaires, de la même manière qu'ils proposent leurs pages I-ITML à des moteurs de recherche classiques. Exemple de mémorisation d'un formulaire On va considérer ici à nouveau l'exemple d'un formulaire de recherche d'horaires trains basé sur une requête contenant l'identification de la gare de départ, l'identification de la gare d'arrivée, l'identification de l'heure de départ souhaitée, l'identification du type de train souhaité. Le contenu de la page initiale est par exemple METHOD="POST" ACTION="résultats.htm"> TYPE="text" NAME="Gare de départ" SIZE="20"> TYPE="text" NAME="Gare d'arrivée" SIZE="20"> TYPE="text" NAME="Date/Heure de départ" SIZE="20"> TYPE="submit" VALUE="Envoyer" NAME="B1"> SIZE="1" NAME="Type de train"> TOUS LES TRAINS SELECTED>TGV UNIQUEMENT Après traitement par l'automate de récupération du système selon l'invention, les enregistrements correspondants à ce formulaire dans la base de données sont ceux qui sont illustrés sur les figures 4 et suivantes. Ainsi les figures 4, 5 et 6 illustrent respectivement les extraits correspondants de la table Formulaires, de la table Déments, et de la table Options. Lorsque le formulaire est chargé dans la base de données du système de l'invention, une interface de gestion est disponible pour effectuer le référencement nécessaire au processus d'interrogation en langage naturel (cf. chapitre 11.2). Le personnel de référencement a également la possibilité d'indiquer directement dans la page HTML, sous forme de META, les informations d'assistance au référencement " langage naturel ". .3 - Fonctionnement du metaformulaire En mode interrogation, le processus d'interrogation en langage naturel sélectionne un plusieurs formulaires de même pertinence, désignés par leur identificateur (constitué comme on I'a vu de la combinaison de l'adresse URL et de NomFormulaire). Le métaformulaire recompose alors un ou plusieurs " clones " du des formulaires sélectionnés, où apparaissent seulement les champs â compléter vérifier avant validation, précédés de la question en clair qui leur est associée. champ est affiché si # il a été paramétré comme requis dans la base de données ET o le processus d'interrogation en langage naturel a changé sa valeur : le champ est ici affiché pour que l'utilisateur vérifie la validité de la valeur que lui a attribuée le processus d'interrogation en langage naturel; OU o il n'a pas de valeur par défaut. Comme le champ est requis et le processus d'interrogation en langage naturel n'a pas pu lui attribuer de valeur, l'utilisateur doit compléter. Si l'ensemble des éléments suffisant à une réponse pertinente sont pré-évalués, le système soumet le formulaire après l'avoir affiché pour validation, conformément au synoptique illustré sur la figure 7. Dans le cas où plusieurs formulaires sont sélectionnés, le métaformulaire affiche les clones de chacun d'eux. Par exemple, pour la demande " aller de Paris à Lille ", qui ne précise pas le mode de transport, le système de la présente invention affiche par exemple sur l'écran du poste client le tableau représenté sur la figure 8, qui préfigure l'accès à trois serveurs (ici serveurs publics) concernant les déplacements en train en avion ou en voiture. Conclusion La combinaison originale de technologies issues de l'informatique linguistique (analyse lexicale quantitative), de l'intelligence artificielle (logique des prédicats étendue au traitement de chaînes de caractères) et de la manipulation de pages HTML à des fins de reconstruction de requêtes directement compréhensibles par les serveurs correspondants, confère au système et au procédé de la présente invention puissance de " compréhension " des questions, et donc une pertinence des réponses produites sans commune mesure avec les performances usuelles des modules requêtes des moteurs de recherche traditionnels. Cette puissance est due à la présence simultanée de trois caractéristiques souvent antinomiques et qui font habituellement défaut dans les systèmes d'interrogation et de recherche connus actuellement - la robustesse : grâce à l'élimination des " mots vides " et à l'évaluation de correspondance lexicale partielle, le système et le procédé de l'invention sont particulièrement peu sensibles à la grande variabilité des formulations possibles d'une même question, de même qu'à leur incomplétude. Ainsi, la question " A quelle heure part le prochain train pour Lille ? " sera aussi bien comprise que " prochain train Lille " ou même " train Lille ". - la précision : alors que les moteurs de recherche classiques se contentent d'utiliser les opérateurs booléens issus des techniques de recherche documentaire purement textuelle (" full-text " en terminologie anglo-saxonne), la présente invention, en se fondant sur la logique des prédicats, traduit les questions en une représentation plus précise du sens de la question, tout en évitant le carcan qu'imposerait une analyse syntaxique classique en traitement des langues naturelles au détriment de la robustesse. - la facilité d'utilisation: pour poser une question précise, l'utilisateur d'un moteur de recherche classique doit passer en mode " questions avancées ", et utiliser un formalisme (opérateurs booléens, souvent étendus suivant une syntaxe propre à chaque moteur) fastidieux et peu naturel. la présente invention permet d'obtenir des performances bien supérieures en se contentant de questions en langage totalement libre. Ainsi la présente invention constitue un moteur perfectionné pour site portail, basé sur un moteur d'interrogation en langage naturel, qui est capable fidéliser un nombre élevé d'internaute en leur fournissant un service fédérateur, présentant une interface unique pour accéder aux services les plus variés et utiles de l'lnternet. En particulier, le système et le procédé de la présente invention ne se contentent pas de trouver les serveurs en rapport avec une question posée, mais procure un accès uniquement ceux qui peuvent y répondre exactement. De plus, la présente invention, en permettant d'accéder directement aux pages de réponses des sites, réduit considérablement le temps de navigation. On notera pour terminer que l'invention ne nécessite aucune modification logicielle au niveau des serveurs, ceux-ci recevant les requêtes directement dans la forme attendue et restituant directement leurs pages de résultats à l'utilisateur. REVENDICATIONS 1. Système de traitement de données pour permettre à un poste client d'accéder sélectivement à des informations ciblées d'une pluralité de serveurs de bases de données via un réseau informatique tel que Internet ou un Intranet, caractérisé en ce qu'il comprend - une mémoire contenant une table structurée d'informations chaque article de la table étant associé à un formulaire d'interrogation (NomFormulaire) correspondant à un serveur donné (URL), et chaque article de la table comprenant * un identificateur de formulaire (URL, NomFormulaire), * une adresse (URL) du serveur correspondant sur réseau * une pluralité d'identificateurs de variables (NomsEléments) destinées à être contenues dans le formulaire, * une pluralité d'emplacements (ValeurInput) pour les valeurs desdites variables, - des moyens processeurs d'analyse sémantique d'une question posée par un utilisateur en langage naturel, aptes à identifier au moins un formulaire adapté à la question posée, à tirer de ladite question la valeur d'au moins une variable manquante pour le ou chaque formulaire, et à placer ladite valeur dans une mémoire, et - des moyens processeurs pour construire dans une mémoire, à partir du contenu de la table associé au ou à chaque formulaire, une requête dans une forme directement interprétable par le serveur associé au formulaire, et des moyens de connexion par réseau pour adresser ladite requête au serveur. 2. Système selon la revendication 1, caractérisé en ce qu'il comprend en outre des moyens de sélection aptes, dans le cas où les moyens d'analyse sémantique ont identifié plus d'un formulaire adapté à la question posée, à permettre à l'utilisateur d'effectuer à l'aide de moyens d'entrée un choix parmi lesdits formulaires et/ou parmi les serveurs respectivement y associés. 3. Système selon l'une des revendications 1 et 2, caractérisé en ce que ladite mémoire contenant une table structurée d'informations contient, en association avec chaque identificateur de variable, une information indiquant si présence d'une valeur dans l'emplacement associé est obligatoire ou facultative avant la mise en couvre des moyens processeurs d'analyse sémantique. 4. Systeme selon l'une des revendications 1 à 3, caracterisé en ce qu'il comprend en outre, en association avec un utilisateur donné du poste client en avec le poste client -même, des moyens de mémorisation permanente d'au moins une valeur préférée ou par défaut pour au moins une variable donnée et en ce que les moyens de construction de requête sont aptes à charger automatiquement dans le ou les emplacements associés la ou lesdites valeurs. 5. Systeme selon l'une des revendications 1 à 4, caracterisé en ce qu'il comprend en outre des moyens aptes, dans le cas où les moyens processeurs d'analyse sémantique échoué à remplir au moins un emplacement pour valeur de variable dans la table structurée d'informations, à afficher sur le poste client au moins une question invitant l'utilisateur à saisir à l'aide de moyens d'entrée, valeur souhaitée pour ladite variable. 6. Système selon l'une des revendications 1 à 5, caractérisé en ce que les moyens processeurs d'analyse sémantique comprennent des moyens pour éliminer d'une question en langage naturel les mots non significatifs. 7. Système selon la revendication 6, caractérisé en ce lesdits moyens d'élimination coopèrent avec une mémoire contenant une table de mots non significatifs. 8. Système selon l'une des revendications 1 à 7, caracterisé en ce que les moyens processeurs d'analyse sémantique coopèrent avec une mémoire contenant un ensemble de règles prédéterminées comprenant chacune un ensemble de mots signifiants dans un ordre donné, et comprennent des moyens processeurs d'analyse similitude sémantique mot signifiant par mot signifiant et des moyens de comparaison d'ordre des mots signifiants entre la question en langage naturel et lesdites règles. 9. Systeme selon l'une des revendications 1 à 8, caractérisé en ce que moyens processeurs de construction de requête comprennent des moyens de fusion entre un format de requête obtenu à partir du serveur correspondant et les valeurs variables contenus dans les emplacements de la table, et sont aptes à mémoriser résultat de ladite fusion dans une mémoire. 10. Systeme selon l'une des revendications 1 à 9, caractérisé en ce que ladite table structurée d'informations, les moyens d'analyse sémantique et les moyens construction formulaires sont contenus dans une mémoire appartenant à un serveur intermédiaire entre le poste client et les serveurs. il. Procédé mis en oeuvre dans un réseau informatique tel que Internet ou un Intranet comportant une pluralité de serveurs de bases de données et une pluralité de postes clients, pour permettre à un poste client d'accéder sélectivement à informations ciblées d'une pluralité de serveurs, caractérisé en ce qu'il comprend - la fourniture à un utilisateur sur un poste client d'une interface permettant de poser une question en langage naturel, ladite interface incluant une série d'exemples de questions en langage naturel, - le traitement de la question en utilisant un ensemble de règles comprenant chacune un premier membre possédant un certain nombre de mots signifiants et un second membre possédant une pluralité de noms de variables et des emplacements associés pour leurs valeurs, chaque règle étant associée à un formulaire de requête et à un serveur donné, et en effectuant une comparaison sémantique avec lesdits premiers membres pour déterminer la ou les règles les mieux applicables à la question, - la localisation, dans la question posée, de valeurs de variables à placer dans lesdits emplacements de variables dans le second membre d'une règle sélectionnée, - la construction, à partir du contenu du second membre ainsi complété, d'une requête dans une forme directement interprétable par le serveur associé, et l'envoi de ladite requête audit serveur. 12. Procédé selon la revendication 11, caractérisé en ce qu'il comprend en outre une étape de fourniture à l'utilisateur d'une interface de sélection d'une parmi une pluralité règles également applicables à la question posée. 13. Procédé selon l'une des revendications 11 et 12, caractérisé en ce qu'il comprend outre, pour le cas où au moins un emplacement de valeur de variable dans le second membre d'une règle sélectionné n'a pas pu être rempli, l'étape consistant à présenter à l'utilisateur une question associée, et l'étape consistant à remplir ledit emplacement avec une valeur saisie par l'utilisateur en réponse à ladite question. 14. Procédé selon la revendication 13, caractérisé en ce qu'il comprend en outre, préalablement à l'étape de présentation d'une question associée, une étape de vérification d'un attribut de ladite variable indiquant si elle est ou requise. 15. Procédé selon l'une des revendications 11 à 14, caracterisé en ce qu'il comprend en outre une étape de placement, dans au moins un emplacement de valeur de variable, d'une valeur désignée par une information associée à ladite variable et désignant un emplacement, dans une mémoire permanente, d'une valeur préférée ou par défaut pour ladite variable. 16. Procédé selon l'une des revendications 11 à 15, caractérisé ce que l'étape de traitement comprend une sous-étape d'élimination de mots non signifiants dans la question posée.