Azure as a Chatbot Service: From Purpose To Production With A Cloud Bot Architecture

Post on 14-Apr-2017

468 views 2 download

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

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