IP Library › Granted Patent US 10,817,527
Granted Patent B1
US 10,817,527 · App. 15/804,991 · Granted Oct 27, 2020

Systems and methods of using natural language processing for visual analysis of a data set

Inventors: Vidya R. Setlur (Portola Valley, CA); Sarah E. Battersby (Seattle, WA); Melanie K. Tory (Palo Alto, CA); Richard C. Gossweiler, III (Sunnyvale, CA); Angel Xuan Chang (Stanford, CA); Isaac J. Dykeman (Bethesda, MD); Md Enamul Hoque Prince (Vancouver, CA)
Assignee: Tableau Software, Inc.
G06F16/248G06F3/04847G06F16/243G06F16/24522G06F40/30G06K9/6223
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,817,527
App. No.
15/804,991
Granted
Oct 27, 2020
Kind
B1
Abstract

A method uses natural language processing for visual analysis of a dataset by a computer. The computer displays a data visualization based on a dataset retrieved from a database using a set of one or more queries. The computer receives user input (e.g., keyboard or voice) to specify a natural language command related to the displayed data visualization. Based on the displayed data visualization, the computer extracts one or more independent analytic phrases from the natural language command. The computer further computes semantic relatedness of extracted analytic phrases, and computes analytical functions associated with the extracted analytic phrases, thereby creating functional phrases. The computer requeries the database using an updated set of one or more queries based on the created functional phrases, thereby retrieving an updated dataset. The computer then displays an updated data visualization using the updated dataset.

Claims (66)

1. A method of using natural language for visual analysis of a dataset, comprising:

at computer having a display, one or more processors, and memory storing one or more programs configured for execution by the one or more processors:

displaying, on the display, a data visualization application, including displaying a data visualization based on a dataset retrieved from a database using a set of one or more queries;

receiving, by the data visualization application, a user input to specify a natural language command related to the displayed data visualization;

based on the displayed data visualization, extracting one or more independent analytic phrases from the natural language command;

for a first analytic phrase of the one or more extracted analytic phrases:

computing semantic relatedness between the first analytic phrase and numeric data fields in the dataset, wherein computing semantic relatedness includes:

generating a plurality of word embeddings for the first analytic phrase using a plurality of neural network models trained on a large corpus of text; and

generating statistically similar words for the plurality of word embeddings using a feature reduction algorithm;

identifying one or more of the numeric data fields having highest computed semantic relatedness to the first analytic phrase; and

selecting a numerical function according to the first analytic phrase, wherein the numerical function compares data values in the one or more numeric data fields to a threshold value;

retrieving an updated dataset, including requerying the database using an updated set of one or more queries to filter the one or more identified numeric data fields according to the numeric function; and

displaying, on the display in the data visualization application, an updated data visualization using the updated dataset.

2. The method of claim 1 , wherein the plurality of neural network models comprises word2vec models, the word2vec models utilizing a continuous bag of words model architecture and a skip-gram model architecture, and wherein the word embeddings are word vectors.

3. The method of claim 1 , wherein training the plurality of neural network models comprises a plurality of training methods, the plurality of training methods including a training method with negative sampling and a training method without negative sampling.

4. The method of claim 1 , wherein the large corpus of text contains words with semantic meanings useful in Natural Language Processing (NLP) tasks.

5. The method of claim 1 , wherein the feature reduction algorithm is a k-means clustering algorithm, wherein the k-means clustering algorithm computes a nearest mean using semantic distance between words.

6. The method of claim 1 , wherein computing semantic relatedness between the first analytic phrase and numeric data fields in the dataset further comprises:

receiving a large lexical database; and

for the first analytic phrase, extracting synonyms for the phrase from the received large lexical database.

7. The method of claim 1 , wherein selecting the numerical function comprises:

obtaining word definitions for the first analytic phrase from a publicly available dictionary;

calculating a set of stemmed words by stemming the obtained word definitions;

computing a bag of words based on the set of stemmed words;

determining whether the bag of words contains a predefined adjective; and

in accordance with the determination that the bag of words contains the predefined adjective, mapping the predefined adjective to an analytical function.

8. The method of claim 7 , wherein determining whether the bag of words contains the predefined adjective comprises using a part-of-speech API provided by a natural language toolkit library to check for the presence of the predefined adjective.

9. The method of claim 1 , wherein computing the numerical function comprises identifying descriptors within the first analytic phrase and mapping appropriate functions to the descriptors.

10. The method of claim 1 , wherein a first numerical function of the created functional phrases comprises a parameterized data selection criterion, and wherein requerying the database to filter the one or more identified numeric data fields according to the numeric functions includes selecting an initial range for values of the parameters of the parameterized data selection criterion.

11. The method of claim 10 , further comprising displaying an editable user interface control corresponding to the parameterized data selection criterion, wherein the user interface control displays the current values of the parameters.

12. The method of claim 11 , wherein the user interface control includes a control to adjust the numerical function.

13. The method of claim 12 , wherein the user interface control displays a slider for adjusting the numerical function.

14. The method of claim 1 , wherein, when the natural language command refers to visualization characteristics of one or more data marks in the displayed data visualizations, the method further comprises:

scanning the displayed data visualizations to identify one or more of the displayed data visualizations that contain data marks whose characteristics correspond to the natural language command; and

highlighting the data marks whose characteristics correspond to the natural language command.

15. The method of claim 14 , wherein the visualization characteristics include one or more of color, size, and shape.

16. The method of claim 14 , wherein the visualization characteristics correspond to a visual encoding of data marks.

17. The method of claim 16 , wherein the visual encoding is one or more of color, size, and shape.

18. An electronic device, comprising:

a display;

one or more processors;

memory; and

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:

displaying, on the display, a data visualization application, including displaying a data visualization based on a dataset retrieved from a database using a set of one or more queries;

receiving, by the data visualization application, a user input to specify a natural language command related to the displayed data visualization;

based on the displayed data visualization, extracting one or more independent analytic phrases from the natural language command;

for a first analytic phrase of the one or more extracted analytic phrases:

computing semantic relatedness between the first analytic phrase and numeric data fields in the dataset, wherein computing semantic relatedness includes:

generating a plurality of word embeddings for the first analytic phrase using a plurality of neural network models trained on a large corpus of text; and

generating statistically similar words for the plurality of word embeddings using a feature reduction algorithm;

identifying one or more of the numeric data fields having highest computed semantic relatedness to the first analytic phrase; and

selecting a numerical function according to the first analytic phrase, wherein the numerical function compares data values in the one or more numeric data fields to a threshold value;

retrieving an updated dataset, including requerying the database using an updated set of one or more queries to filter the one or more identified numeric data fields according to the numeric function; and

displaying, on the display in the data visualization application, an updated data visualization using the updated dataset.

19. A non-transitory computer readable storage medium storing one or more programs configured for execution by an electronic device with a display, the one or more programs comprising instructions for:

displaying, on the display, a data visualization application, including displaying a data visualization based on a dataset retrieved from a database using a set of one or more queries;

receiving, by the data visualization application, a user input to specify a natural language command related to the displayed data visualization;

based on the displayed data visualization, extracting one or more independent analytic phrases from the natural language command;

for a first analytic phrase of the one or more extracted analytic phrases:

computing semantic relatedness between the first analytic phrase and numeric data fields in the dataset, wherein computing semantic relatedness includes:

generating a plurality of word embeddings for the first analytic phrase using a plurality of neural network models trained on a large corpus of text; and

generating statistically similar words for the plurality of word embeddings using a feature reduction algorithm;

identifying one or more of the numeric data fields having highest computed semantic relatedness to the first analytic phrase; and

selecting a numerical function according to the first analytic phrase, wherein the numerical function compares data values in the one or more numeric data fields to a threshold value;

retrieving an updated dataset, including requerying the database using an updated set of one or more queries to filter the one or more identified numeric data fields according to the numeric function; and

displaying, on the display in the data visualization application, an updated data visualization using the updated dataset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2017
From: SETLUR, VIDYA R.; BATTERSBY, SARAH E.; TORY, MELANIE K.; GOSSWEILER, RICHARD C., III; CHANG, ANGEL XUAN; DYKEMAN, ISAAC J.; HOQUE PRINCE, MD ENAMUL
To: TABLEAU SOFTWARE, INC.
Reel/Frame 044241/0249 →
Continuity (4)
Continuation In Part 15486265 · Apr 12, 2017
Provisional Application 62321695 · Apr 12, 2016
Provisional Application 62418052 · Nov 4, 2016
Provisional Application 62500999 · May 3, 2017
Cited By (52)
US 1,058,589 US 1,058,590 US 1,058,591 US 1,058,592 US 1,058,593 US 1,058,596 US 1,059,398 US 1,059,414 US 1,063,973 US 1,085,145 US 1,089,268 US 1,089,269 US 1,089,270 US 1,089,271 US 1,089,272 US 1,089,273 US 1,091,590 US 1,091,591 US 1,091,592 US 1,091,593 US 1,091,594 US 1,091,595 US 1,091,596 US 1,091,597 US 1,091,598 US 1,092,526 US 1,094,427 US 1,094,428 US 1,094,429 US 1,094,430 US 1,094,431 US 1,094,432 US 1,094,433 US 1,095,578 US 1,095,579 US 1,095,580 US 1,095,581 US 1,095,582 US 1,095,583 US 1,095,584 US 1,095,585 US 1,096,817 US 1,096,835 US 12,217,000 US 12,244,556 US 12,293,156 US 12,462,107 US 12,481,652 US 12,499,318 US 12,536,382 US 12,585,641 US 12,664,159