Information Retrieval
by
Adil KABBAJ
Definition information retrieval
Situation information retrieval
Information retrieval process and other components of Amine (like Prolog+CG)
Information retrieval process (IR) searchs to know if a specified description is contained or not in the ontology/KB/memory. The description can be simple (represented by a simple CG) or it can be a complex structure (represented by a compound CG).
Definition Information Retrieval process
Recall that Information Retrieval process corresponds to the simulation of a classification integration process; a classification without any change to the ontology.
Example #1:
This example uses ontology "aminePlatform/samples/ontology/LivingSample.xml".
Does the ontology/KB/memory contains the following definition ?:
[Object:super]-
-Life->[Life],
-Intelligence->[Intelligence]
Figure 1 shows the result: the information retrieval process recognizes that this description is equal/identical to the definition of the type Human.
Figure 1: Information Retrieval (or Question/Answering) I
Figure 2 shows the case where the specified description doesn't exist in the ontology. The information retrieval process provides an additional information: the specified description is more specific than the definition of the type Human.
Figure 2: Information Retrieval (or Question/Answering) II
Figure 3 illustrates the case where the specified description doesn't exist in the ontology, but the information retrieval process recognizes that the specified description is more general than the known type Human.
Figure 3: Information Retrieval (or Question/Answering) III
Example #2
This example uses ontology "aminePlatform/samples/ontology/DefinitionKB.xml".
As illustrated by Figure 4, information retrieval process recognizes that the specified description doesn't exist in the ontology but it is more specific than TT2, TT4 and QQ2_QQ3.
Figure 4: Information Retrieval (or Question/Answering) IV
Figure 5 shows the case where the information retrieval process recognizes that the specified description exists in the ontology; it corresponds to the definition of TT5.
Figure 5: Information Retrieval V
Situations Information Retrieval
Information retrieval process (IR) searches to know if a situation is contained or not in the ontology/memory. The situation can be represented by a simple CG or it can be represented by a compound CG. The aim of the IR is not to answer by “yes” or “no”, but rather to situate the specified situation in the ontology; to determine its neighbourhood: which nodes are “fathers” (minimal generalizations of the specified situation), which nodes are “children” (minimal specialization of the specified situation) and which node is equal to the specified situation. IR calls the dynamic integration process to perform a simulation of the integration of the specified situation (the request) in order to determine its neighbourhood.
As noted before, Information Retrieval is similar to classification, except that the new situation/question is not added to the ontology/KB/memory, and no change is done to the ontology/KB/memory. Figure 6 shows a first example: the user asks if the following information exists in the ontology/KB/memory: [Strong]<-attr-[Cat]<-agnt-[Eat]-obj->[Mouse].
The response is: "No, but the specified situation is more specific than the following description that exists in the ontology/KB/memory: [Cat]<-agnt-[Eat]-obj->[Mouse].
Figure 6: The result of the Information Retrieval I
Figure 7 shows another example: in this case, the specified description does not exist in the ontology/KB/memory but it is more general than the following description that exists in the ontology/KB/memory: [Cat]<-agnt-[Eat]-obj->[Mouse].
Figure 7: The result of the Information Retrieval II
Figure 8 shows a third example: the specified description exists in the ontology/KB/memory.
Figure 8: The result of the Information Retrieval III
Rules Information Retrieval Process
Rule information retrieval process checks if the specified rule exists or not in the current ontology/KB/memory. Like situation information retrieval process, rule information retrieval process locates the nearst generalizations and the nearst specialization of the specified rule.
Figures 9-10 provides an example of Rule Information Retrieval Process: Figure 9 asks if the specified rule exists (or not) in the current ontology/KB/memory.
Figure 9: Ask if the specified rule exists in the ontology/KB/Memory
Figure 10 shows that the specified rule doesn't exist. The system provides in addition the information that the specified rule is more specific than a rule that exist in the ontology/KB/memory.
Figure 10: Result of Rule Information Retrieval
Information retrieval process and other components of Amine (like Prolog+CG)
The following example illustrates the use of IR and, at the same time, it illustrates how IR process can be called easily from a Prolog+CG program.
ask(G, L) :- // call the method ask()which returns an AmineList of results that represents the neighbourhood
getOntology(_ontology),
_rslt is "aminePlatform.engines.dynamicOntology.DynamicOntology":ask(_ontology, G, L),
writeRslt(_rslt), !.
Here is some requests, submitted to Prolog+CG via its console:
?- ask([Robot]<-agnt-[Wash]-thme->[Inanimate], [Wash]).
The description is : EQUAL to/than the known
[Wash #0] -
-Agnt->[Robot],
-Thme->[Inanimate]
The description is : MORE_GENERAL to/than the known
[Wash #0] -
-Thme->[Truck],
-Agnt->[Robot]
The description is : MORE_GENERAL to/than the known
[Wash #0] -
-Thme->[Car],
-Agnt->[Robot]
yes
?-
The IR process identified a situation (that exists already in the ontology) which is equal to the specified description and it returns also two situations that are directly more specific than the specified description.