Skip to Content
Technical Articles
Author's profile photo SHREERAM IYER

Challenge Submission : Chitti – The HEAL bot (built using Design Thinking)

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%20Architecture

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
A1 A2 A3
  • 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)
B1 B2
  • 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)
C1 C2 C3 C4 C5


*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.
D1 D2 D4 D5
  • 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
DQR DREP DX2 Dx1


*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
TG

 

 

 

 

EX1

 


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

Assigned tags

      22 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Vakati Yuvaraj
      Vakati Yuvaraj

      Excellent article !!

      Author's profile photo SHREERAM IYER
      SHREERAM IYER
      Blog Post Author

      Thanks Yuvaraj.

      Author's profile photo Ponnambalam Nishanthini
      Ponnambalam Nishanthini

      Good work

      Author's profile photo SHREERAM IYER
      SHREERAM IYER
      Blog Post Author

      Thanks PB sir.

      Author's profile photo Soni Chirag
      Soni Chirag

      Great work Shreeram

      Author's profile photo SHREERAM IYER
      SHREERAM IYER
      Blog Post Author

      Thanks Soni.

      Author's profile photo Subramanian VenkatachalamIyer
      Subramanian VenkatachalamIyer

      It is really interesting and value added

      Author's profile photo SHREERAM IYER
      SHREERAM IYER
      Blog Post Author

      Thanks Subbu sir.

      Author's profile photo M K Mittal
      M K Mittal

      It is interesting !!! Keep it up

      Author's profile photo SHREERAM IYER
      SHREERAM IYER
      Blog Post Author

      Thank You.

      Author's profile photo Surendranath Prabhu
      Surendranath Prabhu

      Well explained Shreeram. Would love to see this in to a prototype and soon in productive use. All the best

      Author's profile photo SHREERAM IYER
      SHREERAM IYER
      Blog Post Author

      Thanks a lot Surendranath.

      Yes, the screenshots are off the basic working model developed by me and depicted here to keep things simple.

      Have an extended v2.0 prototype as well for demonstration.

      Author's profile photo Venkatesan Paramasivam
      Venkatesan Paramasivam

      Excellent article 👍

      Author's profile photo SHREERAM IYER
      SHREERAM IYER
      Blog Post Author

      Thanks Venkatesan.

      Author's profile photo Vinay Yelluri
      Vinay Yelluri

      Very well written and nice post

      Author's profile photo SHREERAM IYER
      SHREERAM IYER
      Blog Post Author

      Thanks Vinay.

      To keep the article within readable length, I limited the data points by highlighting just the core stuff.

      There's so much to share 🙂

      Author's profile photo Muruganantham A
      Muruganantham A

      Nicely articulated. Well done

      Author's profile photo SHREERAM IYER
      SHREERAM IYER
      Blog Post Author

      Thanks Muruganantham sir !! 🙂

      Author's profile photo Sauranil Dey
      Sauranil Dey

      Very interesting blog !

      Author's profile photo SHREERAM IYER
      SHREERAM IYER
      Blog Post Author

      Thanks Sauranil.

      Author's profile photo Ritam De
      Ritam De

      Very nice article.

      Author's profile photo SHREERAM IYER
      SHREERAM IYER
      Blog Post Author

      Thanks Ritam.