IP Library Granted Patent US 11,544,272
Granted Patent B2
US 11,544,272 · App. 17/225,349 · Granted Jan 3, 2023

Phrase translation for a low-latency database analysis system

Inventors: Pulkit Arora (Bengaluru, IN); Ramnik Jain (Karnataka, IN); Rakesh Kothari (San Jose, CA); Archit Bansal (Cupertino, CA); Vishal Kasera (San Francisco, CA)
Assignee: ThoughtSpot, Inc.
G06F16/24564G06F16/2228G06F16/242G06F16/248
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,544,272
App. No.
17/225,349
Granted
Jan 3, 2023
Kind
B2
Abstract

Operating a low-latency database analysis system with phrase translation may include obtaining a locale-specific phrase localization rule and a canonical phrase localization rule for a phrase, generating a locale-specific index and a locale-specific finite state machine for the locale using the localization definition data and a canonical finite state machine, generating a resolved-request by obtaining a locale-specific token representing locale-specific input data by traversing the locale-specific index, obtaining a canonical token associated with locale-specific token, obtaining a locale-specific phrase by traversing the locale-specific finite state machine, obtaining a canonical phrase corresponding to the locale-specific phrase, the canonical phrase including the canonical token, generate a data-query based on the canonical phrase, obtaining results data responsive to the data expressing the usage intent by executing a query corresponding to the data-query by an in-memory database of the low-latency database analysis system, and outputting the results data for presentation to a user.

Claims (92)

1. A method for use in a low-latency database analysis system, the method comprising:

obtaining localization definition data for a locale other than a canonical locale, the localization definition data including a locale-specific phrase localization rule for a phrase and a canonical phrase localization rule for the phrase;

generating a locale-specific index for the locale using the localization definition data;

in response to obtaining the localization definition data, generating a locale-specific finite state machine for the locale using the localization definition data, the locale-specific index, and a canonical finite state machine;

obtaining, in the low-latency database analysis system, data expressing a usage intent with respect to the low-latency database analysis system, the data expressing the usage intent including locale-specific input data;

in response to obtaining the data expressing the usage intent, generating a resolved-request by:

obtaining a locale-specific token representing the locale-specific input data by traversing the locale-specific index, wherein obtaining the locale-specific token includes obtaining a canonical token associated with locale-specific token;

in response to obtaining the locale-specific token, obtaining a locale-specific phrase by traversing the locale-specific finite state machine;

in response to identifying the locale-specific phrase, obtaining a canonical phrase corresponding to the locale-specific phrase, the canonical phrase including the canonical token;

generating a data-query based on the canonical phrase;

obtaining results data responsive to the data expressing the usage intent by executing a query corresponding to the data-query by an in-memory database of the low-latency database analysis system; and

outputting the results data for presentation to a user.

2. The method of claim 1 , wherein obtaining the localization definition data includes:

generating the canonical phrase localization rule using the canonical finite state machine, wherein the canonical phrase localization rule includes a phrase localization rule identifier that uniquely identifies the phrase in the low-latency database analysis system; and

generating a portion of the locale-specific phrase localization rule using the canonical finite state machine, wherein the portion of the locale-specific phrase localization rule includes the phrase localization rule identifier.

3. The method of claim 2 , wherein obtaining the localization definition data includes:

storing the canonical phrase localization rule in a canonical phrase localization file; and

storing the portion of the locale-specific phrase localization rule in a locale-specific phrase localization file.

4. The method of claim 3 , wherein obtaining the localization definition data includes:

reading the canonical phrase localization rule from the canonical phrase localization file; and

reading the locale-specific phrase localization rule from the locale-specific phrase localization file.

5. The method of claim 1 , wherein generating the locale-specific finite state machine includes:

identifying the locale-specific phrase localization rule from the localization definition data, wherein the locale-specific phrase localization rule includes a phrase localization rule identifier and a locale-specific phrase-pattern corresponding to the local-specific phrase, wherein the phrase localization rule identifier uniquely identifies the phrase in the low-latency database analysis system;

identifying the canonical phrase localization rule from the localization definition data using the phrase localization rule identifier, wherein the canonical phrase localization rule includes the phrase localization rule identifier and a canonical phrase-pattern corresponding to the phrase;

traversing the canonical finite state machine using the canonical phrase-pattern to identify a state of the canonical finite state machine corresponding to the canonical phrase-pattern, wherein the canonical finite state machine includes a phrase property for the phrase associated with the state of the canonical finite state machine corresponding to the canonical phrase-pattern;

obtaining the phrase property from the canonical finite state machine;

generating a state of the locale-specific finite state machine corresponding to the locale-specific phrase-pattern; and

including the phrase property in the locale-specific finite state machine in association with the state of the locale-specific finite state machine corresponding to the locale-specific phrase-pattern.

6. The method of claim 1 , wherein the locale-specific input data includes unresolved character string input data.

7. The method of claim 1 , wherein the locale-specific input data includes unresolved input event data for a data input event, wherein a defined combination of data input events is associated with a locale-specific input character.

8. The method of claim 1 , wherein the data expressing the usage intent includes data identifying the locale, and wherein generating the resolved-request includes identifying the locale-specific finite state machine using the data identifying the locale.

9. The method of claim 1 , wherein obtaining the locale-specific phrase includes:

traversing the locale-specific finite state machine to identify a transition of the locale-specific finite state machine corresponding to the locale-specific token;

obtaining a phrase property from the locale-specific finite state machine, the phrase property associated with the transition of the locale-specific finite state machine corresponding to the locale-specific token; and

identifying the locale-specific phrase in response to the phrase property.

10. The method of claim 9 , wherein obtaining the canonical phrase includes:

identifying the locale-specific phrase localization rule from the localization definition data, wherein the locale-specific phrase localization rule includes a locale-specific phrase-pattern corresponding to the locale-specific phrase and a phrase localization rule identifier that uniquely identifies the phrase in the low-latency database analysis system; and

identifying the canonical phrase localization rule from the localization definition data using the phrase localization rule identifier, wherein the canonical phrase localization rule includes the phrase localization rule identifier and a canonical phrase-pattern corresponding to the canonical phrase.

11. The method of claim 10 , wherein:

the locale-specific input data includes a value;

generating the resolved-request includes tokenizing the value to identify a value token representing the value, wherein the value token is a value token type token;

identifying the locale-specific phrase localization rule such that the locale-specific phrase-pattern includes a value token type identifier that indicates the value token type and the locale-specific phrase-pattern omits a value token corresponding to the value token type;

identifying the canonical phrase localization rule such that the canonical phrase-pattern includes the value token type identifier that indicates the value token type and the canonical phrase-pattern omits a value token corresponding to the value token type; and

obtaining the canonical phrase includes including the value token in the canonical phrase and omitting the value token type identifier from the canonical phrase.

12. A method for use in a low-latency database analysis system, the method comprising:

obtaining localization definition data for a locale other than a canonical locale, the localization definition data including a locale-specific phrase localization rule for a phrase and a canonical phrase localization rule for the phrase;

in response to obtaining the localization definition data:

generating a locale-specific index for the locale using the localization definition data; and

generating a locale-specific finite state machine for the locale using the localization definition data and a canonical finite state machine;

generating a resolved-request in response to receiving, in the low-latency database analysis system, data expressing a usage intent with respect to the low-latency database analysis system, the data expressing the usage intent including locale-specific input data;

obtaining results data responsive to the data expressing the usage intent by executing a query corresponding to the resolved-request by an in-memory database of the low-latency database analysis system; and

outputting the results data for presentation to a user.

13. The method of claim 12 , wherein obtaining the localization definition data includes:

generating the canonical phrase localization rule using the canonical finite state machine, wherein the canonical phrase localization rule includes a phrase localization rule identifier that uniquely identifies the phrase in the low-latency database analysis system; and

generating a portion of the locale-specific phrase localization rule using the canonical finite state machine, wherein the portion of the locale-specific phrase localization rule includes the phrase localization rule identifier.

14. The method of claim 13 , wherein obtaining the localization definition data includes:

storing the canonical phrase localization rule in a canonical phrase localization file; and

storing the portion of the locale-specific phrase localization rule in a locale-specific phrase localization file.

15. The method of claim 14 , wherein obtaining the localization definition data includes:

reading the canonical phrase localization rule from the canonical phrase localization file; and

reading the locale-specific phrase localization rule from the locale-specific phrase localization file.

16. The method of claim 12 , wherein generating the locale-specific finite state machine includes:

identifying the locale-specific phrase localization rule from the localization definition data, wherein the locale-specific phrase localization rule includes a phrase localization rule identifier and a locale-specific phrase-pattern corresponding to the local-specific phrase, wherein the phrase localization rule identifier uniquely identifies the phrase in the low-latency database analysis system;

identifying the canonical phrase localization rule from the localization definition data using the phrase localization rule identifier, wherein the canonical phrase localization rule includes the phrase localization rule identifier and a canonical phrase-pattern corresponding to the phrase;

traversing the canonical finite state machine using the canonical phrase-pattern to identify a state of the canonical finite state machine corresponding to the canonical phrase-pattern, wherein the canonical finite state machine includes a phrase property for the phrase associated with the state of the canonical finite state machine corresponding to the canonical phrase-pattern;

obtaining the phrase property from the canonical finite state machine;

generating a state of the locale-specific finite state machine corresponding to the locale-specific phrase-pattern; and

including the phrase property in the locale-specific finite state machine in association with the state of the locale-specific finite state machine corresponding to the locale-specific phrase-pattern.

17. A method for use in a low-latency database analysis system, the method comprising:

obtaining, in the low-latency database analysis system, data expressing a usage intent with respect to the low-latency database analysis system, the data expressing the usage intent including locale-specific input data for a locale other than a canonical locale;

in response to obtaining the data expressing the usage intent, generating a resolved-request by:

obtaining a locale-specific finite state machine for the locale;

obtaining a locale-specific index for the locale;

obtaining a locale-specific token representing the locale-specific input data by traversing the locale-specific index, wherein obtaining the locale-specific token includes obtaining a canonical token associated with locale-specific token;

in response to obtaining the locale-specific token, obtaining a locale-specific phrase by traversing the locale-specific finite state machine;

in response to identifying the locale-specific phrase, obtaining a canonical phrase corresponding to the locale-specific phrase, the canonical phrase including the canonical token;

generating a data-query based on the canonical phrase;

obtaining results data responsive to the data expressing the usage intent by executing a query corresponding to the data-query by an in-memory database of the low-latency database analysis system; and

outputting the results data for presentation to a user.

18. The method of claim 17 , wherein obtaining the locale-specific phrase includes:

traversing the locale-specific finite state machine to identify a state of the locale-specific finite state machine corresponding to the locale-specific token;

obtaining a phrase property from the locale-specific finite state machine, the phrase property associated with the state of the locale-specific finite state machine corresponding to the locale-specific token; and

identifying the locale-specific phrase in response to the phrase property.

19. The method of claim 18 , wherein obtaining the canonical phrase includes:

identifying the locale-specific phrase localization rule from the localization definition data, wherein the locale-specific phrase localization rule includes a locale-specific phrase-pattern corresponding to the locale-specific phrase and a phrase localization rule identifier that uniquely identifies the phrase in the low-latency database analysis system; and

identifying the canonical phrase localization rule from the localization definition data using the phrase localization rule identifier, wherein the canonical phrase localization rule includes the phrase localization rule identifier and a canonical phrase-pattern corresponding to the canonical phrase.

20. The method of claim 19 , wherein:

the locale-specific input data includes a value;

generating the resolved-request includes tokenizing the value to identify a value token representing the value, wherein the value token is a value token type token;

identifying the locale-specific phrase localization rule such that the locale-specific phrase-pattern includes a value token type identifier that indicates the value token type and the locale-specific phrase-pattern omits a value token corresponding to the value token type;

identifying the canonical phrase localization rule such that the canonical phrase-pattern includes the value token type identifier that indicates the value token type and the canonical phrase-pattern omits a value token corresponding to the value token type; and

obtaining the canonical phrase includes including the value token in the canonical phrase and omitting the value token type identifier from the canonical phrase.

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 Apr 15, 2021
From: ARORA, PULKIT; JAIN, RAMNIK; KOTHARI, RAKESH; BANSAL, ARCHIT; KASERA, VISHAL
To: THOUGHTSPOT, INC.
Reel/Frame 055925/0345 →
Continuity (2)
Provisional Application 63007449 · Apr 9, 2020
Related Publication 20210319029A1 · Oct 14, 2021