IP Library › Granted Patent US 11,416,559
Granted Patent B2
US 11,416,559 · App. 17/347,453 · Granted Aug 16, 2022

Determining ranges for vague modifiers in natural language commands

Inventors: Marti Hearst (Berkeley, CA); Melanie K. Tory (Palo Alto, CA); Vidya Raghavan Setlur (Portola Valley, CA)
Assignee: TABLEAU SOFTWARE, INC.
G06F16/904G06F16/243G06F16/248G06F16/26G06F16/287G06F40/211G06F40/253G06F40/279G06F40/30G06N5/04
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,416,559
App. No.
17/347,453
Granted
Aug 16, 2022
Kind
B2
Abstract

A computing device receives user selection of a data source and a natural language command directed to the data source. The device identifies a first keyword and a second keyword in the natural language command. The first keyword corresponds to a first data field from the data source and the second keyword expresses a limit on a range of data values for the first data field. The device generates a visual specification that specifies the data source, a plurality of visual variables, and a plurality of data fields from the data source, including the first data field. The visual variables determine characteristics of visual marks in a data visualization according to the second keyword, and each of the visual variables is associated with a respective data field of the plurality of data fields. The device generates and displays the data visualization based on the visual specification.

Claims (58)

1. A method for generating data visualizations from natural language expressions, comprising:

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

receiving user selection of a data source;

receiving a user input to specify a natural language command directed to the data source;

identifying a first keyword in the natural language command, the first keyword corresponding to a first data field from the data source;

identifying a second keyword in the natural language command, the second keyword expressing a limit on a range of data values for the first data field;

generating a visual specification for a data visualization, wherein:

the data visualization includes a plurality of visual marks;

the visual specification specifies the data source, a plurality of visual variables, and a plurality of data fields from the data source, including the first data field; and

the visual variables determine characteristics of the plurality of visual marks in the data visualization according to the second keyword, and each of the visual variables is associated with a respective one or more data fields of the plurality of data fields; and

generating and displaying the data visualization based on the visual specification, including displaying the plurality of visual marks representing data, retrieved from the data source, for the first data field.

2. The method of claim 1 , further comprising:

determining a user intent based at least in part on the second keyword.

3. The method of claim 1 , further comprising:

determining a data visualization type for the data visualization based at least in part on the second keyword.

4. The method of claim 3 , wherein the data visualization type is selected from the group consisting of Bar Chart, Line Chart, Scatter Plot, Pie Chart, Map, and Text Table.

5. The method of claim 3 , wherein the one or more of the visual variables are further determined based on the determined data visualization type.

6. The method of claim 3 , wherein the data visualization is generated in accordance with the determined data visualization type.

7. The method of claim 1 , further comprising:

categorizing a shape of the visual marks in the data visualization into one of: (i) an exponential drop off, (ii) an inverse exponential curve, or (iii) a series of plateaus, wherein one or more of the visual variables for the data visualization is determined in accordance with the categorized shape.

8. The method of claim 1 , further comprising:

determining an expected overall shape of the visual marks in the data visualization based on properties of data values of the one or more data fields, wherein one or more of the visual variables are determined based on the expected overall shape of the visual marks.

9. The method of claim 8 , further comprising:

categorizing an expected overall shape of the visual marks in the data visualization into one of: (i) an exponential drop off, (ii) an inverse exponential curve, or (iii) a series of plateaus, wherein the one or more visual variables for the data visualization is determined in accordance with the categorized shape.

10. The method of claim 8 , wherein the one or more visual variables are determined based on the expected overall shape of the visual marks in the data visualization.

11. The method of claim 1 , wherein a first subset of the plurality of visual marks is emphasized relative to a second subset of the visual marks, distinct from the first subset of the visual marks.

12. The method of claim 11 , wherein the first subset of the plurality of visual marks includes two or more visual marks.

13. The method of claim 12 , wherein the first subset of the plurality of visual marks is determined based on the second keyword.

14. The method of claim 1 , wherein one or more of the visual variables specifies a filter to be applied to data values in the first data field.

15. The method of claim 1 , wherein the second keyword includes a superlative adjective.

16. The method of claim 1 , wherein the second keyword includes a graded adjective.

17. The method of claim 1 , wherein the user input includes verbal user input and/or user input of text into a natural language input field.

18. A computing device comprising:

one or more processors;

memory coupled to the one or more processors;

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:

receiving user selection of a data source;

receiving a user input to specify a natural language command directed to the data source;

identifying a first keyword in the natural language command, the first keyword corresponding to a first data field from the data source;

identifying a second keyword in the natural language command, the second keyword expressing a limit on a range of data values for the first data field;

generating a visual specification for a data visualization, wherein:

the data visualization includes a plurality of visual marks;

the visual specification specifies the data source, a plurality of visual variables, and a plurality of data fields from the data source, including the first data field; and

the visual variables determine characteristics of the plurality of visual marks in the data visualization according to the second keyword, and each of the visual variables is associated with a respective one or more data fields of the plurality of data fields; and

generating and displaying the data visualization based on the visual specification, including displaying the plurality of visual marks representing data, retrieved from the data source, for the first data field.

19. The computing device of claim 18 , wherein the one or more programs further comprise instructions for:

categorizing a shape of the visual marks in the data visualization into one of: (i) an exponential drop off, (ii) an inverse exponential curve, or (iii) a series of plateaus, wherein one or more of the visual variables for the data visualization is determined in accordance with the categorized shape.

20. A non-transitory computer readable storage medium storing one or more programs, the 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:

receiving user selection of a data source;

receiving a user input to specify a natural language command directed to the data source;

identifying a first keyword in the natural language command, the first keyword corresponding to a first data field from the data source;

identifying a second keyword in the natural language command, the second keyword expressing a limit on a range of data values for the first data field;

generating a visual specification for a data visualization, wherein:

the data visualization includes a plurality of visual marks;

the visual specification specifies the data source, a plurality of visual variables, and a plurality of data fields from the data source, including the first data field; and

the visual variables determine characteristics of the plurality of visual marks in the data visualization according to the second keyword, and each of the visual variables is associated with a respective one or more data fields of the plurality of data fields; and

generating and displaying the data visualization based on the visual specification, including displaying the plurality of visual marks representing data, retrieved from the data source, for the first data field.

Continuity (3)
Continuation 16601413 · Oct 14, 2019
Provisional Application 62897187 · Sep 6, 2019
Related Publication 20210303626A1 · Sep 30, 2021