Common Sense research

Business Challenge

In the recent years, the major advance in the AI application has been made in the development of neural networks and learning from big data. However, the systems based on machine learning and deep neural networks prove non-efficient when it comes to the tasks which require deep understanding of the subject matter and especially the application of knowledge about the surrounding world. Existing solutions take much time for developers to add new rules. And a large number of manually written rules and restrictions makes it difficult to check the consistency of the entire system.

Solution Overview

Apart from machine learning technologies, the learning system for strong universal AI should include structured basic data about the world. Using this data and the information received, it has to be able to draw logical conclusions and make weighted decisions. To address the challenge, we developed DemonScript, a universal language which uses multivalued logic enabling the system to draw probabilistic logical conclusions. The language helps to solve the following tasks:

  • Build semantic networks for basic entities
  • Describe knowledge as a set of rules
  • Set object properties using fuzzy sets
  • Draw logical conclusions
  • List possible world models in the current state
  • Implement reasoning for dynamic problems

DemonScript helped to describe basic spatial relationships (in, on, above, hold etc.) between objects in a simplified model of the real world. Using the formal language for describing microhistories, the system successfully analyzed simple dynamic problems with actions like goto, take, give, etc., building appropriate models. Based on these models, the system answered “comprehension” questions.

Technological Details

The DemonScript language interpreter was built with C++. The interpreter code was developed with the cross-platform feature in mind, and can be compiled on most platforms. Also DemonScript was ported to JavaScript, and is now available via the web interface.

The choice of the C++ also enabled the interpreter to run on low-end devices (mobile, web, and even IoT) without sacrificing performance.

Another useful option is to connect syntax highlighting in VS Code. The editor supports a full-featured debugger with breakpoints and local variables inspector.

Knowledge about the ordinary world was set by experts and obtained by machine learning, as a result of extracting rules from various model stories. In our solution, rules are set in DemonScript, and solutions are built based on connected graphs.

Technology Stack

C/C++

C++

Python

JavaScript

C/C++

C++

Python

JavaScript