Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
iyermobile
Participant
An ORIGINAL blog post by SHREERAM A. IYER (@iyermobile)

Introduction:


This article / blog post, is created as part of SAP Conversational AI Tutorial Challenge 2021

I am delighted to showcase you my "SAP conversational AI" technical solution which details out the feature engineering driven by the design thinking principles

Below are the simplified sections of this unique solution

  • Use Case Description (Feature Engineering):

    • Approach - In-a-nutshell understanding design thinking principles

    • Design     - Enumerate and enlist the features of solution



  • Technical Architecture

    • Visualize and connect the dots of each technical parameter by depiction of the solution



  • Technical Implementation

    • Detailed, yet simplified walkthrough of the working solution




UseCase (Feature Engineering):


Approach: Using DESIGN THINKING principle



  • Design Thinking Principles exhibit a human-centric approach to problem solving where you will enumerate and build a system with human principles in consideration

  • Design Thinking process flow comprises 5 stages as in below table headers:















Empathize Defining Ideate


  • List customers and end users' needs and expectations

  • Understanding the users' requirements and their desired solutions

  • Provide a deep insight into what they need and expect from the expected solutions




  • Provide a meaningful problem statement.

  • Provide a context to the problem.

  • The outcome of that particular problem




  • Transitioning from the problem to create solutions for the users

  • Possible solutions

  • Innovative approach














Prototype Types of Prototype


  • Develop the basic working model

  • Test and confirm the idea's feasibility




  • list and recognize the different types of prototype

  • Alternative / parallel operational prototype model



Design: Apply DESIGN THINKING principles


*Only 1 out of 3 points is mentioned below to maintain the length of article

  • Empathize (Which needs are we targeting?): 

    • Stress Management and Emotional Quotient Analysis is not a new term

    • The typical ways to resolve it has been the same over time. A human approaching another human is the norm to provide a two-way platform and shorten the lines.

    • There is a thin line of discomfort when dealing with another human (lack of trust, privacy, monotonous solutions etc.)



  • Define: (What problem are we solving?)

    • Often we hesitate to share stress conditions / emotional setbacks with a human counseller and seek out isolated ways such as internet solutions etc. which does not offer focused counselling



  • Ideate: (What is a possible solution?)

    • There needs to be an alternate non-human neutral ground/platform to whom one can approach for guidance towards understanding and healing the stress and abnormal temperament



  • Prototype (The basic working model)-

    • By building a strong & interactive bot driven conversational counselling system, stress management has a parallel solution using technology

    • An ideal solution will H.E.A.L. as below-

      • Have a dialogue (with end user)

      • Empathize (/Explore) the problem

      • Assess the problem, situation,behaviour, emotional score etc.

      • Lend a helping hand (Desirable + Viable + Feasible prescriptions)





  • Types of Prototype (Extended working model)-

    • The conversation counselling bot must be available on mobile app (like Telegram, Messenger etc) and integrated into enterprise accessible communication tools (like MS Teams etc.)




Technical Architecture:



Technical Architecture




Technical Implementation:


STAGE - 1: Create a basic working model (prototype)


STAGE - 2: Test the basic & additional 'Bot Builder' features


STAGE - 3: Configure to connect to external applications






*Only 3 core points are mentioned below to maintain the length of article

STAGE - 1: Create a basic working model (prototype)



  • Create NEW bot

    • Choose the new bot button and choose Perform Actions in What do you want your chatbot to do?

    • Choose small-talk type in Select predefined skills for your bot

    • Choose a name for your bot (say Chitti) and click create your bot



  • Enlist Intents

    • Choose the in-built intents or Define a custom intent (like "@usermustsay")

    • Add values to the intent

    • Values can also be added from new words and sentences in the Monitor tab



  • Populate the Entities

    • Choose Create An Entity (like #USERSAID) and populate the known entity values, similar to the intents














  • Skill Sequence Builder

    • Choose the Build tab and start creating the skill with an identifiable and (preferably) sequential naming convention

    • Check the List View to ensure no duplicate skills are created

    • Atleast one fallback handler must be created (and preferabl as entry point)













  • Skill Flow Builder

    • Based on the flow that was empathized, defined and ideated in the plan, start the technical component build of each skill

    • Example -

      • Choose an API-1 to GET the current UTC time and create a QR code using another API-2

      • Use user-controls to respond the end user using text message ; pop-up a button to seek an input before proceeding ; display image for reports ; enlist the email and mobile number in case of fallback

      • Use memory variables to control the flow of logic (example mcs here sets a value at entry of skill and modifies the value at exit of skill)






















*Only 3 core points are mentioned below to maintain the length of article

STAGE - 2: Test the basic & additional 'Bot Builder' features



  • Test the basic bot flow using the WebChat option

    • Test the flow of the Linear Intended Logical path (colloquially Happy Path)

    • Test the flow of exceptions

    • Fine tune the GUI appearance of image, delay timers, button text length etc.















  • Test the additional bot flow using the WebChat option

    • Test the values of API-1 for say UTC time, API-2 for say QR code etc used in the skill

    • Test the flow of logic based on memory variables

    • Fine tune the fallback logic handler to renter the skills as desired by end user



















*Only 3 core points are mentioned below to maintain the length of article

STAGE - 3: Configure to connect to external applications



  • Connect to MS Teams collaboration Tool

    • From MS Azure Portal, get your MS App ID, Secret Key to generate a message endpoint URL

    • Use the message endpoint URL back in the Azure Portal and set the OAuth 2.0 keys to test the WebHook from MS Teams messenger UI to SAP Conversational AI  platform



  • Connect to Telegram Mobile App

    • Generate a token using Telegram Botfather and insert it in the below Telegram configuration page

    • Once a channel is created, test the webhook in Telegram using /start or Hi command
















 











 



 


 



 





Hope you liked my above blog 🙂


Please hit the "Like" button, comment below and share the article among your SAP community members. Cheers!


References: Design Thinking by SkillPort
22 Comments
Labels in this area