IP Library Granted Patent US 12,603,085
Granted Patent B2
US 12,603,085 · App. 18/471,491 · Granted Apr 14, 2026

Entity level data augmentation in chatbots for robust named entity recognition

Inventors: Srinivasa Phani Kumar Gadde (Belmont, CA); Yuanxu Wu (Foster City, CA); Aashna Devang Kanuga (Foster City, CA); Elias Luqman Jalaluddin (Seattle, WA); Vishal Vishnoi (Redwood City, CA); Mark Edward Johnson (Castle Cove, AU)
Assignee: Oracle International Corporation
G10L15/197G06F40/186G06F40/295G06F40/30G06F40/35G06N3/0442G06N3/0464G06N3/09G06N20/00G10L15/063G10L15/26H04L51/02H04L51/52G06N3/044G06N3/045G10L2015/0631
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,603,085
App. No.
18/471,491
Granted
Apr 14, 2026
Kind
B2
Abstract

Techniques for data augmentation for training chatbot systems in natural language processing. In one particular aspect, a method is provided that includes generating a list of values to cover for an entity, selecting utterances from a set of data that have context for the entity, converting the utterances into templates, where each template of the templates comprises a slot that maps to the list of values for the entity, selecting a template from the templates, selecting a value from the list of values based on the mapping between the slot within the selected template and the list of values for the entity; and creating an artificial utterance based on the selected template and the selected value, where the creating the artificial utterance comprises inserting the selected value into the slot of the selected template that maps to the list of values for the entity.

Claims (82)

1 . A method comprising:

accessing an utterance received by a chatbot system comprising one or more chatbots;

using a trained machine learning model to extract entity information from the utterance, wherein the trained machine learning model is trained by:

training a machine learning model using a set of training data selected from a set of data comprising utterances, at least one utterance of the utterances comprising a given entity;

evaluating performance of the machine learning model with respect to the given entity using a set of testing data selected from the set of data;

in response to evaluating the performance of the machine learning model, determining that the set of training data should be augmented;

in response to determining that the set of training data should be augmented, generating an augmented set of training data by:

selecting a template from a plurality of templates associated with the given entity;

identifying a plurality of slots in the template, wherein the plurality of slots comprises a first slot that represents a value element for the given entity and a second slot that represents a function element for the given entity;

generating, based on an augmentation rate, a plurality of artificial utterances, wherein the plurality of artificial utterances is generated based on: (i) inserting a value selected from a list of values for the given entity into the first slot; and (ii) inserting a function output obtained by executing a function selected from a plurality of functions associated with the given entity into the second slot, wherein each value of the list of values representing a variation of the given entity, and wherein a number of the plurality of artificial utterances to be generated is determined based on the augmentation rate; and

adding the plurality of artificial utterances to the set of training data; and

using the augmented set of training data to further train the machine learning model to result in the trained machine learning model;

using the entity information identify a chatbot of the one or more chatbots; and

routing the utterance to the chatbot.

2 . The method of claim 1 , further comprising:

converting training utterances selected from the set of training data that comprise the given entity and context for the given entity into the plurality of templates.

3 . The method of claim 2 , wherein converting the training utterances into the plurality of templates comprises maintaining the context for the given entity and replacing the given entity in each training utterance of the training utterances with a slot associated with one or more elements for the given entity, and wherein an element of the one or more elements maps to the list of values for the given entity.

4 . The method of claim 1 , wherein the template is selected based on a mapping between the given entity and the plurality of templates, and wherein the plurality of artificial utterances is generated by performing the following iteratively:

selecting a selected value from the list of values for the given entity;

inserting the selected value into the first slot;

executing a function selected from the plurality of functions to obtain a selected function output; and

inserting the selected function output into the second slot.

5 . The method of claim 4 , wherein the template is selected based on heuristics.

6 . The method of claim 1 , further comprising:

evaluating performance of the machine learning model trained using the augmented set of training data using an augmented set of testing data selected from the augmented set of training data; and

in response to evaluating the performance of the machine learning model trained using the augmented set of training data, determining that the augmented set of training data should be augmented to include at least one additional variation of the given entity.

7 . The method of claim 1 , wherein the augmentation rate is selected based on the performance of the machine learning model, a random selection method, a predefined schema, a distribution of entities in the set of training data selected from the set of data comprising utterances, or any combination thereof.

8 . A system comprising:

one or more processors; and

a memory coupled to the one or more processors, the memory storing a plurality of instructions executable by the one or more processors, the plurality of instructions comprising instructions that when executed by the one or more processors cause the one or more processors to perform processing comprising:

accessing an utterance received by a chatbot system comprising one or more chatbots;

using a trained machine learning model to extract entity information from the utterance, wherein the trained machine learning model is trained by:

training a machine learning model using a set of training data selected from a set of data comprising utterances, at least one utterance of the utterances comprising a given entity;

evaluating performance of the machine learning model with respect to the given entity using a set of testing data selected from the set of data;

in response to evaluating the performance of the machine learning model, determining that the set of training data should be augmented;

in response to determining that the set of training data should be augmented, generating an augmented set of training data by:

selecting a template from a plurality of templates associated with the given entity;

identifying a plurality of slots in the template, wherein the plurality of slots comprises a first slot that represents a value element for the given entity and a second slot that represents a function element for the given entity;

generating, based on an augmentation rate, a plurality of artificial utterances, wherein the plurality of artificial utterances is generated based on: (i) inserting a value selected from a list of values for the given entity into the first slot; and (ii) inserting a function output obtained by executing a function selected from a plurality of functions associated with the given entity into the second slot, wherein each value of the list of values representing a variation of the given entity, and wherein a number of the plurality of artificial utterances to be generated is determined based on the augmentation rate; and

adding the plurality of artificial utterances to the set of training data; and

using the augmented set of training data to further train the machine learning model to result in the trained machine learning model;

using the entity information identify a chatbot of the one or more chatbots; and

routing the utterance to the chatbot.

9 . The system of claim 8 , further comprising:

converting training utterances selected from the set of training data that comprise the given entity and context for the given entity into the plurality of templates.

10 . The system of claim 9 , wherein converting the training utterances into the plurality of templates comprises maintaining the context for the given entity and replacing the given entity in each training utterance of the training utterances with a slot associated with one or more elements for the given entity, and wherein an element of the one or more elements maps to the list of values for the given entity.

11 . The system of claim 8 , wherein the template is selected based on a mapping between the given entity and the plurality of templates, and wherein the plurality of artificial utterances is generated by performing the following iteratively:

selecting a selected value from the list of values for the given entity;

inserting the selected value into the first slot;

executing a function selected from the plurality of functions to obtain a selected function output; and

inserting the selected function output into the second slot.

12 . The system of claim 11 , wherein the template is selected based on heuristics.

13 . The system of claim 8 , further comprising:

evaluating performance of the machine learning model trained using the augmented set of training data using an augmented set of testing data selected from the augmented set of training data; and

in response to evaluating the performance of the machine learning model trained using the augmented set of training data, determining that the augmented set of training data should be augmented to include at least one additional variation of the given entity.

14 . The system of claim 8 , wherein the augmentation rate is selected based on the performance of the machine learning model, a random selection method, a predefined schema, a distribution of entities in the set of training data selected from the set of data comprising utterances, or any combination thereof.

15 . A non-transitory computer-readable memory storing a plurality of instructions executable by one or more processors, the plurality of instructions comprising instructions that when executed by the one or more processors cause the one or more processors to perform processing comprising:

accessing an utterance received by a chatbot system comprising one or more chatbots;

using a trained machine learning model to extract entity information from the utterance, wherein the trained machine learning model is trained by:

training a machine learning model using a set of training data selected from a set of data comprising utterances, at least one utterance of the utterances comprising a given entity;

evaluating performance of the machine learning model with respect to the given entity using a set of testing data selected from the set of data;

in response to evaluating the performance of the machine learning model, determining that the set of training data should be augmented;

in response to determining that the set of training data should be augmented, generating an augmented set of training data by:

selecting a template from a plurality of templates associated with the given entity;

identifying a plurality of slots in the template, wherein the plurality of slots comprises a first slot that represents a value element for the given entity and a second slot that represents a function element for the given entity;

generating, based on an augmentation rate, a plurality of artificial utterances, wherein the plurality of artificial utterances is generated based on: (i) inserting a value selected from a list of values for the given entity into the first slot; and (ii) inserting a function output obtained by executing a function selected from a plurality of functions associated with the given entity into the second slot, wherein each value of the list of values representing a variation of the given entity, and wherein a number of the plurality of artificial utterances to be generated is determined based on the augmentation rate; and

adding the plurality of artificial utterances to the set of training data; and

using the augmented set of training data to further train the machine learning model to result in the trained machine learning model;

using the entity information identify a chatbot of the one or more chatbots; and

routing the utterance to the chatbot.

16 . The non-transitory computer-readable memory of claim 15 , further comprising:

converting training utterances selected from the set of training data that comprise the given entity and context for the given entity into the plurality of templates.

17 . The non-transitory computer-readable memory of claim 16 , wherein converting the training utterances into the plurality of templates comprises maintaining the context for the given entity and replacing the given entity in each training utterance of the training utterances with a slot associated with one or more elements for the given entity, and wherein an element of the one or more elements maps to the list of values for the given entity.

18 . The non-transitory computer-readable memory of claim 15 , wherein the template is selected based on a mapping between the given entity and the plurality of templates, and wherein the plurality of artificial utterances is generated by performing the following iteratively:

selecting a selected value from the list of values for the given entity;

inserting the selected value into the first slot;

executing a function selected from the plurality of functions to obtain a selected function output; and

inserting the selected function output into the second slot.

19 . The non-transitory computer-readable memory of claim 15 , further comprising:

evaluating performance of the machine learning model trained using the augmented set of training data using an augmented set of testing data selected from the augmented set of training data; and

in response to evaluating the performance of the machine learning model trained using the augmented set of training data, determining that the augmented set of training data should be augmented to include at least one additional variation of the given entity.

20 . The non-transitory computer-readable memory of claim 15 , wherein the augmentation rate is selected based on the performance of the machine learning model, a random selection method, a predefined schema, a distribution of entities in the set of training data selected from the set of data comprising utterances, or any combination thereof.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2023
From: GADDE, SRINIVASA PHANI KUMAR; WU, YUANXU; KANUGA, AASHNA DEVANG; JALALUDDIN, ELIAS LUQMAN; VISHNOI, VISHAL; JOHNSON, MARK EDWARD
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 064982/0359 →
Continuity (3)
Continuation 17345288 · Jun 11, 2021
Provisional Application 63038337 · Jun 12, 2020
Related Publication 20240013780A1 · Jan 11, 2024
References Cited (58)
US 6499012B1 · Peters et al. · 2002 [cited by applicant]
US 7295981B1 · Gupta · 2007 [cited by examiner]
US 9910848B2 · Beller · 2018 [cited by examiner]
US 10679012B1 · Salimov et al. · 2020 [cited by applicant]
US 11093551B1 · Natarajan · 2021 [cited by examiner]
US 11158307B1 · Ghias · 2021 [cited by examiner]
US 11281857B1 · Craft · 2022 [cited by examiner]
US 11657307B1 · Bodapati · 2023 [cited by examiner]
US 11804219B2 · Gadde · 2023 [cited by examiner]
US 20150220511A1 · Yang · 2015 [cited by examiner]
US 20170337478A1 · Sarikaya et al. · 2017 [cited by applicant]
US 20180011838A1 · Beller · 2018 [cited by examiner]
US 20180137854A1 · Perez · 2018 [cited by applicant]
US 20180181558A1 · Emery · 2018 [cited by examiner]
US 20180191643A1 · Berry · 2018 [cited by examiner]
US 20180276201A1 · Choi et al. · 2018 [cited by applicant]
US 20180300312A1 · Raiman · 2018 [cited by examiner]
US 20180330202A1 · Blanchflower · 2018 [cited by examiner]
US 20190179940A1 · Ross · 2019 [cited by examiner]
US 20190180196A1 · Terry · 2019 [cited by examiner]
US 20190272818A1 · Fernandez · 2019 [cited by examiner]
US 20190311254A1 · Turek · 2019 [cited by examiner]
US 20190377624A1 · Li · 2019 [cited by examiner]
US 20200143468A1 · Riley · 2020 [cited by examiner]
US 20200202847A1 · Mukherjee · 2020 [cited by examiner]
US 20200285939A1 · Baker · 2020 [cited by examiner]
US 20200302171A1 · Kim · 2020 [cited by examiner]
US 20200311300A1 · Callcut et al. · 2020 [cited by applicant]
US 20200349395A1 · Nushi · 2020 [cited by examiner]
US 20200389390A1 · Vasseur · 2020 [cited by examiner]
US 20210064862A1 · Pati · 2021 [cited by examiner]
US 20210092026A1 · Di Pietro · 2021 [cited by examiner]
US 20210103967A1 · Huang · 2021 [cited by examiner]
US 20210141862A1 · Huang · 2021 [cited by examiner]
US 20210166715A1 · Bharitkar · 2021 [cited by examiner]
US 20210241038A1 · Alvarez · 2021 [cited by examiner]
US 20210390951A1 · Gadde · 2021 [cited by examiner]
US 20220245574A1 · Cella · 2022 [cited by examiner]
US 20220383106A1 · Yasuda · 2022 [cited by examiner]
US 20230080780A1 · Callcut · 2023 [cited by examiner]
US 20230140649A1 · Tunstall-Pedoe · 2023 [cited by examiner]
JP 2005316247A · 2005 [cited by applicant]
JP 2010198189A · 2010 [cited by applicant]
WO 2020005202A1 · 2020 [cited by applicant]
Nadiia Chepurko,Ryan Marcus, Emanuel Zgraggen,Raul Castro Fernandez, Tim Kraska,David Karger,ARDA: Automatic Relational Data Augmentation for Machine Learning; Mar. 20, 2020 URL: https://arxiv.org/pdf/2003.09758 (Year: … [cited by examiner]
Dai et al., [cited by applicant]
Li et al., [cited by applicant]
Wei et al., [cited by applicant]
International Application No. PCT/US2021/036939, International Search Report and Written Opinion mailed on Sep. 24, 2021, 11 pages. [cited by applicant]
International Application No. PCT/US2021/036939, International Preliminary Report on Patentability mailed Dec. 22, 2022, 7 pages. [cited by applicant]
U.S. Appl. No. 17/345,288, Office Action dated Dec. 22, 2022, 11 pages. [cited by applicant]
U.S. Appl. No. 17/345,288, Final Office Action dated Apr. 18, 2023, 13 pages. [cited by applicant]
U.S. Appl. No. 17/345,288, Notice of Allowance dated Jul. 14, 2023, 17 pages. [cited by applicant]
U.S. Appl. No. 17/345,288, “Advisory Action”, Jun. 7, 2023, 5 pages. [cited by applicant]
IN202247068031, “First Examination Report”, Jun. 6, 2025, 8 pages. [cited by applicant]
JP2022-576162, “Notice of Decision to Grant”, Apr. 22, 2025, 3 pages. [cited by applicant]
JP2025-083950, “Office Action”, Nov. 4, 2025, 4 pages. [cited by applicant]
Oobayashi, et al., “Improving the Accuracy of Named Entity Recognition using Data Augmentation”, Proceedings of the Twenty-fifth Annual Meeting of the Association for Natural Language Processing., Mar. 4, 2019, pp. 1253… [cited by applicant]