A basic SMS service is available via GitHub to start building a bot which uses IBM’s BlueMix platform which hosts the Watson Conversation Services. A developer can import a workspace to setup a new service. This starts with a blank dashboard where a developer can import all the tools needed to run the conversation service. The services has a dialog flow – a series of options with yes/no answers that the service uses to work out what the user’s intent is, what entity it’s working on, how to respond and how to phrase the response in the best way for the user.
This is where most applications of NLP struggle, and not just chatbots. Any system or application that relies upon a machine’s ability to parse human speech is likely to struggle with the complexities inherent in elements of speech such as metaphors and similes. Despite these considerable limitations, chatbots are becoming increasingly sophisticated, responsive, and more “natural.”
Developed to assist Nigerian students preparing for their secondary school exam, the University Tertiary Matriculation Examination (UTME), SimbiBot is a chatbot that uses past exam questions to help students prepare for a variety of subjects. It offers multiple choice quizzes to help students test their knowledge, shows them where they went wrong, and even offers tips and advice based on how well the student is progressing.
The bot (which also offers users the opportunity to chat with your friendly neighborhood Spiderman) isn’t a true conversational agent, in the sense that the bot’s responses are currently a little limited; this isn’t a truly “freestyle” chatbot. For example, in the conversation above, the bot didn’t recognize the reply as a valid response – kind of a bummer if you’re hoping for an immersive experience.
Artificial neural networks, invented in the 1940’s, are a way of calculating an output from an input (a classification) using weighted connections (“synapses”) that are calculated from repeated iterations through training data. Each pass through the training data alters the weights such that the neural network produces the output with greater “accuracy” (lower error rate).
ELIZA's key method of operation (copied by chatbot designers ever since) involves the recognition of clue words or phrases in the input, and the output of corresponding pre-prepared or pre-programmed responses that can move the conversation forward in an apparently meaningful way (e.g. by responding to any input that contains the word 'MOTHER' with 'TELL ME MORE ABOUT YOUR FAMILY').[9] Thus an illusion of understanding is generated, even though the processing involved has been merely superficial. ELIZA showed that such an illusion is surprisingly easy to generate, because human judges are so ready to give the benefit of the doubt when conversational responses are capable of being interpreted as "intelligent".