Chatbots as a Novel Communication Method

March 2017, Stavros Vassos Helvia.io

Intro to Chatbots!

  • What type of chatbots are there?

  • How do you build them?

  • Do you need to know Computer Programming?

  • Do you need Artificial Intelligence (AI)?

  • How is this related to Marketing Communication (MarCom)?

  • A bit of context on this exciting new field

No prior knowlege required

  • Experts, please bear with me

  • Beginners, you can be secretly happy :)

Note!

  • The slides are layed out in 2D space!
  • Press left / right to change sections
  • Press down to proceed to next slide of current section
  • Press up to proceed to previous slide of current section
  • Or just press the spacebar to move on to what comes next ;)

Note!

  • All images are taken from relevant posts and articles
  • You can click on the images to be directed there

Overview

  • Chatting as a trend

  • Chatbot types and examples 

  • Chatbot development tools

  • Chatbot hands-on v1

  • Chatbot hands-on v2

  • Interactive Storytelling

  • Takeaways 

Chatting, Texting, Messaging

People communicate more in "text" than in "voice"

 

*Especially young people!

**Millennials: 20-40 years old at time of writing (2017)

Talking to friends

Talking to friends

Why do people like communicating like this anyway?

  • Asynchronous: keeps you connected with friends through ongoing conversations while being at another context, e.g., at work
  • Fast: perfect for quick information, e.g., "Send me your address"
  • Groups: great for arranging plans for dinner, drinks, hobbies, trips, etc
  • Multimedia: pictures, emoticons, stickers, GIFs! 
  • Casual: easier when talking to people you know less

Talking to companies

Talking to companies

When a company contacts a customer by texting:

  • Less invasive than receiving a phone call: people feel more comfortable in asynchronous and anonymous communication
  • Normal: people are used to talk like this everyday 
  • Personal: people feel they are treated better! e.g., compared to receiving a more "dry" email

Chatting is big

OK, so perhaps companies should employ "chat operators" to communicate with customers

Chatting is pretty wide

Chatting is pretty wide

Some platforms are bigger than others

Some platforms are bigger than others

OK, so perhaps companies should employ "chat operators" in Facebook Messenger to reach their market

Chat Robots, Chatbots, Bots

What is a chatbot?

The AI vision for chatbots

AI-powered assistants can:

  • converse in natural language 
  • understand what people mean
  • act accordingly to serve people

Chatbots as "Conversational AIs"

* I don't like using "AI" as a noun, but people do: AIs as in "AI systems"

Rose

  • July 2016, just around the time that messaging platforms were opening up for chatbot development

  • Web-based, users can talk to Rose over a website

  • "UBS has a new advertising campaign starring «Rose,» a quirky chatbot. Although «Rose» won a prestigious award for how lifelike she is, a practical test shows that artificial intelligence – as banks hope to use it – still has some ways to go at winning clients over."  -- finews.com

Rose

What it takes to be human? -- nytimes.com

Rose

  • Note that the Rose was part of a marketing campaign

  • It used Artificial Intelligence as a hot theme to intrigue people into reading about the future of customer service and at the same time give value to UBS brand

Rose

  • Open-ended conversation is tough to handle; "off-script" answers show the weaknesses of the chatbot

  • A storytelling experience is maintained with tricks like moving on with conversation regardless of answers

Tay

  • 2016 March, Microsoft releases @TayandYou on Twitter, before the spike on chatbot development

Tay

  • Microsoft showcases the power of (its) AI, by allowing the chatbot to train itself on the responses by users

  • The experiment goes bad and chatbot shuts down..

Tay

  • This serves as evidence that it's (still) tough to make machines that understand and use natural language

  • E.g., consider Microsoft's resources on AI, VMs, etc!

  • Note that Tay essentially served marketing purposes for showcasing the cutting-edge AI by Microsoft

  • "Microsoft terminates its Tay AI chatbot after she turns into a nazi" -- arstechnica.com

Conversational AI

  • ..is tough! but we have seen this before!
  • As for many technologies (and AI itself), the vision is often over-hyped and reality reveals the challenges

Conversational AI

  • Artificial Intelligence, Machine Learning, Deep Learning, Deep Networks, Training, ...
  • Natural Language Processing (NLP), Natural Language Understanding (NLU), Natural Language Generation (NLG), ...

 

  • On the next two slides let's see just a quick aside on the main idea behind most of the Machine Learning (ML) work that is done now

Cat AI

  • We prepare a big dataset of instances of the problem we want to solve, e.g., lots of cat images.
  • The ML system uses the dataset to train itself and create a model of problem we want to solve.
  • Then the model can be used to predict the answer to new problem instances, e.g., is this new image a cat?

Cat AI

Conversational AI

Chatbots as
"Mobile Apps"

Chatbots as Mobile Apps

  • Messaging mobile apps, e.g., Facebook Messenger, have most of the UI elements that one needs to build a mobile app: Button, List, Text-box, Images, etc

Chatbots as Mobile Apps

  • While the AI vision aims at chatbots that you talk and ask them anything, a practical alternative is the familiar "screen-based" mobile app experience

  • This is an "app-in-app" experience: instead of downloading a different app for every case, e.g., brand or service, the user can just "talk to" the corresponding persona in the chat app
  • Let's see some examples!

Burberry

  • Many brands have a Facebook page

  • This already allows to get messages on Messenger

Burberry

  • It is natural then to add a chatbot as a "smart answering machine" that gives digital marketing content and gives basic information

Tommy Hilfiger

  • More advanced ones may offer personalized content based on a quick interview

Chatbots as Mobile Apps

  • The fashion business has embraced social media and digital marketing and is very active on such solutions

  • Many other cases too:

    • News

    • Retail
    • Travel

    • Celebrities

    • Sports

    • Games

    • ...

Kayak

  • Very similar to what you would do on the website or the mobile app, with a touch of natural language

Hi Poncho

  • Popular chatbots offer a chat experience with emoticons, animated GIFs, chat slang, etc

Chatbots as Mobile Apps

Links to the ones we saw:

You can find and try some more on chatbot listings such as ChatBottle, BotList

OK, but how do you build a chatbot?

Chatbot Development

Types of chatbots

  • On one side mobile apps-in-apps
  • On the other side conversational AIs

Types of chatbots

  • A lot of amazing tools for building chatbots!

We will see some tools on developing chatbots as "Mobile Apps" and "Conversational AIs" and then use one for each case to build a chatbot

Chatbots as
"Mobile Apps"

Chatbots as Mobile Apps

A lot of chatbots recast existing solutions such as:

  • website, e.g., showing information about a catalog
  • blog, e.g., showing recent news on topics
  • webapp for an online service, e.g., giving information about the weather
  • e-shop, e.g., for buying clothes and shoes
  • customer support, e.g., answering based on FAQ
  • assistant, e.g., booking appointments
  • ...

Chatbots as Mobile Apps

Many tools for developing chatbots without coding, based on adding content and following templates!

Using blocks of content and buttons to move from one block to the other

Chatfuel

Using a Flow Diagram as a common representation

Motion.ai

Solutions specifially for building an audience, e.g., for artists

Chatbots as
"Conversational AIs"

Conversational AI

A practical approach that works:

  • Intent detection based on examples: whatever the user says, the systems map it to one of a small number of curated cases of intents

 

  • Authored responses for each detected intent

Conversational AI

A practical approach that works:

  • Parameter detection allows for more tailored responses; a lot of pre-trained tools allow to detect common entities such as dates, numbers, colors, etc
  • Typically some programming skills are needed 

Conversational AI

OK, let's build a chatbot!

GoT chatbot v1

Game of Thrones bot

  • Season 7 of the popular Game of Thrones series starts soon

  • Let's build a Facebook Messenger chatbot for this audience!

Game of Thrones bot

  • There are many characters that have appeared in the series (more than 50)

  • How about a GoT assistant that helps with the whereabouts of characters?

Game of Thrones bot

  • Who is Ned Stark?

  • What happened to Theon Grayjoy?

  • In which city is Tyrion Lannister?

  • This may be useful also for people that haven't watched previous seasons!

Chatfuel

  • We are going to use Chatfuel, a very popular online tool for chatbot development -- let's start!
  • Go to the website and login (you need a Facebook account to do so!) and then create a blank chatbot

Chatfuel

  • You need to be logged in on Facebook
  • You need to give permission to Chatfuel to do some actions on Facebook on your behalf (e.g., publish the chatbot) -- it's OK don't worry!
  • You need to have a Facebook page to connect the chatbot to; if you don't have one, create a blank one with any configuration you like

Chatfuel

  • You should be able to see this screen
  • There are two blocks of information already defined: the welcome block and the default answer

Chatfuel

  • Edit the two blocks to give information about what the chatbot does, i.e., about our GoT bot
  • Add a button to link to the GoT official website

Chatfuel

  • Add an image before the welcome text (aspect ratio needs to be 1x1.91 in order to look nice ;)
  • Then test your chatbot right on Messenger!

Chatfuel

  • "Quick reply" buttons is a nice way to get the experience going on Messenger!

Chatfuel

  • Add blocks with information, e.g., "Tyrion Lannister", "House Lannister" and some quick replies on the welcome block for choosing these blocks

Chatfuel

  • Blocks can be more structured in groups to make it easier to manage as the number blocks grow
  • Make two groups: "Houses", "House Lannister"

Chatfuel

  • This is really like making a simple website!
  • You put blocks of information (web pages) and connect them through buttons (links)

Collaborative Authoring

  • Let's all work together on the same chatbot
  • Ask me to give you permission to my GoT bot
  • Then you should be able to see the following

Collaborative Authoring

  • You can talk to the GoT bot on Messenger: link
  • Let's split in groups of 2-3 and add content about characters!

Collaborative Authoring

Pick a character:

  • Tyrion Lannister, Cercei Lannister, Jamie Lannister
  • Sansa Stark, Aryan Stark, Bran Stark, Eddard Stark
  • John Snow, Daenerys Targaryen, Varys
  • Davos Seaworth, Theon Greyjoy, Samwell Tarly, Brienne of Tarth
  • Tommen Baratheon, Joffrey Baratheon

For each character add three blocks:

  1. General information block
  2. Information about where they were last seen
  3. Information about a relevant place or event

Collaborative Authoring

  • Use content from "A Wiki of Fire and Ice"
  • Use small paragraphs!
  • If the text gets too long, break it to smaller messages!
  • Use images, but not too many!
  • Try the gallery to add many images, e.g., for describing a place
  • Use emoticons! -- emojipedia
  • Experiment on your "Blanc chatbot" first and then move your content to the GoT bot to avoid conflicts

Questions and Answers

  • OK, this is fine, but how about some conversational aspect too?
  • Let's move step by step from the "Mobile App" view of the chatbot to the "Conversational AI" view
  • For now we will only allow the chatbot to answer fixed questions, sort of like a FAQ page or a search engine

Questions and Answers

  • Let's add an AI rule for each character: whenever we ask something about their name, we see their block

Questions and Answers

  • You can add sample questions, and you can add more than one (block or text) answers to be served

Questions and Answers

  • You can use this for all kinds of questions: "When is the new episode going to air?"

Publishing on Facebook!

  • The chatbot can be connected directly to a Facebook page through the settings -- GoT bot is published here
  • People can also find in by searching on Messenger 

Limitations

  • The conversation aspect needs to be very minimal and very curated as it is "one-shot" or "no-memory"
  • On QnA, for each character you need to copy the same examples of the form "Who is X?", "Tell me about X", etc
  • You can add questions like "Who is Sansa married to?" and give answers, but you cannot say "Who is she married to" in the context of the previous question
  • If people start asking many questions, you'll get lots of default answers which makes the experience bad

Limitations

GoT chatbot v2

From GoT v1 to GoT v2

  • We collaboratively developed a GoT bot on Messenger: link
  • It features lots of nice content
  • It is of the type "Mobile App" chatbot (app-in-app)
  • It is more like a website
  • We want to add more conversation to it!
  • Let's focus on a different development platform

Conversational AI

A practical approach that works:

  • Intent detection based on examples: whatever the user says, the systems map it to one of a small number of curated cases of intents

 

  • Authored responses for each detected intent

Conversational AI

A practical approach that works:

  • Parameter detection allows for more tailored responses; a lot of pre-trained tools allow to detect common entities such as dates, numbers, colors, etc
  • E.g., this can handle template questions of the form "Who is X", where X is one of Sansa, Tyrion, Jamie, etc

Conversational AI

A practical approach that works:

  • Conversation state: as we move along from one Question-Answer to the next, the system remembers some points about the Q-As and can reply accordingly
  • E.g., 
    • "I want to know about Sansa"
    • "OK, here is some info"
      Chatbot new context: <Sansa Stark>
    • <Sansa Stark> "Who is she married to?"
    • Sansa is married to X

Let's use a chatbot developer platform that is more appropriate for conversation

Api.ai

  • We are going to use Api.ai, a tool for chatbot development that was acquired by Google!
  • Go to the website and login (you need a Google account to do so!) and then create a new agent

Api.ai

  • Similar to Chatfuel that we used for the GoT chatbot v1, there  are two "blocks": welcome and default reply
  • Questions and Answers here are connected in terms of intents, i.e., what the user wants as information
  • The idea here is that the user can ask anything! :)

Api.ai

  • Much more options here, let's see some one at a time
  • You can try the chatbot on the console on the right
  • As it is now the chatbot cannot understand any of our intents and always falls back on the default one

Api.ai

  • Let's make the welcome intent trigger whenever the user sends a greeting
  • For now disregard all the other options except for the "User says" part and add examples of user requests

Api.ai

  • All the examples we add there are "studied" by the chatbot when you save the intent and then it can understand similar requests
  • E.g., it got "hey" as a trigger for the welcome intent

Api.ai

  • You can even use voice!
  • Click on the microphone on the right to test it

Api.ai

  • Let's add an intent about Sansa Stark
  • The response of the chatbot to this intent can be a combination of text, image, quick replies, etc
  • Now we can ask information about Sansa

Api.ai

  • OK let's add some memory to the chatbot
  • Whenever the chatbot detects this intent by the user, it will remember that we are talking about Sansa
  • This in Api.ai terminology is a context

Api.ai

  • Now we can use this memory and specify intents that trigger only after the user asks about Sansa
  • So the question "Who is she married to?" triggers the right intent based on context, e.g., Sansa, Catelyn, etc

Api.ai

  • If you start over (reset contexts) and ask the same question, the default response will trigger
  • We can add another intent about this case, that prompts the user to pick a character first

Api.ai

  • We can add another context that keeps track if the chatbot has answered this question before and add an intent that gives a "I told you this" response :)
  • We can continue adding contexts and intents

Collaborative Authoring

  • Let's all work together on the same chatbot
  • Use the following Google account to login:
    <credentials are given live>
  • Then you should be able to see the following agents

Collaborative Authoring

  • Work on Got-bot chatbot and for each character add three intents with the appropriate contexts:
    1. General information 
    2. Information about where they were last seen
    3. Information about a relevant place or event

Api.ai

  • We can define an entity "Character" that can take different values
  • Then this can be used in template intents of the form "Who is @character?"

Api.ai

  • Here we use the @character entity to find out which actor played the character
  • This is very nice, try it!
  • But we cannot give answers as easy as before: now the chatbot needs to use the value of the entity (e.g., Ned Stark) and search in a database for the answer

Api.ai

  • In this case we used some available APIs (these are sort of like databases and services that can be queried in structured ways to give information)
  • "An API of Fire and Ice", click here to see an example 

  • This is where you need to be talking with developers!

Limitations

  • This is closer to a "Conversational AI" but still it is far away from a system that understands any question 
  • Lots of simple things that cannot be handled with existing "general-domain" tools, e.g., an intent that answers questions of the form "Is Ned dead?" cannot handle question "Is Ned alive?"
  • This is where you need to talk to AI experts ;)

Interactive Storytelling

Interactive Storytelling

  • As human-like AI is not achieved yet for NLP, NLU, NLG, chatbot design is closer to curated storytelling

  • Chatbots are computer programs; this allows for dynamic stories and interactivity

  • No golden standards for designing interactive stories

  • There are similar challenges in other digital media, in particular extensive studies in videogames

  • We will follow some main ideas from there using the gaming terminology

Linear Storytelling

  • Linear storyline similar to the “one story” of films

  • Strict order of plot points, only one way to move forward

Open-world Storytelling

  • Players may visit plot points in any order they choose

  • E.g., World of Warcraft, Grand Theft Auto

Linear-Islands Storytelling

  • Several open-world groups (islands) in a linear order

  • E.g., in Syberia all chapters start and end in a fixed way but the order of sub-parts of the story can vary

Branching Storytelling

  • Branching depending on player action that may lead to different endings

  • E.g., Heavy Rain, Beyond Two Souls

Interactive Storytelling

  • The player picks story paths with his choices

  • A "Drama Manager" selects to enable/disable parts of the story based on the player's detected type

Interactive Storytelling

  • As the story graph grows, special tools are needed to design, maintain, and debug the storytelling experience

Takeaways

Chatbots are a new channel

  • Targets a large demographic (Millennials)

  • Can be seen as an additional channel along with Website, Social Media, Mobile Apps

  • As the mobile platform is dominating the way we consume information (e.g., in comparison to desktop PCs) the chatbot medium can become "the new website"; it's already "the new mobile app"

Chatbots are easy to build

  • Plenty of DIY solutions for common use cases

  • Plenty of developers available for custom solutions

  • There is a hype similar to the "mobile app craze", you can't go wrong with building one now ;) 

Chatbots are hard to build

  • AI is over-hyped and in reality it needs a lot of effort to build "human-like" assistants

  • No real guidelines for Conversational UX yet!

  • Content is king (here as well)!

  • Similar to website design and development: it's the narrative and the experience that matters ;-)

Chatbots are a new medium

  • This is just the beginning!

  • Every month the big platforms release more features (Facebook Messenger is leading)

  • Group chat with chatbots

  • C2C (Chatbot to Chatbot) communication

  • Chatting as a common API

  • Hybrid chatbot and human operator ecosystems

Questions?

Stavros Vassos, AI Architect at Helvia.io

About.me: https://about.me/stavrosv
Email: stavros@helvia.io
​Twitter: @stavros.vassos

Google+: Chat is the new black

Brief CV

  • 1996-2001: Diploma in ECE,
    National Technical University of Athens, Greece
  • 2002-2008: MSc & PhD in Artificial Intelligence, University of Toronto, Canada
  • 2009-2012: Research Associate,
    National & Kapodistrian University of Athens, Greece
  • 2012-2016: Assistant Professor,
    Sapienza University of Rome, Italy
  • 2017: Lecturer in University of Thessaly,
    Founder of Helvia Technologies -- helvia.io

Intro to Chatbots

By Stavros Vassos

Intro to Chatbots

What type of chatbots are there? How do you build them? Do you need to know Computer Programming? Do you need Artificial Intelligence (AI)? How is this related to Marketing Communication (MarCom)? A quick hands-on tutorial is included to help you get started on this exciting new field.

  • 3,651