Integrez Votre Amazon Lex Chatbot Avec Vos Services De Messagerie
Total Page:16
File Type:pdf, Size:1020Kb
Intégrez votre Amazon Lex Chatbot avec vos services de messagerie Xavier Delacour Solutions Architect @XavierDelacour © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Agenda • Pourquoi Amazon Lex ? • Qu’est ce qu’Amazon Lex ? • Comment fonctionne Amazon Lex ? • Demo – Intégration d’un bot Amazon Lex avec Twilio SMS • Et la voix ? On en parle ? Pourquoi Amazon Lex ? Apparition des interactions conversationnelles 1ère génération: 2ème génération: 3ème génération: Cartes perforée & Registres de Pointers & Sliders Interfaces mémoire conversationnelles Les challenges des développeurs Sécurité Authentification Reconnaissance de la parole Compréhension des langages Plateformes de Systèmes messagerie hétérogènes Logique Business Disponibilité Scalabilité Tests Mobile Les interfaces conversationnelles nécessitent la combinaison d’un grand nombre de technologies et d’algorithmes sophistiqués Accès conversationnel Naturel A la demande Accessible Efficient Qu’est ce qu’Amazon Lex ? Amazon Lex: Un nouveau service pour la création d’interfaces conversationnelles utilisant la voix et le texte Solution complète Gestion des dialogues Déploiement Support natif et Déploiement en un maintient de session clic Speech to Intent Scalabilité ASR+NLU Service managé intégrés en une API End to End Text to Speech Logique Métier Amazon Polly intégré Intégration native avec AWS Lambda Analyse de données Sécurité Monitorer et Chiffrement des données améliorer en transit et au repos Amazon Lex - Fonctionnalités Compréhension du texte et de la parole: Utilise la même technologie qu’Alexa Compilez une fois et déployez sur de multiples plateformes Conçu pour : les outils efficaces et intuitifs ; créer des conversations; gérer la scalabilité automatiquement Prêt pour l’entreprise: Connectez vous à vos systèmes via des connecteurs SAAS; support des alias et du versioning. Apprentissage continu: Monitorez et améliorez votre bot Compréhension du texte et de la parole Reconnaissance Compréhension Naturel du de la parole Langage (NLU) Utilise le même algorithme de Deep Learning qu’Alexa Multi-plateforme Mobile Plateformes de messagerie Web IoT SDKs: iOS & Android Facebook, Twilio SDKs: Java, JavaScript, Intégré avec AWS Mobile Hub SMS and Slack Python, CLI, .NET, Ruby on IoT et AWS Lambda Rails, PHP, Go, and CPP Créez un bot et déployez le sur de multiples plateformes Conçu pour les développeurs Des outils efficaces et intuitifs pour créer des conversations Intégration avec AWS Mobile Hub Authentification Utilisateur Stockage et partage de médias Synchronisation de données Bots de conversation AWS Mobile SDKs Amazon Lex Analyse des comportements AWS Mobile Hub Supervision de la rétention Et bien plus …. Connecteurs SAAS Mobile Hub Connecteur SAAS Mobile Hub Amazon API AWS Amazon Lex Gateway Lambda 1: Compréhension 2: Invoque une application de l’intent de SaaS ou une application l’utilisateur métier existante Votre Connecteur Entrée utilisateur Mobile Hub 3: Répond à l’utilisateur en Amazon API AWS Firewall Business langage naturel Application Mobile Gateway Lambda application Amazon Lex – Cas d’utilisation • News updates Chatbots pour les requêtes quotidiennes de vos clients • Weather information • Game scores …. Créez des interfaces mobiles avancées • Book tickets • Order food • Manage bank accounts …. Simplifiez l’accès aux applications d’entreprise et améliorez • Check sales numbers l’éfficacité de vos équipes • Marketing performance • Inventory status …. Proposez l’intégration d’interface conversationnelles avec différents dispositifs • Wearables • Appliances • Auto …. Avantages d’Amazon Lex Facile à utiliser Compréhension des textes et des paroles de haute qualité Déploiement et scalabilité transparente Intégration simplifiée avec la plateforme AWS Economique Comment fonctionne Amazon Lex ? The Need for Amazon Lex Conversational Interface Graphical User Amazon Lex Interface Structure d’un Bot Amazon Lex Intents BookHotel Un “Intent” déclenche une action en réponse à une entrée utilisateur Utterances Phrases écrites ou parlées qui invoque votre “intent” Slots Les slots sont des variables requises par votre intent Fulfillment Mécanisme de validation pour l’intent Exemple : “Book a Hotel” Book a Hotel Hotel Booking in NYC New York City “Book a Hotel in Reconnaissance Compréhension naturelle Intent/Slot NYC” automatique de la parole du language (NLU) Model Hotel Booking Utterances City New York City Check In Nov 30th Check Out Dec 2nd “Can I go ahead with the booking? Amazon Polly Confirmation: “Your hotel “Your hotel is booked for is booked for Nov 30th” Nov 30th” Contexte de conversation Intent Conversation Affichage Confirmation Attributs de session Valeur de slot Valeur de slot Oui / Non Lex maintient le contexte en stockant les données pendant la conversation Valeur Intents Affichages Attributs Confirmations des slots de session Flux dynamique de conversation Second Intent Attributs de Switch d’Intent Session Conversation Takeout Premier Intent Dine In or Take out? Dine In Chainage d’Intents Premier Intent Anything Book a Car Conversation else today? Attributs de Session Gestion des dialogues I would like to book a hotel Déclaration simple de modèles Sure, which city will you be Slots Prompts traveling to? City Which city will you be travelling to? Check-In Date What date do you want to check in? New York City Check-Out Date How many nights is this for? What date do you want to check in? Créez des conversations Tomorrow … And for how many nights is this for? Mise en place simple via la console Personnalisez les conversations I would like to book a hotel Would you prefer to stay in Personalisez la conversation en Downtown this time as well? fonction des préférences utilisateurs Yes What date do you want to check in? April 19th Sorry no availability. Would a different location work? Validez les entrées utilisateur et confirmez si besoin Gestion des erreurs I want to …. {garbled} ….. Sorry can you please repeat Clarifiez en demandant à that? l’utilisateurs de répéter I am having trouble understanding Utilisez un affichage différent Can you please say that again? à chaque fois Sorry I am not able to assist Terminez la confirmation par you at this time une phrase définie (hang up phrase) Utilisez des affichages riches I would like to rent a car Sure. What type of car are • Utilisables sur les plateformes de you looking for? messagerie • Multiples affichages supportés • Possibilité de prévisualisation • Testable dans la console Compact Fulfillment Intents et variables passés Entrée utilisateur interprétée sur à une fonction Lambda base des intents et des variables. pour implémentation de la logique business Résultat retourné au client pour utilisation ultérieure Intégration avec Rendre la main AWS Lambda au client Sauvegardez, “buildez”, publiez Sauvegardez “Buildez” Publiez Sauvegardez votre bot Buildez votre bot en La publication de votre pour préserver son état créant une version application crée une version de sur le serveur. testable votre bot et fournit un alias à vos clients Testez Testez votre bot dans la fenêtre de la console Bot as Code Ajoutez des Utterances Ajoutez des slots de variable … buildez, testez and deployez vos bots en utilisant les SDKs SDKs: Java, JavaScript, Python, CLI, .NET, Ruby on Rails, PHP, Go, et CPP Support du Versioning et des Alias v1 dev v2 stage v1 v2 v3 latest v3 prod • Supporté pour les Intents, les Slots, et les Bots • Déployez des alias différents par plateforme • Permet à plusieurs développeurs de • Utilisez des stacks différentes en fonction de l’environnement travailler en parallèle • Ciblez des groupes d’utilisateurs différent en fonction • Possibilité de retour arrière de l’alias Versioning Alias Apprentissage continu Amélioration Ajout d’Intents Monitoring Métriques AWS CloudWatch Analyse Utterances manquées Des ressources prédéfinies Built-in Slot Types Types de slots prêts à l’emploi déjà entrainés avec AMAZON.DATE des valeurs d’exemple AMAZON.TIME Pas besoin d’énumérer des valeurs d’exemple pour AMAZON.NUMBER des types de slot …… Profitez des ajouts réguliers à ces ressources prédéfinies Plateformes de messagerie Facebook Slack Twilio SMS Quelques clients Démo : Intégration d’un bot Amazon Lex avec Twilio SMS Architecture / Flux du message Utilisateur Twilio Amazon API Lambda Amazon Lex Programmable Gateway Function SMS AWS Lambda Serverless, event-driven compute service AWS Lambda = micro-service sans serveur Composants d’AWS Lambda • Une fonction AWS Lambda (que vous écrivez) • Un évènement source • Le service AWS Lambda • Un environnement d’exécution réseau Amazon API Gateway Un service managé pour vos APIs Créez Configurez Publiez Maintenez Monitorez Sécurisez Architecture multi-bots Amazon DynamoDB user-id current- bot ttl intent 867-5309 BookCruise Cruise-Booking 1494013599 “Cruise-Booking” Bot “I want to book a cruise” “Concierge” Bot Utilisateur Multiples Amazon API AWS Services de Gateway Lambda messagerie Function “Flight-Booking” Bot #1: Créez un numéro de téléphone Twilio https://www.twilio.com/try-twilio #2: IAM Policy & la fonction AWS Lambda { AWS.config.region = 'us-east-1'; "Version": "2012-10-17", var lexruntime = new AWS.LexRuntime(); "Statement": [ var userNumber = twilioSMS.From.replace('+', ''); { var params = { "Effect": "Allow", botAlias: process.env.BOT_ALIAS, "Action": [ botName: process.env.BOT_NAME, "logs:CreateLogGroup", inputText: twilioSMS.Body, "logs:CreateLogStream", userId: userNumber, "logs:PutLogEvents" sessionAttributes: { ], } "Resource": [ }; "*"