IP Library Granted Patent US 11,803,543
Granted Patent B2
US 11,803,543 · App. 17/545,399 · Granted Oct 31, 2023

Lossless switching between search grammars

Inventors: Aditya Viswanathan (Redwood City, CA); Ravi Tandon (San Jose, CA); Manikanta Balakavi (Mountain View, CA)
Assignee: ThoughtSpot, Inc.
G06F16/243G06F16/242G06F16/248G06F40/284
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,803,543
App. No.
17/545,399
Granted
Oct 31, 2023
Kind
B2
Abstract

Performing, by a low-latency data access and analysis system, automatic grammar switching includes, in response to obtaining data indicating a request to switch from using a first defined grammar to using a second defined grammar, wherein the request includes data representing a first resolved-request generated for a first input string using the first defined grammar, generating, using the second defined grammar, a second resolved-request for the first input string, automatically generating a data-query in accordance with the second resolved-request, and outputting output data including results data obtained by executing the data-query.

Claims (69)

1. A method comprising:

performing, by a low-latency data access and analysis system, automatic grammar switching, wherein automatic grammar switching includes:

in response to obtaining data indicating a request to switch from using a first defined grammar to using a second defined grammar, wherein the request includes data representing a first resolved-request generated for a first input string using the first defined grammar, generating, using the second defined grammar, a second resolved-request for the first input string;

automatically generating a data-query in accordance with the second resolved-request; and

outputting output data including results data obtained by executing the data-query.

2. The method of claim 1 , further comprising:

obtaining data indicating a first request to perform data analysis, the first request including the first input string;

generating the first resolved-request for the first input string using the first defined grammar;

automatically generating a first data-query in accordance with the first resolved-request; and

outputting first output data including first results data obtained by executing the first data-query.

3. The method of claim 2 , wherein:

subsequent to outputting the first output data and prior to obtaining the data indicating the request to switch, the data representing the first resolved-request is unavailable to server-side components of the low-latency data access and analysis system.

4. The method of claim 1 , wherein:

the first defined grammar is a relational data access and analysis grammar; and

the second defined grammar is a natural language data grammar.

5. The method of claim 1 , wherein:

the first defined grammar is a natural language grammar; and

the second defined grammar is a relational data access and analysis grammar.

6. The method of claim 1 , wherein generating the second resolved-request includes generating the second resolved-request such that the second resolved-request is consistent with the first resolved-request.

7. The method of claim 1 , wherein:

the first resolved-request includes an ordered sequence of tokens; and

generating the second resolved-request includes:

identifying tokens and token binding data associated with the first resolved-request as query refinements; and

tokenizing the request to switch in accordance with the second defined grammar using the query refinements.

8. A low-latency data access and analysis system, comprising:

a non-transitory computer-readable storage medium; and

a processor that executes instructions stored in the non-transitory computer-readable storage medium to perform automatic grammar switching, wherein, to perform automatic grammar switching, the processor executes the instructions to:

in response to receipt of data indicating a request to switch from using a first defined grammar to using a second defined grammar, wherein the request includes data representing a first resolved-request generated for a first input string using the first defined grammar, use the second defined grammar to generate a second resolved-request for the first input string;

automatically generate a data-query in accordance with the second resolved-request; and

output results data obtained by execution of the data-query.

9. The low-latency data access and analysis system of claim 8 , wherein the processor executes the instructions to:

obtain data indicating a first request to perform data analysis, the first request including the first input string;

use the first defined grammar to generate the first resolved-request for the first input string;

automatically generate a first data-query in accordance with the first resolved-request; and

output first output data including first results data obtained by execution of the first data-query.

10. The low-latency data access and analysis system of claim 9 , wherein:

subsequent to the output of the first output data and prior to the receipt of the data indicating the request to switch, the data representing the first resolved-request is unavailable to server-side components of the low-latency data access and analysis system.

11. The low-latency data access and analysis system of claim 8 , wherein:

the first defined grammar is a relational data access and analysis grammar; and

the second defined grammar is a natural language data grammar.

12. The low-latency data access and analysis system of claim 8 , wherein:

the first defined grammar is a natural language grammar; and

the second defined grammar is a relational data access and analysis grammar.

13. The low-latency data access and analysis system of claim 8 , wherein to generate the second resolved-request the processor executes the instructions to generate the second resolved-request such that the second resolved-request is consistent with the first resolved-request.

14. The low-latency data access and analysis system of claim 8 , wherein:

the first resolved-request includes an ordered sequence of tokens; and

to generate the second resolved-request the processor executes the instructions to:

identify tokens and token binding data associated with the first resolved-request as query refinements; and

use the query refinements to tokenize the request to switch in accordance with the second defined grammar.

15. A non-transitory computer-readable storage medium, comprising executable instructions that are executed by a processor of a low-latency data access and analysis system to perform automatic grammar switching, wherein automatic grammar switching includes:

in response to obtaining data indicating a request to switch from using a first defined grammar to using a second defined grammar, wherein the request includes data representing a first resolved-request generated for a first input string using the first defined grammar, generating, using the second defined grammar, a second resolved-request for the first input string;

automatically generating a data-query in accordance with the second resolved-request; and

outputting output data including results data obtained by executing the data-query.

16. The non-transitory computer-readable storage medium of claim 15 , further comprising:

obtaining data indicating a first request to perform data analysis, the first request including the first input string;

generating the first resolved-request for the first input string using the first defined grammar;

automatically generating a first data-query in accordance with the first resolved-request; and

outputting first output data including first results data obtained by executing the first data-query.

17. The non-transitory computer-readable storage medium of claim 16 , wherein:

subsequent to outputting the first output data and prior to obtaining the data indicating the request to switch, the data representing the first resolved-request is unavailable to server-side components of the low-latency data access and analysis system.

18. The non-transitory computer-readable storage medium of claim 15 , wherein:

the first defined grammar is a relational data access and analysis grammar, and the second defined grammar is a natural language data grammar; or

the first defined grammar is a natural language grammar, and the second defined grammar is a relational data access and analysis grammar.

19. The non-transitory computer-readable storage medium of claim 15 , wherein generating the second resolved-request includes generating the second resolved-request such that the second resolved-request is consistent with the first resolved-request.

20. The non-transitory computer-readable storage medium of claim 15 , wherein:

the first resolved-request includes an ordered sequence of tokens; and

generating the second resolved-request includes:

identifying tokens and token binding data associated with the first resolved-request as query refinements; and

tokenizing the request to switch in accordance with the second defined grammar using the query refinements.

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 Dec 8, 2021
From: VISWANATHAN, ADITYA; TANDON, RAVI; BALAKAVI, MANIKANTA
To: THOUGHTSPOT, INC.
Reel/Frame 058336/0039 →
Continuity (2)
Continuation 16528297 · Jul 31, 2019
Related Publication 20220100742A1 · Mar 31, 2022