Brevet FR2880715A1 — publié le 20060714

PROCÉDÉ ET SYSTÈME DE CODAGE D'UN TREILLIS REPRÉSENTATIF D'UNE HIÉRARCHIE D'ÉLÉMENTS L'invention concerne un procédé et un système de codage d'un treillis représentatif d'une hiérarchie d'éléments, tels que notamment des concepts primitifs et/ou des concepts définis appartenant à une ontologie. Une ontologie est une entité formée par un ensemble de connaissances, de faits et de règles relatifs à un domaine donné, domaine scientifique, culturel, administratif, savoir faire industriel ou commercial ou autre. Les connaissances, faits et règles précités peuvent inclure une hiérarchie de concepts, lesquels représentent des concepts entre un concept vide, engendré par un prédicat qui n'a pas de sens dans l'ontologie considérée, et un concept universel, permettant de concevoir tous les concepts incorporant l'ontologie considérée. Outre la hiérarchie de concepts précitée, une ontologie peut communément comprendre des prédicats incluant des entités telles que concept, rôle ou prédicat ordinaire. Pour assurer la représentation, à partir d'un codage, d'une hiérarchie de concepts d'une ontologie donnée, la méthode la plus aboutie connue actuellement a été proposée par Monsieur Alain Bidault, confer Thèse n 6932 présentée pour obtenir le grade de docteur es Sciences de l'Université Paris XI Orsay spécialité Informatique par cet auteur, sujet: Affinement de Requêtes posées à un Médiateur au sein du système PICSEL, Paris juillet 2002. Selon la méthode précitée, les informations contenues dans une ontologie donnée sont traduites par des prédicats, lien, association sémantique ou logique entre atomes signifiants pouvant être associés à différentes instances, valeurs spécifiques signifiantes d'une variable ou d'un atome. Un processus de saturation de connaissances, règles, disjonctions, inclusions définitions de l'ontologie permet de calculer les informations implicites au moyen d'un raisonneur, défini pour un langage ou une logique de description précis. Selon la méthode précitée, un concept est un prédicat unaire (n'acceptant qu'un seul argument) avec lequel il est possible de construire des formules logiques de description. Une ontologie comportant un ensemble de concepts et une hiérarchie de concepts peut être représentée sous forme d'un treillis. Un treillis est alors défini comme une relation d'ordre partielle pour laquelle tout couple d'éléments ou concepts (el, e2) possède un élément eS supérieur à un élément eI inférieur commun selon les relations: el eIete2>el. Dans ces relations, les symboles > et L'ordre est partiel, car il n'est pas défini pour tous les éléments. Certains éléments sont hiérarchiquement inférieurs à d'autres, mais certains éléments ne sont pas comparables à d'autres. Un élément peut avoir plusieurs éléments hiérarchiquement supérieurs et inférieurs. La structure de treillis est plus riche qu'une structure d'arbre. En effet, un arbre ne permet pas qu'un élément ait plusieurs pères. Or, si aucun élément ou concept ne peut avoir plusieurs pères, la seule possibilité d'avoir un élément inférieur commun est d'imposer qu'un concept n'ait pas plus d'un fils. On obtient dans ces conditions une hiérarchie en ligne verticale de peu d'intérêt. Un exemple de treillis de concepts décrit en logique de description est donné en relation avec la figure 1 a, exemple dans lequel la relation d'ordre du treillis est la relation d'inclusion c: 1çAOBOCcDcT; 1cGÇT; IcFcEOC; AcE FOB. En outre, ainsi que représenté en figure 1, une flèche allant de Cl à C2 indique que Cl est inclus dans C2. En référence à la figure 1 a et aux relations précédentes, les relations d'ordre ou de hiérarchie s'énoncent relativement au concept A: (i) A est le fils de B et E; (ii) B est le père de A et F; (iii) B, E, A et F sont descendants de C; (iv) B, E, C et D sont les généralisants de A; (v) T est le concept universel; (vi) 1 est le concept vide. La relation d'ordre ou de hiérarchie contient implicitement toutes les relations obtenues par transitivité de la relation d'inclusion telles que pour le concept B: BçD; BÇT. Dans la méthode décrite par le mémoire de thèse précité, un processus de codage est défini pour des noms de prédicats unaires (un seul argument) apparaissant dans des règles simples de la forme Predicatl (x) -' Predicat2(x). Les prédicats précités sont alors comparables à des concepts apparaissant en logique de description dans une hiérarchie de concepts sous la forme Predicatl cPredicat2. Les concepts vide 1 et universel T n'apparaissent toutefois pas explicitement dans la hiérarchie, mais sont supposés présents comme spécialisant des concepts les plus spécialisés respectivement comme généralisant des concepts les plus généraux. Du fait du format des règles à l'origine de la hiérarchie codée, le codage proposé dans le document de thèse précité ne prend en compte que les concepts primitifs, encore désignés concepts de base, à savoir ceux qui n'ont pas de définition sémantique et qui ont pour seule sémantique celle associée à leur position dans le treillis des concepts, soit en définitive au dessus et/ou en dessous d'autres concepts. L'originalité du codage proposé réside dans l'existence d'un identifiant pour chaque concept constitué d'un ou plusieurs labels, en labellisant une suite de caractères alphanumériques compris entre a et z et entre 0 et 9. Chaque label est unique sur le treillis de concepts et correspond à l'existence d'un chemin entre le concept considéré C et le concept universel T au sommet du treillis. Le concept universel T et le concept vide 1 n'ont toutefois pas d'identifiant. A tire d'exemple un codage du treillis de l'ontologie de concepts représentée en figure 1 est énoncé vis-à-vis du concept universel par les relations: D ("a")-G("b")-C ("aa")-B ("aaa")-E("aab")-A("aaaa","aaba")F("aaab","aabb"). Dans l'exemple précité, un label est codé par des caractères alphanumériques appartenant à l'ensemble des lettres de l'alphabet {a,z}. En référence à la figure 1 a, on constate que, relativement au concept A, il existe deux chemins permettant d'aller du concept A au concept universel T, ABCD et AECD. Ceci justifie la présence de deux labels dans l'identifiant du concept A, soit un label par chemin. Le mode de codage décrit dans le mémoire de thèse précité permet ainsi de situer les concepts primitifs au sein d'un treillis de concepts, sans toutefois qu'il soit nécessaire de parcourir le treillis constitué. La position d'un concept primitif dans le treillis précité est ainsi contenue dans l'identifiant de ce dernier, ce qui permet de raisonner à moindre coût sur un ensemble de concepts pour effectuer par exemple des tests de subsomption entre deux éléments ou un calcul de ppcg pour.plus petit commun généralisant. On rappelle ici en outre qu'un test de subsomption consiste à tester l'inclusion d'un concept dans un autre concept. Les résultats obtenus sont conditionnés par l'absence de redondance dans le treillis de concepts et par le respect de la contrainte d'unicité du nom de désignation du concept. Le mode de codage précédemment décrit a fait l'objet d'une mise en oeuvre dans un projet de développement conjoint, dénommé project PICSEL, dans le cadre d'un contrat de recherche entre le Laboratoire de Recherche en Informatique LRI, Orsay 91400, France et la société demanderesse. Le développement précité a été exécuté en langage JAVA , les concepts généralisants et spécialisants étant toutefois stockés dans des vecteurs. D'autres développements destinés à manipuler des structures de données comparables, soit des ontologies définies en logique de description, ont été proposés. Parmi ceux-ci, un module raisonneur désigné Pellet intervient sur une logique de description précise qui comprend des notations spécifiques et une syntaxe. S'inscrivant dans le projet de recherche Mindswap conduit dans le laboratoire de recherche en informatique avancée de l'université du Maryland (Baltimore USA), le module raisonneur précité permet de manipuler une ontologie décrite dans une logique de description large, écrite par exemple en langage OWL Full, et de raisonner sur des ontologies décrites dans une logique de description restreinte à certains opérateurs, écrite par exemple en langage OWL DL ou OWL Lite. On rappelle ici qu'une logique de description est un langage logique (inclus dans la logique du premier ordre) qui permet de décrire des concepts en utilisant des opérateurs logiques entre ces concepts. Le formalisme du langage OWL permet d'exprimer ces logiques de description dans un simple fichier texte. Toutefois, le module raisonneur Pellet nécessite la mise en oeuvre, pour la manipulation d'une ontologie, de trois entités distinctes de stockage et de traitement des informations relatives à une ontologie, transmises via un document OWL. Ces entités sont basées sur des structures de données classiques proposées en langage JAVA et correspondent à des listes d'objets contenues dans des tables ou ensembles de hachage ou des tableaux. Les trois entités précitées sont désignées Tbox, Rbox et Abox. L'entité désignée Tbox contient les propriétés relatives à la logique de description telles que les inclusions entre les concepts ou les définitions de concepts. Chaque concept est identifié par un numéro de classe de type entier, le concept universel T et le concept vide 1 compris, et stocké à la fois dans une table et dans un ensemble de hachage, dont la clé est le nom ou désignation littérale du concept. Le concept universel T est ajouté comme généralisant de chaque concept. La liste des concepts généralisants respectivement des concepts spécialisants d'un concept donné est stockée, pour chaque concept, via une table de hachage dont la clé est également le nom ou désignation littérale du concept. Les tests de subsomption, qui déterminent pour chaque concept s'il généralise un autre concept, sont effectués lors d'une première utilisation, pour initialiser les listes, ce qui nécessite des traitements et des coûts de calcul importants, mais se réduisent ensuite à rechercher un concept comme entrée d'une des tables de hachage. En outre, une hiérarchie d'interfaces est également prévue afin de gérer les différents objets rencontrés dans l'expression des concepts. En effet, la grammaire ou règles syntaxiques associée à une expression de concept étant récursive, il est utile de définir une hiérarchie sur les objets rencontrés dans une expression selon leur type ou s'ils correspondent à une liste d'objets ou à des symboles de fonctions. L'entité désignée Rbox contient les règles ordinaires assimilables à une hiérarchie de propriétés. La hiérarchie de propriétés précitée permet d'associer un concept, via une ou plusieurs propriétés, à un ou plusieurs autres concepts. Le champ d'application des propriétés permet alors d'aller d'un concept général à un concept plus précis, la sous- hiérarchie de concepts induisant la hiérarchie de propriétés. L'entité Rbox précitée permet également d'exprimer une propriété par inférence par unification de valeurs d'objet constitutifs d'arguments de prédicats. Enfin, l'entité désignée Abox contient les faits, à savoir des prédicats associés à des instances. Les développements de l'art antérieur précités présentent les inconvénients ci-après. Le projet PICSEL donne satisfaction, mais s'il permet un codage d'une hiérarchie de concepts primitifs appartenant à une ontologie, les identifiants attribués à chaque concept primitif formés par une ou plusieurs suites de caractères alphanumériques constitués par les lettres de l'alphabet et les chiffres de 0 à 9, limite, de ce fait, la profondeur de la structure de données codée finalement obtenue, alors que la mémorisation des concepts généralisants et spécialisants sous forme de vecteurs implique un accès séquentiel par adressage aux variables constitutives de ce dernier, ce qui implique un coût en termes de calcul en raison directe de la taille de la structure de données ainsi obtenue. Le module raisonneur Pellet implique la mise en oeuvre d'une architecture logicielle complexe nécessitant une première initialisation de structures de listes coûteuse en temps de calcul, afin de permettre, à l'utilisation, des processus de recherche simplifiés opérant sur des tables de hachage et non plus sur le langage logique de description descriptif de l'ontologie. La présente invention a pour objet la mise en oeuvre d'un procédé et d'un système de codage d'un treillis, représentatif d'une hiérarchie d'éléments et formé au moins par une pluralité de noeuds, à chaque noeud du treillis étant associé un élément et son identifiant, ce procédé de codage permettant de s'affranchir des limitations de solutions antérieures nécessitant une initialisation coûteuse en temps de calcul. Un autre objet de la présente invention est également la mise en oeuvre d'un procédé et d'un système de codage d'un treillis représentatif d'une hiérarchie d'éléments et formé au moins par une pluralité de noeuds, à chaque noeud du treillis étant associé un élément et son identifiant, à ce treillis étant associé, du fait du codage de ce dernier, une structure arborescente n-aire récursive permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et cet élément. Un autre objet de la présente invention est en particulier la mise en oeuvre d'un treillis représentatif d'une hiérarchie d'éléments, ces éléments étant des concepts primitifs et des concepts définis d'une hiérarchie de concepts appartenant à une ontologie, ladite ontologie étant associée à une structure arborescente n-aire récursive par l'intermédiaire de ce treillis permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un concept primitif ou défini de cette hiérarchie de concepts, cette structure arborescente n-aire récursive permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un concept primitif ou défini et ce concept primitif ou défini. Un autre objet de la présente invention est en particulier la structure de données arborescente n-aire récursive associée à un treillis d'éléments et/ou à un treillis de concepts primitifs et des concepts définis d'une hiérarchie d'éléments respectivement de concepts appartenant à une ontologie. Le procédé de codage d'un treillis représentatif d'une hiérarchie d'éléments comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associés un élément considéré et son identifiant, cet identifiant étant formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs, cet identifiant incluant toutes les suites d'objets définissant chacune un chemin d'accès de l'un des éléments pères de l'élément considéré à cette borne supérieure, auxquelles est ajouté un objet représentatif de cet élément considéré, objet de l'invention, est remarquable en ce qu'il consiste au moins à établir une structure de données générique hiérarchique par association à ce treillis d'une structure arborescente n-aire récursive, à chaque noeud de cette structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de l'élément considéré. Cette structure de données arborescente est établie sous forme d'une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous la borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et cet élément. Cette structure permet en particulier de tester avantageusement l'appartenance d'un noeud parmi un ensemble de noeud sans pour autant avoir à vérifier chacun des noeuds de cet ensemble. Le procédé de codage d'un treillis, objet de l'invention, est en outre remarquable en ce que les éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, cette hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure clu treillis, les suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers. En fixant des concepts comme noeuds de la structure précédente, la structure permet de manipuler avantageusement des ensembles de concepts pour effectuer des tests d'appartenance ou des recherches de concepts remarquables pour cet ensemble tels que les plus généraux ou les plus spécifiques par exemple. Le procédé de codage d'un treillis, objet de l'invention, est en outre remarquable en ce qu'il consiste, lorsque les éléments du treillis sont issus d'une hiérarchie de concepts appartenant à une ontologie, cette hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini, à établir une structure de données lexicale spécifique par association des concepts primitifs ou définis à ce treillis, via une table de hachage dont la clé est la dénomination du concept dans cette structure de données générique hiérarchique et dans laquelle figurent les seuls chemins d'accès entre ce concept et le concept universel. Cette redondance d'information obtenue par le croisement des données permet de tester avantageusement des propriétés entre deux concepts ou sur un ensemble de concepts telles que la subsomption par exemple. La structure de données de représentation codée d'un treillis représentatif d'une hiérarchie d'éléments, objet de l'invention, ce treillis comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associés un élément considéré et un identifiant, cet identifiant étant formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs, cet identifiant incluant toutes les suites d'objets définissant chacune un chemin d'accès de l'un des éléments pères de cet élément considéré à cette borne supérieure, auxquelles est ajouté un objet représentatif de cet élément considéré, objet de l'invention, est remarquable en ce qu'elle comprend au moins une structure de données générique hiérarchique associée à ce treillis sous forme d'une structure arborescente n-aire récursive. A chaque noeud de la structure arborescente sont associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de cet élément. La structure de donnés arborescente est constituée par une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous cette borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et cet élément. La structure de données, objet de l'invention, précitée est en outre remarquable en ce que les éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, cette hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis, les suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers. La structure de données, objet de l'invention précitée, dans laquelle les éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, cette hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis, les suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers, est en outre remarquable en ce qu'elle comporte une structure de données lexicale spécifique formée par association des concepts primitifs ou définis à ce treillis via une table de hachage dont la clé est la dénomination dudit concept dans la structure de données générique hiérarchique précitée et dans laquelle seuls figurent les chemins d'accès entre ce concept et le concept universel. Le procédé et le dispositif de codage d'un treillis représentatif d'une hiérarchie d'éléments et la structure de données engendrées par la mise en oeuvre du procédé et/ou du dispositif de codage, objets de la présente invention., trouvent application à la création, la gestion de consultations d'ontologies comportant une hiérarchie d'éléments, représentés sous forme d'un treillis, les ontologies précitées pouvant être relatives à tout domaine de connaissance utilisable dans l'industrie et/ou l'économie. Ils seront mieux compris à la lecture de la description et à l'observation des dessins ci-après, dans lesquels, outre la figure 1 a relative à un treillis codé selon un processus de l'art antérieur, la figure lb représente, à titre illustratif, les étapes essentielles de mise en oeuvre du procédé de codage d'un treillis représentatif d'une hiérarchie d"éléments, objet de la présente invention, lorsque ce treillis comprend au moins une pluralité de noeuds à chaque noud du treillis étant associé un élément considéré et son identifiant, cet identifiant étant formé par au moins une suite d'objets; la figure 2a représente, à titre illustratif, un treillis représentatif d'une hiérarchie d'éléments dans le cas particulier de la figure 1 a où, chaque élément est formé par un concept primitif ou par un concept défini, à chaque noeud du treillis étant associé un concept primitif ou défini et son identifiant, cet identifiant étant formé plus particulièrement par au moins une suite d'objets, chaque suite d'objets étant constituée par une suite d'entiers; - la figure 2b représente, à titre illustratif, un processus d'établissement d'une structure de données générique hiérarchique, conformément au procédé de codage objet de l'invention représenté en figure lb, dans le cas spécifique non limitatif de la figure 2a, cette structure de données générique hiérarchique étant représentée, sur la figure 2b, selon une structure arborescente n-aire récursive non totalement déployée; la figure 2c représente, à titre illustratif, un processus d'établissement d'une structure de données générique hiérarchique, correspondant au processus de la figure 2b, dans lequel, toutefois, cette structure de données générique hiérarchique est représentée selon une structure arborescente n-aire récursive totalement déployée; - la figure 3 représente, à titre illustratif, les étapes essentielles complémentaires de mise en oeuvre du procédé de codage d'un treillis représentatif d'une hiérarchie de concepts, objet de la présente invention, ces étapes complémentaires ayant pour objet d'établir en outre une structure de données lexicale spécifique, permettant de mettre en correspondance directe la dénomination des concepts primitifs et/ou définis et les chemins d'accès entre le concept primitif ou défini et le concept universel; la figure 4a représente, à titre illustratif, la structure concrète de la structure de données générique hiérarchique représentée en figure 2b, à partir de tables de hachages successives, imbriquées, cette structure de données constituant elle-même une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous la borne supérieure du treillis; - 12 - la figure 4b représente, à titre illustratif, la structure concrète de la structure de données lexicale spécifique associée à la structure de données générique hiérarchique représentée en figure 4a, suite à la mise en oeuvre des étapes complémentaires illustrées en figure 3; la figure 5a représente, à titre illustratif, un premier exemple d'utilisation d'une structure de données générique hiérarchique, objet de la présente invention, dans une application à la mise en oeuvre d'un dictionnaire des synonymes; la figure 5b représente, à titre illustratif, un deuxième exemple d'utilisation d'une structure de données générique hiérarchique, objet de la présente invention, dans une autre application à la mise en oeuvre d'un arbre généalogique; la figure 5c représente, à titre illustratif, un exemple de calcul de chemin d'accès actuel d'un concept à partir de la structure de données générique hiérarchique représentée en figure 4a; -la figure 5d représente, à titre illustratif, un exemple de calcul d'un nouveau chemin d'accès et de l'identifiant, par fusion d'une de deux chemins d'accès relatifs à un même concept; la figure 6a représente, à titre illustratif, sous forme d'un schéma fonctionnel, un dispositif de codage d'un treillis représentatif d'éléments, conforme à l'objet de la présente invention; la figure 6b représente, à titre illustratif, sous forme d'un schéma fonctionnel, un dispositif de consultation et d'interprétation d'un treillis représentatif d'une hiérarchie d'éléments, conforme à l'objet de la présente invention. Une description plus détaillée du procédé de codage d'un treillis représentatif d'une hiérarchie d'éléments, conforme à l'objet de la présente invention sera maintenant donnée en liaison avec la figure lb. D'une manière générale, on considère un treillis quelconque représentatif d'une hiérarchie d'éléments les éléments précités pouvant être de toute nature et, en particulier, des ensembles discrets ou non d'objets vérifiant une relation de hiérarchie de la forme: {1 - 13 - D'une manière générale, on indique que, la hiérarchie d'éléments correspond à une hiérarchie au moins de dépendance entre éléments, sinon d'inclusion, telle que décrite dans le mémoire de thèse de doctorat numéro d'ordre 6932 Université Paris Sud XI, présentée par Monsieur Alain Bidault et intitulée " Affinement de Requêtes posées à un Médiateur". On comprend, en particulier, que lorsque la hiérarchie d'éléments précités est relative à des concepts primitifs comme dans le cadre du mémoire de thèse précédemment mentionné, alors la relation hiérarchique entre éléments est une relation d'inclusion. On rappelle en référence à la figure 1 a que le treillis comporte une pluralité de noeuds et qu'à chaque noeud du treillis est associé un élément considéré représenté de A à G sur la figure 1 a précitée et de son identifiant, l'identifiant étant formé par au moins une suite d'objets. De manière non limitative en liaison avec la figure la, on rappelle que chaque objet formant une suite d'objets incluse dans un identifiant peut être un caractère alphanumérique tel qu'une lettre de l'alphabet ou un nombre entier par exemple. Enfin, chaque suite d'objets définit un chemin d'accès entre la borne supérieure du treillis, c'est-à-dire le concept universel T dans le cas non limitatif d'un treillis de concepts primitifs tel que décrit dans le mémoire de thèse précité et l'élément considéré tel que l'un des élémentsA à G de la figure la par l'intermédiaire des éléments pères successifs. On rappelle que dans ces conditions la notion d'élément père correspond à la notion d'un élément vis-à-vis duquel tout autre élément satisfait à la relation de dépendance telle que décrite précédemment. En référence à la même figure l a, on rappelle que l'identifiant associé à chacun des noeuds du treillis inclut toutes les suites d'objets définissant chacune un chemin d'accès de l'un des éléments pères de l'élément considéré, soit l'élément E par exemple, c'est-à-dire l'élément C père de l'élément E sur la figure la, à la borne supérieure, le concept universel T dans le cas non limitatif précité, auquel est ajouté un objet représentatif de l'élément considéré, c'est-à-dire l'objet b dans le cas spécifique de l'élément E fils de l'élément C selon la convention adoptée. En référence à la figure la, on indique que chaque identifiant associé à un des éléments considérés du treillis, cet élément étant noté Oi par exemple, est noté IDi pour désigner l'identifiant considéré. Ainsi, pour l'élément A, l'identifiant IDi est égal à [aaaa aaba]. En référence à la figure lb, le procédé de codage, objet de l'invention, consiste pour tout élément Oi du treillis associé à un noeud Ni correspondant, i étant arbitraire, à établir, en une étape A, une structure de données générique hiérarchique par association au treillis d'une structure arborescente n-aire récursive, à chaque noeud Ni de la structure arborescente étant associé un élément Oi du treillis et une table de hachage notée hi(C,) à laquelle est attribuée une clé Ci formée par l'objet représentatif de l'élément Oi considéré. Ainsi, à l'étape A de la figure lb on associe à chaque noeud Ni du treillis 15 l'objet correspondant à ce noeud Oi et une table de hachage hi(Ci) et bien entendu l'identifiant IDi. Une telle association peut être effectuée pour tout niveau successif et pour tout noeud dans ce niveau de valeur n, comprise entre une valeur de départ telle que par exemple n=0 pour la borne supérieure du treillis et n=nf pour la borne inférieure du treillis, chaque élément et finalement chaque noeud du treillis d'un même niveau n étant soumis à une association correspondant à l'étape A. L'étape A est bien entendu répétée successivement pour chaque niveau n et bien sur pour chaque élément Oi associé à un noeud Ni correspondant de manière récursive. Ainsi, dans ce but, l'étape A réalisée pour chaque niveau n peut être suivie avantageusement d'une étape de test B consistant à vérifier l'absence d'identification de l'élément Oi considéré à la borne inférieure du treillis. Cette opération est représentée par la relation: Oi =1 ? à l'étape B de la figure lb. - 15 - Sur réponse négative au test de l'étape B, une étape C est appelée laquelle consiste au passage au niveau suivant par l'incrémentation n=n+1 et un retour à l'étape A pour exécution d'établissement successive de la structure arborescente. Au contraire, sur réponse positive au test B, lorsque la borne inférieure du treillis est atteinte, on dispose de la structure de données hiérarchique exécutée sous forme d'une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sur la borne supérieure T du treillis. La structure de données arborescente obtenue sous forme d'une table de hachage récursive est notée H {Ni, Oi, hi(Ci), . La table de hachage récursive précitée comporte autant d'entrées qu'il existe de noeuds fils successifs sous la borne supérieure T du treillis et permet d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et l'élément considéré, ainsi qu'il sera décrit ultérieurement dans la description. En particulier, on conçoit que compte tenu du choix de la clé C; attribuée à chaque table de hachage, cette clé permet un accès direct à l'élément O; auquel la table de hachage est associée par l'intermédiaire du noeud Ni du treillis et bien entendu à l'identifiant ID, correspondant. D'une manière générale, on indique qu'une table de hachage est une entité informatique codée qui permet d'étendre la structure classique de tableaux ou de listes avec des traitements plus rapides et qui permet donc d'obtenir des résultats beaucoup plus significatifs. Une telle entité informatique codée permet de manipuler des objets de taille variable et finalement tout objet O; associé à chaque table h, (C,) en accédant directement à l'objet par l'intermédiaire de la clé C,, laquelle peut être constituée elle-même par un objet et en particulier par un caractère, une chaîne de caractères ou autre ainsi qu'il sera décrit ci-après. Le procédé, objet de la présente invention, trouve application à des treillis de forme très générale et relatifs à des éléments quelconques, pourvu que les éléments précités satisfassent une relation de dépendance ainsi que mentionné précédemment dans la description. La notion de relation de dépendance peut être par exemple celle relative à la relation lexicale de mots dans un dictionnaire, en fonction de la succession de lettres qui composent ces mots, à l'organisation d'une famille humaine en fonction de la succession de parents qui a abouti à un membre de la famille ou autre, ainsi qu'il sera décrit ultérieurement dans la description. Toutefois, la relation de dépendance précitée permet une mise en oeuvre particulièrement avantageuse du procédé de codage objet de la présente invention lorsque cette relation de dépendance est une relation d'ordre partiel par exemple, ou, le cas échéant, une relation d'ordre total et, en particulier, lorsqu'un treillis de concepts incluant des concepts primitifs et au moins un concept défini a fait l'objet d'un codage par numérotation semblable à celui décrit précédemment dans la description et que les identifiants, c'est-à-dire les suites d'objets associés à chacun des noeuds du treillis et bien entendu du concept associé à ce dernier, concept primitif ou défini, sont formés par des suites d'entiers exclusivement. Un tel processus de codage a, en particulier, été décrit dans la demande de brevet français n FR 05 07326 intitulée "Procédé et système de codage sous forme d'un treillis d'une hiérarchie de concepts appartenant à une ontologie", déposée au nom de la demanderesse le 8 juillet 2005. En liaison avec la demande de brevet précitée, on rappelle que le processus de codage du treillis décrit permet un codage par numérotation des concepts primitifs et/ou définis apparaissant en logique de description dans un treillis de concepts. Les relations de ce treillis sont de la forme: concept 1 ç concept 2 où ç est la relation de subsomption, c'est-à-dire de généralisation entre deux concepts. Dans ces conditions, la borne supérieure du treillis est le concept universel T et la borne inférieure du treillis est le concept vide 1, lesquels n'apparaissent pas 30 explicitement dans la hiérarchie des concepts. Le concept universel T et le concept vide 1 sont toutefois supposés présents comme spécialisant et généralisant des concepts les plus spécialisés et les plus généraux. Pour une description plus détaillée du procédé de codage mis en oeuvre dans la demande de brevet précitée, on pourra utilement se reporter à la demande de brevet en tant que telle ou auprès du titulaire de cette dernière, le cas échéant. Le procédé de codage par numérotation précité à partir de suites de nombres entiers apparaît avantageux dans la mesure où ce procédé de codage permet de retrouver tous les généralisants d'un concept C et ses descendants en parcourant l'identifiant du concept C et la liste des concepts. Il est en outre possible de connaître les nombres maximal et minimal d'arcs qui séparent chaque concept du concept universel T et, par conséquent, sa profondeur dans le treillis. Le codage par numérotation précitée permet également d'effectuer un test de subsomption entre deux concepts. On rappelle ici qu'un test de subsomption est un calcul complexe dans une ontologie décrite en logique de description et qui permet de déterminer si les instances d'un concept sont incluses ou non dans celle d'un autre concept en se basant sur la définition des concepts. On rappelle enfin, que le procédé de codage par numérotation précité décrit dans la demande de brevet précitée permet en outre de déterminer les plus petit commun généralisants encore désignés ppcg de deux concepts Cl et C2. Cet ensemble des généralisants communs contient tous les concepts qui subsument à la fois Cl et C2. Le plus petit commun généralisant ppcg est le plus grand sous-ensemble tel qu'aucun concept du plus petit commun généralisant ne subsume un autre concept du plus petit commun généralisant et tel qu'aucun concept du plus petit commun généralisant ne subsume un concept de l'ensemble "reste". En particulier, le plus petit commun généralisant ppcg de deux concepts peut être directement accessible dans une ontologie saturée grâce au codage par numérotation décrit dans la demande de brevet précitée. Il est en outre facile d'étendre le calcul de plus petit commun généralisant ppcg de 2 à n concepts par calcul de préfixes communs entre deux concepts. Le procédé, objet de l'invention, lorsque ce dernier est appliqué à un treillis de concepts primitifs et/ou définis sera maintenant décrit en liaison avec la figure 2a. Sur la figure 2a on a représenté le treillis de la figure la dans lequel ont en outre été ajoutés des concepts définis H et I et leurs identifiant respectifs. Ainsi, en référence à la figure 2a: H[113 23] I[1131 231] représentent les concepts définis H et I et leurs identifiants formés par les suites de nombres entiers 113 23 et 1131 231 respectivement. On note que de manière spécifique les arcs reliant les concepts définis du treillis aux autres concepts primitifs C et G par exemple de ce même treillis sont représentés en pointillés de manière non limitative. Le procédé de codage, objet de la présente invention, tel que mis en oeuvre conformément au mode de réalisation précédemment décrit avec la figure lb sera maintenant décrit et explicité en liaison avec la figure 2b, lorsque ce procédé est mis en oeuvre sur le treillis représenté en figure 2a. Lors de la mise en oeuvre des étapes A, B, C, D de la figure lb, l'on procède ainsi à l'association à chaque noeud N, et pour les niveaux successifs n ainsi que précédemment décrit, de chaque élément O; correspondant aux concepts primitifs A à G et aux concepts définis H et 1, à chaque noeud du treillis Ni, i étant un indice arbitraire, étant associée une table de hachage h,(C;) l'identifiant étant bien entendu maintenu. Ainsi, par la mise en oeuvre du procédé objet de l'invention, on obtient, ainsi que représenté en figure 2b, une structure arborescente n- aire récursive, dans laquelle, à chaque noeud, est associé un élément et une table de hachage à laquelle est attribuée la clé C; formée par l'objet représentatif de l'élément, c'est-à-dire en l'occurrence l'entier représentatif du concept primitif ou défini correspondant, cet entier correspondant à l'entier ajouté représentatif du concept primitif ou défini au chemin d'accès d'un des éléments pères du concept primitif ou défini considéré jusqu'au concept universel T. En conséquence et en référence à la figure 2b, les entités associées à chaque noeud Ni s'écrivent en liaison avec la figure 2a: N {D,hi(1),[1]} N2{G,h2(2),[2]} N3{C,h3(1),[11]} N4{B,h4(1),[111]} N5 {E,hs(2),[ 112] } N6{H,h6(3),[113 23]} N7 {A,h7(1),[ 1111 1121] } N8 {F,h8(2), [ 1112 1122] } N9{I,h9(1), [1131 231]}. On constate, à l'observation de la figure 2a, que du fait du codage ainsi exécuté, on a établi une structure de données générique hiérarchique formée par une structure arborescente n-aire non totalement déployée, dans la mesure où à chaque noeud Ni peuvent correspondre plusieurs chemins d'accès, les chemins d'accès 1112 et 1122 pour le noeud N8, c'est-à-dire pour le concept F par exemple. Une structure n-aire totalement déployée est représentée en figure 2c, laquelle correspond à la structure n-aire de la figure 2b dans laquelle, toutefois, à chaque chemin d'accès pour un noeud considéré est représenté un noeud spécifique les noeuds N6, N7, N8 et N9 relatifs au concepts H, A, F et I étant ainsi déployés pour représenter un seul noeud par chemin d'accès. On comprend ainsi que deux noeuds tels que N7 et N'7 par exemple, qui bien entendu ont des chemins d'accès différents, comportent toutefois une table de hachage semblable h7, laquelle, bien entendu, comprend la même valeur de clé, l'entier 1, ainsi que représenté sur la figure 2c. Il en est de même pour ce qui concerne les noeuds N8 et N'8, N9 et N'9 et N6 et N'6. La structure arborescente n-aire représentée en figure 2c est alors totalement déployée, c'est-à-dire qu'à chaque chemin d'accès correspond un noeud et un seul même si deux noeuds ou plusieurs noeuds peuvent avoir des tables de hachage - 20 - semblables car relatives au même concept et présentant en conséquence une même valeur de clé. Enfin, en ce qui concerne la mise en oeuvre de la structure générique hiérarchique précitée, on indique que pour constituer cette dernière, le procédé de codage, objet de l'invention, consiste en fait à former les branches de cette structure de données par les variables d'entrée de chaque table de hachage, chacune des branches étant définie par la clé de la table de hachage associée à son noeud père et de la table de hachage permettant d'associer chacune des branches avec ses noeuds fils. Chaque table de hachage comporte ainsi un pointeur vers la table de hachage associée au noeud fils correspondant, successivement, ainsi qu'il sera décrit ultérieurement dans la description. En outre, le procédé de codage objet de l'invention consiste enfin à répertorier les noeuds de la structure de données arborescente et les concepts primitifs ou définis associés à ces derniers en niveau de même profondeur vis-à-vis du noeud racine. Ceci permet d'obtenir, après déploiement total, la structure de dormées telle que représentée en figure 2c. Enfin, on indique que dans un mode de mise en oeuvre préférentiel non limitatif, les variables d'entrée formant la clé de chaque table de hachage sont avantageusement constituées par des entiers engendrés par ordre croissant au pas de 1. Ainsi, chaque identifiant comporte au moins un chemin d'accès à un noeud de la structure arborescente et au concept primitif et/ou défini correspondant formé par une suite de nombres entiers. La structure de données ainsi obtenue, telle que représentée en figure 2c permet facilement de générer un chemin, c'est-à-dire un élément constitutif de l'identifiant associé à un concept correspondant effectivement à l'emplacement d'un concept primitif ou défini au sein du treillis, de compléter ou amputer des chemins de compléter des identifiants et finalement d'accéder à chaque chemin d'un identifiant, de retrouver un concept à partir d'un des chemins de son identifiant et de comparer les préfixes de différents chemins. L'ensemble des propriétés précitées sont alors particulièrement avantageuses car elles permettent de retrouver efficacement et rapidement les pères, fils, frères et autres concepts proches d'un autre concept et, finalement, permettent de déterminer si un concept en subsume un autre ou non. Les propriétés précitées permettent en outre de manière particulièrement avantageuse de déterminer les plus petit commun généralisant ppcg de plusieurs concepts. En outre, et grâce au procédé de codage objet de la présente invention, l'introduction de tables de hachage dans la structure de données hiérarchie générique permet d'obtenir un gain de temps de traitement important grâce aux accès par l'intermédiaire des cartes de hachage précitées. D'une manière plus spécifique, on indique que les tables de hachage hi(C,) peuvent être constitués par des tables de hachage de classe HashMap en langage JAVA qui sont potentiellement plus efficaces qu'une recherche de préfixes sur plusieurs chaînes de caractères. En outre et selon un aspect plus spécifique et particulièrement avantageux du procédé de codage objet de l'invention, on indique que le fait d'exécuter une duplication d'une partie de l'information au sein même de la structure de données, cette duplication pouvant correspondre en un premier temps à l'association pour chaque concept primitif ou défini non seulement de l'identifiant ID, mais également de la valeur de clé de hachage dont la valeur est nécessairement le dernier entier de la suite d'entiers constitutifs des chemins représentant l'identifiant permet d'accéder à une information déterminée telle que l'identifiant d'un concept, le concept lui-même le nombre de chemins qu'il contient ses généralisants ou autre en fonction du traitement à effectuer, ainsi qu'il sera décrit ultérieurement dans la description. En outre, le procédé de codage objet de la présente invention apparaît particulièrement avantageux dans la mesure où il permet d'introduire un gain de généricité du domaine à savoir un relâchement des contraintes de mise en oeuvre quelque soit le langage utilisé et, en particulier, sur les points ci-après: - 22 - bien que le nombre de noeuds fixes d'un concept reste limité car ce nombre est imposé par le nombre de valeurs différentes que peuvent prendre les caractères à écrire, le fait d'utiliser des suites d'entiers pour constituer les identifiants permet de repousser la limite des techniques de l'art antérieur. En effet, la limite imposée par les contraintes de codage des identifiants est maintenant celle relative au nombre d'entiers différents codés par le type choisi, par exemple 256 valeurs sur un octet, c'est-à-dire 256 fils envisageables pour un concept en n'utilisant qu'un seul octet par caractère; dans la technique antérieure, la taille d'un chemin dont la profondeur de la hiérarchie pouvait être majorée par la longueur maximale du type chaîne de caractères. En effet, par exemple dans certains compilateurs Pascal, une limite peut être imposée correspondant à la taille maximale des ensembles d'objets, limite qui est généralement petite. Grâce au procédé objet de l'invention, le nombre de caractères d'un chemin n'est plus majoré que par la mémoire libre. En référence à la notion de duplication d'une partie de l'information au sein de la même structure de données, afin de permettre d'accéder à une information spécifique, ainsi que mentionné précédemment dans la description, un mode de mise en oeuvre préférentiel non limitatif du procédé de codage objet de l'invention, sera maintenant décrit en liaison avec la figure 3. Le processus de codage décrit en liaison avec la figure 3 s'ajoute au processus de codage décrit en liaison avec la figure lb et complète ce dernier. En effet, en référence à la figure 3 précitée, lorsque les éléments du treillis sont issus d'une hiérarchie de concepts appartenant à une ontologie et que le treillis codé est un des treillis dans lesquels les suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers, alors le procédé, objet de l'invention, peut en outre consister, avantageusement, à établir une structure de données lexicale spécifique, par association des concepts primitifs ou définis au treillis via une table de hachage dont la clé est la dénomination du concept dans la structure de données générique hiérarchique, les information codées dans la nouvelle - 23 - table de hachage étant alors les seuls chemins d'accès entre le concept primitif ou défini et le concept universel. Ainsi, en référence à la figure 3 on considère, par exemple, la structure de données générique hiérarchique telle que représentée en figure 2c, c'est-à-dire la structure: H{PCi,DCk,h;(C;),ID;}. Dans la structure générique hiérarchique précitée, PC; désigne les concepts primitifs et DCk désigne les concepts définis. Chacun dispose d'une table de hachage notée de manière générique h;(Ci) et d'un identifiant IDi. Bien entendu, les concepts primitifs et définis précités vérifient la relation d'ordre: {1cPC;,DCkOT}. On conçoit, en particulier, que l'établissement de la structure de données lexicale spécifique peut alors être exécutée avantageusement à partir de la, structure générique hiérarchique, telle que représentée par exemple en figure 2c, par parcours des noeuds successifs et, en particulier, des niveaux n tels que représentés par exemple en figure 2c. Le procédé, objet de l'invention, pour l'établissement de la structure de données lexicale spécifique, consiste alors, ainsi que représenté sur la figure 3 en une étape E à partir des noeuds et des concepts primitifs PC; et définis DCk et de leurs identifiants ID; à établir la table de hachage notée T[("PC;",CH;)/("DCk",CHk)]. L'étape E est exécuté pour tous les noeuds d'un même niveau n et peut alors être suivie d'une étape F consistant à vérifier qu'aucun des concepts du niveau suivant n'est constitué par le concept vide. Cette opération à l'étape F est notée: n PC;, Dk=1 ? Sur réponse négative au test F une étape G est appelée laquelle consiste à passer au niveau suivant n=n+1 pour réitérer l'étape E sur les noeuds du niveau n+l. L'opération est poursuivie tant que le concept vide n'est pas atteint. - 24 - Sur atteinte du concept vide, c'est-à-dire en réponse positive à l'étape F de la figure 3, l'opération d'établissement de la structure de données lexicale spécifique est alors terminée et l'on dispose de la structure précitée noté : T[("PCi",CHi)/("DCk",CHk)]. En référence à la figure 3 on indique que dans la structure de données lexicale spécifique: "PCi" désigne la dénomination du concept PCi, "DCk" désigne la dénomination du concept défini DCk, CHi désigne l'ensemble des chemins d'accès au concept primitif PCi à partir du concept universel T, CHk désigne l'ensemble des chemins d'accès au concept défini DCk à partir du concept universel T. On comprend que le processus de codage représenté en figure 3 consiste ainsi à établir une structure de données lexicale spécifique par association des concepts primitifs ou définis au treillis d'une part, et, d'autre part, à un tableau de tableaux de nombres entiers qui représentent les chemins d'accès entre 1,e concept considéré et le concept universel. Sur la figure 3, le tableau de tableaux de nombres entiers et noté : T[("PCi",CHi)/("DCk",CHk)]. Une description plus détaillée d'une structure de données générique hiérarchique de représentation codée d'un treillis représentative d'une hiérarchie d'éléments, ce treillis comportant au moins une pluralité de noeuds et à chaque noeud du treillis étant associé un élément considéré et un identifiant, sera maintenant donné en liaison avec la figure 4a. Dans le cadre de la description de la figure 4a, on indique que la structure de données, objet de l'invention, comprend au moins la structure de données générique hiérarchique associée au treillis sous forme d'une structure arborescente n-aire récursive, à chaque noeud de la structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de l'élément considéré. La structure de données arborescente est elle-même constituée 25 - par une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous la borne supérieure permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et l'élément considéré. On comprend ainsi que la structure de données générique hiérarchique précitée correspond bien entendu à la structure arborescente représentée en figure 2c. En outre, cette structure regroupe les propriétés d'une table ou carte de hachage et d'un arbre n-aire et est appelée en conséquence HashMaptree. En effet, la structure récursive classique des arbres n-aires a été complétée, conformément à l'objet de l'invention, par des optimisations obtenues grâce aux clés des cartes de hachage. Par analogie, la racine de la structure arborescente n-aire récursive correspond à la carte de hachage globale par exemple et un noeud, constitué d'un objet porteur d'informations, est représenté sur la figure 4a par le caractère étoile (*) et par une carte de hachage représentée sur la figure 4a par un carré (0). Les branches sont constituées par les différentes entrées des tables de hachage. Les feuilles sont les noeuds dont la carte de hachage est vide. Une carte de hachage vide est symbolisée par une croix dans le carré correspondant ( ). On comprend ainsi que le symbole * représente un objet quelconque dont le type peut être fixé par les classes héritières de HashMaptree. L'objet représenté par l'étoile précitée correspond aux objets porteurs d'informations dans la structure de données, c'est-à-dire aux objets tels que les mots d'un dictionnaire ainsi que décrit précédemment en liaison avec les figures la et lb, sinon à un concept primitif ou défini ainsi que décrit précédemment en liaison avec les figures 2a, 2b, 2c. En outre, les valeurs de clé de la table de hachage représentées par un entier sur la figure 4a peuvent avoir n'importe quel type, caractère, chaîne de caractères ou autre, mais également la valeur d'un entier dans le mode de représentation de la figure 4a précitée. Ce type est fixé dans les classes héritières par exemple. - 26 - En référence à la figure 4a et, bien entendu, aux figures 2b et en particulier 2c, on comprend que les clés mises bout à bout et les valeurs sous forme d'entiers permettent d'obtenir les chemins d'accès aux objets porteurs d'informations. En référence à la figure 4a, le noeud entouré est relié au noeud racine représenté virtuellement par NR par trois entrées. La première est celle de la clé 1 de la première table de hachage également représentée en figure 2c et désignée hl(1) au noeud N1. la deuxième celle de la clé 1 de la table de hachage h3(1) du noeud N3 et la troisième correspond à l'entrée de la clé 3, c'est-à-dire de la table de hachage h6(3) du noeud N6 de la figure 2c. Le noeud entouré sur la figure 4a correspond à l'entrée 3 de la troisième carte de hachage désignée h6(3) sur la figure 2c. Le chemin d'accès associé aux informations contenues dans la table de hachage, dont le chemin d'accès est 113, n'est autre que le concept H tel que représenté au noeud N6 de la figure 2c. Le chemin d'accès correspondant est bien le chemin 113 qui est de taille ou profondeur 3. On indique que la taille désigne le degré de filiation par rapport au noeud racine. En référence à la figure 4a, et, bien entendu, à la figure 2c qui représente la structure arborescente n-aire correspondante, cette structure représente un découpage en strates successives, c'est-à-dire en niveaux de profondeur successifs, et constitue donc une structure arborescente très proche de l'organisation intrinsèque des concepts d'une ontologie. Les clés d'accès à la table de hachage constitutive de la. structure arborescente générique hiérarchique précitée sont directement comparables aux identifiants obtenus par codage par numérotation des concepts primitifs et définis décrits dans la demande de brevet mentionnéeprécédemment dans la description. On conçoit ainsi que la structure de données arborescente de type n-aire générique hiérarchique permet de retourner un concept à partir d'un chemin de son identifiant. En effet, en référence aux figures 2c et 4a par exemple, pour obtenir un concept à partir de la structure arborescente générique hiérarchique précitée, il suffit d'accéder au noeud auquel le concept demandé est associé, en particulier, par le chemin d'accès ou respectivement par les clés successives des tables de hachage qui - 27 - représentent le chemin d'accès précité. Enfin, on rappelle que, en référence à la figure 4a, les noeuds dont la carte de hachage est vide, constituent les feuilles de la structure arborescente et sont représentés sur la figure précitée par une croix dans]la table de hachage correspondante. Au contraire, toute information symbolisée par une étoile présente dans la table de hachage, constitue l'information relative aux concepts mémorisés, c'est-à-dire les concepts A à I représentés en figure 2a. La structure de données générique hiérarchique représentée en figure 4a, du fait de l'implémentation de cette dernière sous forme de tables de hachage, permet une exploitation optimale du codage par numérotation des concepts primitifs et/ou définis d'une ontologie. La carte de hachage générique hiérarchique est ainsi une carte générique centrée sur des suites d'entiers d'un chemin d'accès, pour obtenir les concepts correspondants. Toutefois, grâce à la mise en oeuvre du procédé objet de l'invention tel que représenté en figure 3 et en particulier du processus de codage d'une table de hachage lexicale spécifique, on indique, en référence à la figure 4b, que cette carte est une carte complémentaire permettant d'optimiser l'exploitation de toute ontologie codée par numérotation ainsi que mentionné précédemment en référence à la demande de brevet au nom de la demanderesse citée dans la description. En référence à la figure 4b, l'on constate que la table de hachage lexicale spécifique est formée par un tableau de tableaux d'entiers auquel sont associés la dénomination des concepts appartenant à l'ontologie, et, en particulier, au treillis correspondant, tel que celui représenté en figure 2c par exemple. Ainsi, on constate qu'à chaque nom de concept tel que: "PCi"=A,B,C, D,E,F,G,H,I par exemple est associé un ou plusieurs tableaux d'entiers représentant les chemins d'accès au concept dont la dénomination correspondante est désignée à partir du noeud NR racine, c'est-à-dire finalement du concept universel. Ainsi, et conformément à un aspect remarquable du procédé de codage objet de la présente invention, la première structure de données générique hiérarchique, représentée en figure 4a, est une table de hachage générique centrée sur Iles suites - 28 - d'entiers sur les chemins pour obtenir les concepts et la deuxième structure de données lexicale spécifique est, au contraire, centrée sur les dénominations de concepts formées par des chaînes de caractères par exemple pour obtenir l'ensemble des informations les concernant, via un objet de type concept. En référence à la figure 4b, on indique que les clés de la structure de données lexicale spécifique sont formées par une chaîne de caractères correspondant à la dénomination d'un concept et qui permet donc d'accéder aux informations relatives au concept, tel que son identifiant complet par exemple. Ainsi, il apparaît que l'accès par une clé et bien entendu par une succession de clés à la première structure de données générique hiérarchique, pour obtenir le concept correspondant, respectivement l'accès à la structure de données lexicale spécifique à partir d'une clé formée par la désignation d'un concept, pour obtenir le chemin d'accès au concept précité, sont des accès sensiblement symétriques. On rappelle que les ontologies manipulées grâce à la mise en oeuvre du procédé de codage objet de la présente invention et du procédé de codage par numérotation décrit précédemment en référence à la demande de brevet au nom de la demanderesse respecte la contrainte d'unicité de la dénomination de chaque concept, à savoir que deux noms différents représentent des prédicats différents et un même nom représente un seul et même prédicat. Chaque clé d'accès à la structure de données lexicale spécifique permet entre autres d'accéder à l'identifiant du concept correspondant stocké, d'une part, par l'intermédiaire d'un tableau de tableaux d'entiers, et, d'autre part, par une carte générique hiérarchique. Selon un aspect remarquable du procédé et des structures de données décrites en liaison avec les figures 4a et 4b, objet de la présente invention, ces entités sont complémentaires pour les traitements et redondantes quant à l'information qu'elles contiennent. Pour cette raison, les entités précitées procurent des gains en généricité et en temps de traitement, tel que mentionné précédemment dans la description. - 29 - En particulier, le fait que les entiers utilisés pour engendrer les entrées différentes sur les tables de hachage constitutives de la structure de données générique hiérarchique représentées en figures 2c et 4a sont engendrées par ordre croissant et par pas de un en partant de 1, permet par exemple, en l'absence d'un entier donné, de déduire que cet entier n'existe pas, mais surtout qu'il n'existe pas d'identifiant supérieur issu d'un même père et donc avec le même préfixe, c'est-à-dire le préfixe correspondant au chemin du père. Par exemple, l'absence d'entrée 3, c'est-à-dire de clé dont la valeur numérique est un entier 3, dans une structure de données générique hiérarchique comparable à celle représentée en figure 4a permet bien entendu de déduire que le dernier fils du noeud racine ou concept universel T est le noeud G du treillis de l'art antérieur représenté en figure la, pour lequel la clé d'accès est la valeur 2, et qu'il n'existe pas de concept dont un des chemins dans cette hiérarchie commence par 3, 4 ou par tout autre entier de valeur supérieure. En outre, la structure de données lexicale spécifique permet de connaître rapidement le nombre de chemins que possède un identifiant, ainsi que la taille de chacun des chemins précités. Les avantages de la structure de données lexicale spécifique sont les suivants: ^ Avantages inhérents au tableau de tableaux d'entiers: Ce tableau permet de connaître rapidement le nombre de chemins que possède un identifiant, ainsi que la taille de chacun de ces chemins. Ceci permet d'optimiser: les tests de subsomption: si A subsume B alors A ne peut pas avoir plus de chemin dans son identifiant, puisque A transmet tous ses chemins à ses descendants; les calculs de plus petit commun généralisant ppcg: le nombre maximal de chemins appartenant aux ppcg de plusieurs concepts est égal au nombre de chemins de l'identifiant du plus petit. Parcourir le tableau de l'identifiant possédant le moins de chemins suffit donc pour calculer un ppcg. ^ Avantages inhérents à la carte de hachage constitutive de la structure de données spécifique lexicale: L'information contenue par cette dernière ne doit pas être restreinte aux clés des cartes des tables de hachage. En effet, stocker en sus un concept permet d'utiliser plus largement les propriétés de la structure de données générique hiérarchique pour obtenir facilement les concepts primitifs ou définis pères et les concepts généralisants d'un concept déterminé. Les gains obtenus avec cette nouvelle table de hachage sont comparables à ceux obtenus avec la structure de données générique hiérarchique. En particulier, il n'est plus nécessaire de parcourir des vecteurs de chaîne ni même des chaînes avant de trouver le préfixe pertinent ou de s'apercevoir que ce dernier n'existe pas. En outre, de nombreux algorithmes récursifs peuvent être appliqués, lesquels se réduisent alors souvent à un test d'existence de clés dans plusieurs cartes de hachage imbriquées. ^ Avantages inhérents à l'utilisation de la table de hachage: Test de subsomption: si un concept A subsume un concept B alors la table de hachage de A est incluse dans la table de hachage de B. Calcul de plus petit commun généralisant ppcg: l'ensemble des feuilles d'une carte obtenue par intersection des cartes des identifiants de plusieurs concepts C forme les plus petits communs généralisants du concept C. Pour l'obtention de la table de hachage et de la structure de données lexicale spécifique, après avoir effectué le premier parcours de l'ensemble des concepts tels que représentés en figure lb, l'on effectue un second parcours de ces derniers pour initialiser la structure de données H{PC,, DCk,h,(C,),ID;} de chacun des concepts, tel que représenté en figure 3 en parcourant alors la structure de données générique hiérarchique. Différents exemples d'utilisation de la structure de données générique hiérarchique représentée en figures 2c et 4a et/ou de la structure de données lexicale spécifique représentée en figure 4b seront maintenant donnés, en liaison avec les figures 5a à 5d. En ce qui concerne l'utilisation de la structure de données générique hiérarchique, on rappelle que cette dernière est en mesure de représenter une 5 hiérarchie d'objets quelconques. En référence à la figure 5a, le treillis représente l'organisation de]l'ensemble des mots d'un dictionnaire par exemple, en fonction de la succession de lettres qui composent ce mot. Les éléments du treillis sont alors des concepts pour lesquels il peut exister 10 plusieurs synonymes, l'élément vide étant noté . L'élément supérieur du treillis, dans cette situation, est le concept universel lequel s'exprime sans aucune lettre et l'élément inférieur du treillis est le concept vide représentant tous les concepts du treillis. Un synonyme est situé dans le treillis grâce à la suite de lettres qui définit un chemin entre l'élément supérieur et le synonyme. Il existe ainsi autant de chemins que le concept a de synonymes. La profondeur des occurrences d'un concept dans le treillis est fixée par le nombre de lettres de chacun de ses synonymes. L'identifiant d'un concept correspond à l'ensemble des successions de lettres qui forment les synonymes de ce concept. En référence à la figure 5a, on indique que les sous-chemins qui ne correspondent pas à des concepts sont associés à un élément vide noté . Ainsi, en référence à la figure précitée, il existe quatre concepts différents;les mots "ami", "amis" et "amie" correspondant au même concept B, les mots "âme" et "âmes" correspondant au concept C. Une autre application de la structure numérique hiérarchique représentée en 25 figure 4a est donnée en relation avec la figure 5b. Dans cette situation, le treillis représente l'organisation d'une famille en fonction de la succession de parents qui a engendré un membre de la famille. Les membres du treillis sont des individus pour lesquels il peut exister plusieurs parents. L'élément supérieur du treillis représentant le concepteur universel n'est autre que le premier être à l'origine de toute l'humanité, lequel n'a pas de date de - 32 - naissance, et l'élément inférieur représente un descendant hypothétique ou virtuel issu de l'union de tous les humains du treillis. Un membre de la famille est ainsi représenté dans le treillis grâce à la suite de dates de naissances qui définissent un chemin entre l'élément supérieur et l'individu du treillis. Dans le but de conserver la contrainte d'unicité des dates, pour un même parent, il suffit de préciser les heures et les minutes dans la date par exemple. Ainsi, il existe autant de chemins que le concept a d'ascendants dans l'arbre généalogique. La profondeur des occurrences d'un individu dans le treillis est fixée par le nombre d'ascendants connus de chacune de ces occurrences. L'identifiant d'un individu correspond à l'ensemble des successions de dates de naissance qui forment les ascendants de cet individu. En référence à la figure 5b, on indique que Marc qui apparaît deux fois comme individu fils de Frédéric respectivement de Sophie est le fils des individus Frédéric et Sophie. Dans le cas où le treillis codé, conformément au procédé objet de l'invention, est un treillis de concepts primitifs et/ou définis et que, en conséquence, les identifiants sont formés par des suites de nombres entiers, ainsi que décrit précédemment dans la description, un exemple d'utilisation de la structure de données générique hiérarchique dans différentes situations sera maintenant donnée en liaison avec les figures 5c et 5d. La figure 5c représente un processus de calcul de chemin actuel pour l'adjonction d'un concept A, fils d'un concept père E, ainsi que représenté par exemple en figure 2a, 2b ou 2c. On considère a priori le concept E, avant adjonction, comme une feuille du treillis considéré, le chemin d'accès à partir du concept universel T vers le feuille E dont la table de hachage est symbolisée par une croix est donnée par la suite des clés des tables de hachage successives c'est-à-dire le chemin 112 sur la figure 5c. L'adjonction du concept fils A du concept père E consiste simplement à ajouter une table de hachage pour le concept fils A, cette table de hachage devenant - 33 - une feuille pour la structure de données générique hiérarchique représentée en figure 5c ou, plus particulièrement, pour la branche de cette dernière. La clé attribuée à la table de hachage du concept fils A est la valeur numérique 1 et le chemin d'accès est alors la concaténation du chemin d'accès précédent du noeud père E et de la clé de valeur 1, le chemin d'accès devenant 1121, ainsi que représenté sur la figure 5c. Un autre exemple d'utilisation d'une structure de données générique hiérarchique, ou d'une branche de cette dernière, telle que représentée en figure 2b, 2c ou 4a est illustrée en figure 5d pour l'ajout d'un nouveau chemin avec fusion de deux chemins relatifs à un concept A ajouté. En référence à la figure 5d, le concept A associé au noeud correspondant et qui correspond par exemple au noeud N7 {A,h7(1),[ 1111] } et N'7{A,h7(1),[ 1121] } on dispose des tables de hachage successives avant fusion telles que représentées en figure 5d, chacune comportant les clés formées par les entiers 1111 respectivement 1121, ainsi que représenté sur la figure précitée. L'opération de fusion telle que représentée sur la même figure consiste alors à substituer aux deux chemins précités le chemin commun formé par le préfixe 11 des deux chemins auquel, bien entendu, est ajouté chacun des chemins distincts, c'est-à-dire les chemins 11 et 21 ainsi que représenté sur la figure 5d. On comprend ainsi que la fusion des tables de hachage successives, relatives au premier chemin 1111 respectivement au deuxième chemin 1121, permet de reconstituer la structure de données générique hiérarchique telle que représentée en figure 2c et, en particulier, les branches de celle-ci et, bien entendu, l'implémentation de cette structure générique sous forme des tables ou cartes de hachage, telles que représentées en figure 4a et 5d pour la branche considérée. En ce qui concerne l'utilisation conjointe de la structure de données générique hiérarchique représentée en figure 4a et de la structure de données lexicale spécifique représentée en figure 4b, on indique que, du fait de la duplication des informations précédemment mentionnées dans la description, la manipulation des entités et en particulier des concepts associés au noeud du treillis et de la structure n-aire correspondante est alors grandement facilitée. - 34 - On comprend, en particulier, que l'utilisation précitée peut alors consister de la manière particulièrement avantageuse soit à obtenir directement le concept par la structure de données générique hiérarchique associée au treillis, à partir d'un des chemins d'accès de l'identifiant associé au concept et bien entendu au noeud correspondant, cette structure générique étant représentée en figures 2c et 4a, soit à introduire la dénomination d'un concept pour obtenir directement à partir de la structure de données lexicale spécifique, représentée en figure 4b, lie concept correspondant. L'utilisation précitée peut en outre consister à obtenir la dénomination d'un concept et/ou son identifiant à partir du concept considéré ou à obtenir un des chemins d'accès au concept à partir de son identifiant à partir de la structure de données lexicale spécifique telle que représentée en figure 4b. En ce qui concerne la mise en oeuvre des structure de données générique hiérarchique et lexicale spécifique précitées, on indique que ces structures peuvent avantageusement être mises en oeuvre par exemple en langage JAVA par une extension de la classe "Hashmap" du langage précité. Cette extension permet de définir une classe étendue correspondante par exemple. La classe étendue précitée permet la définition de fonctions spécifiques ci-après: Les noeuds de la table de hachage ainsi constitués sont composés d'un objet porteur d'information, c'est-à-dire d'un concept par exemple et d'un pointeur vers une autre table de hachage de la même classe étendue. Deux fonctions d'accès primitives permettent alors de retourner à partir d'une valeur de clé soit l'objet porteur d'informations mémorisées, ou la table de table de hachage suivante par l'intermédiaire du pointeur précité associé à la valeur de clé considérée. Les deux fonctions d'accès permettent de définir les fonctions d'accès successivement à partir d'un chemin ainsi que décrit précédemment dans la description. - 35 - D'autres fonctions primitives peuvent être dédiées à des fonctions de modification à partir d'un entier ou d'un chemin, ainsi que décrit précédemment en liaison avec les figures 5b et 5c par exemple. Enfin, dans le cadre du langage JAVA précité, la structure de données générique hiérarchique et la structure de données lexicale spécifique peuvent être définies dans une classe "Ontologie" dans laquelle: la structure de données générique hiérarchique est la classe étendue précédemment citée dans laquelle les clés sont des entiers pouvant représenter jusqu'à la valeur 231 et où les objets sont des objets de classe "HashMaptreenode" permettant la récursivité, chaque noeud contenant un concept; la structure de données lexicale spécifique est une table de hachage dans laquelle les clés sont les dénominations des concepts, c'est-à-dire des chaînes de caractères, les objets sont des concepts comprenant au moins un identifiant sous forme de tableau de chemins et un chemin est un tableau d'entiers. La mise en oeuvre de la structure de données générique hiérarchique représentée en figure 4a et de la structure de données lexicale objet de l'invention, telle que représentée en figure 4b permet alors d'effectuer des calculs spécifiques particulièrement simplifiés dans les conditions ci-après: Exécution d'un test d'absence de subsomption vérifiant q'un premier concept A ne subsume pas un deuxième concept B: Dans cette hypothèse, l'utilisation des structures de données précitées consiste à vérifier, à partir de la structure de données lexicale spécifique, que le nombre de chemins d'accès de l'identifiant du premier concept A, égal au nombre de tableaux de nombres entiers présents dans le tableau de tableaux de nombres entiers associés au premier concept A, est en fait supérieur au nombre de chemins d'accès de l'identifiant du deuxième concept B, lui-même égal au nombre de tableaux de nombres entiers présents dans le tableau de tableaux de nombres entiers associé au deuxième concept B. A titre d'exemple, pour la structure de données lexicale spécifique telle que représentée en figure 4b, le calcul de la réponse à la question posée: Est ce que F(1112 1122) subsume G(2) ? consiste alors à consulter le tableau des identifiants tel que représenté en figure 4b. La réponse est donnée par le fait que F ne subsume pas G, car le nombre de chemins de F est supérieur à celui de G. De même, à la question: Est ce que G(2) subsume F(11121122) ? la consultation des tableaux des identifiants, tels que représenté en figure 4b ne permet pas de répondre rapidement non. Il suffit alors de consulter la structure de données générique hiérarchique représentée en figure 4a pour vérifier que l'unique clé du premier niveau pour le concept G, c'est-à-dire la valeur de clé entier 2, n'apparaît pas dans la carte de l'identifiant de F. En conséquence, G ne subsume pas F. En outre, la structure de données générique hiérarchique peut avantageusement être utilisée pour exécuter un test de subsomption vérifiant qu'un premier concept A subsume un deuxième concept B. Dans cette situation, cette utilisation consiste à vérifier, à partir de la structure de données générique hiérarchique représentée en figure 4a qu'une suite des clés de la table de hachage, obtenue par un des chemins d'accès au premier concept A, constitue un préfixe de l'une des suites de clés de la table de hachage obtenue par un des chemins d'accès au deuxième concept B. A titre d'exemple, en référence aux figures 2a, 2c et 4a par exemple, à la question: Est-ce que A (1111 1121) subsume F (1112 1122) ? la seule consultation des tableaux des identifiants représentés en figure 4b ne permet pas d'apporter rapidement une réponse Non. L'utilisation correspondante consiste alors à consulter les tables de hachage représentées en figure 4a ou en figure 2c. On vérifie alors l'unique clé du premier niveau, c'est-à-dire la valeur 1 laquelle apparaît dans la carte de hachage de l'identifiant de F. - 37 On vérifie alors l'unique clé du 2ème niveau, c'est-à-dire la valeur 1 laquelle apparaît dans la carte de l'identifiant de F. On regarde la première des deux clés du 3ème niveau 1 apparaît dans la carte de l'identifiant de F, alors que l'unique clé du dernier niveau 1 n'apparaît pas dans la carte de l'identifiant de F, en conséquence, le concept A ne subsume le concept F. De même à la question: Est-ce que E (112) subsume A (1111, 1121) ? la consultation de la structure de données lexicale spécifique représentée en figure 4b ne permet pas de répondre Non. On procède alors à la consultation de la structure de données représentée en figure 4a ou en figure 2c et on opère de la manière ci- après: on vérifie l'unique clé du 1 er niveau, la valeur 1 apparaît dans la table de hachage de l'identifiant A; - on vérifie l'unique clé du 2ème niveau, la valeur 1 apparaît dans la table de hachage de l'identifiant A; on vérifie l'unique clé du dernier niveau, la valeur 2, laquelle apparaît dans la table de hachage de l'identifiant A. En conséquence le concept E subsume le concept A, car un des chemins d'accès au premier concept E constitue un préfixe de l'une des suites de clé de la table de hachage obtenue par un des chemins d'accès au deuxième concept A. À titre comparatif, on indique que, auparavant, c'est-à-dire dans la manipulation d'ontologies de l'art antérieur, le test de subsomption était exécuté par une recherche d'un nom de concept, c'est-à-dire d'une chaîne de caractères dans une liste de concepts constituant un généralisant, cette liste de concepts de généralisants pouvant s'avérer très large. Grâce à la mise en oeuvre du procédé objet de la présente invention, à partir d'un procédé de codage par numérotation tel qu'indiqué précédemment, et de la structure de données générique hiérarchique représentée en figure 2c et 4a et de la structure de données lexicale spécifique représentée en figure 4b, l'opération correspondante se fait par un simple parcours d'un chemin appartenant au - 38 - généralisant potentiel qui a pour longueur maximale la profondeur de la hiérarchie de concepts. On comprend, bien sûr, que les opérations précédentes peuvent être exécutées par parcours de la structure arborescente représentée notamment en figure 2c et, en conséquence, par la lecture des clés des tables de hachage représentées en figure 4a pour la branche correspondante par l'intermédiaire des pointeurs associés à ces dernières. Calcul du plus petit commun généralisant d'un ensemble de concepts La structure de données générique hiérarchique représentée en figure 2c et 4a et la structure de données lexicale spécifique représentée en figure 4b, conformes à l'objet de l'invention, permettent de manière particulièrement avantageuse d'exécuter le calcul de l'ensemble des concepts plus petits communs généralisants d'un sous-ensemble de concepts dans des conditions particulièrement avantageuses. Ainsi, pour effectuer un tel calcul, l'utilisation correspondante consiste au moins, à partir de la structure arborescente générique hiérarchique associée à chaque concept successif du sous ensemble de concepts, accessibles par l'intermédiaire de la structure de données lexicale spécifique, à calculer l'intersection des suites de clés des tables de hachage correspondant au chemin d'accès des couples de concepts successifs du sous-ensemble de concepts, pour conserver les chemins d'accès intersection résultant via la structure arborescente hiérarchique, puis, à retenir comme ensemble des plus petit communs généralisants, le ou les concepts obtenus à partir de la structure de données générique hiérarchique associée au treillis, comportant au moins un de ces chemins d'accès égal à au moins un des chemins d'accès intersection calculé. Le mode opératoire précité sera illustré à partir de deux exemples successifs correspondant aux questions: - 39 - Quel est le plus petit commun généralisant ppcg de A (1111 1121) et F (1112 1122) ? On discrimine alors la partie commune des deux tables de hachage contenant les identifiants correspondant, cette partie commune étant donnée par 111 et 112. L'ensemble plus petit commun généralisant ppcg de A et de F est donc formé par les concepts associés aux feuilles de la table de hachage correspondant et l'on obtient, en particulier, la dénomination des concepts B et E sur la structure de données lexicale spécifique représentée en figure 4b. Quel est le plus petit commun généralisant ppcg des concepts A et F précédemment cités et du concept H (21 113) ? Dans cette situation, dans laquelle vis-à-vis de la situation précédente on a ajouté le concept H, on procède à un mode opératoire semblable pour les intersections de tables de hachage prises deux à deux. Ainsi, pour les concepts A et F on obtient comme précédemment, pour la discrimination de la partie commune des identifiants (111 112). En effectuant à nouveau l'intersection des chemins résultants avec le chemin du noeud H, on écarte nécessairement le chemin 21 de ce dernier. En conséquence, l'intersection résultante est donnée par le chemin résultant 11. La consultation de la structure de données lexicale spécifique représentée en figure 4b permet alors de déterminer que le concept généralisant constitutif du ppcg de A, F et H est unique et constitué par le concept C. À titre d'exemple comparatif, on indique que, dans les techniques antérieures, un calcul de plus petit commun généralisant ppcg était effectué par l'intermédiaire d'un calcul de préfixe maximal chemin par chemin, les chemins étant stockés dans des tableaux. Ensuite il était nécessaire de supprimer les éventuels chemins redondants pour ne garder que les plus petits communs généralisants. Grâce à la mise en oeuvre du procédé et des structures de données obtenues par le procédé, objets de l'invention, tel que décrit dans la présente demande, le calcul 20 - 40 - du plus petit commun généralisant d'un ensemble de concepts est effectué par une simple intersection des tables de hachage, niveau par niveau, ainsi que décrit précédemment en liaison avec le figures 2c et 4a, 4b. Enfin, d'autres utilisations des structure de données hiérarchiques génériques et lexicales spécifiques, conformes à l'objet de la présente invention, peuvent bien entendu être envisagées. En effet, les structures de données précitées permettent à un utilisateur potentiel d'une ontologie d'effectuer de nombreux calculs rapidement pour proposer en temps réel des explications sur le domaine de l'ontologie et, le cas échéant, lui suggérer des modifications de sa requête. Les structures de données hiérarchiques génériques et lexicales spécifiques conformes à l'objet de l'invention, permettent ainsi d'effectuer des traitements coopératifs à l'aide de formulations de requêtes. À titre d'exemple, une requête demandant un voyage en train de Dar Es Salam à la ville de Zanzibar apparaît légitime mais ne peut être satisfaite. L'explication à présenter à l'utilisateur pourra être obtenue plus rapidement que lors de la manipulation d'ontologies de l'art antérieur, grâce à la mise en oeuvre des structures de données génériques hiérarchiques et lexicale spécifique décrites précédemment dans la description. En effet, l'utilisateur pourra être informé que Dar Es Salam est en Tanzanie, c'est-à-dire sur le continent Africain et que Zanzibar est sur une île au large de l'Afrique et qu'il n'existe donc pas de voie ferrée entre l'île et le continent africain. La requête de ce dernier peut alors être modifiée par un voyage en bateau de Dar Es Salam à la ville de Zanzibar où des voyages en train de Dar Es Salam et d'autres villes du continent. Une description plus détaillée d'un dispositif de codage d'un treillis représentatif d'une hiérarchie d'éléments, conforme à l'objet de la présente invention, sera maintenant donnée en liaison avec la figure 6a. D'une manière générale, on indique que le dispositif de codage d'un treillis objet de l'invention, tel que représenté à la figure précitée, permet le codage d'un -41 - treillis comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associé un élément considéré et son identifiant. L'identifiant est formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la bonne borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs. L'identifiant ID, inclut ainsi toutes les suites d'objets définissant chacune un chemin d'accès à l'un des éléments pères de l'élément considéré à la borne supérieure auquel est ajouté un objet représentatif de cet élément considéré, ainsi que décrit en liaison avec les figures 1 a et lb. Dans ce but, outre une unité centrale de traitement, notée CPU, une mémoire de travail, RAM, et un organe d'entrée, sortie FO, le dispositif de codage d'un treillis, objet de l'invention, comporte ainsi un module d'acquisition du treillis soumis au processus de codage, ainsi que décrit précédemment dans la description. Le module d'acquisition du treillis peut être constitué par un module Mo, lequel, par l'intermédiaire de l'unité centrale de traitement et de l'organe d'entrée sortie 1/0, permet d'accéder au treillis considéré fourni par un fournisseur d'ontologie par exemple, le treillis correspondant, tel que représenté par exemple en figure l a ou 2a, étant alors mémorisé en mémoire vive RAM du dispositif ou, le cas échéant, dans une mémoire de stockage spécifique non représentée au dessin. Le dispositif objet de l'invention comporte en outre un module MI de calcul d'une structure de données générique hiérarchique par association au treillis acquis d'une structure arborescente n-aire récursive, telle que décrite précédemment dans la description, en liaison avec la figure 2c ou avec la figure 4a. Cette structure est telle qu'à chaque noeud de la structure arborescente est associé un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de cet élément. On rappelle, en outre, que cette structure de données arborescente est établie sous forme d'une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous la borne supérieure. Elle permet d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un - 42 - élément et cet élément. Enfin, le dispositif de codage objet de l'invention, comporte un module PM de mémorisation de la structure de données générique hiérarchique précitée. Dans un mode de mise en oeuvre non limitatif préférentiel, le module de mémorisation PM de la structure de données générique hiérarchique est une mémoire programmable non volatile par exemple permettant, non seulement d'effectuer le codage proprement dit et la mémorisation de la structure de données générique hiérarchique précitée mais, également, la mise à jour et/ou la modification de cette dernière. En outre, ainsi qu'on l'a également représenté en figure 6a, le dispositif de codage objet de l'invention, permet de coder tout treillis dans lequel les éléments sont issus d'une hiérarchie de concepts appartenant à une ontologie. Dans cette hypothèse, la hiérarchie de concepts comporte des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis. Les suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers ainsi que décrit précédemment dans la description. Dans ce but, le dispositif objet de l'invention comporte en outre un module M2 de calcul d'une structure de données lexicale spécifique formée par association des concepts primitifs ou définis au treillis via une table de hachage dont la clé est la dénomination du concept primitif ou défini dans la structure de données générique hiérarchique et dans laquelle seuls figurent les chemins d'accès entre le concept et le concept universel, cette table de hachage étant représentée en figure 4b précédemment dans la description. On comprend, bien entendu, que les modules de calcul M1 et M2 précités permettent ainsi la mise en oeuvre du procédé de codage tel qu'illustré précédemment dans la description en liaison avec les figures lb et 3, et sont avantageusement constitués par des modules de programme d'ordinateurs appelés en mémoire de travail RAM et exécutés par l'unité centrale CPU du dispositif de codage représenté en figure 6a. - 43 - Une description plus détaillée d'un dispositif de consultation et d'interprétation d'un treillis représentatif d'une hiérarchie d'éléments codés sous forme d'au moins une structure de données de représentation codée de ce treillis, formée par une structure de données générique hiérarchique telle que décrite en liaison avec la figures 4a et/ou par une structure de données lexicale spécifique telle que représentée en figure 4b sera maintenant donnée en liaison avec la figure 6b. Le dispositif de consultation et d'interprétation précité comporte d[e manière classique, une unité centrale de traitement CPU, une mémoire de travail RAM et une unité d'entrée sortie I/O. Le dispositif représenté en figure 6b comporte en outre un module Mo d'acquisition d'une structure de données telle que représentée en figure 4a et un module M3 d'interrogation de la structure de données précitée de représentation codée du treillis permettant d'obtenir directement un concept à partir de la structure de données générique hiérarchique associée au treillis, à partir d'un des chemins d'accès de son identifiant. On comprend, en particulier, que le module d'acquisition Mo peut être constitué par un module logiciel permettant d'acquérir auprès du fournisseur d'ontologie, une structure de données générique hiérarchique telle que représentée en figure 4a, cette structure de données ayant été calculée grâce à la mise en oeuvre du dispositif de codage représenté en figure 6a. Le dispositif de consultation et d'interprétation d'un treillis représentatif d'une hiérarchie d'éléments conforme à l'objet de la présente invention inclut en outre un module d'acquisition d'une structure de données lexicale spécifique telle que décrite en liaison avec la figure 4b. Ce module peut être constitué par le module Mo précédemment mentionné. Le module d'acquisition précité peut être constitué par un module de programme exécuté par l'unité centrale CPU du dispositif représenté en figure 6b. Le dispositif objet de l'invention représenté sur la figure précitée comporte en outre un module d'interrogation de la structure de données lexicale spécifique mémorisée par exemple en mémoire de travail RAM ou dans une mémoire de - 44 - stockage, non représentée au dessin, permettant d'introduire la dénomination d'un concept pour obtenir directement à partir de cette structure de données lexicale spécifique le concept correspondant, ainsi que décrit précédemment dans la description. Le module d'interrogation porte la référence M4 sur la figure 6b. On comprend, en particulier, que le module M3 précité permettant l'interrogation de la structure de données de représentation codée du treillis permettant d'obtenir directement le concept à partir de la structure de données générique hiérarchique, respectivement le module M4 permettant d'introduire la dénomination d'un concept pour obtenir directement à partir de la structure de données lexicale spécifique le concept correspondant, peuvent être constitués par des modules de programme d'ordinateur exécutés par l'unité centra CPU précitée, après appel de ces derniers dans la mémoire de travail RAM. Enfin, le dispositif de consultation et d'interprétation, objet de l'invention, tel que représenté en figure 6b comporte en outre un module M5 d'interrogation croisée de la structure de données, à partir de la structure de données générique hiérarchique respectivement la structure de données lexicale spécifique. Ce module d'interrogation croisée peut avantageusement être formé par un module de programme permettant d'utiliser soit la structure de données générique hiérarchique représentée en figure 4a, soit la structure de données lexicale spécifique représentée en figure 4b, ce module de programme pouvant avantageusement être soit indépendant, soit directement intégré dans un module raisonneur partie intégrante du dispositif de consultation et d'interprétation d'un treillis conforme à l'objet de la présente invention. En particulier, le module raisonneur M5 peut comporter au moins un sousmodule sous forme de programme informatique d'exécution de test d'absence de subsomption tel que décrit précédemment dans la description, un sous-module de test de subsomption ainsi que décrit précédemment, et un sous-module de calcul d'un ensemble de concepts plus petits communs généralisants d'un sous-ensemble de concepts tel que décrit précédemment dans la description en liaison avec]les figures 4a et 4b. En outre, on indique que le dispositif objet de l'invention, dispositif de - 45 codage de la figure 6a, et le dispositif de consultation et d'interprétation d'une ontologie, tel que représentée en figure 6b, peuvent être intégrés en un dispositif unique pour former un dispositif de gestion d'ontologies par exemple. On comprend, en particulier, que le dispositif objet de l'invention tel que représenté en figure 6a ou 6b ou le dispositif de gestion d'ontologies comportant les fonctionnalités des deux dispositifs précédents sont mis en oeuvre à partir de programme d'ordinateurs ainsi que mentionné précédemment. En particulier, l'invention couvre également un produit de programme d'ordinateur enregistré sur un support de mémorisation, pour exécution par l'unité centrale de traitement d'un ordinateur ou d'un dispositif dédié, remarquable en ce que lors de l'exécution, ce produit de programme exécute le procédé de codage d'un treillis représentatif d'une hiérarchie d'éléments, tel que décrit précédemment dans la description en liaison avec les figures lb et 2b, 2c ou 3. Lors de cette exécution, le produit de programme correspondant permet d'établir une structure de données de représentation de ce treillis tel que représenté aux figures 2c et 4a respectivement à la figure 4b. Enfin, l'invention couvre également un produit de programme d'ordinateur enregistré sur un support de mémorisation, pour exécution par l'unité centrale de traitement d'un ordinateur ou d'un dispositif dédié, remarquable en ce que lors de l'exécution ce produit de programme exécute les fonctions de consultation, respectivement d'exécution, d'interprétation, d'interrogation et de test d'un dispositif tel que décrit en liaison avec la figure 6b. En particulier, le procédé, les structures de données générique hiérarchique et lexicale spécifique obtenues par la mise en oeuvre du procédé et le dispositif de consultation d'ontologie trouvent pleinement application à leur installation sur des terminaux informatiques, ordinateurs ou terminaux téléphoniques mobiles directement connectés à l'INTERNET, en raison de l'utilisation aisée de ces derniers par tout utilisateur non averti en matière de maniement de description d'ontologies, au moyen des langages classiques tels que OWL. - 46 - REVENDICATIONS 1. Procédé de codage d'un treillis représentatif d'une hiérarchie d'éléments, ledit treillis comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associé un élément considéré et son identifiant, l'identifiant étant formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs, l'identifiant incluant toutes les suites d'objets définissant chacune un chemin d'accès de l'un desdits éléments pères dudit élément considéré à ladite borne supérieure, auxquelles est ajouté un objet représentatif dudit élément considéré, caractérisé en ce que ledit procédé consiste au moins à : établir une structure de données générique hiérarchique par association audit treillis d'une structure arborescente n-aire récursive, à chaque noeud de ladite structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif dudit élément, ladite structure de données arborescente étant établie sous forme d'une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous ladite borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et ledit élément. 2. Procédé de codage selon la revendication 1, caractérisé en ce que lesdits éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, ladite hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis, lesdites suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers. 3. Procédé de codage selon la revendication 2, caractérisé en ce que ledit procédé consiste en outre à établir une structure de données lexicale spécifique par association des concepts primitifs ou définis audit treillis, via une table de hachage dont la clé est la dénomination dudit concept dans ladite structure de données générique hiérarchique où seuls figurent les chemins d'accès entre ledit concept et le concept universel. 4. Procédé selon la revendication 1, caractérisé en ce que celui- ci consiste en outre à : former les branches de ladite structure arborescente par les variables d'entrée de chaque table de hachage, chacune desdites branches étant définie par la clé de la table de hachage associée à son noeud père et de la table de hachage permettant d'associer chacune desdites branches avec ses noeuds fils; répertorier lesdits noeuds de ladite structure de données arborescente et lesdits concepts primitifs ou définis associés à ces derniers en niveaux de même profondeur vis-à-vis du noeud racine. 5. Procédé selon l'une des revendications 2, 3 et 4, caractérisé en ce que les variables d'entrée formant la clé de chaque table de hachage sont constituées par des entiers engendrés par ordre croissant au pas de 1, chaque identifiant comportant au moins un chemin d'accès à un noeud de ladite structure arborescente et au concept primitif et/ou défini correspondant, formé par une suite de nombres entiers. 6. Procédé de codage selon la revendication 3, caractérisé en ce que ledit procédé consiste au moins à établir une structure de données lexicale spécifique par association des concepts primitifs ou définis d'une part, audit treillis, d'autre part, à un tableau de tableaux de nombres entiers qui représentent les chemins d'accès entre ledit concept et le concept universel. 7. Structure de données de représentation codée d'un treillis représentatif d'une hiérarchie d'éléments, ledit treillis comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associés un élément considéré et un identifiant, l'identifiant étant formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs, l'identifiant incluant toutes les suites d'objets définissant chacune un chemin d'accès de l'un desdits éléments pères dudit élément considéré à ladite borne supérieure, auxquelles est - 48 - ajouté un objet représentatif dudit élément considéré, caractérisée en ce que ladite structure de données comprend au moins: une structure de données générique hiérarchique associée audit treillis sous forme d'une structure arborescente n-aire récursive, à chaque noeud de ladite structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif dudit élément, ladite structure de données arborescente étant constituée par une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous ladite borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et ledit élément. 8. Structure de données selon la revendication 7, caractérisée en ce que lesdits éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, ladite hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis, lesdites suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers, ladite structure de données spécifique lexicale formée par association des concepts primitifs ou définis audit treillis via une table de hachage dont la clé est la dénomination dudit concept dans ladite structure de données générique hiérarchique et dans laquelle seuls figurent les chemins d'accès entre ledit concept et le concept universel. 9. Utilisation d'une structure de données selon la revendication 8, caractérisée en ce que celle-ci consiste au moins à : obtenir directement le concept par ladite structure de données générique hiérarchique associée audit treillis à partir d'un des chemins d'accès de son identifiant; et/ou introduire la dénomination d'un concept pour obtenir directement, à partir de ladite structure de données lexicale spécifique, le concept correspondant; et/ou 2880715 - 49 - - obtenir la dénomination d'un concept et/ou son identifiant à partir du concept; - obtenir un des chemins d'accès au concept à partir de son identifiant. 10. Utilisation selon la revendication 9, caractérisée en ce que, pour exécuter un test d'absence de subsomption vérifiant qu'un premier concept (A) ne subsume pas un deuxième concept (B), ladite utilisation consiste à vérifier, à partir de ladite structure de données lexicale spécifique, que le nombre de chemins d'accès de l'identifiant du premier concept (A), égal au nombre de tableaux de nombres entiers présents dans le tableau de tableaux de nombres entiers associé au premier concept (A), est supérieur au nombre de chemins d'accès de l'identifiant du deuxième concept (B) , égal au nombre de tableaux de nombres entiers présents dans le tableau de tableaux de nombres entiers associé au deuxième concept (B). 11. Utilisation selon l'une des revendications 9 ou 10, caractéri sée en ce que, pour exécuter un test de subsomption vérifiant qu'un premier concept (A) subsume un deuxième concept (B), ladite utilisation consiste à vérifier à partir de ladite structure de données générique hiérarchique arborescente qu'une suite des clés de la table de hachage obtenue par un des chemins d'accès au premier concept (A) constitue un préfixe de l'une des suites de clés de la table de hachage obtenue par un des chemins d'accès au deuxième concept (B). 12. Utilisation selon la revendication 9, caractérisée en ce que, pour exécuter le calcul de l'ensemble des concepts plus petits communs généralisants d'un sous ensemble de concepts, celle-ci consiste au moins, à partir de ladite structure arborescente hiérarchique associée à chaque concept successif dudit sous ensemble de concepts, accessible via la structure de données lexicale spécifique, à : calculer l'intersection des suites de clés des tables de hachage correspondant aux chemins d'accès des couples de concepts successifs dudit sous ensemble de concepts pour conserver les chemins d'accès intersection résultants via une structure arborescente hiérarchique; - 50 - retenir comme ensemble des plus petits communs généralisants le ou les concepts, obtenu à partir de la structure de données hiérarchique associée audit treillis, comportant au moins un de ses chemins d'accès égal à au moins un desdits chemins d'accès intersection calculés. 13. Dispositif de codage d'un treillis représentatif d'une hiérarchie d'éléments, ledit treillis comportant au moins une pluralité de noeuds, à chaque noeud du treillis étant associés un élément considéré et son identifiant, l'identifiant étant formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès entre la borne supérieure du treillis et l'élément considéré par l'intermédiaire des éléments pères successifs, l'identifiant incluant toutes les suites d'objets définissant chacune un chemin d'accès de l'un des éléments pères dudit élément considéré à ladite borne supérieure, auxquelles est ajouté un objet représentatif de cet élément considéré, caractérisé en ce que, outre une unité centrale de traitement des organes d'entrée/sortie et une mémoire de travail, ledit dispositif inclut au moins: des moyens d'acquisition dudit treillis; - des moyens de calcul d'une structure de données générique hiérarchique par association à ce treillis d'une structure arborescente n-aire récursive, à chaque noeud de la structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de cet élément, ladite structure de données arborescente étant établie sous forme dune table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous ladite borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et ledit élément; et - des moyens de mémorisation de ladite structure de données générique hiérarchique. 14. Dispositif selon la revendication 13, caractérisé en ce que lesdits éléments étant issus d'une hiérarchie de concepts appartenant à une ontologie, ladite hiérarchie de concepts comportant des concepts primitifs et au moins un concept défini vérifiant une relation d'ordre entre un concept universel, borne supérieure du treillis, et un concept vide, borne inférieure du treillis, lesdites suites d'objets formant l'identifiant d'un concept primitif ou défini sont des suites d'entiers, ledit dispositif comporte en outre: des moyens de calcul d'une structure de données lexicale spécifique formée par association des concepts primitifs ou définis audit treillis via une table de hachage dont la clé est la dénomination dudit concept primitif ou défini dans ladite structure de données générique hiérarchique et dans laquelle seuls figurent les chemins d'accès entre ledit concept et le concept universel. 15. Dispositif de consultation et d'interprétation d'un treillis représentatif d'une hiérarchie d'éléments, caractérisé en ce que ledit dispositif inclut au moins: une structure arborescente n-aire récursive, à chaque noeud de la structure arborescente étant associés un élément et une table de hachage à laquelle est attribuée une clé formée par l'objet représentatif de cet élément, ladite structure de données arborescente étant établie sous forme d'une table de hachage récursive comportant autant d'entrées qu'il existe de noeuds fils successifs sous ladite borne supérieure et permettant d'établir une correspondance directe entre un chemin d'accès défini dans l'identifiant associé à un élément et ledit élément; et des moyens d'acquisition d'une structure de données de représentation codée de ce treillis selon la revendication 7; - des moyens d'interrogation de ladite structure de données de représentation codée de ce treillis permettant d'obtenir directement le concept à partir de ladite structure de données générique hiérarchique associé audit treillis à partir d'un desdits chemins d'accès de son identifiant. 16. Dispositif selon la revendication 15, caractérisé en ce que celui-ci inclut en outre: des moyens d'acquisition d'une structure de données lexicale spécifique, selon la revendication 8; des moyens d'interrogation de ladite structure de données lexicale spécifique permettant d'introduire la dénomination d'un concept pour obtenir directement, à partir de cette structure de données lexicale spécifique le concept correspondant. - 52 - 17. Dispositif selon la revendication 16, caractérisé en ce qu'il comporte en outre des moyens d'interrogation croisée de ladite structure de données à partir de ladite structure de données générique hiérarchique respectivement de ladite structure de données lexicale spécifique, permettant d'obtenir la dénomination d'un concept et/ou son identifiant à partir du concept respectivement l'un des chemins d'accès au concept à partir de son identifiant. 18. Dispositif selon l'une des revendications 16 à 17, caractérisé en ce qu'il comporte en outre un module raisonneur, ledit module raisonneur comportant au moins: un sous-module d'exécution de test d'absence de subsomption selon la revendication 10; un sous-module d'exécution de test de subsomption selon la revendication 11; un sous- module de calcul d'un ensemble de concepts plus petits communs généralisants d'un sous-ensemble de concepts selon la revendication 12. 19. Produit de programme d'ordinateur enregistré sur un support de mémorisation, pour exécution par l'unité centrale de traitement d'un ordinateur ou d'un dispositif dédié, caractérisé en ce que lors de l'exécution, par ladite unité centrale, ledit produit de programme exécute le procédé de codage d'un treillis représentatif d'une hiérarchie d'éléments, selon l'une des revendications 1 à 6, et établit une structure de données de représentation de ce treillis selon l'une des revendications 7 ou 8. 20. Produit de programme d'ordinateur enregistré sur un support de mémorisation, pour exécution par l'unité centrale de traitement d'un ordinateur ou d'un dispositif dédié, caractérisé en ce que lors de l'exécution par ladite unité centrale, ledit produit de programme exécute les fonctions de consultation, d'interprétation, d'interrogation respectivement d'exécution d'un des tests d'un dispositif selon les revendications 15 à 18.