Brevet FR2839168A1 — publié le 20031031

La présente invention a pour objet un procédé et un système d'extraction automatique d'informations contenues dans une base de données principale et d'enrichissement automatique du contenu de cette base de données. Il existe actuellement de nombreuses bases de données très vastes et non spécialisées pouvant être consultées par des utilisateurs n'ayant pas d'expérience préalable de techniques d'interrogation ou de mise à jour de telles bases de données. Le nombre de documents disponibles sur l'Internet est aujourd'hui de plusieurs milliards, et seule une fraction est indexée par des moteurs de recherche. Même limitée à des documents publics provenant de l'Internet, une base de données couvrant les domaines d'intérêt d'une organisation, accessible sur son réseau Intranet, peut comprendre des millions de documents, et s'accroître chaque jour de plusieurs milliers de documents nouveaux. Du fait de la valeur stratégique de l'information et de l'importance de sa large diffusion au sein de l'organisation, il faut que la consultation de cette base de données soit aussi facile et transparente que possible ; il faut aussi que l'information nouvelle chaque jour (ou chaque heure, ou chaque semaine) soit aiguillée automatiquement et très sélectivement vers ceux qu'elle peut intéresser. Or l'utilisation de très grandes bases de données est actuellement difficile pour des non spécialistes car elle exige le plus souvent l'introduction de mots-clés caractérisant le sujet (ou excluant d'autres sujets) ; de plus, les résultats sont très souvent présentés dans un ordre apparemment arbitraire. Enfin, l'enrichissement périodique de ces bases de données est effectué, soit par la visite systématique de sites Internet prédéterminés, soit par l'introduction manuelle de nouveaux documents, ce qui est long et fastidieux. Il existe donc un besoin pour un système intuitif d'extraction d'informations contenues dans de très grandes bases de données qui permette à des non-spécialistes d'accéder très rapidement aux documents les intéressant sans devoir utiliser de mots-clés et qui permette également un enrichissement automatique régulier et efficace des bases de données en fonction des intérêts des utilisateurs, sans qu'il soit nécessaire à des opérateurs humains de classer, indexer, créer un thésaurus ou un corpus de référence. L'invention vise ainsi à permettre une consultation aisée de bases de données très vastes et non spécialisées par des utilisateurs n'ayant aucune expérience préalable, ainsi que l'enrichissement automatique de ces bases de données en liaison avec d'autres sources de bases de données accessibles, tout en préservant l'anonymat et la confidentialité lors des transferts d'informations et notamment la navigation sur un réseau interne ou externe. L'invention a également pour objet un système qui se prête en particulier à la recherche par analogie, c'est-à-dire la recherche de documents similaires à un document de référence, et au filtrage, c'est-àdire la classification automatique par thèmes d'un ensemble de documents. Ces buts sont atteints grâce à un procédé d'extraction automatique d'informations contenues dans une base de données principale et d'enrichissement automatique du contenu de cette base de données, caractérisé en ce qu'il comprend les étapes suivantes : a) présentation et envoi à un serveur d'au moins une requête initiale en langage naturel ayant une longueur arbitraire, b) mise en #uvre, par un module spécialisé, d'une méthode de recherche apte à définir une liste de documents obtenus à partir de la base de données principale dans le contexte de la requête initiale, c) production, à partir de la requête initiale, d'au moins une métarequête construite à partir de l'extraction de mots ou expressions les plus significatifs de la requête initiale, la métarequête servant à une recherche additionnelle sur au moins une autre base de données additionnelle, à l'aide d'au moins un moteur de recherche, de documents supplémentaires correspondant à la requête initiale, et d) transmission desdits documents supplémentaires à un module spécialisé de traitement et de mise en forme qui transmet au serveur des informations traitées et mises en forme destinées à enrichir la base de données principale. L'autre base de données additionnelle peut être accessible à travers un réseau de type Intranet ou Internet. Selon une caractéristique particulière de l'invention, les différentes métarequêtes servant à des recherches additionnelles sur au moins une autre base de données additionnelle à l'aide d'au moins un moteur de recherche, sont renvoyées dans un ordre arbitraire et aléatoire de manière à empêcher une reconstruction non autorisée d'une requête initiale à partir du seul flux des métarequêtes. Avantageusement, le procédé comprend une étape de test consistant, pour chaque requête initiale, à n'autoriser l'envoi de métarequêtes vers au moins une autre base de données additionnelle à l'aide d'au moins un moteur de recherche que si la requête initiale concernée permet d'engendrer un nombre N de métarequêtes différentes qui est supérieur ou égal à un nombre entier prédéterminé No. De préférence, le procédé comprend également une étape de vérification du mélange de métarequêtes pour n'autoriser l'envoi d'une métarequête d'une requête initiale donnée, vers au moins une autre base de données additionnelle, que si ladite métarequête est présente en même temps que plusieurs autres métarequêtes correspondant à plusieurs autres requêtes initiales différentes. Ces mesures permettent d'assurer la confidentialité et empêchent que des tiers puissent reconstituer les axes de recherche des utilisateurs à travers des métarequêtes tout en autorisant l'enrichissement automatique de la base de données principale des utilisateurs en fonction de leurs besoins définis par les diverses métarequêtes. Les documents supplémentaires relatifs à plusieurs requêtes peuvent être transmis par un serveur au module spécialisé de traitement et de mise en forme de façon différée. Selon un mode particulier de réalisation, les métarequêtes sont engendrées à l'aide d'une analyse du langage de la requête permettant d'identifier des noms et des expressions ou groupes de mots ayant des liens logiques entre eux, puis de ne conserver que les mots ou groupes de mots représentatifs de la requête. Les mots ou groupes de mots conservés comme représentatifs de la requête peuvent être sélectionnés avantageusement en fonction de leur rareté. Selon un autre aspect du procédé selon l'invention, après l'étape de présentation et d'envoi à un serveur d'au moins une requête initiale, il est exécuté une étape de sélection automatique par le serveur d'une méthode de recherche d'information, à partir d'un ensemble de méthodes de recherche différentes, en fonction du type et de la présentation de la requête initiale, puis on procède à une étape de mise en #uvre, par un module spécialisé de la méthode de recherche sélectionnée pour définir une liste de documents obtenus à partir de la base de données principale dans le contexte de la requête initiale. L'ensemble de méthodes de recherche différentes comprend au moins une méthode de recherche de type booléen ou booléen étendu et une méthode de recherche de type statistique. La sélection automatique de la meilleure méthode de recherche est un avantage important dans le cas de bases de données devant être consultées par des non-spécialistes. Selon encore un autre aspect de l'invention, on exécute en outre une étape d'établissement "au vol" d'un résumé de chacun des documents de la liste de documents obtenus dans le contexte de la requête initiale, le résumé étant obtenu par l'extraction des phrases ou des membres de phrases les plus significatifs par rapport à la requête initiale. La recherche peut par ailleurs être effectuée de façon itérative, par approximations successives, par la présentation de nouvelles requêtes tenant compte des réponses reçues à la précédente requête. Dans ce cas, on peut utiliser comme nouvelle requête le résumé d'un document obtenu dans le contexte de la requête précédente. La présentation d'une requête en langage naturel ayant une longueur arbitraire peut être effectuée par une opération de "couper/coller" à partir d'un texte pertinent. Selon un mode particulier de réalisation, la méthode de recherche d'informations choisie est sélectionnée en fonction d'un critère constitué par le nombre de mots significatifs de la requête concernée. Avantageusement, le caractère significatif d'un mot est déterminé à partir de la rareté de ce mot dans la base de données. Selon une caractéristique particulière, l'établissement "au vol" du résumé d'un document est effectué en faisant appel à des données statistiques associées au document et stockées dans le même fichier. Selon un autre aspect de l'invention, des informations destinées à enrichir la base de données principale traitées et mises en forme par le module spécialisé de traitement et de mise en forme sont transmises au serveur si les documents supplémentaires indiqués par le moteur de recherche, après comparaison avec la requête initiale, présentent un indice de pertinence qui dépasse un seuil prédéterminé. Selon une caractéristique particulière, préalablement à l'établissement d'un résumé de chacun des documents de la liste de documents obtenus dans le contexte d'une requête, chaque document recueilli est mis sous forme canonique avec une première version sous sa forme originelle, une seconde version transformée en un texte ordinaire propre à l'établissement d'un résumé et d'une indexation, un en-tête http, une indexation ligne à ligne, ces différentes informations étant compressées en un fichier unique. L'invention concerne également un système d'extraction automatique d'information contenues dans une base de données principale et d'enrichissement automatique de cette base de données, caractérisé en ce qu'il comprend : a) des moyens d'acquisition d'au moins une requête initiale en langage naturel ayant une longueur arbitraire, b) des moyens d'envoi de ladite requête à un serveur de la base de données principale, c) au moins une mémoire de stockage d'au moins une méthode de recherche d'information, d) au moins un module spécialisé de mise en #uvre d'au moins une méthode de recherche d'information stockée dans ladite mémoire de stockage, e) un module de production, à partir de la requête initiale, d'au moins une métarequête, comprenant des moyens d'extraction de mots ou expressions les plus significatifs de la requête initiale, f) au moins une autre source de bases de données additionnelles, g) au moins un moteur de recherche pour l'accès à cette autre source de bases de données additionnelles, h) des moyens de traitement des métarequêtes pour les adapter audit moteur de recherche, i) des moyens d'envoi des métarequêtes traitées audit moteur de recherche assurant l'accès à ladite autre source de bases de données additionnelles, pour l'obtention de documents supplémentaires correspondant à la requête initiale, et j) une unité de transmission des documents supplémentaires à un module spécialisé de traitement et de mise en forme qui transmet au serveur des informations traitées et mises en forme destinées à enrichir la base de données principale. Selon une caractéristique particulière, le système comprend en outre des moyens de mélange reliés au module de production de métarequêtes pour renvoyer dans un ordre arbitraire et aléatoire les différentes métarequêtes servant à des recherches additionnelles sur au moins une autre source de bases de données additionnelles à l'aide d'au moins un moteur de recherche. Le système peut comprendre une unité de comptage du nombre N des métarequêtes engendrées pour une même requête initiale par le module de production de métarequêtes, une unité de comparaison du nombre N des métarequêtes engendrées par rapport à un nombre No prédéterminé, et une unité d'autorisation de l'envoi des N métarequêtes engendrées pour une même requête initiale, qui est reliée à l'unité de comparaison pour autoriser ou non l'envoi des N métarequêtes en fonction du résultat fourni par l'unité de comparaison. Les moyens de mélange comprennent une unité de vérification du mélange des métarequêtes comprenant des moyens d'identification de la requête initiale à laquelle appartient chaque métarequête. Avantageusement, le système comprend plusieurs modules spécialisés de mise en #uvre de différentes méthodes de recherche d'information stockées dans ladite mémoire de stockage, et des moyens de sélection automatique dans ladite mémoire, pour permettre la sélection par le serveur, en fonction du type et de la présentation de la requête initiale, d'une méthode de recherche d'information, à partir d'un ensemble de méthodes de recherche différentes stockées dans ladite mémoire. Le système peut en outre comprendre un module d'établissement "au vol" d'un résumé de chacun des documents de la liste de documents obtenus dans le contexte de la requête initiale, ce module comprenant des moyens d'extraction des phrases ou des membres de phrases les plus significatifs par rapport à la requête initiale. D'autres caractéristiques et avantages de l'invention ressortiront de la description suivante de modes particuliers de réalisation, donnés à titre d'exemples, en référence aux dessins annexés, sur lesquels : - la Figure 1 est un schéma-bloc montrant un certain nombre d'éléments d'un système d'extraction automatique d'informations et d'enrichissement automatique d'une base de données principale, - la Figure 2 est un schéma-bloc montrant de façon plus détaillée un exemple de sous-système d'acquisition de documents, pouvant être mis en #uvre dans le cadre du système de la Figure 1, - la Figure 3 est un schéma-bloc montrant de façon plus détaillée un exemple de sous-système de prétraitement et de mise en forme de documents pouvant être mis en #uvre dans le cadre du système de la Figure 1, - la Figure 4 est un schéma-bloc montrant un ensemble de modules d'un système d'extraction automatique d'informations et d'enrichissement automatique d'une base de données principale, - la Figure 5 est un organigramme illustrant certaines des étapes du procédé d'extraction automatique d'informations et d'enrichissement automatique d'une base de données principale, - la Figure 6 montre un exemple de présentation de fenêtre de résultats, - la Figure 7 montre un exemple de transfert d'un texte vers une fenêtre de recherche, et - la Figure 8 montre un exemple de fenêtre de résultats d'une nouvelle requête. Selon l'invention, une base de données principale peut s'enrichir automatiquement au fur et à mesure de l'interrogation, par des utilisateurs, de sources de bases de données complémentaires. A la limite, la base de données principale peut être très réduite au départ et ne devenir très étendue qu'avec le temps à la suite de son enrichissement automatique. Les documents recueillis par différentes méthodes d'acquisition possibles sont ensuite mis sous forme canonique et transférés vers la base de données principale où ils sont à la disposition des utilisateurs. Par forme canonique, on entend que chaque document : - est disponible sous sa forme originelle, - est transformé en texte ordinaire pour en faciliter le résumé et l'indexation, - est accompagné de son en-tête http, - est indexé ligne à ligne, - est compressé en un fichier unique regroupant toutes ces informations. Les index de l'ensemble des documents ajoutés à la base de données sont ensuite concaténés et le programme établit et stocke la liste de tous les mots présents et de leurs occurrences, ainsi que les poids de chaque document (nécessaires pour la recherche en texte intégral par une méthode statistique par exemple de type SMART). L'architecture du système de recherche et de présentation des données comprend deux éléments emboîtés, la gestion des opérations élémentaires et l'interface avec l'utilisateur. Au c#ur du dispositif se trouve un utilitaire qui assure la gestion de toutes les opérations élémentaires liées aux demandes transmises par le client à la base de données, c'est-à-dire notamment l'établissement et la gestion de filtres (simples ou en peignes) ou la création de résumés. Cet utilitaire permet de traiter simultanément un nombre arbitraire de clients. Sa fonction principale exportée vers l'interface utilisateur CGI reçoit en entrée la requête normalisée, le domaine temporel sur lequel doit porter la recherche, le nombre maximum de documents que doit comporter la réponse, et enfin le mode de recherche. En sortie, l'interface CGI reçoit la liste des documents classés par ordre d'intérêt décroissant et un indice de qualité ou de pertinence fonction de la pertinence de la réponse. Cet utilitaire peut utiliser une méthode de recherche "booléenne étendue", en ce sens qu'elle ne fait pas explicitement appel à des opérateurs booléens, d'utilisation difficile pour des non-spécialistes, mais qu'elle tient compte de l'ensemble des mots de la requête et de leurs poids (les mots les plus rares ayant le poids le plus élevé). La méthode établit tous les opérateurs logiques ET et OU implicites dans la requête et accorde un poids beaucoup plus important (et paramétrable) à l'opérateur ET. L'indice de qualité est normalisé à l'unité, c'est-à-dire qu'il est égal à 1. 00 si tous les mots de la requête sont présents dans un document avec la même fréquence, et réciproquement, c'est-à-dire en pratique que requête et document sont identiques, et est de plus en plus faible au fur et à mesure que moins de mots sont présents. Ce mode de recherche est particulièrement bien adapté en début de recherche, avant que l'utilisateur n'ait précisé le champ exact couvert. Un exemple d'une telle méthode booléenne étendue est présenté dans la publication de Gerard Salton, Edward A. Fow, Harry Wu : "Extended Boolean Information Retrieval", Communications of the ACM, 26, pl022 (1983). On rappellera que selon la méthode de recherche booléenne, l'utilisateur construit une requête à partir de mots-clés connectés par des opérateurs logiques (OU, NON, ET principalement). Dans son application la plus courante, les résultats de la recherche (les documents qui satisfont la condition logique qu'exprime la requête) sont présentés à l'utilisateur dans un ordre apparemment arbitraire. Une présentation ordonnée, dans laquelle les premiers documents sont ceux qui devraient en principe paraître les plus pertinents à l'utilisateur, est difficilement compatible avec le caractère binaire de la logique booléenne, à moins de recourir à d'autres informations comme la localisation des mots-clés dans le document, qui fonctionne souvent bien avec des documents standard comme des dépêches d'agence mais qui peut parfois conduire à de sérieuses aberrations. Un autre problème est lié aux mots ambigus ; parexemple, sur l'Internet, un sigle peut correspondre à des sens très différents et cela peut polluer les résultats d'une recherche naïve. La recherche et le classement sont de plus en plus souvent améliorés par l'utilisation d'un thésaurus ou par la prise en compte de la fréquence des mots (les mots les plus rares sont en principe les plus intéressants, sauf s'il s'agit d'une faute de frappe... mais les fautes les plus courantes peuvent être corrigées... mais il existe des mots rares qui diffèrent par une simple transposition d'un mot courant, et ainsi de suite, ce qui montre les limites du procédé). Le moteur de recherche Google (http://www.google.com), qui est sans doute le plus performant à l'heure actuelle, semble effectuer une recherche booléenne mais ordonne les résultats de la recherche principalement en fonction du nombre et de la qualité des pages Internet pointant vers le document cité ; cette méthode donne souvent des résultats remarquables mais elle n'est pas applicable au cas d'une base de données fermée alimentée en permanence par des sources très variées. La méthode booléenne souffre d'une sérieuse limitation : un motclé qui n'est pas présent dans la requête n'est pas pris en compte. En théorie, il devrait être possible de construire un thésaurus ou une liste de synonymes permettant de rajouter automatiquement des mots-clés; en fait, cela ne donne pas des résultats très satisfaisants, sauf dans des situations de faible intérêt pratique où la base de données comprend un petit nombre de documents couvrant un domaine bien défini. La méthode booléenne est extrêmement rapide, même sur des bases très volumineuses et, comme indiqué plus haut, présente des variantes qui permettent à l'utilisateur d'éviter les opérateurs logiques et se prêtent bien, de plus, au classement par pertinence décroissante des documents obtenus. L'utilitaire peut utiliser non seulement des méthodes booléennes, mais également d'autres méthodes de recherche telles que des méthodes statistiques comme la méthode SMART. Cette dernière est décrite dans une publication de Gerard Salton et MJ McGill, 1983, "Introduction to Modern Information Retrieval", New York, N.Y., McGraw-Hill. Une méthode de type statistique telle que la méthode SMART utilise des requêtes de longueur arbitraire. Cette méthode donne de bons résultats en usage général, quand on ne dispose pas de thésaurus créé par des opérateurs humains et quand on utilise des requêtes assez longues. En bref, la méthode SMART établit le produit scalaire entre la requête et les documents de la base de données dans un espace ayant autant de dimensions que le nombre de mots de la langue, en assignant à chaque mot un poids dépendant de sa rareté dans la base de données. L'indice de pertinence d'un document est le produit scalaire normé de la requête et du document, égal à 1. 00 si la requête est identique au document sélectionné. Cette méthode donne des résultats automatiquement classés par ordre de pertinence décroissante. En principe, la méthode SMART souffre de la limitation qu'un motclé qui n'est pas présent dans la requête n'est pas pris en compte. En pratique, si la requête est assez longue (une phrase ou même un document entier) cette limitation disparaît du fait de l'extrême redondance du langage. Cette méthode demande des temps de calcul plus longs que la méthode booléenne, puisque dans les deux cas le temps est proportionnel au nombre de mots de la requête (et dépend faiblement, plus ou moins logarithmiquement, du nombre de documents). Une requête SMART peut être beaucoup plus longue qu'une requête booléenne, mais des méthodes d'approximation permettent de réduire substantiellement le temps de calcul (alors que la méthode booléenne doit par définition être exacte). Il s'agit de toute façon de temps négligeables avec les machines actuelles. En ce qui concerne l'interface avec l'utilisateur et le traitement des requêtes, à chaque demande d'un client, le serveur lance un programme dénommé retrieve. cgi qui assure l'interface entre l'utilitaire gérant les opérations élémentaires et les requêtes transmises par le navigateur du client. Ce programme permet : - la modification indépendante des profils d'utilisateurs (par exemple, longueur des résumés, période couverte, langue de travail, traduction automatique des résultats de recherche), - l'identification de l'utilisateur dont le profil, s'il le souhaite, est stocké dans un répertoire qui conserve également en mémoire la liste chronologique de ses requêtes, constituant ainsi son propre dossier personnalisé. Il n'y a aucune limitation de principe au nombre d'utilisateurs, - la recherche par les méthodes les mieux adaptées, qui sont en général sélectionnées par le programme à l'aide de critères heuristiques. Si l'utilisateur le souhaite, l'architecture du système se prête sans aucune difficulté à la traduction automatique des résultats de ses recherches. D'autres interfaces-client sont également disponibles pour réaliser des notes d'information périodiques personnalisées, à partir de filtres en peigne établis par l'assemblage de textes caractérisant chaque dent du peigne. Chaque utilisateur peut modifier l'importance qu'il accorde à chaque dent, son profil personnel étant contenu dans des témoins de connexion ou cookies échangés entre le serveur et sa station de travail. A titre d'exemples de notes d'informations périodiques, on peut citer : - une note d'information personnalisée quotidienne à partir des documents ajoutés à la base de données dans les dernières 24 heures ; - un autre filtre est établi automatiquement à partir des six dernières requêtes du client, qui est également libre de fixer les priorités de chacune des dents du peigne correspondant à ses requêtes ; - un troisième filtre en peigne peut être constitué automatiquement à partir de textes décrivant des thèmes que doit couvrir le filtre ; - un quatrième filtre booléen se compose des noms d'environ 200 entreprises. L'utilisateur sélectionne librement les entreprises qu'il veut suivre et ce qu'il voit sur son écran correspond aux nouvelles concernant ces entreprises, présentées en ordre chronologique inverse et mises à jour en permanence, en même temps que la base de données. Ce procédé de suivi est entièrement automatique et s'adapte de luimême, de façon évolutive, aux requêtes des clients. Le principe général de fonctionnement du système objet de l'invention est le suivant : 1. Un client envoie une requête au serveur. Cette requête peut se composer d'un ou plusieurs mots-clés ou d'un texte d'une longueur quelconque. Le système peut fonctionner dans une langue définie, mais un fonctionnement multilingue est possible par l'adjonction de modules de traduction automatique. 2. En même temps, le client envoie automatiquement un ou plusieurs cookies au serveur pour préciser par exemple le nombre de réponses souhaitées, leur type de classement, le contexte sémantique des précédentes questions, etc... 3. Le serveur traite la requête du client, lui envoie la réponse, comptetenu des informations contenues dans les cookies, et le cas échéant modifie les cookies présents sur l'ordinateur du client. 4. En temps réel ou en temps différé, le serveur envoie la requête du client à un sous-système qui (a) extrait de la requête les mots et les groupes de mots (expressions) les plus significatifs (b) construit des métarequêtes (constituées d'un ensemble des requêtes élémentaires automatiquement générées à partir d'un texte en langage naturel) afin de rechercher sur une base de données additionnelle accessible à travers un réseau de type Intranet ou Internet des documents supplémentaires correspondant à la requête du client, (c) transmet les documents pertinents à un sous-système de prétraitement et de mise en forme, qui à son tour (d) les transmet au serveur pour enrichir la base de données. Dans une réalisation possible illustrée sur la Figure 1, le système objet de l'invention est simultanément connecté à l'Internet (100) et au réseau interne à l'organisation (110) appelé Intranet dans ce qui suit. Le réseau 110 peut être également réalisé sous forme d'une liaison cryptée à travers l'Internet (RPV, ou réseau privé virtuel) ; si cela ne pose pas de problème de sécurité, le réseau 110 peut même être confondu avec l'Internet ce qui permet à des clients extérieurs à l'organisation de consulter le serveur. Toute autre combinaison représentant un compromis acceptable entre la sécurité et l'ouverture est évidemment concevable. L'interface 160 entre l'Internet et l'Intranet peut assurer un fonctionnement en temps réel à travers une cloison coupe-feu. Le module 120 d'acquisition des documents : - reçoit par le lien 122, en temps réel ou différé, les requêtes des clients qui lui sont transmises par le serveur 130 qui a lui-même précédemment reçu ces requêtes des clients 140 à travers les liens 141, - contient une liste de filtres tels que décrits ci-dessus. Ces filtres se ramènent à des listes de requêtes à formuler de façon répétitive, par exemple chaque heure, chaque jour ou chaque semaine. A titre d'exemple, ces requêtes peuvent comprendre : -- la surveillance de sites Internet, pour détecter les nouveaux fichiers et les importer s'ils satisfont à certains critères, -- l'acquisition automatique d'articles de journaux ou de revues, de communiqués de presse, de dépêches d'agence, et tout autre action de surveillance et/ou de suivi de publications sur l'Intranet. - génère des métarequêtes à partir des requêtes des clients et des requêtes répétitives stockées. - utilise ces métarequêtes pour accéder aux sites appropriés sur l'Internet, pour obtenir les documents pertinents, et pour les transmettre par le lien 124 au sous-système 125 de prétraitement et de mise en forme des documents. Le module 125 de prétraitement et de mise en forme des documents reçoit les documents obtenus par le module 120 à travers le lien 124. D'autres documents (tels que des rapports internes, par exemple) peuvent être communiqués au module 125 par des utilisateurs internes à l'entreprise par l'intermédiaire du lien 126. Le module 130 est le serveur ; il contient la base de données qui comprend la totalité de l'information mise à la disposition des clients # il reçoit à travers le lien 127 les documents prétraités par le module 125; # il traite les requêtes des utilisateurs reçues par le lien 141 et leur envoie les réponses par le lien 142 ; # par le lien 122, il envoie les requêtes des utilisateurs au module 120 ; ces requêtes sont utilisées pour mettre à jour en temps différé la base de données du serveur. Un nombre arbitraire de modules 140 peuvent coexister; il s'agit des postes de travail des clients capables d'envoyer et de recevoir sur le réseau des messages http et de stocker des cookies. Il peut s'agir d'ordinateurs personnels équipés d'un navigateur ou de tout autre équipement compatible. Une partie des opérations décrites ci-dessus correspondent à des actions réalisées par des robots ("crawlers" et/ou "spiders"). Deux fonctions originales méritent une attention particulière, à savoir la production des métarequêtes qui permettent la recherche de nouveaux documents, selon la requête du client, et la sélection parmi ceux-ci des documents pertinents pour enrichir la base de données. Le module de production des métarequêtes à partir des requêtes traitées par le sous-système fonctionne selon le diagramme de la Figure 2 ; il inclut en propre les modules 200,210, 220 et 230, mais la Figure 2 inclut également le module de sélection 240 pour la clarté de l'exposé. Le module 200 reçoit la requête du client, qui peut à titre d'exemple être un texte sur la comparaison des lasers COIL et C02 pour la découpe des métaux (COIL signifiant dans ce contexte Chemical Oxygen-Iodine Laser). L'étiquetage des mots se fait par des techniques d'analyse du langage naturel qui permettent d'associer à chaque mot une étiquette (par exemple, V pour un verbe, N pour un nom commun, NP pour un nom propre, A pour un adjectif, WALL pour la fin d'une phrase grammaticalement cohérente). Le module 210 reçoit le texte étiqueté par le lien 205 et conserve les noms propres, les noms communs et les groupes de mots (expressions) qui ont potentiellement un lien logique entre eux, comme par exemple les séquences AN, N N, N NP, etc. Ces techniques de traitement du langage sont décrites par exemple dans l'ouvrage de Christopher D. Manning et Heinrich Schütze "Foundations of Statistical Natural Language Processing" (seconde édition), 1999, Cambridge, Mass. : The MIT Press. Le module 220 associe à chaque mot reçu par le lien 215 une rareté (ou poids) p = log N/ (n + 1) où N est le nombre total de documents présents dans la base de données du serveur (qui est périodiquement copiée dans le module 220) et n le nombre de documents de la base dans lesquels le mot apparaît. Un mot très courant, comme "ability", a ainsi un p proche de zéro, alors qu'un mot rare ou un mot nouveau ont des p élevés. On construit alors une séquence de mots-clés en conservant par exemple les 24 mots de p le plus élevé présents dans la requête du client. Dans le cas de la requête sus-mentionnée portant sur les lasers COIL et C02, la liste comprend par exemple "C02", "YAG", "optronics", "helium", "N2", "O2" mais pas le mot "coil" qui a plusieurs sens et qui est relativement fréquent. Une séquence d'expressions-clés s'obtient de façon analogue, en convenant que la rareté p d'une expression-clé est la racine carrée de la somme des carrés des raretés de ses constituants, soit P =LPI2 . Toujours avec la même requête, la liste comprend par exemple les expressions "cuts carbon steel", "inert gas assist", "Oxygen-Iodine", "COIL lasers", "kilowatt range", etc. Il va de soi que le nombre de mots-clés est en général inférieur au nombre de mots de la requête, puisque les mots très fréquents sont toujours éliminés; il en va de même pour le nombre d'expressions-clés, et il peut se faire qu'aucun mot ou expression clé ne soit sélectionné, si la requête du client est trop imprécise. Le module 230 reçoit par le lien 225 la liste des mots et expressions clés et combine ces mots et ces expressions pour construire des métarequêtes selon la syntaxe exigée par chaque moteur de recherche consulté. Ces métarequêtes sont envoyées aux moteurs de recherche et les documents qu'ils signalent sont collectés. Il est ainsi possible de consulter automatiquement n'importe quel moteur accessible sur l'Internet comme par exemple Google ou la base de brevets Europat, mais il est plus efficace de sélectionner des groupes de moteurs prédéterminés en fonction de la substance de la requête originale du client, l'identification de ladite substance s'effectuant par les techniques ci-dessus décrites. Ce module contient également des listes de requêtes associées à des filtres créés par des clients. Les métarequêtes envoyées aux moteurs de recherche ne représentent que de petits éléments d'information concernant le texte initial ; un texte de quelques centaines de mots est typiquement représenté par une douzaine de métarequêtes. D'autre part, le module 230 traite simultanément un très grand nombre de requêtes : il traite bien entendu en priorité les nouvelles requêtes, puis à défaut il reprend les anciennes requêtes pour le cas assez fréquent où de nouvelles informations sont connues des moteurs de recherche. Le flux de métarequêtes qui sort du module 230 est donc important et dépend simultanément de nombreuses requêtes différentes : il en résulte qu'il est en général difficile, à partir de ce flux, de reconstituer l'objet d'une requête particulière. Moyennant un dispositif supplémentaire qui fait partie de l'invention, cela peut devenir en général impossible. Pour cela, il faut remplir deux conditions lors du traitement d'une requête R : 1. n'autoriser l'envoi de métarequêtes vers des moteurs de recherche que si la requête R permet de générer un nombre suffisant de métarequêtes, par exemple une dizaine ; 2. classer ces métarequêtes dans un ordre arbitraire et ne pas toutes les envoyer simultanément, mais seulement par exemple à un taux d'une métarequête par minute, tout en garantissant que le module 230 reste actif et traite de nombreuses autres requêtes en même temps que la requête R. Le but de la condition (1) est de répartir l'information contenue dans R entre un nombre suffisant de métarequêtes. Elle a pour conséquence que la base de données ne pourra pas s'enrichir directement à partir d'une requête brève ; cependant, du fait du caractère habituellement itératif de la recherche, cela n'est pas un inconvénient. Le but de la condition (2) est d'éliminer toute information liée à l'ordre des métarequêtes et de diluer à nouveau l'information en s'assurant qu'elle ne représente qu'un flux à tout instant négligeable dans l'information envoyée aux moteurs de recherche. Si elles sont simultanément appliquées à toutes les requêtes, les deux conditions ci-dessus en garantissent la confidentialité d'ensemble, pourvu que ces requêtes soient suffisamment variées ; la confidentialité sera d'autant meilleure que le nombre d'utilisateurs sera plus élevé et que leurs domaines d'intérêt seront différents. L'expérience montre que les métarequêtes ainsi générées à partir de la requête originale du client sont le plus souvent pertinentes et que leur combinaison permet presque toujours au module 230 de retrouver sur l'Internet le document original, pourvu bien sûr qu'il ait été indexé par l'un des moteurs de recherche utilisés. Cependant, ces requêtes conduisent également à collecter de nombreux documents peu ou non pertinents, puisque dans les listes ci-dessus on trouve des mots ou des expressions pertinents mais non sélectifs comme par exemple "kilowatt range". Le module 240 de sélection des documents pertinents est en fait presque identique au module de traitement des requêtes des clients qui sera décrit plus loin, incorporé dans le serveur, si ce n'est qu'il utilise exclusivement la méthode statistique SMART puisqu'il fonctionne toujours en texte intégral. En même temps que le serveur ou en temps différé, le module 240 reçoit la requête d'un client par le lien 122 et la compare à l'ensemble des documents qui lui sont proposés par le module 230 à travers le lien 235 ; seuls les documents dont la similarité avec la requête dépasse un certain seuil (par exemple, 0. 20) sont retenus et envoyés au module de prétraitement par le lien 124, accompagnés de l'en-tête http qui en indique la provenance. Ce module maintient une base de données des documents qu'il a déjà examinés ; de gagner en temps de traitement, il ne réexamine pas ceux qui ont déjà été envoyés vers le serveur par le lien 124. La séquence d'opérations exécutées par le sous-système 120-125 permet de garantir que les documents ajoutés à la base de données sont pertinents. Le temps qui s'écoule entre l'arrivée d'une nouvelle requête dans le sous-système 120 et l'émission de nouveaux documents vers la base de données est fonction de quatre facteurs : - le temps d'analyse de la requête (modules 200,210 et 220), négligeable même avec des requêtes longues, de plusieurs dizaines de kilooctets ; - le temps de réponse des moteurs de recherche, en général lui aussi négligeable ; - le temps nécessaire à télédécharger les documents cités (module 230), qui peut être assez long et qui dépend essentiellement de la rapidité des sites contenant les dits documents ; - le temps nécessaire à la comparaison de la requête avec l'ensemble des nouveaux documents (module 240). Dans la très grande majorité des cas, c'est le module 230 qui limite les performances de l'ensemble, parce que certains sites peuvent être difficiles d'accès. En pratique, par exemple avec une liaison à 256 kbits et un Pentium III, le délai entre l'arrivée de la requête par le lien 122 et la réponse par le lien 124 est en général d'une à deux minutes. Comme les temps de réponse du serveur sont beaucoup plus courts, d'une fraction de seconde à quelques secondes selon le nombre de clients actifs, un client ne reçoit en temps réel qu'une liste de documents déjà contenus dans la base de données. Cependant, s'il consulte à nouveau la base de données quelques minutes après avec la même requête, sa liste sera enrichie des documents produits par le sous-système 120. Le sous-système 125 de prétraitement et de mise en forme des documents illustré sur la Figure 3 : - reçoit par le lien 126 des documents fournis par les utilisateurs, selon un protocole qui dépend de la réalisation effective du système objet de l'invention. Il peut s'agir d'un envoi direct par des utilisateurs habilités, d'un envoi indirect filtré par un service de documentation, ou de l'introduction manuelle de documents enregistrés sur un support informatique tel qu'une disquette ou un CD-ROM. - reçoit par le lien 124 les documents obtenus par le module 120, accompagnés de leurs en-têtes http. Indépendamment de leur origine, ces documents peuvent se présenter sous n'importe quelle forme (fichiers Word, Acrobat, documents HTML, etc) ; la seule restriction est que les documents doivent contenir du texte. Le module 300 convertit en texte (séquence de caractères ASCII) chaque document, grâce à des opérations bien connues en l'état de l'art. Le module 310 reçoit par le lien 305 le document original, le document converti en texte, et toute indication de formatage permettant de distinguer les parties du texte (titre, alinéas, etc). Par une analyse automatique du langage du texte et en utilisant le marquage des mots qui en résulte, le module 310 découpe ensuite le texte en phrases grammaticalement cohérentes et extrait les mots (par exemple, "COIL" ou "laser") et les groupes (par exemple, "COIL laser") de chaque phrase. Ces opérations sont identiques à celles effectuées dans les modules 200 et 210 déjà décrits. Le module 320 reçoit l'ensemble de ces informations par le lien 315 et crée pour chaque document un fichier compressé sous forme standard (forme canonique). Ce fichier de nom générique document.zzp comprend notamment : . Un en-tête qui comprend lui-même - la norme du document, nécessaire pour utiliser la méthode SMART, - un pointeur vers le début du titre, - un pointeur vers le début du texte du document original, - un pointeur vers le début du texte en ASCII - un pointeur vers le début des dictionnaires phrase par phrase - un pointeur vers le début de la liste des groupes - un pointeur vers la fin de la liste des groupes - la date à laquelle l'opération a été effectuée. . Le titre non compressé. * Le texte du document original compressé. * Le texte en ASCII compressé. Les dictionnaires phrase par phrase compressés. Bien entendu, l'inclusion dans la base de données du texte, que ce soit sous sa forme originale ou en ASCII, suppose que le gestionnaire de la base de données ait, si nécessaire, obtenu du propriétaire du copyright du texte le droit de le stocker sous forme électronique ; en revanche, les autres informations stockées ne permettent en aucun cas de reconstituer le texte et ne représentent que des informations statistiques nécessaires pour la recherche du document. Pour un document faisant l'objet d'un copyright, il se peut que l'utilisateur doive payer des droits au propriétaire du document. Dans ce cas, il suffit d'adjoindre au serveur (module 130), par des moyens bien connus en l'état de l'art, un dispositif gérant l'accès à ce type de documents et le paiement des droits, tout en laissant les autres documents en accès libre. Il est également possible de remplacer le texte du document par un pointeur indiquant son adresse http sur l'Internet, ce qui permet au client d'y accéder, s'il est encore disponible. Le serveur constituant le sous-système 130 de la Figure 1 remplit deux groupes de fonctions : 1. Classement des documents mis en forme par le module 125 (a) Le serveur reçoit les documents par le lien 127 ; (b) Il les range en mémoire, par exemple sur un disque dur, en attribuant à chacun un code unique de longueur fixe Cdoc contenant par exemple le jour de traitement, la catégorie de document (article de presse, rapport, page Web,... ), son numéro d'ordre dans la journée, et tout autre renseignement utile à la gestion de la base de données ; dans le cas décrit ici, ce code est long de huit octets, mais tout autre choix est possible, selon les besoins. (c) Il les indexe et enrichit la base de données en lui incorporant l'information qui en résulte. 2. Traitement des requêtes des clients (a) Il reçoit les requêtes des clients par http sur l'Intranet à travers le lien 141 ; (b) Par le lien 122, il transmet ces requêtes au module d'acquisition, soit par l'Intranet, soit par tout autre dispositif assurant un degré suffisant de sécurité ; (c) Il traite les requêtes, établit les résumés des documents pertinents et envoie les réponses aux clients par le lien 142. La base de données se compose en fait de deux bases de données, l'une quotidienne et l'autre cumulative. Les informations correspondant à un document qui vient d'arriver sont rangées au vol' dans la base quotidienne, qui est elle-même incorporée à la base cumulative une fois par jour, par exemple pendant la nuit. En effet, cette dernière opération est relativement longue: sa durée, qui dépend principalement de la longueur de la base cumulative, est par exemple de l'ordre de la dizaine de minutes avec un Pentium III/800 MHz. Dans ce qui suit, nous ignorerons cette distinction qui ne change rien au principe des algorithmes, mais qui peut en compliquer légèrement la réalisation. Bien que regroupées dans un même module appelé serveur', les fonctions correspondantes, de même que les fichiers, peuvent aisément être distribués entre un nombre arbitraire de machines, soit pour accélérer l'accès aux documents, soit même pour séparer les données selon le degré de sécurité qu'elles requièrent. Ces détails de réalisation n'affectent en rien la substance de l'invention et seront ignorés par la suite. Les fonctions d'indexation et d'enrichissement de la base de données (point le) ainsi que le traitement des requêtes d'établissement de résumés et d'envoi des réponses (point 2c) seront décrites de façon détaillée ci-dessous. En fait, l'indexation d'un document est très simple car elle tire directement parti des informations stockées dans le fichier compressé document.zzp produit par le module 320. Les indications d'encombrement données ci-dessous correspondent à une réalisation particulière de l'invention; leur intérêt est de permettre de constater que tous les fichiers d'indexation tiennent aisément en mémoire centrale, quel que soit le nombre de documents, ce qui permet de répondre très rapidement aux requêtes des clients. 1. La norme Wd du document d, nécessaire pour la méthode SMART, est stockée dans un fichier à accès aléatoire dénommé rwhthash.hsh, utilisant une fonction de hachage en Cdoc. Ce fichier comprend 12 octets/document et, pour un million de documents, il tient aisément en mémoire centrale. 2. Chaque mot présent dans le dictionnaire du document est ajouté à l'index général des mots de tous les documents de la base de données; cet index comporte trois fichiers: le premier (svdwords. idx) pointe vers le début de chaque mot dans le second (svdwords.loc), qui contient la concaténation par ordre alphabétique de tous les mots, le troisième, svdwords.val contenant pour chaque mot (a) la liste des Cdoc contenant le mot et (b) leurs nombres d'occurrence correspondants. En fait, le premier fichier svdwords. idx contient également les pointeurs vers le troisième fichier, soit un total de 12 octets/mot. Typiquement, avec quelques centaines de milliers de mots distincts, les tailles des deux premiers fichiers sont de quelques mégaoctets et ils tiennent aisément en mémoire centrale. La longueur du fichier svdwords.val, qui demeure sur un disque dur ou autre support de stockage, est par exemple de 720 mégaoctets pour une réalisation particulière (500 000 documents et 350 000 mots) et il peut être très utile de le distribuer en plusieurs fichiers, par exemple en fonction de l'ordre alphabétique des mots ou de leurs fréquences. Ces détails de réalisation n'affectent en rien la substance de l'invention et seront en général ignorés dans ce qui suit. A bien des égards, les opérations de traitement des requêtes mettent en jeu des mécanismes classiques de l'interaction client-serveur, quel que soit le protocole. Par commodité, la description ci-après suppose l'utilisation du protocole http, mais cela ne limite en rien la généralité de l'invention, qui est compatible avec n'importe quel protocole d'interaction. 1. La requête est d'abord mise sous forme canonique ; cela, les mots du texte de la requête sont identifiés et une liste des mots est établie avec leurs nombres d'occurrence. La liste est classée par ordre de rareté décroissante dans la base (c'est-à-dire que les mots les plus rares sont les premiers), la rareté étant définie numériquement par p = log N/ (n + 1) où N est le nombre total de documents présents dans la base de données du serveur et n le nombre de documents dans lesquels le mot apparaît. Pour améliorer l'exhaustivité, au prix d'une légère perte de précision, chaque mot est traité de la façon suivante (a) La capitalisation est ignorée, c'est-à-dire que le mot est entièrement mis en minuscules, (b) Quand des lettres sont répétées, seule la première est conservée, (c) Les "s" finales sont ignorées, et les "ies" finales sont remplacées par "y", (d) Les mots de moins de trois lettres sont ignorés, (e) Les mots très fréquents, comme "the" ou "also", sont ignorés. Par exemple, "Brussels" devient "brusel" et "energies" devient "energy". Deux autres listes sont simultanément établies, s'il y a lieu : (a) La liste des mots qui doivent être présents dans les documents retenus (ET booléen a posteriori), (b) La liste des mots qui ne doivent pas être présents dans les documents retenus (NON booléen a posteriori), Ces opérateurs booléens facultatifs permettent au client, s'il le désire, d'améliorer la précision de sa requête. 2. La méthode optimale de recherche est automatiquement sélectionnée par l'algorithme suivant : (a) Si la requête comprend moins de huit mots, la recherche se fait par la méthode quasi-booléenne, (b) Si la requête comprend plus de huit mots, la recherche utilise la méthode SMART. Bien entendu, le choix d'un seuil de huit mots, qui donne en général de bons résultats, n'est pas critique. D'autres méthodes connues de recherche peuvent également être prises en compte en sus ou à la place des méthodes ci-dessus citées à titre d'exemples. 3. Enfin, la liste des documents pertinents, classés par pertinence décroissante (ou par ordre chronologique, selon la préférence du client) est envoyée au client. Les détails de l'interface avec le client seront décrits ci-après. En ce qui concerne le fonctionnement du logiciel de recherche de documents, l'interaction avec le client peut être assurée par un serveur http classique. L'invention ne dépend cependant en rien de l'utilisation de ce standard et pourrait être réalisée avec tout autre standard. Le logiciel de recherche de documents est un module CGI appelé retrieve. cgi ou plus brièvement retrieve dans ce qui suit. Au lancement, retrieve range en mémoire centrale les fichiers bigsvd.wli, rwhthash. hsh, svdwords. idx et svdwords.loc. Grâce à la présence de ces fichiers en mémoire, les opérations de recherche sont le plus souvent extrêmement rapides, car elles se ramènent : # à une recherche binaire sur un support de stockage d'informations dans le fichier svdwords.val à travers les index svdwords. idx et svdwords.loc pour la méthode booléenne étendue, # à deux recherches binaires sur un support de stockage d'informations dans les fichiers svdwords.val et rwhthash. hsh pour la méthode SMART, Dans le cas d'une recherche booléenne étendue, retrieve : 1. établit la liste de tous les documents contenant des mots de la requête (qui comprend au total Nmots), 2. élimine les documents qui ne satisfont pas aux conditions éventuellement indiquées par le client (ceux qui sont en dehors de la plage chronologique choisie, qui ne contiennent pas les mots obligatoires, qui contiennent des mots interdits; cette liste n'est évidemment pas limitative) 3. attribue au document d un poids Pd égal au produit des raretés p des mots de la requête présents dans le document, 4. calcule de la même façon la norme N de la requête, 5. classe les documents par poids P décroissants, 6. et enfin attribue à chaque document d l'indice de qualité Qd tel que log Pd Qd = exp N / Q, mots avec log - ' exp = exp Nitiots Jï mots Qd # 1, puisque les documents sont ordonnés par poids décroissants. On constate que cette méthode favorise bien les documents les plus proches de la requête ; en particulier, ceux qui contiennent N mots de la requête ont d'autant plus tendance à précéder ceux qui n'en contiennent que N -1 que le mot supplémentaire est plus rare. L'algorithme de recherche par la méthode SMART n'est pas très différent du précédent, avec toutefois une approximation qui accélère considérablement les temps de calcul: 1. On calcule d'abord la norme exacte N de la requête, NmO!S N = LP1 1=1 où r, est le nombre d'occurrences du mot i dans la requête. 2. Pour chaque mot j de la requête, les mots étant rangés par ordre de rareté décroissante (a) on calcule la contribution Nj des mots 1... j à la norme de la requête, NJ = L pr2 1=1 (b) et l'on calcule de même la contribution Sjd des mots 1... j à la similarité non normalisée entre la requête et chaque document contenant le mot j, SJ L prq,d 1=1 où q,,d est le nombre d'occurrences du mot i dans le document d. On arrête le calcul quand le rapport Nj/N dépasse un seuil prédéfini (par exemple, 0. 85), ce qui constitue l'approximation de rang k = j. En ce point, Skd les contiennent les approximations de rang k des similarités non normalisées entre la requête et les documents potentiellement pertinents de la base ; la valeur exacte de la similarité non normalisée du document d SNd . SLd s'obtient évidemment si k = Nmots, soit Sd = SNmotsa, Les Sk@ ne diffèrent significativement de zéro que pour un sous-ensemble D très restreint de l'ensemble des documents, et nous considérerons implicitement par la suite que d désigne un élément de D . 3. Pour tout document de D, on obtient les normes Wd à partir du fichier rwhthash. hsh. Si l'on connaissait la similarité non normalisée entre le document d et la requête r, la similarité normalisée #(d,r) serait 6(d,r= Sd WdN En fait, on ne connaît pas mais il est raisonnable de penser qu'elle est souvent bien approximée par #d = SkdN/Nk ; dans ce cas, la similarité approximative normalisée est Qd =6(d,r)= S d = (Skd INk}JNIWd WdN où 0 # Qd# 1 est l'indice de qualité, c'est-à-dire de pertinence, du document. 4. Le module retrieve retourne enfin la liste des documents, classés par ordre de pertinence décroissante, avec coupure à un seuil compris entre 0. 1 et 0.15. Cette méthode permet d'accélérer considérablement l'algorithme original de Salton pour deux raisons : d'une part, parce que le nombre de mots retenus est plus faible, par exemple d'un facteur 1,5 ou 2, mais surtout, parce que le nombre total de documents à prendre en compte est beaucoup plus faible, puisqu'il augmente comme l'exponentielle de l'inverse de la rareté p des mots. C'est ce gain de rapidité, le plus souvent de l'ordre de dix, qui permet d'utiliser efficacement la méthode SMART avec de très grandes bases de données. Des essais systématiques montrent que l'erreur introduite par cette approximation est le plus souvent négligeable. L'établissement de résumés des documents pertinents constitue un aspect important de la présente invention. Pour des raisons pratiques, le module retrieve ne retourne en fait qu'une liste comprenant 8 documents, de d à d+8-1, l'ordinal d du document de départ et le nombre 8 de documents retournés étant fixés par la requête du client. A chaque document retourné, le module retrieve associe un résumé établi à partir de document.zzp ; pour ce faire 1. le module extrait de document.zzp le texte en ASCII, 2. le module établit la similarité de la requête avec chaque phrase, 3. et le module crée le résumé du texte un retenant, dans leur ordre d'apparition, les n phrases les plus proches de la requête. Le nombre n de phrases retenues (4, par exemple) est fixé par le client. Le résumé est ainsi constitué par l'extraction des phrases ou des membres de phrases les plus significatifs. La Figure 4 montre de façon synoptique l'ensemble des principaux éléments constitutifs d'un système selon l'invention permettant l'extraction automatique d'informations contenues dans une base de données principale 136 et l'enrichissement automatique de cette base de données principale 136 associée à un serveur 130. La référence 140 représente des moyens d'acquisition par des clients (a) à (n) d'au moins une requête initiale en langage naturel. Des moyens d'envoi 141 permettent la transmission, par exemple à travers un réseau Intranet, des requêtes vers le serveur 130. Le serveur 130 comprend, outre la base de données principale 136, une unité centrale de serveur 135, des mémoires de stockage 131,132 pour le stockage de différentes méthodes de recherche d'information, des modules spécialisés 133,134 de mise en #uvre respective des différentes méthodes de recherche d'information stockées dans les mémoires 131, 132 et des moyens 137 de sélection automatique dans les mémoires 131, 132, en fonction du type et de la présentation d'une requête, de l'une des différentes méthodes de recherche stockées en mémoire. Un module 143 associé au serveur 130 permet l'établissement "au vol" d'un résumé de chacun des documents obtenus dans le contexte de la requête présentée. Des moyens 142 assurent la transmission des résultats de recherche et des résumés établis dans le module 143, vers les moyens d'acquisition 140 faisant partie d'une interface avec les clients utilisateurs. La Figure 4 montre également le module 120 d'acquisition des documents, qui a déjà été décrit en référence aux figures 1 et 2, avec des sous-ensembles 200,210, 220,240 et le module 125 de prétraitement et mise en forme des documents qui a également été décrit en référence aux figures 1 et 3, avec des sous-ensembles 300,310, 320. La Figure 4 montre en outre de façon plus détaillée des bases de données additionnelles 164 pouvant être délocalisées dans un réseau Intranet 110 ou Internet 100 et auxquelles donnent accès des moteurs de recherche 163. L'interface 160 déjà représenté sur la Figure 1 comprend des moyens 161 de traitement des métarequêtes pour les adapter aux moteurs de recherche concernés 163 et des moyens 162 d'envoi des métarequêtes traitées. Des modules additionnels 127,128 sont associés à l'interface 160 et au module 120 d'acquisition des documents, en particulier au sousensemble 230 de construction des métarequêtes envoyées à des moteurs de recherche sur Internet. Le module 127 comprend un sous-module 127A de comptage du nombre N de métarequêtes créées par le sous-ensemble 230 à partir d'une requête, un sous-module 127B de comparaison du nombre N à un seuil No et un sous-module 127C constituant une unité d'autorisation de l'envoi des N métarequêtes engendrées pour une même requête de manière à n'autoriser l'envoi des N métarequêtes vers le module 128 que si N > No (avec par exemple No compris entre 5 et 15). Le module 128 constitue une unité de mélange reliée au module 120 de production de métarequêtes, à travers le module 127, pour envoyer dans un ordre arbitraire et aléatoire les différentes métarequêtes servant à des recherches additionnelles sur une base de données additionnelle 164 à l'aide d'un moteur de recherche 163. L'unité de mélange 128 prend en compte des métarequêtes issues de différentes requêtes émises par différents utilisateurs (a) à (n) à travers les moyens 140. L'unité de mélange 128 en liaison avec les moyens 162 d'envoi de métarequêtes assure l'envoi des métarequêtes dans un ordre arbitraire et de façon échelonnée dans le temps, par exemple à un taux d'une métarequête par minute. L'unité de mélange 128 comprend avantageusement un sousensemble 128A de vérification du mélange des métarequêtes comprenant des moyens d'identification de la requête à laquelle appartient chaque métarequête, de manière à n'autoriser l'envoi d'une métarequête que si celle-ci se trouve mélangée avec d'autres métarequêtes provenant de requêtes différentes. Ces requêtes différentes peuvent provenir de requêtes itératives à partir d'une même requête initiale ou, selon une contrainte plus grande, il peut être exigé que les requêtes différentes proviennent de requêtes initiales différentes émises par différents utilisateurs ou successivement dans le temps par un même utilisateur. On décrira maintenant en référence à la Figure 5 l'ensemble des principales étapes mises en #uvre dans un procédé selon l'invention permettant l'extraction automatique d'informations contenues dans une base de données principale 136 et l'enrichissement automatique de cette base de données principale 136 associée à un serveur 130. L'étape 11 consiste en la présentation et l'envoi d'une requête initiale en langage naturel ayant une longueur arbitraire. Après l'étape 11, l'étape 13 consiste en la sélection d'une méthode de recherche d'information, parmi un ensemble de méthodes de recherche préenregistrées en mémoire. L'étape 14 consiste en la mise en #uvre de la méthode de recherche sélectionnée en liaison avec la base de données principale 136. L'étape 15 consiste en la mise sous forme canonique des documents trouvés à la suite de l'étape 14 précédente de recherche. L'étape 16 consiste en l'établissement "au vol" d'un résumé des documents trouvés à l'étape 14 et traités à l'étape 15. L'étape 17 constitue un test pour déterminer si la réponse est jugée complète et satisfaisante. Si c'est le cas, il y a passage à l'étape 18 consistant en la fourniture des résultats de recherche. Si ce n'est pas le cas, il y a passage à l'étape 19 de sélection d'au moins un document plus pertinent puis passage à l'étape 21 consistant en l'envoi d'une nouvelle requête constituée à partir d'un document pertinent sélectionné ou de son résumé. Après l'étape 21, les étapes 13 à 17 se déroulent avec la nouvelle requête comme avec la requête initiale. Le test de l'étape 17 permet plusieurs itérations, mais généralement une ou deux itérations s'avèrent suffisantes. On peut aussi prévoir lors du test de l'étape 17, de sélectionner plus d'un document pertinent et de décider d'emblée d'établir plusieurs nouvelles requêtes à partir de plusieurs documents retenus, qui subiront les traitements des étapes 21 et 13 à 17. Après les étapes 11 et 21, en même temps que s'effectue le traitement des étapes 13 à 17, il est produit dans des étapes 22, 23 au moins une métarequête respectivement à partir de la requête initiale ou d'un nouvelle requête. Les métarequêtes constituent de petits éléments d'information concernant le texte initial de la requête concernée en langage naturel. Après la production de métarequêtes aux étapes 22 ou 23, une étape 24 comprend un test qui permet de déterminer si le nombre N de métarequêtes est supérieur à un nombre prédéterminé No. Si ce n'est pas le cas, on passe à une étape 25 de nouvel essai ultérieur du test de l'étape 24. En revanche, si N > No, on passe à une étape 26 de mélange de métarequêtes issues de requêtes différentes, puis à une étape 27 comprenant un test de vérification pour déterminer si les métarequêtes mélangées sont issues d'un nombre suffisant de requêtes initiales différentes. Si ce n'est pas le cas, on passe à une étape 28 d'attente et de nouvel essai ultérieur du test de l'étape 27. Si en revanche les métarequêtes mélangées proviennent bien d'un ensemble suffisant de requêtes initiales différentes, on passe à l'étape 29 d'envoi de façon échelonnée des métarequêtes mélangées vers une source de base de données additionnelle 164 à l'aide d'un moteur de recherche 163. Après l'étape 29, on passe à l'étape 31 de transmission, éventuellement différée, de documents supplémentaires résultant des recherches sur la base de données additionnelle 164 à partir des métarequêtes. L'étape suivante 32 consiste en un traitement et une mise en forme des documents transmis. L'étape 32 est suivie d'une étape 33 consistant en un test pour déterminer si l'indice de pertinence des documents traités et mis en forme est supérieur à un seuil prédéfini. Si c'est le cas, on passe à une étape 34 d'envoi au serveur 130 des documents traités pour enrichissement de la base de données principale 136 et à une étape 35 de fourniture des résultats de recherche. Si en revanche le test de l'étape 33 révèle un indice de pertinence trop faible, on passe à une étape 36 de fin de tâche ou, le cas échéant, à un nouveau cycle d'envoi de métarequêtes à une date ultérieure pour réactualiser la recherche sur la base de données additionnelle 164 à partir des requêtes ayant été présentées successivement aux étapes 11 et 21. La Figure 6 montre un exemple de fenêtre de résultats dans une interface avec l'utilisateur, avec les éléments suivants : #410 Les résultats sont personnalisés pour un client, ici client@organisation.org. # 420 Le client peut modifier ses préférences, par exemple le nombre de documents présentés, le mode de rangement (chronologique ou par pertinence décroissante), etc. # 430 Rappel des premiers mots de la requête. Ici, le système répond à la requête simple "OLAP" ; la recherche se fait donc selon la méthode booléenne étendue. # 440 Les dix premiers documents trouvés (parmi 106) s'affichent à l'écran, par ordre de pertinence décroissante. # 450 Devant chaque document, une jauge colorée indique son indice de similarité avec la requête (sa pertinence, ou son indice de qualité). # 452 Référence interne complète du document. # 454 Titre du document ; encliquant sur le titre, le client obtient le texte du document en ASCII, c'est-à-dire sans aucun formatage. # 456 Adresse http du document original; en cliquant sur le symbole [+] le client obtient les documents les plus semblables au document original. # 460 Le résumé au sens indiqué plus haut établi "au vol" comprend ici quatre lignes; en cliquant sur le symbole # précédant chaque ligne du résumé, le client obtient les documents les plus semblables à cette ligne. # 470 Référence http du document original. * 480 En cliquant sur "Copie locale", le client obtient le texte du document avec le formatage original, tel qu'il est présent dans le fichier document.zzp de la base de données. On notera que le symbole # permet au client, s'il clique dessus, d'obtenir plus d'information en lançant une nouvelle requête à partir du texte qui suit le symbole: soit l'article intégral, pour la première ligne, soit chaque ligne du résumé. La Figure 7 représente un exemple de fenêtre de recherche dans une interface avec l'utilisateur, cette fenêtre permettant une recherche par approximations successives. Cette fenêtre comprend les éléments suivants : # 510 Plage contenant le titre de la requête ; cette plage, de longueur arbitraire, peut également contenir, précédés de ! !,les mots que ne doivent pas inclure les documents et précédés de &&, les mots qu'ils doivent inclure. # 520 Plage contenant le texte de la requête # 530 Bouton d'annulation en cas d'erreur # 540 Bouton de lancement de la recherche. La recherche par approximations successives peut se faire en cliquant sur le symbole précédant l'adresse d'un document ou chacune de ses lignes. Elle peut également se faire à partir d'extraits du ou des documents qui semblent les plus intéressants au client. Il lui suffit de procéder par "copier/coller", d'un texte vers la fenêtre de recherche. En particulier, le client peut ainsi transférer le résumé d'un document vers la fenêtre de recherche, le plus souvent avec d'excellents résultats : c'est ce que montre la Figure 7 pour le quatrième document de la Figure 6, dont le titre a été transféré vers la plage 510 et le texte vers la plage 520 (la distinction entre la plage de titre et la plage de texte est introduite pour la commodité du client mais elle est entièrement arbitraire; les mêmes résultats seraient obtenus si le même texte était transféré exclusivement vers l'une des plages). Il faut noter que cette méthode de 'copier/coller' se prête également très bien à un autre mode de recherche, où l'utilisateur lit un document quelconque sur sa station de travail et transfère une ligne, un paragraphe, ou même le texte entier vers la fenêtre de recherche. C'est en général la meilleure méthode pour lancer une recherche : c'estla plus simple possible, et elle est néanmoins extrêmement précise et spécifique si le texte est bien choisi (sinon, elle se prête également à une recherche par approximations successives). La Figure 8 montre les résultats de la nouvelle requête de la Figure 7 dans une interface avec l'utilisateur. Cette figure montre les éléments suivants : # 630 Rappel des premiers mots de la nouvelle requête. ' 640 Les rangs des documents présentés. # 650 Jauge colorée de longueur proportionnelle à la pertinence du document. # 660 Le résumé du document ayant servi de base à la nouvelle requête est le même que celui qui résultait de la première requête. # 670 Le deuxième document constitue un nouveau document qui n'apparaissait pas dans le résultat de la première requête. REVENDICATIONS 1. Procédé d'extraction automatique d'informations contenues dans une base de données principale et d'enrichissement automatique du contenu de cette base de données, caractérisé en ce qu'il comprend les étapes suivantes : a) présentation et envoi à un serveur (130) d'au moins une requête initiale en langage naturel ayant une longueur arbitraire, b) mise en #uvre, par un module spécialisé, d'une méthode de recherche apte à définir une liste de documents obtenus à partir de la base de données principale dans le contexte de la requête initiale, c) production, à partir de la requête initiale, d'au moins une métarequête construite à partir de l'extraction de mots ou expressions les plus significatifs de la requête initiale, la métarequête servant à une recherche additionnelle sur au moins une autre base de données additionnelle, à l'aide d'au moins un moteur de recherche, de documents supplémentaires correspondant à la requête initiale, et d) transmission desdits documents supplémentaires à un module spécialisé (125) de traitement et de mise en forme qui transmet au serveur des informations traitées et mises en forme destinées à enrichir la base de données principale. 2. Procédé selon la revendication 1, caractérisé en ce que l'autre base de données additionnelle est accessible à travers un réseau de type Intranet ou Internet. 3. Procédé selon la revendication 1 ou la revendication 2, caractérisé en ce que les différentes métarequêtes servant à des recherches additionnelles sur au moins une autre base de données additionnelle à l'aide d'au moins un moteur de recherche, sont renvoyées dans un ordre arbitraire et aléatoire de manière à empêcher une reconstruction non autorisée d'une requête initiale à partir du seul flux des métarequêtes. 4. Procédé selon la revendication 3, caractérisé en ce qu'il comprend une étape de test consistant, pour chaque requête initiale, à n'autoriser l'envoi de métarequêtes vers au moins une autre base de données additionnelle à l'aide d'au moins un moteur de recherche que si la requête initiale concernée permet d'engendrer un nombre N de métarequêtes différentes qui est supérieur ou égal à un nombre entier prédéterminé No. 5. Procédé selon la revendication 3 ou la revendication 4, caractérisé en ce qu'il comprend une étape de vérification du mélange de métarequêtes pour n'autoriser l'envoi d'une métarequête d'une requête initiale donnée, vers au moins une autre base de données additionnelle, que si ladite métarequête est présente en même temps que plusieurs autres métarequêtes correspondant à plusieurs autres requêtes initiales différentes. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que les documents supplémentaires relatifs à plusieurs requêtes sont transmis par un serveur au module spécialisé de traitement et de mise en forme de façon différée. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que les métarequêtes sont engendrées à l'aide d'une analyse du langage de la requête permettant d'identifier des noms et des expressions ou groupes de mots ayant des liens logiques entre eux, puis de ne conserver que les mots ou groupes de mots représentatifs de la requête. 8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que après l'étape de présentation et d'envoi à un serveur (130) d'au moins une requête initiale, il est exécuté une étape de sélection automatique par le serveur d'une méthode de recherche d'information, à partir d'un ensemble de méthodes de recherche différentes, en fonction du type et de la présentation de la requête initiale, puis on procède à une étape de mise en #uvre, par un module spécialisé de la méthode de recherche sélectionnée pour définir une liste de documents obtenus à partir de la base de données principale dans le contexte de la requête initiale. 9. Procédé selon la revendication 8, caractérisé en ce que l'ensemble de méthodes de recherche différentes comprend au moins une méthode de recherche de type booléen ou booléen étendu et une méthode de recherche de type statistique. 10. Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce que l'on exécute en outre une étape d'établissement "au vol" d'un résumé de chacun des documents de la liste de documents obtenus dans le contexte de la requête initiale, le résumé étant obtenu par l'extraction des phrases ou des membres de phrases les plus significatifs par rapport à la requête initiale. 11. Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce que la recherche est effectuée de façon itérative, par approximations successives, par la présentation de nouvelles requêtes tenant compte des réponses reçues à la précédente requête. 12. Procédé selon les revendications 10 et 11, caractérisé en ce que l'on utilise comme nouvelle requête le résumé d'un document obtenu dans le contexte de la requête précédente. 13. Procédé selon l'une quelconque des revendications 1 à 12, caractérisé en ce que la présentation d'une requête en langage naturel ayant une longueur arbitraire est effectuée par une opération de type "couper/coller" à partir d'un texte pertinent. 14. Procédé selon l'une quelconque des revendications 8 et 9, caractérisé en ce que la méthode de recherche d'informations choisie est sélectionnée en fonction d'un critère constitué par le nombre de mots significatifs de la requête concernée. 15. Procédé selon la revendication 14, caractérisé en ce que le caractère significatif d'un mot est déterminé à partir de la rareté de ce mot dans la base de données. 16. Procédé selon la revendication 10, caractérisé en ce que l'établissement "au vol" du résumé d'un document est effectué en faisant appel à des données statistiques associées au document et stockées dans le même fichier. 17. Procédé selon l'une quelconque des revendications 1 à 16, caractérisé en ce que des informations destinées à enrichir la base de données principale traitées et mises en forme par le module spécialisé de traitement et de mise en forme sont transmises au serveur si les documents supplémentaires indiqués par le moteur de recherche, après comparaison avec la requête initiale, présentent un indice de pertinence qui dépasse un seuil prédéterminé. 18. Procédé selon la revendication 10, caractérisé en ce que préalablement à l'établissement d'un résumé de chacun des documents de la liste de documents obtenus dans le contexte d'une requête, chaque document recueilli est mis sous forme canonique avec une première version sous sa forme originelle, une seconde version transformée en un texte ordinaire propre à l'établissement d'un résumé et d'une indexation, un en-tête http, une indexation ligne à ligne, ces différentes informations étant compressées en un fichier unique. 19. Procédé selon la revendication 7, caractérisé en ce que les mots ou groupes de mots conservés comme représentatifs de la requête sont sélectionnés en fonction de leur rareté. 20. Système d'extraction automatique d'information contenues dans une base de données principale (136) et d'enrichissement automatique de cette base de données (136), caractérisé en ce qu'il comprend : a) des moyens (140) d'acquisition d'au moins une requête initiale en langage naturel ayant une longueur arbitraire, b) des moyens (141) d'envoi de ladite requête à un serveur (130) de la base de données principale (136), c) au moins une mémoire de stockage (131,132) d'au moins une méthode de recherche d'information, d) au moins un module spécialisé (133,134) de mise en #uvre d'au moins une méthode de recherche d'information stockée dans ladite mémoire de stockage, e) un module (120) de production, à partir de la requête initiale, d'au moins une métarequête, comprenant des moyens (210,220) d'extraction de mots ou expressions les plus significatifs de la requête initiale, f) au moins une autre source (164) de bases de données additionnelles, g) au moins un moteur de recherche (163) pour l'accès à cette autre source de bases de données additionnelles (164), h) des moyens (161) de traitement des métarequêtes pour les adapter audit moteur de recherche (163), i) des moyens (162) d'envoi des métarequêtes traitées audit moteur de recherche (163) assurant l'accès à ladite autre source (164) de bases de données additionnelles, pour l'obtention de documents supplémentaires correspondant à la requête initiale, et j) une unité (240,124) de transmission des documents supplémentaires à un module spécialisé (125) de traitement et de mise en forme qui transmet au serveur (130) des informations traitées et mises en forme destinées à enrichir la base de données principale (136). 21. Système selon la revendication 20, caractérisé en ce qu'il comprend en outre des moyens de mélange (128) reliés au module (120) de production de métarequêtes pour renvoyer dans un ordre arbitraire et aléatoire les différentes métarequêtes servant à des recherches additionnelles sur au moins une autre source (164) de bases de données additionnelles à l'aide d'au moins un moteur de recherche (163). 22. Système selon la revendication 21, caractérisé en ce qu'il comprend une unité (127A) de comptage du nombre N des métarequêtes engendrées pour une même requête initiale par le module (120) de production de métarequêtes, une unité de comparaison (127B) du nombre N des métarequêtes engendrées par rapport à un nombre No prédéterminé, et une unité d'autorisation (127C) de l'envoi des N métarequêtes engendrées pour une même requête initiale, qui est reliée à l'unité de comparaison (127B) pour autoriser ou non l'envoi des N métarequêtes en fonction du résultat fourni par l'unité de comparaison (127B). 23. Système selon la revendication 21 ou la revendication 22, caractérisé en ce que les moyens de mélange (128) comprennent une unité (128A) de vérification du mélange des métarequêtes comprenant des moyens d'identification de la requête initiale à laquelle appartient chaque métarequête. 24. Système selon l'une quelconque des revendications 20 à 23, caractérisé en ce qu'il comprend plusieurs modules spécialisés (133,134) de mise en #uvre de différentes méthodes de recherche d'information stockées dans ladite mémoire de stockage (131,132), et des moyens (137) de sélection automatique dans ladite mémoire (131,132), pour permettre la sélection par le serveur (130), en fonction du type et de la présentation de la requête initiale, d'une méthode de recherche d'information, à partir d'un ensemble de méthodes de recherche différentes stockées dans ladite mémoire (131, 132). 25. Système selon l'une quelconque des revendications 20 à 24, caractérisé en ce qu'il comprend en outre un module (143) d'établissement "au vol" d'un résumé de chacun des documents de la liste de documents obtenus dans le contexte de la requête initiale, ce module (143) comprenant des moyens d'extraction des phrases ou des membres de phrases les plus significatifs par rapport à la requête initiale.