Ontologies in development of intelligent systems
To achieve the quality and efficiency of decisions taken in intelligent enterprise management systems, knowledge is highly required. Hence, it is always recorded in such systems.
Is it possible to create a multi-agent system in which decision-making processes can be customized for the special features of each particular enterprise by the users themselves, in order to take into account the specific and individual peculiarities of orders and resources?
The proposed approach is connected with creation of ontology-driven knowledge bases represented by semantic networks of domain concepts and relations.
To solve this complex and time-consuming task in the field of knowledge management, it is necessary to develop a whole new spectrum of special models, methods and algorithms for collecting, accumulating, formalizing, systematizing, analyzing, integrating and using knowledge, in particular, ontologies of application domains.
What is Ontology?
Recently, ontologies have become more popular. Moreover, they are actively developing within the new “Semantic Web”.
What is the essence of this new technology and what is the reason for such rapid development?
Currently, Internet pages or documents, videos, photos and any other materials «do not know» what exactly is their content. In the best case scenario, we know only some parameters (author of the document and time of its creation) and sometimes there are some tags or keywords.
This makes semantic search for materials very limited. Moreover, it does not allow programs to reason upon the content or maintain meaningful dialogue with the user. Indeed, let us say we are looking for an article with the keyword «Ivanov» – is this the name of the author of the article or of its character, or maybe the photographer?
Ontologies are conceptual models of domain knowledge, which are constructed from the most common concepts and relations. They provide the possibility to specify, i.e., create a formalized description of any objects or processes.
In other words, ontologies provide the «glossary» of the domain. Any phenomenon, object, situation, etc. can be described in these terms (language of words).
For example, imagine an ontology of restaurants. For future descriptions of specific restaurants, we will certainly need classes of objects such as «kitchen type», «order type», «classes of food/dishes», «classes of drinks», «room type», «uniform of waiters», «types of tables», «music playlist», «price», etc.
In addition, detailed descriptions of such processes as, for example, «accepting an order», «cooking a meal», «customer service», «payment by card» and others will be certainly useful for specifying the work of restaurants. Each such process can be represented by typical action sequences, which can also be specified. This will make it possible to store typical scenarios — sets of related actions.
Continuing on this course, we can enter events that lead to activation of scenarios (just like flags of conditions) or indicate their completion. We can also add attributes of different types for numerical expression of meanings of different concepts, including cooking times for different dishes, costs, discounts for regular visitors, etc.
Having built such a basic ontology of restaurants, we can classify and, in fact, create conceptual models of restaurants of different classes and with different cuisine: Russian, Chinese, Japanese, etc.
At this point, our fragmentary and poorly formalized knowledge, stored in different textbooks, books or separate notes, and most of it — only in human memory, for the first time becomes the knowledge represented in the form of a semantic data network and available for computer processing (for example, in the form of xml-files, built as nested bracketed expressions). Just then, this knowledge takes the form of a product, provided that at the same time there appear such systems that can download this knowledge and use it, for example, to plan coordinated work of the kitchen and waiters.
After all, what is especially important, it is possible to build models of specific restaurants that we all visit, based on this kind of conceptual models, indicating the exact number of tables, their configuration and other attributes.
And then such models acquire a completely specific pragmatic sense, on the basis of which it is possible to create models of scenes and situations, as well as action plans for various participants and even obtained results in the form convenient for different types of computer processing, including distribution, planning, optimization, monitoring and control of resource use.
For visual clarity, we can represent object classes as nodes, and classes of ontology relations as links between them. Thus, we can visualize ontology, model, or situation (scene) as a network graph of a certain type.
An example of the simplest fragment from an ontology of cars is presented below:
Just as in the ontology of restaurants, we can thoroughly describe types of executed orders, types of sold or produced cars, their types, technological processes and time norms for sale, transportation or production. As for car production, we can add descriptions of necessary machines, competencies of workers, materials and tools, costs of production and storage in warehouses, etc.
At present, more than three dozen ontology editors are known on the market. All of them can create ontologies of various types.
Ultimately, in a variety of practical applications, ontologies help achieve the following results:
- normative role: unification of concepts and relations in a domain;
- creation of an electronic «glossary» of the domain;
- interactive decision-making support;
- construction of semantic descriptors (annotations) for documents;
- simulation of reasoning based on the domain knowledge;
- controlling the accuracy of input data of the systems;
- supporting activities on accumulation and systematization of knowledge of enterprises;
- building self-learning systems (knowledge is separated from the source code);
- integration of interdisciplinary knowledge of various specialists.
We have briefly covered the key features of the discussed semantization technology in the context of planning, however, there are also many other applications of ontologies — for annotating pages on the Internet, for extracting knowledge, understanding texts in natural language, simulation of reasoning, etc.
We develop and use ontologies to configure resource management multi-agent systems for the specific domain and further for each specific enterprise.
When creating multi-agent systems, we use special semantic networks of concepts and relations that allow us to represent models of changing situations in the real world, make plans and obtain results.
The developed specialized ontologies designed for intelligent resource management systems use the following concepts:
- Classes of objects.
- Classes of relations between objects.
- Classes of properties that characterize the ability of objects to interact.
- Classes of laws of the world (scenarios of object behavior).
- Classes of attributes.
This ontology model (meta-ontology), recognized for the possibility to describe actions for planning purposes, was named by us in honor of Aristotle — the first scientist in the history of mankind who constructed the first conceptual model of the world.
Software agents can use ontological models of situations to take into account all the details (context) of the emerging situation and provide situational management of resources.
In this case, the scene (situation model) in the virtual world represents a model of the current state of the real world, mirroring the state of external environment at the current or some other specific time (just like a photograph).
The more preconstructed and diverse relations «penetrate» objects and processes of the scene, the more opportunities for meaningful analysis of the situation and reduction of combinatorial search in the course of adaptive allocation, planning, optimization and control of resources, and the higher the quality of solutions and efficiency of the intelligent resource management system.
For example, if an agent of a new order knows the city, «from where» it is required to transport the goods, then it can quickly find all the trucks planned for departure from this city, using this node in the semantic transport network of the system. It can then check which trucks leave from there in the needed direction and try to integrate into their schedules before trying to build a new route and book a new truck for these needs.
Thus, the scene also makes it possible to drastically reduce brute-force search for solutions in transport logistics and various other applications.
Use of ontologies in the described systems is intended to provide the following important advantages of our developments:
- improve the quality and efficiency of system performance: address more details in decision-making;
- reduce implementation time: more quickly, flexibly, simply and conveniently configure the system for the specifics of new enterprises;
- ensure validity and reliability of solutions: control the accuracy of input data;
- reduce development time, development and maintenance costs for the intelligent system;
- reduce the cost of ownership: develop the system by the users themselves just as the business develops, with minimal involvement of programmers;
- reduce the risks of using the system.
For a more detailed introduction to knowledge management technologies and semantic data processing, please contact our training and consulting center at firstname.lastname@example.org.
We would like to bring to your attention the first Russian journal on ontology «Ontology of Designing», which has been created and published with our support.
In 2015, this journal was included into the list of journals recommended by the Higher Attestation Commission, which proclaims the growing popularity of these technologies.