Skip to main content
Version: 2.0.0

Tables

This chapter will introduce: what is table and how to manage tables on the platform.

Use tables to manage FAQs

When building a primary agent, developers will mainly create FAQs to build its skills.

It is ideal to do it in this way if the business knowledge consists of unstructured data. For that:

  • FAQs are much easier to create and manage.
  • The intention recognition model will be more stable.

However, if the business knowledge consists of structured data, building agent skills with FAQs can be defective.

Scenario 1: Object - Attribute - Attribute Value

There is a car sales agent, who needs to learn the price of every model of car.

User may ask:

  • How much is 718 Cayman?
  • How much is 718 Boxster?
  • How much is 718 Spyder?

If we use FAQs to build agent skills in this case, we run into two problems.

  • As each model needs to have an FAQ, if there are a large number of models, the developer would need to spend a lot of time creating and managing these FAQs.
  • Even if the developer has created all the FAQs needed, highly similar trigger utterances and model names can have a negative impact on the recall results of the algorithmic models. Besides, if the model name also contains confusing information such as letters and numbers, the skills can hardly be triggered correctly.

Apart from product price, the car sales agent also needs to give responses to other questions like:

  • Which range does 718 Cayman belong to?
  • How many seats does 718 Cayman have?

As you can see, the models and their additional information form a structured two-dimensional table, which is more similar to the original knowledge structure of the business than FAQs.

Model nameRangeSeatPrice
718 Cayman7182525000
718 Boxster7182565000
718 Spyder7182758000

With this table, the developer will not need to create 6 FAQs, but simply set the trigger utterance as:

What is the {attribute} of {model name}?

The agent can then locate the corresponding knowledge in the table and send the answer based on the specific model name and attribute mentioned in the user's message.

In this scenario, building agent skills with a table instead of FAQs not only follows the original business knowledge structure, but also helps the developer manage skills easier and improve the end-user's experience.

Scenario 2: Question - User Attribute - Customized Response

There is an HR agent who works for a large enterprise with offices located in different cities.

Employees based in different cities are likely to ask the same question: "What is the Wi-Fi password?"

If we create a FAQ and set the Wi-Fi passwords of every office as the response, the agent's reply will be like:

The Wi-Fi password for the Beijing office is XXXXXXXXXX. The Wi-Fi password for the Shanghai office is XXXXXXXXXX. The Wi-Fi password for the Changsha office is XXXXXXXXXX. The Wi-Fi password for the Fuzhou office is XXXXXXXXXX.

In this case, the more office this enterpreise has, the harder for the user to find the information needed in such a long response.

Therefore, we can build a dialogue flow:

Step 1: Agent gets the user attribute located city

Step 2: Go to different routes based on the value.

Step 3: Add an inform block to each route.

Step 4: Set the Wi-Fi password of the corresponding office as the response. wifi-password

However, if there are dozens of offices, building the skill with dialogue flow can be time-consuming.

In addition to WiFi passwords, many other equipments are also strongly related to the user's locatd city.

Employees based in different offices are likely to ask:

  • What is the Wi-Fi password?
  • Where is the printer?
  • What is the office address in detail?

As the located office and equipments can form a structured two-dimensional table, we can use the table below to build related skills.

Located cityWi-Fi passwordPrinterOffice address
BeijingXXXXXXXXXXNext to the finance office on the 19th floorxx floor, xx Building, xx Street, xx District
ShanghaiXXXXXXXXXXNext to the finance office on the 7th floorxx floor, xx Building, xx Street, xx District
ChangshaXXXXXXXXXXNext to the finance office on the 2nd floorxx floor, xx Building, xx Street, xx District

With this table, the agent can locate the corresponding knowledge in the table and send the answer based on the specific located city of the user attribute.

Advantages of tables

  1. Tables are easier to build and manage. Compared to multidimensional knowledge graphs, two-dimensional tables can already meet most scenes and are more developer-friendly. Table contents can be edited directly on the platform. You can also upload .xlsx files to build tables in a quicker way.

  2. Tables support a variety of data formats including text, associated entity, number, date, time and multimedia response. In addition, each data format has a corresponding judgement logic, making table look-up during conversations more flexible and convenient.

  3. Tables can be used in various scenarios. You can use a table both in the FAQs and dialogue flows.

Management of tables

  1. Click "Build-Rescources-Tables" on the agent menu to enter the page. no-table

  2. Click "+ Create table", enter the table name and select the type to create a new table. create-table

    The platform supports two types of tale:

    1. Knowledge base: Both the data and the structure of the table will be included when creating versions, exporting drafts. Therefore, using this type of table is a better choice to build knowledge extracted from business, so the knowledge can be used in skills.
    2. Info collection: Only the structure of the table will be included when creating versions or exporting drafts. To achieve the data, you need to export the table on the corresponding table page. Therefore, this type of table is often used to collect the information mentioned in user messages that you want the agent to keep.
warning

Table type cannot be modified once selected.

caution

The amount of table data in information collection scenes will vary with the volume of conversations, which means it is likely to have thousands or millions rows of data on a table.

If use knowledge base tables to collect information, there can be an error when creating versions or exporting drafts.

  1. After the table is successfully created, it will be displayed on the list in the order of created time. You can check the name, type and created time on the list.

Management of table fields

  1. Clicke "Enter" to enter the table content page. enter-table

  2. A newly created table has no field, so you cannot add any content. no-field

  3. Switch to the "Fields" tab to manage fields. Click "+ Create Field", set the name, key and type to create a new field. create-field

    Name: The name of a field will be displayed as the name of a column. It can be modified later, but cannot be repeated within the current table.

    Key: The unique identification of the field (for interface processing, only letters, numbers and underscores are allowed), which will be displayed in the header of the exported excel file. It cannot be modified after creation and cannot be repeated within the current table.

    Description: The additional description of the field, which will be displayed in the input box prompt when adding a new row of data.

    Type: The platform supports 6 commonly used data types: text, number, date, time, date and time, and answer. It cannot be modificated after creation.

    Set the type of each field correctly can make it easier to manage the table.

    TypeEdit boxFilter strategies
    TextText input box / Drop down selection compoent (with associated entity only)Support comparison by ascll code value
    Support fuzzy matching by semantics
    Date & TimeDate and time selection componentSupport date and time comparisons
    NumberNumber input box, support integers and floating pointsSupport number comparisons
    AnswerAnswer edition component, support multimedia contentCannot be used as a filter condition

    Associated entity: When the type is selected as "text", you can choose to associate it with one or multiple entities. Once the field is associated to an entity, the edit box will change from a input box to a drop down selection component. You can fill it by chosing an entity.

    Index config: You need to configure this item if the field is likely to be used as a filter condition. The date & time and number type are configured with this item by default, and answers cannot be used as a filter condition by now, so you only need to configure for the text type. The strategy used cannot be modified after creation.

    note
    • When "Exact Match" is enabled, fields can be queried to use conditions like equal to, greater than, and less than.
    • When "Approximate" is enabled, fields can be queried to use conditions like approximate to. It also supports custom word splitting strategies.
  4. After the field is successfully created, it will be displayed on the list in the order of created time. You can check the ID, name, key, type, description and index config on the list. has-field

Management of table contents

  1. Switch back to the "Table" tab, now you can see the fields created. They are listed from left to right in the order of created time. no-content

  2. Click "+CREATE" and fill in the items. The platform will set the input box with the most suitable component based on the type of each field. create-content

  3. Click "COLUMNS", here you can set the order and the visibility of each field. It will only affect how this page presented, but not the order of each field when creating a new row of data. set-columns

  4. When there are too much data, you can narrow down them by setting the "FILTER". You can set any field except from "answer" as the filter with the "AND" condition. The filter strategies are related to index configs of each field. content-filter

Import & Export

Click "···" beside of "+CREATE", you can import or export tables here. Currently, the platform only supports import and export of the table content, while fields are not included. import-export

Use tables in skills

Tables can be used in both FAQs and dialogue flows. The agent will make table look-up during conversations based on the conditions configured in skills. The results will be sent to the users as responses, or fill the slots configured. For more details, see Personalized Answer and Table Lookup Block