Brevet FR3059797A1 — publié le 20180608

PROCEDE D'ELABORATION AUTOMATISE D'UN THESAURUS D'ENTITES NOMMEES POUVANT COMPRENDRE UNE PLURALITE DE NIVEAUX HIERARCHIQUES, ET UTILISATION D'UN TEL THESAURUS. DOMAINE DE L'INVENTION La présente invention concerne le traitement automatisé de données textuelles. Elle vise plus précisément l'exploitation de données textuelles pour une analyse fine de l'information que ces données comprennent, notamment lorsque ces données se rapportent à des entités nommées pouvant présenter plusieurs niveaux hiérarchiques. ARRIERE PLAN TECHNOLOGIQUE DE L'INVENTION Il est connu d'employer des moyens automatisés d'extraction d'informations à partir de collections de données textuelles pour former des bases de données à partir desquels il est possible de mener des analyses plus poussées. Pour constituer ces bases, on peut être amené à repérer dans ces informations d'origine des catégories d'entités nommées (adresse, organisation, gamme de produits...) et à reconnaître toutes les occurrences d'une même entité nommée. La disparité des formes, graphique ou syntagmatique, renvoyant à une même entité nommée pose problème. L'origine de cette disparité bien connue : il peut s'agir d'erreur typographique ou orthographique dans les informations d'origine, des problèmes liés à la transcription et/ou à la translittération de certains termes, à la disparité des sources d'information et notamment à l'hétérogénéité lexicale de ces sources. Pour 3059797 2 tenter de s'affranchir de cette variabilité de forme, on prévoit généralement, lors de la constitution d'une base de données, une étape de normalisation afin de ramener toutes les dénominations se rattachant à une même entité à une 5 forme standard, dite forme normalisée. À ce propos, on pourra se référer au document « normalisation des entités nommées . allier règles déclaratives, ressources endogènes et processus centré sur 10 l'utilisateur » par V. Andréani et al, Revue Canadienne des Sciences de l'Information et de Bibliothéconomie, Volume 35 (3) (pp. 229-263). Certaines entités nommées peuvent présenter 15 plusieurs niveaux hiérarchiques. C'est par exemple le cas des organisations telles que les entreprises (siège, filiale, direction, services); les établissements d'enseignement et de recherche (université, laboratoire, service); ou même des adresses de lieux (pays, ville, rue). 20 On ne sait généralement pas à l'avance quelle exploitation sera faite des données textuelles lorsqu'elles ont été organisées en base de données. En particulier, et concernant les entités nommées pouvant présenter plusieurs 25 niveaux hiérarchiques, on ne peut prédire à l'avance selon quel niveau hiérarchique on souhaitera sélectionner les données de la base. Ainsi, le document de l'état de la technique 30 précitée propose de prendre le niveau hiérarchique le plus haut comme forme normalisée de l'entité nommée. Par exemple, et selon ce document, l'entité nommée « Laboratoire Y de l'Université X » est normalisée en « Université X ». Ce choix ne permet pas de procéder une 35 analyse fine à partir de la base de données constituée, par 3059797 3 exemple rechercher l'ensemble des informations relatives au Laboratoire Y de l'Université X. Alternativement, on pourrait choisir de prendre le 5 niveau hiérarchique le plus bas comme forme normalisée. On pourrait par exemple normaliser l'entité nommée de l'exemple précédent en « Laboratoire Y, Université X ». Mais cette approche ne permet pas de facilement mener une analyse portant sur un niveau supérieur (rechercher 10 l'ensemble des informations relatives à l'Université X) sauf à regrouper manuellement les informations extraites pour chacune des entités nommées qui se rattache à une même entité de niveau supérieur. Or ce travail peut être laborieux et de doit être renouvelé pour chaque nouvelle 15 requête. OBJET DE L'INVENTION 20 La présente invention vise à pallier tout ou partie des inconvénients précités. Elle vise notamment à permettre la sélection d'enregistrements d'une base de données selon différents niveaux hiérarchiques d'une entité nommée, sans nécessiter un retraitement de la base de données ou le 25 regroupement manuel des formes normalisées d'entités se rattachant hiérarchiquement à une même entité. En d'autres termes, l'invention vise à fournir un outil permettant à un utilisateur de choisir, à volonté, le niveau hiérarchique de travail dans lequel il souhaite évoluer. 30 BREVE DESCRIPTION DE L'INVENTION En vue de la réalisation de l'un de ces buts, l'objet de 35 l'invention propose un procédé d'élaboration automatique à 3059797 4 partir de données textuelles d'un thesaurus d'entités nommées, une entité nommée pouvant comprendre une pluralité d'entités de niveaux hiérarchiques différents, le thesaurus formant une base de données constituée d'une pluralité 5 d'enregistrements d'entités, chaque enregistrement associant pour une entité déterminée : - une forme normalisée de l'entité déterminée ; - au moins une chaine de caractères extraite des données textuelle et désignant l'entité 10 déterminée ; - et, le cas échéant, au moins un lien vers un autre enregistrement du thesaurus correspondant à une entité avec laquelle l'entité déterminée est reliée hiérarchiquement. 15 Selon l'invention, le procédé d'élaboration automatique du thesaurus comprend : - une étape d'extraction, à partir des données textuelles, d'une chaîne de caractères désignant une entité nommée ; 20 - une étape de traitement de la chaîne de caractères pour établir une liste comprenant au moins un segment d'entité ; - une étape d'élimination de la liste des segments d'entité déjà présents dans le thesaurus, pour 25 former une liste de segments nouveaux ; - une étape de mise à jour du thesaurus pour chaque segment nouveau de la liste des segments nouveaux 30 Selon d'autres caractéristiques avantageuses et non limitatives de l'invention, prises seules ou selon toute combinaison techniquement réalisable : - l'étape de traitement comprend une étape de 35 délimitation d'au moins un segment d'entité par 3059797 5 identification de signes de ponctuation dans la chaîne de caractères ; - l'étape de traitement comprend une étape de 5 détermination du niveau hiérarchique associé à chaque segment d'entité ; - l'étape de traitement comprend une étape de réécriture de chaque segment d'entité ; 10 - l'étape de traitement comprend l'identification d'amorces types dans chaque segment d'entité, les amorces type étant contenues dans un lexique de traitement ; 15 - le lexique de traitement associe une amorce type à un niveau hiérarchique et à une règle de réécriture de l'amorce type dans un segment d'entité ; 20 - l'amorce type est un mot vide et la règle de réécriture consiste à supprimer le mot vide dans le segment d'entité ; - le procédé comprend une étape de correction d'erreurs 25 des segments d'entité ; - l'étape de mise à jour du thésaurus comprend une étape de création d'un nouvel enregistrement ; 30 - l'étape de mise à jour du thésaurus comprend une étape d'association d'un segment nouveau à un enregistrement préexistant ; - l'étape de mise à jour est soumise à la validation 35 et/ou à la modification préalable d'un utilisateur ; 3059797 6 Selon un autre aspect, l'invention concerne un procédé d'indexation automatique de données textuelles comprenant : - une étape d'extraction à partir des données 5 textuelles d'une chaîne de caractères désignant une entité nommée pouvant comprendre une pluralité d'entités de niveaux hiérarchiques différents ; - une étape de traitement de la chaîne de caractères pour établir une liste comprenant au moins un 10 segment d'entité; - une étape de recherche, dans un thesaurus d'entités nommées établi à l'aide du procédé d'élaboration de l'invention, d'un enregistrement concordant pour chaque segment d'entité de la liste; 15 - une étape de liaison, dans une table d'indexation, de l'enregistrement concordant ou d'une référence à l'enregistrement concordant avec les données textuelles ou une référence aux données textuelles. 20 L'invention concerne également un procédé d'identification automatique de données textuelles à l'aide d'une table d'indexation obtenue selon le procédé précédent, dans lequel le procédé d'identification comprend : 25 - une étape d'obtention d'une entité désignée sur laquelle doit porter l'identification ; - une étape de recherche, dans le thesaurus d'entités, de l'enregistrement correspondant à l'entité désignée ; 30 - une étape d'identification, à partir de la table d'indexation, des données textuelles associées à l'enregistrement correspondant à l'entité désignée. 3059797 7 Finalement, l'invention concerne un programme d'ordinateur contenant des instructions adaptées à la mise en oeuvre de chacune des étapes d'un des procédés présentés précédemment, lorsque le programme est exécuté sur un 5 ordinateur BREVE DESCRIPTION DES DESSINS 10 D'autres caractéristiques et avantages de l'invention ressortiront de la description détaillée de l'invention qui va suivre en référence aux figures annexées sur lesquels : 15 - la figure 1 représente un exemple d'un thésaurus élaboré selon une méthode conforme à l'invention ; - la figure 2 représente une séquence d'étapes d'un procédé d'indexation automatique de données 20 textuelles conforme à l'invention; - la figure 3 représente une séquence d'étapes d'un procédé d'identification automatique de données textuelles conforme à l'invention ; 25 - la figure 4 représente une séquence d'étapes d'un procédé d'élaboration automatique d'un thésaurus conforme à l'invention. 30 DESCRIPTION DETAILLEE DE L'INVENTION Thésaurus d'entités. La présente invention prévoit d'élaborer un 35 thesaurus d'entités, chaque entité nommée pouvant 3059797 8 comprendre une pluralité d'entités de niveaux hiérarchiques différents. Comme cela sera détaillé dans le détail par la suite, ce thesaurus est élaboré de manière automatique à partir d'une collection de données textuelles sources. 5 Par « données textuelles », on désigne toute information représentée sous la forme d'un texte. Il peut ainsi s'agir d'information scientifique et techniques, tels que contenus dans des brevets, des articles scientifiques. 10 Ces informations peuvent être non structurées ou structurées (par exemple organisées en base de données, dans lequel des champs prédéterminés organisent au moins partiellement l'information). 15 Par « entité », on désigne un niveau hiérarchique d'une entité nommée présentant plusieurs niveaux hiérarchiques. Ainsi l'entité nommée « Laboratoire X de l'université Y » comprend les deux entités « Laboratoire X » et « Université Y ». Une entité nommée qui ne présente 20 qu'un seul niveau hiérarchique, par exemple « Société Z », ne comporte qu'une seule entité, « Société Z ». Pour conserver toute sa généralité à la présente description, on considérera que les entités nommées présentent nécessairement une pluralité de niveaux hiérarchique. Mais 25 l'invention n'est nullement limitée à ce type particulier d'entités nommées, et les traitements proposés s'appliquent à tout type d'entités nommées, qu'elles comportent ou non une pluralité de niveaux hiérarchiques. 30 Un thesaurus conforme à l'invention prend la forme d'une base de données constituée d'une pluralité d'enregistrements, chaque enregistrement décrivant une entité déterminée. Un tel enregistrement comprend au moins les champs suivants : 3059797 9 - un champ de désignation pour recevoir une forme normalisée de l'entité déterminée. - un champ de texte pour recevoir au moins une chaine de caractères extraite des données textuelles, et 5 désignant l'entité déterminée. - et, le cas échéant, un champ de liaison pour recevoir un lien vers un autre enregistrement du thésaurus, cet autre enregistrement correspondant à une entité avec laquelle l'entité déterminée et hiérarchiquement reliée. 10 Pour chaque enregistrement du thésaurus, les champs de désignation et de texte sont nécessairement renseignés. Le champ de liaison est quant à lui renseigné dans la mesure où l'entité correspondante est hiérarchiquement 15 reliée à au moins une autre entité, également enregistrée dans la base de données. Chaque entité peut être reliée à une ou à plusieurs autres entités. En conséquence, le champ de liaison peut 20 comprendre un ou plusieurs liens, chaque lien pointant vers un autre enregistrement du thésaurus. Le lien peut être interprété comme la relation « appartient à ». D'une manière plus générale, la présence d'un lien entre deux enregistrements permet de déterminer la nature de la 25 relation hiérarchique existant entre deux entités, c'est à dire laquelle des deux entités est hiérarchiquement supérieure à l'autre. Le champ de désignation peut être défini comme une 30 chaîne de caractères. Le champ de texte peut être défini comme au moins une chaine de caractère. Cette chaine, extraite des données textuelles, peut avoir reçu des traitements, c'est à dire qu'il ne s'agit pas nécessairement du texte brut directement extrait des 35 données textuelles sources. 3059797 10 Les enregistrements formant la base de données peuvent également prévoir des champs additionnels. Ils peuvent ainsi comprendre un champ d'index permettant de 5 facilement désigner et informatiquement manipuler les enregistrements de la base. Comme on l'a évoqué en introduction de cette demande, il est en effet possible qu'une même entité 10 apparaisse sous différentes formes dans les données textuelles sources. En rattachant ces différentes formes dans le champs texte d'un même enregistrement de la base de données constituant le thesaurus, on forme une base de données exhaustive et compacte. 15 A titre d'illustration, les données textuelles d'origine sont une collection d'articles scientifiques. Les entités nommées correspondent au nom de l'organisation à laquelle sont affiliés les auteurs de ces articles. Un des 20 documents de la collection fait apparaître le nom d'organisation « Surface du Verre et Interfaces, Unité Mixte de Recherche (UMR) 125, Centre National de la Recherche Scientifique/Saint-Gobain, Aubervilliers, France ». Après le traitement automatique qui sera détaillé 25 par la suite de cette description, on dispose d'un thesaurus intégrant ces données et dont un extrait est représenté sur la figure 1. Un premier enregistrement, d'index 1, comprend la 30 désignation « Surface Verre Interface » comme forme normalisée de l'entité et est relié aux enregistrements d'index 2 et 3 qui vont être décrits. Dans l'exemple de la figure 1, le thésaurus présente également un champ de texte, qui pour cet enregistrement d'index 1 est renseignée 35 par la forme traitée (par suppression des mots creux) de la 3059797 11 chaine de caractères initiale « Surface Verre Interfaces, Unité Mixte de Recherche ». L'enregistrement suivant, d'index 2, comprend la désignation « CNRS » comme forme normalisée de l'entité. L'existence d'un lien pointant sur 5 cet enregistrement permet d'établir que l'entité « Surface Verre Interface » est d'un niveau inférieur à l'entité « CNRS ». Le champ de texte brut de l'enregistrement d'index 2, comprend plusieurs expressions (qui ont pu être extraites des données textuelles à l'occasion de 10 l'indexation de plusieurs articles scientifiques) « CNRS », « C.N.R.S », « Centre National Recherche Scientifique ». L'enregistrement d'index 3 est similaire à celui d'index 2, et par souci de concision, on ne détaillera pas son contenu. 15 Indexation automatique des données textuelles sources L'invention tire profit de cette structure de 20 données pour proposer un procédé d'indexation automatique de données textuelles. Le procédé vise à établir un index des données textuelles traitées, aussi désigné « table d'indexation », 25 c'est-à-dire une structure de données associant une portion des données textuelles (un document source, une entrée d'une base de données source, une balise dans des données textuelles non structurées) aux entités que cette portion contient. La table d'indexation permet d'identifier 30 rapidement la ou les portion(s) des données textuelles qui comprennent une entité nommée déterminée. Bien entendu, la table d'indexation peut présenter d'autres entrées que celle correspondant aux portions de données textuelles et aux entités, mais la présente description sera limitée à 35 ces deux champs par souci de simplification. 3059797 12 En référence à la figure 2, un procédé d'indexation automatique de données textuelles conforme à l'invention comprend une première étape d'extraction, d'une portion des 5 données textuelles sources, d'une chaîne de caractères désignant une entité nommée pouvant comprendre plusieurs niveaux hiérarchiques. Sur la figure 2, cette chaine de caractère est « XYZ, ABC » et représente une entité nommée constituée des deux entités « XYZ », et « ABC ». 10 Lorsque les données textuelles sources sont structurées, par exemple sous la forme d'une base de données ou de marqueurs dans le texte, l'étape d'extraction consiste donc à requêter la base ou repérer le marqueur 15 dans les données textuelles pour obtenir en retour la chaîne de caractères. Dans le cas où les données textuelles sources ne sont pas structurées, on pourra s'appuyer sur les méthodes connues de reconnaissance automatique d'entités nommées, par exemple celle associant 20 l'exploitation d'une grammaire formelle, de modèles statistiques, et/ou de bases de données de catégories d'entités. Le procédé d'indexation automatique se poursuit par 25 une étape de traitement de la chaîne de caractères pour identifier au moins une entité, c'est-à-dire au moins un niveau hiérarchique de l'entité nommée. Ce traitement comprend la segmentation de la chaine de caractères en un ou une pluralité de segments. Chaque segment, appelé 30 segment d'entité dans la suite de cet exposé, correspond à une entité, c'est à dire à un niveau hiérarchique de l'entité nommé. L'étape de traitement de la chaine de caractère conduit à établir une liste comprenant au moins un segment d'entité. Sur la figure 2, cette liste est 3059797 13 [« XYZ », « ABC »], constituée des deux segments « XYZ » et « ABC ». Ce traitement peut comprendre une étape de 5 délimitation d'au moins un segment d'entité par identification de signes de ponctuation dans la chaine de caractère. En d'autres termes, il s'agit de découper la chaîne de caractères extraite à l'étape précédente en un ou une pluralité de segments, en formant l'hypothèse que les 10 différents niveaux hiérarchiques de l'entité nommée sont séparés par de tels signes (virgules, point, etc). La délimitation peut s'appuyer sur un autre critère, comme la détection d'un motif ou d'une amorce particulière dans la chaine de caractères. 15 Le traitement peut également comprendre une étape de réécriture de la chaîne de caractères et/ou des segments pour remplacer certains termes rencontrés en une forme normalisée, ou pour tout simplement les éliminer notamment 20 lorsqu'il s'agit de mots creux, comme des prépositions ou des articles. A titre d'exemple, lorsque les entités nommées sont de la catégorie des adresses, la chaîne de caractères « 4 25 rue Béridot, 38500 Voiron, France » pourrait être traitée au cours de l'étape de traitement pour fournir la liste de segments suivants [4; R. Béridot ; 38500 ; VOIRON; FR]. Outre la réorganisation des segments, on remarque que les termes « France » et « Rue » ont été réécrits sous les 30 formes normalisées « FR » et « R.». On remarque également que le traitement s'est appuyé sur les signes de ponctuation et la détection d'amorces déterminées (du type « C+ Rue L+ » ou « CCCCC », où C représente un chiffre, C+ une séquence de chiffres, et L+ une séquence de lettres) 3059797 14 pour délimiter correctement le numéro de rue et le code postal. D'une manière générale l'étape de traitement 5 automatique pourra s'appuyer sur un lexique de traitement, associant des amorces types à des règles de délimitation et/ou de réécriture. Pour reprendre l'exemple précédent, le lexique de traitement permet d'identifier les amorces types « France » et « Rue » de la chaîne de caractères et de les 10 réécrire sous leurs formes normalisées « FR » et « R.». Le lexique de traitement permet également d'identifier une séquence de 5 chiffres dans une adresse comme formant un code postal, cette séquence formant un segment d'entité, et les caractères suivant cette séquence comme un autre 15 segment d'entité désignant la ville. Le lexique de traitement peut également comprendre une liste de mots creux. La règle de réécriture associée à ces mots creux consiste alors à les éliminer du segment d'entité. Pour être complet, et bien que cette caractéristique ne soit pas 20 nécessairement exploitée au cours de l'exécution du procédé d'indexation, le lexique de traitement peut associer chaque amorce type à un niveau hiérarchique (par exemple associer le terme « France », à sa forme réécrite « FR » et au niveau hiérarchique « 1 »), afin de pouvoir établir les 25 relations hiérarchiques existant entre les différents segments identifiés. L'exploitation du lexique de traitement permet donc également d'identifier la relation hiérarchique pouvant exister entre les segments d'entité. 30 Quels que soient les traitements effectivement réalisés sur la chaine de caractère désignant l'entité nommée, on dispose à l'issue de l'étape de traitement d'une liste comprenant au moins un segment d'entité. 3059797 15 En référence à la figure 2, le procédé d'indexation automatique se poursuit par une étape de recherche, dans le champ de texte du thesaurus d'entités, de chaque segment d'entité de la liste de segments de sorte à identifier, 5 pour chaque segment, un enregistrement correspondant. A la figure 2, cette étape retourne les index d'enregistrement 1 et N, pour lesquels on retrouve effectivement dans le champ de texte les segments respectifs « XYZ » et « ABC ». 10 Dans les situations favorables, qui devraient être les plus nombreuses une fois le thesaurus suffisamment constitué, cette étape conduit à fournir pour chaque segment de la liste, l'enregistrement du thesaurus ou une référence à un enregistrement (un pointeur vers cet 15 enregistrement, un numéro d'index de cet enregistrement) qui lui correspond. Les situations défavorables se produisent lorsque la recherche dans le thesaurus ne permet pas d'identifier 20 un enregistrement correspondant à l'un des segments d'entité de la liste. Cette situation peut avoir plusieurs origines. Ainsi, le segment peut présenter une erreur, par 25 exemple typographique ou orthographique. Afin de pallier cette situation, le procédé peut comprendre une étape de correction d'erreur. La correction d'erreur peut s'appliquer sur la chaîne de caractères bruts, avant l'étape de traitement, mais préférentiellement elle 30 s'applique sur les segments d'entité de la liste de segments. Il existe de nombreuses méthodes possibles de correction d'erreur, mais avantageusement l'étape de 35 correction d'erreur comprend une mesure de similarité entre 3059797 16 un segment d'entité et les chaines de caractères du champ de texte des enregistrements du thesaurus. Si, pour un enregistrement particulier du thésaurus, cette mesure de similarité est inférieure à un seuil déterminé, on 5 considère que le segment d'entité comporte une erreur, et on le remplace par la chaine de caractère du champ de texte de l'enregistrement particulier. L'étape de correction peut être exécutée avant 10 l'étape de recherche et dans ce cas exécutée systématiquement, par exemple comme une sous étape de l'étape de traitement. Alternativement, cette étape de correction peut être exécutée après l'étape de recherche, uniquement dans le cas où cette étape de recherche n'a pas 15 abouti pour un segment d'entité, c'est-à-dire que la recherche du segment d'entité dans le thesaurus n'a produit aucun enregistrement concordant. Dans certains cas, il est également possible que le 20 thesaurus ne contienne pas une entité de la liste, même après avoir exécuté une étape de correction d'erreur sur le (ou les) segment d'entité. On peut choisir dans ce cas de mettre à jour le thesaurus par exemple par l'ajout d'un nouvel enregistrement correspondant à cette entité ou par 25 le rattachement d'un segment à un enregistrement déjà existant du thésaurus. Cette situation de mise à jour du thésaurus, représentée en pointillée sur la figure 2, fera l'objet d'une description détaillée dans la partie de l'exposé ayant trait à la constitution du thesaurus. Dans 30 une variante, également détaillée par la suite, la mise à jour du thésaurus est validé, éditée ou réalisé par un utilisateur. Quelles que soient les étapes particulières qui se 35 sont enchaînées, on dispose à l'issue de l'étape de 3059797 17 recherche des références aux enregistrements du thesaurus correspondant aux segments d'entité de la liste, c'est à dire à chaque entité identifiée dans la chaîne de caractères. 5 Dans une étape suivante, on forme une table d'indexation, c'est-à-dire que l'on relie la portion des données sources (ou une référence à cette portion) en cours d'indexation aux enregistrements identifiés dans le 10 thésaurus à l'issue de l'étape précédente. Ainsi, et comme cela est représenté sur la figure 2, à l'issue de cette étape de liaison, on dispose d'une la table d'indexation qui peut présenter deux colonnes, la première colonne permettant de désigner la portion des données textuelles 15 sources qui vient d'être indexée (document, entrée d'une base de données, etc), et une seconde colonne permettant de désigner les enregistrements du thesaurus identifiés au cours des étapes du procédé qui viennent d'être présentées. Chaque ligne de la table d'indexation associe donc une 20 portion des données textuelles et au moins une référence à au moins une entrée du thésaurus d'entité. Lorsque l'on dispose, comme c'est généralement le cas, d'une pluralité de portions de données textuelles à 25 indexer, on peut répéter le procédé d'indexation automatique qui vient d'être présenté pour chacune de ces portions, de sorte à former une table d'indexation reliant chaque portion de données textuelles aux différents niveaux hiérarchiques d'entités que cette portion contient. 30 Identification automatique Selon l'invention, la table d'indexation peut être 35 exploitée dans un procédé d'identification automatique 3059797 18 d'une portion de données textuelles, parmi les données textuelles ayant servi de base à la constitution de l'index. 5 Ce procédé d'identification, représenté sur la figure 3, comporte une première étape d'obtention d'une entité désignée sur laquelle doit porter l'identification. Il peut s'agir par exemple d'obtenir de la part d'un utilisateur la désignation de l'entité servant de base à la 10 section des données qu'ils souhaitent opérer. Sur la figure 3, l'entité « ABC » a été fournie au cours de cette étape. L'entité désignée peut présenter un niveau hiérarchique quelconque : pour poursuivre l'un des exemples 15 précédents, l'utilisateur peut rechercher, lorsque les données textuelles sources sont constituées d'articles scientifiques, les articles pour lesquels l'un au moins des auteurs est affilié au CNRS (de niveau hiérarchique supérieur) ou rechercher les articles pour lesquels l'un au 20 moins des auteurs participe à un laboratoire particulier du CNRS (de niveau hiérarchique inférieur) Le procédé d'identification se poursuit par l'étape de recherche dans le champ de texte du thesaurus d'entités, 25 de l'enregistrement correspondant à l'entité désignée. Sur la figure 3, cette étape fournie une référence à l'enregistrement d'index N du thésaurus. A l'aide de l'index de cet enregistrement, on peut 30 retrouver, au cours d'une étape d'identification, dans la table d'indexation toutes les portions de données textuelles associées à cet enregistrement. Sur la figure 3, cette étape fourni une référence au document Dl, pour indiquer que ce document fait référence à l'entité désignée 35 « ABC ». 3059797 19 Ainsi en combinant l'exploitation du thesaurus d'entité et de la table d'indexation, il est possible de procéder à une recherche dans des données textuelles 5 associées à une entité nommée pouvant présenter plusieurs niveaux hiérarchiques, en faisant porter la recherche sur n'importe quel niveau hiérarchique de l'entité nommée. 10 Élaboration automatique du thesaurus Comme on l'a vu, le thesaurus forme une base de données constituée d'une pluralité d'enregistrements d'entités. Chaque enregistrement associe pour une entité 15 déterminée : - le descriptif normalisé de l'entité déterminée dans un champ désignation ; - au moins une chaine de caractère, extraite des données textuelles, et désignant l'entité nommée, dans un 20 champ de texte; - et, le cas échéant, au moins un lien vers un autre enregistrement du thesaurus correspondant à une entité avec laquelle l'entité déterminée est hiérarchiquement reliée. Ce lien ou ces liens sont placés 25 dans le champ de liaison. L'invention propose un procédé d'élaboration automatique du thesaurus d'entités nommées, une entité nommée pouvant comprendre une pluralité d'entités 30 présentant des niveaux hiérarchiques différents. Les étapes de ce procédé sont schématiquement représentées sur la figure 4. Le procédé traite successivement des portions de 35 données textuelles sources, par exemple des documents issus 3059797 20 d'une collection de documents. Pour chaque portion, le procédé comprend une étape d'extraction, de la portion de données textuelle source, d'une chaîne de caractères désignant une entité nommée. Le procédé d'élaboration 5 automatique comprend également une étape de traitement de la chaîne de caractères pour établir une liste comprenant au moins un segment d'entité. Ces étapes d'extraction et de traitement sont en 10 tous points identiques à celle décrite dans le cadre de l'exposé détaillé du procédé d'indexation automatique, et représentées sur la figure 2. Par souci de brièveté leur description n'est pas renouvelée ici. 15 Pour établir un thesaurus compact et cohérent, et comme cela a été exposé précédemment, l'étape de traitement comprend avantageusement une étape de réécriture et/ou de correction d'erreur des segments d'entités. 20 À l'issue de ces étapes, on dispose donc d'une liste de segments, susceptibles pour certains d'entre eux d'être déjà présent dans le thésaurus. Le procédé d'élaboration automatique du thesaurus comprend donc une étape d'élimination de cette liste de segments d'entité, 25 ceux déjà présents dans le thesaurus. Plus spécifiquement, et pour chaque segment de la liste de segments d'entité, on recherche leur présence dans le champ de texte du thésaurus. S'il existe un enregistrement correspondant dans le thésaurus, on ne retient pas le segment parmi la liste 30 des segments nouveaux. On forme de la sorte une liste épurée, appelée « liste des segments nouveaux ». Sur la figure 4, cette liste est constituée du segment nouveau « ABC ». 3059797 21 Pour chaque segment nouveau de cette liste, on procède à la mise à jour du thésaurus. Il peut s'agir de la création d'un nouvel 5 enregistrement dans le thesaurus, au cours d'une étape de création. La création d'un enregistrement consiste à renseigner dans la base de données formant le thesaurus les champs de désignation et de texte (en utilisant le segment d'entité repéré) et, le cas échéant, le champ de liaison. 10 Alternativement, il peut s'agir, au cours d'une étape d'association, d'associer un segment nouveau à un enregistrement préexistant. L'association consiste à ajouter la chaine de caractère correspondant à un segment 15 nouveau au champ de texte d'un enregistrement. Par exemple, l'étape de correction d'erreur d'un segment peut révéler qu'un segment nouveau n'est pas suffisamment similaire à une chaine de caractère du champ de texte d'un enregistrement existant pour pouvoir être corrigé en cette 20 forme, mais qu'il présente toutefois suffisamment de similarité pour que, en toute hypothèse, le segment nouveau se réfère à la même entité que celle correspondant à cet enregistrement. Il est préférable dans ce cas de procéder à l'association du segment nouveau à cet enregistrement, 25 plutôt que de procéder à la création d'un nouvel enregistrement. Associer un segment nouveau à un enregistrement existant consiste à ajouter la chaine de caractère correspondant au segment d'entité nouveau au champ de texte de l'enregistrement. Sur la figure 4, cette 30 étape d'association a conduit à la mise à jour du champ de texte de l'enregistrement N, avec la chaine « ABC ». On ne peut garantir que le traitement entièrement automatique des données textuelles aboutisse de manière 35 systématique à un thesaurus parfaitement cohérent. Ainsi, 3059797 22 il est possible que certaines erreurs typographiques ne puissent être corrigées purement automatiquement. Dans le cas où il est important de disposer d'un thesaurus très cohérent, on peut prévoir que la mise à jour d'un nouvel 5 enregistrement du thésaurus soit préalablement soumise à la validation, et à l'éventuelle édition, d'un utilisateur. Ainsi, au cours de l'étape de création, un utilisateur peut préférer fournir une forme normalisée de 10 l'entité (champ de désignation) différente de celle proposée (qui correspond au segment d'entité repéré). Par exemple, un utilisateur pourrait préférer utiliser la chaine de caractère « CNRS » comme contenu du champ de désignation plutôt que la chaine « C.N.R.S. » qui formerait 15 un segment nouveau. Selon un second exemple, et manière plus substantielle, un utilisateur pourrait préférer associer un segment nouveau à un enregistrement existant plutôt que de 20 créer un nouvel enregistrement. Par exemple, un utilisateur pourrait préférer associer un segment nouveau « ST Gobain » à un enregistrement préexistant dont les champs de désignation et de texte seraient « Saint Gobain ». 25 Selon un dernier exemple, un utilisateur pourrait souhaiter confirmer une association d'un segment nouveau à un enregistrement existant que propose automatiquement le procédé de l'invention. Il pourrait dans ce cas valider la proposition ou au contraire choisir d'associer le nouveau 30 segment à un autre enregistrement du thésaurus. Les procédés d'élaboration, d'indexation et d'identification qui viennent d'être présentés sont 35 appelés à être mis en oeuvre par un ordinateur. L'invention 3059797 23 porte donc également sur le ou les programmes d'ordinateur contenant des instructions adaptées à la mise en oeuvre de chacune des étapes des procédés précités lorsque le programme est exécuté sur un ordinateur. 5 L'invention trouve une application particulièrement intéressante dans le domaine du traitement de l'information scientifique et technique (articles scientifiques, résumés de colloques, conférences, brevets, ...) ; mais peut 10 également s'appliquer au traitement d'information de tout domaine applicatif, en particulier si cette information est disponible sous la forme de données textuelles, et qu'elle est susceptible d'incorporer des entités nommées présentant plusieurs niveaux hiérarchiques. 15 Bien entendu l'invention n'est pas limitée à l'exemple de mise en oeuvre décrit et on peut y apporter des variantes de réalisation sans sortir du cadre de l'invention tel que défini par les revendications. 20 Ainsi, bien que l'on ait indiqué que certaines données pouvaient être organisées sous la forme de table, l'invention n'est certainement pas limitée à une telle structure de donnée, et elle peut être mise en oeuvre 25 indépendamment de la structure de donnée choisie. On pourra ainsi choisir de structurer les données sous la forme de listes, de listes indexées, de tables, d'objets, de bases de données ou de structure de toute forme, selon le besoin et la circonstance. 30 REVENDICATIONS1. Procédé d'élaboration automatique à partir de données textuelles d'un thesaurus d'entités nommées, une entité nommée pouvant comprendre une pluralité d'entités de niveaux hiérarchiques différents, le thesaurus formant une base de données constituée d'une pluralité d'enregistrements d'entités, chaque enregistrement associant pour une entité déterminée : - une forme normalisée de l'entité déterminée ; - au moins une chaine de caractères extraite des données textuelle et désignant l'entité déterminée - et, le cas échéant, au moins un lien vers un autre enregistrement du thesaurus correspondant à une entité avec laquelle l'entité déterminée est reliée hiérarchiquement ; le procédé d'élaboration automatique du thesaurus comprenant : - une étape d'extraction, à partir des données textuelles, d'une chaîne de caractères désignant une entité nommée ; - une étape de traitement de la chaîne de caractères pour établir une liste comprenant au moins un segment d'entité ; - une étape d'élimination de la liste des segments d'entité déjà présents dans le thesaurus, pour former une liste de segments nouveaux ; - une étape de mise à jour du thesaurus pour chaque segment nouveau de la liste des segments nouveaux. 2. Procédé selon la revendication précédente dans lequel l'étape de traitement comprend une étape de délimitation d'au moins un segment d'entité par identification de signes de ponctuation dans la chaîne de caractères. 3059797 25 3. Procédé selon l'une des revendications précédentes dans lequel l'étape de traitement comprend une étape de détermination du niveau hiérarchique associé à chaque 5 segment d'entité. 4. Procédé selon l'une des revendications précédentes dans lequel l'étape de traitement comprend une étape de réécriture de chaque segment d'entité. 10 5. Procédé selon l'une des revendications précédentes dans laquelle l'étape de traitement comprend l'identification d'amorces types dans chaque segment d'entité, les amorces type étant contenues dans un lexique de 15 traitement. 6. Procédé selon la revendication précédente dans lequel le lexique de traitement associe une amorce type à un niveau hiérarchique et à une règle de réécriture de 20 l'amorce type dans un segment d'entité. 7. Procédé selon la revendication précédente dans lequel l'amorce type est un mot vide et la règle de réécriture consiste à supprimer le mot vide dans le segment 25 d'entité. 8. Procédé selon l'une des revendications précédentes comprenant une étape de correction d'erreurs des segments d'entité. 30 9. Procédé selon l'une des revendications précédentes dans lequel l'étape de mise à jour du thésaurus comprend une étape de création d'un nouvel enregistrement. 3059797 26 10. Procédé selon l'une des revendications 1 à 8 dans lequel l'étape de mise à jour du thésaurus comprend une étape d'association d'un segment nouveau à un enregistrement préexistant. 5 11. Procédé selon l'une des revendications précédentes dans lequel l'étape de mise à jour est soumise à la validation et/ou à la modification préalable d'un utilisateur. 10 12. Procédé d'indexation automatique de données textuelles comprenant : - une étape d'extraction à partir des données textuelles d'une chaîne de caractères désignant une 15 entité nommée pouvant comprendre une pluralité d'entités de niveaux hiérarchiques différents ; - une étape de traitement de la chaîne de caractères pour établir une liste comprenant au moins un segment d'entité; 20 - une étape de recherche, dans un thesaurus d'entités nommées établi à l'aide d'un procédé conforme à l'une des revendications précédentes, d'un enregistrement concordant pour chaque segment d'entité de la liste; 25 - une étape de liaison, dans une table d'indexation, de l'enregistrement concordant ou d'une référence à l'enregistrement concordant avec les données textuelles ou une référence aux données textuelles. 30 13. Procédé d'identification automatique de données textuelles à l'aide d'une table d'indexation obtenue selon un procédé conforme à la revendication précédente, dans lequel le procédé d'identification comprend : - une étape d'obtention d'une entité désignée sur 35 laquelle doit porter l'identification ; 3059797 27 - une étape de recherche, dans le thesaurus d'entités, de l'enregistrement correspondant à l'entité désignée ; - une étape d'identification, à partir de la table 5 d'indexation, des données textuelles associées à l'enregistrement correspondant à l'entité désignée. 14. Programme d'ordinateur contenant des instructions adaptées à la mise en oeuvre de chacune des étapes d'un 10 procédé selon l'une de leurs revendications 1 à 13, lorsque le programme est exécuté sur un ordinateur.