Marian Edu, Acorn IT About Me

Marian Edu, Acorn IT About Me

Chatbots & OpenEdge Marian Edu, Acorn IT About me Working with Progress since 1998 4GL & OO, AppServer Architecture & Integration Java, .NET node.js, javascript, typescript angular, nativescript Chatbots & OpenEdge acorn.ro Chatbot A chatbot is a computer program or an artificial intelligence which conducts a conversation via auditory or textual methods. Such programs are often designed to convincingly simulate how a human would behave as a conversational partner, thereby passing the Turing test. Wikipedia Chatbots & OpenEdge acorn.ro Chatbot & AI Natural Processing Language. Semantic vs. Linguistic Model Keyword matching. Don’t really need to pass the Turing test. Chatbots & OpenEdge acorn.ro Usage Virtual Assistants. Messaging Apps. Organisation Apps/Websites. Chatbots & OpenEdge acorn.ro Use Cases Customer Support. e-Commerce. Marketing, news, finance, etc... Chatbots & OpenEdge acorn.ro Skip Theory Assistants Alexa Skills Kit Actions on Google Messaging Integration. OpenEdge Integration. Chatbots & OpenEdge acorn.ro Assistants Understanding User Input NPL, AI, Intents, Workflow IBM Watson Assistant Amazon Alexa Google Assistant Chatbots & OpenEdge acorn.ro Assistants REST Services (PAAS – subscription) JSON payload Intent/Workflow definition (designer) API’s Chatbots & OpenEdge acorn.ro Smart Speakers Speech Recognition Amazon – Echo, Echo dot, Echo Plus, Echo Spot, Echo Auto… Google – Google Home, Mini, Max Facebook – Portal (Alexa) Chatbots & OpenEdge acorn.ro Amazon Alexa Alexa Console – Skills and Intents Fulfilment – REST endpoint, Lambda OpenEdge – REST services Chatbots & OpenEdge acorn.ro Alexa Console https://developer.amazon.com/alexa/console Chatbots & OpenEdge acorn.ro Endpoint Chatbots & OpenEdge acorn.ro Fulfilment JSON In/JSON Out AWS Lambda Function REST web service Chatbots & OpenEdge acorn.ro AWS Lambda “AWS Lambda lets you run code without thinking about servers.” exports.handler = (event, context, callback) => { }; Event: request, session Context: succeed/fail Intent name, Input values (slot) Chatbots & OpenEdge acorn.ro Alexa Requests LaunchRequest { "version": "1.0", "session": { ...(session properties not shown) }, IntentRequest "request": { "type": "LaunchRequest", "requestId": "string", "timestamp": "string" } SessionEndedRequest } Chatbots & OpenEdge acorn.ro Handler APIs OnSessionStarted (event.session.new) OnLaunch (request.type = "LaunchRequest") OnIntent (request.type = "IntentRequest") OnSessionEnded (request.type = "SessionEndedRequest") Chatbots & OpenEdge acorn.ro Response Synchronous context.succeed / context.fail Asynchronous callback (error, response) Chatbots & OpenEdge acorn.ro Response { outputSpeech: { version: "1.0", type: "PlainText", text: output sessionAttributes: {...} }, response: {...}, card: { type: "Simple", reprompt: {...}, title: title, shouldEndSession: true content: } } Chatbots & OpenEdge acorn.ro Google Assistant DialogFlow Console – Agents and Intents Fulfilment – REST endpoint, Cloud Function OpenEdge – REST services Chatbots & OpenEdge acorn.ro Dialogflow https://console.dialogflow.com Chatbots & OpenEdge acorn.ro Intents Chatbots & OpenEdge acorn.ro Fulfillment Chatbots & OpenEdge acorn.ro Fulfilment JSON In/JSON Out Cloud Function (Firebase) REST web service SDK: node.js, python Chatbots & OpenEdge acorn.ro Fulfillment Chatbots & OpenEdge acorn.ro Cloud Function “Google Cloud Functions is a lightweight, event-based, asynchronous compute solution that allows you to create small, single-purpose functions which respond to cloud events, without the need to manage a server or a runtime environment.” const functions = require('firebase-functions'); const {WebhookClient} = require('dialogflow-fulfillment'); exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => { const agent = new WebhookClient({ request, response }); function welcome(agent) { agent.add(`Welcome to my agent!`); } let intentMap = new Map(); intentMap.set('Default Welcome Intent', welcome); agent.handleRequest(intentMap); } Chatbots & OpenEdge acorn.ro DialogFlow Requests { "lang": "en", "result": { "resolvedQuery": "error 2089", "speech": "", "action": "get_progress_error", "parameters": { "errorno": 2089 }, "contexts": [ { "name": "error", "parameters": { "errorno": 2089, }, "lifespan": 1 } ] } Chatbots & OpenEdge acorn.ro Dialogflow API https://www.npmjs.com/package/actions-on-google DialogflowApp = require('actions-on-google').DialogflowApp; var dialogApp = new DialogflowApp({ request, response }); // build an action map, which maps intent names to functions let actionMap = new Map(); actionMap.set(PRODUCT_ACTION, getProductInfo); actionMap.set(PROERROR_ACTION, getProgressError); dialogApp.handleRequest(actionMap); Chatbots & OpenEdge acorn.ro Response var botResponse = dialogApp.buildRichResponse() .addSimpleResponse(‘Hello’) .addBasicCard( dialogApp.buildBasicCard(‘Card’) .setTitle() ); dialogApp.ask(botResponse); Chatbots & OpenEdge acorn.ro Response "speech": "Hello world", "contextOut": [ { "name": "_actions_on_google_", "parameters": {...} } ], "data": { "google": { "expect_user_response": true, "rich_response": { "items": [...] Chatbots & OpenEdge acorn.ro Integration Chatbots & OpenEdge acorn.ro OpenEdge Integration REST What kind of flavour? Library (API/SDK) akera.io – we’re just happy with node.js Chatbots & OpenEdge acorn.ro Facebook Integration Facebook Messenger Need one Facebook Page/App Page Access Token Webhooks Configuration Chatbots & OpenEdge acorn.ro .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    34 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us