IP Library › Granted Patent US 10,657,124
Granted Patent B2
US 10,657,124 · App. 15/373,285 · Granted May 19, 2020

Automatic generation of structured queries from natural language input

Inventors: Ronen Halbani (Natania, IL); Shahar Tarshish (Herzelia, IL)
Assignee: SAP SE
G06F16/24522
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 10,657,124
App. No.
15/373,285
Granted
May 19, 2020
Kind
B2
Abstract

The present disclosure relates to computer systems and computer-implemented methods for automatically enabling natural language rules in a structured rule engine. In one example, the method includes receiving an input identifying an unstructured query corresponding to a particular application associated with a rules framework associated with a pre-defined query structure format, analyzing the received input based on a first set of design time artifacts associated with the particular application and a second set of design time artifacts associated with the rules framework, the first set of artifacts uniquely associated with the particular application and the second set of artifacts generically associated with the rules framework, wherein the second set of design time artifacts are applied commonly to a plurality of different applications. A structured query for the particular application is generated in the pre-defined query structure format of the rules framework based on the first and second set of artifacts.

Claims (46)

1. A computer-implemented method performed by at least one processor, the method comprising:

receiving an input identifying an unstructured query corresponding to a particular application associated with a rules framework, the rules framework associated with a pre-defined query structure format, wherein the rules framework is associated with a plurality of different applications;

analyzing the received input based on a first set of design time artifacts that are uniquely associated with the particular application and a second set of design time artifacts associated with the rules framework, the second set of design time artifacts generically associated with the rules framework, wherein the second set of design time artifacts are applied commonly to each of the plurality of different applications;

generating a structured expression for the particular application in the pre-defined query structure format of the rules framework based on a combination of the first and second sets of design time artifacts;

presenting, at a user interface, a request for validation of the generated structured expression, wherein the request includes the generated structured expression and a request for validation that the generated structured expression matches an intent of the unstructured query included in the received input; and

in response to receiving an indication of validation via the user interface, submitting the validated structured expression to a query generator for processing to obtain output comprising a structured query language (SQL) query generated for execution against a data set associated with the particular application.

2. The method of claim 1 , wherein the first set of design time artifacts are generated prior to receiving the input, and comprise a set of data objects, attributes, data object relations, and terms specifically associated with the particular application.

3. The method of claim 1 , wherein the second set of design time artifacts are generated prior to receiving the input, and comprise artifacts associated with a syntax and grammar associated with the pre-defined query structure format of the rules framework.

4. The method of claim 3 , wherein the artifacts include tokens and patterns satisfying the pre-defined query structure format of the rules framework.

5. The method of claim 1 , wherein analyzing the received input comprises:

performing linguistic and semantic processing on the received input to create an output of key tokens from the received input, the key tokens corresponding to a set of extracted entities and relationships between the extracted entities identified based on first and second set of design time artifacts; and

identifying at least one term from a term container included in the first set of design time artifacts matching a combination of one or more of the key tokens, wherein each of the at least one identified terms is used for generating the structured expression for the particular application.

6. The method of claim 5 , wherein generating the structured expression for the particular application comprises:

identifying at least one expression created by a combination of the at least one identified terms where the at least one expression corresponds to a pattern defined within the second set of design time artifacts, wherein the pattern is defined as a combination of entity types, and wherein each of the at least one identified terms are associated with an entity type.

7. The method of claim 1 , wherein the received input identifying the unstructured query comprises a natural language query associated with the particular application.

8. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

receiving an input identifying an unstructured query corresponding to a particular application associated with a rules framework, the rules framework associated with a pre-defined query structure format wherein the rules framework is associated with a plurality of different applications;

analyzing the received input based on a first set of design time artifacts that are uniquely associated with the particular application and a second set of design time artifacts associated with the rules framework, the second set of design time artifacts generically associated with the rules framework, wherein the second set of design time artifacts are applied commonly to a plurality of different applications;

generating a structured expression for the particular application in the pre-defined query structure format of the rules framework based on a combination of the first and second sets of design time artifacts;

presenting, at a user interface, a request for validation of the generated structured expression, wherein the request includes the generated structured expression and a request for validation that the generated structured expression matches an intent of the unstructured query included in the received input; and

in response to receiving an indication of validation via the user interface, submitting the validated structured expression to a query generator for processing to obtain output comprising a structured query language (SQL) query generated for execution against a data set associated with the particular application.

9. The computer-readable medium of claim 8 , wherein the first set of design time artifacts are generated prior to receiving the input, and comprise a set of data objects, attributes, data object relations, and terms specifically associated with the particular application.

10. The computer-readable medium of claim 8 , wherein the second set of design time artifacts are generated prior to receiving the input, and comprise artifacts associated with a syntax and grammar associated with the pre-defined query structure format of the rules framework.

11. The computer-readable medium of claim 10 , wherein the artifacts include tokens and patterns satisfying the pre-defined query structure format of the rules framework.

12. The computer-readable medium of claim 8 , wherein analyzing the received input comprises:

performing linguistic and semantic processing on the received input to create an output of key tokens from the received input, the key tokens corresponding to a set of extracted entities and relationships between the extracted entities identified based on first and second set of design time artifacts; and

identifying at least one term from a term container included in the first set of design time artifacts matching a combination of one or more of the key tokens, where the at least one identified terms are used for generating the structured expression for the particular application.

13. The computer-readable medium of claim 12 , wherein generating the structured expression for the particular application comprises:

identifying at least one expression created by a combination of the at least one identified terms where the at least one expression corresponds to a pattern defined within the second set of design time artifacts.

14. The computer-readable medium of claim 13 , wherein the pattern is defined as a combination of entity types, and wherein each of the at least one identified terms are associated with an entity type.

15. The computer-readable medium of claim 8 , wherein the received input identifying the unstructured query comprises a natural language query associated with the particular application.

16. A computer system, comprising:

a computer memory; and

a hardware processor interoperably coupled with the computer memory and configured to perform operations comprising:

receiving an input identifying an unstructured query corresponding to a particular application associated with a rules framework, the rules framework associated with a pre-defined query structure format, the received input comprising a natural language query associated with the particular application, wherein the rules framework is associated with a plurality of different applications;

analyzing the received input based on a first set of design time artifacts that are uniquely associated with the particular application and a second set of design time artifacts associated with the rules framework, the second set of design time artifacts generically associated with the rules framework, wherein the second set of design time artifacts are applied commonly to a plurality of different applications;

generating a structured expression for the particular application in the pre-defined query structure format of the rules framework based on a combination of the first and second sets of design time artifacts;

presenting, at a user interface, a request for validation of the generated structured expression, wherein the request includes the generated structured expression and a request for validation that the generated structured expression matches an intent of the unstructured query included in the received input; and

in response to receiving an indication of validation via the user interface, submitting the validated structured expression to a query generator for processing to obtain output comprising a structured query language (SQL) query generated for execution against a data set associated with the particular application.

17. The system of claim 16 , wherein the first set of design time artifacts are generated prior to receiving the input, and comprise a set of data objects, attributes, data object relations, and terms specifically associated with the particular application.

18. The system of claim 16 , wherein the second set of design time artifacts are generated prior to receiving the input, and comprise artifacts associated with a syntax and grammar associated with the pre-defined query structure format of the rules framework, further wherein the artifacts include tokens and patterns satisfying the pre-defined query structure format of the rules framework.

19. The system of claim 16 , wherein analyzing the received input comprises:

performing linguistic and semantic processing on the received input to create an output of key tokens from the received input, the key tokens corresponding to a set of extracted entities and relationships between the extracted entities identified based on first and second set of design time artifacts; and

identifying at least one term from a term container included in the first set of design time artifacts matching a combination of one or more of the key tokens, where the at least one identified terms are used for generating the structured expression for the particular application; and

wherein generating the structured query for the particular application comprises identifying at least one expression created by a combination of the at least one identified terms where the at least one expression corresponds to a pattern defined within the second set of design time artifacts, wherein the pattern is defined as a combination of entity types, and wherein each of the at least one identified terms are associated with an entity type.

20. The method of claim 1 , the method further comprising, in response to receiving an indication rejecting validation via the user interface, receiving a revision to the structured expression via the user interface and attempting to validate the revised structured expression via the user interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2016
From: HALBANI, RONEN; TARSHISH, SHAHAR
To: SAP SE
Reel/Frame 040606/0594 →
Continuity (1)
Related Publication 20180165330A1 · Jun 14, 2018
Cited By (1)
US 12,626,060