IP Library Granted Patent US 11,216,474
Granted Patent B2
US 11,216,474 · App. 15/908,496 · Granted Jan 4, 2022

Statistical processing of natural language queries of data sets

Inventors: Prashant Pandey (Jhansi, IN); Eakta Aggarwal (Hyderabad, IN); Richard Yungning Liu (Saratoga, CA); Robert Cooke Zwiebach (San Mateo, CA)
Assignee: Oracle International Corporation
G06F16/2462G06F16/2455G06F16/24578G06F16/288
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 11,216,474
App. No.
15/908,496
Granted
Jan 4, 2022
Kind
B2
Abstract

Techniques for processing a natural language query are provided. The techniques include obtaining a set of statistics representing a contextual significance of a set of words in a data model for a data set. Next, the set of statistics is used to match a set of semantic intents for a natural language query of the data set to one or more data elements in the data model. The data element(s) and the data set are then to generate a result of the natural language query, and the result is provided in a response to the natural language query.

Claims (61)

1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:

identifying a first subset of words in a natural language query as a set of semantic intents of the natural language query;

determining that a particular data element, in a data model of a data set, corresponds to the semantic intents of the natural language query at least by:

determining that the set of semantic intents for the natural language query matches a second subset of words in the data model of the data set;

obtaining a first set of statistics comprising a plurality of scores, the plurality of scores comprising a score for each of the second subset of words, the scores of the second subset of words respectively representing a contextual significance of each of the second subset of words to the particular data element;

based on the plurality of scores of the second subset of words, computing a first overall score representing a relevance of the particular data element to the semantic intents of the natural language query;

determining that the particular data element corresponds to the semantic intents of the natural language query based at least on the first overall score;

constructing a database query based at least on the particular data element determined to correspond to the semantic intents of the natural language query; and

executing the database query to generate a result of the natural language query.

2. The medium of claim 1 , wherein obtaining the first set of statistics comprises:

for the particular:

calculating a ratio of a first word count for a word, selected from the second subset of words, in the data element to a second word count of the word in a group of data elements in the data model;

multiplying the ratio by a term frequency of the word to obtain a second score for the word; and

including the second score in the first set of statistics.

3. The medium of claim 2 , wherein obtaining the first set of statistics comprises:

including an inverse document frequency for the word, a maximum inverse document frequency for the group of data elements, and a threshold inverse document frequency for the group of data elements in the first set of statistics.

4. The medium of claim 1 , wherein obtaining the first set of statistics representing the contextual significance of the set of words in the data model for the data set comprises:

storing the set of statistics in a dictionary structure.

5. The medium of claim 1 , wherein using the first set of statistics for determining that the particular data element corresponds semantic intents of the natural language query further comprises:

obtaining a second data element under the particular data element;

using the first set of statistics to calculate a second score representing the contextual significance of each word of a third subset of words from the second subset of words in the second set of data element;

based on the second scores of each word of the third subset of words, computing a second overall score representing a second relevance of the second data element to the semantic intents of the natural language query;

determining that the second data element corresponds to the semantic intents of the natural language query based at least on the second overall score; and

updating the database query based at least on the second data element determined to correspond to the semantic intents of the natural language query.

6. The medium of claim 1 , wherein the query comprises a relational database query.

7. The medium of claim 1 , wherein the operations further comprise:

using a natural-language processing (NLP) technique to obtain the set of semantic intents from the natural language query.

8. The medium of claim 7 , wherein using the NLP technique to obtain the set of semantic intents from the natural language query comprises at least one of:

filtering one or more stop words from the natural language query to obtain one or more remaining words;

stemming the one or more remaining words; and

generating parts-of-speech (POS) tags for the one or more remaining words.

9. A method, comprising:

identifying a first subset of words in a natural language query as a set of semantic intents of the natural language query;

determining that a particular data element, in a data model of a data set, corresponds to the semantic intents of the natural language query at least by:

determining that the set of semantic intents for the natural language query matches a second subset of words in the data model of the data set;

obtaining a first set of statistics comprising a plurality of scores, the plurality of scores comprising a score for each of the second subset of words, the scores of the second subset of words respectively representing a contextual significance of each of the second subset words to the particular data element;

based on the plurality of scores of the second subset of words, computing a first overall score representing a relevance of the particular data element to the semantic intents of the natural language query;

determining that the particular data element corresponds to the semantic intents of the natural language query based at least on the first overall score;

constructing a database query based at least on the particular data element determined to correspond to the semantic intents of the natural language query; and

executing the database query to generate, by the computer system, a result of the natural language query.

10. The method of claim 9 , wherein obtaining the first set of statistics comprises:

for the particular data element:

calculating a ratio of a first word count for a word, selected from the second subset of words, in the data element to a second word count of the word in a group of data elements in the data model;

multiplying the ratio by a term frequency of the word to obtain a second score for the word; and

including the second score in the first set of statistics.

11. The method of claim 9 , wherein using the first set of statistics for determining that the particular data element corresponds to the semantic intents of the natural language query further comprises:

obtaining a second data element under the particular data element;

using the first set of statistics to calculate a second score representing the contextual significance of each word of a third subset of words from the second subset of words in the second set of data element;

based on the second scores of each word of the third subset of words, computing a second overall score representing a second relevance of the second data element to the semantic intents of the natural language query, and

determining that the second data element corresponds to the semantic intents of the natural language query based at least on the second overall score.

12. An apparatus, comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

identify a first subset of words in a natural language query as a set of semantic intents of the natural language query;

determine that a particular data element, in a data model of a data set, corresponds to the semantic intents of the natural language query at least by:

determine that the set of semantic intents for the natural language query matches a second subset of words in the data model of the data set;

obtain a first set of statistics comprising a plurality of scores, the plurality of scores comprising a score for each of the second subset of words, the scores of the second subset of words respectively representing a contextual significance of each of the second subset words to the particular data element;

based on the plurality of scores of the second subset of words, computing a first overall score representing a relevance of the particular data element to the semantic intents of the natural language query;

determining that the particular data element corresponds to the semantic intents of the natural language query based at least on the first overall score;

construct a database query based at least on the particular data element determined to correspond to the semantic intents of the natural language query; and

execute the database query to generate a result of the natural language query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2018
From: PANDEY, PRASHANT; AGGARWAL, EAKTA; LIU, RICHARD YUNGNING; ZWIEBACH, ROBERT COOKE
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 045118/0531 →
Continuity (2)
Provisional Application 62564909 · Sep 28, 2017
Related Publication 20190095500A1 · Mar 28, 2019
Cited By (1)
US 12,675,474