Concepts

Before starting with a virtual assistant creation, it is important to learn some key concepts.

Bot Student

A Bot Student in BOTSchool is an intelligent agent, or bot, or Virtual Assistant.

These bots are called Students because just like a human student, they learn about different subjects and are tested through Exercices.

After learn about a subject (a Program), they are able to interact with human users about that subject.

Students may be available on all supported channels, such as web, Facebook, Skype, IVRs, and so on.

Program

A Program is similar to a school subject. It represents specific areas of knowledge that can be taught to a Bot Student, so it knows how to answer human requests on that subject.

At its central level, a Program represents a map of human intentions, including how to recognize them by understanding the meaning of human phrases, as well as the instructions on how to build an answer to them.

Programs represent human conversation flows, with possible branches from the discussion of different subjects, within a context and how to handle and answer them.

In certain cases, Programs may also include automated tasks such as issuing commands via APIs, much like a server at a restaurant takes your order and places it to the kitchen.

Each Program can be used by several Students, the same way an entire classroom with students learn the same subject from the same teacher.

There are two different types of Programs:


  1. Intents: Intent is all about what the user wants to get out of the interaction. An intent-based Program works by detecting this user’s intent. So, there is extracted the meaning of the message the user is trying to say, and it is seeking into the intents defined in the program the intent that matches. Intent recognition works through the process of providing examples of text alongside their intents to the model.
For more concepts regarding Intent Programs, please refer to the page Intent Programs.
  1. FAQ: Frequently asked question (FAQ) retrieval, with the purpose of providing information on frequent questions or concerns, has far-reaching applications in many areas, where a collection of question-answer (Q-A) pairs compiled a priori can be employed to retrieve an appropriate answer in response to a user’s query that is likely to reoccur frequently.

When to use Intents programs, and when to use FAQ programs:

The main difference between these Program’s types is the training algorithm used: for intents (Supervised Learning) and for FAQs (Unsupervised Learning). These differ mainly in the type of data and the use cases.

  1. In use cases where there is a conversation flow between the bot and user, where there is need to collect entities or where there is need to call an API, the Program type: Intent should be used.
  2. For single questions / answers, where there is no a relation between consecutive questions, the Program type: FAQs should be used.

Student’s knowledge

The knowledge, or skills, are in fact the Programs described below. The student can learn and unlearn the Programs that are available in the Student’s study tab.

A student can be taught with several Programs. This meants that the Student is able to talk about the Programs he learned.

Learning and Publishing Programs

After the Program is ready to be tested, in order to be used by a Student, it must be Published. Publishing is a simple operation for the Program: it requires the Program is Trained. After publishing, the Program will be available to be learned by bot Students (imagine a book being displayed on a shelve on a bookstore).

A bot Student must Learn the Program so it can talk about it. It’s the process of learning a Skill.

Exercices

Just like a student’s school, exercices or tests are used to ensure that a Bot Student is able to use the knowledge taught to him, answering questions accurately and correctly, before graduating and entering the professional world.

Analytics

The analysis about the Student’s interactions with human users are gathered in the Analytics area. The analysis can be done for each Student, or globally for all the Students in the account. Some key concepts:

  1. Interactions: An interaction is when the Student answers a user request, for example, the user asks something, and the Student replies. For more detail about the Student's Dialogs, visit the Students page, Dialogs section. There you can view all the specific dialogs that users have with your Student. The answer of the Student has a certain degree of certainty, the higher the value, the higher is the confidence of the Student that the given answer was the expected answer by the user (this is a sucessful interaction). When the degree of certainty is lower (for example, lower than 60%), it is more likely that the interaction is unsucessful. If the degree is low enough (a configurable threshold), the interaction is classified as a Fallback.
  2. Fallbacks: A Fallback happens when the degree of certainty of the Student regarding a question from a user is low (configurable threshold). When this happens, the Student's reply is a fallback - a generic "i don't know how to answer that" reply (this generic answer is configurable as well). The lower the fallback, the best your Student is prepared to answer the user's questions.
  3. Effectivess Dialog Rate: This is a simple relation between Sucessful interactions and unsucessfull interactions (Fallbacks).
  4. Tags: Tags are used to mark the interaction flow, in order to know the path that was taken by the student to answer the question posed by the user. They can be added in the connections of intent-type programs. All tags that the stream went through in an interaction will be shown in the student dialogs table.

Configurations

In this area, you can edit the minimum confidence value (in faq or intent-type programs), as well as activate, deactivate or edit stopwords (only available for intent-type programs). Stopwords are commonly used words that do not add meaning to the sentence (such as “from”, “the”, etc.), and can therefore be ignored by the system if this option is activated. It is also possible to manage your own stopwords, adding or removing words as needed.

image example