US 11,874,842 B2
Phrase translation for a low-latency database analysis system
Pulkit Arora, Bengaluru (IN); Ramnik Jain, Karnataka (IN); Rakesh Kothari, San Jose, CA (US); Archit Bansal, Cupertino, CA (US); and Vishal Kasera, San Francisco, CA (US)
Assigned to ThoughtSpot, Inc., Mountain View, CA (US)
Filed by ThoughtSpot, Inc., Mountain View, CA (US)
Filed on Dec. 6, 2022, as Appl. No. 18/075,551.
Application 18/075,551 is a continuation of application No. 17/225,349, filed on Apr. 8, 2021, granted, now 11,544,272.
Claims priority of provisional application 63/007,449, filed on Apr. 9, 2020.
Prior Publication US 2023/0114748 A1, Apr. 13, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/2455 (2019.01); G06F 16/22 (2019.01); G06F 16/242 (2019.01); G06F 16/248 (2019.01)
CPC G06F 16/24564 (2019.01) [G06F 16/2228 (2019.01); G06F 16/242 (2019.01); G06F 16/248 (2019.01)] 20 Claims
OG exemplary drawing
 
1. An apparatus comprising:
memory configured to store instructions for phrase translation for use in a low-latency database analysis system; and
a processor that executes the instructions to:
obtain 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;
generate a locale-specific index for the locale, wherein to generate the locale-specific index, the processor executes the instructions to use the localization definition data;
in response to the localization definition data, generate a locale-specific finite state machine for the locale in accordance with the localization definition data, the locale-specific index, and a canonical finite state machine;
obtain, 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 the data expressing the usage intent, generate a resolved-request, wherein to generate the resolved-request, the processor executes the instructions to:
obtain a locale-specific token representing the locale-specific input data, wherein to obtain the locale-specific token, the processor executes the instructions to traverse the locale-specific index, wherein to obtain the locale-specific token, the processor executes the instructions to obtain a canonical token associated with locale-specific token;
in response to the locale-specific token, obtain a locale-specific phrase wherein to obtain the locale-specific phrase, the processor executes the instructions to traverse the locale-specific finite state machine; and
in response to the locale-specific phrase, obtain 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;
obtain results data responsive to the data expressing the usage intent wherein to obtain the results data, the processor executes the instructions to execute a query corresponding to the data-query by an in-memory database of the low-latency database analysis system; and
output the results data for presentation to a user.