# 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="/files/R4d05pk4QwZvXgsY0JZL" 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](/crystal-advisor/talk-to-your-data/conversation/request-a-data-analysis.md) 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](/crystal-console/topics-configuration/configure/custom-entity.md).

* 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="/files/BARDcekblF7U83JUMC1q" 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="/files/c2dJ9bkSVtToem592DAJ" 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="/files/O8DZrZYxfn05o8DS4rxp" 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* ](/fundamentals/crystal-topics.md)*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 ](/release-notes/2024/crystal-web/crystal-web-v2.58.md)you can do this using the *"Select all"* / *"Deselect all"* button!&#x20;
{% endhint %}

<figure><img src="/files/HmaiOqyYqSfTEDfHJhZe" alt=""><figcaption><p>Partially Matching Filter Values Ambiguity</p></figcaption></figure>

<div><figure><img src="/files/QNqOtawJ5x4xvCUEssdq" alt=""><figcaption><p>Select All</p></figcaption></figure> <figure><img src="/files/sXl7EXHbcOUA1PA4kBdJ" 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="/files/ynQbB5OSJMREyXQE3tC3" 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](/crystal-advisor/talk-to-your-data/conversation/request-topics/entity-based-conversation.md), 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!

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.igenius.ai/crystal-advisor/talk-to-your-data/conversation/disambiguation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
