IP Library Granted Patent US 11,941,034
Granted Patent B2
US 11,941,034 · App. 18/162,321 · Granted Mar 26, 2024

Conversational database analysis

Inventors: Manikanta Venkata Rahul Balakavi (Mountain View, CA); Rakesh Kothari (San Jose, CA); Amit Prakash (Saratoga, CA); Ravi Tandon (San Jose, CA); Ashish Shubham (Mountain View, CA)
Assignee: ThoughtSpot, Inc.
G06F16/3344G06F16/338G06F40/30G06F40/205G06F40/253
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,941,034
App. No.
18/162,321
Granted
Mar 26, 2024
Kind
B2
Abstract

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.

Claims (60)

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.

Assignments (2)
SECURITY INTEREST Recorded Mar 7, 2025
From: THOUGHTSPOT, INC.; THOUGHTSPOT, LLC
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 070442/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2023
From: BALAKAVI, RAHUL MANIKANTA; KOTHARI, RAKESH; PRAKASH, AMIT; TANDON, RAVI; SHUBHAM, ASHISH
To: THOUGHTSPOT, INC.
Reel/Frame 062550/0864 →
Continuity (3)
Continuation 16681151 · Nov 12, 2019
Provisional Application 62760443 · Nov 13, 2018
Related Publication 20230177078A1 · Jun 8, 2023
Cited By (1)
US 12,511,282