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