IP Library Granted Patent US 11,609,903
Granted Patent B2
US 11,609,903 · App. 16/824,706 · Granted Mar 21, 2023

Ranking data assets for processing natural language questions based on data stored across heterogeneous data sources

Inventor: Kaycee Lai (San Carlos, CA)
Assignee: PROMETHIUM, INC.
G06F16/243G06F16/24522G06F16/24558G06F16/24573G06F16/24578G06F16/256G06F16/28G06F16/288G06F40/20G06F40/295G06F40/30G06F40/56
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,609,903
App. No.
16/824,706
Granted
Mar 21, 2023
Kind
B2
Abstract

An analysis system connects to a set of data sources and perform natural language questions based on the data sources. The analysis system connects with the data sources and retrieves metadata describing data assets stored in each data source. The analysis system generates an execution plan for the natural language question. The analysis system finds data assets that match the received question based on the metadata. The analysis system ranks the data assets and presents the ranked data assets to users for allowing users to modify the execution plan. The analysis system may use execution plans of previously stored questions for executing new questions. The analysis system supports selective preprocessing of data to increase the data quality.

Claims (54)

1. A computer-implemented method comprising:

receiving information identifying a plurality of data sources;

for each of the plurality of data sources, retrieving metadata describing the data stored in the data source;

receiving a natural language question;

identifying one or more phrases from the natural language question; and

for each of the one or more phrases:

identifying from the plurality of data sources, a plurality of data assets matching the phrase, each data asset determined to store data relevant for answering the natural language question;

determining a score for each of the plurality of data assets, wherein a data asset is associated with a set of stored questions, the score for the data asset determined based on a weighted aggregate of the stored questions for the data asset, wherein a stored question is weighted based on a number of times the stored question was invoked;

ranking the plurality of data assets based on their scores; and

sending for display via a client device, data describing at least a subset of the plurality of data assets, the subset determined based on the ranking.

2. The computer-implemented method of claim 1 , wherein the score for the data asset is determined based on a number of distinct stored questions for the data asset.

3. The computer-implemented method of claim 1 , wherein each stored question is further weighted based on a degree of match between the stored question and the natural language question.

4. The computer-implemented method of claim 1 , wherein each of the one or more phrases is associated with an entity and the score for the data asset is based on a number of field names of the entity that match fields of the data asset.

5. The computer-implemented method of claim 4 , wherein the score for the data asset is based on matching of data types of fields of the data asset and corresponding data types of fields of the entity.

6. The computer-implemented method of claim 1 , wherein the score for the data asset is based on an amount of data stored in the data asset.

7. The computer-implemented method of claim 1 , wherein the score for the data asset is based on a measure of data quality of data stored in the data asset.

8. The computer-implemented method of claim 7 , wherein the measure of data quality of data stored in the data asset is based on a frequency of occurrence of nulls in fields of the data asset.

9. The computer-implemented method of claim 8 , wherein the measure of data quality of data stored in the data asset is inversely related to the frequency of occurrence of nulls in fields of the data asset.

10. The computer-implemented method of claim 7 , wherein the measure of data quality of data stored in the data asset is based on a frequency of occurrence of fields that fail to conform to a predetermined format.

11. The computer-implemented method of claim 10 , wherein the measure of data quality of data stored in the data asset is inversely related to the frequency of occurrence of fields that fail to conform to a predetermined format.

12. The computer-implemented method of claim 1 , wherein the score for the data asset is determined based on a degree of match between the phrase and metadata describing the data asset.

13. A non-transitory computer-readable storage medium storing computer-executable instructions for executing on a computer processor, the instructions when executed by the computer processor cause the computer processor to perform steps comprising:

receiving information identifying a plurality of data sources;

for each of the plurality of data sources, retrieving metadata describing the data stored in the data source;

receiving a natural language question;

identifying one or more phrases from the natural language question; and

for each of the one or more phrases:

identifying from the plurality of data sources, a plurality of data assets matching the phrase, each data asset determined to store data relevant for answering the natural language question;

determining a score for each of the plurality of data assets, wherein a data asset is associated with a set of stored questions, the score for the data asset determined based on a weighted aggregate of the stored questions for the data asset, wherein a stored question is weighted based on a number of times the stored question was invoked;

ranking the plurality of data assets based on their scores; and

sending for display via a client device, data describing at least a subset of the plurality of data assets, the subset determined based on the ranking.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the score for the data asset is determined based on a number of distinct stored questions for the data asset.

15. The non-transitory computer-readable storage medium of claim 13 , wherein each phrase is associated with an entity and the score for the data asset is based on a number of field names of the entity that match fields of the data asset.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the score for the data asset is based on an amount of data stored in the data asset.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the score for the data asset is based on a measure of data quality of data stored in the data asset.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the measure of data quality of data stored in the data asset is based on a frequency of occurrence of fields that fail to conform to a predetermined format.

19. The non-transitory computer-readable storage medium of claim 13 , wherein the score for the data asset is determined based on a degree of match between the phrase and metadata describing the data asset.

20. A computer-implemented system comprising:

a computer processor; and

a non-transitory computer-readable storage medium storing computer-executable instructions for executing on a computer processor, the instructions when executed by the computer processor cause the computer processor to perform steps comprising:

receiving information identifying a plurality of data sources;

for each of the plurality of data sources, retrieving metadata describing the data stored in the data source;

receiving a natural language question;

identifying one or more phrases from the natural language question; and

for each of the one or more phrases:

identifying from the plurality of data sources, a plurality of data assets matching the phrase, each data asset determined to store data relevant for answering the natural language question;

determining a score for each of the plurality of data assets, wherein a data asset is associated with a set of stored questions, the score for the data asset determined based on a weighted aggregate of the stored questions for the data asset, wherein a stored question is weighted based on a number of times the stored question was invoked;

ranking the plurality of data assets based on their scores; and

sending for display via a client device, data describing at least a subset of the plurality of data assets, the subset determined based on the ranking.

21. The computer-implemented system of claim 20 , wherein the score for the data asset is determined based on a number of distinct stored questions for the data asset.

22. The computer-implemented system of claim 20 , wherein each phrase is associated with an entity and the score for the data asset is based on a number of field names of the entity that match fields of the data asset.

23. The computer-implemented system of claim 20 , wherein the score for the data asset is based on an amount of data stored in the data asset.

24. The computer-implemented system of claim 20 , wherein the score for the data asset is based on a measure of data quality of data stored in the data asset.

25. The computer-implemented system of claim 24 , wherein the measure of data quality of data stored in the data asset is based on a frequency of occurrence of fields that fail to conform to a predetermined format.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2020
From: LAI, KAYCEE
To: PROMETHIUM, INC.
Reel/Frame 052470/0900 →
Continuity (3)
Provisional Application 62901196 · Sep 16, 2019
Provisional Application 62821326 · Mar 20, 2019
Related Publication 20200302122A1 · Sep 24, 2020