IP Library Granted Patent US 12,572,535
Granted Patent B2
US 12,572,535 · App. 18/301,739 · Granted Mar 10, 2026

Natural language database interface

Inventors: Chaoting Xuan (Atlanta, GA); Ravish Chawla (Chamblee, GA); Erich Stuntebeck (Johns Greek, GA)
Assignee: Omnissa, LLC
G06F16/24522G06F40/20
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,572,535
App. No.
18/301,739
Granted
Mar 10, 2026
Kind
B2
Abstract

The present disclosure provides an approach for training a machine learning model. Embodiments include receiving text comprising a natural language request. Embodiments include providing one or more inputs to a source machine learning model based on the text, wherein the source machine learning model has been trained using source training data corresponding to a plurality of databases. Embodiments include receiving, from the source machine learning model in response to the one or more inputs, a database query in a syntax corresponding to a target database. Embodiments include generating training data for a target machine learning model based on the text and the database query received from the source machine learning model, wherein the target machine learning model has been trained using a smaller amount of training data than the source training data that was used to train the source machine learning model.

Claims (52)

1 . A method of training a machine learning model, the method comprising:

receiving a first input text comprising a first natural language request;

providing one or more inputs to a source machine learning model based on the first input text, wherein the source machine learning model has been trained using source training data corresponding to a plurality of databases;

receiving, from the source machine learning model in response to the one or more inputs, a first database query in a syntax corresponding to a target database;

generating training data for a target machine learning model based on the first input text and the first database query received from the source machine learning model, wherein the target machine learning model has been trained using a smaller amount of training data than the source training data that was used to train the source machine learning model;

training the target machine learning model based on the training data;

receiving a second input text comprising a second natural language request;

determining, based on one or more attributes of the second input text, whether to provide the second input text to the source machine learning model or the target machine learning model;

providing the second input text to one of: the source machine learning model or the target machine learning model based on the determining;

receiving, in response to providing the second input text, a second database query from either the source machine learning model or the target machine learning model; and

executing the second database query against the target database.

2 . The method of claim 1 , wherein the generating of the training data is further based on user feedback with respect to the first database query received from the source machine learning model.

3 . The method of claim 1 , wherein the target machine learning model is used to determine the second database query in a syntax corresponding to the target database based on the second input text comprising the second natural language request.

4 . The method of claim 1 , wherein the source machine learning model was trained by a third party, and wherein internal logic of the source machine learning model is not available for analysis with respect to the first database query received from the source machine learning model.

5 . The method of claim 4 , wherein respective internal logic of the target machine learning model is available for analysis.

6 . The method of claim 1 , wherein the source machine learning model utilizes a larger amount of physical computing resources than the target machine learning model.

7 . The method of claim 6 , wherein determining, based on one or more attributes of the second input text, whether to provide the second input text to the source machine learning model or the target machine learning model is based on a comparison of the second input text with the first input text.

8 . The method of claim 7 , wherein the comparison is based on generating embeddings of the first input text and the second input text.

9 . The method of claim 1 , further comprising determining whether to stop using the source machine learning model based on a determined accuracy of the target machine learning model.

10 . A system for training a machine learning model, comprising:

at least one memory; and

at least one processor coupled to the at least one memory, the at least one processor and the at least one memory configured to:

receive a first input text comprising a first natural language request;

provide one or more inputs to a source machine learning model based on the first input text, wherein the source machine learning model has been trained using source training data corresponding to a plurality of databases;

receive, from the source machine learning model in response to the one or more inputs, a first database query in a syntax corresponding to a target database;

generate training data for a target machine learning model based on the first input text and the first database query received from the source machine learning model, wherein the target machine learning model has been trained using a smaller amount of training data than the source training data that was used to train the source machine learning model;

train the target machine learning model based on the training data;

receive a second input text comprising a second natural language request;

determine, based on one or more attributes of the second input text, whether to provide the second input text to the source machine learning model or the target machine learning model;

provide the second input text to one of: the source machine learning model or the target machine learning model based on the determining;

receive, in response to providing the second input text, a second database query from either the source machine learning model or the target machine learning model; and

execute the second database query against the target database.

11 . The system of claim 10 , wherein the generating of the training data is further based on user feedback with respect to the first database query received from the source machine learning model.

12 . The system of claim 10 , wherein the target machine learning model is used to determine the second database query in a syntax corresponding to the target database based on the second input text comprising the second natural language request.

13 . The system of claim 10 , wherein the source machine learning model was trained by a third party, and wherein internal logic of the source machine learning model is not available for analysis with respect to the first database query received from the source machine learning model.

14 . The system of claim 13 , wherein respective internal logic of the target machine learning model is available for analysis.

15 . The system of claim 10 , wherein the source machine learning model utilizes a larger amount of physical computing resources than the target machine learning model.

16 . The system of claim 15 , wherein determining, based on one or more attributes of the second input text, whether to provide the second input text to the source machine learning model or the target machine learning model is based on a comparison of the second input text with the first input text.

17 . The system of claim 16 , wherein the comparison is based on generating embeddings of the first input text and the second input text.

18 . The system of claim 10 , wherein the at least one processor and the at least one memory are further configured to determine whether to stop using the source machine learning model based on a determined accuracy of the target machine learning model.

19 . A non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

receive a first input text comprising a first natural language request;

provide one or more inputs to a source machine learning model based on the first input text, wherein the source machine learning model has been trained using source training data corresponding to a plurality of databases;

receive, from the source machine learning model in response to the one or more inputs, a first database query in a syntax corresponding to a target database;

generate training data for a target machine learning model based on the first input text and the first database query received from the source machine learning model, wherein the target machine learning model has been trained using a smaller amount of training data than the source training data that was used to train the source machine learning model;

train the target machine learning model based on the training data;

receive a second input text comprising a second natural language request;

determine, based on one or more attributes of the second input text, whether to provide the second input text to the source machine learning model or the target machine learning model;

provide the second input text to one of: the source machine learning model or the target machine learning model based on the determining;

receive, in response to providing the second input text, a second database query from either the source machine learning model or the target machine learning model; and

execute the second database query against the target database.

20 . The non-transitory computer readable medium of claim 19 , wherein the generating of the training data is further based on user feedback with respect to the first database query received from the source machine learning model.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 25, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067239/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2023
From: XUAN, CHAOTING; CHAWLA, RAVISH; STUNTEBECK, ERICH
To: VMWARE, INC.
Reel/Frame 063346/0985 →