IP Library Granted Patent US 12,222,935
Granted Patent B2
US 12,222,935 · App. 17/753,216 · Granted Feb 11, 2025

Decision support system for data retrieval

Inventors: Eric Laufer (Montreal, CA); Francois Maillet (Montreal, CA)
Assignee: ServiceNow Canada Inc.
G06F16/245G06F16/243G06F16/248G06F16/258G06F16/285
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,222,935
App. No.
17/753,216
Granted
Feb 11, 2025
Kind
B2
Abstract

Systems for use in data retrieval. A natural language processing module is used in conjunction with a classifier module to analyze and decompose a user query into its elements, and to determine a type of query. These modules are also used to determine the parameters for the query. The type of query and the parameters are then used to find a suitable function that creates a structured database query with the fields in the database query being populated using the parameters and query elements found by the NLP module. The completed structured database query is then used to retrieve relevant data records in response to the query. The retrieved records are then further processed and formatted as necessary to result in a suitable response to the query.

Claims (44)

1. A system for retrieving data, the system comprising:

a non-transitory storage medium storing computer-readable instructions thereon; and

at least one processor operatively connected to the non-transitory storage medium, the at least one processor, upon executing the computer-readable instructions, being configured for:

receiving a natural language query from a user;

decomposing said natural language query into query elements using at least one natural language processing (NLP) model;

determining, using at least one classifier, query types and respective query parameters for said query based on said query elements and relationships between query elements for said query;

selecting at least one suitable function for said query from a set of functions based on said query types, said respective query parameters and the relationships between the query elements to formulate at least one database query;

retrieving data from at least one knowledge graph database operatively connected to the system, using said at least one database query;

processing said data retrieved from the at least one knowledge graph database based on the relationships between the query elements to thereby determine a response to said query; and

formatting said response into a formatted response to said natural language query from said user.

2. The system according to claim 1 , wherein said at least one NLP model comprises a NLP machine learning model.

3. The system according to claim 1 , wherein said at least one classifier comprises at least one trained classification machine learning model.

4. The system according to claim 1 , wherein said query types comprises at least two of: an identification query, an amount query, a strategy query, a counting query, a listing query, a grouping query, a time query, and a calculation query.

5. The system according to claim 4 , wherein each query type corresponds to at least one function.

6. The system according to claim 1 , wherein said at least one classifier is configured to classify said query based on said query types.

7. The system according to claim 1 , wherein the at least one classifier comprises a trained classification machine learning model.

8. The system according to claim 7 , wherein said at least one classifier is configured to determine at least one of: entities within the query, relationships between the entities and intent between the entities to be used as candidates by the suitable function to retrieve data from the at least one knowledge graph database.

9. A system for retrieving data, the system comprising:

a non-transitory storage medium storing computer-readable instructions thereon; and

at least one processor operatively connected to the non-transitory storage medium, the at least one processor, upon executing the computer-readable instructions, being configured for:

decomposing, using at least one natural language processing (NLP) model, a user query into query elements;

determining, using at least one classifier, parameters for said query based on said query elements and relationships between query elements for said query;

selecting at least one suitable function from a set of functions for said query based on said parameters for said query and the relationships between the query elements to formulate at least one database query;

retrieving data from at least one knowledge graph database operatively connected to the system using said at least one database query; and

processing retrieved data based on the relationships between the query elements to thereby determine a response to said query.

10. The system according to claim 9 , further comprising, prior to said retrieving the data from the at least one knowledge graph database: generating, using the at least one suitable function a structured database query based on said parameters.

11. The system according to claim 9 , further comprising:

determining, using the at least one classifier, respective query types based on said query elements; and wherein

said generating the structured database query is based on the query types.

12. The system according to claim 9 , wherein the at least one suitable function comprises a plurality of suitable functions each of a respective query type.

13. The system according to claim 9 , wherein said processing comprises at least one of: ordering said data, performing a logical operation on said data, performing a mathematical operation on said data.

14. The system according to claim 9 , wherein formatting said response into a formatted response to said natural language query from said user comprises at least one of: generating a graph based on the response, generating a list based on the response, and generating a table based on the response.

15. The system according to claim 9 , wherein the at least one classifier comprises a trained classification machine learning model.

16. The system according to claim 15 , wherein said at least one classifier is configured to determine at least one of: entities within the query, relationships between the entities and intent between the entities to be used as candidates by the suitable function to retrieve data from the at least one knowledge graph database.

17. A method for retrieving data, the method being executed by at least one processor, the method comprising:

receiving a natural language query from a user;

decomposing said natural language query into query elements using at least one natural language processing (NLP) model;

determining, using at least one classifier, query types and respective query parameters for said query based on said query elements and relationships between query elements for said query;

selecting at least one suitable function for said query from a set of functions based on said query types, said respective query parameters and the relationships between the query elements to formulate at least one database query;

retrieving data from at least one knowledge graph database operatively connected to the at least one processor, using said at least one database query;

processing said data retrieved from the at least one knowledge graph database based on the relationships between the query elements to thereby determine a response to said query; and

formatting said response into a formatted response to said natural language query from said user.

18. The method according to claim 17 , wherein the at least one NLP comprises a trained NLP machine learning model and the at least one classifier comprises a trained classification machine learning model.

19. The method according to claim 18 , wherein said query types comprises at least two of: an identification query, an amount query, a strategy query, a counting query, a listing query, a grouping query, a time query, and a calculation query.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2025
From: LAUFER, ERIC; MAILLET, FRANÇOIS
To: SERVICENOW, INC.
Reel/Frame 070143/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2024
From: LAUFER, ERIC; MAILLET, FRANCOIS
To: ELEMENT AI INC.
Reel/Frame 068494/0791 →
Continuity (2)
Provisional Application 62894267 · Aug 30, 2019
Related Publication 20220292087A1 · Sep 15, 2022
References Cited (9)
US 11087087B1 · Mayer · 2021 [cited by examiner]
US 20150039292A1 · Suleman · 2015 [cited by examiner]
US 20160132590A1 · Byron · 2016 [cited by examiner]
US 20170083569A1 · Boguraev · 2017 [cited by applicant]
US 20180075131A1 · Van Hoof · 2018 [cited by applicant]
US 20180336198A1 · Zhong · 2018 [cited by applicant]
US 20190073598A1 · Giovannini · 2019 [cited by examiner]
US 20190147083A1 · Milligan · 2019 [cited by applicant]
CA 3033108A1 · 2018 [cited by applicant]
Cited By (1)
US 12,681,957