Use this article to learn the key terms and concepts related to the Kore.ai Bots Platform.
Anything that a user says to the chatbot is an utterance. For example, if the user types Book me a flight to Orlando for next Sunday, the entire sentence is considered as the user utterance.
The few essential words in the utterance that describe what the user wants the chatbot to do. It is usually a combination of a verb and a noun. For example, in the above user utterance, the intent is Book me a flight.
To fulfill a user intent, the Bot may require additional information or parameters. For example, to get a weather forecast, it needs the name or Zip Code of the location. Entities are the necessary fields, data, or words for a chatbot to complete the user’s request.
With the required entities in hand, the Bots Platform can reach out to the web service and get the specific data or perform the action as per the user intent. For more information about parameters and user input, see the particular task type parameters and fields at Defining Bot Tasks.
|Book me a flight to Orlando||Book flight||City: Orlando|
|Schedule a meeting with Bill this Sunday||Schedule a meeting||Person name: Bill
Date: April 22, 2018
|Add two bottles of red wine to the cart||Add to cart||Item: Red Wine
Tasks refer to different types of simple and complex “jobs” that a developer designates the chatbot to perform to fulfill the user intents. For a Travel bot, task names might be to Book tickets, Find hotels, Provide weather forecast, and so forth, which cater to different user intents.
Once the bot understands a user intent, it is ready to perform a task, such as reaching out to a web service, extracting the current weather conditions report, parsing that response, and then delivering the data to the user. Kore.ai bots can perform the following five task types:
Alert tasks deliver timely, relevant, and personalized information to users directly from your enterprise systems. The bot continuously polls the system for user-requested alerts in real-time and provides comprehensive details in channel-specific formats.
Action tasks query users for input parameters and then execute a web service call. Examples: Create New Ticket or Get Weather for New York.
Information tasks request users for input parameters, execute a web service call and then provide the results in report formats. Examples: Show my tickets; Show 3-Day Weather Forecast.
Dialog tasks consist of multiple sub-intents and component nodes to conduct a complex conversational flow between a user and the bot. They are unique from the other tasks because they can process more than one user intent per task. For example, let’s assume you create a dialog task called Book Flight. While the main intent is to book a flight, the user may want to know the weather forecast of the destination before booking from the search results. With Dialog Tasks, you can define optional sub-intents as a part of the primary intent.
Kore.ai Knowledge Graph helps you turn static FAQ text into intelligent ontology-driven interactions. It goes beyond the usual practice of capturing FAQs as flat question-answer pairs and enables you to build a hierarchical structure of the domain terms. You can associate context-specific questions to relevant nodes along with alternatives, synonyms, and Machine learning-enabled classes.
Link a task in one message response to another related task from the same or different bot. For example, if you define an alert task to provide notification from Zendesk for new tickets, you can map it to other related tasks for Zendesk, such as Add a Comment, Assign a Ticket, and so forth. You could also map tasks from other Bots for the same Zendesk alert task to, for example, Create a Jira Issue in the JIRA Bot, or Send Tweet in the Twitter Bot.
Channels refer to various communication platforms where a bot can live such as SMS, email, mobile apps, websites, messaging apps and more.With the Bot Builder, you can design chatbot tasks once, and deploy across channels by merely checking a box. You can also differentiate cross-channel experiences by altering message responses or leveraging channel-specific UI elements like date selectors, carousels and more.
Kore. Bots Platform supports the following channels:
- Websites & Portals • Mobile Apps (iOS & Android) • Email • SMS • Collab.ai • FB Messenger • Slack • Workplace • Microsoft Teams • Cisco Spark • Skype/ Skype for Business • Twitter • RingCentral Glip Coming Soon •Amazon Echo • Jive • Yammer •
Variables, Context, and Session Data
When developers create and define tasks, they can access the following:
- Session variables provided by the Bots Platform
- Custom variables that they define
- The context that defines the scope of the variable
For example, some API requests may require you to set session variables before executing the task, or a Dialog task component may need to access a session variable to transition to the next node. Dialog tasks can also access the context object with additional system variables. These session and context variables allow you to persist data and store, for example, a user’s home address for commerce, transportation, and home delivery-focused services to be used by the bot when executing a task
- BotContext.put(“topicSessionVariable”,”music”,2000); – Available for any user of this Bot in the enterprise.
- EnterpriseContext.put(‘Gitrepository’, userRepository, 200000); – Available to any Bot for any user.
- UserContext.get(“firstName”); – Any Bot in the enterprise can use this data for just this user, for example, user location.
- For dialog tasks, in addition to the context and session variables, you can access the Context object and parameters. The Context object is the container object that persists data for dialog execution, and some keys are based on task scope context as well, for example,
session.BotContext – where data is available to this specific Bot and any user in the enterprise.
- session.UserSession – where information is open to any Bot, but only for this particular user. For more information, see Using Session and Context Variables in Tasks and Context Object.
Natural Language Processing
The robustness of the Natural Language Processing (NLP) that powers the conversation dictates a bot’s ability to understand and interact with a user. Kore.ai’s Platform uses a unique Natural Language Processing strategy. It combines Fundamental Meaning and Machine Learning engines for optimal conversation accuracy. Bots built on Kore.ai’s Platform can understand and process the following:
- Multi-sentence messages
- Multiple intents
- Contextual references
- Patterns and idiomatic sentences, and more.
- The NL engine includes recognition support for a wide range of entities. It also provides the tools needed to customize your bot’s language-understanding using additional patterns.
- For more information about using NLP, see the Natural Language Processing Guide.