Definition

Disambiguation is the process used by Athena to elect the correct intention between 2 too closed intentions.

Trigger

2 intentions are close enough if the score between them is less than 10%, and one of them has a score above 50%.

In this particular case, Athena will automatically execute a label if it exists in your Knowledge.

You can customize the threshold. See documentation.

Syntax

Above is the Athena code you need to add to your agent, this will activate the disambiguation.

[ATHENA_REDIRECTION(domain1, domainid1, domain2, domainid2, idMessage)]
    - I found different answers to your question. Could you please let me know if your request is related to @disamb.getIntentLabel("%domain1") or to @disamb.getIntentLabel("%domain2") ?
		? NONE (OF) (THEM)
        ? NEITHER
			- {ATHENA_REDIRECTION_FAIL}
        ? (THE) FIRST (ONE)
        ? (THE) (NUMBER) ONE
			- @disamb.electIntent("%domain1", "%domainid1", "%idMessage")
    	? (THE) (NUMBER) TWO  
	    ? (THE) SECOND (ONE)
			- @disamb.electIntent("%domain2", "%domainid2", "%idMessage")
		???
			- @disamb.selectIntent("%domain1", "%domainid1", "%domain2", "%domainid2", "%idMessage")
	-| @escalating.isFail("disamb", "2")
    - Sorry, it looks like we're not seeing eye to eye today. I will have one of my human teammates contact you as soon as possible.

[ATHENA_REDIRECTION_FAIL]
	- Sorry, I'm still having issues locating the information you need. I will notify my human teammates to expand my knowledge on this matter. In the meantime would you be so kind to rephrase your question?
	- Sorry, I'm not able to find the information you are looking for. But with your help I will improve.  Could you please rephrase your question?
	- Sorry for not understanding your request. I am still learning and will improve with your help.  Could you please rephrase your question?
	-| @escalating.isFail("disamb", "2") 
    - Sorry, it looks like we're not seeing eye to eye today. I will have one of my human teammates contact you as soon as possible.

Two different addins are used in this case: disamb and escalating

Both labels are required:

  • ATHENA_REDIRECTION : is the label that will be executed once a disambiguation occurs
  • ATHENA_REDIRECTION_FAIL : is the label that will be triggered when selectIntent does not find a suitable intent

Customize the disamb threshold

You can customize the disamb using its configuration.