| CPC G06F 40/284 (2020.01) [G06F 16/3329 (2019.01); G06F 16/34 (2019.01); G06F 40/211 (2020.01)] | 18 Claims |

|
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.
|