IP Library Granted Patent US 11,567,967
Granted Patent B2
US 11,567,967 · App. 17/220,821 · Granted Jan 31, 2023

Applying a visual analytics intent language to infer ambiguous or underspecified intent

Inventors: Vidya Raghavan Setlur (Portola Valley, CA); Scott Sherman (Seattle, WA); Matthew Michael Brehmer (Seattle, WA)
Assignee: TABLEAU SOFTWARE, LLC
G06F16/26G06F16/248G06F16/2457
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,567,967
App. No.
17/220,821
Granted
Jan 31, 2023
Kind
B2
Abstract

An electronic device has one or more processors and memory. The memory stores one or more programs configured for execution by the one or more processors. The device receives a request directed to a data source. The request includes one or more intent types and one or more predefined attributes associated with the intent types. Each of the predefined attributes limits a respective data analysis operation of a respective intent type. In response to the request, for each of the intent types, the device formulates a respective intent specification according to the request. The device also applies one or more respective rules corresponding to the respective intent type to determine whether the respective intent type is ambiguous and/or underspecified. When the respective intent type is ambiguous and/or underspecified, the device infers information to resolve the ambiguous and/or underspecified intent.

Claims (87)

1. A method, comprising:

at an electronic device running a first application, the electronic device including one or more processors and memory storing one or more programs for execution by the one or more processors:

receiving a request directed to a data source, the request including (i) one or more intent types, each intent type selected from a predefined set of data analysis operations directed to the data source and (ii) one or more predefined attributes associated with the one or more intent types, each of the one or more predefined attributes limiting a respective data analysis operation of a respective intent type;

in response to the request, for each of the one or more intent types:

formulating a respective intent specification according to the request, including determining one or more respective properties of the respective intent specification according to the respective one or more predefined attributes and according to data fields, from the data source, specified in the request;

applying one or more respective rules corresponding to the respective intent type to determine whether the respective intent type is ambiguous and/or underspecified; and

in accordance with a determination that the respective intent type is ambiguous and/or underspecified:

inferring information to resolve the ambiguous and/or underspecified intent according to (i) the one or more respective rules, (ii) metadata for the data source, and (iii) metadata for data fields specified in the request; and

updating the respective intent type according to the inferred information.

2. The method of claim 1 , further comprising:

generating a respective output specification, the respective output specification including (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.

3. The method of claim 1 , wherein the one or more intent types include 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.

4. The method of claim 1 , wherein applying one or more respective rules to determine whether the respective intent type is ambiguous and/or underspecified further comprises:

identifying a set of data properties corresponding to the respective intent specification for the respective intent type; and

determining whether the request specifies attributes for each data property of the set of data properties, wherein:

when the request specifies more than one attribute for a data property in the set of data properties, determining that the respective intent type is ambiguous; and

when the request specifies no attribute for at least one data property in the set of data properties, determining that the respective intent type is underspecified.

5. The method of claim 4 , further comprising:

in accordance with a determination that the request specifies exactly one attribute for each data property of the set of data properties, establishing that the respective intent type is fully specified.

6. The method of claim 1 , wherein applying one or more respective rules to determine whether the respective intent type is ambiguous and/or underspecified further comprises:

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

establishing that the respective intent type is ambiguous; and

inferring a numeric value for the quantity.

7. The method of claim 1 , wherein:

the respective intent type is a focus intent having a focus strategy property; and

inferring information to resolve the underspecified intent further comprises:

in accordance with a determination that the request does not include a term selected from the group consisting of “filter,” “highlight,” and “zoom,” selecting a highlight strategy as the default focus strategy.

8. The method of claim 7 , wherein:

selecting the highlight strategy as the default strategy further comprises:

executing a sort operation that arranges data rows from a data table of the data source in an ascending or a descending order according to data values of a data field in the data table; and

executing a highlight operation that highlights a specified number of the data values based on ranking of the data values.

9. The method of claim 1 , wherein:

the respective intent type is a focus intent having a field property; and

inferring information to resolve the underspecified intent further comprises:

in accordance with a determination that the request does not specify a data field, selecting a data field, from the data source, having a text data type and having a domain that is greater than or equal to a quantity specified in the request.

10. The method of claim 1 , wherein:

the respective intent type is a focus intent having a field property; and

inferring information to resolve the underspecified intent further comprises:

in accordance with a determination that the data source does not include a data field with a text data type and a domain that is greater than or equal to a quantity specified, selecting a data field, from the data source, whose domain contains a data value that is specified in the request.

11. The method of claim 1 , wherein the respective intent type is a focus intent, the method further comprising:

in accordance with a determination that the request includes an adjective for price, determining whether the data source includes a data field having a currency field type;

in accordance with a determination that the data source includes a data field having a currency field type, executing a sort operation on the data field; and

in accordance with a determination that the data source does not include a data field having a currency field type:

identifying all numeric data fields in the data source; and

executing a respective sort operation on each of the numeric data fields.

12. The method of claim 1 , wherein the metadata for the data source includes metadata for: 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. The method of claim 1 , wherein:

the respective intent type is a distribution intent having a grouping property that includes a grouping field and a bin size; and

inferring information to resolve the underspecified intent further comprises:

in accordance with a determination that the request does not specify a grouping field:

identifying all data fields in the data source having a quantitative dependent field type, a quantitative independent field type, or a currency field type; and

designating each of the identified data fields as the inferred information for the grouping field.

15. The method of claim 14 , further comprising:

in accordance with a determination that the request specifies a bin size, replacing bin size information in the metadata with the specified bin size.

16. The method of claim 1 , wherein:

the intent type is a trend intent having a trend property that includes a measure data field and a date data field; and

inferring information to resolve the underspecified intent further comprises:

in accordance with a determination that the request does not include a measure data field:

identifying all quantitative dependent fields in the data source; and

designating each of the quantitative dependent fields as the inferred information for the measure data field; and/or

in accordance with a determination that the request does not include a data field having a time field type:

identifying all time data fields in the data source; and

designating each of the time data fields as the inferred information for the date data field.

17. The method of claim 1 , wherein the intent type is a correlation intent to correlate two numeric data fields; and

inferring information to resolve the underspecified intent further comprises:

when the request specifies only one numeric data field, inferring usage of a second data field from all numeric data fields from the data source; and

when the request specifies no numeric data fields, inferring usage of a first data field and a second data field, from all numeric data fields from the data source.

18. The method of claim 1 , further comprising inferring information to resolve the ambiguous and/or underspecified intent 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.

19. An electronic 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 request directed to a data source, the request including (i) one or more intent types, each intent type selected from a predefined set of data analysis operations directed to the data source and (ii) one or more predefined attributes associated with the one or more intent types, each of the one or more predefined attributes limiting a respective data analysis operation of a respective intent type;

in response to the request, for each of the one or more intent types:

formulating a respective intent specification according to the request, including determining one or more respective properties of the respective intent specification according to the respective one or more predefined attributes and according to data fields, from the data source, specified in the request;

applying one or more respective rules corresponding to the respective intent type to determine whether the respective intent type is ambiguous and/or underspecified; and

in accordance with a determination that the respective intent type is ambiguous and/or underspecified:

inferring information to resolve the ambiguous and/or underspecified intent according to (i) the one or more respective rules, (ii) metadata for the data source, and (iii) metadata for data fields specified in the request; and

updating the respective intent type according to the inferred information.

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

receiving a request directed to a data source, the request including (i) one or more intent types, each intent type selected from a predefined set of data analysis operations directed to the data source and (ii) one or more predefined attributes associated with the one or more intent types, each of the one or more predefined attributes limiting a respective data analysis operation of a respective intent type;

in response to the request, for each of the one or more intent types:

formulating a respective intent specification according to the request, including determining one or more respective properties of the respective intent specification according to the respective one or more predefined attributes and according to data fields, from the data source, specified in the request;

applying one or more respective rules corresponding to the respective intent type to determine whether the respective intent type is ambiguous and/or underspecified; and

in accordance with a determination that the respective intent type is ambiguous and/or underspecified:

inferring information to resolve the ambiguous and/or underspecified intent according to (i) the one or more respective rules, (ii) metadata for the data source, and (iii) metadata for data fields specified in the request; and

updating the respective intent type according to the inferred information.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2022
From: SETLUR, VIDYA RAGHAVAN; SHERMAN, SCOTT; BREHMER, MATTHEW MICHAEL
To: TABLEAU SOFTWARE, LLC
Reel/Frame 061324/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2022
From: SETLUR, VIDYA RAGHAVAN; BREHMER, MATTHEW MICHAEL; SHERMAN, SCOTT
To: TABLEAU SOFTWARE, LLC
Reel/Frame 060430/0299 →
Continuity (3)
Continuation 17219784 · Mar 31, 2021
Provisional Application 63168212 · Mar 30, 2021
Related Publication 20220318260A1 · Oct 6, 2022