IP Library › Granted Patent US 12,223,276
Granted Patent B2
US 12,223,276 · App. 18/424,178 · Granted Feb 11, 2025

Automatic out of scope transition for chatbot

Inventors: Vishal Vishnoi (Redwood City, CA); Xin Xu (San Jose, CA); Elias Luqman Jalaluddin (Seattle, WA); Srinivasa Phani Kumar Gadde (Belmont, CA); Crystal C. Pan (Palo Alto, CA); Mark Edward Johnson (Castle Cove, AU); Thanh Long Duong (Pointcook, AU); Balakota Srinivas Vinnakota (Sunnyvale, CA); Manish Parekh (San Jose, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F40/295G06F40/211G06F40/35G06F40/56G06N5/043
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,223,276
App. No.
18/424,178
Filed
Jan 26, 2024
Granted
Feb 11, 2025
Kind
B2
Art Unit
2656
USPC
704/9
Abstract

Techniques for automatically switching between chatbot skills in the same domain. In one particular aspect, a method is provided that includes receiving an utterance from a user within a chatbot session, where a current skill context is a first skill and a current group context is a first group, inputting the utterance into a candidate skills model for the first group, obtaining, using the candidate skills model, a ranking of skills within the first group, determining, based on the ranking of skills, a second skill is a highest ranked skill, changing the current skill context of the chatbot session to the second skill, inputting the utterance into a candidate flows model for the second skill, obtaining, using the candidate flows model, a ranking of intents within the second skill that match the utterance, and determining, based on the ranking of intents, an intent that is a highest ranked intent.

Claims (56)

1. A computer-implemented method comprising:

receiving an utterance from a user within a chatbot session, wherein a current skill context of the chatbot session is a first skill and a current group context of the chatbot session is a first group;

obtaining, using a candidate skills model for the first group, a ranking of skills within the first group that could potentially process the utterance;

determining, based on the ranking of skills, a second skill is a highest ranked skill for processing the utterance and a third skill is a second highest ranked skill for processing the utterance;

determining both the second skill and the third skill are within a win margin parameter;

changing the current skill context of the chatbot session to the second skill and the third skill;

obtaining, using a candidate flows model for the second skill, a ranking of intents within the second skill that match the utterance;

obtaining, using another candidate flows model for the third skill, a ranking of intents within the third skill that match the utterance; and

determining, based on the ranking of intents within the second skill and the ranking of intents within the third skill, an intent that is a highest ranked intent for processing the utterance.

2. The computer-implemented method of claim 1 , wherein the obtaining the ranking of skills comprises evaluating the utterance and generating confidence scores for the skills within the first group, identifying any skill with a confidence score exceeding a value of a candidate skills confidence threshold routing parameter as a candidate skill for further evaluation, and ranking the candidate skills based on the confidence scores as skills within the first group that could potentially process the utterance.

3. The computer-implemented method of claim 1 , wherein the obtaining the ranking of intents within the second skill and the third skill comprises evaluating the intents and generating confidence scores for the intents within the second skill and the third skill, identifying any intent with a confidence score exceeding a value of a confidence threshold routing parameter as a candidate intent for further evaluation, and ranking the candidate intents based on the confidence scores as intents within the second skill and the third skill that match the utterance.

4. The computer-implemented method of claim 1 , further comprising initiating a conversation flow in the chatbot session with the user based on the intent that is the highest ranked intent for processing the utterance.

5. The computer-implemented method of claim 1 , further comprising:

receiving an initial utterance from a user within the chatbot session, wherein the initial utterance is receive prior to the utterance;

inputting the initial utterance into the candidate skills model;

obtaining, using the candidate skills model, a ranking of skills that could potentially process the initial utterance;

determining, based on the ranking of skills, the first skill is a highest ranked skill for processing the initial utterance; and

assigning the current skill context of the chatbot session to the first skill and the current group context of the chatbot session to the first group, wherein the first group is defined for the first skill, and the assignment of the current group context of the chatbot session to the first group is performed based on the first group being defined for the first skill.

6. A system comprising:

one or more data processors; and

a non-transitory computer readable storage medium containing instructions which, when executed on the one or more data processors, cause the one or more data processors to perform actions including:

receiving an utterance from a user within a chatbot session, wherein a current skill context of the chatbot session is a first skill and a current group context of the chatbot session is a first group;

obtaining, using a candidate skills model for the first group, a ranking of skills within the first group that could potentially process the utterance;

determining, based on the ranking of skills, a second skill is a highest ranked skill for processing the utterance and a third skill is a second highest ranked skill for processing the utterance;

determining both the second skill and the third skill are within a win margin parameter;

changing the current skill context of the chatbot session to the second skill and the third skill;

obtaining, using a candidate flows model for the second skill, a ranking of intents within the second skill that match the utterance;

obtaining, using another candidate flows model for the third skill, a ranking of intents within the third skill that match the utterance; and

determining, based on the ranking of intents within the second skill and the ranking of intents within the third skill, an intent that is a highest ranked intent for processing the utterance.

7. The system of claim 6 , wherein the obtaining the ranking of skills comprises evaluating the utterance and generating confidence scores for the skills within the first group, identifying any skill with a confidence score exceeding a value of a candidate skills confidence threshold routing parameter as a candidate skill for further evaluation, and ranking the candidate skills based on the confidence scores as skills within the first group that could potentially process the utterance.

8. The system of claim 6 , wherein the obtaining the ranking of intents within the second skill and the third skill comprises evaluating the intents and generating confidence scores for the intents within the second skill and the third skill, identifying any intent with a confidence score exceeding a value of a confidence threshold routing parameter as a candidate intent for further evaluation, and ranking the candidate intents based on the confidence scores as intents within the second skill and the third skill that match the utterance.

9. The system of claim 6 , wherein the actions further comprise initiating a conversation flow in the chatbot session with the user based on the intent that is the highest ranked intent for processing the utterance.

10. The system of claim 6 , wherein the actions further comprise:

receiving an initial utterance from a user within the chatbot session, wherein the initial utterance is receive prior to the utterance;

inputting the initial utterance into the candidate skills model;

obtaining, using the candidate skills model, a ranking of skills that could potentially process the initial utterance;

determining, based on the ranking of skills, the first skill is a highest ranked skill for processing the initial utterance; and

assigning the current skill context of the chatbot session to the first skill and the current group context of the chatbot session to the first group, wherein the first group is defined for the first skill, and the assignment of the current group context of the chatbot session to the first group is performed based on the first group being defined for the first skill.

11. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause one or more data processors to perform actions including:

receiving an utterance from a user within a chatbot session, wherein a current skill context of the chatbot session is a first skill and a current group context of the chatbot session is a first group;

obtaining, using a candidate skills model for the first group, a ranking of skills within the first group that could potentially process the utterance;

determining, based on the ranking of skills, a second skill is a highest ranked skill for processing the utterance and a third skill is a second highest ranked skill for processing the utterance;

determining both the second skill and the third skill are within a win margin parameter;

changing the current skill context of the chatbot session to the second skill and the third skill;

obtaining, using a candidate flows model for the second skill, a ranking of intents within the second skill that match the utterance;

obtaining, using another candidate flows model for the third skill, a ranking of intents within the third skill that match the utterance; and

determining, based on the ranking of intents within the second skill and the ranking of intents within the third skill, an intent that is a highest ranked intent for processing the utterance.

12. The computer-program product of claim 11 , wherein the obtaining the ranking of skills comprises evaluating the utterance and generating confidence scores for the skills within the first group, identifying any skill with a confidence score exceeding a value of a candidate skills confidence threshold routing parameter as a candidate skill for further evaluation, and ranking the candidate skills based on the confidence scores as skills within the first group that could potentially process the utterance.

13. The computer-program product of claim 11 , wherein the obtaining the ranking of intents within the second skill and the third skill comprises evaluating the intents and generating confidence scores for the intents within the second skill and the third skill, identifying any intent with a confidence score exceeding a value of a confidence threshold routing parameter as a candidate intent for further evaluation, and ranking the candidate intents based on the confidence scores as intents within the second skill and the third skill that match the utterance.

14. The computer-program product of claim 11 , wherein the actions further comprise initiating a conversation flow in the chatbot session with the user based on the intent that is the highest ranked intent for processing the utterance.

15. The computer-program product of claim 11 , wherein the actions further comprise:

receiving an initial utterance from a user within the chatbot session, wherein the initial utterance is receive prior to the utterance;

inputting the initial utterance into the candidate skills model;

obtaining, using the candidate skills model, a ranking of skills that could potentially process the initial utterance;

determining, based on the ranking of skills, the first skill is a highest ranked skill for processing the initial utterance; and

assigning the current skill context of the chatbot session to the first skill and the current group context of the chatbot session to the first group, wherein the first group is defined for the first skill, and the assignment of the current group context of the chatbot session to the first group is performed based on the first group being defined for the first skill.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2024
From: VISHNOI, VISHAL; XU, XIN; JALALUDDIN, ELIAS LUQMAN; GADDE, SRINIVASA PHANI KUMAR; PAN, CRYSTAL C.; JOHNSON, MARK EDWARD; DUONG, THANH LONG; VINNAKOTA, BALAKOTA SRINIVAS; PAREKH, MANISH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 066275/0271 →
Continuity (3)
Continuation 17490792 · Sep 30, 2021
Provisional Application 63085796 · Sep 30, 2020
Related Publication 20240169155A1 · May 23, 2024
References Cited (26)
US 10957311B2 · Solomon · 2021 [cited by examiner]
US 11392773B1 · Gangadharaiah · 2022 [cited by examiner]
US 11922123B2 · Vishnoi et al. · 2024 [cited by applicant]
US 20170180284A1 · Smullen et al. · 2017 [cited by applicant]
US 20180330723A1 · Acero · 2018 [cited by examiner]
US 20190324779A1 · Martin · 2019 [cited by examiner]
US 20200285698A1 · Azevedo · 2020 [cited by examiner]
US 20200327134A1 · Freed · 2020 [cited by examiner]
US 20200342850A1 · Vishnoi · 2020 [cited by examiner]
US 20200357409A1 · Sun · 2020 [cited by examiner]
US 20200380963A1 · Chappidi · 2020 [cited by examiner]
US 20210090575A1 · Mahmood · 2021 [cited by examiner]
US 20210174806A1 · Krishnaswamy · 2021 [cited by examiner]
US 20220084526A1 · Freed · 2022 [cited by examiner]
EP 3832644A1 · 2021 [cited by examiner]
WO WO2017100334A1 · 2017 [cited by examiner]
WO WO2018212938A1 · 2018 [cited by examiner]
WO WO2018213415A1 · 2018 [cited by examiner]
WO WO2019231530A1 · 2019 [cited by examiner]
WO WO2020142681A1 · 2020 [cited by examiner]
U.S. Appl. No. 17/490,792 , “Non-Final Office Action”, Jun. 16, 2023, 13 pages. [cited by applicant]
U.S. Appl. No. 17/490,792 , “Notice of Allowance”, Dec. 1, 2023, 9 pages. [cited by applicant]
Bassett , et al., “Using Oracle Digital Assistant”, Oracle® Cloud, Sep. 2021, 1162 pages. [cited by applicant]
International Application No. PCT/US2021/052916 , “International Preliminary Report on Patentability”, Apr. 13, 2023, 9 pages. [cited by applicant]
International Application No. PCT/US2021/052916 , “International Search Report and Written Opinion”, Jan. 10, 2022, 12 pages. [cited by applicant]
European Application No. 21798883.1, Summons to Attend Oral Proceedings mailed Jun. 24, 2024, 10 pages. [cited by applicant]