US 11,657,797 B2
Routing for chatbots
Vishal Vishnoi, Redwood City, CA (US); Xin Xu, San Jose, CA (US); Srinivasa Phani Kumar Gadde, Belmont, CA (US); Fen Wang, Redwood City, CA (US); Muruganantham Chinnananchi, Cupertino, CA (US); Manish Parekh, San Jose, CA (US); Stephen Andrew McRitchie, Palo Alto, CA (US); Jae Min John, Redwood City, CA (US); Crystal C. Pan, Palo Alto, CA (US); Gautam Singaraju, Dublin, CA (US); and Saba Amsalu Teserra, Redwood Shores, CA (US)
Assigned to ORACLE INTERNATIONAL CORPORATION, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Apr. 23, 2020, as Appl. No. 16/857,047.
Claims priority of provisional application 62/839,580, filed on Apr. 26, 2019.
Prior Publication US 2020/0342850 A1, Oct. 29, 2020
Int. Cl. G06F 17/00 (2019.01); G10L 13/08 (2013.01); G06N 5/04 (2023.01); G06N 20/00 (2019.01)
CPC G10L 13/08 (2013.01) [G06N 5/04 (2013.01); G06N 20/00 (2019.01)] 16 Claims
OG exemplary drawing
 
9. A computer system comprising:
one or more processors; and
a memory coupled to the one or more processors, the memory storing a plurality of instructions that, when executed by the one or more processors, cause the one or more processors to perform processing comprising:
determining that an utterance received from a user while the user is interacting with a first chatbot is an invalid input to the first chatbot or that the first chatbot is attempting to route the utterance to a destination associated with the first chatbot;
responsive to the determining that the utterance is an invalid input to the first chatbot or that the first chatbot is attempting to route the utterance to a destination associated with the first chatbot, identifying a second chatbot for generating a response to the utterance, wherein identifying the second chatbot comprises:
computing, using a first predictive model, a skill confidence score for the first chatbot and a skill confidence score for the second chatbot, the skill confidence score for the first chatbot indicating a likelihood of the utterance being representative of a task that the first chatbot is configured to perform, and the skill confidence score for the second chatbot indicating a likelihood of the utterance being representative of a task that the second chatbot is configured to perform;
determining the skill confidence score for the first chatbot and the second chatbot satisfies one or more skill confidence score thresholds;
in response to determining the skill confidence score for the first chatbot satisfies the one or more skill confidence score thresholds, computing, using a second predictive model that is specific to the first chatbot, an intent confidence score for each intent configured for the first chatbot, the intent confidence score for each intent indicating a likelihood of the intent being relevant to the utterance;
in response to determining the skill confidence score for the second chatbot satisfies the one or more skill confidence score thresholds, computing, using a third predictive model that is specific to the second chatbot, an intent confidence score for each intent configured for the second chatbot, the intent confidence score for each intent indicating a likelihood of the intent being relevant to the utterance;
determining that the intent confidence score for an intent configured for the second chatbot satisfies one or more intent confidence score thresholds; and
determining a match between the utterance and the second chatbot based on a combination of the skill confidence score for the second chatbot satisfying the one or more skill confidence score thresholds and the intent confidence score for the intent configured for the second chatbot satisfying the one or more intent confidence score thresholds; and
routing the utterance to the second chatbot based on the match between the utterance and the second chatbot.