IP Library › Granted Patent US 11,244,006
Granted Patent B1
US 11,244,006 · App. 16/724,167 · Granted Feb 8, 2022

Using natural language processing for visual analysis of a data set

Inventors: Vidya Raghavan Setlur (Portola Valley, CA); Sarah E. Battersby (Seattle, WA); Melanie Karla Tory (Palo Alto, CA); Richard Carl Gossweiler, III (Sunnyvale, CA); Angel Xuan Chang (Stanford, CA); Isaac James Dykeman (Bethesda, MD); Md Enamul Hoque Prince (Vanvcouver, CA)
Assignee: TABLEAU SOFTWARE, INC.
G06F16/90332G06F40/211G10L15/1815G06F40/253G06F40/30
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,244,006
App. No.
16/724,167
Granted
Feb 8, 2022
Kind
B1
Abstract

A method uses natural language for visual analysis of a dataset, and is performed at a computer having a display, processors, and memory. The computer displays a data visualization based on a dataset retrieved from a database and receives a first user input to specify a natural language command related to the displayed data visualization. Based on the displayed data visualization and the natural language command, the computer identifies an initial range of values for a first data field in the dataset and displays an editable user interface control showing the initial range of values. The computer receives a second user input, at the user interface control, specifying a modified range of values for the first data field and retrieves an updated dataset from the database using the modified range of values for the first data field. The computer then updates the displayed data visualization using the updated dataset.

Claims (53)

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

at a 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 a first data visualization based on a dataset retrieved from a database;

receiving a first user input to specify a natural language command related to the first data visualization;

in response to the first user input:

correlating one or more terms in the natural language command with the first data visualization to identify a first data field in the dataset;

determining an initial range of values for the first data field based on the first data visualization and the natural language command; and

displaying the initial range of values for the first data field in an editable user interface control adjacent to the first data visualization;

receiving a second user input, at the user interface control, modifying the initial range of values for the first data field;

retrieving an updated dataset from the database using the modified range of values for the first data field; and

displaying a second data visualization using the updated dataset.

2. The method of claim 1 , wherein the first user input is received as text input from a user in a data-entry region on the display in proximity to the first data visualization.

3. The method of claim 1 , wherein the first user input is received as a voice command using a microphone coupled to the computer.

4. The method of claim 1 , wherein the natural language command includes a filter command.

5. The method of claim 1 , further comprising updating the second data visualization a plurality of times according to a sequence of two or more natural language commands.

6. The method of claim 1 , wherein the natural language command is a question.

7. The method of claim 1 , wherein the natural language command specifies a first analytic phrase, the method further comprising:

translating the first analytic phrase into a parameterized data selection criterion for the first data field.

8. The method of claim 1 , wherein the first data field has a numeric data type and the initial range of values comprises a continuous interval of numeric values.

9. The method of claim 8 , wherein the continuous interval of numeric values comprises a bounded interval of values for the first data field.

10. The method of claim 8 , wherein the continuous interval of numeric values comprises an unbounded interval that specifies either a maximum value or a minimum value for the first data field.

11. A computing device, comprising:

one or more processors;

memory;

a display; and

one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs comprising instructions for:

displaying a first data visualization based on a dataset retrieved from a database;

receiving a first user input to specify a natural language command related to the first data visualization;

in response to the first user input:

correlating one or more terms in the natural language command with the first data visualization to identify a first data field in the dataset;

determining an initial range of values for the first data field based on the first data visualization and the natural language command; and

displaying the initial range of values for the first data field in an editable user interface control adjacent to the data visualization;

receiving a second user input, at the user interface control, modifying the initial range of values for the first data field;

retrieving an updated dataset from the database using the modified range of values for the first data field; and

displaying a second data visualization using the updated dataset.

12. The computing device of claim 11 , wherein the first user input is received as text input from a user in a data-entry region on the display in proximity to the first data visualization.

13. The computing device of claim 11 , wherein the first user input is received as a voice command using a microphone coupled to the computing device.

14. The computing device of claim 11 , wherein the natural language command includes a filter command.

15. The computing device of claim 11 , wherein the one or more programs further comprise instructions for updating the second data visualization a plurality of times according to a sequence of two or more natural language commands.

16. The computing device of claim 11 , wherein the natural language command specifies a first analytic phrase, and the one or more programs further comprise instructions for:

translating the first analytic phrase into a parameterized data selection criterion for the first data field.

17. The computing device of claim 11 , wherein the first data field has a numeric data type and the initial range of values comprises a continuous interval of numeric values.

18. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computing device having one or more processors, memory, and a display, the one or more programs comprising instructions for:

displaying a first data visualization based on a dataset retrieved from a database;

receiving a first user input to specify a natural language command related to the first data visualization;

in response to the first user input:

correlating one or more terms in the natural language command with the first data visualization to identify a first data field in the dataset;

determining an initial range of values for the first data field based on the first data visualization and the natural language command; and

displaying the initial range of values for the first data field in an editable user interface control adjacent to the first data visualization;

receiving a second user input, at the user interface control, modifying the initial range of values for the first data field;

retrieving an updated dataset from the database using the modified range of values for the first data field; and

displaying a second data visualization using the updated dataset.

19. The non-transitory computer readable storage medium of claim 18 , wherein the first user input is received as text input from a user in a data-entry region on the display in proximity to the first data visualization.

Continuity (3)
Continuation 15486265 · Apr 12, 2017
Provisional Application 62321695 · Apr 12, 2016
Provisional Application 62418052 · Nov 4, 2016
Cited By (1)
US 12,737,103