Centro de Investigación en Computación |
The Knowledge Portal mail@jesusolivares.com |
MÉ XI CO |
|
|
|
|
|
|
Mixed Ontologies Communication among two persons, machines or a machine and a person involves message exchange using a common language, up to now, it has been solved using translators, even automatic ones, now the problem that we face is related with understanding among the entities involved in the communication process.
Recently people is using ontologies (knowledge structures) to establish
the meaning of the concepts that share two entities that communicate each other.
The work related with ontologies we organize as:
Here is shown a module called Mixed Ontology Comparator (Comparador de Ontologias Mixtas COM).
COM uses two ontologies and a dictionary with words associated with concepts,
those are used to find out the most similar concept from one ontology with
other in the second ontology. No direct map is established among two ontologies,
instead words exchange is done despite the ambiguous nature of the words. Pairs of words are used to reduce the ambiguity.
In COM an algorithm hallar is used to find the most similar concept
from one ontology into other one. This algoritm uses four cases that we explain
with brief examples in the rest of this document. For each case a tree like
structure shows the situation and a snapshot of a screen is presented. The execution of the hallar algorithm is shown in the next figure (this is in the example using ontologies casoAa and casoAb in the examples file): b) If it is found pb but not cb. In this case, it is called recursively the process hallar as pb' = hallar(pa) to confirm that pb is the ancestor of concept of interest (ca). If the pb' found is thing, it means, the highest level concept, the algorithm concludes without success; if not, it is sought in B for each son of pb, that whose properties and values majority, coincide (recursively using hallar) with the corresponding of ca. It is sought in B to the son of pb that has the greater quantity of the properties (and corresponding values) of the concept ca. Children of pb with just a few matching properties or values are rejected. If the candidate cb' analyzed has children, they are analyzed (using hallar recursively) to check if they reasonably match with the children of ca. If it is found a cb' with the desired properties, the algorithm concludes with success indicating the sought concept. Otherwise cb' is sought among the sons of the father (in B) of pb, it is, among the brothers of pb; if necessary, among the sons of the sons of pb, it is, among the "nietos" of pb. If it is not find out a cb', then the nearest to ca is pb, therefore hallar returns the note son_of_pb and the algorithm concludes. For example, if A sends the pair (kiwi, fruit), and B has the concept fruit but doesn't the concept kiwi nor any fruit similar, in this case, the word kiwi (send by A) is received and translated by B into son_of_fruit, it means "some fruit I doesn't know" or "I do not have in my ontology". The next figure shows a tree-like structure that represents this case: In the following figure it is shown the execution of the hallar algoritm for the above case (use the casoBa and casoBb files): c) If it is found cb pero does not pb, it is sought if the grandfather in B of cb is similar to pa, or if the great-granfather of cb in B is similar to pa. If it is found that, then the concept in B more similar to pa grandfather or the great-grandfather of cb and the algorithm concludes. If it is not found, then it is verified if most of the properties (and their corresponding values) of ca coincide with those of cb and if most of the children of ca coincide (using hallar) with most of the children of cb; if the properties and the children coincide, then response is cb and the algorithm concludes although may not have been found in B to the pb that correspond to the concept pa in A. If only a part of properties and children are similar then response is probably_cb and concludes the algorithm. If no property neither children are similar, response is not_found and concludes the algorithm. In the following figure it is presented a tree that represents this case: In the following figure it is shown the execution of the hallar algoritm for the above case (use files casoCa y casoCb): d) If it is not found nor cb neither pb, then the response is not_found nor similar and the algorithm concludes. the following figure it is presented a tree that represents this case: In the following figure it is shown the execution of the hallar algoritm for the above case (use files casoDa y casoDb): |