The best interface is no interface

how open data can enhance human to machine communication



Why ChatBots are on the rise of popularity?

Have you ever thought why chatbots are on the rise of their popularity nowadays? Why there’s been so much on the media about chatbots recently: from discussions on chatbots competitions to press releases about software giants acquisitions in this field?

There are several prerequisites that are fueling the growth of this IT sector. First of all, the technology has advanced to a level where such sophisticated human-like activity can be performed by a machine. Secondly, there’s a huge demand for such service. It is so much more convenient to ask your phone to find a gas station with a diesel fuel within 5-minute reach (like you do now in Google Now, Amazon Echo, Microsoft Cortana or with Apple Siri) than bother to open the right application and type the search query on the screen. In the very close future any complicated device – be it programmable sprinkler or washing machine – should and most likely will possess a spoken human interface to simplify its operation and provide wider accessibility. The recent developments in robotics also arrive to the point where the urge for a voice communication cannot be ignored much longer.

Internet of Things sector, while not being directly related to chatbots technologies, contributes greatly to dialogue-driven interaction evolution. Since more and more devices have access to Internet and to each other’s data, they can learn from the context, in which they function and gain geo-spacial awareness. The ability to learn and access additional information is crucial for dialogue management because the environment in which devices normally work is constantly changing and adjusting to it takes acquiring new knowledge.

Is this really a problem?

Today consumer has to speak the specific language of each device – push the right button for the fridge to defrost, find the right key to tell the air conditioner to run in a vent-only mode or look for the exact switch to ask the TV to broadcast from HDMI source. All these terms and specific operations are a pure headache to all of us. Could be so much easier to stand in the middle of living room and say: “TV, display computer desktop”?

If we assume that all devices are interconnected, you can have a single voice interface to all electric appliances in your house that is capable of speaking and understanding  your own languages and it’s not sci-fi fantasy any more, but rather an inevitable future.

Why are we not there yet?

Let’s start from what we currently have in place in chatbot industry. Right now most of dialogue managers or chatbots are based on keyword match. That means that If you say “For my new iphone I’d like to buy a bumper”, chatbot would spot the word “iphone” and the rest of the conversation will be lost because he will be trying to sell you an iphone, which you already had bought. You can test it yourself – just follow the link to the demo of the service that claims to be the breakthrough in ChatBot technology – In a couple of minutes talking to a bot, you’ll realize that it’s far from perfect.

The other problem is that voice assistants lack context and if they overhear someone on the TV saying “temperature to 100 degrees”, they can blindly follow the command and raise the heater power to fry its inhabitants. Today the outcries on dumbness of robots and voice operated devices could be heard even on the pages of business magazines like Fortune.

Obvious solution to overcome these limitations would be to teach the machine not only to catch familiar words, but to grasp the overall meaning taking a context into consideration. It is very  similar to how we learn a foreign language: first we start to understand only certain words, but as we progress further we can make out the meaning of the whole phrase. This can be done only with the help of semantics. Generally the process of understanding from machine’s perspective will look like this (see. Fig. 1):

  1. Build a dependencies graph, i.e. what words depend on what words and how.
  2. Transform the graph into a row of facts
  3. Match the facts against the domain knowledge graph
  4. Enrich conversation context with newly learnt facts
  5. Generate a proper response based on the set of conversation management rules


Fig. 1. Processing of user’s utterances

When we enter interaction we all have some background knowledge and as we converse we constantly refer to this knowledge without even noticing it. The true understanding happens only if both communicating parties share the same background knowledge. Otherwise the conversation turns into wild guessing on meanings.

These assumptions form the basis for Information state approach to dialogue management developed in Gothenburg University in the beginning of the century.

Stipulating on this approach we can say that  the machine, like humans, should be able to explain the knowledge it holds to a human to help us understand if we do not know something and on the opposite, it must be capable of acquiring the knowledge from external sources or learn it from human explanations.

If the environment was somehow stable, we could load everything that machine needs to know in the factory and forget about learning. But the world is evolving ever so fast and in order to keep up with it we have to learn. So will the machines.

Linked open data (LOD) expressed in semantic forms if not the only but definitely the easiest way the machine can learn new things, due to openness of the data, its ability to be linked to other datasets / interlinked within the datasets and presence of semantics that makes the data readable and perceivable by computer systems. In this way by accessing LOD knowledge machines equipped with spoken interface can expand their knowledge and resemble us, humans.

What ODI Node St. Petersburg is doing in that direction?

ODI Node St. Petersburg is actively involved in development of ChatBot platform to enable building dialogue-driven applications for user interaction. Up to this moment our team has already developed a prototype to support customers of telecommunication companies in the form of a written dialogue. The prototype through the dialogue with a human tries to identify the customer’s problem and solve it by providing a walk-through instructions. It is capable of asking additional questions and processing the information about the case in random order together with resolving some synonymy in human speech. At this point the prototype can work only with grammatically correct sentences and expects the user to write in proper English.

To enhance the prototype so that it could work with spontaneous speech the linguists of ISST Lab in ITMO University are conducting the research on development of natural language morphology and syntax analyser for fact extraction. As a result, one can plug the analyzer in his own application and start to receive facts from spontaneous human speech.

The core difference of our project is that our solution will employ the open linked data for storing the language models and technical info as well as for maintaining and updating the domain knowledge used in the dialogue process. We chose to implement everything on semantic technologies to ensure the easiest reuse and utmost openness of the project results to other researchers and developers. The transparency and graph form of LOD will simplify the support and modification of applications. At the same time the open linked data by its nature will allow us to seamlessly use the domain knowledge models developed and published by other researcher, thus making our chatbot smarter and more human-like.

At the end of the year we are aiming to build the second version of the prototype that could be able to reconstruct facts from natural written language and cope with repetitions, interruptions, omissions, slang words and other human speech peculiarities that tremendously complicate the process of understanding and fact extraction.

We would be happy to share our thoughts on the project or about Chatbots in general or discuss collaboration.

Follow the project advancements on:

Or get in touch with the project leader, Dmitry Mouromtsev via email:

Posted in linked open data, natural language processing and tagged , .