US 12,217,000 B1
Optimizing natural language analytical conversations using platform-specific input and output interface functionality
Vidya Raghavan Setlur, Portola Valley, CA (US); and Melanie K. Tory, Portland, ME (US)
Assigned to Tableau Software, LLC, Seattle, WA (US)
Filed by Tableau Software, LLC, Seattle, WA (US)
Filed on Jan. 31, 2022, as Appl. No. 17/589,813.
Claims priority of provisional application 63/243,043, filed on Sep. 10, 2021.
Int. Cl. G06F 40/284 (2020.01); G06F 16/332 (2019.01); G06F 16/34 (2019.01); G06F 40/211 (2020.01)
CPC G06F 40/284 (2020.01) [G06F 16/3329 (2019.01); G06F 16/34 (2019.01); G06F 40/211 (2020.01)] 18 Claims
OG exemplary drawing
 
1. A method of using natural language for analysis of a dataset, comprising:
receiving a first natural language (NL) input directed to a data source, from a first client;
parsing the first NL input into tokens based on a grammar and the data source;
generating and outputting an intermediate NL response, to a second client, based on the tokens and output modality of the second client;
in response to receiving, from the second client, a user input to provide missing information in the first NL input:
generating an input query based on the user input; and
querying the data source using the input query, to obtain a result set;
generating and outputting, to the second client, a first NL output and a snapshot of a data visualization, based on the result set and the output modality of the second client;
in accordance with a determination that the intermediate NL response requires refinement or repair:
generating alternatives and interpretations for terms in the first NL input, wherein the alternatives include one or more alternative analytical functions, updates to one or more attributes, and/or value filters;
in accordance with a determination that the output modality of the second client includes a display:
providing, in an interface on the display of the second client, one or more affordances to refine and/or repair the alternatives and interpretations; and
generating the input query based on a selection of the one or more affordances on the second client; and
in accordance with a determination that the output modality of the second client includes voice-only responses:
generating and outputting, on the second client, speech output, based on alternatives and interpretations, for eliciting clarification through a series of verbal actions; and
generating the input query based on a clarifying user input on the second client.