IP Library Granted Patent US 10,901,986
Granted Patent B2
US 10,901,986 · App. 16/120,921 · Granted Jan 26, 2021

Natural language analytics queries

Inventors: Jaydeep Sen (Bangalore, IN); Karthik Sankaranarayanan (Bangalore, IN)
Assignee: International Business Machines Corporation
G06F16/243G06F16/2455G06F16/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 10,901,986
App. No.
16/120,921
Granted
Jan 26, 2021
Kind
B2
Abstract

Methods, systems, and computer program products for processing natural language analytics queries are provided herein. A computer-implemented method includes obtaining a natural language query comprising an analytics function; applying domain reasoning using a predefined grammar for a plurality of different predefined categories of analytics functions to assign the analytics function of the natural language query into a given analytics function category; identifying predefined arguments and a predefined sequence of actions associated with the given analytics function category; instantiating the analytics function using the predefined arguments and the predefined sequence of actions; interpreting the instantiated analytics function in the context of a domain ontology to generate a target executable query to implement the instantiated analytics function; and executing the predefined sequence of actions for the given analytics function class on a result of the target executable query to obtain an answer to the natural language query.

Claims (50)

1. A computer-implemented method, the method comprising steps of:

obtaining a natural language query comprising at least one analytics function;

applying domain reasoning using a predefined grammar for a plurality of different predefined categories of analytics functions to assign the at least one analytics function of the natural language query into a given analytics function category;

identifying (i) one or more predefined arguments and (ii) a predefined sequence of actions associated with the given analytics function category;

instantiating, using at least one processing device, the at least one analytics function using (i) the one or more predefined arguments and (ii) the predefined sequence of actions;

interpreting, using the at least one processing device, the instantiated at least one analytics function in the context of a domain ontology to generate a target executable query to implement the instantiated at least one analytics function; and

executing, using the at least one processing device, the predefined sequence of actions for the given analytics function class on a result of the target executable query to obtain an answer to the natural language query.

2. The computer-implemented method of claim 1 , wherein said applying the domain reasoning comprises applying one or more of (i) keyword rules and (ii) pattern matching rules to the natural language query to classify the at least one analytics function of the natural language query into the given analytics function category.

3. The computer-implemented method of claim 1 , wherein said identifying comprises obtaining (i) the one or more predefined arguments and (ii) the predefined sequence of actions specified for the given analytics function category.

4. The computer-implemented method of claim 1 , comprising:

classifying the natural language query as one or more of (i) a query that comprises the at least one analytics function, (ii) a query that does not specify an analytics intent, and (iii) a query that specifies an analytics intent.

5. The computer-implemented method of claim 4 , wherein the steps of claim 1 are performed when the natural language query is classified as a query that comprises the at least one analytics function.

6. The computer-implemented method of claim 1 , wherein the plurality of predefined categories of analytics functions comprises at least two of: a percentage computation analytics function category, a growth/decline query analytics function category, a difference query analytics function category, a compare query analytics function category, a statistical functions analytics function category, and a combination of such categories.

7. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions, when executed by a computing device, implementing the steps of claim 1 .

8. A system comprising:

a memory; and

at least one processor coupled to the memory and configured for performing steps of:

obtaining a natural language query comprising at least one analytics function;

applying domain reasoning using a predefined grammar for a plurality of different predefined categories of analytics functions to assign the at least one analytics function of the natural language query into a given analytics function category;

identifying (i) one or more predefined arguments and (ii) a predefined sequence of actions associated with the given analytics function category;

instantiating, using at least one processing device, the at least one analytics function using (i) the one or more predefined arguments and (ii) the predefined sequence of actions;

interpreting, using the at least one processing device, the instantiated at least one analytics function in the context of a domain ontology to generate a target executable query to implement the instantiated at least one analytics function; and

executing, using the at least one processing device, the predefined sequence of actions for the given analytics function class on a result of the target executable query to obtain an answer to the natural language query.

9. The system of claim 8 , wherein said applying the domain reasoning comprises applying one or more of (i) keyword rules and (ii) pattern matching rules to the natural language query to classify the at least one analytics function of the natural language query into the given analytics function category.

10. The system of claim 8 , wherein said identifying comprises obtaining (i) the one or more predefined arguments and (ii) the predefined sequence of actions specified for the given analytics function category.

11. A computer-implemented method, the method comprising steps of:

obtaining a natural language query comprising (i) one or more of a point query and (ii) a keyword query;

applying domain reasoning using a predefined grammar for a plurality of different predefined analytics query classes to assign the natural language query into at least one of the plurality of predefined analytics query classes;

identifying one or more predefined arguments associated with the at least one predefined analytics query class;

applying, using at least one processing device, domain reasoning for the at least one predefined analytics query class to identify one or more implicit parameters to instantiate the at least one predefined analytics query class using the one or more predefined arguments;

interpreting, using the at least one processing device, the instantiated at least one predefined analytics query class in the context of a domain ontology to generate a target executable query to implement the instantiated at least one predefined analytics query class; and

executing, using the at least one processing device, the target executable query to obtain an answer to the natural language query.

12. The computer-implemented method of claim 11 , wherein said applying the domain reasoning comprises applying one or more of (i) keyword rules and (ii) pattern matching rules to the natural language query to classify the natural language query into the at least one of the plurality of predefined analytics query classes.

13. The computer-implemented method of claim 11 , wherein said identifying comprises obtaining the one or more predefined arguments specified for the at least one predefined analytics query class.

14. The computer-implemented method of claim 11 , wherein the natural language query does not specify an analytics intent.

15. The computer-implemented method of claim 11 , comprising:

classifying the natural language query as one or more of (i) a query that comprises the at least one analytics function, (ii) a query that does not specify an analytics intent, and (iii) a query that specifies an analytics intent.

16. The computer-implemented method of claim 15 , wherein the steps of claim 11 are performed when the natural language query is classified as not specifying an analytics intent.

17. The computer-implemented method of claim 11 , wherein the plurality of predefined analytics query classes comprises at least two of (i) a rank query class, (ii) a pattern query class, and (iii) a distribution query class.

18. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions, when executed by a computing device, implementing the steps of claim 11 .

19. A system comprising:

a memory; and

at least one processor coupled to the memory and configured for performing steps of:

obtaining a natural language query comprising (i) one or more of a point query and (ii) a keyword query;

applying domain reasoning using a predefined grammar for a plurality of different predefined analytics query classes to assign the natural language query into at least one of the plurality of predefined analytics query classes;

identifying one or more predefined arguments associated with the at least one predefined analytics query class;

applying, using at least one processing device, domain reasoning for the at least one predefined analytics query class to identify one or more implicit parameters to instantiate the at least one predefined analytics query class using the one or more predefined arguments;

interpreting, using the at least one processing device, the instantiated at least one predefined analytics query class in the context of a domain ontology to generate a target executable query to implement the instantiated at least one predefined analytics query class; and

executing, using the at least one processing device, the target executable query to obtain an answer to the natural language query.

20. The system of claim 19 , wherein said applying the domain reasoning comprises applying one or more of (i) keyword rules and (ii) pattern matching rules to the natural language query to classify the natural language query into the at least one of the plurality of predefined analytics query classes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2018
From: SEN, JAYDEEP; SANKARANARAYANAN, KARTHIK
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046779/0291 →
Continuity (1)
Related Publication 20200073984A1 · Mar 5, 2020