Entity-Based Conversation

This page describes the new Entity-Based Conversation capability.

An Enhanced Conversational Experience

Speaking with Crystal is getting easier and easier!

Since Release 2.57, Crystal offers you more freedom in asking questions.

  1. You can ask Topics that are not pre-configured

Before, you needed to know which Topics were configured in order to make a question: right now, there are no limits to the Topics that you can ask Crystal.

  1. You can ask questions with more flexibility

Before, explicating the Objective was always strictly mandatory when asking for a Topic: right now, there are also some scenarios where you don't need to specify it.

A New Topic Generation Method

The described conversation enhancements are possible thanks to the introduction of a new Crystal capability: the automatic generation of Topics based on Entities.

It represents an additional method for Topic generation that stands alongside the pre-existing Configuration process method, carried out by the Admin User in the Crystal Console.

Please Note

We call "Auto-generated Topics" the Topics that are automatically generated by Crystal to differentiate them from the "Configured Topics", created by the Admin User.

Auto-generated Topics, contrary to Configured Topics, don't need to be manually created by anyone as they are generated directly by Crystal when you ask them.

That's why you are now able to ask questions beyond the scope of Configured Topics: Topic Configuration is not a necessary condition to obtain answers anymore.

However, Topic Configuration remains currently still supported, as it remains a fundamental pillar of Crystal conversation. Both methods combined together ensure the most advanced and complete conversational experience ever available on Crystal.

At the current stage, the automatic Topic generation method gets activated when no specific Configured Topic is available to address the request.

In other words: when you ask for a Topic, Crystal tries to first match a Configured Topic for which you have viewing permissions, if present; otherwise, a new Topic will be generated accordingly.

All you need to do is keep asking questions and it will be up to Crystal to provide you with the best type of Topic for your needs.

Remember

Even though this capability revolves more around the logics underlying Crystal's answer formulation (i.e. how Crystal generates Topics autonomously), it also impacts the way you can ask for Topics.

To talk to Crystal and receive an Auto-generated Topic as answer, you can generally still follow the same few conversational rules needed to ask for Configured Topics, keeping in mind some new logics that make rules less strict!

Let's deep dive!

How Does It Work?

The automatic Topic Generation capability and the Conversation enhancements will be analyzed separately.

Automatic Topic Generation

Crystal is able to autonomously generate Topics using the Entities within the dataset, either individually or in combination.

When you ask for a Topic that has not been configured by the Admin, Crystal leverages the Entity configuration pre-existing in other Configured Topics to infer possible combinations of the Entities.

Starting from a single Configured Topic, Crystal can create new Topics based on any combination of its Entities, regardless of the Objective and Filters asked.

For example:

  • Consider a Configured Topic with the Main Entity "Licenses" and three Filters applied "country", "region", and "product type"

  • Crystal can create:

    • "Overtime of Licenses (by day)"

    • "Comparison of licenses by region and country"

    • etc.

Please Note

Auto-generated Topics will always look the same and be constituted by the same elements as the Configured Topics (that you can deep-dive on here).

The main difference regards the generation method: whereas Configured Topic can be thought as "real", as they can be created and managed by the Admin, Auto-generated ones can be considered as "virtual", as they exist but cannot be created or managed manually.

Moreover, there are some differences in the functionalities that they currently support, as explained in the following paragraph.

Rules

  • For Crystal to auto-generate a Topic from your question, the Entities in the question must be present in at least one Configured Topic

  • The Entities that Crystal can use for Topic generation can be of any type, including Custom Entities

  • Auto-generation does not take viewing permissions of Topics into account: therefore, Crystal will be able to generate Topics also from Configured Topics that you don't have permissions for

  • If you ask for multiple Entities, they can belong indistinctly to the same Table or to different Tables (in this case, Crystal will automatically join them for you)

  • When Entities with the same name get detected, the misunderstanding risk is higher: in this case, Crystal will enter Disambiguation asking you to choose the correct source Table for the Entity

  • When you ask for an Objective "Composition", Crystal applies the following logics to generate Topics:

    • when comparing two Entities with different units of measure, a Scaled-up Number will be provided as the default Visualization, containing all the requested measures

    • when comparing two Entities with different units of measure with a Breakdown, a Scatterplot will be provided as the default Visualization

    • in all other cases, a Bar Chart will be provided as the default Visualization

  • If an aggregation is recognised in a Topic, that one is used also in the Auto-generated Topic; otherwise an aggregation is decided on according to the Configured Topic specifications. In particular:

    • if the Entity has been configured by specifying an aggregation, the first aggregation used on this Entity is taken

    • if the Entity is not numeric, and has only been configured as a Filter or Categorical Entity, the distinct count is used by default

    • if the Entity is numeric, and is without explicit aggregation, sum is used by default

  • The default Time Range applied to the auto-generated Topics will be handled in different ways, based on whether Crystal is able to perform a Time Entity inference or not:

    • normally, Crystal should infer the Time Entity from at least one Configured Topic: in this case, the default Time Range applied on the auto-generated Topic is the same inferred from the Configured Topics

      • in the case where Crystal finds ambiguities among several Configured Topics, the applied default Time Range is the one configured in the System Settings

    • should Crystal not be able to infer the Time Entity at all, the Time Entity will be missing on the Topic and therefore all the start-to-date records will be extracted and shown on the Topic; moreover, you won't be able to filter this Topic using Time Filters (but only with Dynamic ones)

  • In the case where Crystal is auto-generating an "Overtime" Topic, if no Topic with a Time Entity have been configured for the specific requested Entity, Crystal will make assumptions about the Time Entity to use; if this operation fails, you will see a specific error message

  • The time aggregation for Topics with Objective Overtime can only be requested if at least one other Topic Overtime is previously configured for the same Entity: in that case, you can ask the needed time aggregation; if not specified, however, the time aggregation would be monthly by default

  • Auto-generated Topics inherit the permissions from the Configured Topic just for Entities and Filter Values: in general, Auto-generated Topics don't have Permissions to be assigned to them per se, as they are "virtual" Topics, that cannot be manually managed by the Admin as the Configured Topics

  • Among the other Crystal capabilities, the following ones are available for Auto-generated Topics too

Limitations

  • If the requested Entities are not present in at least one Configured Topic, Crystal cannot generate new Topics

  • When you ask for Entities coming from different Tables, you can involve up to of a maximum of 40 Tables from the chosen Data Source - as this is the current limit for Tables configuration in Crystal

  • If the requested Entities are spread across multiple Data Sources, they cannot be used to generate a new Topic

  • When the Entities used for Topic generation are Custom Entities, bear the following limitations in mind:

    • if a Custom Entity is defined by Columns from Table A, you can request Virtual Topics with Entities different from A only if there are Configured Topics that have the necessary joins

    • if the Custom Entity is defined by Columns from both tables A and B, you can request Virtual Topics with Entities from both A and B

  • Topics of type Description or Comparison - Single column pos. neg. cannot be auto-generated

  • When asking for a Topic of type List, the auto-generated Table Visualization will contain as many Columns as the Entities specified in the question: this means that, if only one Entity is specified, the table will have only one Column and, if you need more Columns, you must specify all the Entities

    • for example: "Show me a list of customer IDs" and "Show me a list of customer IDs and relative names and ages"

  • When asking for a Topic of type Ranking, you need to specify the Entity by which you want to order by

    • for example: "Show me the ranking of sales agents by closed contracts"

  • Auto-generated Topics won’t be involved in other Crystal capabilities related to Topics, which will be available for Configured Topics only:

Enhanced Conversation Rules

Thanks to the possibility to reason with Entities, Crystal is also able to infer the Topic Objective even if it is not explicit in the question.

Examples

  • You can simply ask "Sales by Country" and Crystal will directly return a Breakdown Visualization, inferring the Objective Composition

  • You can simply ask "Total of Sales" and Crystal will directly return a Scaled-up Number Visualization, inferring the Objective Highlight

Rules & Limitations

  • At present, this capability is only available for two Objectives: Composition and Highlight

  • For all the other cases, you still need to specify the desired Objective in order to obtain the corresponding Visualization

  • When the Objective is not specified, Crystal will assume that you are asking for a Composition: therefore, a Breakdown will be returned by default (if the underlying data allow it)

Keep talking to your data!


Last updated