AI - Warm-up

back to AI - Chatbots

Warm-up: Getting Acquainted with Chatbots

Chatbot  A program that conducts a conversation with a human user.  Chatter bots (chatbots) are designed to respond like humans to natural language input. Before you write code to create your own chatbot, you will explore existing chatbots.

Google and Microsoft offer digital assistants on smartphones, called Google Now and Cortana, respectively, which have deep knowledge of their users’ habits and schedules. Amazon sells a stand-alone device Alexa that, among other things, plays music, reads books aloud and can help buy items through Amazon. On September 8 Baidu, a Chinese internet giant, announced its own digital agent, Duer. And recently Facebook announced that a concierge service, called M, would be available through its messaging app.

According to research firm Gartner, about 38 per cent of American consumers have used virtual-assistant services on their smartphones recently; by the end of 2016 an estimated two-thirds of consumers in developed markets will use them daily.

1. Getting Familiar with Chatbots:

          Try out several of the chatbots and pick three to use for this activity.

    Example Chatbots to Try:

Bots - Many different ones
Cleverbot - one of the oldest bots that remembers what you said before
Elbot - a witty bot
Alice  

           Chatbots.org - List of all chatbots in the World

    Exploration

    Have several conversations with your chatbot and answer the following questions:

      How does it respond to where do you come from?

      What is the most interesting response?

      What is the most peculiar response?

      How does it respond to asdfghjkl?

 

2. Assignment:

    On your own or with a partner - Try out a few chatbots from the examples ones above

    Try out at least three chatbots.

 Be serious and try to converse with them in the way they are intended. (e.g. Talk to the Captain Kirk on about the Starship Enterprise and the show Star Trek. Try to converse with them.

 Try to trip them up. Look for their flaws


Answer the following:

         1.   Which ones did you try?

 

 

2. Which one was the best? Explain why

 

 

3. Does this one have good artificial intelligence? How good were the conversations that it has?

 

 

Simple chatbots act by looking for key words or phrases and responding to them.

 4.    Can you identify the keywords to which your chatbot responds?

 

 

 5.    Think of several keywords and the responses they might cause

 

 

 

6. If you ask the same question or give the same answer repeatedly, do you ever get the same answer?


3. Background:

    Current Work in NLP

     There is much work going on with Natural Language Processing in a variety of areas:

     Spam filtering uses NLP to determine whether an email message is spam.

     Many businesses use virtual agents to provide assistance to customers on Web sites.

     Information retrieval parses text, such as email messages, and tries to extract relevant information from it. For example, some email programs will suggest additions to online calendars based on text in the message.

     Sentiment analysis takes information retrieval further. Rather than extract information from a single source, it goes to a variety of online resources and accumulates information about a particular topic. For example, sentiment analysis might follow Twitter to see how people are reacting to a particular movie.

     Question answering systems search a large body of knowledge to respond to questions from users. The best known question answering system is IBMs Watson which won in the game show Jeopardy

    Glossary

API  An abbreviation for Application Programming Interface. It is a specification intended to be used as an interface by software components to communicate with each other.

Chatbot  A program that conducts a conversation with a human user.

Code refactoring  A disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.

NLP  Natural Language Processing; the field that studies responding to, and processing, human language.

Virtual agent  Also known as an Intelligent Agent. This can be used to gather information from a customer so that appropriate action can be taken in response to a query.


Comments