Natural Language Understanding
Within the Explorer panel of bot flow builder, the third section is dedicated to managing global Intents and Entities.
Intents
Intents are the patterns that the bot recognizes in user messages. By creating an intent, you teach your bot different ways users might express the same request or question.
Create an Intent
To create an intent, go to the NLU Library tab in the Bot Flow Studio.
- Select Intent and click on + icon next to it to open New Intent Form.
- Enter the intent's name and submit it. The new intent will appear in the intents list.
- Add various user expressions that convey the same intent to enhance recognition accuracy.
For instance, if you're working on an intent related to booking a doctor's appointment, you could add these variations:
- I need to see a doctor.
- Can I book an appointment for tomorrow?
- I'd like to schedule a visit to Dr. John.
- Is there a slot available next Monday?
By having these variations, your bot will not just rely on specific words but will look at the overall intent behind the message. When a user sends a message, the bot tries to match it with these pre-defined intents to determine the best response.
Use Intent in Bot Flows
Please Read
Entities
Entities are crucial components in natural language understanding, capturing specific pieces of information from a user's input. Entities are specific parameters that chatbots pick out from what a user says. They're the key variables that the chatbot captures and processes.
For example, in the user's text "I want to book an appointment with Dr John at 3 PM", Dr. Singh is the doctor's name, and 3 PM is the time. The bot uses these entities to grasp the specifics of a request and offer a more personalized response. While intents give the bot a general idea of the user's purpose, entities provide specific details to act upon.
create an Entity
- In the NLU Library, Select Entity and click on **+ **icon next to it.
- This action will open the Create Entity Form.
- Name the entity according to the data it represents, such as Doctor_Name for a list of doctor names and click on Create Button.
Setting New Occurrences:
An occurrence is a specific value that the entity can take. For the Doctor_Name entity, occurrences might be the names of individual doctors like Dr. John or Dr. Smith.
- In the New Occurrence field, enter the value for Doctor_Name. For example: Name of the doctor, Profession of the doctor, etc.
Synonyms:
- Each occurrence can have multiple synonyms. Synonyms are alternative ways users might refer to the same value.
For example, for the occurrence of Dr John, synonyms could be Doctor John, John, Mr John, Orthopaedic John or even Doc John.
- Click on the + icon next to the Occurrence name field.
- Add synonyms with the occurrence.
Fuzziness:
- In the Fuzzy matching options, set the leniency of the system when matching user input to an occurrence. It is useful when a user makes a minor typo in a doctor's name, ensuring they are still matched to the correct doctor.
- There are three levels:
- Strict: Requires the user's input to match the occurrence exactly. No errors are tolerated.
- Medium: Allows for some minor errors or discrepancies in the input.
- Loose: Is even more lenient, accommodating more significant variations from the original occurrence.
Use Entity in bot Flow
Please Read- Configure Your Bot for Automated Slot Filling.
Slots
Slots are variables associated with an intent that hold the values of entities recognized in user input, capturing essential details from the conversation.
Create a Slot
Within an intent, define a slot to capture specific information.
- Select the Intent for which you want to create Slot.
- Navigate and select the Create Slot tab in the right pane of the selected Intent.
- Create a slot for your Intent form will open.
- Give the slot a descriptive Name that conveys its purpose, like ChosenDoctor.
- Link the slot to an entity, which will dictate the kind of data the slot captures.
This means when the chatbot recognizes one of these entities e.g. doctor name or appointment time in a user's message, it can store that value in this slot.
- Intent- "I would like to book an appointment with Dr. John tomorrow at 3 PM."
- Entities- Doctor_Name & Time for Appointment
- Slot- ChosenDoctor
Note: Associated entities help specify what type of data the slot will capture. If a user's message has these associated entities, the chatbot will identify it and save that information in the designated slot. This setup ensures the chatbot efficiently processes user inputs, making its responses more contextually relevant.
- After setting up the slot and its associated entities, click on Save Slot to save slot settings.
Use Slots in bot Flow
Please Read- Configure Your Bot for Automated Slot Filling.