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.

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