azure as a chatbot service: from purpose to production with a cloud bot architecture
TRANSCRIPT
Azure as a Chatbot ServiceA journey from purpose to production
Paul PraeConsultant, Slalom Consulting
Pursuing MS in Computer Science with a Specialization in Interactive IntelligenceBS in Computer Science with an Area of Emphasis in Artificial IntelligenceBA in Cognitive Science with a Focused Foundation in Artificial Intelligence
www.paulprae.com@Praeducer
• What Are Chatbots?• Examples In Education• Neona: A Chatbot That Teaches AI• A Cloud Bot Architecture
Agenda
What Is Artificial Intelligence?
A flexible rational agent that perceives its environment and takes actions that maximize its chance of success at some goal.
Artificial Intelligence
The term "artificial intelligence” is applied when a machine mimics cognitive functions that humans associate with other human minds, such as learning and problem solving.
Artificial Intelligence
What Are Chatbots?
ChatbotsA chatbot is a service, powered by rules and sometimes artificial intelligence, that you interact with via a chat interface. The service could be any number of things, ranging from functional to fun, and it could live in any major chat product.
“Today, we are only scratching the surface of what AI can help us accomplish. Ultimately, we believe humans and machines will work together to solve society’s greatest challenges, to create magical experiences and change the world.”
The future: Conversations• Natural language between people
and technology
• Conversational canvas
• Bots and agents
2000s: Mobile• Social• User download
apps from App Stores
1990s: Internet• Search• User “visits”
websites
1980s: PC• Desktop
Transformingengagement
Reach customers anywhere, on any platform or device
Engage with customers and users in a natural way, conversationally and in context
Expose your products and services via messaging platforms, where users are already highly engaged
Improve customer experience and reduce the need for human assistance
Productivity task completionEnhance productivity through task automation and through automated workflows
Examples In EducationAdmitHub: A Virtual Coach For Your CollegeAdmitHub integrates artificial intelligence with human expertise to guide students to and through college. We work with your institution to create a virtual campus coach that embodies the collective knowledge and unique spirit of your school community.• Students have 24/7 access to personalized
guidance as they apply, enroll and advance through college.
• Encouragement, reminders and prompt assistance help students stay on track from application to graduation.
• Your virtual coach handles repetitive tasks and data collection, freeing your staff to focus on high-impact work.
Examples In EducationAdmitHub’s custom chatbot to help Georgia State students transition to college• Pounce engages in conversations with
incoming Georgia State students to guide them through key steps, such as filing the FAFSA, applying for housing, and registering for classes.
• A product of artificial intelligence and supervised machine learning, Pounce can also answer thousands of student questions about Georgia State, student life, campus services, financial aid, and more.
• In the first month since the mid-April launch, Pounce exchanged nearly 50,000 texts with more than 3,000 admitted students to help them enroll at Georgia State.
Examples In Education
Final Project: A Conversational AgentFor my final in that course, I built a chatbot.
Check out the Skype demo at http://www.neona.chat.
Cloud Technology Behind Neona
Microsoft Bot Framework Azure Bot Service
Azure Search Azure DocumentDB
Language Understanding
Intelligent Service (LUIS)
Microsoft Azure
Open Source Technology Behind Neona
A Cloud Bot Architecture
Bot Service
Node.js Dev
Bot Builder SDK Git
LUIS
Azure Search DocumentDB
Channels
www.botframework.com
Microsoft Bot Framework
Node.js, .NET and REST Rich interactions Chat Emulator
Dialogs to model conversation
• Dialogs are reusable• Types of Dialogs include:
• Built-in prompts• Yes/No, String, Number,
Choices• FormFlow and form slot
filling (branching, disambiguation, multi-turn)
• Conversations are scalable to multiple machines
• Support for rich attachments (image, card, video, doc, etc.); support for calling (Skype)
• Service extensions for language understanding(LUIS) and translation
Bot Builder SDK
Microsoft Bot Framework
Developer Portal
• Register your bot• Connect to channels• Test• Publish• Manage• Measure
Microsoft Bot Framework
Bot Directory
Public Directory of Bot Framework Bots
• Users can discover, try, and add bots to the conversation experiences
• Bots are public at developer discretion; bots must be submitted for review in order to appear in the directory
• Searchable
Azure Bot Service
Accelerate development cycles
Enrich your bots Boost operational efficiencies
Azure Bot Service
Accelerate development cycles
Develop your way
Integrated chat window
Built incode editor
</>
Quick start templates
Azure Bot Service
Channel support
Direct Line support
Cognitive Services
Embedded web chat
API
Enrich your bots
Azure Bot Service
Scale on demand
Reduced dev ops
Powered byAzure Functions
Continuousdeployment
Boost operational efficiency
LUIS: Language Understanding Intelligent Service
Deploy your models to an
HTTP endpoint
Activate models on any
device
Create language understanding
modelsUse pre-built,
world-class models from Bing and
Cortana
LUIS lets your app understand language
Azure Search
Build great search experiences for your web and mobile apps
Reduce complexity with a fully managed
service
Get up and running quickly
A search-as-a-service solution allowing developers to incorporate great search experiences into applications without managing infrastructure or needing to
become search experts.
Azure Search
Provision service
Create index Index data Search
Typical Workflow
Azure DocumentDB
Limitless scale, globally replicated
Schema-free with SQL and JavaScript
Guaranteed low latency
Blazing fast, planet scale NoSQL document database-as-a-service
Azure DocumentDB
Azure DocumentDB account Databases
Users
Permissions
101010
Attachments
{ }{ }
DocumentsCollections
Stored procedures
Triggers
User-defined functions
JS
JS
JS
Resource model• Entities addressable by logical
Uniform Resource Identifier (URI)• Partitioned for scale out • Replicated for high availability• Entities represented as JSON
Interaction model• RESTful interaction over HTTPS• HTTPS and TCP connectivity• Standard HTTPS verbs and semantics
Development• .NET, Node.js, Python, Java, and
JavaScript clients• SQL for query expression, .NET LINQ• JavaScript for server-side app logic
A Cloud Bot Architecture
Bot Service
Node.js Dev
Bot Builder SDK Git
LUIS
Azure Search DocumentDB
Channels
Learning Resources• Neona: A Conversational Agent That Teaches AI
• http://blog.paulprae.com/neona-a-conversational-agent-that-teaches-ai-2/
• Build a Node.js web application using DocumentDB• https://
docs.microsoft.com/en-us/azure/documentdb/documentdb-nodejs-application
• Get started with Azure Search in the portal• https://
docs.microsoft.com/en-us/azure/search/search-get-started-portal• Bot Framework: UniversalBot
• https://docs.botframework.com/en-us/node/builder/chat/UniversalBot• Bot Framework: Understanding Natural Language
• https://docs.botframework.com/en-us/node/builder/guides/understanding-natural-language
Code• Bot Builder for Node.js examples
• https://docs.botframework.com/en-us/node/builder/guides/examples/• These samples illustrate how to navigate large amounts of
content• https://
github.com/Microsoft/BotBuilder-Samples/tree/master/Node/demo-Search
• A sample bot using IntentDialog to integrate with a LUIS.ai application
• https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/intelligence-LUIS
EndQuestions and Feedback
Paul PraeConsultant, Slalom Consulting
Pursuing MS in Computer Science with a Specialization in Interactive IntelligenceBS in Computer Science with an Area of Emphasis in Artificial IntelligenceBA in Cognitive Science with a Focused Foundation in Artificial Intelligence
www.paulprae.com@Praeducer