WO2007010100A2 - Procede et systeme de codage d'un treillis representatif d'une hierarchie d'elements - Google Patents

Procede et systeme de codage d'un treillis representatif d'une hierarchie d'elements Download PDF

Info

Publication number
WO2007010100A2
WO2007010100A2 PCT/FR2006/001506 FR2006001506W WO2007010100A2 WO 2007010100 A2 WO2007010100 A2 WO 2007010100A2 FR 2006001506 W FR2006001506 W FR 2006001506W WO 2007010100 A2 WO2007010100 A2 WO 2007010100A2
Authority
WO
WIPO (PCT)
Prior art keywords
concept
data structure
concepts
identifier
lattice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/FR2006/001506
Other languages
English (en)
Other versions
WO2007010100A3 (fr
Inventor
François Paulus
Alain Bidault
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of WO2007010100A2 publication Critical patent/WO2007010100A2/fr
Publication of WO2007010100A3 publication Critical patent/WO2007010100A3/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Definitions

  • the invention relates to a method and a system for encoding a trellis representative of a hierarchy of elements, such as in particular primitive concepts and / or defined concepts belonging to an ontology.
  • An ontology is an entity formed by a set of knowledge, facts and rules relating to a given field, scientific, cultural, administrative, industrial or commercial know-how or other.
  • the aforementioned knowledge, facts and rules may include a hierarchy of concepts, which represent concepts between an empty concept, generated by a predicate that is meaningless in the ontology under consideration, and a universal concept, allowing the design of all concepts incorporating the ontology considered.
  • an ontology can commonly include predicates including entities such as concept, role, or ordinary predicate.
  • the information contained in a given ontology is translated by predicates, link, semantic or logical association between signifying atoms that can be associated with different instances, significant specific values of a variable or an atom.
  • a process of saturation of knowledge, rules, disjunctions, inclusions definitions of the ontology makes it possible to calculate the implicit information by means of a reasoner, defined for a language or a logic of precise description.
  • a concept is a unary predicate (accepting only one argument) with which it is possible to construct logical formulas of description.
  • An ontology with a set of concepts and a hierarchy of concepts can be represented as a lattice.
  • a lattice is then defined as a partial order relationship for which any pair of elements or concepts
  • (el, e2) has an element eS greater than a common el element el according to the relations: el ⁇ eS and e2 ⁇ eS el> el and e2> el.
  • the order is partial because it is not defined for all elements. Some elements are hierarchically inferior to others, but some elements are not comparable to others. An element can have several hierarchically superior and inferior elements.
  • the lattice structure is richer than a tree structure. Indeed, a tree does not allow an element to have several fathers. Now, if no element or concept can have many fathers, the only possibility of having a common inferior element is to impose that a concept does not have more than one son. Under these conditions, a vertical line hierarchy of little interest is obtained.
  • the order or hierarchy relation implicitly contains all relations obtained by transitivity of the inclusion relation such as for the concept B: BcD; BCT.
  • predicates are then comparable to concepts appearing in description logic in a hierarchy of concepts in the form Predicate 1 çJPredicat2.
  • the empty _L and universal T concepts do not appear explicitly in the hierarchy, but are supposed to be present as specializing in the most specialized concepts respectively as generalizing general concepts.
  • the coding proposed in the aforementioned thesis document takes into account only the primitive concepts, still referred to as basic concepts, namely those which do not have a semantic definition. and whose only semantics are those associated with their position in the lattice of concepts, or ultimately above and / or below other concepts.
  • the originality of the proposed coding lies in the existence of an identifier for each concept consisting of one or more labels, by labeling a series of alphanumeric characters between a and z and between 0 and 9.
  • Each label is unique on the concept lattice and corresponds to the existence of a path between the considered concept C and the universal concept T at the top of the lattice.
  • the universal concept T and the empty concept J_ have no identifier.
  • a label is encoded by alphanumeric characters belonging to the set of letters of the alphabet ⁇ a, z ⁇ .
  • the mode of coding described in thesis thesis thus makes it possible to locate the primitive concepts within a lattice of concepts, without it being necessary to traverse the trellis constituted.
  • the position of a primitive concept in the aforementioned lattice is thus contained in the identifier of the latter, which makes it possible to reason at a lower cost on a set of concepts to perform, for example, subsumption tests between two elements or a calculation of ppcg for general common p_etit.
  • a subsumption test consists in testing the inclusion of a concept in another concept. The results obtained are conditioned by the absence of redundancy in the concept lattice and by the respect of the uniqueness constraint of the concept designation name.
  • the previously described coding method was implemented in a joint development project, called the PICSEL project, as part of a research contract between the LRI Computer Research Laboratory 3 Orsay 91400, France and the plaintiff company.
  • the aforementioned development has been executed in JAVA® language, the generalizing and specializing concepts being however stored in vectors.
  • Pellet intervenes on a precise description logic which includes specific notations and a syntax.
  • the aforementioned reasoning module allows to manipulate an ontology described in a logic of broad description, written for example in OWL language
  • a logic of description is a logical language (included in the logic of the first order) which makes it possible to describe concepts by using logical operators between these concepts.
  • the formalism of the OWL language makes it possible to express these logics of description in a simple text file.
  • the reasoner module Pellet requires the implementation, for the manipulation of an ontology, of three separate entities for storing and processing information relating to an ontology, transmitted via an OWL document.
  • Tbox contains the properties relating to the description logic such as the inclusions between the concepts or the definitions of concepts.
  • Each concept is identified by an integer class number, the universal concept T and the empty concept J_, and stored both in a table and in a hash set, whose key is the name or literal designation of the concept .
  • the universal concept T is added as generalizing of each concept.
  • the list of generalizing concepts respectively specializing concepts of a given concept is stored, for each concept, via a hash table whose key is also the name or literal designation of the concept.
  • a hierarchy of interfaces is also provided to manage the different objects encountered in the expression of the concepts.
  • the grammar or syntactic rules associated with a concept expression being recursive, it is useful to define a hierarchy on the objects encountered in an expression according to their type or if they correspond to a list of objects or symbols of functions.
  • the entity named Rbox contains ordinary rules that can be likened to a property hierarchy.
  • the aforementioned property hierarchy makes it possible to associate a concept, via one or more properties, with one or more other concepts.
  • the field of application of the properties then makes it possible to go from a general concept to a more precise concept, the subhierarchy of concepts inducing the hierarchy of properties.
  • the aforementioned Rbox entity also makes it possible to express a property by inference by unification of object values constituting predicate arguments.
  • Abox contains the facts, namely predicates associated with instances.
  • the developments of the aforementioned prior art have the following drawbacks.
  • the PICSEL project is satisfactory, but if it allows a coding of a hierarchy of primitive concepts belonging to an ontology, the identifiers attributed to each primitive concept formed by one or more alphanumeric character sequences constituted by the letters of the alphabet and the digits from 0 to 9, thus limiting the depth of the coded data structure finally obtained, while the memorization of the generalizing and specializing concepts in the form of vectors implies a sequential access by addressing to the constituent variables of the latter, which implies a cost in terms of calculation due directly to the size of the data structure thus obtained.
  • the reasoner module Pellet involves the implementation of a complex software architecture requiring a first initialization of list structures costly in computing time, in order to allow, with use, simplified search processes operating on hash tables and no longer on the descriptive description logical language of the ontology.
  • the present invention relates to the implementation of a method and a coding system of a trellis, representative of a hierarchy of elements and formed at least by a plurality of nodes, at each node of the trellis being associated an element and its identifier, this encoding method to overcome the limitations of previous solutions requiring an expensive initialization in computing time.
  • Another object of the present invention is also the implementation of a method and a system for encoding a trellis representative of a hierarchy of elements and formed at least by a plurality of nodes, at each node of the trellis being associated an element and its identifier, with this lattice being associated, because of the encoding of the latter, a recursive n-ary tree structure making it possible to establish a direct correspondence between a path defined in the identifier associated with an element and this element.
  • Another object of the present invention is in particular the implementation of a lattice representative of a hierarchy of elements, these elements being primitive concepts and defined concepts of a hierarchy of concepts belonging to an ontology, said ontology being associated with a recursive n-ary tree structure via this lattice making it possible to establish a direct correspondence between a path defined in the identifier associated with a primitive or defined concept of this hierarchy of concepts, this structure Recursive n-ary tree making it possible to establish a direct correspondence between a path defined in the identifier associated with a primitive or defined concept and this primitive or defined concept.
  • Another object of the present invention is in particular the recursive n-ary tree data structure associated with a trellis of elements and / or a lattice of primitive concepts and defined concepts of a hierarchy of elements respectively of concepts belonging to to an ontology.
  • the method of encoding a trellis representative of a hierarchy of elements comprising at least a plurality of nodes, at each node of the trellis being associated a considered element and its identifier, this identifier being formed by at least one series of objects, each series of objects defining a path between the upper bound of the trellis and the element considered via the successive elements fathers , this identifier including all the sequences of objects each defining a path of one of the fathers of the element considered to this upper bound, to which is added an object representative of this element considered object of the invention , is remarkable in that it consists at least in establishing a hierarchical generic data structure by association with this lattice of a recursive n-ary tree structure, at each node of this tree structure being associated an element and a hash table to which is assigned a key formed by the object representative of the element in question.
  • This tree data structure is established in the form of a recursive hash table having as many entries as there are successive
  • This structure makes it possible in particular to test advantageously the membership of a node among a set of nodes without having to check each of the nodes of this set.
  • the trellis coding method which is the subject of the invention, is furthermore remarkable in that the elements come from a hierarchy of concepts belonging to an ontology, this hierarchy of concepts comprising primitive concepts and at least one concept. defined as verifying a relation, of order between a universal concept, upper bound of the lattice, and an empty concept, lower bound of the lattice, the sequences of objects forming the identifier of a primitive or definite concept are sequences of integers .
  • the structure makes it possible to advantageously manipulate sets of concepts to carry out membership tests or searches of remarkable concepts for this set such as the most general or the most specific for example.
  • the method for coding a trellis which is the subject of the invention, is also remarkable in that, when the trellis elements come from a hierarchy of concepts belonging to an ontology, this hierarchy of concepts includes concepts and at least one concept defined, to establish a specific lexical data structure by association of primitive concepts or defined in this lattice, via a hash table whose key is the name of the concept in this hierarchical generic data structure and in which are the only paths between this concept and the universal concept.
  • Each node of the tree structure is associated with an element and a hash table to which is assigned a key formed by the object representative of this element.
  • the tree data structure is constituted by a recursive hash table having as many entries as there are successive child nodes under this upper bound and making it possible to establish a direct correspondence between a path defined in the associated identifier. to an element and this element.
  • the data structure which is the subject of the invention, is furthermore remarkable in that the elements come from a hierarchy of concepts. belonging to an ontology, this hierarchy of concepts comprising primitive concepts and at least one definite concept satisfying a relation of order between a universal concept, upper bound of the lattice, and an empty concept, lower bound of the lattice, the sequences of objects forming the identifier of a primitive or defined concept are sequences of integers.
  • the data structure, object of the aforementioned invention wherein the elements being derived from a hierarchy of concepts belonging to an ontology, this hierarchy of concepts comprising primitive concepts and at least one defined concept verifying a relationship of order between a universal concept, the upper bound of the lattice, and an empty concept, the lower bound of the lattice, the series of objects forming the identifier of a primitive or definite concept are sequences of integers, is furthermore remarkable in that it comprises a specific lexical data structure formed by association of the primitive concepts or defined in this lattice via a hash table whose key is the denomination of said concept in the hierarchical generic data structure mentioned above and in which only the access paths are between this concept and the universal concept.
  • the method and the device for encoding a trellis representative of a hierarchy of elements and the data structure generated by the implementation of the method and / or the coding device, objects of the present invention find application to the creation, the management of ontology consultations comprising a hierarchy of elements, represented in the form of a trellis, the aforementioned ontologies being able to relate to any field of knowledge usable in the industry and / or the economy.
  • FIG. 1a relating to a trellis coded according to a process of the prior art
  • FIG. 1b represents, by way of illustration, the essential steps of implementing the method of encoding a trellis representative of a hierarchy of elements, object of the present invention, when this trellis comprises at least a plurality of nodes at each node of the lattice being associated a considered element and its identifier, this identifier being formed by at least one series of objects;
  • FIG. 2a represents, by way of illustration, a trellis representative of a hierarchy of elements in the particular case of FIG. 1a where each element is formed by a primitive concept or by a defined concept, at each node of the trellis being associated a primitive or defined concept and its identifier, this identifier being formed more particularly by at least one series of objects, each sequence of objects being constituted by a sequence of integers;
  • FIG. 2b represents, by way of illustration, a process for establishing a hierarchical generic data structure, in accordance with the coding method that is the subject of the invention shown in FIG. 1b, in the specific nonlimiting case of FIG. 2a. , this hierarchical generic data structure being represented, in FIG. 2b, according to a non-fully deployed recursive n-ary tree structure;
  • FIG. 2c represents, by way of illustration, a process for establishing a hierarchical generic data structure, corresponding to the process of FIG. 2b, in which, however, this hierarchical generic data structure is represented according to a tree structure n -recursive fully deployed;
  • FIG. 3 represents, by way of illustration, the complementary essential steps of implementing the method of coding a trellis representative of a hierarchy of concepts, object of the present invention, these complementary steps having the purpose of establishing in in addition to a specific lexical data structure, making it possible to directly connect the denomination of the primitive and / or defined concepts and the paths of access between the primitive or defined concept and the universal concept;
  • FIG. 4a represents, by way of illustration, the concrete structure of the hierarchical generic data structure represented in FIG. 2b, from successive, nested hash tables, this data structure itself constituting a recursive hash table comprising as many of entries that there are successive son nodes under the upper limit of the lattice;
  • FIG. 4b represents, by way of illustration, the concrete structure of the specific lexical data structure associated with the hierarchical generic data structure represented in FIG. 4a, following the implementation of the complementary steps illustrated in FIG. 3;
  • FIG. 5a represents, by way of illustration, a first example of the use of a hierarchical generic data structure, object of the present invention, in an application to the implementation of a thesaurus;
  • FIG. 5b represents, by way of illustration, a second example of using a hierarchical generic data structure, object of the present invention, in another application to the implementation of a family tree;
  • FIG. 5c represents, by way of illustration, an example of calculating the current access path of a concept from the hierarchical generic data structure represented in FIG. 4a;
  • FIG. 5d represents, by way of illustration, an example of calculating a new access path and the identifier, by merging two access paths relating to the same concept
  • FIG. 6 a represents, by way of illustration, in the form of a block diagram, a device for encoding a trellis representative of elements, in accordance with the subject of the present invention
  • FIG. 6b represents, by way of illustration, in the form of a block diagram, a device for consulting and interpreting a trellis representative of a hierarchy of elements, in accordance with the subject of the present invention.
  • the lattice comprises a plurality of nodes and at each node of the lattice is associated a considered element represented from A to G in the above-mentioned figure and its identifier, the identifier being formed by at least one series of objects.
  • each object forming a series of objects included in an identifier can be an alphanumeric character such as a letter of the alphabet or an integer for example.
  • each series of objects defines a path between the upper bound of the trellis, that is to say the universal concept T in the non-limiting case of a trellis of primitive concepts as described in the thesis. aforementioned thesis and the element considered as one of the elements A to G of Figure la through the successive elements fathers.
  • the identifier associated with each of the nodes of the trellis includes all the sequences of objects each defining a path of one of the fathers of the element considered, ie the E element for example, that is to say the element C father of the element E in Figure la, to the upper bound, the universal concept T in the nonlimiting case above, which is added an object representative of the considered element, that is to say the object b in the specific case of the element E son of the element C according to the adopted convention.
  • each identifier associated with one of the considered elements of the trellis is denoted IDj to designate the identifier considered.
  • the identifier IDj is equal to [aaaa aaba].
  • the coding method which is the subject of the invention, consists of any element O; lattice associated with a corresponding node Ni, i being arbitrary, to establish, in a step A, a hierarchical generic data structure by association with the trellis of a recursive n-ary tree structure, at each node Nj of the tree structure being associating an element Oj of the lattice and a hash table denoted h; (Cj) to which is assigned a key Cj formed by the object representative of the element O; considered.
  • step A of FIG. 1b we associate with each node N; trellis the object corresponding to this node Oi and a hash table hj (Cj) and of course the identifier ID 1 .
  • Step A is of course repeated successively for each level n and of course for each element Oj associated with a node N; corresponding recursively.
  • the step A carried out for each level n can advantageously be followed by a test step B consisting in verifying the absence of identification of the element O; considered at the lower limit of the lattice.
  • the tree data structure obtained in the form of a recursive hash table is denoted H ⁇ Ni, Oi, hi (Ci), IDi ⁇ f.
  • the aforementioned recursive hash table has as many entries as there are successive son nodes under the upper terminal T of the trellis and makes it possible to establish a direct correspondence between a path defined in the identifier associated with an element and the element considered, as will be described later in the description.
  • this key allows direct access to the element Oi which the hash table is associated through the node Nj trellis and well heard at the corresponding identifier EDj.
  • a hash table is a coded computer entity which makes it possible to extend the conventional structure of tables or lists with faster processing and which thus makes it possible to obtain much more significant results.
  • Such a coded computer entity makes it possible to manipulate objects of variable size and finally any object Oj associated with each table hj (Cj) by accessing the object directly via the key Ci, which can itself be constituted by an object and in particular by a character, a character string or the like as will be described below.
  • the method which is the subject of the present invention, finds application to lattices of very general shape and relating to any elements, provided that the elements aforementioned satisfy a dependency relationship as mentioned previously in the description.
  • the notion of dependency relation can be for example that relating to the lexical relation of words in a dictionary, according to the succession of letters which compose these words, to the organization of a human family according to the succession of parents which resulted in a family member or other, as will be described later in the description.
  • dependency relation allows a particularly advantageous implementation of the coding method which is the subject of the present invention when this dependency relation is a partial order relationship for example, or, where appropriate, a total order relation.
  • this dependency relation is a partial order relationship for example, or, where appropriate, a total order relation.
  • a lattice of concepts including primitive concepts and at least one defined concept has been coded by numbering similar to that previously described in the description and that the identifiers, that is to say to say the sequences of objects associated with each of the nodes of the lattice and of course the concept associated with the latter, a primitive or definite concept, are formed by sequences of integers exclusively.
  • the upper bound of the lattice is the universal concept T and the lower bound of the lattice is the empty concept JL, which do not appear explicitly in the hierarchy of concepts.
  • the universal concept T and the concept However, they are supposed to be present as specializing and generalizing the most specialized and general concepts.
  • a subsumption test is a complex calculation in an ontology described in description logic and that makes it possible to determine whether the instances of a concept are included or not in that of another concept based on the definition. concepts.
  • the above-mentioned numbering coding method described in the above-mentioned patent application also makes it possible to determine the most common minor generalizations still designated ppcg of two concepts C1 and C2.
  • This set of common generalizers contains all the concepts that subsume both Cl and C2.
  • the smallest generalizing ppcg is the largest subset such that no concept of the generalizing least common subsumes another concept of the generalizing least common and such that no concept of the generalizing least common subsumes a concept of 'together'remains'.
  • the smallest common generalizing ppcg of two concepts can be directly accessible in a saturated ontology through the numbering encoding described in the aforementioned patent application.
  • FIG. 2a shows the trellis of FIG. 1a in which also defined concepts H and I and their respective identifiers have been added.
  • I [1131 231] represent the defined concepts H and I and their identifiers formed by the sequences of integers 113 23 and 1131 231 respectively. It will be noted that, in a specific manner, the arcs linking the defined concepts of the trellis to the other primitive concepts C and G, for example of this same lattice, are shown in dotted lines in a nonlimiting manner.
  • a recursive n-ary tree structure is obtained, as represented in FIG. 2b, in which, at each node, an element and a hash table are associated with which is assigned the key Q formed by the object representative of the element, that is to say in this case the integer representative of the corresponding primitive or defined concept, this integer corresponding to the added integer representative of the concept primitive or defined to the path of one of the fathers of the primitive or defined concept considered up to the universal concept T.
  • the entities associated with each node Ni are written in connection with FIG. 2a:
  • FIG. 2c A fully deployed n-ary structure is shown in FIG. 2c, which corresponds to the n-ary structure of FIG. 2b in which, however, each access path for a node in question is represented by a specific node N 6 , N 7 , N 8 and Ng relating to the concepts H, A, F and I being thus deployed to represent a single node per access path.
  • N 7 and N 7 have a similar hash table h 7 , which, of course, includes the same key value.
  • integer I 5 as shown in Figure 2c. It is the same for the nodes N 8 and N r 85 N 9 and N ' 9 and N 6 and N 6 .
  • each access path corresponds to a node and only one if two nodes or several nodes can have hash tables. similar because they relate to the same concept and therefore have the same key value.
  • the coding method, object of the invention consists in fact in forming the branches of this data structure by the input variables of each hash table, each of the branches being defined by the key of the hash table associated with its parent node and the hash table for associating each of the branches with its child nodes.
  • Each hash table thus has a pointer to the hash table associated with the corresponding child node, successively, as will be described later in the description.
  • the coding method that is the subject of the invention finally consists of listing the nodes of the tree data structure and the primitive or defined concepts associated with them at the level of the same depth vis-à-vis the root node.
  • the input variables forming the key of each hash table advantageously consist of integers generated in increasing order at the step of l.
  • each identifier comprises at least one path to a node of the tree structure and the corresponding primitive and / or defined concept formed by a sequence of integers.
  • the data structure thus obtained makes it easy to generate a path, that is to say a constitutive element of the identifier associated with a concept actually corresponding to the location of a primitive concept or defined within the trellis, to complete or amputate paths to complete identifiers and finally to access each path of an identifier, to find a concept from one of the paths of its identifier and to compare the prefixes of different paths.
  • hash tables hj may consist of HashMap class hashes in JAVA that are potentially more efficient than searching for prefixes on several character strings.
  • this duplication which may initially correspond to the association for each primitive concept or defined not only of the identifier ID; but also the value of the hash key whose value is necessarily the last integer of the sequence of integral integers of the paths representing the identifier makes it possible to access a determined information such as the identifier of a concept, the concept itself the number of paths it contains generalizing or other depending on the treatment to be performed, as will be described later in the description.
  • the coding method that is the subject of the present invention appears to be particularly advantageous insofar as it makes it possible to introduce a gain in the genericity of the domain, namely a relaxation of the implementation constraints whatever the language used and, in particular, on the following points: - although the number of fixed nodes of a concept remains limited because this number is imposed by the number of different values that can take the characters to write, the fact of using sequences of integers to constitute the identifiers makes it possible to push back the limit of the techniques of the prior art.
  • the method, object of the invention may further advantageously consist in establishing a specific lexical data structure, by associating the primitive or lattice concepts via a table hash whose key is the name of the concept in the hierarchical generic data structure, the information coded in the new hash table then being the only paths between the primitive or defined concept and the universal concept.
  • PCj designates the primitive concepts and DC k denotes the defined concepts.
  • h ⁇ (Cj) and an ID ID ;
  • the method, object of the invention, for the establishment of the specific lexical data structure then consists, as represented in FIG. 3, in a step E starting from the nodes and the primitive concepts PQ and defined DC k and their identifiers IDj to establish the hash table denoted T [("PCi", CHi) / ("DC k ", CH k )].
  • Step E is executed for all nodes of the same level n and can then be followed by a step F consisting in verifying that none of the concepts of the next level is constituted by the empty concept.
  • step F of FIG. 3 the operation of establishing the specific lexical data structure is then completed and the structure is available. noted above:
  • PCj means the name of the PCj concept
  • DC k means the name of the defined concept DCk
  • CHi denotes the set of paths to the primitive concept PCj from the universal concept T 5
  • the coding process represented in FIG. 3 thus consists in establishing a specific lexical data structure by association of the primitive or lattice concepts on the one hand, and on the other hand with an array of integer tables. which represent the paths between the concept considered and the universal concept.
  • each node of the tree structure being associated with an element and a hash table to which is assigned a key formed by the object representative of the element in question.
  • the tree data structure is itself constituted by a recursive hash table having as many entries as there are successive child nodes under the upper bound allowing to establish a direct correspondence between a path defined in the identifier associated with an element and the element considered . It is thus clear that the aforementioned hierarchical generic data structure corresponds, of course, to the tree structure represented in FIG. 2c. In addition, this structure groups the properties of a table or hash map and an n-ary tree and is called accordingly HashMaptree.
  • the root of the recursive n-ary tree structure corresponds to the global hash map for example and a node consisting of an information bearing object is represented in FIG. 4a by the star character (*) and by a hash map shown in Figure 4a by a square (EU) -
  • the branches are constituted by the different entries of the hash tables.
  • the leaves are the nodes whose hash card is empty.
  • An empty hash card is symbolized by a cross in the corresponding square (KI). It is thus understood that the symbol * represents any object whose type can be fixed by the heir classes of HashMaptree.
  • the object represented by the aforementioned star corresponds to the information-carrying objects in the data structure, that is to say to the objects such as the words of a dictionary as described previously in connection with FIGS. Ib, otherwise to a concept primitive or defined as described above in connection with Figures 2a, 2b, 2c.
  • the hash table key values represented by an integer in FIG. 4a can have any type, character, character string or the like, but also the value of an integer in the representation mode of the integer. Figure 4a above. This type is fixed in the heir classes for example. With reference to FIG. 4a and, of course, FIGS. 2b and in particular 2c, it is understood that the keys put end to end and the values in the form of integers make it possible to obtain the access paths to the objects carrying the information.
  • the surrounded node is connected to the root node represented virtually by NR by three inputs.
  • the first is that of the key 1 of the first hash table also shown in Figure 2c and designated Ia 1 (I) Nl node.
  • the second that of the key 1 of the hash table h 3 (l) of the node N3 and the third corresponds to the input of the key 3, that is to say the hash table h 6 (3) Node N6 of Figure 2c.
  • the node surrounded in FIG. 4a corresponds to the input 3 of the third hash card designated h 6 (3) in FIG. 2c.
  • the path associated with the information contained in the hash table, whose path is 113, is none other than the concept H as represented in node N6 of FIG. 2c.
  • the corresponding path is the path 113 which is of size or depth 3. It is indicated that the size indicates the degree of filiation with respect to the root node.
  • this structure represents a division into successive layers, that is to say in successive depth levels, and constitutes therefore a tree structure very close to the intrinsic organization of the concepts of an ontology.
  • the access keys to the hash table constituting the aforementioned hierarchical generic tree structure are directly comparable to the identifiers obtained by numbering coding of the primitive and defined concepts described in the patent application mentioned previously in the description.
  • H eu designs the tree data structure of n-area hierarchical generic type is used to return a concept from a path ID.
  • the hierarchical generic data structure represented in FIG. 4a because of the implementation of the latter in the form of hash tables, allows optimal exploitation of the coding by numbering the primitive and / or defined concepts of an ontology.
  • the generic hierarchical hash map is thus a generic map centered on sequences of integers of a path, to obtain the corresponding concepts.
  • this card is a complementary card for optimizing the exploitation of any coded numbering ontology as mentioned above with reference to the patent application in the name of the applicant mentioned in the description.
  • the specific lexical hash table is formed by an array of integer arrays associated with the denomination of the concepts belonging to the ontology, and in particular with the corresponding lattice, such as that shown in Figure 2c for example.
  • each concept name such as: for example is associated one or more arrays of integers representing the paths of the concept whose corresponding denomination is designated from the root node NR, that is to say finally of the universal concept.
  • the first hierarchical generic data structure represented in FIG. 4a, is a generic hash centered on the sequences of integers on the paths to obtain the concepts and the second structure of specific lexical data is, on the contrary, centered on the denominations of concepts formed by character strings for example to obtain all the information concerning them, via an object of concept type.
  • the keys of the specific lexical data structure are formed by a character string corresponding to the name of a concept and which therefore makes it possible to access information relating to the concept, such as its complete identifier for example.
  • the aforementioned entities provide gains in genericity and processing time, as mentioned previously in the description.
  • the fact that the integers used to generate the different entries on the hash tables constituting the hierarchical generic data structure represented in FIGS. 2c and 4a are generated in ascending order and in steps of one starting from 1, allows by example, in the absence of a given integer, to deduce that this integer does not exist, but especially that there is no superior identifier coming from the same father and therefore with the same prefix, it that is, the prefix corresponding to the father's path.
  • This table allows to quickly know the number of paths that have an identifier, as well as the size of each of these paths. This optimizes:
  • ppcg the maximum number of paths belonging to the ppcg of several concepts is equal to the number of paths of the identifier of the smallest. To browse the table of the identifier with the fewest paths is enough to calculate a ppcg. 1 Advantages inherent to the hash map constituting the lexical specific data structure:
  • the lattice represents the organization of the set of words of a dictionary for example, as a function of the succession of letters that make up this word.
  • the upper element of the lattice in this situation, is the universal concept which is expressed without any letter and the lower element of the lattice is the empty concept representing all the concepts of the lattice.
  • a synonym is located in the trellis through the sequence of letters that defines a path between the upper element and the synonym. There are so many paths that the concept has synonyms.
  • the depth of the occurrences of a concept in the lattice is fixed by the number of letters of each of its synonyms.
  • the identifier of a concept corresponds to the set of successions of letters which form the synonyms of this concept.
  • FIG. 4a Another application of the hierarchical numerical structure represented in FIG. 4a is given in relation with FIG. 5b.
  • the trellis represents the organization of a family based on the succession of parents that engendered a family member.
  • the upper element of the lattice representing the universal designer is none other than the first being at the origin of all civilization, which has no date of birth, and the lower element represents a hypothetical or virtual descendant from the union of all humans in the lattice.
  • a member of the family is thus represented in the lattice by the sequence of birth dates that define a path between the upper element and the individual of the lattice.
  • the depth of the occurrences of an individual in the lattice is determined by the number of known ancestors of each of these occurrences.
  • the identifier of an individual corresponds to all the succession of birth dates that form the ascendants of this individual.
  • the trellis coded is a trellis of primitive and / or defined concepts and that, consequently, the identifiers are formed by sequences of whole numbers, as previously described in FIG. description, an example of using the hierarchical generic data structure in different situations will now be given in connection with Figures 5c and 5d.
  • FIG. 5c represents a current path calculation process for the addition of a concept A, son of a father concept E, as represented for example in FIG. 2a, 2b or 2c.
  • a priori the concept E, before addition as a leaf of the lattice considered, the path from the universal concept T to the sheet E whose hash table is symbolized by a cross is given by the following keys successive hash tables that is to say the path 112 in Figure 5c.
  • the addition of the son concept A of the father E concept is simply to add a hash table for the son A concept, this hash table becoming a sheet for the hierarchical generic data structure shown in FIG. 5c or, more particularly, for the branch of the latter.
  • the key assigned to the hash table of the child concept A is the numerical value 1 and the path is then the concatenation of the previous path of the parent node E and the value key 1, the path becoming 1121, as shown in Figure 5c.
  • FIG. 5d Another example of using a hierarchical generic data structure, or a branch thereof, as represented in FIG. 2b, 2c or 4a is illustrated in FIG. 5d for the addition of a new path with merge.
  • two paths related to an added concept With reference to FIG. 5d, the concept A associated with the corresponding node and corresponding for example to the node N 7 ⁇ A, h 7 (1), [11]] and N ' 7 ⁇ A, h 7 (I) 5 [1121] ⁇ has the successive hash tables before merging as shown in Figure 5d, each having the keys formed by integers 1111 respectively 1121, as shown in the aforementioned figure.
  • the merge operation as represented in the same figure then consists in substituting for the two aforementioned paths the common path formed by the prefix 11 of the two paths to which, of course, each of the distinct paths is added, that is to say the paths 11 and 21 as shown in Figure 5d.
  • the aforementioned use can then consist in the particularly advantageous manner is to obtain directly the concept by the hierarchical generic data structure associated with the trellis, from one of the access paths of the identifier associated with the concept and of course at the corresponding node, this generic structure being represented in FIGS. 2c and 4a, or to introduce the denomination of a concept to obtain directly from the specific lexical data structure, represented in FIG. 4b, the concept corresponding.
  • the aforementioned use may further consist of obtaining the name of a concept and / or its identifier from the concept considered or to obtain one of the access paths to the concept from its identifier from the lexical data structure. specific as shown in Figure 4b.
  • the aforementioned extended class allows the definition of specific functions hereafter:
  • the nodes of the hash table thus constituted are composed of an information bearing object, that is to say of a concept for example and of a pointer to another hash table of the same extended class.
  • Two primitive access functions then make it possible to return from a key value that is the object bearing the stored information, or the following table of hash table via the aforementioned pointer associated with the key value considered. .
  • the two access functions make it possible to define the access functions successively from a path as described previously in the description.
  • Other primitive functions may be dedicated to modification functions from an integer or a path, as described previously in connection with FIGS. 5b and 5c, for example.
  • the hierarchical generic data structure and the specific lexical data structure may be defined in an "Ontology" class in which:
  • the hierarchical generic data structure is the aforementioned extended class in which the keys are integers that can represent up to the value 2 31 and where the objects are objects of class "HashMaptreenode” allowing recursion, each node containing a concept ;
  • the specific lexical data structure is a hash table in which the keys are the denominations of the concepts, that is to say strings of characters, the objects are concepts comprising at least one identifier in the form of an array of paths. and a path is an array of integers.
  • the use of the aforementioned data structures consists in verifying, from the specific lexical data structure, that the number of access paths of the identifier of the first concept A, equal to the number of arrays of numbers. integers present in the table of integer arrays associated with the first concept A, is in fact greater than the number of paths of the identifier of the second concept B, itself equal to the number of arrays of integers present in the array of integer tables associated with the second concept B.
  • the hierarchical generic data structure may advantageously be used to perform a subsumption test verifying that a first concept A subsumes a second concept B.
  • this use consists in verifying, from the hierarchical generic data structure represented in FIG. 4a, that a sequence of the keys of the hash table, obtained by one of the access paths to the first concept
  • A is a prefix of one of the key sequences of the hash table obtained by one of the paths to the second concept B.
  • the corresponding use then consists in consulting the hash tables represented in FIG. 4a or in FIG. 2c.
  • the concept E subsumes the concept A, because one of the paths of the first concept E constitutes a prefix of one of the key sequences of the hash table obtained by one of the paths to the second concept A.
  • the corresponding use consists, at least, from the hierarchical generic tree structure associated with each successive concept of the subset of concepts, accessible via the specific lexical data structure, to be calculated.
  • intersection of the key sequences of the hash tables corresponding to the access path of the successive concepts pairs of the subset of concepts in order to preserve the resulting intersection paths via the hierarchical tree structure, then, to be retained as a set generalizables least common, the concept or concepts obtained from the hierarchical generic data structure associated with the trellis, comprising at least one of these access paths equal to at least one of the calculated intersection access paths.
  • the smaller common set generalizing ppcg of A and F is therefore formed by the concepts associated with the leaves of the corresponding hash table and we obtain, in particular, the denomination of the concepts B and E on the lexical data structure. specific shown in Figure 4b. - What is the smallest common generalizing ppcg of concepts A and F previously mentioned and the concept H (21 113)?
  • the petition of the latter can then be modified by a boat trip from Dar Es Salam to the city of Zanzibar where journeys by train from Dar Es Salam and other mainland cities.
  • FIG. 6a A more detailed description of a trellis coding device representative of a hierarchy of elements, according to the subject of the present invention, will now be given in connection with FIG. 6a.
  • the coding device of a trellis object of the invention allows the coding of a trellis having at least a plurality of nodes, at each node of the trellis being associated a considered element and its identifier.
  • the identifier is formed by at least one series of objects, each series of objects defining a path between the upper terminal of the trellis and the element considered via the successive elements fathers.
  • the identifier ID thus includes all the sequences of objects each defining a path to one of the fathers of the element considered at the upper bound to which is added an object representative of this element considered, as described in connection with the figures 1a and 1b.
  • the coding device of a trellis object of the invention thus comprises a lattice acquisition module subjected to the coding process, as described previously in the description.
  • the lattice acquisition module may consist of a module M 0 , which, via the central processing unit and the input I / O output member, provides access to the lattice considered provided. for example, by an ontology provider, the corresponding trellis, as represented for example in FIG. 1a or 2a, is then stored in random access memory RAM of the device or, where appropriate, in a specific storage memory that is not shown in the drawing.
  • the device according to the invention furthermore comprises a module M 1 for calculating a hierarchical generic data structure by association with the lattice acquired from a recursive n-ary tree structure, as described previously in the description, in conjunction with Figure 2c or Figure 4a. This structure is such that each node of the tree structure is associated with an element and a hash table to which is assigned a key formed by the object representative of this element.
  • this tree data structure is established in the form of a recursive hash table having as many entries as there are successive child nodes under the upper bound. It makes it possible to establish a direct correspondence between a path defined in the identifier associated with a element and this element.
  • the coding device which is the subject of the invention comprises a PM module for storing the hierarchical generic data structure mentioned above.
  • the PM storage module of the hierarchical generic data structure is a non-volatile programmable memory, for example, allowing not only to carry out the actual coding and the storage of the data structure. generic hierarchy but also, the update and / or modification of the latter.
  • the coding device which is the subject of the invention makes it possible to code any trellis in which the elements come from a hierarchy of concepts belonging to an ontology.
  • the hierarchy of concepts comprises primitive concepts and at least one definite concept satisfying a relation of order between a universal concept, upper limit of the lattice, and an empty concept, lower limit of the lattice.
  • the sequences of objects forming the identifier of a primitive or defined concept are sequences of integers as described previously in the description.
  • the device which is the subject of the invention further comprises a module M 2 for calculating a specific lexical data structure formed by associating the primitive or lattice concepts via a hash table whose key is the denomination of the concept primitive or defined in the hierarchical generic data structure and in which only the paths between the concept and the universal concept are included, this hash table being represented in FIG. 4b previously in the description.
  • the above-mentioned calculation modules M 1 and M 2 thus make it possible to implement the coding method as illustrated previously in the description in connection with FIGS. 1b and 3, and are advantageously constituted by computer program modules called in RAM working memory and executed by the CPU of the encoding device shown in Figure 6a.
  • the aforementioned consultation and interpretation device conventionally comprises a central processing unit CPU, a working memory RAM and an input input I / O unit.
  • the device represented in FIG. 6b furthermore comprises a module M 0 for acquiring a data structure as represented in FIG. 4a and an interrogation module M 3 for the aforementioned coded representation data structure of the trellis for get a concept directly from the hierarchical generic data structure associated with the trellis, from one of the access paths of its identifier.
  • the acquisition module M 0 may be constituted by a software module making it possible to acquire from the ontology provider a hierarchical generic data structure as represented in FIG. 4a, this data structure having calculated using the coding device shown in FIG. 6a.
  • the device for consulting and interpreting a trellis representative of a hierarchy of elements further includes a module for acquiring a specific lexical data structure as described in connection with with Figure 4b.
  • This module can be constituted by the previously mentioned module M 0 .
  • the aforementioned acquisition module may consist of a program module executed by the central processing unit CPU of the device represented in FIG. 6b.
  • the device according to the invention shown in the aforementioned figure further comprises an interrogation module of the specific lexical data structure stored for example in working memory RAM or in a memory of storage, not shown in the drawing, for introducing the name of a concept to obtain directly from this specific lexical data structure the corresponding concept, as described above in the description.
  • the interrogation module bears the reference M 4 in FIG. 6b.
  • the aforementioned module M 3 for interrogating the trellis coded representation data structure making it possible to directly obtain the concept from the hierarchical generic data structure, respectively the module M 4 enabling to introduce the name of a concept to obtain directly from the specific lexical data structure the corresponding concept, can be constituted by computer program modules executed by the aforementioned central CPU unit, after call of the latter in RAM working memory.
  • the consultation and interpretation device, object of the invention furthermore comprises a module M 5 for cross-interrogating the data structure, starting from the hierarchical generic data structure respectively.
  • the specific lexical data structure can advantageously be formed by a program module making it possible to use either the hierarchical generic data structure represented in FIG. 4a or the specific lexical data structure represented in FIG. 4b, this program module being advantageously able to be either independent or directly integrated in a reasoning module part of the consultation and interpretation device of a mesh according to the subject of the present invention.
  • the reasoner module M 5 may comprise at least one sub-module in the form of a computer program for executing a test of absence of subsumption as described previously in the description, a subsumption test sub-module as described previously, and a sub-module for calculating a set of commoner smaller common concepts of a subset of concepts as previously described in the description in connection with Figures 4a and 4b.
  • the device forming the subject of the invention 6a, and the ontology consultation and interpretation device, as shown in FIG. 6b can be integrated into a single device to form an ontology management device for example.
  • the device according to the invention as represented in FIG. 6a or 6b or the ontology management device comprising the functionalities of the two preceding devices are implemented from a computer program as well as previously mentioned.
  • the invention also covers a computer program product recorded on a storage medium, for execution by the central processing unit of a computer or a dedicated device, which is remarkable in that when execution, this program product executes the method of encoding a trellis representative of a hierarchy of elements, as previously described in the description in connection with FIGS. 1b and 2b, 2c or 3.
  • this program product executes the method of encoding a trellis representative of a hierarchy of elements, as previously described in the description in connection with FIGS. 1b and 2b, 2c or 3.
  • the Corresponding program product makes it possible to establish a representation data structure of this lattice as represented in FIGS. 2c and 4a respectively in FIG. 4b.
  • the invention also covers a computer program product recorded on a storage medium, for execution by the central processing unit of a computer or a dedicated device, which is remarkable in that when executing this program product performs the functions of consultation, respectively execution, interpretation, interrogation and testing of a device as described in connection with Figure 6b.
  • the method, the hierarchical and specific lexical generic data structures obtained by the implementation of the method and the ontology consultation device are fully applicable to their installation on computer terminals, computers or mobile telephone terminals directly connected to TINTERNET, because of the easy use of these by any unsuspecting user in the handling of ontology descriptions, by means of classical languages such as OWL.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne un procédé de codage d'un treillis représentatif d'une hiérarchie d'éléments (O<SUB>i</SUB>) et comportant une pluralité de noeds (N<SUB>i</SUB>), à chaque noed et élément étant associé en identifiant (ID<SUB>i</SUB>), formé par au moins une suite d'objets, chaque suite d'objets définissant un chemin d'accès à la borne supérieure (T) du treillis de l'un des éléments pères successifs de l'élément considéré auquel est ajouté l'identifiant de l'élément (O<SUB>i</SUB>). Il consiste à établir une structure de données générique hiérarchique H{N<SUB>i</SUB>,O<SUB>i</SUB>,h<SUB>i</SUB>(C<SUB>i</SUB>),ID<SUB>i</SUB>}<SUP>N</SUP> <SUB>1</SUB>

Description

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 : Affïnement 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 el inférieur commun selon les relations : el < eS et e2 < eS el > el et e2 > el.
Dans ces relations, les symboles > et < désignent la relation d'ordre ou hiérarchie précitée.
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 la, exemple dans lequel la relation d'ordre du treillis est la relation d'inclusion ç= : _LçAçBçCçDçT ;
-LçGçT ;
±çFçEçC ;
AcE
FcB. 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 la 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) -L 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 : BcD ; BcT.
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 Prédicat 1 çJPredicat2. Les concepts vide _L 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 J_ 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 la, 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 pjus p_etit 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 œuvre 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 LRI3 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
FuIl, 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 œuvre, 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 J_ 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 œuvre 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 œuvre 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 nœuds, à chaque nœud 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 œuvre 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 nœuds, à chaque nœud 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 œuvre 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 nœuds, à chaque nœud 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 nœud 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 nœuds 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 nœud parmi un ensemble de nœud sans pour autant avoir à vérifier chacun des nœuds 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 du 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 nœuds 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 nœuds, à chaque nœud 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 nœud 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 nœuds 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 œuvre 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 la relative à un treillis codé selon un processus de l'art antérieur,
- la figure Ib représente, à titre illustratif, les étapes essentielles de mise en œuvre 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 nœuds à 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 la où, chaque élément est formé par un concept primitif ou par un concept défini, à chaque nœud 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 Ib, 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 œuvre 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 hachage 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 nœuds fils successifs sous la borne supérieure du treillis ; - 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 œuvre 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 œuvre 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 œuvre d'un arbre généalogique ;
- la figure 5 c 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 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 Ib.
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 : {±<Oi<T}. 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 XI5 présentée par Monsieur Alain Bidault et intitulée " Affînement 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 la que le treillis comporte une pluralité de nœuds et qu'à chaque nœud du treillis est associé un élément considéré représenté de A à G sur la figure la 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éments A à 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 la, on rappelle que l'identifiant associé à chacun des nœuds 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é IDj pour désigner l'identifiant considéré.
Ainsi, pour l'élément A, l'identifiant IDj est égal à [aaaa aaba].
En référence à la figure Ib, le procédé de codage, objet de l'invention, consiste pour tout élément O; du treillis associé à un nœud 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 nœud Nj de la structure arborescente étant associé un élément Oj du treillis et une table de hachage notée h;(Cj) à laquelle est attribuée une clé Cj formée par l'objet représentatif de l'élément O; considéré.
Ainsi, à l'étape A de la figure Ib on associe à chaque nœud N; du treillis l'objet correspondant à ce nœud Oi et une table de hachage hj(Cj) et bien entendu l'identifiant ID1.
Une telle association peut être effectuée pour tout niveau successif et pour tout nœud 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 nœud 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 Oj associé à un nœud N; 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 O; considéré à la borne inférieure du treillis.
Cette opération est représentée par la relation :
Oj = ± ? à l'étape B de la figure Ib. 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+l 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 nœuds 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),IDi}!"f . La table de hachage récursive précitée comporte autant d'entrées qu'il existe de nœuds 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é Ci attribuée à chaque table de hachage, cette clé permet un accès direct à l'élément Oi auquel la table de hachage est associée par l'intermédiaire du nœud Nj du treillis et bien entendu à l'identifiant EDj 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 Oj associé à chaque table hj(Cj) en accédant directement à l'objet par l'intermédiaire de la clé Ci, 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 œuvre 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 nœuds 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 ςz concept 2 où çr 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 JL, lesquels n'apparaissent pas explicitement dans la hiérarchie des concepts. Le concept universel T et le concept vide J_ 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 œuvre 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 œuvre conformément au mode de réalisation précédemment décrit avec la figure Ib sera maintenant décrit et explicité en liaison avec la figure 2b, lorsque ce procédé est mis en œuvre sur le treillis représenté en figure 2a.
Lors de la mise en œuvre des étapes A, B, C, D de la figure Ib, l'on procède ainsi à l'association à chaque nœud N; et pour les niveaux successifs n ainsi que précédemment décrit, de chaque élément Oj correspondant aux concepts primitifs A à G et aux concepts définis H et I, à chaque nœud du treillis Nj, i étant un indice arbitraire, étant associée une table de hachage hi(Q) l'identifiant étant bien entendu maintenu.
Ainsi, par la mise en œuvre 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 nœud, est associé un élément et une table de hachage à laquelle est attribuée la clé Q 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 nœud Ni s'écrivent en liaison avec la figure 2a :
Figure imgf000021_0001
N2{G,h2(2)5[2]} N3(Ch3(I)5[11]}
Figure imgf000021_0002
N5(E5h5(2)5[112]}
N6(H,h6(3)5[113 23]}
N7(A5Ii7(I)5[I lIl 1121]} N8(F,h8(2)5[l 112 1122]}
N9{I.h9(l),[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 nœud Nj peuvent correspondre plusieurs chemins d'accès, les chemins d'accès 1112 et
1122 pour le nœud 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 nœud considéré est représenté un nœud spécifique les nœuds N6, N7, N8 et Ng relatifs au concepts H, A, F et I étant ainsi déployés pour représenter un seul nœud par chemin d'accès.
On comprend ainsi que deux nœuds tels que N7 et N7 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 I5 ainsi que représenté sur la figure 2c. Il en est de même pour ce qui concerne les nœuds N8 et Nr 85 N9 et N'9 et N6 et N6.
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 nœud et un seul même si deux nœuds ou plusieurs nœuds peuvent avoir des tables de hachage 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 œuvre 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 nœud père et de la table de hachage permettant d'associer chacune des branches avec ses nœuds fils.
Chaque table de hachage comporte ainsi un pointeur vers la table de hachage associée au nœud 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 nœuds 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 données telle que représentée en figure 2c.
Enfin, on indique que dans un mode de mise en œuvre 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 l.
Ainsi, chaque identifiant comporte au moins un chemin d'accès à un nœud 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 hj(Cj) 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 œuvre quelque soit le langage utilisé et, en particulier, sur les points ci-après : - bien que le nombre de nœuds 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 œuvre 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 Ib 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 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(PCbDCbIn(CO1IDi).
Dans la structure générique hiérarchique précitée, PCj 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{(Cj) et d'un identifiant ID;. Bien entendu, les concepts primitifs et définis précités vérifient la relation d'ordre :
{lçPCi,DCkçT}.
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 nœuds 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 nœuds et des concepts primitifs PQ et définis DCk et de leurs identifiants IDj à établir la table de hachage notée T[("PCi",CHi)/("DCk",CHk)] .
L'étape E est exécutée pour tous les nœuds 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 PCi, Dk=I ?
Sur réponse négative au test F une étape G est appelée laquelle consiste à passer au niveau suivant n=n+l pour réitérer l'étape E sur les nœuds du niveau n+1.
L'opération est poursuivie tant que le concept vide n'est pas atteint. 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[('TCi",CHi)/("DCk",CHk)]. En référence à la figure 3 on indique que dans la structure de données lexicale spécifique :
- "PCj" désigne la dénomination du concept PCj,
- "DCk" désigne la dénomination du concept défini DCk,
- CHi désigne l'ensemble des chemins d'accès au concept primitif PCj à partir du concept universel T5
- 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 le concept considéré et le concept universel.
Sur la figure 3, le tableau de tableaux de nombres entiers est 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 nœuds et à chaque nœud 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 nœud 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 par une table de hachage récursive comportant autant d'entrées qu'il existe de nœuds 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 nœud, 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é (EU)- Les branches sont constituées par les différentes entrées des tables de hachage. Les feuilles sont les nœuds dont la carte de hachage est vide. Une carte de hachage vide est symbolisée par une croix dans le carré correspondant (KI). 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 Ib, 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. 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 nœud 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 Ia1(I) au nœud Nl . la deuxième celle de la clé 1 de la table de hachage h3(l) du nœud N3 et la troisième correspond à l'entrée de la clé 3, c'est-à-dire de la table de hachage h6(3) du nœud N6 de la figure 2c. Le nœud 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 nœud 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 nœud 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ée précédemment dans la description.
On conçoit ainsi Hue 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 nœud 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 représentent le chemin d'accès précité. Enfin, on rappelle que, en référence à la figure 4a, les nœuds 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 œuvre 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 :
Figure imgf000029_0001
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 nœud 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 les suites 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 œuvre 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. 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 nœud racine ou concept universel T est le nœud 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. 1 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 Ib5 l'on effectue un second parcours de ces derniers pour initialiser la structure de données H{PCj,DCk,hj(Cj),IDi} 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 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 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 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 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 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 nœud 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 nœud correspondant et qui correspond par exemple au nœud N7{A,h7(l),[l l ll]} et N'7{A,h7( I)5[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 nœud du treillis et de la structure n-aire correspondante est alors grandement facilitée. 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 nœud 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, le 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 œuvre 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 œuvre 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 nœuds 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. 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 nœud 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(1112 1122) ? 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. 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 1er 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 œuvre 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 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 : - Quel est le plus petit commun généralisant ppcg de A (IlIl 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 nœud 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 œuvre 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 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 œuvre des structures de données génériques hiérarchiques et lexicales spécifiques 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 treillis comportant au moins une pluralité de nœuds, à chaque nœud 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 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 la et Ib. 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 I/O, 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 M0, lequel, par l'intermédiaire de l'unité centrale de traitement et de l'organe d'entrée sortie I/O, 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 la 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 M1 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 nœud 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 nœuds 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 é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 œuvre 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 œuvre du procédé de codage tel qu'illustré précédemment dans la description en liaison avec les figures Ib 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. 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 de 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 M0 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 M0 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 œuvre 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 M0 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 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 sous- module 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 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 œuvre à 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 Ib 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ériques hiérarchiques et lexicales spécifiques obtenues par la mise en œuvre 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 à TINTERNET, 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.

Claims

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 nœuds, à chaque nœud 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 nœud 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 nœuds 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 nœud père et de la table de hachage permettant d'associer chacune desdites branches avec ses nœuds fils ;
- répertorier lesdits nœuds 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 nœud 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 nœud 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 nœuds, à chaque nœud 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 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 nœud 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 nœuds 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 - 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érisé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; - 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 nœuds, à chaque nœud 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 nœud 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 nœuds 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 nœud 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 nœuds 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.
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.
PCT/FR2006/001506 2005-07-21 2006-06-28 Procede et systeme de codage d'un treillis representatif d'une hierarchie d'elements Ceased WO2007010100A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0507762 2005-07-21
FR0507762A FR2880715A1 (fr) 2005-07-21 2005-07-21 Procede et systeme de codage d'un treillis representatif d'une hierarchie d'elements

Publications (2)

Publication Number Publication Date
WO2007010100A2 true WO2007010100A2 (fr) 2007-01-25
WO2007010100A3 WO2007010100A3 (fr) 2007-10-18

Family

ID=36215619

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2006/001506 Ceased WO2007010100A2 (fr) 2005-07-21 2006-06-28 Procede et systeme de codage d'un treillis representatif d'une hierarchie d'elements

Country Status (2)

Country Link
FR (1) FR2880715A1 (fr)
WO (1) WO2007010100A2 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107924410A (zh) * 2015-08-26 2018-04-17 甲骨文国际公司 用于支持分层数据对象的高效路径导航的与分层数据对象的二进制编码相关的技术
CN111527487A (zh) * 2017-12-28 2020-08-11 卓普网盘股份有限公司 用于内容项同步的唯一标识符的指配和再分配
US20220291964A1 (en) * 2021-03-12 2022-09-15 International Business Machines Corporation Workflow memoization

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722548B (zh) * 2021-08-30 2024-07-16 北京天空卫士网络安全技术有限公司 一种业务系统中引用关系的处理方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ALAIN BIDAULT: "Affinement de Requêtes Posées à un Mödiateur" THÈSE POUR OBTENIR LE GRADE DE DOCTEUR ÈS SCIENCES DE L'UNIVERSITÉ PARIS XI ORSAY SPÉCIALITÉ INFORMATIQUE - DIAPOS, [Online] no. 6932, 8 juillet 2002 (2002-07-08), XP002379525 Extrait de l'Internet: URL:http://www.lri.fr/~bidault/21.htm> [extrait le 2006-05-03] cité dans la demande *
ANONYME: "General Architecture" PICSEL, [Online] 15 octobre 2004 (2004-10-15), pages 1-2, XP002379527 Extrait de l'Internet: URL:http://www.lri.fr/~picsel/> [extrait le 2006-05-03] cité dans la demande *
ANONYME: "Linked Lists, trees, hash Tables (Data Structures)"[Online] 31 décembre 2001 (2001-12-31), XP002379526 Extrait de l'Internet: URL:http://vergil.chemistry.gatech.edu/res ources/programming/c-tutorial/lists.html> [extrait le 2006-05-03] *
BIJAN PARSIA AND EVREN SIRIN: "Pellet: An OWL DL Reasoner" ISWC 2004, [Online] 11 novembre 2004 (2004-11-11), XP002379528 Extrait de l'Internet: URL:http://iswc2004.semanticweb.org/poster s/PID-ZWSCSLQK-1090286232.pdf> [extrait le 2006-05-03] cité dans la demande *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107924410A (zh) * 2015-08-26 2018-04-17 甲骨文国际公司 用于支持分层数据对象的高效路径导航的与分层数据对象的二进制编码相关的技术
CN107924410B (zh) * 2015-08-26 2022-05-31 甲骨文国际公司 用于支持分层数据对象的高效路径导航的与分层数据对象的二进制编码相关的技术
CN111527487A (zh) * 2017-12-28 2020-08-11 卓普网盘股份有限公司 用于内容项同步的唯一标识符的指配和再分配
US12135733B2 (en) 2017-12-28 2024-11-05 Dropbox, Inc. File journal interface for synchronizing content
US12169505B2 (en) 2017-12-28 2024-12-17 Dropbox, Inc. Updating a local tree for a client synchronization service
US20220291964A1 (en) * 2021-03-12 2022-09-15 International Business Machines Corporation Workflow memoization

Also Published As

Publication number Publication date
FR2880715A1 (fr) 2006-07-14
WO2007010100A3 (fr) 2007-10-18

Similar Documents

Publication Publication Date Title
KR102859518B1 (ko) 지식 그래프 자동 구축
US10496749B2 (en) Unified semantics-focused language processing and zero base knowledge building system
WO2002067142A2 (fr) Dispositif d&#39;extraction d&#39;informations d&#39;un texte a base de connaissances
US12242503B1 (en) Copilot architecture: network of microservices including specialized machine learning tools
FR2896603A1 (fr) Procede et dispositif pour extraire des informations et les transformer en donnees qualitatives d&#39;un document textuel
FR2933793A1 (fr) Procedes de codage et de decodage, par referencement, de valeurs dans un document structure, et systemes associes.
WO2006120352A1 (fr) Dispositif et procede d&#39;analyse semantique de documents par constitution d&#39;arbres n-aire et semantique
FR2926378A1 (fr) Procede et dispositif de traitement pour l&#39;encodage d&#39;un document de donnees hierarchisees
FR2929778A1 (fr) Procedes et dispositifs de codage et de decodage binaire iteratif pour documents de type xml.
FR3004828A1 (fr) Procede et dispositif d&#39;extraction automatique de themes a partir d&#39;au moins un document contenant du texte
WO2007010100A2 (fr) Procede et systeme de codage d&#39;un treillis representatif d&#39;une hierarchie d&#39;elements
CN119149676B (zh) 基于意图识别的检索增强生成、问答方法及系统
FR2907567A1 (fr) Procede et dispositif de generation de motifs de reference a partir d&#39;un document ecrit en langage de balisage et procedes et dispositifs de codage et de decodage associes.
CA2583118C (fr) Dispositif de traitement de donnees a definition formelle
CN117573096B (zh) 一种融合抽象语法树结构信息的智能代码补全方法
EP3248111A1 (fr) Procédé de lemmatisation, dispositif et programme correspondant
FR2902913A1 (fr) Procede et dispositif de codage d&#39;une note de similarite semantique et spatiale entre concepts d&#39;une ontologie memorisee sous forme de treillis numerote hierarchiquement
FR2901037A1 (fr) Procede et dispositif de generation de motifs structurels de reference aptes a representer des donnees hierarchisees
Gyawali Surface Realisation from Knowledge Bases
Schmidt et al. Feature grammars
WO2007014986A2 (fr) Procédé et système de codage et de représentation synthétique d&#39;une ontologie partiellement saturée, structure de données, et serveur de structure de données correspondants
van Bakel et al. Condorcet annual report
FR2939538A1 (fr) Procede de recherche de correspondances entres differentes sources de donnees.
FR3060800A1 (fr) Procede et dispositif d&#39;indexation automatique d&#39;un document textuel
Damay Dynamic Decision Trees and Community-based Graph Embeddings: towards Interpretable Machine Learning

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06778699

Country of ref document: EP

Kind code of ref document: A2