Deep Dive into Bot Technologies
How chatbots work
In our series on chatbots, we have already presented the different types of communication robots. But what is actually behind a chatbot? How does it work exactly?
In this article, we will take a look at the technology behind the language understanding of natural language understanding (NLU) chatbots. Here, we won't get too deep into the technology, but focus on the areas that a chatbot developer can typically influence.
Understanding the essence of each message
When a human sends a message to a bot, it is usually in the natural language of the human. This message implicitly expresses an intention or concern ("intent"). The task of the bot's language understanding component is to recognize this intent. To do this, the chatbot's language understanding must be trained beforehand. In this process, it is taught - often by means of examples - which intent is behind certain utterances. It may be necessary to provide a large number of examples for the training so that the bot achieves a high and correct recognition rate in the text analysis.
In addition, the concept of entities plays a major role. This refers to keywords or data that describe important information around the user's intent. These can be numbers or dates as well as industry- or context-specific terms.
For example, the message: "I am now looking for a train connection from Munich to Berlin" could be analyzed as follows:
- Datum und Uhrzeit: jetzt
- Start Ort: München
- Ziel Ort: Berlin.
Most providers of NLU services already deliver predefined entities such as age, location, date or even measurement information.
Efficient training due to AI
The advantage to training speech recognition with machine learning is that despite the potentially high number of training examples, not all possible human utterances need to be learned. The artificial intelligence behind services like Microsoft LUIS allows it to correctly recognize even similar utterances or utterances with spelling errors. Various highly complex and computationally intensive algorithms work together for this purpose. For example, the NLU component requires a lexicon, a parser and grammar rules of the corresponding language. Predefined ontologies - or concept networks - are used for this purpose. This enables language processing to draw conclusions, for example, as to whether terms have a similar meaning. At arvato Systems, for example, we were able to recognize the intent "send email" from the utterances "send email," "forward email," and "send email" during the development of a service chatbot - without having to explicitly train all these verbs. Although the accuracy with which the NLU was convinced that the analyzed utterance matched the intent decreased, the algorithm was still more than 70 percent confident of detecting the correct intent. This shows that the machine learning model works flexibly enough to cope with deviations in communication.
Current limits of the NLU components
Training the chatbots using examples allows the general language understanding provided by the chatbot provider's algorithms to be extended with context- or industry-specific terms. However, it is not yet possible to teach NLU components real ontologies. Although Microsoft LUIS offers the concept of hierarchical entities, these can only represent taxonomies - i.e., strictly hierarchical networks of terms. Using this, NLU can learn that a Labrador is a dog, but not that a dog is owned by a human. To achieve this level of complexity, we currently have to resort to in-house developments. It is possible that the large NLU providers, such as Microsoft LUIS, IBM Watson, Google or Facebook's api.ai will offer further possibilities here in the future.