IP Library › Granted Patent US 10,896,297
Granted Patent B1
US 10,896,297 · App. 16/219,406 · Granted Jan 19, 2021

Identifying intent in visual analytical conversations

Inventors: Melanie K. Tory (Palo Alto, CA); Vidya R. Setlur (Portola Valley, CA)
Assignee: Tableau Software, Inc.
G06F40/35G06F16/3329G06F40/00G06F40/20G06F40/289G06F40/30G06F40/40G06F3/0484
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,896,297
App. No.
16/219,406
Granted
Jan 19, 2021
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 first set of database 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 cue phrases from the natural language command. The computer computes analytical intent (e.g., visualization state intent and/or transitional intent) of the user based on the one or more cue phrases. The computer then derives visualization states based on the analytical intent. The computer subsequently computes one or more analytical functions associated with the visualization states, thereby creating one or more functional phrases. The computer then updates the data visualization based on the one or more functional phrases.

Claims (83)

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 data visualization based on a first dataset retrieved from a database using a first set of one or more queries;

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

extracting a first set of one or more cue phrases from the natural language command, wherein the one or more cue phrases include one or more terms for either elaborating, adjusting, undoing, starting anew, or retrying;

computing a first analytical intent based on the first set of one or more cue phrases, wherein the first analytical intent represents an intent of a user to continue their analytical conversation by identifying a new question to ask, after interpreting the data visualization;

deriving a first set of one or more visualization states based on the first analytical intent wherein the first set of one or more visualization states comprises a data attribute, a transformation, a filter, or a visual encoding of a data attribute, and wherein deriving the first set of one or more visualization states comprises:

obtaining a second set of one or more visualization states associated with the data visualization before updating the data visualization;

extracting a set of one or more independent analytic phrases from the natural language command;

computing a temporary set of one or more visualization states associated with the natural language command based on the set of one or more analytic phrases;

computing one or more transitional goals associated with the natural language command based on the second set of one or more analytic phrases, wherein the one or more transitional goals comprises elaboration, retrying, adjustment, undoing, or starting anew;

computing one or more transitional rules corresponding to the one or more transitional goals, wherein the one or more transitional rules are selected from the group consisting of CONTINUE, RETAIN, SHIFT, and RESET; and

computing the first set of one or more visualization states from the second set of one or more visualization states and the temporary set of one or more visualization states based on the one or more transitional rules;

computing a set of one or more analytical functions associated with the first set of one or more visualization states, thereby creating a set of one or more functional phrases; and

updating the data visualization based on the set of one or more functional phrases.

2. The method of claim 1 , wherein computing the one or more transitional goals comprises:

extracting a second set of one or more cue phrases from the natural language command;

computing a second analytical intent based on the second set of one or more cue phrases; and

computing the one or more transitional goals associated with the natural language command based on the second analytical intent.

3. The method of claim 1 , further comprising:

determining whether the first set of one or more cue phrases contains a name attribute, a value, a term of measure, and/or a term of aggregation; and

in accordance with a determination that the first set of one or more cue phrases contains a name attribute or a value, but neither a term of measure nor a term of aggregation, computing the first analytical intent to be a count of records corresponding to the name attribute or the value.

4. The method of claim 1 , further comprising:

determining whether a data attribute is a categorical attribute having a number of categories less than a threshold value; and

in accordance with a determination that the data attribute is a categorical attribute having a number of distinct categories less than the threshold value, computing the first analytical intent to be comparison of the categories.

5. The method of claim 1 , further comprising:

determining whether the first set of one or more cue phrases contains a term corresponding to a transformation; and

in accordance with a determination that the first set of one or more cue phrases contains a term corresponding to a transformation, computing the first analytical intent to be either grouping or binning of a continuous variable, or computing a derived calculation.

6. The method of claim 1 , further comprising:

determining whether the first set of one or more cue phrases contains a term corresponding to a chart type or a named visual variable;

in accordance with a determination that the first set of one or more cue phrases contains a term corresponding to a chart type, computing the first analytical intent to select the chart type; and

in accordance with a determination that the first set of one or more cue phrases contains a term corresponding to a named visual variable, computing the first analytical intent to specify encoding for the named visual variable according to the one or more cue phrases.

7. The method of claim 1 , wherein the one or more transitional rules comprise a CONTINUE rule for including each visualization state from the first set of one or more visualization states in the second set of one or more visualization states and adding one or more visualization states from the temporary set of one or more visualization states to the second set of one or more visualization states.

8. The method of claim 1 , wherein the one or more transitional rules comprise a RETAIN rule for retaining each visualization state from the first set of one or more visualization states in the second set of one or more visualization states without adding any visualization state from the temporary set of one or more visualization states to the second set of one or more visualization states.

9. The method of claim 1 , wherein the one or more transitional rules comprise a SHIFT rule for including each visualization state from the first set of one or more visualization states in the second set of one or more visualization states and replacing one or more visualization states in the second set of one or more visualization states with visualization states from the temporary set of one or more visualization states.

10. The method of claim 1 , wherein the one or more transitional rules comprise a RESET rule for resetting each of the first set of one or more visualization states, the temporary set of one or more visualization states, and the second set of one or more visualization states to an empty set that includes no visualization states.

11. The method of claim 1 , further comprising:

determining whether the second set of one or more cue phrases contains terms that signify elaboration; and

in accordance with a determination that the second set of one or more cue phrases contains terms that signify elaboration, computing the second analytical intent to elaborate.

12. The method of claim 1 , further comprising:

determining whether the second set of one or more cue phrases contains terms that signify adjust/pivot; and

in accordance with a determination that the second set of one or more cue phrases contains terms that signify adjust/pivot, computing the second analytical intent to adjust/pivot.

13. The method of claim 1 , further comprising:

determining whether the second set of one or more cue phrases contains terms that signify undoing, or a repetition of the utterance that generated a desired state; and

in accordance with a determination that the second set of one or more cue phrases contains terms that signify undoing, computing the second analytical intent to undo.

14. The method of claim 1 , further comprising:

determining whether the second set of one or more cue phrases contains terms that signify starting anew, or corresponds to an explicit reset; and

in accordance with a determination that the second set of one or more cue phrases contains terms that signify starting anew, computing the second analytical intent to start anew.

15. The method of claim 1 , further comprising:

determining whether the second set of one or more cue phrases contains terms that signify retry; and

in accordance with a determination that the second set of one or more cue phrases contains terms that signify retry, computing the second analytical intent to retry.

16. 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 are configured to be executed by the one or more processors, the one or more programs including instructions for:

displaying a data visualization based on a first dataset retrieved from a database using a first set of one or more queries;

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

extracting a first set of one or more cue phrases from the natural language command, wherein the one or more cue phrases include one or more terms for either elaborating, adjusting, undoing, starting anew, or retrying;

computing a first analytical intent based on the first set of one or more cue phrases, wherein the first analytical intent represents an intent of a user to continue their analytical conversation by identifying a new question to ask, after interpreting the data visualization;

deriving a first set of one or more visualization states based on the visualization intent, wherein the first set of one or more visualization states comprises a data attribute, a transformation, a filter, or a visual encoding of a data attribute, and wherein deriving the first set of one or more visualization states comprises:

obtaining a second set of one or more visualization states associated with the data visualization before updating the data visualization;

extracting a set of one or more independent analytic phrases from the natural language command;

computing a temporary set of one or more visualization states associated with the natural language command based on the set of one or more analytic phrases;

computing one or more transitional goals associated with the natural language command based on the second set of one or more analytic phrases, wherein the one or more transitional goals comprises elaboration, retrying, adjustment, undoing, or starting anew;

computing one or more transitional rules corresponding to the one or more transitional goals, wherein the one or more transitional rules are selected from the group consisting of CONTINUE, RETAIN, SHIFT, and RESET; and

computing the first set of one or more visualization states from the second set of one or more visualization states and the temporary set of one or more visualization states based on the one or more transitional rules;

computing a set of one or more analytical functions associated with the first set of one or more visualization states, thereby creating a set of one or more functional phrases; and

updating the data visualization based on the set of one or more functional phrases.

17. 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 a data visualization based on a first dataset retrieved from a database using a first set of one or more queries;

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

extracting a first set of one or more cue phrases from the natural language command, wherein the one or more cue phrases include one or more terms for either elaborating, adjusting, undoing, starting anew, or retrying;

computing a first analytical intent based on the first set of one or more cue phrases, wherein the first analytical intent represents an intent of a user to continue their analytical conversation by identifying a new question to ask, after interpreting the data visualization;

deriving a first set of one or more visualization states based on the visualization intent, wherein the first set of one or more visualization states comprises a data attribute, a transformation, a filter, or a visual encoding of a data attribute, and wherein deriving the first set of one or more visualization states comprises:

obtaining a second set of one or more visualization states associated with the data visualization before updating the data visualization;

extracting a set of one or more independent analytic phrases from the natural language command;

computing a temporary set of one or more visualization states associated with the natural language command based on the set of one or more analytic phrases;

computing one or more transitional goals associated with the natural language command based on the second set of one or more analytic phrases, wherein the one or more transitional goals comprises elaboration, retrying, adjustment, undoing, or starting anew;

computing one or more transitional rules corresponding to the one or more transitional goals, wherein the one or more transitional rules are selected from the group consisting of CONTINUE, RETAIN, SHIFT, and RESET; and

computing the first set of one or more visualization states from the second set of one or more visualization states and the temporary set of one or more visualization states based on the one or more transitional rules;

computing a set of one or more analytical functions associated with the first set of one or more visualization states, thereby creating a set of one or more functional phrases; and

updating the data visualization based on the set of one or more functional phrases.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2026
From: TABLEAU SOFTWARE, LLC
To: SALESFORCE, INC.
Reel/Frame 076161/0201 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2019
From: TORY, MELANIE K.; SETLUR, VIDYA R.
To: TABLEAU SOFTWARE, INC.
Reel/Frame 048662/0420 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2019
From: TORY, MELANIE K.; SETLUR, VIDYA R.
To: TABLEAU SOFTWARE, INC.
Reel/Frame 048524/0285 →
Continuity (1)
Provisional Application 62598399 · Dec 13, 2017
Cited By (3)
US 12,411,865 US 12,505,312 US 12,705,274