Dynamic Ontology GUI
Automatic Classification/Generalization Based Knowledge Integration GUI
* Early version (version 3.0) of Dynamic Ontology GUI and the related document have been prepared in collaboration with Karim BOUZOUBA.
To define and explore (graphically) a multi-lingua ontology, the user can use the LexiconOntology GUI. In that GUI, the user can update manually his/her ontology with new situations, definitions, rules, etc. To update automatically the ontology/KB/memory, Amine Platform provides the special engine Dynamic Ontology engine ; or Automatic Classification/Generalization Based Knowledge Integration Engine. The Dynamic Ontology GUI gives the user the opportunity to update graphically and automatically an ontology using the dynamic ontology engine. Dynamic Ontology GUI is available from AminePlatform GUI or directly by calling the class aminePlatform.guis.dynamicKnowledgeIntegrationGUI.DynamicKnowledgeIntegrationGUI
In the Dynamic Ontology GUI, the user can still use the options available in the Ontology/KB GUI. To update automatically an ontology, the user has first to open an existing ontology or create a new one (Figure 1).
Figure 1: Opening an existing ontology for dynamic integration/acquisition
The Dynamic ontology GUI is almost the same as the Ontology/KB GUI except that it provides functionalities for dynamic/automatic integration/acquisition of knowledge; dynamic formation and update of the ontology/KB/memory. These functionalities are represented by two buttons (Figure 1): "Classification" for Classification-Based Knowledge Integration, "Generalization" for Generalization-Based Knowledge Integration. Once the integration mode is selected by user, the system provides a frame that asks the user to select the type of knowledge to integrate (Figure 2). For instance, Figure 2 illustrates the case where Classification mode was selected (by activation of button "Classification"), the system asks the user which Conceptual Structure (CS) he/she wants to integrate/classify.
Figure 2: System asks user what kind of CS he/she wants to integrate
Selection of "Definition" will initiate Definitions Dynamic Classification Process. See Definition Integration Process for examples. Selection of "Situation" will initiate Situations Dynamic Classification Process. See Situation Integration Process for examples. Selection of "CSRule" will initiate Rules Dynamic Classification Process. See CSRules Integration Process for examples.
The sequence of steps in most of these processes is the same: the user has to select the integration mode (Classification or Generalization) and then select the type of CS to integrate. Next, the user should enter and edit his/her new description to integrate (definition or situation or rule). Then, he/she has to initiate the integration process by performing a click on the button that specifies the integration mode: Classify Button or Generalization Button.
The next step concerns pertinent types: for every automatic integration, the Dynamic Ontology Engine needs to know the different pertinent types from which the new description should be integrated (Figure 3). Types that are specified in the description are proposed in a multiple selection list and the user has to select a subset of the list (in Figure 3, user selects the two types Cat and Eat).
Figure 3: Choosing the pertinent types
Then, another pertinent types list is proposed: it is the list of super-types of the pertinent types. If none of these super-types is to be considered as pertinent, the user has to close the Multiple Selection window to proceed to the next step.
At the end of the integration, a message is prompted to the user to let him/her know that the integration is done successfully.
To be able to follow all the steps of the integration process, the user can check-in/select the "Trace" button. The trace is displayed on the bottom window of the frame (Figure 4 provides an example). The trace is displayed also in System.out and it is stored in a log file called "dynamicOntologyLog.txt", with the full path aminePlatform/samples/ontology/dynamicOntologyLog.txt. This file can be edited with any text editor to debug or to perform an in-depth analysis of the integration process.
Figure 4: Trace of the integration
Of course, after each integration, the user can see/consult the consequence of the integration on the current ontology/KB/memory, by browsing the "Tree View" or the "Draw View". The user can also integrate many new descriptions: the same frame can be cleared and used for the integration of a new description. The user can also change the mode of the integration (classification or generalization).
At the end of the integration, when the user closes the Dynamic integration frame, the ontology/KB/memory is updated with the new nodes that have been created with the dynamic ontology engine (Figure 5). As shown in Figure 5, the editor points to the situation node that has been added to the ontology for the new situation to classify.
Figure 5: update of the ontology with the new created node