BookmarkSubscribeRSS Feed

Chatbot Anatomy in SAS Conversation Designer

Started ‎01-20-2021 by
Modified ‎01-20-2021 by
Views 4,587

When learning a new programming language, you apply the same logic and basic principles but adjust to the syntax for the language you are coding in, whether it be C, SQL, Python, or even SAS. The same can be true for chatbots. There are several chatbot platforms in which to design your bot, but the aim of this article will be to set the stage and walk through the anatomy of a SAS Conversation Designer designed bot.

 

Once you become familiar with the terms and roles of the chatbot building blocks, you can apply your skills as a bot designer to SAS Conversation Designer. To list just a few of the major benefits form using SAS Conversation Designer on SAS Viya are:

  • Access SAS Cloud Analytic Services (CAS) data
  • Access SAS Visual Analytics (VA) report data and images
  • Access SAS Analytics

Keep in mind that often the order in which I will explain the bot building blocks is not the order in which the bot is recommended to be designed. See here for the full SAS Documentation.

Domain

Domains are how bots are separated by application or function. Essentially, a domain is a logical grouping for bots. Imagine a business that provides insurance, some examples of domains that bots could be named after are: Marketing Policies, HR/Benefit Policies, or Auto Insurance.

 

The first two examples, marketing and HR/benefits, may be internal bots that support an internal audience for the business. The last bot, auto insurance, may be their customer facing bot to help their customers find answers to questions about general auto coverage or about a submitted claim.

 

01_Domain.png

Select any image to see a larger version.
Mobile users: To view the images, select the "Full" version at the bottom of the page.

Dialogue

A dialogue is a collection of nodes in a flow that guides the interaction between the user and the bot. The dialogue is ultimately responsible for returning the bot’s results.

 

Most, not all, dialogues will wait for the User Input and then the algorithm will kick off to find a matching flow. The match criteria are a part of the power behind the bot’s Artificial Intelligence (AI) that relies on Natural Language Processing (NLP) that encompasses both Natural Language Understand (NLU) and Natural Language Generation (NLG) plus Machine Learning (ML).

 

In the example below, the bot starts with a greeting which is one of those dialogues that I mentioned that will not wait for User Input. Then the user enters input, asking “Hi – when will my claim be paid?”. Through the bot’s AI matching criteria, this User Input is matched to the dialogue Claim payment timeline which is mapped to the Claim payment timeline intent.

 

Note that this is a simple dialogue example. Dialogues can range from this example, simple and straight forward, to complex dialogues that contain many nodes and can even jump to other dialogues.

 

02_Dialogue.png

Intents

Intents are goals that the bot seeks to accomplish. Acting almost like a table of contents for the bot, these are the reasons for designing a bot.

 

Here are some example intents that each bot may wish to address:

  • Marketing Policies
    • Brand Colors
    • Internal Communications Channels
    • External Communications Channels
  • HR/Benefit Policies
    • Holiday Schedule
    • Dental Provider
    • Family Medical Leave (FMLA)
  • Auto Insurance Policies
    • Claim payment timeline
    • Deductible explained
    • Provide insurance quote

Remember those dialogue flows that want to return a response? You assign a dialogue flow to an intent. Recall that the User Input will be matched to a dialogue which is assigned to an intent. This leads to our next bot element that helps drive the matching criteria. Notice the match training data next to this example intent called utterances.

 

03_Intent.png

Utterances

An utterance is a natural language example sentence that the bot can expect as User Input. These sentences, utterances, are associated with an intent to help match User Input to dialogues to help the bot return the appropriate response.

 

Remember that the combination of Artificial Intelligence (AI) disciplines that powers the bot’s matching criteria, Natural Language Processing (NLP) plus Machine Learning (ML).

 

Usually the theory is that the more training data the better the match criteria will be. However, it’s the breadth and depth of the training data that is key. SAS Conversation Designer has tools in which to help you determine if the additional utterance is beneficial to the intent matching or not.

 

04_Utterance.png

Entities

Entities are terms or term phrases that are specific to the domain or field that help define how an utterance is mapped to an intent.

 

Did you notice how some of the words in the example sentences above are highlighted? That is because these words have been identified as entities . The power behind these entities is that you can add additional values to map to the term or term phrases or identify it as a lemma in which the match criteria will handle matching the lemmatization.

 

05_Entity.png

All The Pieces Together

To bring all these building blocks together, here’s a combined visual for you and the terminology SAS Conversation Designer uses. My hope is that you will be able to quickly apply your knowledge of bot building to this new product and this definition mapping exercise will get you up and running fast.

 

Once the greeting of the bot is complete, the bot is expecting the user to enter a request. That request, User Input, goes through an Artificial Intelligence (AI) matching criteria and uses the combination of defined entities and utterances to match to an intent which is mapped to a dialogue which will guide the bot conversation that enables the bot to return a response.

 

06_AllTogether.png

Additional Material

 

 

 

Version history
Last update:
‎01-20-2021 05:04 PM
Updated by:
Contributors

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!

Free course: Data Literacy Essentials

Data Literacy is for all, even absolute beginners. Jump on board with this free e-learning  and boost your career prospects.

Get Started

Article Tags