# Disambiguation

Misunderstandings can occur in any conversation, but when they occur in Crystal, rest assured that they don't go unnoticed.&#x20;

## A Proactive Request to Solve Ambiguities

Misunderstandings in conversation can happen because of **ambiguities**, i.e. words or concepts that may take on **different meanings at the same time**.

If your Project's Entities, Filters, Objectives, or even entire Topics are too similar, Crystal will automatically detect those ambiguities when they come up in a question.&#x20;

In these cases, Crystal needs more information to understand which concept to select. In response, it will display a **list of options** to choose from, in order to clarify the question.

By selecting the correct option, you will provide Crystal with the missing information to **disambiguate**, i.e. resolve the ambiguity, as per the example below:

<figure><img src="https://2516160394-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmAOqTQkYofJrevcpklA7%2Fuploads%2F7C4WkDUYStzC4bOhJ9Mf%2FScreenshot%202024-03-15%20at%2015.44.43.png?alt=media&#x26;token=15376ff9-7b9c-4bc9-85c3-7c695b4131e8" alt=""><figcaption><p>Disambiguation Options</p></figcaption></figure>

{% hint style="info" %} <mark style="color:blue;">**Please Note**</mark>

During a conversation with Crystal, you need to resolve an ambiguity about a topic for two reasons; either to specify a topic directly or to  [activate some other capability](https://docs.igenius.ai/crystal-advisor/talk-to-your-data/conversation/request-a-data-analysis) on a Topic. E.g. "*give me the breakdown of sales*" or "*notify me about the breakdown of sales*" (breakdown of sales = topic).&#x20;
{% endhint %}

## Ambiguity Types

Different types of ambiguities can appear, depending on the nature and granularity of the information involved.&#x20;

The possible scenarios include the following:

* [Ambiguous Entities](#ambiguous-entities)
* [Ambiguous Aggregations of Entities](#aggfun-ambiguity)
* [Ambiguous Values of Filters](#ambiguous-filters)
* [Ambiguous Time Aggregators](#timeagg-ambiguity)

{% hint style="info" %} <mark style="color:blue;">**Please Note**</mark>

A question might contain more than one ambiguity and of different types.
{% endhint %}

### **Ambiguous Entities**

This ambiguity happens when the combination of the Entities in the question leads to *multiple Topics possible.*

The Topics in the list can either fully or partially match the Entities.

#### Full Match <a href="#breakdown-ambiguity" id="breakdown-ambiguity"></a>

Topics fully match if they contain all the requested Entities.

This ambiguity arises when you ask for a *very common Entity* that might be present in many Topics.

In this case, Crystal tries to disambiguate based on the granularity of the [Custom Entities](https://docs.igenius.ai/crystal-console/topics-configuration/configure/custom-entity).

* Question: *"Show me the breakdown of sales”*
* Ambiguity: *“sales”*
* Candidate Topics:&#x20;
  * *"sales by region" (Custom Entity)*
  * *"sales by category" (Custom Entity)*

<figure><img src="https://content.gitbook.com/content/mAOqTQkYofJrevcpklA7/blobs/wyWzjOuVuYxFv9YXJiiR/04%20-%20disambiguation.png" alt=""><figcaption><p>Full Match Entity Ambiguity</p></figcaption></figure>

#### Partial Match <a href="#breakdown-ambiguity" id="breakdown-ambiguity"></a>

Topics partially match if they contain only some of the requested Entities.

This ambiguity arises when you ask for an Entity that is *not present in any Topic.*

In this case, Crystal tries to disambiguate by retrieving Topics that come close to the requested Entity.

* Question: *"Bring me up the count of sales”*
* Ambiguity: *“count of sales”*
* Candidate Topics (the Topic *"count of sales"* does not exist):&#x20;
  * *"total of net sales volume actual"*
  * *"total of net sales value actual"*

<figure><img src="https://content.gitbook.com/content/mAOqTQkYofJrevcpklA7/blobs/GHTlGLk2PASEOxhpPyOm/05%20-%20disambiguation.png" alt=""><figcaption><p>Partial Match Entity Ambiguity</p></figcaption></figure>

### **Ambiguous Aggregations of Entities** <a href="#aggfun-ambiguity" id="aggfun-ambiguity"></a>

This ambiguity happens when there are multiple Topics containing the same Entity and differing only in the *aggregation function* (sum, count, total, etc.).

In this case, Crystal returns the list of Custom Entities that are actually available.

* Question: *"Show me the cost”*
* Ambiguity: *“cost”*
* Candidate Topics:&#x20;
  * *"total of cost"*
  * *"average cost"*

<figure><img src="https://content.gitbook.com/content/mAOqTQkYofJrevcpklA7/blobs/Zv6VvJPcWOIjBWL7Cyan/02%20-%20disambiguation.png" alt=""><figcaption><p>Aggregation Ambiguity</p></figcaption></figure>

### Ambiguous Values of Filters

This ambiguity happens when the question contains a Filter Value that *does not exist but* [*partially matches* ](https://docs.igenius.ai/fundamentals/crystal-topics)*other values.*

In this case, Crystal returns the actually available values for that Filter.

* Question: “*Show me the total sales in America*”
* Ambiguity: “*America*”
* Candidate Filter Values:&#x20;
  * *"North America"*
  * *"South America"*

{% hint style="info" %} <mark style="color:blue;">**Please Note**</mark>

In this disambiguation scenario, in contrast to all the other ones, it is possible for you to *select more than one* Filter Value at once, if needed.&#x20;

From [Release 2.58 ](https://docs.igenius.ai/release-notes/2024/crystal-web/crystal-web-v2.58)you can do this using the *"Select all"* / *"Deselect all"* button!&#x20;
{% endhint %}

<figure><img src="https://content.gitbook.com/content/mAOqTQkYofJrevcpklA7/blobs/eTcH8lwqTYcVNandJCvp/01-%20disambiguation.png" alt=""><figcaption><p>Partially Matching Filter Values Ambiguity</p></figcaption></figure>

<div><figure><img src="https://2516160394-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmAOqTQkYofJrevcpklA7%2Fuploads%2FR6ap9p7jjB8rRt49ErMo%2FScreenshot%202024-09-10%20at%2011.08.38.png?alt=media&#x26;token=92bef2d1-b660-4dd9-b31f-aa5bf880e8aa" alt=""><figcaption><p>Select All</p></figcaption></figure> <figure><img src="https://2516160394-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmAOqTQkYofJrevcpklA7%2Fuploads%2Ftr3ZlRzFxhO2TKbYQTHZ%2FScreenshot%202024-09-10%20at%2011.26.11.png?alt=media&#x26;token=b6f1521e-ceac-4e4a-9ba3-0dd60612926b" alt=""><figcaption><p>Deselect All</p></figcaption></figure></div>

### **Ambiguous** Time Aggregators <a href="#timeagg-ambiguity" id="timeagg-ambiguity"></a>

This ambiguity happens when there are multiple O*vertime Topics* differing only in the *time aggregator***.**

* Question: *"What's the tax overtime?”*
* Ambiguity: *“time aggregator”*
* Candidate Topics:
  * *"tax over time (by day)"*
  * *"tax over time (by semester)"*
  * *"tax over time (by quarter)"*

<figure><img src="https://content.gitbook.com/content/mAOqTQkYofJrevcpklA7/blobs/OTzBmb5bodqLT8scLIly/03%20-%20disambiguation.png" alt=""><figcaption><p>Time Aggregator Ambiguity</p></figcaption></figure>

### Ambiguous Source Tables <a href="#breakdown-ambiguity" id="breakdown-ambiguity"></a>

In the context of [Entity-Based Conversation](https://docs.igenius.ai/crystal-advisor/talk-to-your-data/conversation/request-topics/entity-based-conversation), Entities with the same name might be detected.

In this case, Crystal will ask you to choose the correct source table for the Entity.

Keep talking to your data!

***
