The generalisation of a simple chatbot is a user interface that will obtain inputs of text from a user, and then respond to it as a person would in conversation. The chatbot has a conversation with the user and simulates a response from a record set in a database. A chatbot will use NLP systems to tag certain parts of text to identify what the user is trying to say. These parts of the text are known as ‘keywords’. These ‘keywords’ are determined by the bodies of text that are in the database behind the chatbot. These bodies of text will have determined which words of the English language are verbs, adjectives, nouns, adverbs etc. The database will have to also determine which context the response must be, in the aspect of the structure of it. Idioms are a good example of how the chatbox can respond, for example the chatbox will need to pick up that a phrase such as “the heavens opened” means “raining”.
Another phrase for an early developed chatbox is ‘Converstaional agents’ or ‘CA’. These are also dialog systems and the earliest example is ELIZA. The stages of a CA are very simple and they start with the system taking the input from the user and it is converted using the systems input recogniser (ASR). The text formed by the ASR is then reviewed by the NLP components (speech tagger and parser). The generated information is analysed by the dialog manager that maintains the history and logs and will prompt a response. A natural language generator will produce the output and it will then display for the user. The example of ELIZA is a good way tom explain these steps. ELIZA is a programmable system that is a simple conversational tool and it is explained in detail below.
ELIZA was released in 1966 and was the first acclamation of a so called ‘chatbot’. The designer was called Joseph Weizebaum and he designed ELIZA to act the role of a psychotherapist. The chatbot would rearrange the input to produce an output to the user, which would generally be a question to prompt the user to answer each time. ELIZA would use keyword recognition to pick out the words to rearrange in the resulting output. Based on appearances, it is possible to say that the keyword filters span a category range as well as positive to negative structures. As an example, the user enters the text “My mother is an angel”. ELIZA would match the word ‘mother’ to family, the word ‘is’ to the present tense and the word ‘angel’ to positive. The output produced by ELIZA may be along the lines of “Do you like the other members of your family?”. This method will usually give the illusion of perfect understanding of the user in the majority of cases. This then made ELIZA look very sophisticated for the time it was produced. As ELIZA had a specific role of a therapist for the user to share confidence, she was easy to design to that role. It is building a chatbot for no particular role that can cause problems in designing. This is due to the broad English language and the amount of data needed for an open chatbot.
PARRY was designed by Kenneth Colby and it was developed to simulate and reflect the mind of a seriously paranoid mental patient; because of this PARRY was developed to drive the most basic of human emotions such as anger and fear. The custom database used will have achieved this using triggers from positives and negatives (in text) for various emotions. Professionals would analyse PARRY and recognise various similarities in that of him and a real person with the same issues. PARRY and ELIZA were designed using similar NLP abilities and both were very successful for their purpose. Tagging and pattern matching were the tools used and both chatbots had restrictions to their abilities. PARRY, as ELIZA, lacked of the ability to manipulate the input correctly and could be easily confused or tripped up. They both were not self learning chatbots and they depended on a fully human maintained...