Skip to content
Amitha R edited this page Oct 14, 2018 · 12 revisions

Welcome to the Build-Incredible-Chatbots- wiki!

ChatBot

A computer program that can interact with a human through a chat interface and is designed to simulate a human. Conversation Agents or Dialog Systems. Example -> SIRI, Google Now -> voice based chatbots.

ELIZA - The first ever chatbot - 1966 - Joseph Weisenbaum at MIT labs.

  • It applys pattern matching techniques.
  • It was the first chatbot to win the Alan Turing test built in 1950. "The Turing Test of Artificial Intelligence" - The judge has to guess if the random respondent is a computer program or a real human. If the computer program is indistinguishable from the human, it wins!.

ELIZA taught us that "Humans have a desire to communicate with the computer in much the same way as they do with another human."

A.L.I.C.E. -> Artificial Linguistic Internet Computer Entity - 1995

  • Inspired by ELIZA, employs pattern matching to process human input.
  • Introduced the Artificial Intelligence Markup Language (AIML).

Natural Language Processing

  • It drives most chatbots today. It is a subset of Artificial Intelligence today.
  • 2006 -> IBM Watson won the show "Jeopardy" -> Quiz Show.
  • Closest alternative to chatbots -> Interactive Voice Response Systems (IVRS). Most organizations have a prerecorded voice-based tree of options to their customers. Callers navigate by pressing a number that sends a DTMF(Dual tone multi-frequency) tone that signals the IVRS to perform certain action.

2016 -> Facebook -> Messenger platform - to develop and create Chatbots.

  • Google Allo -> Smart AI powered app learns from the messages and provides contextual options. Remainders, weather, etc;
  • Microsoft - Tay (Thinking About You) -> stayed less than 24 hours.

Messaging apps have surpassed social networks. People are spending more time in messaging apps than elsewhere.

Bot Channels -> Line , skype, we chat, telegram, etc, powered by AI Providers -> wit.ai, api.ai, motion.ai, chatfuel, IBM Watson.

Anatomy of a CHATBOT

  • Human -> think of a messga eto send.
  • Channel to interact -> messenger, wechat, skype, sms, etc;
  • Chatbot App -> Accepts the users message and starts a conversation session.
  • Parser -> process the message language (English) and convert it to structured data in order to consume. Mostly returns two elements.
    • Intent - explains what the user wants.
    • Actionable data - Information to get the response. (entities)
    • Based on the action and intent a Third-party API can to used to fetch the data.
  • Responder -> Takes the data and produces human like output to the human.

Parser

Responsible to for accepting human input and transforming it into structured data.

  • "what is the weather like in new york?" - {intent: "weather", location: "New York"}
  • "where is the chinese restuarant?" - {intent: "restaurant", cuisine: "Chinese"}

This can be achieved in many ways:

1 Pattern-matching - Based on rules hard-coded into the system. REGEX Pattern; (RIGID- Approach); 2 Artificial Intelligence - Natural Language Processing - Machine Learning.

Machine Learning - Algorithms that can be trained to define the rules required to extract entities. They are trained using a corpus/data-set, here the "intent" and "entities" are manually tagged in the corpus. (Supervised Machine Learning);

  • Response templates are created by Bot architects and it is relayed back through the bot channel to the user.