The goal of this research report is to look into the field of Chatbots and how they are created and used within industry. Over the last few years the popularity of Chatbots has increased significantly and can be found in most public sectors, ranging from healthcare services (HealthTap) to food services (Pizza Hut). The report will look into the models and architecture of chatbots, what state they are in currently within the IT industry and looking into some of the popular development tools available in developing chatbots including IBM’s Watson Conversation. To start, an understanding of a Chatbot is required.
When developing a Chatbot whether it’s built from scratch or is created using a set of tools, a model for the Chatbot needs to be selected. There are two main options when discussing a chatbot’s model and they are a Retrieval-based or Generative Model.
The Retrieval based model is the easier of the two models, it makes use of a pre-defined response repository and a heuristic to pick an appropriate response based on the input and context presented to it. The heuristic can be as simple as a rule-based system or as complex as an ensemble of Machine Learning classifiers. This model does not have the ability to create new text and as such must rely on its repository of responses.
The Generative based model is the harder of the two models, it doesn’t rely on pre-defined responses but instead has the ability to generate new responses from scratch. Typically, the Generative model is based on Machine Learning Techniques
When deciding which model to use, each one comes with its own sets of pros and cons. The Retrieval-Based model is easier to create and implement, also due to it pulling pre-defined responses it doesn’t make any grammatical errors. The problems with the model are that due to its limited repository of responses it may not be able to handle any unseen cases and it doesn’t possess the capability to refer back to contextual entity information used in prior conversations.
The Generative Model does have the ability to learn from previous conversations and interactions with users and has the ability to refer back to entities in the input. However, it is seen as the harder of the two models mainly due to the need of the user having some knowledge of Machine Learning techniques. It is also harder to train, is prone to making grammatical errors and requires a large amount of training data to make it viable.
Once a model has been chosen then the structure of the chatbot’s conversations need to be discussed. When discussing the layout and architecture of a chatbot’s conversation; there are two main options, a slot-based or a flow-based bot. A slot-based bot relies on the use of ‘slots’ to be able to answer questions or to be able to progress through the conversation. For example, if a chatbot was asked to find a good restaurant in London, for the chatbot to be able to answer the question both the restaurant and the location slots would need to be provided by the user.
A flow-based bot is based on a flow diagram architecture where depending on the users answer to a question, other options or questions may be used by the chatbot. To create a successful flow-based bot, the developer needs to make use of branch training, which allows the bot to anticipate and react appropriately to the various outputs given by the user.
Tags: android, App Design Liverpool, apps, chatbot, chatbots, citrus, digital health, Liverpool Mobile App Designers Smartphone Tablets iPhone iPad Android PC Mac Web UK App Development Application Design Service, m-health, Mobile App Development Liverpool, mobile health