Conversational database analysis
Systems and methods for conversational user experiences and conversational database analysis disclosed herein improve the efficiency and accessibility of low-latency database analytics. The method may include obtaining data expressing a usage intent with respect to the low-latency database analysis system, wherein the data expressing the usage intent includes a current request string expressed in a natural language, a current context associated with the current request string, and a previously generated context associated with a previously generated resolved-request, identifying, from the current request string, a conversational phrase corresponding to a conversational phrase pattern from a defined set of conversational phrase patterns, generating a resolved-request based on the identified conversational phrase, including the resolved-request in the current context, obtaining results data responsive to the resolved-request from a distributed in-memory database, generating a response including the results data and the current context, and outputting the response.
1. A method for use in a low-latency database analysis system, the method comprising:
obtaining data expressing a usage intent with respect to the low-latency database analysis system, wherein the data expressing the usage intent includes a current request string expressed in a natural language, a current context associated with the current request string, and a previously generated context associated with a previously generated resolved-request;
identifying, from the current request string, a conversational phrase corresponding to a conversational phrase pattern from a defined set of conversational phrase patterns;
generating a resolved-request based on the identified conversational phrase;
including the resolved-request in the current context;
obtaining results data responsive to the resolved-request from a distributed in-memory database;
generating a response including the results data and the current context; and
outputting the response.
2. The method of claim 1 , wherein generating the resolved-request comprising:
in response to a determination that the conversational phrase is a data-request phrase, generating the resolved-request based on the data-request phrase, wherein generating the resolved-request omits using the previously generated context.
3. The method of claim 1 , wherein generating the resolved-request comprising:
in response to a determination that the conversational phrase is a request-transformation phrase, generating the resolved-request by modifying the previously generated resolved-request based on the request-transformation phrase.
4. The method of claim 3 , wherein the request-transformation phrase includes one or more of remove a column from the previously generated context, add a filter, remove a filter on a column, remove all filters, change a filter value, sort on a set of columns, sort columns in an ascending order, sort columns in a descending order, change date bucketing, limit to top N, exclude one or more value, drill down by an attribute, and drill down on a particular filter value by an attribute.
5. The method of claim 1 , wherein generating the resolved-request comprising:
in response to a determination that the conversational phrase is a serial-request phrase, generating the resolved-request based on the serial-request phrase such that the resolved-request identifies a result of the previously generated resolved-request as a data-source for the resolved-request.
6. The method of claim 5 , wherein generating the resolved-request comprising:
obtaining results data responsive to a previously generated resolved-request from a distributed in-memory database.
7. The method of claim 6 , wherein generating the resolved-request comprising:
locally storing, with respect to a relational search unit, the results data.
8. The method of claim 1 , wherein generating the resolved-request comprising:
in response to a determination that the conversational phrase is an autonomous-analysis phrase, generating the resolved-request such that the resolved-request indicates a request for autonomous-analysis based on the previously generated resolved-request.
9. The method of claim 8 , wherein the request for autonomous-analysis identifies one or more insights based on the previously generated resolved-request, where the one or more insights are data other than data expressly requested by a user.
10. The method of claim 1 , wherein generating the resolved-request comprising:
in response to a determination that the conversational phrase is an action phrase, generating the resolved-request includes identifying the previously generated resolved-request as the resolved request and generating an action-request corresponding to the action phrase, the action-request referring to the previously generated resolved-request.
11. The method of claim 10 , wherein the action phrase includes one or more of pinning the previously generated context, sharing the previously generated context, or changing a chart type of the previously generated context.
12. A system comprising:
a low-latency database; and
a processor, the processor configured to:
obtain data expressing a usage intent with respect to the low-latency database analysis system, wherein the data expressing the usage intent includes a current request string expressed in a natural language, a current context associated with the current request string, and a previously generated context associated with a previously generated resolved-request;
identify, from the current request string, a conversational phrase corresponding to a conversational phrase pattern from a defined set of conversational phrase patterns;
generate a resolved-request based on the identified conversational phrase;
include the resolved-request in the current context;
obtain results data responsive to the resolved-request from a distributed in-memory database;
generate a response including the results data and the current context; and
output the response.
13. The system of claim 12 , wherein the processor further configured to:
in response to a determination that the conversational phrase is a data-request phrase, generate the resolved-request based on the data-request phrase, wherein generating the resolved-request omits using the previously generated context.
14. The system of claim 12 , wherein the processor further configured to:
in response to a determination that the conversational phrase is a request-transformation phrase, generate the resolved-request by modifying the previously generated resolved-request based on the request-transformation phrase.
15. The system of claim 12 , wherein the processor further configured to:
in response to a determination that the conversational phrase is a serial-request phrase, generate the resolved-request based on the serial-request phrase such that the resolved-request identifies a result of the previously generated resolved-request as a data-source for the resolved-request.
16. The system of claim 12 , wherein the processor further configured to:
in response to a determination that the conversational phrase is an autonomous-analysis phrase, generate the resolved-request such that the resolved-request indicates a request for autonomous-analysis based on the previously generated resolved-request.
17. The system of claim 12 , wherein the processor further configured to:
in response to a determination that the conversational phrase is an action phrase, generate the resolved-request includes identifying the previously generated resolved-request as the resolved request and generating an action-request corresponding to the action phrase, the action-request referring to the previously generated resolved-request.
18. A non-transitory computer-readable storage medium, comprising processor-executable instructions for performing operations in a low-latency database analysis system, the operations performed in response to the instructions comprising:
obtaining data expressing a usage intent with respect to the low-latency database analysis system, wherein the data expressing the usage intent includes a current request string expressed in a natural language, a current context associated with the current request string, and a previously generated context associated with a previously generated resolved-request;
identifying, from the current request string, a conversational phrase corresponding to a conversational phrase pattern from a defined set of conversational phrase patterns;
generating a resolved-request based on the identified conversational phrase, wherein the generating a resolved-request based on the identified conversational phrase further comprising:
in response to a determination that the conversational phrase is a data-request phrase, generating the resolved-request based on the data-request phrase by omitting the previously generated context;
in response to a determination that the conversational phrase is a request-transformation phrase, generating the resolved-request by modifying the previously generated resolved-request based on the request-transformation phrase;
in response to a determination that the conversational phrase is a serial-request phrase, generating the resolved-request based on the serial-request phrase such that the resolved-request identifies a result of the previously generated resolved-request as a data-source for the resolved-request;
in response to a determination that the conversational phrase is an autonomous-analysis phrase, generating the resolved-request such that the resolved-request indicates a request for autonomous-analysis based on the previously generated resolved-request; and
in response to a determination that the conversational phrase is an action phrase, generating the resolved-request includes identifying the previously generated resolved-request as the resolved request and generating an action-request corresponding to the action phrase, the action-request referring to the previously generated resolved-request;
including the resolved-request in the current context;
obtaining results data responsive to the resolved-request from a distributed in-memory database;
generating a response including the results data and the current context; and
outputting the response.
19. The non-transitory computer-readable storage medium of claim 18 , wherein the request-transformation phrase includes one or more of remove a column from the previously generated context, add a filter, remove a filter on a column, remove all filters, change a filter value, sort on a set of columns, sort columns in an ascending order, sort columns in a descending order, change date bucketing, limit to top N, exclude one or more value, drill down by an attribute, and drill down on a particular filter value by an attribute.
20. The non-transitory computer-readable storage medium of claim 18 , wherein the action phrase includes one or more of pinning the previously generated context, sharing the previously generated context, or changing the chart types of the previously generated context.