**4.1. The case-based reasoning engine**

Keeping in mind that our final goal is to reformulate queries in the ontology to queries in another with least loss of semantics, we come to a process for addressing complex relations between ontologies. CBR is widely discussed in the literature as a technology for building information systems to support knowledge management, where metadata descriptions are used to characterize knowledge elements. CBR is a paradigm of problem solving that solves a new problem, in our case a new search, remembering a similar previous situation and reusing information and knowledge of that situation. Recovering one solves a new problem or more previously experienced cases, reusing the case, reviewing, and retaining. This approach when a description of the current problem is input to the system, the reasoning cycle may be described by the following processes **Figure 3**.

The system retrieves the closest matching cases stored in a case base. Reuse a complete design where case-based and slot-based adaptation can be hooked, provided. If appropriate, the validated solution is added to the case for use in solving future problems. Review the proposed solution, if necessary. Given that the proposed result may be inadequate, this process can correct the first proposed solution. Keep the new solution as part of a new case. This process allows CBR to learn and create a new solution. The solution is validated by comments from the user or the environment.

In our CBR application, problems are described by metadata concerning desired characteristics of an industry resource, and the solution to the problem is a pointer to a resource described

**Figure 2.** System architecture of OntoEnter.

**Figure 3.** Case-based reasoning cycle in OntoEnter.

as a vocabulary to define complex and multi-relational case structures to support CBR processes. Our system works by comparing objects that can be retrieved through heterogeneous repositories and capturing a semantic view of the independent world of data representation.

Keeping in mind that our final goal is to reformulate queries in the ontology to queries in another with least loss of semantics, we come to a process for addressing complex relations between ontologies. CBR is widely discussed in the literature as a technology for building information systems to support knowledge management, where metadata descriptions are used to characterize knowledge elements. CBR is a paradigm of problem solving that solves a new problem, in our case a new search, remembering a similar previous situation and reusing information and knowledge of that situation. Recovering one solves a new problem or more previously experienced cases, reusing the case, reviewing, and retaining. This approach when a description of the current problem is input to the system, the reasoning cycle may be

The system retrieves the closest matching cases stored in a case base. Reuse a complete design where case-based and slot-based adaptation can be hooked, provided. If appropriate, the validated solution is added to the case for use in solving future problems. Review the proposed solution, if necessary. Given that the proposed result may be inadequate, this process can correct the first proposed solution. Keep the new solution as part of a new case. This process allows CBR to learn and create a new solution. The solution is validated by comments from

In our CBR application, problems are described by metadata concerning desired characteristics of an industry resource, and the solution to the problem is a pointer to a resource described

**4.1. The case-based reasoning engine**

128 Knowledge Management Strategies and Applications

described by the following processes **Figure 3**.

the user or the environment.

**Figure 2.** System architecture of OntoEnter.

by metadata [25]. The development of a quite simple CBR application already involves a number of sttif, such as collecting case and background knowledge, modeling a suitable case representation, defining an accurate similarity measure, implementing retrieval functionality, and implementing user interfaces. CBR case data could be considered as a portion of the knowledge (metadata) about an OntoEnter object [26]. Every case contains both description problem and the associated solution.

Compared to other AI approaches, CBR reduces the effort required to acquire knowledge and representation significantly, which is undoubtedly one of the main reasons for the commercial success of CBR applications. However, implementing a CBR application from scratch remains a time-consuming software engineering process and requires a lot of specific experience beyond pure programming skills [27]. In this work, we have chosen framework jColibri to develop the intelligent search.

JColibri is a java-based configuration that supports the development of knowledge intensive CBR applications and helps in the integration of ontology in them [28]. The metadata descriptions of the resources and objects (cases) are abstracted from the details of their physical representation and are stored in the case base. This way the same methods can operate over different types of information repositories. The mapping between the two layers is done by connectors that read the values of the columns and the ontology of the database and return them to the application. That is to say, assign these values to different attributes of the case. Based on the same idea, the case base implements a common interface for similarity methods to evaluate cases. This includes the generation of case representations, the definition of similarity measures, the testing of retrieval and use of explanation functionality, and finally, the implementation of stand-alone applications. The main focus of methods in this category is to find similarity between cases.

The use of structured representations of cases requires approaches for the evaluation of similarities that allow to compare two objects structured in different ways, in particular, objects belonging to different classes of objects. An important advantage of the similarity box recovery is that if there is no case that exactly matches the user's requirements, this may show cases that are more similar to your query. The use of structured representations of cases requires approaches for similarity assessment that allow to compares two differently structured objects, in particular, objects belonging to different object classes. The retrieval strategy used in our system is correlation technique. Correlation is a bivariate analysis that measures the strengths of association between two variables. A line that runs through all the data points and has a positive slope represents a perfect correlation between the two objects. In statistics, the value of the correlation coefficient varies between +1 and −1. When the value of the correlation coefficient is about ±1, then it is said to be a perfect degree of association between the two variables [29]. As the value of the correlation coefficient goes toward 0, the relationship between the two variables will be weaker, **Figure 4**.

We measure correlations with the Pearson correlation method. The Pearson coefficient is a more complex and sophisticated approach to finding similarity. This best fit line is generated by the Pearson coefficient, which is the similarity score. The following formula is used to calculate the Pearson *r* correlation:

$$\rho\_{\mathbf{x},y} = \frac{\text{cov}(\mathbf{X}, \mathbf{Y})}{\sigma\_{\mathbf{x}} \sigma\_{y}} = \frac{E\left[ (\mathbf{X} - \mu\_{\mathbf{x}})(\mathbf{Y} - \mu\_{y}) \right]}{\sigma\_{\mathbf{x}} \sigma\_{y}}$$

Where:

r = Pearson r correlation coefficient.

N = number of value in each data set.

∑xy = sum of products of paired scores.

∑x = sum of x scores.

∑y = sum of y scores.

∑x<sup>2</sup> = sum of squared x scores.

∑y<sup>2</sup> = sum of squared y scores.

Pearson r correlation is widely used in statistics to measure the degree of the relationship between linear related variables. For example, in the industrial stocks and storage, if we want to measure how two commodities are related to each other, Pearson r correlation is used to measure the degree of relationship between the two commodities. The coefficient is found by dividing the covariance by the product of the standard deviations of the

**Figure 4.** The method generates a best-fit line between attributes in two data objects.

to evaluate cases. This includes the generation of case representations, the definition of similarity measures, the testing of retrieval and use of explanation functionality, and finally, the implementation of stand-alone applications. The main focus of methods in this category is

The use of structured representations of cases requires approaches for the evaluation of similarities that allow to compare two objects structured in different ways, in particular, objects belonging to different classes of objects. An important advantage of the similarity box recovery is that if there is no case that exactly matches the user's requirements, this may show cases that are more similar to your query. The use of structured representations of cases requires approaches for similarity assessment that allow to compares two differently structured objects, in particular, objects belonging to different object classes. The retrieval strategy used in our system is correlation technique. Correlation is a bivariate analysis that measures the strengths of association between two variables. A line that runs through all the data points and has a positive slope represents a perfect correlation between the two objects. In statistics, the value of the correlation coefficient varies between +1 and −1. When the value of the correlation coefficient is about ±1, then it is said to be a perfect degree of association between the two variables [29]. As the value of the correlation coefficient goes toward 0, the relationship between the two variables will be

We measure correlations with the Pearson correlation method. The Pearson coefficient is a more complex and sophisticated approach to finding similarity. This best fit line is generated by the Pearson coefficient, which is the similarity score. The following formula is used to cal-

Pearson r correlation is widely used in statistics to measure the degree of the relationship between linear related variables. For example, in the industrial stocks and storage, if we want to measure how two commodities are related to each other, Pearson r correlation is used to measure the degree of relationship between the two commodities. The coefficient is found by dividing the covariance by the product of the standard deviations of the

<sup>=</sup> *<sup>E</sup>*[(*<sup>X</sup>* <sup>−</sup> *μx*)(*<sup>Y</sup>* <sup>−</sup> *μy*) \_\_\_\_\_\_\_\_\_\_\_\_ *<sup>σ</sup><sup>x</sup> <sup>σ</sup><sup>y</sup>*

to find similarity between cases.

130 Knowledge Management Strategies and Applications

weaker, **Figure 4**.

Where:

culate the Pearson *r* correlation:

r = Pearson r correlation coefficient. N = number of value in each data set.

∑x = sum of x scores. ∑y = sum of y scores.

∑x<sup>2</sup> = sum of squared x scores. ∑y<sup>2</sup> = sum of squared y scores.

∑xy = sum of products of paired scores.

*<sup>ρ</sup><sup>x</sup>*,*<sup>y</sup>* <sup>=</sup> cov(*X*, *<sup>Y</sup>*) \_\_\_\_\_\_\_\_ *<sup>σ</sup><sup>x</sup> <sup>σ</sup><sup>y</sup>*

attributes of two data objects. The advantage of the Pearson Coefficient over other techniques is that it is more robust against data that is not standardized. For example, if one person gives the rank for movies "a", "b", and "c" with scores of 1, 2, and 3, respectively, has a perfect correlation to someone who ranked the same movies with 4, 5, and 6. The following python code implements the Pearson coefficient for the same data described previously.

The open source jColibri system provides a framework for building CBR systems based on state-of-the-art software engineering techniques. The reason for choosing the jColibri framework is based on a comparative analysis between it and other frameworks, designed to facilitate the development of CBR applications. jColibri enriches the other shells CBR: CATCBR, CBR \* Tools, IUCBRF, Orenge, in several aspects:


Another decision criterion for our choice is related to the fact that jColibri offers the opportunity to incorporate the ontology in the CBR application to use it for the representation of cases and methods of reasoning based on content to evaluate the similarity between them. Providing easy-to-use model generation, data import, similarity modeling, explanation, and test functionality along with convenient graphical user interfaces, the tool allows even CBR beginners to quickly create their first CBR applications. However, at the same time, it ensures sufficient flexibility to enable expert users to implement advanced CBR applications.

### **4.2. Ontology knowledge base**

Semantic modeling can help define the data and relationships between these entities. An information model provides the ability to abstract different types of data and provides an understanding of how data elements are related. A semantic model is a type of information model that supports the modeling of entities and their relationships. The total set of entities in our semantic model comprises the class taxonomy that we use in our model to represent the real world. Together, these ideas are represented by an ontology—the semantic model vocabulary that provides the basis upon which user-defined model queries are formed. The model supports the representation of entities and their relationships and can withstand the constraints on those relationships and entities. This provides the semantic composition of the information model [30].

Semantic models allow users to ask questions about what is happening in a modeled system in a more natural way. As an example, an oil production company could consist of five geographic regions, each region containing three to five drilling rigs and each drilling rig controlled by various control systems, each with a different purpose. One of these control systems could control the temperature of the extracted oil, while another could control the vibration in a pump. A semantic model will allow the user to ask a question like "What is the temperature of the oil extracted in Platform 3?" Without having to understand details such as, what specific control system supervises that information or what physical sensor is reporting temperature of oil on that platform.

The understanding provided through semantic models is fundamental to be able to correctly drive the correct ideas of supervised instrumentation that can ultimately lead to optimize business processes or, in this case, city services. As a result, semantic models can greatly improve the usefulness of the information obtained through operations integration solutions. Ontology models can be used to relate the physical world, to the real world, in the line-ofbusiness and decision makers. In the physical world, a control point such a valve or temperature sensor is known by its identifier in a particular control system, possibly through a tag name like 14-WW13. This could be one of several thousand identifiers within any given control system, and there could be many similar control systems across an enterprise. To further complicate the problem of information referencing and aggregation, other data points of interest could be managed through databases, files, applications, or component services with each having its own interface method and naming conventions for data accessing. A key value of the semantic model then is to provide access of information in the context of the real world in a consistent way. Within a semantic model implementation, this information is identified using "triples" of the "subject-predicate-object" form; for example:

The open source jColibri system provides a framework for building CBR systems based on state-of-the-art software engineering techniques. The reason for choosing the jColibri framework is based on a comparative analysis between it and other frameworks, designed to facilitate the development of CBR applications. jColibri enriches the other shells CBR: CATCBR,

• Implementation: Java implementation is one of our main requirements with respect to easy integration into the OntoEnter system, which is implemented in the J2EE environment. Another decision criterion for our choice is related to the fact that jColibri offers the opportunity to incorporate the ontology in the CBR application to use it for the representation of cases and methods of reasoning based on content to evaluate the similarity between them. Providing easy-to-use model generation, data import, similarity modeling, explanation, and test functionality along with convenient graphical user interfaces, the tool allows even CBR beginners to quickly create their first CBR applications. However, at the same time, it ensures

sufficient flexibility to enable expert users to implement advanced CBR applications.

Semantic modeling can help define the data and relationships between these entities. An information model provides the ability to abstract different types of data and provides an understanding of how data elements are related. A semantic model is a type of information model that supports the modeling of entities and their relationships. The total set of entities in our semantic model comprises the class taxonomy that we use in our model to represent the real world. Together, these ideas are represented by an ontology—the semantic model vocabulary that provides the basis upon which user-defined model queries are formed. The model supports the representation of entities and their relationships and can withstand the constraints on those relationships and entities. This provides the semantic composition of the

Semantic models allow users to ask questions about what is happening in a modeled system in a more natural way. As an example, an oil production company could consist of five geographic regions, each region containing three to five drilling rigs and each drilling rig controlled by various control systems, each with a different purpose. One of these control systems could control the temperature of the extracted oil, while another could control the vibration in a pump. A semantic model will allow the user to ask a question like "What is the temperature of the oil extracted in Platform 3?" Without having to understand details such as, what specific control system supervises that information or what physical sensor is reporting

The understanding provided through semantic models is fundamental to be able to correctly drive the correct ideas of supervised instrumentation that can ultimately lead to optimize business processes or, in this case, city services. As a result, semantic models can greatly improve the usefulness of the information obtained through operations integration solutions.

CBR \* Tools, IUCBRF, Orenge, in several aspects:

• Availability: open source framework.

132 Knowledge Management Strategies and Applications

**4.2. Ontology knowledge base**

information model [30].

temperature of oil on that platform.

These triples, taken together, constitute the Plant1 ontology and can be stored on a model server, as is described in more detail later in this article. This information, then, can be easily traversed using the model query language to answer questions such as "What is the temperature of tank 1 on Platform 4," more easily than the case without a semantic model.

We concentrate on the critical issue of metadata/ontology-based search and expert system technology. The main objective of the system is to improve the modeling of a semantic coherence to allow the interoperability of different modules of environments dedicated to the industrial area. We have proposed to use ontology together with CBR in acquiring expert knowledge in the specific domain. The primary information managed in the OntoEnter domain is metadata about industrial resources, such as guides, digital services, alarms, information, etc. We need a vocabulary of concepts, resources, and services for our information system described in the scenario that requires definitions about the relationships between objects of discourse and their attributes [31]. OntoEnter project contains a collection of codes, visualization tools, computing resources, and data sets distributed across the grids, for which we have developed a well-defined ontology using RDF language. Our ontology can be regarded as quaternion OntoEnter:={caller, resources, properties, relation), where profiles represent the user kinds, collection contains all the services and resources of the institutional repository, the matter cover the different information sources: electronic services, web pages, BB.DD., guides, etc., and a set of relationships intended primarily for standardization across ontologies.

We integrate three essential sources for the system: electronic resources, the catalog of documents, and the personal database. The W3C defines standards that can be used to design an ontology [32]. We write the description of these classes and properties in RDF semantic markup language. We chose Protégé as our ontology editor, which supports the acquisition of knowledge and the development of knowledge bases. Protégé provides an environment for the creation and development of semantic knowledge structures-ontologies and semantically annotated Web services. Protégé organizes these elements as a dynamic workflow [33]. For the construction of the ontology of our system, we follow the sttif detailed below.


After designing the ontology, we write the description of these classes and properties in RDF semantic markup language. Then the domain expert, in this case, the administrative staff fills the blank units of the instance according to the knowledge of the domain. A total

**Figure 5.** Class hierarchy for the OntoEnter ontology.

of 13,000 cases were collected for user profiles and their different resources and services. Each case contains a set of attributes related to both metadata and knowledge. As a plus, domain specific rules defined by domain experts can infer more complex high-level semantic descriptions, for example, by combining low-level features in local repositories. Considering that our final objective is to reformulate queries in the ontology to queries in another with less loss of semantics, we arrive at a process to approach complex relations between two ontologies. As mentioned in previous sections, the relationships between ontologies can be compounded as a form of declarative rules, which can be handled in inference engines.

In addition, our system combines ontologies with rules into the ontology-based search due to the description limitations in current ontology languages. As mentioned in previous sections, relations among ontologies can be composed as a form of declarative rules, which can be further handled by inference engines.

### **4.3. Intelligent user Interface**

• Determine the domain and scope of the ontology. This should provide the location of different online resources. These are included from different sources: Catalog of Publications,

• Enumerate important terms in the ontology. It is useful to write down a list of all terms we

• Define the classes and the class hierarchy. When designing the ontology, we need first group together related resources of the institutional repositories. There are three major groups of resources: users, services, and resources. IA detailed picture of our effort in designing this ontology is available in **Figure 5**. This shows the high level classification of classes to group

• Generating the ontology instances with SW languages. To provide a conversational CBR system to retrieve the requested metadata satisfying a user query, we need to add enough

After designing the ontology, we write the description of these classes and properties in RDF semantic markup language. Then the domain expert, in this case, the administrative staff fills the blank units of the instance according to the knowledge of the domain. A total

together OntoEnter resources as well as things that are related with these resources.

would like either to make statements about or to explain to a user.

initial instances and item instances to the knowledge base.

Websites, Electronic Resources, etc.

134 Knowledge Management Strategies and Applications

**Figure 5.** Class hierarchy for the OntoEnter ontology.

OntoEnter is software, which is an intermediate link between users and search engine. By using OntoEnter user can tune the query in accordance with his needs. Advanced conversational user interface interacts with users to solve a query, defined as the set of questions selected and answered by the user during a conversation. The real way to get an individualized interaction between a user and a website is to present the user with a variety of options and allow the user to choose what is of interest at that specific time. In our system, the user interacts with the system to fill the gaps to retrieve the correct cases.

The algorithms used allow to give intelligent advice on improving the search query to obtain more relevant results to a narrow number of documents obtained or, conversely, to extend it. But the main task of OntoEnter is to specify in which exact word, the word is used and to formulate the "question" to the search engine, excluding answers from an inappropriate domain and adding semantically similar results [34].

For the distributed retrieval of learning resources, we use profile users, which are used for personalized searches according to user specifications. The methodology was based on incremental user profiling, which assumes mapping of a user's keywords to the concepts of the domain ontology according to the presented transformation rules. Transformation algorithm was implemented in the research prototype as the combined capability of the query transformation agent and the ontology agent of the intelligent multi-agent information retrieval mediator. The user interface helps user to build a particular profile that contains his interest search areas in the industry repositories domain. In an intelligence profile setting, people are surrounded by intelligent interfaces merged, thus creating a computing-capable environment with intelligent communication and processing available to the user by means of a simple, natural, and effortless human-system interaction. The objective of profile intelligence has focused on creating of user profiles: Plan Managers, Assistants, Operators, and Engineers. If the information space is well designed, then this option is easy, and the user achieves optimal information through the use of natural intelligence, that is, the options are easy to understand so users know what they will see if they click in a link, and what they negate by not following other links, **Figure 6**.


**Figure 6.** User profiles, graphical user interface.

The profile agent is an environment, in which software agents can be executed to retrieve E-learning resources and which is wrapped by a Web service. This configuration contains the user requirements that typically described the relative needs, tasks, and goals of the user for an individual search. Profile agents help students with the search, according to the specifications they made. Search parameters in a profile, the initiation of a search, or access to the list of retrieved learning objects can be controlled by invoking appropriate search operations that extract learning resource metadata. Ideally, profile agents learn from their experiments, communicate and cooperate with other agents, around in DL. A profile agent uses a registry to locate learning searches. The agent compares the metadata and the search keywords for possible matches and presents the search results to the user. For this, a statistical analysis has been done to determine the importance values and establishing specified user requirements.
