What is a chatbot?
Put simply, a chatbot is a computer programme which can conduct a conversation with a user via auditory or textual input. Chatbots are designed to simulate typical conversational behaviour between two people, with the best chatbot systems being able to convince a user that they are speaking to another person.
The IT Innovation team has built a prototype chatbot programmed to listen and converse with users about the GDPR regulation. The prototype uses IBM Watson and its natural language processing and machine learning to try and answer questions.
How was this prototype built?
We used a quick prototyping approach to build this tool. This prototype took around 10 hours to build using the following tools and technology:
- express.js – a node.js based web development framework
- IBM Watson Assistant – a restful web service used for developing chatbot logic and conversation structures.
- Lots of GDPR information resources
How it works (the basics)
- A user types a question into an Ajax driven web application (chat service).
- The web application takes the users input and sends it to the Watson Assistant via a REST API.
- The Watson assistant analyses the users input using a number of machine learning and natural languages processes. It then picks what it believes is an appropriate response and returns that response to the web application. Which in turn displays it to the user in a chat window.
Simple vs complex use cases
This prototype was designed to demonstrate how a simple chatbot could be used to answer basic questions about a complex subject. Chatbots can have varying degrees of sophistication and can be implemented as part of more complex system architectures. For example:
- They can be used to process payments and authenticate users.
- They can be used in a speech to text context to answer phones and respond to voice.
- They can be used as the interface between users and much more complex and unstructured data sets (rather than quite simple structured questions and answers).
- They can utilise hardware devices such as phones and virtual assistants such as Amazon Alexa.
Data sources – structured data vs unstructured data
This prototype uses a structured questions and answers data set to answer questions using natural language processing of user input. However, chatbots can also be programmed to respond using information gathered from unstructured data sources such as web pages and word documents.
Watson Discovery is an additional web service that can be implemented alongside Watson assistant to add additional capabilities that enable the system to use machine learning to search unstructured data sources for answers that it thinks might be relevant.
We want your feedback
Remember, this is just a simple prototype to demonstrate the potential use of chatbots at the university. It took around 10 hours to build and it won’t answer every question you have about GDPR. It is not a production quality application and its mobile UI/ UX needs some work.
Please try the bot and provide any feedback you have to itinnovation@contacts.bham.ac.uk.
We’re interested in any and all feedback, including:
- Identification of business areas that could benefit from chatbots and virtual assistants.
- Feedback to improve the UX / UI.
- Different approaches using similar technologies, such as expert systems.
- New contexts in which to prototype a chatbot in order to demonstrate their potential value.
Alternative tools to Watson IBM
There are many services that can utilised as IBM Watson has been for this prototype. There are both commercial and open source options; here are a few links.
- Amazon Lex – https://aws.amazon.com/lex/
- Azure bot service – https://azure.microsoft.com/en-gb/services/bot-service/
- Snorkel – https://hazyresearch.github.io/snorkel/
- Apache UIMA – http://uima.apache.org/
- BotMan – https://botman.io/
- Ruby on Rails bots – https://github.com/jgorset/facebook-messenger
Some further reading and examples
- Chatbots (of) the future! – https://medium.com/swlh/chatbots-of-the-future-86b5bf762bb4
- How and where to A/B test your chatbot – https://chatbotsmagazine.com/3-tips-on-improving-chatbot-retention-297c88b249cc
- 10 Real Examples How Brands are Using Chatbot for Customer Service – https://medium.com/the-mission/10-real-examples-how-brands-are-using-chatbot-for-customer-service-4fbb5e4617f3
- First utility customer service bot – https://www.first-utility.com/contact-us