There are a variety of providers that provide tools and services that enable ChatBots and the possible integration of them into company processes. In this post, the concepts of just these platforms will be explained, some providers will be examined more closely and compared to their advantages and disadvantages.
The underlying architecture of such a platform is very similar across providers, the basic concepts are mostly the same. Users can communicate with the system via a user interface, and this interface can have many different characteristics. Users can interact with the system via text messages or through speech. Often, integration into existing systems takes place, such as: Facebook Messenger, Google Hangout or Amazon Alexa Skill. But also completely independent implementations are possible. Depending on how the user communicates with the system, the language is first converted to text.
After that, or directly, this text is analyzed and various aspects are extracted from the text. On the basis of these aspects, the intention of the user is derived and a corresponding conversation path is selected. Here, the user’s information is analyzed and a response is calculated or queried via back-end systems (for example: query of the weather data for day X at location Y). On the basis of the calculated response parameters, the next step is to calculate the system’s actual response and return it to the user, again either as text or as language.
Chatbots & Virtual Assistants – Vendor Analysis
The number of providers is large and also the respective range of functions differs. The biggest and certainly most well-known providers in the market are IBM, Facebook, Amazon and Google.
With IBM Watson Assistant, IBM provides a communication platform with basic functionality that can be extended to existing applications through existing solutions. The platform is completely cloud based and uses its own proprietary NLP (Natural Language Processing). NLP is the processing and interpretation of “natural” texts. The integration of IBM Watson can be done directly by IBM, but also by third-party tools.
Facebook integrates its own communication platform directly into Facebook Messenger. For NLP the Wit.ai framework is used, which however is in possession of Facebook. Currently, over 300,000 ChatBots run on this platform and can reach over 1.3 billion potential users. The platform runs exclusively in the cloud. The integration of Facebook Messenger into your own websites is possible via plugins.
Amazon Web Services (AWS), in addition to the end-user Amazon Alexa, also offers enterprise solutions. This is called Amazon Lex and Amazon Alexa for business. Both platforms are operated exclusively in the cloud. For NLP Amazon uses a proprietary system, the speech output is realized by Amazon Polly. With Amazon Connect, it is possible to integrate ChatBots and virtual assistants into application scenarios.
Google provides Dialogflow, a cloud-based platform that covers all the steps involved in creating a virtual assistant. Possible calculations can be displayed “serverless” via Firebase functions. Google has also developed a proprietary system for NLP. For more than 30 applications, there are already ready-made wizards, which can be used directly without adaptation. Significant progress has been made in integration and voice output with Google Duplex. The assistant is thereby able e.g. by phone to arrange a hairdressing appointment for the user. The speech output is human and natural. Google Assistants can be integrated into 14 different platforms, including Slack, Facebook Messenger, Amazon Alexa, and of course, Google Assistant.
The choice of provider is certainly closely tied to the particular application and above all to the communication channels, which is why a general recommendation is difficult and not always clear. However, especially the technologies used for NLP and text-to-speech should be considered. Amazon and Google, at least in the end customer area, are pioneers. Google also convinces with the support of various communication channels.