Centro de Investigación en Computación
www.jesusolivares.com
The Knowledge Portal

mail@jesusolivares.com

XI CO
idioma
Español
 
 
 
Portal

Introduction

MIA Model

LIA Language

Mixed Ontologies

SEA System

User Manual

Publications

Contacts

Interaction among Agents
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:

a) Ontology specification, in this topic, knowledge engineering process are carried out to find the concepts and their structure. Some works related is the CyC project [Lenat 1990] and the FIPA (Federation of Intelligent Agents) specifications.

b) Ontology integration, the goal is to integrate existing ontologies (two or more) to create a bigger (and integrated) one to be used by the formers. The work about this is done by [Farquar 1997] in the Ontolingua project, and [Kashyap 1998] with the Observer project.

c) Ontology Mapping, it is an alternative technique to find concept equivalence among two or more different ontologies. Common words is used despite its ambiguous nature (because one word maps one or more concepts) but as several words are used the rigth concept is found. Adolfo Guzmán and Collaborators work in this line [Guzmán 1998] [Olivares 2002].

d) Ontology Applications, the use of structured concepts is used in several places, for example, a digital library as Michigan University [Weinstein 1997], or to share information among heterogeneous data bases developed by different groups [Huhns 1997].

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.

C Language code for COM
COM Examples

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.

case a) In B are sought two nodes (concepts) pb and cb, so that the words of pb match with most of the words (received) of pa and the words of cb coincide with most of the words (received) of ca; pb is the father, grandfather or great-grandfather of cb. If that is accomplished, then cb is the nearest concept with ca and therefore response is cb and the algorithm is finished.

The follow figure shows a tree-like structure that represents this situation:

COM case a


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):

execuction case a


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:

COM caso b


In the following figure it is shown the execution of the hallar algoritm for the above case (use the casoBa and casoBb files):

ejecución caso b


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:

COM case c


In the following figure it is shown the execution of the hallar algoritm for the above case (use files casoCa y casoCb):

execution case c


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:

COM case d


In the following figure it is shown the execution of the hallar algoritm for the above case (use files casoDa y casoDb):

execution case d



<< LIA Language >> SEA System


© Adolfo Guzmán, Jesús Olivares, Carmen Domínguez Last update june 2003 mail@jesusolivares.com México