What is Semantic Engineering

It is the alternative to software engineering.

Software has been the center of the IT industry since the origin. Software programs are algorithms that contains, someway, the knowledge of a group of people about something. This ‘something’ is a composition of functional knowledge (the purpose of the program) and the technical knowledge (the technical aspects of writing and executing programs). Writing programs is highly inefficient, because it destroys the original knowledge. Nobody can extract the original knowledge from the code. This is the reason why software is so expensive, rigid, prone to obsolescence and fragile.

With semantic engineering, we focus in the original knowledge as it is, by itself. Instead of painfully transforming functional and technical knowledge into a different artifact (coded algorithms), we store it in a natural way and interpret it in raw format.

The storage of knowledge is not done in natural language (this is the purpose of techniques such as NLP-NLU), but in formal structures called ontologies. Ontologies are formal definitions of a semantic domain. For instance, we use ontologies in our daily work when we talk about medicine, or airplanes, or corporate management, etc. Words take specific meanings that can be stored, understood and interpreted, in an automated way. This is the core of semantic engineering.

Semantic Engineering is about meaning. Expressions such as lie invoice, receive an order, send a confirmation or pay taxes, have clear meanings on certain domains. As we capture that meanings in a formal way, its interpretation (i.e. the manipulation of that entities or the execution of that actions) can be done by a standard technology, without the need of writing the programs. Therefore, knowledge becomes the most important asset of the company, as it can be transformed into information systems in an automated way.