Creating
for fun and profit
David ‘DC’ Collier
dc@rikai.co
github.com/dcsan
Chatbots
RIKAI Labs - ChatBots over WeChat
David ‘DC’ Collier
4 startups, 2 exits (US, Japan)
20 years experience in games industry
Produced Games for EA, Disney,
BandaiNamco, Sony + more. Frequent
hackathon winner!
Edaan Getzel
English teaching experience in China + Korea.
Published Author. Real-estate Entrepreneur.
Company
Our AI ChatBot platform connects users
with our AI supported teachers.
The AI learns from the teachers response
and takes over the repetitive Q&A.
Our scripting engine allows us to design a
structure for the content to keep things
exciting and moving along. Chatbots
provide a mix of audio, text and images to
help people learn, all without leaving
WeChat.
Products Platform
Micro英语 (MicroEnglish)
The first app for learning english right
inside of WeChat! It allows users to chat to
our AI supported teachers and practice
conversational english anytime and
anywhere!
Talk Outline
• What’s a Chatbot? Examples
• Bot cookbook - how to bake a ‘bot
• structure, visuals, language design
• One more example
• Bot brainstorming session!
Looking for ‘bot ideas?
Slack
slack.com/apps
Telegram
storebot.me
KIK
bots.kik.com
Some RIKAI Labs ‘bots
Lawyer Bot - legal advice and contracts
Finbot - your personal financial adviser
FreeCodeCamp - learn to code with your bot teacher!
JoBot - Job interviews over WeChat
Micro English - learn english in WeChat!
Structural
● gamification
● bot - user context and
relationship
● timing
● wide vs.deep
● personality and backstory
Chat + Gamification
Karma points awarded by a bot in the chat
A bot is watching the chat and giving points to
users (ranking) based on thanks @user
Also acts as a clue for data-mining the chats.
Quest / Task list
Given objectives within a
chat, you can come back to
the bot
Bot <> User relationship
User <> Bot
Team bots
Background bots
User > Bot > User
NPC characters
Visual
● typography
● embedded content
● interactive widgets
Using markdown, ASCII art and emoji to create
engaging TEXT content
Menus which are nicely formatted with UTF
characters
Stickers and other inline animations
Bot typography
Stickers!
Interactive Chat Widgets
Buttons Sliders Inline games
Embedded Content
WeChat - has its own whole CMS for news
articles + a browser
Slack - markdown, custom cards
Gitter - embedly for twitter, youtube etc
FB Messenger - content cards
KIK - built in browser
Conversational
1st gen bots are mostly passing parameters:
@bot remind me to do <task> at <time>
Next gen bots should be able to have a more
natural conversation. But how?
Moving beyond “slot filling” chats
Approaches to Natural Conversation
1) Machine learning / big data
eg CleverBot has a huge amount of random chat data, but doesn’t understand it.
You really need a two-sided bot for this to work. example: customer support with
agents responding to customers
2) Understanding / AI
Parsers, NLP and extracting and acting on the meaning. Logic variables, decisions.
3) Human supervision
human supervision of incoming data.
4) Blended approach
Mixing the above to get the best of all worlds
NLP and NLG
Natural Language Processing
works well for reducing down many
possible inputs
Certainly! When would
you like to go?
When do you want to go?
Natural Language Generation
to produce a variety of interesting
replies
Hi! I’d like to buy a ticket
Do you sell tickets to ...
When is the next show?
Are there any tickets left?
We sure do! How many
would you like?
{
item: ticket
intent: buy
}
Humans are good at understanding the question

filtering and identifying and understand what the question is
Bots can be great at answering those questions 

with examples, images, and content that can be re-used and optimized.
Admin UI
Key here is good Admin UI so humans can respond quickly.
Async vs Sync replies
It’s ok to say “I’ll get back to you” depending on the context. As long as you have
something else to fill in the gaps.
Supervised Bots - “Artificial AI”
Chatbot Learning Feedback Loop
User says
something
Teacher
responds
System
learns
Art and science
Chat scripts need to be something writers can use.
Bots can require a lot of code/content, so the chat scripting language needs to be
readable. (eg Chatscript will reduce Wordnet syntax to ~emolike )
Admin / Visual UIs over code editors
The “admin UI” can also be the scripting environment - simply by replying to
customers you are “training” the bot.
Dialog editors, spreadsheets and interactive fiction authoring ala Twinery.org
Chat app development tools
Personality
1. What is the bot’s objective?
2. What type of information are you getting from the user?
3. I don’t like chatting with boring people,
… so why would anyone want to chat with a boring bot?
Your bot should be interesting!
The Donald
the most spectacular bot
persona in the world
Ecosystemical!
EcoSystem / Opportunity
App Store / Google Play Apps
websitesGoogle
Slack Directory Chat apps
WeChat / FB Messenger /
LINE / Telegram
Apps
Web
B2B Chat apps
B2C Chat apps Chat apps
Conversational experience
Two way - you want to get info from the users too
UI has a wide set of options to choose from that won’t suit a menu
Machine learning loop is available
Suitable for community
Can play an assistant role to a human
When to use a Chatbot?!
RIKAI Labs - We Build Bots!
Micro-Eng
Learn english
on WeChat
wechat: dc-magic
dc@rikai.co
RIKAI Labs also build
custom bots for other
companies. Get in
touch if you’d like to
discuss!

Chat apps v02

  • 1.
    Creating for fun andprofit David ‘DC’ Collier dc@rikai.co github.com/dcsan Chatbots
  • 2.
    RIKAI Labs -ChatBots over WeChat David ‘DC’ Collier 4 startups, 2 exits (US, Japan) 20 years experience in games industry Produced Games for EA, Disney, BandaiNamco, Sony + more. Frequent hackathon winner! Edaan Getzel English teaching experience in China + Korea. Published Author. Real-estate Entrepreneur. Company Our AI ChatBot platform connects users with our AI supported teachers. The AI learns from the teachers response and takes over the repetitive Q&A. Our scripting engine allows us to design a structure for the content to keep things exciting and moving along. Chatbots provide a mix of audio, text and images to help people learn, all without leaving WeChat. Products Platform Micro英语 (MicroEnglish) The first app for learning english right inside of WeChat! It allows users to chat to our AI supported teachers and practice conversational english anytime and anywhere!
  • 3.
    Talk Outline • What’sa Chatbot? Examples • Bot cookbook - how to bake a ‘bot • structure, visuals, language design • One more example • Bot brainstorming session!
  • 4.
    Looking for ‘botideas? Slack slack.com/apps Telegram storebot.me KIK bots.kik.com
  • 5.
    Some RIKAI Labs‘bots Lawyer Bot - legal advice and contracts Finbot - your personal financial adviser FreeCodeCamp - learn to code with your bot teacher! JoBot - Job interviews over WeChat Micro English - learn english in WeChat!
  • 6.
    Structural ● gamification ● bot- user context and relationship ● timing ● wide vs.deep ● personality and backstory
  • 7.
    Chat + Gamification Karmapoints awarded by a bot in the chat A bot is watching the chat and giving points to users (ranking) based on thanks @user Also acts as a clue for data-mining the chats. Quest / Task list Given objectives within a chat, you can come back to the bot
  • 8.
    Bot <> Userrelationship User <> Bot Team bots Background bots User > Bot > User NPC characters
  • 9.
    Visual ● typography ● embeddedcontent ● interactive widgets
  • 10.
    Using markdown, ASCIIart and emoji to create engaging TEXT content Menus which are nicely formatted with UTF characters Stickers and other inline animations Bot typography Stickers!
  • 11.
  • 12.
    Embedded Content WeChat -has its own whole CMS for news articles + a browser Slack - markdown, custom cards Gitter - embedly for twitter, youtube etc FB Messenger - content cards KIK - built in browser
  • 13.
  • 14.
    1st gen botsare mostly passing parameters: @bot remind me to do <task> at <time> Next gen bots should be able to have a more natural conversation. But how? Moving beyond “slot filling” chats
  • 15.
    Approaches to NaturalConversation 1) Machine learning / big data eg CleverBot has a huge amount of random chat data, but doesn’t understand it. You really need a two-sided bot for this to work. example: customer support with agents responding to customers 2) Understanding / AI Parsers, NLP and extracting and acting on the meaning. Logic variables, decisions. 3) Human supervision human supervision of incoming data. 4) Blended approach Mixing the above to get the best of all worlds
  • 16.
    NLP and NLG NaturalLanguage Processing works well for reducing down many possible inputs Certainly! When would you like to go? When do you want to go? Natural Language Generation to produce a variety of interesting replies Hi! I’d like to buy a ticket Do you sell tickets to ... When is the next show? Are there any tickets left? We sure do! How many would you like? { item: ticket intent: buy }
  • 17.
    Humans are goodat understanding the question
 filtering and identifying and understand what the question is Bots can be great at answering those questions 
 with examples, images, and content that can be re-used and optimized. Admin UI Key here is good Admin UI so humans can respond quickly. Async vs Sync replies It’s ok to say “I’ll get back to you” depending on the context. As long as you have something else to fill in the gaps. Supervised Bots - “Artificial AI”
  • 18.
    Chatbot Learning FeedbackLoop User says something Teacher responds System learns
  • 19.
    Art and science Chatscripts need to be something writers can use. Bots can require a lot of code/content, so the chat scripting language needs to be readable. (eg Chatscript will reduce Wordnet syntax to ~emolike ) Admin / Visual UIs over code editors The “admin UI” can also be the scripting environment - simply by replying to customers you are “training” the bot. Dialog editors, spreadsheets and interactive fiction authoring ala Twinery.org Chat app development tools
  • 20.
  • 21.
    1. What isthe bot’s objective? 2. What type of information are you getting from the user? 3. I don’t like chatting with boring people, … so why would anyone want to chat with a boring bot? Your bot should be interesting!
  • 22.
    The Donald the mostspectacular bot persona in the world
  • 23.
  • 24.
    EcoSystem / Opportunity AppStore / Google Play Apps websitesGoogle Slack Directory Chat apps WeChat / FB Messenger / LINE / Telegram Apps Web B2B Chat apps B2C Chat apps Chat apps
  • 25.
    Conversational experience Two way- you want to get info from the users too UI has a wide set of options to choose from that won’t suit a menu Machine learning loop is available Suitable for community Can play an assistant role to a human When to use a Chatbot?!
  • 26.
    RIKAI Labs -We Build Bots! Micro-Eng Learn english on WeChat wechat: dc-magic dc@rikai.co RIKAI Labs also build custom bots for other companies. Get in touch if you’d like to discuss!