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.”

Have you ever dreamed about creating your own chat bot that asks users a few simple questions and, based on human replies, creates new questions to continue the conversation, possibly an endless conversation? Have you thought about putting this chat bot on your Facebook page? Nothing simpler than creating a chat bot by reading and following this step-by-step guide Writing your first Facebook chat bot in PHP using Jaxl library written by a PHP developer Abhinav Singh.
The first formal instantiation of a Turing Test for machine intelligence is a Loebner Prize and has been organized since 1991. In a typical setup, there are three areas: the computer area with typically 3-5 computers, each running a stand-alone version (i.e. not connected with the internet) of the participating chatbot, an area for the human judges, typically four persons, and another area for the ‘confederates’, typically 3-5 voluntary humans, dependent on the number of chatbot participants. The human judges, working on their own terminal separated from one another, engage in a conversation with a human or a computer through the terminal, not knowing whether they are connected to a computer or a human. Then, they simply start to interact. The organizing committee requires that conversations are restricted to a single topic. The task for the human judges is to recognize chatbot responses and distinguish them from conversations with humans. If the judges cannot reliably distinguish the chatbot from the human, the chatbot is said to have passed the test.
Earlier, I made a rather lazy joke with a reference to the Terminator movie franchise, in which an artificial intelligence system known as Skynet becomes self-aware and identifies the human race as the greatest threat to its own survival, triggering a global nuclear war by preemptively launching the missiles under its command at cities around the world. (If by some miracle you haven’t seen any of the Terminator movies, the first two are excellent but I’d strongly advise steering clear of later entries in the franchise.)

A representative example of a chat bot is A.L.I.C.E., brought to artificial life in 1995 by Richard Wallace. The A.L.I.C.E. bot participated in numerous competitions related to natural language processing evaluation and obtained many honors and awards, and it is also worth mentioning that this chat bot won the Loebner Prize contest at least three times, it was also part of the top 10 at Chatterbox competition, and won the best character/personality chat bot contest.
Disney invited fans of the movie to solve crimes with Lieutenant Judy Hopps, the tenacious, long-eared protagonist of the movie. Children could help Lt. Hopps investigate mysteries like those in the movie by interacting with the bot, which explored avenues of inquiry based on user input. Users can make suggestions for Lt. Hopps’ investigations, to which the chatbot would respond.
Since the steep rise of available hardware and software platforms lately, nowadays chatbots are available everywhere. Originally, they were very tight to computers, then exchangeable through tapes, discs and floppy discs, but since the Internet era they have been widespread. For example ancient chatbot Eliza is now also available on iPhone, while famous chatbot A.L.I.C.E. is available on Facebook.
AIML, Artificial Intelligence Markup Language developed by Richard Wallace, constitutes an open standard for creating your own chat bot. AIML file consists of row-type, database-style data combined with hierarchical XML data in each response. This video shows one of spreadsheet-style editors for AIML, Simple AIML Editor (SAE) developed by Adeena Mignogna. The SAE allows botmasters to manage large AIML sets and then zoom in on the templates to edit the responses.
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".