Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Overview of Orbita Answers

Orbita Answers builds an answer to a question based on the structure and context of the question. A question has two parts: a topic and a relationship.

  • Topic. The subject of what is being asked.
    For example, “what are the symptoms of diabetes?

  • Relationship. An attribute of a topic.
    For example, “what are the symptoms of diabetes?

The following table shows a Cafeteria topic and two relationships (Location and Hours) that deal with separate contexts about the topic.

  • A topic often has synonyms that people use to refer to the same thing, such as a Café, Cafeteria, or Restaurant.

  • A relationship also often has synonyms. such as nearby, close, or in this building; if the relationship is Hours, then synonyms may be open and hours.

Facts are the topic/relationship combinations and its corresponding answers, a visitor can ask the following questions and more:

  • Where is the Restaurant in this building?

  • Is the Cafeteria nearby?

  • What are the hours of the café?

  • When does the cafeteria open?

    Image Removed

When you create a new topic, such as Gift Shop, you can leverage the same relationships. That is, you can use Location and Hours with the Gift Shop as you do with the Cafeteria and not have to recreate the same relationships over and over.

...

By constructing lists of topics and relationships, you can build a robust database of questions and answers (articles) for your patients.

The following image shows a spreadsheet of topics, relationships, questions, and related answers (articles). The first topic, Internet, has three relationships: Connect, Available, and no relationship. From three relationships to one topic, five questions are generated with five answers.

...

One of the most common uses for chatbots and smart assistants is answering questions posed by end-users. “Where is the hospital located?” “How much is my co-pay?” “What are the early signs of breast cancer?”

To answer questions like these, a bot must do a few things:

  • Understand the question being asked

  • Access content with information related to the question

  • Find the right information in the content to answer the question

While Orbita supports a number of different approaches for implementing a question-answering bot, in almost all cases the recommend approach is to use Orbita Answers.

Orbita Answers uses a fact-based approach to question-answering, which means that answers to questions are drawn from a structured knowledge base of information managed within Orbita. The knowledge base organizes information by facts. A fact is simply a structured content item containing information about a specific topic. A fact also has a set of questions associated to it.

To take an example, imagine a knowledge base of first aid information. The facts within this knowledge base might cover topics such as “influenza” and “sun burn.” Within the topic of influenza, there might be multiple facts regarding treatment, symptoms, risk factors, etc.

A single fact about influenza treatment would have questions associated to it like:

  • How do you treat influenza?

  • How can you treat the flu?

  • treatment options for the flu?

Understanding the Knowledge Base

The structure of a Knowledge Base can be compared to an Excel spreadsheet with four columns:

  • Article

  • Questions

  • Topic

  • Relationship

The article represents a discrete piece of content containing information that authoritatively answers the questions. A topic represents the main subject of an article. A relationshiprepresents a subcategory or attribute of the article.

For example, continuing with the first aid example, a knowledge base containing facts about the flu and sunburn might look like:

Article

Questions

Topic

Relationship

Influenza symptoms include fever, chills, muscle aches, cough, congestion, runny nose, headaches, and fatigue.

  • What are symptoms of the flu?

  • Do I have the flu?

  • What does the flu feel like?

Influenza

Symptoms

The flu is treated primarily with rest and fluid to let the body fight the infection on its own.

  • How do I treat the flu?

  • How can I treat the flu at home?

  • Can the flu be treated?

Influenza

Treatment

Take frequent cool baths or showers to help relieve the pain. Use a moisturizer that contains aloe vera or soy to help soothe sunburned skin.

  • How can you treat a sunburn?

  • How do you get rid of a sunburn?

  • What can you do about a sunburn?

Sunburn

Treatment

Table 1: Example table representing a knowledge base of first aid information

Each row in the spreadsheet represents a fact. In the example table above, there are three facts. One fact for sunburn, and two facts for influenza.

More about Topics & Relationships

Topics and relationships serve two purposes in Orbita Answers.

  • The first is for purely organizational purposes. It makes it easier to find and manage facts when they’re organized in this way.

  • The second is for accuracy purposes. You can create lists of synonyms for topics and relationships to capture the various ways a person might refer to them conversationally. For example, someone might refer to the topic “influenza” as “the flu.” Or the relationship “symptoms” as “signs.”

As you can see the in Table 1, the relationship “Treatment” is used for both Influence and Sunburn. This is ideal and a sign of a well structured knowledge base. In general, it is good practice to identify a set of general categorical attributes that are common to all topics. For example, in a first aid knowledge base, the relationships “treatments,” “symptoms,” “risks,” and “prevention” generally apply to all topics.

More about Questions

Questions should cover the various ways someone might ask for information covered in the article.

How many questions do you need per fact? There’s no hard rule. A general rule of thumb is, no less than six but the more the better. Most important is capturing the variation in how people conversationally ask the same question.

Another general best practice is to think of questions that include the topic and relationship. In situations where you have a question that does not contain the topic and relationship in the question, there may be an opportunity to include words from the question into the synonyms for the topic or relationship.

Starting your Knowledge Base

Using a spreadsheet will make it easier to build and organize your databaseknowledge base.

  1. Make a list of topics such as the Internet, Cafeteria, Gift shop, Influenza, Black Eye, and so on for all the subjects that are related to your situation.

    Note: Many topics have synonyms. For example, a cafeteria might be referred to as a cafe, restaurant, or bistro. Synonyms are added to the database in another step, but you can add them to your spreadsheet if you want.

  2. Define the relationships for each topic. For example, a cafeteria may have a relationship to its Hours of operation and its Location.

  3. Define the questions that arise from a topic and relationship. For example, What are the hours of operation for the cafeteria? and Where is the cafeteria located?

  4. Define the facts that contain the answers to the topic - relationship pair. For example, the question can be When is cafe open? (Cafeteria - Hours). The answer would be The cafeteria is open from 5 AM to 11 PM.

Defining a topic

  1. After you log in, select your project from the Recent Projects list. If you do not see your project click See All Projects.

  2. In the left menu, select Create > Agents > Answers.

    Image Removed
  3. Select the database from the Knowledge Bases list. This example uses the Demo database. The Demo database shows Facts, Interrogative, Topics, and Relationships tabs that list each. The following image shows the Topics tab with a list of topics and their relationships. and any related topics.

    Image Removed
  4. To create a new topic, click on the "Topics" tab and click Add (+). The following image shows how to add a Gift shop to the list of topics.

    Image Removed

Defining a relationship

  1. The Relationships tab shows the relationships (Proximity, Location, Hours).

    Image Removed
  2. To create a new relationship, click Add (+).

    The following image shows a list of relationships.

    Image Removed

Defining a fact

A Fact can be defined as a topic-relationship pair. To add a fact, click on the fact tab, and click on the (+) icon.

Facts can have straightforward answers that answer the context of the question. For example:

  • Where is the cafeteria? can be answered with The cafeteria is located on the third floor. It is open from 5 AM to 11 PM.

  • When is the cafeteria open? can be answered with The cafeteria is open from 5 AM to 11 PM and is located on the third floor.

  1. Create a spreadsheet with four columns: article, questions, topic, relationship

  2. Organize your content into meaningful chunks. Each chunk should represents an article

  3. Identify the primary topic for each article.

  4. Identify the relationship of the article

  5. Define a set of questions that are answered by the article.

As you go through the following steps, keep in mind the best practices and guidelines described in the previous sections (More about Topics & Relationships and More about Questions). Also keep in mind developing the spreadsheet this will most likely be an iterative process.

With this spreadsheet complete, then:

  1. For each topic, define a set of synonyms capturing the various ways someone might refer to the topic (e.g. Anaphylaxis → “severe allergic reaction,” “anaphylactic shock,” etc.)

  2. For each relationship, define a set of synonyms for the same purpose (e.g. Treatment → “remedy,” “therapy,” etc.)

Best practices for creating Topics

  • A topic is a word or phrase (most likely be a noun, noun phrase, proper noun, or compound noun).
    Example: Sunburn

  • A topic name doesn’t necessarily need to be a word in a dictionary. It could be a business name, brand name, product name, etc.

  • A topic name should be the singular form of the noun (e.g. Chemical Burn vs Chemical Burns). Orbita handles lexemes (burns, burning, burned, etc.)

  • There are cases where a topic might be a verb (e.g. Eat) and should be the dictionary form of the word (e.g. Eat, rather than eats, eating, ate. This form is also called the lemma form).

  • A topic can be an acronym (e.g. COPD). When specifying an acronym, use single letters with no spaces.

  • A topic may contain multiple concepts (e.g. Cancer and Hunger) but generally should focus on a single concept (e.g. Cancer, Hunger). A best practice is to think about the questions people will ask – if someone is likely to ask about each concept separately, make it two topics. If they’ll ask about two concepts in the question (e.g. Will I lose my appetite during cancer treatments?), it’s okay to have a topic with two concepts.

Best practices for creating synonyms

  • A synonym is a word or phrase that means exactly or nearly the same as the topic (most likely be a noun, noun phrase, proper noun, or compound noun).

  • A synonym should be the singular form of the noun (e.g. Chemical Burn vs Chemical Burns). Orbita handles lexemes (burns, burning, burned, etc.)

  • A synonym should reflect the way people express topics conversationally and will not necessarily be a synonym that exists in a dictionary for your topic (e.g. severe allergic reaction or covered in hives may be synonyms for the topic anaphylaxis). Research ways people refer to concepts conversationally by looking at web search logs, call center logs, talking with customer support, etc.

  • A synonym should consider the question someone might ask about the topic. E.g. Assume a knowledge base of First Aid content, where a topic/relationship is Anaphylaxis/Causes. Consider the question What causes severe hives? ”severe hives” would be a synonym for Anaphylaxis

  • A synonym name doesn’t necessarily need to be a word in a dictionary. It could be a business name, brand name, product name, etc.

  • A synonym name can be an acronym. When specifying an acronym, use single letters with no spaces (e.g. COPD)

  • A good synonym reflects ways people refer to the concept conversationally.

Creating your Knowledge Base in Orbita

With your spreadsheet as a guide, you’re now ready to create your Knowledge Base in Orbita.

In Experience Manager, select your project, then:

  1. Navigate to Answers

  2. Click the “+” icon

...

In the dialog:

  1. Provide a Name for your knowledge base

  2. Choose “Default” for the Knowledge Base Type

  3. Check the checkbox titled “Generate intent per fact in KB”

  4. Click “Add”

...

From the list of Knowledge Bases, click and open your newly created Knowledge Base.

Creating a Fact

To add a fact, click click on the (+) icon.

If you have many facts referencing the location and hours for the cafeteria, you can use tokens in the facts to save time and energy. If the information changes, you need only change the value of the token in the Content area. For more information, see How to use Tokens?

...

See also How do I set up and use Answers?

Defining a topic

  1. After you log in, select your project from the Recent Projects list. If you do not see your project click See All Projects.

  2. In the left menu, select Create > Agents > Answers.

    Image Added
  3. Select the database from the Knowledge Bases list. This example uses the Demo database. The Demo database shows Facts, Interrogative, Topics, and Relationships tabs that list each. The following image shows the Topics tab with a list of topics and their relationships. and any related topics.

    Image Added
  4. To create a new topic, click on the "Topics" tab and click Add (+). The following image shows how to add a Gift shop to the list of topics.

    Image Added

Defining a relationship

  1. The Relationships tab shows the relationships (Proximity, Location, Hours).

    Image Added
  2. To create a new relationship, click Add (+).

    The following image shows a list of relationships.

    Image Added

Related Articles

Filter by label (Content by label)
showLabelsfalse
max5
showSpacefalse
cqllabel = "answers"