IP Library Granted Patent US 12,411,865
Granted Patent B2
US 12,411,865 · App. 18/673,280 · Granted Sep 9, 2025

Applying a visual analytics intent language to generate data visualizations

Inventors: Vidya Raghavan Setlur (Portola Valley, CA); Scott Sherman (Seattle, WA); Matthew Michael Brehmer (Seattle, WA)
Assignee: Tableau Software, LLC
G06F16/26G06F16/2457G06F16/248
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 12,411,865
App. No.
18/673,280
Granted
Sep 9, 2025
Kind
B2
Abstract

A computing device receives a natural language command directed to a data source. The device applies one or more respective rules to determine whether the natural language command comprises an ambiguous and/or underspecified request. In accordance with a determination that the natural language command comprises an ambiguous and/or underspecified request, the device infers information to resolve the ambiguous and/or underspecified request according to (i) the one or more respective rules, (ii) metadata for the data source, and (iii) metadata for one or more data fields specified in the natural language command. The device updates a respective intent specification based on the inferred information, retrieving data sets from the data source according to the respective intent specification, and generates and displays a data visualization based on the retrieved data sets.

Claims (85)

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

at a computing device including one or more processors and memory storing one or more programs for execution by the one or more processors:

receiving a user-specified natural language command directed to a data source, the natural language command including a first data field of the data source;

in accordance with receiving the user-specified natural language command:

applying one or more respective rules to determine whether the natural language command comprises an ambiguous request and/or an underspecified request, wherein:

an ambiguous request specifies more than one attribute for a data property in a set of data properties of a respective intent specification; and

an underspecified request specifies no attribute for at least one data property in the set of data properties of the respective intent specification;

in accordance with a determination that the natural language command comprises the ambiguous request and/or the underspecified request, inferring information to resolve the ambiguous request and/or the underspecified request according to (i) the one or more respective rules, (ii) metadata for the data source, and (iii) metadata for the first data field specified in the natural language command;

updating the respective intent specification based on the inferred information;

retrieving one or more data sets from the data source according to the respective intent specification; and

generating and displaying at least one data visualization based on the retrieved one or more data sets.

2. The method of claim 1 , wherein the at least one data visualization has a visualization type associated with the respective intent specification.

3. The method of claim 1 , further comprising:

inferring information to resolve the ambiguous request and/or the underspecified request according to context from previous requests, data fields identified in the previous requests, attributes identified in the previous requests, user-provided interpretations, and/or user-provided definitions.

4. The method of claim 1 , wherein:

the natural language command further includes a first term that is different from the first data field; and

the method further includes concurrently displaying, with the at least one data visualization, an interpretation of the first term of the natural language command.

5. The method of claim 1 , wherein applying the one or more respective rules to determine whether the natural language command comprises an ambiguous request and/or an underspecified request includes:

in accordance with a determination that the natural language command specifies a measurable adjective and does not specify a quantity:

establishing that the natural language command comprises an ambiguous request; and

inferring a numeric value for the quantity.

6. The method of claim 1 , wherein:

applying the one or more respective rules to determine whether the natural language command comprises an ambiguous request and/or an underspecified request includes:

determining whether the natural language command specifies attributes for each data property of the set of data properties;

in accordance with a determination that the natural language command specifies no attribute for a first data property in the set of data properties for the respective intent specification:

establishing that the natural language command comprises an underspecified request;

determining one or more possible fields for the first data property; and

in accordance with a determination that there is exactly one possible field for the first data property, inferring the one possible field as the first data property.

7. The method of claim 6 , wherein applying the one or more respective rules to determine whether the natural language command comprises an ambiguous request and/or an underspecified request includes:

in accordance with a determination that there are multiple possible fields for the first data property, creating a variable field to contain all the multiple possible fields.

8. The method of claim 1 , further comprising:

prior to generating and displaying the at least one data visualization:

generating a respective output specification that includes (i) a respective recommended data visualization type, selected from a predefined set of data visualization types, for the data source, and (ii) one or more respective data visualization parameters that (1) include the inferred information and (2) specify how to render a data visualization of the respective recommended data visualization type.

9. The method of claim 1 , further comprising:

in accordance with receiving the user-specified natural language command, identifying an intent type corresponding to the natural language command.

10. The method of claim 9 , wherein the intent type is one or more of: a focus intent, a trend intent, a correlation intent, a distribution intent, a geographic intent, an encoding intent, and a fields intent.

11. The method of claim 9 , further comprising:

in accordance with receiving the user-specified natural language command:

formulating the respective intent specification according to the identified intent type, including determining respective properties of the respective intent specification according to:

predefined attributes associated with the identified intent type; and

the first data field of the data source specified in the natural language command.

12. The method of claim 1 , wherein the metadata for the data source includes metadata for one or more of:

semantics of data fields;

data field types corresponding to the data fields;

statistics of the data fields;

derivations of the data fields; and/or

default bin sizes corresponding to the data fields.

13. The method of claim 12 , wherein the data field types include one or more of: a categorical field type, a time field type, a geographical field type, a currency field type, a quantitative dependent field type, a quantitative independent field type, a latitude field type, and a longitude field type.

14. A computing device, comprising:

one or more processors; and

memory coupled to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for:

receiving a user-specified natural language command directed to a data source, the natural language command including a first data field of the data source;

in accordance with receiving the user-specified natural language command:

applying one or more respective rules to determine whether the natural language command comprises an ambiguous request and/or an underspecified request, wherein

an ambiguous request specifies more than one attribute for a data property in a set of data properties of a respective intent specification; and

an underspecified request specifies no attribute for at least one data property in the set of data properties of the respective intent specification;

in accordance with a determination that the natural language command comprises the ambiguous request and/or the underspecified request, inferring information to resolve the ambiguous request and/or the underspecified request according to (i) the one or more respective rules, (ii) metadata for the data source, and (iii) metadata for the first data field specified in the natural language command;

updating the respective intent specification based on the inferred information;

retrieving one or more data sets from the data source according to the respective intent specification; and

generating and displaying at least one data visualization based on the retrieved one or more data sets.

15. The computing device of claim 14 , the one or more programs including instructions for:

inferring information to resolve the ambiguous request and/or the underspecified request according to context from previous requests, data fields identified in the previous requests, attributes identified in the previous requests, user-provided interpretations, and/or user-provided definitions.

16. The computing device of claim 14 , wherein:

the natural language command further includes a first term that is different from the first data field; and

the one or more programs further include instructions for:

concurrently displaying, with the at least one data visualization, an interpretation of the first term of the natural language command.

17. The computing device of claim 14 , wherein the instructions for applying the one or more respective rules to determine whether the natural language command comprises an ambiguous request and/or an underspecified request include instructions for:

in accordance with a determination that the natural language command specifies a measurable adjective and does not specify a quantity:

establishing that the natural language command comprises an ambiguous request; and

inferring a numeric value for the quantity.

18. The computing device of claim 14 , the one or more programs including instructions for:

prior to generating and displaying the at least one data visualization:

generating a respective output specification that includes (i) a respective recommended data visualization type, selected from a predefined set of data visualization types, for the data source, and (ii) one or more respective data visualization parameters that (1) include the inferred information and (2) specify how to render a data visualization of the respective recommended data visualization type.

19. The computing device of claim 14 , the one or more programs including instructions for:

in accordance with receiving the user-specified natural language command, identifying an intent type corresponding to the natural language command.

20. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing device, cause the computing device to perform operations comprising:

receiving a user-specified natural language command directed to a data source, the natural language command including a first data field of the data source;

in accordance with receiving the user-specified natural language command:

applying one or more respective rules to determine whether the natural language command comprises an ambiguous request and/or an underspecified request, wherein

an ambiguous request specifies more than one attribute for a data property in a set of data properties of a respective intent specification; and

an underspecified request specifies no attribute for at least one data property in the set of data properties of the respective intent specification;

in accordance with a determination that the natural language command comprises the ambiguous request and/or the underspecified request, inferring information to resolve the ambiguous request and/or the underspecified request according to (i) the one or more respective rules, (ii) metadata for the data source, and (iii) metadata for the first data field specified in the natural language command;

updating the respective intent specification based on the inferred information;

retrieving one or more data sets from the data source according to the respective intent specification; and

generating and displaying at least one data visualization based on the retrieved one or more data sets.

Continuity (5)
Continuation 18148258 · Dec 29, 2022
Continuation 17220821 · Apr 1, 2021
Continuation 17219784 · Mar 31, 2021
Provisional Application 63168212 · Mar 30, 2021
Related Publication 20240311390A1 · Sep 19, 2024
References Cited (21)
US 10896297B1 · Tory et al. · 2021 [cited by applicant]
US 10922493B1 · Das et al. · 2021 [cited by applicant]
US 10943072B1 · Jaganmohan · 2021 [cited by applicant]
US 20130226892A1 · Ehsani · 2013 [cited by examiner]
US 20140075004A1 · Van Dusen et al. · 2014 [cited by applicant]
US 20160007083A1 · Gurha · 2016 [cited by applicant]
US 20170235848A1 · Van Dusen et al. · 2017 [cited by applicant]
US 20190073547A1 · el Kaliouby et al. · 2019 [cited by applicant]
US 20190163838A1 · Ramachandra Iyer · 2019 [cited by examiner]
US 20190197185A1 · Miseldine · 2019 [cited by examiner]
US 20200301916A1 · Nguyen et al. · 2020 [cited by applicant]
US 20220043431A1 · Sayyarrodsari et al. · 2022 [cited by applicant]
Setlur, Notice of Allowance, U.S. Appl. No. 17/219,784, Mar. 22, 2022, 11 pgs. [cited by applicant]
Setlur, Notice of Allowance, U.S. Appl. No. 17/220,821, Jun. 6, 2022, 11 pgs. [cited by applicant]
Setlur, Notice of Allowance, U.S. Appl. No. 17/220,821, Oct. 4, 2022, 18 pgs. [cited by applicant]
Setlur, Notice of Allowance, U.S. Appl. No. 17/220,835, Jun. 23, 2022, 10 pgs. [cited by applicant]
Setlur, Notice of Allowance, U.S. Appl. No. 17/220,835, Sep. 7, 2022, 7 pgs. [cited by applicant]
Tableau Software, LLC, International Search Report and Written Opinion, PCT/US2022/022625, Jun. 27, 2022, 21 pgs. [cited by applicant]
Setlur, Office Action, U.S. Appl. No. 18/148,258, Nov. 15, 2023, 8 pgs. [cited by applicant]
Setlur, Notice of Allowance, U.S. Appl. No. 18/148,258, Feb. 1, 2024, 9 pgs. [cited by applicant]
Vidya Setlur et al., “Inferencing underspecified natural language utterances in visual analysis,” Proceeding of the 24th International Conference on Intelligent User Interfaces, Mar. 17, 2019, Marina del Rey, CA, USA, p… [cited by applicant]