IP Library Granted Patent US 12,374,322
Granted Patent B2
US 12,374,322 · App. 17/804,093 · Granted Jul 29, 2025

Adjusting outlier data points for training a machine-learning model

Inventors: Yakupitiyage Don Thanuja Samodhye Dharmasiri (Melbourne, AU); Mark Edward Johnson (Castle Cove, AU); Thanh Long Duong (Seabrook, AU)
Assignee: ORACLE INTERNATIONAL CORPORATION
G10L15/063G06F18/214G10L15/30H04L51/02G10L2015/0636
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,374,322
App. No.
17/804,093
Filed
May 25, 2022
Granted
Jul 29, 2025
Kind
B2
Art Unit
2657
USPC
704/231
Abstract

Techniques for adjusting outlier datasets for training chatbot systems in natural language processing are disclosed. In one particular aspect, a method is provided that includes receiving a dataset that includes training or inference data. An initial set of outlier data points can be identified within the dataset based on a score of the outlier data points being above or below a threshold. The initial set can be adjusted by identifying one or more nearest neighbors, which can be included in the dataset. Outlier data points that include a label that matches a number of labels of the nearest neighbors that exceeds a predetermined threshold can be removed from the initial set of outlier data points to generate a final set. Outlier data points of the final set can be adjusted with respect to the dataset to generate a set of training data that is used to train a machine-learning model.

Claims (42)

1. A method, comprising:

receiving, at a data processing system, a dataset that includes training or inference data;

identifying, by the data processing system, an initial set of outlier data points within the dataset, each outlier data point of the initial set of outlier data points characterized by a score below or above one or more thresholds, the score comprising (i) a highest training loss score based on a plurality of training loss data, (ii) a confidence score, and (iii) an amount of volatility, wherein each outlier data point of the initial set of outlier data points is characterized by a corresponding highest training loss score above a first threshold of the one or more thresholds, wherein each outlier data point of the initial set of outlier data points is characterized by the confidence score below a second threshold of the one or more thresholds, wherein each outlier data point of the initial set of outlier data points is characterized by the amount of volatility above a third threshold of the one or more thresholds, and wherein the first threshold, the second threshold, and the third threshold are set to the same value;

adjusting, by the data processing system, the initial set of outlier data points by:

identifying one or more nearest neighbors, from the dataset for each outlier data point of the initial set of outlier data points;

comparing a label of each outlier data point of the initial set of outlier data points to one or more labels corresponding to the one or more nearest neighbors; and

in response to determining that a number of the one or more labels that match the label exceeds a predetermined outlier threshold, removing the outlier data point from the initial set of outlier data points to generate a final set of outlier data points;

adjusting, by the data processing system, all outlier data points of the final set of outlier data points with respect to the dataset to generate a set of training data for a machine-learning model of a chatbot system;

outputting, by the data processing system, the set of training data for training the chatbot system; and

training the chatbot system using the output set of training data, the training comprising inputting at least a subset of the output set of training data into the chatbot system to generate one or more inferences based on the subset.

2. The method of claim 1 , wherein adjusting all outlier data points comprises removing one or more outlier data points of the final set of outlier data points from the dataset.

3. The method of claim 1 , wherein adjusting all outlier data points comprises generating and outputting one or more suggestions for correcting corresponding outlier data points of the final set of outlier data points, and wherein adjusting all outlier data points comprises correcting a label of one or more outlier data points of the final set of outlier data points.

4. The method of claim 1 , wherein the predetermined outlier threshold is a majority, wherein the method further comprises, in response to determining that half or less of the one or more labels match the label, retaining the outlier data point in the final set of outlier data points.

5. The method of claim 1 , wherein the initial set of outlier data points comprises two or more outlier data points.

6. 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 operations comprising:

receiving, at a data processing system, a dataset that includes training or inference data;

identifying, by the data processing system, an initial set of outlier data points within the dataset, each outlier data point of the initial set of outlier data points characterized by a score below or above one or more thresholds, the score comprising (i) a highest training loss score based on a plurality of training loss data, (ii) a confidence score, and (iii) an amount of volatility, wherein each outlier data point of the initial set of outlier data points is characterized by a corresponding highest training loss score above a first threshold of the one or more thresholds, wherein each outlier data point of the initial set of outlier data points is characterized by the confidence score below a second threshold of the one or more thresholds, wherein each outlier data point of the initial set of outlier data points is characterized by the amount of volatility above a third threshold of the one or more thresholds, and wherein the first threshold, the second threshold, and the third threshold are set to the same value;

adjusting, by the data processing system, the initial set of outlier data points by:

identifying one or more nearest neighbors, from the dataset for each outlier data point of the initial set of outlier data points;

comparing a label of each outlier data point of the initial set of outlier data points to one or more labels corresponding to the one or more nearest neighbors; and

in response to determining that a number of the one or more labels that match the label exceeds a predetermined outlier threshold, removing the outlier data point from the initial set of outlier data points to generate a final set of outlier data points;

adjusting, by the data processing system, all outlier data points of the final set of outlier data points with respect to the dataset to generate a set of training data for a machine-learning model of a chatbot system;

outputting, by the data processing system, the set of training data for training the chatbot system; and

training the chatbot system using the output set of training data, the training comprising inputting at least a subset of the output set of training data into the chatbot system to generate one or more inferences based on the subset.

7. The system of claim 6 , wherein the operation of adjusting all outlier data points comprises removing one or more outlier data points of the final set of outlier data points from the dataset.

8. The system of claim 6 , wherein the operation of adjusting all outlier data points comprises generating and outputting one or more suggestions for correcting corresponding outlier data points of the final set of outlier data points, and wherein the operation of adjusting all outlier data points comprises correcting a label of one or more outlier data points of the final set of outlier data points.

9. The system of claim 6 , wherein the predetermined outlier threshold is a majority, and wherein the operations further comprise, in response to determining that half or less of the one or more labels match the label, retaining the outlier data point in the final set of outlier data points.

10. 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 operations comprising:

receiving, at a data processing system, a dataset that includes training or inference data;

identifying, by the data processing system, an initial set of outlier data points within the dataset, each outlier data point of the initial set of outlier data points characterized by a score below or above one or more thresholds, the score comprising (i) a highest training loss score based on a plurality of training loss data, (ii) a confidence score, and (iii) an amount of volatility, wherein each outlier data point of the initial set of outlier data points is characterized by a corresponding highest training loss score above a first threshold of the one or more thresholds, wherein each outlier data point of the initial set of outlier data points is characterized by the confidence score below a second threshold of the one or more thresholds, wherein each outlier data point of the initial set of outlier data points is characterized by the amount of volatility above a third threshold of the one or more thresholds, and wherein the first threshold, the second threshold, and the third threshold are set to the same value;

adjusting, by the data processing system, the initial set of outlier data points by:

identifying one or more nearest neighbors, from the dataset for each outlier data point of the initial set of outlier data points;

comparing a label of each outlier data point of the initial set of outlier data points to one or more labels corresponding to the one or more nearest neighbors; and

in response to determining that a number of the one or more labels that match the label exceeds a predetermined outlier threshold, removing the outlier data point from the initial set of outlier data points to generate a final set of outlier data points;

adjusting, by the data processing system, all outlier data points of the final set of outlier data points with respect to the dataset to generate a set of training data for a machine-learning model of a chatbot system;

outputting, by the data processing system, the set of training data for training the chatbot system; and

training the chatbot system using the output set of training data, the training comprising inputting at least a subset of the output set of training data into the chatbot system to generate one or more inferences based on the subset.

11. The non-transitory computer-readable memory of claim 10 , wherein the operation of adjusting all outlier data points comprises removing one or more outlier data points of the final set of outlier data points from the dataset.

12. The non-transitory computer-readable memory of claim 10 , wherein the operation of adjusting all outlier data points comprises generating and outputting one or more suggestions for correcting corresponding outlier data points of the final set of outlier data points, and wherein the operation of adjusting all outlier data points comprises correcting a label of one or more outlier data points of the final set of outlier data points.

13. The non-transitory computer-readable memory of claim 10 , wherein the predetermined outlier threshold is a majority, and wherein the operations further comprise, in response to determining that half or less of the one or more labels match the label, retaining the outlier data point in the final set of outlier data points.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2022
From: DHARMASIRI, YAKUPITIYAGE DON THANUJA SAMODHYE; JOHNSON, MARK EDWARD; DUONG, THANH LONG
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 060020/0170 →
Continuity (2)
Provisional Application 63243624 · Sep 13, 2021
Related Publication 20230080553A1 · Mar 16, 2023
References Cited (10)
US 9348815B1 · Estes · 2016 [cited by examiner]
US 20090234899A1 · Kramer · 2009 [cited by examiner]
US 20170193078A1 · Limonad · 2017 [cited by examiner]
US 20190102553A1 · Herwadkar · 2019 [cited by examiner]
US 20190289025A1 · Kursun · 2019 [cited by examiner]
US 20190362245A1 · Buda · 2019 [cited by examiner]
US 20210303798A1 · Duong · 2021 [cited by examiner]
X. Shi, S. Cai, S. Li and R. Sun, “Visual analysis system for association-based outlier detection for data streams,” 2021 IEEE 24th International Conference on Computer Supported Cooperative Work in Design (CSCWD), Dali… [cited by examiner]
H. Wang, M. J. Bah and M. Hammad, “Progress in Outlier Detection Techniques: A Survey,” in IEEE Access, vol. 7, pp. 107964-108000, Aug. 2, 2019 (Year: 2019). [cited by examiner]
F. Alharbi, K. E. Hindi and S. Al-Ahmadi, “Error-Based Noise Filtering During Neural Network Training,” in IEEE Access, vol. 8, pp. 156996-157004, 2020, doi: 10.1109/ACCESS.2020.3019465 (Year: 2020). [cited by examiner]