SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Realizzare
un Virtual Assistant
con Bot Framework,
Azure e Unity
Marco Parenzan
Solution Sales Specialist @ Insight
Microsoft Azure MVP
Community Lead @ 1nn0va
www.wpc2019.it 1
www.wpc2019.it 2
The classic way to the chatbot
 Comprehensive framework for the lifecycle
of your project
Create a
Conversation
with Bot
Service
Author Dialogs
Design Cards
Visualize
Bot Framework
SDK
Cognitive
Services
Getting Started
Templates
Emulator​
Application
Insights
DevOps Tools
Azure
BYO Web Host
WebChat
Cortana
Skype, FB
+
Custom
(DirectLine)
Application
Insights
LUIS Suggestions
Conversation
al AI: Azure
Bot Service +
Cognitive
Services
User Input Channels Business ProcessBot Intelligence
 WebAppBot
 Bot Framework Emulator
 Bot Channel Registration
 Ngrok
 App Credentials
 Storage State
 GitHub samples
 https://github.com/microsoft/botframework
 https://github.com/microsoft/BotBuilder-Samples
 https://github.com/microsoft/botframework-solutions
 https://github.com/microsoft/BotFramework-Samples
www.wpc2019.it 5
My starting
point for bot
 Portable - To any app, device, and UI framework
 Open - Libraries and schema are open source and shared
 Low cost - Easy to define, easy to consume
 Expressive - Targeted at the long tail of content that
developers want to produce
 Purely declarative - No code is needed or allowed
 Automatically styled - To the Host application UX and brand
guidelines
Adaptive
Cards
(https://adapti
vecards.io/)
Open Framework Multiple Canvases
Notification Microsoft Teams Skype Android iOS
Bot Service Lifecycle: Plan | Build | Test | Publish | Connect | Evaluate
DEMO
www.wpc2019.it 7
What I don’t
like of Bot
Framework
 Developer Centered
 Dialog methaphor
 Form based
www.wpc2019.it 9
New pillars
Rationalise
management to
avoid abandonment
Governance -
Highlight and
optimize the asset
value of a CA
Conversational
Agents are another
resource that IT
needs to manage
So you need to
identify where the
costs and points of
attention are
Apply some
"devops" style
discipline
Need for
governance
Autonomy
Not having
skill IT
No channel
dependency
More text,
less forms
Encouraging
the role of
conversationa
l designer
Different
"channels"
Text
Voce
Virtual
Reality
 We are meeting different
needs
 Text/form
 Desktop/Mobile
experience
 Voice
 Mobility/Hand-free
experience
 Virtual reality
 Human simulation
experience
 Integration with non-chat-
based facilities
www.wpc2019.it 13
…a long journey not yet
finished…
www.wpc2019.it 14
The activity architecture
Intro on how
the bot
framework
works
 Every interaction creates
an activity
 Bot Framework interacts
with the user via channel
 ConversationalUpdate and
Message
 Requests arrive to the bot
via HTTP POST
 Status responses are an
HTTP 200
 Conversation in managed
via TurnContext
Intro on how
the bot
framework
works
 Activity is executed via
JSON
 JSON is deserialized and
sent to the Adapter, using
the ProcessActivity method
 Adapter creates the
TurnContext and calls the
middleware
 Activities are managed by
the ActivityHandler
DEMO
www.wpc2019.it 17
www.wpc2019.it 18
Where is intelligence in a bot?
 “Conversational AI refers to the use of messaging apps,
speech-based assistants and chatbots to automate
communication and create personalized customer
experiences at scale”
 “A chatbot is a computer software program designed to
simulate human conversation via text, audio messages, or
images”
Conversation
al AI
Adding
Intelligence
Bing Speech API
Convertspeech to text and back
again, and understandits intent
Speaker Recognition API
Give your app the ability
to know who's talking
Custom Speech Service
Fine-tune speech recognition for
anyone, anywhere
QnA Maker
Distill information intoconversational,
easy-to-navigate answers
Language Understanding
Intelligent Service
Teach your apps to understand
commands from your users
Easilyperform speech
and text translation
Translator
Azure Search
Integrate search into a
conversational experience
 You will not lower people in your company
 You will use them to more valuable tasks
TRAIN YOUR
INTELLIGEN
CE
UNAUTHENTICATED
EXPERIENCE
AUTHENTICATED
EXPERIENCE
THE TWO
STEPS OF A
COMPANY
BOT
STRATEGY
 Answer to simple questions
 «How to do this...»
 «How to do that...»
 Objective of the company
 Engaging experience
 Lower pressure on customer care
UNAUTHENT
ICATED
EXPERIENC
E
QnA Maker
 Based on Azure. The data
and runtime hosted in your
Azure subscription.
 Data privacy and
compliance. QnA data is
hosted within your Azure
compliance boundary.
 Azure Application Insights
integration. Helpful to get
insights on how the
services is being utilized.
DEMO
www.wpc2019.it 25
www.wpc2019.it 26
Integrating an API…
 The GW integration implements the Business Logic for
intents
 1 intent1 API
 Enables microservices governance to be implemented
 Direct call to internal business applications
 Or indirect if you implement MS on corporate data lakes
 Infrastructure setup
 Integration Gateway API Setup
 Azure VNET Configuration
 On-premises infrastructure configuration support (Firewall, Host
involved
Integration
GW
(Gateway)
Result
Intent
you CA
Utterance Intent
Intent Utterance
Channel
Entities
Result
IntentAPI
HTTPS
HTTPS
App Service
Help Desk
Commerciale
API
Doc Commerciale
API
Doc interna API
Technical
architecture
of a
COMPANY
INTEGRATIO
N
BOT FW
Channel
Teams
Helpdesk API
HTTPS
Skype
for
Business
Channel
Azure
AD
Active
Directory
GWIntegrazione
AD Connect
SAP
Sharepoint 2010
FirewallDMZ/PrivateLAN
Win10
Mac
iOS
Android
LUIS NLP
1 x Contesto x Lingua
Contesto
Risposte
1 x Contesto x Lingua
Sharepoint 2019
www.wpc2019.it 29
Let’s build a Conversation DSL
The user's intention
The idea behind the
user's action
Every time you
interact with an
application, you
express an intention
The intent is an
NLP concept...
... but intent is
everywhere
What is an
intent
 Intent – the action/task the user wants to perform
 Utterance – the sentence where the user expresses the goal
 Entity – words or phrases inside an entity
 Domain –Intents related to a specific type of actions (e.g.
Calendar intents) – prebuilt domains
Let’s talk
about intent
... a universally
recognized text key
Probably a key
classified in a
domain
.. characterized by a
set of parameters
(called entities) that
argue the intention
Technically
speaking, an
intent is...
 Each Intent is a user story in its own right
 Separation of contexts promotes maintainability
 For each Intent
 Defining sprints, design thinking, and iterations with business
users
 Defining Utterances
 Test
 Implementation in BOT
 Api implementation (independent call grouped inconversation
contexts by GW API)
 You don't always need
How to
Implement
Using User
Story - Agile
Methodology
DEMO
www.wpc2019.it 34
www.wpc2019.it 35
From intent to text
 Machine learning-based service to build natural language into
apps, bots, and IoT devices.
Quickly create enterprise-ready, custom models that
continuously improve.
Language
Understandin
g (LUIS)
Quickly build a custom
language solution
Alays learning &
improving
Enterprise-ready,
available worldwide
Add natural language
to your apps
 Intent – the action/task the user wants to perform
 Utterance – the sentence where the user expresses the goal
 Entity – words or phrases inside an entity
 Domain –Intents related to a specific type of actions (e.g.
Calendar intents) – prebuilt domains
LUIS –
terminology
 It means adding examples (utterance) so that statistically the
tool recognizes and classifies the similarities, meaningful
words, excludes the least important ones
 It is not always true (e.g. personalization, sentiment, ...)
 Beware of ambiguity
What it
means
“training”
The intent is
an NLP
concept...
... but
intents are
everywhere
What is intent
The user's intention
The idea behind the
user's action
Every time you
interact with an
application, you
express an intention
... a universally
recognized text key
• Probably a key
classified in a domain
.. characterized by a set
of parameters (called
entities) that argue the
intention
Technically
speaking, an
intent is...
 Cost Effective Based on statistical algorithms (pattern
matching on utterance)
 Identifying the correct set of utterance is the work of the
conversational designer
 Pervasive (coverage)
 Unambiguous (to avoid false positive)
 Anyway, a big piece of engineering
 Out-of-the-box solutions for major players
 Offline support
 Adapt Set expectations correctly
Natural
Language
Processing
(NLP)
FUTURESReti Neurali (verticali, taylor made,
efficaci, ma costosi)
 LUIS
 Request: utteranceIntent
 Multiple LUIS instances for multiple languages…
 …but one conversation
 There are the answers
 There is the conversation
 www.luis.ai: one app at a time
Luis
Authoring
DEMO
www.wpc2019.it 43
www.wpc2019.it 44
Using voice
Cognitive
Speech
Services
overview
Real-time & Batch Mode
single voice, 2-waydialogues or multi-person conversations
Enhancedadaptation
New Call Center specific features
REST for all operations on new Portal!
Over 80 standard voices in 49 locales
Customizable for 9 locales
Neural TTS GA for 4 locales
Available via REST and SDK!
Speech-to-speech translationbased on neural machine translation
(NMT) technologies
Available in 10+ locales
Customizable!
Speech SDK 1.5 (out now)
Easy to integrate with the full range of
cloud-basedMicrosoftSpeech services,
creatingan end-to-endexperience for
customers.
Multi-Platform
Multi-language support
Speech devices SDK
Optimized audio capturingsoftware
stack seamlesslyintegrated with our
Speech SDK that connects to our
Speech Services
Enable your applications to talk
Swiftly convert audio to text for natural responsiveness
Speech-to-Text
Text-to-Speech
Speech translation
Easily integrate real-time speech translation to your app
 In NLP terms, it is used to transcribe a "multimedia" utterance
 We're talking about S2T...
 ... but even an OCR could have its role...
 .. or a custom vision using the camera...
 Cost Effective
 Pre-established entries
 Success will involve the availability of variants...
 ... and the increase in quality
 You can do the custom training
 For noise reduction, domain verticalization
 Expensive (hours of recordings and pages of transcripts)
Speech To
Text
 Full cloud solution. Twilio
 Integration with existing Call Center
 Feasibility verification
 Human Hand-off
Fonia
 interactive voice response (IVR)
 First level
 Massive call schedule for data retrieval
 Compliance compliance
 Artifact Development Appliances
 Hands-free interaction
Esempi di
Scenari
DEMO
www.wpc2019.it 49
www.wpc2019.it 50
Virtual Assistant
Virtual
Assistant
architecture
on Bot
Framework
BotChannel
Registration
App
Service WPF+Unity
Player
Microsoft Azure Virtual Assistant (on premises)
Management
Web App
AI
[Bot Framew ork
V4]
Config
Cognitive
Services
Text-To-
Speech
Speech-To-
Text
NLP (LUIS)
NLP
Design
Text/Audi
o
Camera
Micropho
ne
Speakers
Video
Audio
Audio
Testo
Testo
Intent
Audio
input
output
Avatar
Channel
Touch(x,y)
Proiezion
e
3D
Audio
DirectLine
Windows PC
DEMO
www.wpc2019.it 52
www.wpc2019.it 53
Interesting Projects
 https://github.com/microsoft/BotFramework-Composer
 Bot Framework Composer is an integrated development tool for developers
and multi-disciplinary teams to build bots and conversational experiences
with the Microsoft Bot Framework. Within this tool, you'll find everything you
need to build a sophisticated conversational experience.
 https://github.com/microsoft/BotFramework-Emulator
 The Bot Framework Emulator is a desktop application that allows bot
developers to test and debug bots built using the Bot Framework SDK. You
can use the Bot Framework Emulator to test bots running either locally on
your machine or connect to bots running remotely through a tunnel.
 https://github.com/microsoft/BotFramework-WebChat
 This repository contains code for the Bot Framework Web Chat component.
The Bot Framework Web Chat component is a highly-customizable web-
based client for the Bot Framework V4 SDK. The Bot Framework SDK v4
enables developers to model conversation and build sophisticated bot
applications.
 https://github.com/microsoft/botframework-cli
 The new BF Command Line Interface (CLI) tool replaces the collection of
standalone tools used to manage Bot Framework bots and related services.
We have ported most tools and are in process of porting the rest. The new
BF CLI aggregates the collection of cross-platform tools into one cohesive
and consistent interface.
GitHub
www.wpc2019.it 55
Q&A
 OverNet Education
 Info@OverNetEducation.it
 www.OverNetEducation.it
 Rozzano (MI) +39 02 365738
 Bologna +39 051 269911
 www.wpc-overneteducation.it
 #wpc19it
www.wpc2019.it 56
Contatti

Weitere ähnliche Inhalte

Was ist angesagt?

Automating functional testing of Flex applications.
Automating functional testing of Flex applications.Automating functional testing of Flex applications.
Automating functional testing of Flex applications.
Gokuldas Pillai
 
Demo the reactive jargons
Demo the reactive jargonsDemo the reactive jargons
Demo the reactive jargons
Thoughtworks
 

Was ist angesagt? (20)

Enhance Your Code Quality with Code Contracts
Enhance Your Code Quality with Code ContractsEnhance Your Code Quality with Code Contracts
Enhance Your Code Quality with Code Contracts
 
Acceptance Test Drive Development with Robot Framework
Acceptance Test Drive Development with Robot FrameworkAcceptance Test Drive Development with Robot Framework
Acceptance Test Drive Development with Robot Framework
 
EMPEX LA 2018 - Inclusion Starts with Docs
EMPEX LA 2018 - Inclusion Starts with DocsEMPEX LA 2018 - Inclusion Starts with Docs
EMPEX LA 2018 - Inclusion Starts with Docs
 
Manish Rao
Manish RaoManish Rao
Manish Rao
 
The Bleeding Edge - Whats New in Angular 2
The Bleeding Edge - Whats New in Angular 2The Bleeding Edge - Whats New in Angular 2
The Bleeding Edge - Whats New in Angular 2
 
Relay: Seamless Syncing for React (VanJS)
Relay: Seamless Syncing for React (VanJS)Relay: Seamless Syncing for React (VanJS)
Relay: Seamless Syncing for React (VanJS)
 
Automating functional testing of Flex applications.
Automating functional testing of Flex applications.Automating functional testing of Flex applications.
Automating functional testing of Flex applications.
 
RubyConf China 2015 - Rails off assets pipeline
RubyConf China 2015 - Rails off assets pipelineRubyConf China 2015 - Rails off assets pipeline
RubyConf China 2015 - Rails off assets pipeline
 
RubyConf Taiwan 2016 - Large scale Rails applications
RubyConf Taiwan 2016 - Large scale Rails applicationsRubyConf Taiwan 2016 - Large scale Rails applications
RubyConf Taiwan 2016 - Large scale Rails applications
 
Global Azure Bootcamp - ML.NET for developers
Global Azure Bootcamp - ML.NET for developersGlobal Azure Bootcamp - ML.NET for developers
Global Azure Bootcamp - ML.NET for developers
 
Lecture 8
Lecture 8Lecture 8
Lecture 8
 
MarkLogicWorld 2013 - Automate your deployments
MarkLogicWorld 2013 - Automate your deploymentsMarkLogicWorld 2013 - Automate your deployments
MarkLogicWorld 2013 - Automate your deployments
 
Demo the reactive jargons
Demo the reactive jargonsDemo the reactive jargons
Demo the reactive jargons
 
Coding Standard And Code Review
Coding Standard And Code ReviewCoding Standard And Code Review
Coding Standard And Code Review
 
Implementing GraphQL API in Elixir – Victor Deryagin
Implementing GraphQL API in Elixir – Victor DeryaginImplementing GraphQL API in Elixir – Victor Deryagin
Implementing GraphQL API in Elixir – Victor Deryagin
 
C#
C#C#
C#
 
C#
C#C#
C#
 
C#
C#C#
C#
 
Doing data science with Clojure
Doing data science with ClojureDoing data science with Clojure
Doing data science with Clojure
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 

Ähnlich wie Realizzare un Virtual Assistant con Bot Framework Azure e Unity

Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
ijtsrd
 

Ähnlich wie Realizzare un Virtual Assistant con Bot Framework Azure e Unity (20)

Governance di una Conversational AI
Governance di una Conversational AIGovernance di una Conversational AI
Governance di una Conversational AI
 
CCI2019 - Governance di una Conversational AI
CCI2019 - Governance di una Conversational AICCI2019 - Governance di una Conversational AI
CCI2019 - Governance di una Conversational AI
 
Solvion Trendwerkstatt - Microsoft Azure + Bots
Solvion Trendwerkstatt - Microsoft Azure + BotsSolvion Trendwerkstatt - Microsoft Azure + Bots
Solvion Trendwerkstatt - Microsoft Azure + Bots
 
Da 0 all'AI conversazionale usando Microsoft Azure
Da 0 all'AI conversazionale usando Microsoft AzureDa 0 all'AI conversazionale usando Microsoft Azure
Da 0 all'AI conversazionale usando Microsoft Azure
 
Intelligent ChatBot
Intelligent ChatBotIntelligent ChatBot
Intelligent ChatBot
 
Global ai bootcamp_codrina
Global ai bootcamp_codrinaGlobal ai bootcamp_codrina
Global ai bootcamp_codrina
 
Moving Conversational bots off Your Product Roadmap And Into Your Workstreams...
Moving Conversational bots off Your Product Roadmap And Into Your Workstreams...Moving Conversational bots off Your Product Roadmap And Into Your Workstreams...
Moving Conversational bots off Your Product Roadmap And Into Your Workstreams...
 
Conversational AI: What's New?
Conversational AI: What's New?Conversational AI: What's New?
Conversational AI: What's New?
 
Microsoft Speech Technologies for Developers
Microsoft Speech Technologies for DevelopersMicrosoft Speech Technologies for Developers
Microsoft Speech Technologies for Developers
 
Bots & conversational AI
Bots & conversational AIBots & conversational AI
Bots & conversational AI
 
Conversational Document Processing AI with Rui Costa
Conversational Document Processing AI with Rui CostaConversational Document Processing AI with Rui Costa
Conversational Document Processing AI with Rui Costa
 
Ai tools every developer should know
Ai tools every developer should knowAi tools every developer should know
Ai tools every developer should know
 
Getting Started with Amazon Lex - AWS Summit Cape Town 2017
Getting Started with Amazon Lex  - AWS Summit Cape Town 2017 Getting Started with Amazon Lex  - AWS Summit Cape Town 2017
Getting Started with Amazon Lex - AWS Summit Cape Town 2017
 
Arya.ai artificial intelligence platform vinay kumar
Arya.ai   artificial intelligence platform  vinay kumarArya.ai   artificial intelligence platform  vinay kumar
Arya.ai artificial intelligence platform vinay kumar
 
Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)
Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)
Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)
 
Deep dive into Conversational Ai development
Deep dive into Conversational Ai developmentDeep dive into Conversational Ai development
Deep dive into Conversational Ai development
 
運用對話機器人提供線上客服服務
運用對話機器人提供線上客服服務運用對話機器人提供線上客服服務
運用對話機器人提供線上客服服務
 
Your First Assistant App with DialogFlow + Firebase
Your First Assistant App with DialogFlow + FirebaseYour First Assistant App with DialogFlow + Firebase
Your First Assistant App with DialogFlow + Firebase
 
Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...
Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...
Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...
 
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
 

Mehr von Marco Parenzan

Mehr von Marco Parenzan (20)

Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineer
 
Azure Hybrid @ Home
Azure Hybrid @ HomeAzure Hybrid @ Home
Azure Hybrid @ Home
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT Central
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame
 
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
 
Anomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETAnomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NET
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data Solutions
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetDeep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnet
 
Azure IoT Central
Azure IoT CentralAzure IoT Central
Azure IoT Central
 
Anomaly Detection with Azure and .net
Anomaly Detection with Azure and .netAnomaly Detection with Azure and .net
Anomaly Detection with Azure and .net
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .net
 
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicRunning Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
 
Time Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTTime Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETT
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .net
 

Kürzlich hochgeladen

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Kürzlich hochgeladen (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 

Realizzare un Virtual Assistant con Bot Framework Azure e Unity

  • 1. Realizzare un Virtual Assistant con Bot Framework, Azure e Unity Marco Parenzan Solution Sales Specialist @ Insight Microsoft Azure MVP Community Lead @ 1nn0va www.wpc2019.it 1
  • 2. www.wpc2019.it 2 The classic way to the chatbot
  • 3.  Comprehensive framework for the lifecycle of your project Create a Conversation with Bot Service Author Dialogs Design Cards Visualize Bot Framework SDK Cognitive Services Getting Started Templates Emulator​ Application Insights DevOps Tools Azure BYO Web Host WebChat Cortana Skype, FB + Custom (DirectLine) Application Insights LUIS Suggestions
  • 4. Conversation al AI: Azure Bot Service + Cognitive Services User Input Channels Business ProcessBot Intelligence
  • 5.  WebAppBot  Bot Framework Emulator  Bot Channel Registration  Ngrok  App Credentials  Storage State  GitHub samples  https://github.com/microsoft/botframework  https://github.com/microsoft/BotBuilder-Samples  https://github.com/microsoft/botframework-solutions  https://github.com/microsoft/BotFramework-Samples www.wpc2019.it 5 My starting point for bot
  • 6.  Portable - To any app, device, and UI framework  Open - Libraries and schema are open source and shared  Low cost - Easy to define, easy to consume  Expressive - Targeted at the long tail of content that developers want to produce  Purely declarative - No code is needed or allowed  Automatically styled - To the Host application UX and brand guidelines Adaptive Cards (https://adapti vecards.io/) Open Framework Multiple Canvases Notification Microsoft Teams Skype Android iOS Bot Service Lifecycle: Plan | Build | Test | Publish | Connect | Evaluate
  • 8. What I don’t like of Bot Framework  Developer Centered  Dialog methaphor  Form based
  • 10. Rationalise management to avoid abandonment Governance - Highlight and optimize the asset value of a CA Conversational Agents are another resource that IT needs to manage So you need to identify where the costs and points of attention are Apply some "devops" style discipline Need for governance
  • 11. Autonomy Not having skill IT No channel dependency More text, less forms Encouraging the role of conversationa l designer
  • 12. Different "channels" Text Voce Virtual Reality  We are meeting different needs  Text/form  Desktop/Mobile experience  Voice  Mobility/Hand-free experience  Virtual reality  Human simulation experience  Integration with non-chat- based facilities
  • 13. www.wpc2019.it 13 …a long journey not yet finished…
  • 15. Intro on how the bot framework works  Every interaction creates an activity  Bot Framework interacts with the user via channel  ConversationalUpdate and Message  Requests arrive to the bot via HTTP POST  Status responses are an HTTP 200  Conversation in managed via TurnContext
  • 16. Intro on how the bot framework works  Activity is executed via JSON  JSON is deserialized and sent to the Adapter, using the ProcessActivity method  Adapter creates the TurnContext and calls the middleware  Activities are managed by the ActivityHandler
  • 18. www.wpc2019.it 18 Where is intelligence in a bot?
  • 19.  “Conversational AI refers to the use of messaging apps, speech-based assistants and chatbots to automate communication and create personalized customer experiences at scale”  “A chatbot is a computer software program designed to simulate human conversation via text, audio messages, or images” Conversation al AI
  • 20. Adding Intelligence Bing Speech API Convertspeech to text and back again, and understandits intent Speaker Recognition API Give your app the ability to know who's talking Custom Speech Service Fine-tune speech recognition for anyone, anywhere QnA Maker Distill information intoconversational, easy-to-navigate answers Language Understanding Intelligent Service Teach your apps to understand commands from your users Easilyperform speech and text translation Translator Azure Search Integrate search into a conversational experience
  • 21.  You will not lower people in your company  You will use them to more valuable tasks TRAIN YOUR INTELLIGEN CE
  • 23.  Answer to simple questions  «How to do this...»  «How to do that...»  Objective of the company  Engaging experience  Lower pressure on customer care UNAUTHENT ICATED EXPERIENC E
  • 24. QnA Maker  Based on Azure. The data and runtime hosted in your Azure subscription.  Data privacy and compliance. QnA data is hosted within your Azure compliance boundary.  Azure Application Insights integration. Helpful to get insights on how the services is being utilized.
  • 27.  The GW integration implements the Business Logic for intents  1 intent1 API  Enables microservices governance to be implemented  Direct call to internal business applications  Or indirect if you implement MS on corporate data lakes  Infrastructure setup  Integration Gateway API Setup  Azure VNET Configuration  On-premises infrastructure configuration support (Firewall, Host involved Integration GW (Gateway) Result Intent you CA Utterance Intent Intent Utterance Channel Entities Result IntentAPI
  • 28. HTTPS HTTPS App Service Help Desk Commerciale API Doc Commerciale API Doc interna API Technical architecture of a COMPANY INTEGRATIO N BOT FW Channel Teams Helpdesk API HTTPS Skype for Business Channel Azure AD Active Directory GWIntegrazione AD Connect SAP Sharepoint 2010 FirewallDMZ/PrivateLAN Win10 Mac iOS Android LUIS NLP 1 x Contesto x Lingua Contesto Risposte 1 x Contesto x Lingua Sharepoint 2019
  • 29. www.wpc2019.it 29 Let’s build a Conversation DSL
  • 30. The user's intention The idea behind the user's action Every time you interact with an application, you express an intention The intent is an NLP concept... ... but intent is everywhere What is an intent
  • 31.  Intent – the action/task the user wants to perform  Utterance – the sentence where the user expresses the goal  Entity – words or phrases inside an entity  Domain –Intents related to a specific type of actions (e.g. Calendar intents) – prebuilt domains Let’s talk about intent
  • 32. ... a universally recognized text key Probably a key classified in a domain .. characterized by a set of parameters (called entities) that argue the intention Technically speaking, an intent is...
  • 33.  Each Intent is a user story in its own right  Separation of contexts promotes maintainability  For each Intent  Defining sprints, design thinking, and iterations with business users  Defining Utterances  Test  Implementation in BOT  Api implementation (independent call grouped inconversation contexts by GW API)  You don't always need How to Implement Using User Story - Agile Methodology
  • 36.  Machine learning-based service to build natural language into apps, bots, and IoT devices. Quickly create enterprise-ready, custom models that continuously improve. Language Understandin g (LUIS) Quickly build a custom language solution Alays learning & improving Enterprise-ready, available worldwide Add natural language to your apps
  • 37.  Intent – the action/task the user wants to perform  Utterance – the sentence where the user expresses the goal  Entity – words or phrases inside an entity  Domain –Intents related to a specific type of actions (e.g. Calendar intents) – prebuilt domains LUIS – terminology
  • 38.  It means adding examples (utterance) so that statistically the tool recognizes and classifies the similarities, meaningful words, excludes the least important ones  It is not always true (e.g. personalization, sentiment, ...)  Beware of ambiguity What it means “training”
  • 39. The intent is an NLP concept... ... but intents are everywhere What is intent The user's intention The idea behind the user's action Every time you interact with an application, you express an intention
  • 40. ... a universally recognized text key • Probably a key classified in a domain .. characterized by a set of parameters (called entities) that argue the intention Technically speaking, an intent is...
  • 41.  Cost Effective Based on statistical algorithms (pattern matching on utterance)  Identifying the correct set of utterance is the work of the conversational designer  Pervasive (coverage)  Unambiguous (to avoid false positive)  Anyway, a big piece of engineering  Out-of-the-box solutions for major players  Offline support  Adapt Set expectations correctly Natural Language Processing (NLP) FUTURESReti Neurali (verticali, taylor made, efficaci, ma costosi)
  • 42.  LUIS  Request: utteranceIntent  Multiple LUIS instances for multiple languages…  …but one conversation  There are the answers  There is the conversation  www.luis.ai: one app at a time Luis Authoring
  • 45. Cognitive Speech Services overview Real-time & Batch Mode single voice, 2-waydialogues or multi-person conversations Enhancedadaptation New Call Center specific features REST for all operations on new Portal! Over 80 standard voices in 49 locales Customizable for 9 locales Neural TTS GA for 4 locales Available via REST and SDK! Speech-to-speech translationbased on neural machine translation (NMT) technologies Available in 10+ locales Customizable! Speech SDK 1.5 (out now) Easy to integrate with the full range of cloud-basedMicrosoftSpeech services, creatingan end-to-endexperience for customers. Multi-Platform Multi-language support Speech devices SDK Optimized audio capturingsoftware stack seamlesslyintegrated with our Speech SDK that connects to our Speech Services Enable your applications to talk Swiftly convert audio to text for natural responsiveness Speech-to-Text Text-to-Speech Speech translation Easily integrate real-time speech translation to your app
  • 46.  In NLP terms, it is used to transcribe a "multimedia" utterance  We're talking about S2T...  ... but even an OCR could have its role...  .. or a custom vision using the camera...  Cost Effective  Pre-established entries  Success will involve the availability of variants...  ... and the increase in quality  You can do the custom training  For noise reduction, domain verticalization  Expensive (hours of recordings and pages of transcripts) Speech To Text
  • 47.  Full cloud solution. Twilio  Integration with existing Call Center  Feasibility verification  Human Hand-off Fonia
  • 48.  interactive voice response (IVR)  First level  Massive call schedule for data retrieval  Compliance compliance  Artifact Development Appliances  Hands-free interaction Esempi di Scenari
  • 51. Virtual Assistant architecture on Bot Framework BotChannel Registration App Service WPF+Unity Player Microsoft Azure Virtual Assistant (on premises) Management Web App AI [Bot Framew ork V4] Config Cognitive Services Text-To- Speech Speech-To- Text NLP (LUIS) NLP Design Text/Audi o Camera Micropho ne Speakers Video Audio Audio Testo Testo Intent Audio input output Avatar Channel Touch(x,y) Proiezion e 3D Audio DirectLine Windows PC
  • 54.  https://github.com/microsoft/BotFramework-Composer  Bot Framework Composer is an integrated development tool for developers and multi-disciplinary teams to build bots and conversational experiences with the Microsoft Bot Framework. Within this tool, you'll find everything you need to build a sophisticated conversational experience.  https://github.com/microsoft/BotFramework-Emulator  The Bot Framework Emulator is a desktop application that allows bot developers to test and debug bots built using the Bot Framework SDK. You can use the Bot Framework Emulator to test bots running either locally on your machine or connect to bots running remotely through a tunnel.  https://github.com/microsoft/BotFramework-WebChat  This repository contains code for the Bot Framework Web Chat component. The Bot Framework Web Chat component is a highly-customizable web- based client for the Bot Framework V4 SDK. The Bot Framework SDK v4 enables developers to model conversation and build sophisticated bot applications.  https://github.com/microsoft/botframework-cli  The new BF Command Line Interface (CLI) tool replaces the collection of standalone tools used to manage Bot Framework bots and related services. We have ported most tools and are in process of porting the rest. The new BF CLI aggregates the collection of cross-platform tools into one cohesive and consistent interface. GitHub
  • 56.  OverNet Education  Info@OverNetEducation.it  www.OverNetEducation.it  Rozzano (MI) +39 02 365738  Bologna +39 051 269911  www.wpc-overneteducation.it  #wpc19it www.wpc2019.it 56 Contatti

Hinweis der Redaktion

  1. r
  2. Use the MessageCard Playground to view samples and design your own cards
  3. https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-basics?view=azure-bot-service-4.0&tabs=csharp m
  4. m
  5. r
  6. 12/9/2019 6:50 PM
  7. m
  8. m
  9. m
  10. m