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:
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.
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.
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.
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:
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.
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.
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.
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.
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
Data Literacy is for all, even absolute beginners. Jump on board with this free e-learning and boost your career prospects.