SlideShare a Scribd company logo
Writing your first
smart chatbot
Ajay Viswanathan, Software Engineer - Sigmoid
@MonadicNomad
Machines should work,
people should think
- Jim Henson
Human Communication
• Complex - subtext, sarcasm
• Rich - body language, gestures, intonation
• Evolved over millennia
• Higher dynamic range of expressions
Online Communication
• Stripped of any emotion
• Hacks like Emoticons, Emoji, Gifs
• Shorthand, lingo, buzzwords - underline the basic
human need to be conveyed efficiently
Messaging today
• Rich media - audio, video, images, ¯_(ツ)_/¯
• Async
• Easy to consume on the go
• Informal tone
• Always connected
Why Messaging Apps might
take over native apps
• Next evolution in messaging apps - building
functionality into them
• Apps are bulky, discoverability and maintaining
them is an issue
• Trend is to shift towards consistent interactions
• Apps have taken note and started moving out of
their silos and becoming integrable services
Your UI is your product’s
humble compensation for not
being telepathic
- @mortenjust
Why the sudden Bot
uprising?
• Preceding advancements in Machine learning,
Natural language processing, scalable computing,
massive API ecosystem, improvements in
messaging and notification systems
What is a Bot?
• The future of web design according to some
• A program to simulate conversation, to
• Find information
• Connect to resources
• Learn keywords
• Think about responses
• Bot != Conversational AI (not necessarily)
What makes a great
bot?
• Adds value of some kind
• Requires minimal input/direction
• Reliable, robust like standard software
• Relieves stress for humans
• Anticipates needs of users
Design principles
• Not Being Human - don’t try too hard to make them appear human. They can still
have a personality
• Keep it simple in functionality - Bots need to walk before they can run
• Be as smart as a puppy - Be endearing enough when failures occur and keep
learning
• Optimize for end-user and messaging medium
• Always have a human fallback mode
• {Structured input + Retrieval response} > {Freeform input + Generative response} -
We at not an acceptable reliability level for the latter
• Use feedback analytics and keep improving the user experience
Common pitfalls
• Don’t attempt to replace tasks better done by a human
• Don’t add a feature just because it is cool. It needs to
have business value
• Don’t keep winding conversations - anything more than
2 exchanges is a drag
• Avoid rhetorics, be neutral in tone
• Always have a “shut up” command for the bot
Before starting to develop a
Bot
• Define objectives
• Choose a domain/knowledge base for the Bot
• Select an appropriate personality
• Personality is often tied to domain
• Challenging medium because it is limited to just text
• Copywriter is king
• The future “UI” designer may never need to write HTML,
CSS rather be a comedian or literature major
Helpful tools
• Prototyping - Twine
• NLP - IBM Bluemix Watson APIs, NLTK, ScalaNLP
• Bots - Hubot, BotKit
• Client APIs - Slack, Facebook Messenger, Google
Hangouts
Simple architecture
• Raw input — Lexical parser —> Structured input
• Structured input — Functionality —> Domain
output
• Domain output — Persona —> Richer output
• Richer output — Client communication —> API
call to app
Demo: Uber Bot
• Domain
• Fetch user history of rides
• Book a cab
• Train bot to understand cab booking patterns and
anticipate bookings
• Personality
• Jesse Pinkman (:P)
References
• Introduction to Bots and basic principles - http://designmodo.com/chatbots-design/
• About how messaging is taking over the world - https://blog.intercom.io/messaging-apps-just-getting-started/
• How messaging would evolve in the future - https://blog.intercom.io/emoji-and-stickers-are-just-the-beginning/
• Priciples of bot design - https://blog.intercom.io/principles-bot-design/
• Funny article on the origins of BASAAP - http://berglondon.com/blog/2010/09/04/b-a-s-a-a-p/
• Developing chatbot personalities - http://www.fastcodesign.com/3054934/the-next-phase-of-ux-designing-
chatbot-personalities
• Flow of a bot application - http://www.a-i.com/show_tree.asp?id=61&level=3&root=1
• How to make a better bot - https://chatbotsmagazine.com/how-to-make-a-better-bot-c038626fd401#.gkgztq4sg
• How not to piss off users - https://medium.com/@andknf/3-tools-for-building-bots-that-people-won-t-tell-to-fuck-
off-584889eaf6b9#.x2th8d4v6
• Advanced Deep learning model for retrieval based systems - http://www.wildml.com/2016/07/deep-learning-
for-chatbots-2-retrieval-based-model-tensorflow/

More Related Content

What's hot

AI and Python: Developing a Conversational Interface using Python
AI and Python: Developing a Conversational Interface using PythonAI and Python: Developing a Conversational Interface using Python
AI and Python: Developing a Conversational Interface using Python
amyiris
 
Chatbot and Virtual AI Assistant Implementation in Natural Language Processing
Chatbot and Virtual AI Assistant Implementation in Natural Language Processing Chatbot and Virtual AI Assistant Implementation in Natural Language Processing
Chatbot and Virtual AI Assistant Implementation in Natural Language Processing
Shrutika Oswal
 
Using Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical SupportUsing Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical Support
Barbara Fusinska
 
AI Chatbot Development Methodology
AI Chatbot Development MethodologyAI Chatbot Development Methodology
AI Chatbot Development Methodology
Igor Luzhanskiy
 
Conversation UIs & Chatbots an introduction
Conversation UIs & Chatbots an introductionConversation UIs & Chatbots an introduction
Conversation UIs & Chatbots an introduction
Marion Mulder
 
Travel Startup Lisa Travel
Travel Startup Lisa TravelTravel Startup Lisa Travel
Travel Startup Lisa Travel
Travel Tech Conference Russia
 
Chat bots
Chat botsChat bots
Chat bots
Chandulal Kavar
 
chatbot and messenger as a platform
chatbot and messenger as a platformchatbot and messenger as a platform
chatbot and messenger as a platform
Daisuke Minamide
 
LINE Messenger Chatbot - What is Chatbot
LINE Messenger Chatbot - What is ChatbotLINE Messenger Chatbot - What is Chatbot
LINE Messenger Chatbot - What is Chatbot
Toni Haryanto
 
Chatbot: What is it ?
Chatbot: What is it ?Chatbot: What is it ?
Chatbot: What is it ?
Carl Gonthier
 
Chatbot
ChatbotChatbot
Chatbot
haseeb muhsin
 
Artificially Intelligent chatbot Implementation
Artificially Intelligent chatbot ImplementationArtificially Intelligent chatbot Implementation
Artificially Intelligent chatbot Implementation
Rakesh Chintha
 
Final presentation on chatbot
Final presentation on chatbotFinal presentation on chatbot
Final presentation on chatbot
VaishnaviKhandelwal6
 
Chat apps v02
Chat apps v02Chat apps v02
Chat apps v02
Marie Powers
 
Chatbot Artificial Intelligence
Chatbot Artificial IntelligenceChatbot Artificial Intelligence
Chatbot Artificial IntelligenceMd. Mahedi Mahfuj
 
Chat Bots, ChatOps and the Conversational User Interface (CUI)
Chat Bots, ChatOps and the Conversational User Interface (CUI)Chat Bots, ChatOps and the Conversational User Interface (CUI)
Chat Bots, ChatOps and the Conversational User Interface (CUI)
Richard Slater
 
Let's Build a Chatbot!
Let's Build a Chatbot!Let's Build a Chatbot!
Let's Build a Chatbot!
Christopher Mohritz
 
Introduction to Facebook Messenger, Conversational UI & NLP
Introduction to Facebook Messenger, Conversational UI & NLPIntroduction to Facebook Messenger, Conversational UI & NLP
Introduction to Facebook Messenger, Conversational UI & NLP
Saurabh Sharma
 
How do Chatbots Work? A Guide to Chatbot Architecture
How do Chatbots Work? A Guide to Chatbot ArchitectureHow do Chatbots Work? A Guide to Chatbot Architecture
How do Chatbots Work? A Guide to Chatbot Architecture
Maruti Techlabs
 
How a chat bot using dialog flow works
How a chat bot using dialog flow worksHow a chat bot using dialog flow works
How a chat bot using dialog flow works
Countants
 

What's hot (20)

AI and Python: Developing a Conversational Interface using Python
AI and Python: Developing a Conversational Interface using PythonAI and Python: Developing a Conversational Interface using Python
AI and Python: Developing a Conversational Interface using Python
 
Chatbot and Virtual AI Assistant Implementation in Natural Language Processing
Chatbot and Virtual AI Assistant Implementation in Natural Language Processing Chatbot and Virtual AI Assistant Implementation in Natural Language Processing
Chatbot and Virtual AI Assistant Implementation in Natural Language Processing
 
Using Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical SupportUsing Machine Learning and Chatbots to handle 1st line Technical Support
Using Machine Learning and Chatbots to handle 1st line Technical Support
 
AI Chatbot Development Methodology
AI Chatbot Development MethodologyAI Chatbot Development Methodology
AI Chatbot Development Methodology
 
Conversation UIs & Chatbots an introduction
Conversation UIs & Chatbots an introductionConversation UIs & Chatbots an introduction
Conversation UIs & Chatbots an introduction
 
Travel Startup Lisa Travel
Travel Startup Lisa TravelTravel Startup Lisa Travel
Travel Startup Lisa Travel
 
Chat bots
Chat botsChat bots
Chat bots
 
chatbot and messenger as a platform
chatbot and messenger as a platformchatbot and messenger as a platform
chatbot and messenger as a platform
 
LINE Messenger Chatbot - What is Chatbot
LINE Messenger Chatbot - What is ChatbotLINE Messenger Chatbot - What is Chatbot
LINE Messenger Chatbot - What is Chatbot
 
Chatbot: What is it ?
Chatbot: What is it ?Chatbot: What is it ?
Chatbot: What is it ?
 
Chatbot
ChatbotChatbot
Chatbot
 
Artificially Intelligent chatbot Implementation
Artificially Intelligent chatbot ImplementationArtificially Intelligent chatbot Implementation
Artificially Intelligent chatbot Implementation
 
Final presentation on chatbot
Final presentation on chatbotFinal presentation on chatbot
Final presentation on chatbot
 
Chat apps v02
Chat apps v02Chat apps v02
Chat apps v02
 
Chatbot Artificial Intelligence
Chatbot Artificial IntelligenceChatbot Artificial Intelligence
Chatbot Artificial Intelligence
 
Chat Bots, ChatOps and the Conversational User Interface (CUI)
Chat Bots, ChatOps and the Conversational User Interface (CUI)Chat Bots, ChatOps and the Conversational User Interface (CUI)
Chat Bots, ChatOps and the Conversational User Interface (CUI)
 
Let's Build a Chatbot!
Let's Build a Chatbot!Let's Build a Chatbot!
Let's Build a Chatbot!
 
Introduction to Facebook Messenger, Conversational UI & NLP
Introduction to Facebook Messenger, Conversational UI & NLPIntroduction to Facebook Messenger, Conversational UI & NLP
Introduction to Facebook Messenger, Conversational UI & NLP
 
How do Chatbots Work? A Guide to Chatbot Architecture
How do Chatbots Work? A Guide to Chatbot ArchitectureHow do Chatbots Work? A Guide to Chatbot Architecture
How do Chatbots Work? A Guide to Chatbot Architecture
 
How a chat bot using dialog flow works
How a chat bot using dialog flow worksHow a chat bot using dialog flow works
How a chat bot using dialog flow works
 

Viewers also liked

Deep learning - Chatbot
Deep learning - ChatbotDeep learning - Chatbot
Deep learning - Chatbot
Liam Bui
 
Angular js performance improvements
Angular js performance improvementsAngular js performance improvements
Angular js performance improvements
Sigmoid
 
WEBSOCKETS AND WEBWORKERS
WEBSOCKETS AND WEBWORKERSWEBSOCKETS AND WEBWORKERS
WEBSOCKETS AND WEBWORKERS
Sigmoid
 
Equation solving-at-scale-using-apache-spark
Equation solving-at-scale-using-apache-sparkEquation solving-at-scale-using-apache-spark
Equation solving-at-scale-using-apache-spark
Sigmoid
 
Productionizing spark
Productionizing sparkProductionizing spark
Productionizing spark
Sigmoid
 
Graph computation
Graph computationGraph computation
Graph computation
Sigmoid
 
Real-time Supply Chain Analytics
Real-time Supply Chain AnalyticsReal-time Supply Chain Analytics
Real-time Supply Chain Analytics
Sigmoid
 
Failsafe Hadoop Infrastructure and the way they work
Failsafe Hadoop Infrastructure and the way they workFailsafe Hadoop Infrastructure and the way they work
Failsafe Hadoop Infrastructure and the way they work
Sigmoid
 
Building high scalable distributed framework on apache mesos
Building high scalable distributed framework on apache mesosBuilding high scalable distributed framework on apache mesos
Building high scalable distributed framework on apache mesos
Sigmoid
 
Sparkstreaming with kafka and h base at scale (1)
Sparkstreaming with kafka and h base at scale (1)Sparkstreaming with kafka and h base at scale (1)
Sparkstreaming with kafka and h base at scale (1)
Sigmoid
 
Spark and spark streaming internals
Spark and spark streaming internalsSpark and spark streaming internals
Spark and spark streaming internals
Sigmoid
 
Composing and scaling data platforms
Composing and scaling data platformsComposing and scaling data platforms
Composing and scaling data platforms
Sigmoid
 
Introduction to apache nutch
Introduction to apache nutchIntroduction to apache nutch
Introduction to apache nutch
Sigmoid
 
Approaches to text analysis
Approaches to text analysisApproaches to text analysis
Approaches to text analysis
Sigmoid
 
IBM Bluemix Demos: Driving Smartphone and Personality Ball
IBM Bluemix Demos: Driving Smartphone and Personality BallIBM Bluemix Demos: Driving Smartphone and Personality Ball
IBM Bluemix Demos: Driving Smartphone and Personality Ball
Niklas Heidloff
 
Tale of Kafka Consumer for Spark Streaming
Tale of Kafka Consumer for Spark StreamingTale of Kafka Consumer for Spark Streaming
Tale of Kafka Consumer for Spark Streaming
Sigmoid
 
Introduction to Spark R with R studio - Mr. Pragith
Introduction to Spark R with R studio - Mr. Pragith Introduction to Spark R with R studio - Mr. Pragith
Introduction to Spark R with R studio - Mr. Pragith
Sigmoid
 

Viewers also liked (20)

AI_Workshop
AI_WorkshopAI_Workshop
AI_Workshop
 
BOTNETS
BOTNETSBOTNETS
BOTNETS
 
Deep learning - Chatbot
Deep learning - ChatbotDeep learning - Chatbot
Deep learning - Chatbot
 
Angular js performance improvements
Angular js performance improvementsAngular js performance improvements
Angular js performance improvements
 
WEBSOCKETS AND WEBWORKERS
WEBSOCKETS AND WEBWORKERSWEBSOCKETS AND WEBWORKERS
WEBSOCKETS AND WEBWORKERS
 
Equation solving-at-scale-using-apache-spark
Equation solving-at-scale-using-apache-sparkEquation solving-at-scale-using-apache-spark
Equation solving-at-scale-using-apache-spark
 
Productionizing spark
Productionizing sparkProductionizing spark
Productionizing spark
 
Graph computation
Graph computationGraph computation
Graph computation
 
Real-time Supply Chain Analytics
Real-time Supply Chain AnalyticsReal-time Supply Chain Analytics
Real-time Supply Chain Analytics
 
Failsafe Hadoop Infrastructure and the way they work
Failsafe Hadoop Infrastructure and the way they workFailsafe Hadoop Infrastructure and the way they work
Failsafe Hadoop Infrastructure and the way they work
 
Building high scalable distributed framework on apache mesos
Building high scalable distributed framework on apache mesosBuilding high scalable distributed framework on apache mesos
Building high scalable distributed framework on apache mesos
 
Sparkstreaming with kafka and h base at scale (1)
Sparkstreaming with kafka and h base at scale (1)Sparkstreaming with kafka and h base at scale (1)
Sparkstreaming with kafka and h base at scale (1)
 
Spark and spark streaming internals
Spark and spark streaming internalsSpark and spark streaming internals
Spark and spark streaming internals
 
Composing and scaling data platforms
Composing and scaling data platformsComposing and scaling data platforms
Composing and scaling data platforms
 
Introduction to apache nutch
Introduction to apache nutchIntroduction to apache nutch
Introduction to apache nutch
 
Chatbot_Presentation
Chatbot_PresentationChatbot_Presentation
Chatbot_Presentation
 
Approaches to text analysis
Approaches to text analysisApproaches to text analysis
Approaches to text analysis
 
IBM Bluemix Demos: Driving Smartphone and Personality Ball
IBM Bluemix Demos: Driving Smartphone and Personality BallIBM Bluemix Demos: Driving Smartphone and Personality Ball
IBM Bluemix Demos: Driving Smartphone and Personality Ball
 
Tale of Kafka Consumer for Spark Streaming
Tale of Kafka Consumer for Spark StreamingTale of Kafka Consumer for Spark Streaming
Tale of Kafka Consumer for Spark Streaming
 
Introduction to Spark R with R studio - Mr. Pragith
Introduction to Spark R with R studio - Mr. Pragith Introduction to Spark R with R studio - Mr. Pragith
Introduction to Spark R with R studio - Mr. Pragith
 

Similar to Building bots to automate common developer tasks - Writing your first smart chatbot

Using Chatbots in Extension Programming
Using Chatbots in Extension ProgrammingUsing Chatbots in Extension Programming
Using Chatbots in Extension Programming
Amy Cole
 
Ai chatbot ppt.pptx
Ai chatbot ppt.pptxAi chatbot ppt.pptx
Ai chatbot ppt.pptx
aashnareddy1
 
Introduction to Chatbots
Introduction to ChatbotsIntroduction to Chatbots
Introduction to Chatbots
Priyab Satoshi
 
Bot design AIsatPN 2018
Bot design AIsatPN 2018Bot design AIsatPN 2018
Bot design AIsatPN 2018
Jessica Tibaldi
 
Serverless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedServerless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speed
Luca Bianchi
 
Mobile product - "Build great apps!" at ProductTank Paris #17
Mobile product - "Build great apps!" at ProductTank Paris #17Mobile product - "Build great apps!" at ProductTank Paris #17
Mobile product - "Build great apps!" at ProductTank Paris #17
Alexandre Jubien
 
NUS-ISS Learning Day 2019- ChatBots: All about Conversational Experiences
NUS-ISS Learning Day 2019- ChatBots: All about Conversational ExperiencesNUS-ISS Learning Day 2019- ChatBots: All about Conversational Experiences
NUS-ISS Learning Day 2019- ChatBots: All about Conversational Experiences
NUS-ISS
 
How to Work with Bots in Product by Shopify Sr. Product Manager
How to Work with Bots in Product by Shopify Sr. Product ManagerHow to Work with Bots in Product by Shopify Sr. Product Manager
How to Work with Bots in Product by Shopify Sr. Product Manager
Product School
 
Outcome Oriented Chatbots
Outcome Oriented ChatbotsOutcome Oriented Chatbots
Outcome Oriented Chatbots
David Patterson
 
Build a mobile chatbot with Xamarin
Build a mobile chatbot with XamarinBuild a mobile chatbot with Xamarin
Build a mobile chatbot with Xamarin
Luis Beltran
 
Chatbot Technology
Chatbot TechnologyChatbot Technology
Chatbot Technology
AishwaryaBhardwaj14
 
Microsoft Bot Framework
Microsoft Bot FrameworkMicrosoft Bot Framework
Microsoft Bot Framework
vivek p s
 
Mat Velloso - Bots in the real world
Mat Velloso - Bots in the real worldMat Velloso - Bots in the real world
Mat Velloso - Bots in the real world
Web à Québec
 
Boris Chan - FITC SCREENS - Becoming Social By Default on Mobile
Boris Chan - FITC SCREENS - Becoming Social By Default on MobileBoris Chan - FITC SCREENS - Becoming Social By Default on Mobile
Boris Chan - FITC SCREENS - Becoming Social By Default on MobileBoris Chan
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
Four Kitchens
 
[DEV5106] chatbots best practices and design patterns
[DEV5106] chatbots best practices and design patterns[DEV5106] chatbots best practices and design patterns
[DEV5106] chatbots best practices and design patterns
Ruben Rodriguez
 
How We Built A Bot For FITC
How We Built A Bot For FITCHow We Built A Bot For FITC
How We Built A Bot For FITC
FITC
 
The lifecycle of a chatbot
The lifecycle of a chatbotThe lifecycle of a chatbot
The lifecycle of a chatbot
Sohan Maheshwar
 
Applications-of-Artificial intelligence-Chatbot.pdf
Applications-of-Artificial intelligence-Chatbot.pdfApplications-of-Artificial intelligence-Chatbot.pdf
Applications-of-Artificial intelligence-Chatbot.pdf
yuguzeva
 
Serverless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedServerless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speed
Paolo Montrasio
 

Similar to Building bots to automate common developer tasks - Writing your first smart chatbot (20)

Using Chatbots in Extension Programming
Using Chatbots in Extension ProgrammingUsing Chatbots in Extension Programming
Using Chatbots in Extension Programming
 
Ai chatbot ppt.pptx
Ai chatbot ppt.pptxAi chatbot ppt.pptx
Ai chatbot ppt.pptx
 
Introduction to Chatbots
Introduction to ChatbotsIntroduction to Chatbots
Introduction to Chatbots
 
Bot design AIsatPN 2018
Bot design AIsatPN 2018Bot design AIsatPN 2018
Bot design AIsatPN 2018
 
Serverless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedServerless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speed
 
Mobile product - "Build great apps!" at ProductTank Paris #17
Mobile product - "Build great apps!" at ProductTank Paris #17Mobile product - "Build great apps!" at ProductTank Paris #17
Mobile product - "Build great apps!" at ProductTank Paris #17
 
NUS-ISS Learning Day 2019- ChatBots: All about Conversational Experiences
NUS-ISS Learning Day 2019- ChatBots: All about Conversational ExperiencesNUS-ISS Learning Day 2019- ChatBots: All about Conversational Experiences
NUS-ISS Learning Day 2019- ChatBots: All about Conversational Experiences
 
How to Work with Bots in Product by Shopify Sr. Product Manager
How to Work with Bots in Product by Shopify Sr. Product ManagerHow to Work with Bots in Product by Shopify Sr. Product Manager
How to Work with Bots in Product by Shopify Sr. Product Manager
 
Outcome Oriented Chatbots
Outcome Oriented ChatbotsOutcome Oriented Chatbots
Outcome Oriented Chatbots
 
Build a mobile chatbot with Xamarin
Build a mobile chatbot with XamarinBuild a mobile chatbot with Xamarin
Build a mobile chatbot with Xamarin
 
Chatbot Technology
Chatbot TechnologyChatbot Technology
Chatbot Technology
 
Microsoft Bot Framework
Microsoft Bot FrameworkMicrosoft Bot Framework
Microsoft Bot Framework
 
Mat Velloso - Bots in the real world
Mat Velloso - Bots in the real worldMat Velloso - Bots in the real world
Mat Velloso - Bots in the real world
 
Boris Chan - FITC SCREENS - Becoming Social By Default on Mobile
Boris Chan - FITC SCREENS - Becoming Social By Default on MobileBoris Chan - FITC SCREENS - Becoming Social By Default on Mobile
Boris Chan - FITC SCREENS - Becoming Social By Default on Mobile
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
 
[DEV5106] chatbots best practices and design patterns
[DEV5106] chatbots best practices and design patterns[DEV5106] chatbots best practices and design patterns
[DEV5106] chatbots best practices and design patterns
 
How We Built A Bot For FITC
How We Built A Bot For FITCHow We Built A Bot For FITC
How We Built A Bot For FITC
 
The lifecycle of a chatbot
The lifecycle of a chatbotThe lifecycle of a chatbot
The lifecycle of a chatbot
 
Applications-of-Artificial intelligence-Chatbot.pdf
Applications-of-Artificial intelligence-Chatbot.pdfApplications-of-Artificial intelligence-Chatbot.pdf
Applications-of-Artificial intelligence-Chatbot.pdf
 
Serverless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedServerless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speed
 

More from Sigmoid

Monitoring and tuning Spark applications
Monitoring and tuning Spark applicationsMonitoring and tuning Spark applications
Monitoring and tuning Spark applications
Sigmoid
 
Structured Streaming Using Spark 2.1
Structured Streaming Using Spark 2.1Structured Streaming Using Spark 2.1
Structured Streaming Using Spark 2.1
Sigmoid
 
Real-Time Stock Market Analysis using Spark Streaming
 Real-Time Stock Market Analysis using Spark Streaming Real-Time Stock Market Analysis using Spark Streaming
Real-Time Stock Market Analysis using Spark Streaming
Sigmoid
 
Levelling up in Akka
Levelling up in AkkaLevelling up in Akka
Levelling up in Akka
Sigmoid
 
Expression Problem: Discussing the problems in OOPs language & their solutions
Expression Problem: Discussing the problems in OOPs language & their solutionsExpression Problem: Discussing the problems in OOPs language & their solutions
Expression Problem: Discussing the problems in OOPs language & their solutions
Sigmoid
 
Spark 1.6 vs Spark 2.0
Spark 1.6 vs Spark 2.0Spark 1.6 vs Spark 2.0
Spark 1.6 vs Spark 2.0
Sigmoid
 
SORT & JOIN IN SPARK 2.0
SORT & JOIN IN SPARK 2.0SORT & JOIN IN SPARK 2.0
SORT & JOIN IN SPARK 2.0
Sigmoid
 
ML on Big Data: Real-Time Analysis on Time Series
ML on Big Data: Real-Time Analysis on Time SeriesML on Big Data: Real-Time Analysis on Time Series
ML on Big Data: Real-Time Analysis on Time Series
Sigmoid
 
Joining Large data at Scale
Joining Large data at ScaleJoining Large data at Scale
Joining Large data at Scale
Sigmoid
 
Graph Analytics for big data
Graph Analytics for big dataGraph Analytics for big data
Graph Analytics for big data
Sigmoid
 
Using spark for timeseries graph analytics
Using spark for timeseries graph analyticsUsing spark for timeseries graph analytics
Using spark for timeseries graph analytics
Sigmoid
 
Time series database by Harshil Ambagade
Time series database by Harshil AmbagadeTime series database by Harshil Ambagade
Time series database by Harshil Ambagade
Sigmoid
 
Dashboard design By Anu Vijayan
Dashboard design By Anu VijayanDashboard design By Anu Vijayan
Dashboard design By Anu Vijayan
Sigmoid
 
Spark Dataframe - Mr. Jyotiska
Spark Dataframe - Mr. JyotiskaSpark Dataframe - Mr. Jyotiska
Spark Dataframe - Mr. Jyotiska
Sigmoid
 
Real Time search using Spark and Elasticsearch
Real Time search using Spark and ElasticsearchReal Time search using Spark and Elasticsearch
Real Time search using Spark and Elasticsearch
Sigmoid
 

More from Sigmoid (15)

Monitoring and tuning Spark applications
Monitoring and tuning Spark applicationsMonitoring and tuning Spark applications
Monitoring and tuning Spark applications
 
Structured Streaming Using Spark 2.1
Structured Streaming Using Spark 2.1Structured Streaming Using Spark 2.1
Structured Streaming Using Spark 2.1
 
Real-Time Stock Market Analysis using Spark Streaming
 Real-Time Stock Market Analysis using Spark Streaming Real-Time Stock Market Analysis using Spark Streaming
Real-Time Stock Market Analysis using Spark Streaming
 
Levelling up in Akka
Levelling up in AkkaLevelling up in Akka
Levelling up in Akka
 
Expression Problem: Discussing the problems in OOPs language & their solutions
Expression Problem: Discussing the problems in OOPs language & their solutionsExpression Problem: Discussing the problems in OOPs language & their solutions
Expression Problem: Discussing the problems in OOPs language & their solutions
 
Spark 1.6 vs Spark 2.0
Spark 1.6 vs Spark 2.0Spark 1.6 vs Spark 2.0
Spark 1.6 vs Spark 2.0
 
SORT & JOIN IN SPARK 2.0
SORT & JOIN IN SPARK 2.0SORT & JOIN IN SPARK 2.0
SORT & JOIN IN SPARK 2.0
 
ML on Big Data: Real-Time Analysis on Time Series
ML on Big Data: Real-Time Analysis on Time SeriesML on Big Data: Real-Time Analysis on Time Series
ML on Big Data: Real-Time Analysis on Time Series
 
Joining Large data at Scale
Joining Large data at ScaleJoining Large data at Scale
Joining Large data at Scale
 
Graph Analytics for big data
Graph Analytics for big dataGraph Analytics for big data
Graph Analytics for big data
 
Using spark for timeseries graph analytics
Using spark for timeseries graph analyticsUsing spark for timeseries graph analytics
Using spark for timeseries graph analytics
 
Time series database by Harshil Ambagade
Time series database by Harshil AmbagadeTime series database by Harshil Ambagade
Time series database by Harshil Ambagade
 
Dashboard design By Anu Vijayan
Dashboard design By Anu VijayanDashboard design By Anu Vijayan
Dashboard design By Anu Vijayan
 
Spark Dataframe - Mr. Jyotiska
Spark Dataframe - Mr. JyotiskaSpark Dataframe - Mr. Jyotiska
Spark Dataframe - Mr. Jyotiska
 
Real Time search using Spark and Elasticsearch
Real Time search using Spark and ElasticsearchReal Time search using Spark and Elasticsearch
Real Time search using Spark and Elasticsearch
 

Recently uploaded

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

Building bots to automate common developer tasks - Writing your first smart chatbot

  • 1. Writing your first smart chatbot Ajay Viswanathan, Software Engineer - Sigmoid @MonadicNomad
  • 2. Machines should work, people should think - Jim Henson
  • 3. Human Communication • Complex - subtext, sarcasm • Rich - body language, gestures, intonation • Evolved over millennia • Higher dynamic range of expressions
  • 4. Online Communication • Stripped of any emotion • Hacks like Emoticons, Emoji, Gifs • Shorthand, lingo, buzzwords - underline the basic human need to be conveyed efficiently
  • 5. Messaging today • Rich media - audio, video, images, ¯_(ツ)_/¯ • Async • Easy to consume on the go • Informal tone • Always connected
  • 6. Why Messaging Apps might take over native apps • Next evolution in messaging apps - building functionality into them • Apps are bulky, discoverability and maintaining them is an issue • Trend is to shift towards consistent interactions • Apps have taken note and started moving out of their silos and becoming integrable services
  • 7. Your UI is your product’s humble compensation for not being telepathic - @mortenjust
  • 8. Why the sudden Bot uprising? • Preceding advancements in Machine learning, Natural language processing, scalable computing, massive API ecosystem, improvements in messaging and notification systems
  • 9. What is a Bot? • The future of web design according to some • A program to simulate conversation, to • Find information • Connect to resources • Learn keywords • Think about responses • Bot != Conversational AI (not necessarily)
  • 10. What makes a great bot? • Adds value of some kind • Requires minimal input/direction • Reliable, robust like standard software • Relieves stress for humans • Anticipates needs of users
  • 11. Design principles • Not Being Human - don’t try too hard to make them appear human. They can still have a personality • Keep it simple in functionality - Bots need to walk before they can run • Be as smart as a puppy - Be endearing enough when failures occur and keep learning • Optimize for end-user and messaging medium • Always have a human fallback mode • {Structured input + Retrieval response} > {Freeform input + Generative response} - We at not an acceptable reliability level for the latter • Use feedback analytics and keep improving the user experience
  • 12. Common pitfalls • Don’t attempt to replace tasks better done by a human • Don’t add a feature just because it is cool. It needs to have business value • Don’t keep winding conversations - anything more than 2 exchanges is a drag • Avoid rhetorics, be neutral in tone • Always have a “shut up” command for the bot
  • 13. Before starting to develop a Bot • Define objectives • Choose a domain/knowledge base for the Bot • Select an appropriate personality • Personality is often tied to domain • Challenging medium because it is limited to just text • Copywriter is king • The future “UI” designer may never need to write HTML, CSS rather be a comedian or literature major
  • 14. Helpful tools • Prototyping - Twine • NLP - IBM Bluemix Watson APIs, NLTK, ScalaNLP • Bots - Hubot, BotKit • Client APIs - Slack, Facebook Messenger, Google Hangouts
  • 15. Simple architecture • Raw input — Lexical parser —> Structured input • Structured input — Functionality —> Domain output • Domain output — Persona —> Richer output • Richer output — Client communication —> API call to app
  • 16. Demo: Uber Bot • Domain • Fetch user history of rides • Book a cab • Train bot to understand cab booking patterns and anticipate bookings • Personality • Jesse Pinkman (:P)
  • 17. References • Introduction to Bots and basic principles - http://designmodo.com/chatbots-design/ • About how messaging is taking over the world - https://blog.intercom.io/messaging-apps-just-getting-started/ • How messaging would evolve in the future - https://blog.intercom.io/emoji-and-stickers-are-just-the-beginning/ • Priciples of bot design - https://blog.intercom.io/principles-bot-design/ • Funny article on the origins of BASAAP - http://berglondon.com/blog/2010/09/04/b-a-s-a-a-p/ • Developing chatbot personalities - http://www.fastcodesign.com/3054934/the-next-phase-of-ux-designing- chatbot-personalities • Flow of a bot application - http://www.a-i.com/show_tree.asp?id=61&level=3&root=1 • How to make a better bot - https://chatbotsmagazine.com/how-to-make-a-better-bot-c038626fd401#.gkgztq4sg • How not to piss off users - https://medium.com/@andknf/3-tools-for-building-bots-that-people-won-t-tell-to-fuck- off-584889eaf6b9#.x2th8d4v6 • Advanced Deep learning model for retrieval based systems - http://www.wildml.com/2016/07/deep-learning- for-chatbots-2-retrieval-based-model-tensorflow/