IP Library Granted Patent US 10,970,319
Granted Patent B2
US 10,970,319 · App. 16/525,406 · Granted Apr 6, 2021

Phrase indexing

Inventors: Archit Bansal (Cupertino, CA); Ben Limonchik (Sunnyvale, CA); Rakesh Kothari (San Jose, CA); Manikanta Balakavi (Mountain View, CA)
Assignee: ThoughtSpot, Inc.
G06F16/313G06F16/338G06F16/3344
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 10,970,319
App. No.
16/525,406
Granted
Apr 6, 2021
Kind
B2
Abstract

Intent-resolution using a phrase index may include obtaining data expressing a usage intent, the data indicating an unresolved data portion, identifying a phrase fragment based on the data expressing the usage intent and a phrase pattern, the phrase fragment including the unresolved data portion, identifying candidate tokens, identifying candidate phrases by traversing a phrase index based on the phrase fragment, wherein identifying the candidate phrases includes, in response to a determination that the phrase index includes an indexed phrase at least partially matching the phrase fragment in accordance with the phrase pattern, the indexed phrase is identified as one of the candidate phrases, identifying candidate resolved-requests, weighting and sorting the candidate tokens, the candidate phrases, and the candidate resolved-request, to obtain sorted candidate resolutions, and outputting one or more of the sorted candidate resolutions for presentation to a user as respective candidates for resolving the unresolved data portion.

Claims (54)

1. A method comprising:

obtaining data expressing a usage intent, the data expressing the usage intent indicating an unresolved data portion;

identifying a phrase fragment based on the data expressing the usage intent and a defined phrase pattern, the phrase fragment including the unresolved data portion;

identifying zero or more candidate tokens by traversing a token index based on the phrase fragment;

identifying, by a processor, zero or more candidate phrases by traversing a phrase index based on the phrase fragment, wherein identifying the candidate phrases includes, in response to a determination that the phrase index includes an indexed phrase at least partially matching the phrase fragment in accordance with the defined phrase pattern, the indexed phrase is identified as one of the candidate phrases;

identifying zero or more candidate resolved-requests by traversing a resolved-request index based on the data expressing the usage intent;

weighting the candidate tokens, the candidate phrases, and the candidate resolved-request, to obtain zero or more weighted candidate tokens, zero or more weighted candidate phrases, and zero or more weighted candidate resolved-requests;

sorting the weighted candidate tokens, the weighted candidate phrases, and the weighted candidate resolved-request to obtain sorted candidate resolutions; and

outputting one or more of the sorted candidate resolutions for presentation to a user as respective candidates for resolving the unresolved data portion.

2. The method of claim 1 , wherein the data expressing the usage intent includes string data indicating the unresolved data portion, and the phrase fragment omits data portions other than the unresolved data portion.

3. The method of claim 1 , wherein the phrase fragment includes an ordered sequence of tokens preceding the unresolved data portion.

4. The method of claim 3 , wherein the data expressing the usage intent includes string data indicating the unresolved data portion.

5. The method of claim 3 , wherein the data expressing the usage intent omits string data indicating the unresolved data portion.

6. The method of claim 1 , further comprising:

in response to a determination that the phrase index omits an indexed phrase matching the phrase fragment, indexing the phrase fragment in the phrase index.

7. The method of claim 1 , wherein obtaining the data expressing the usage intent includes obtaining the data expressing the usage intent in response to user input.

8. The method of claim 7 , wherein a candidate phrase from the candidate phrases is a previously indexed phrase associated with an organization wherein the user is associated with the organization.

9. The method of claim 7 , wherein a candidate phrase from the candidate phrases is a previously indexed phrase associated with the user.

10. The method of claim 1 , wherein the defined phrase pattern is one of a plurality of defined phrase patterns.

11. A method comprising:

obtaining data expressing a usage intent, the data expressing the usage intent indicating an unresolved data portion;

identifying a phrase fragment based on the data expressing the usage intent and a defined phrase pattern, the phrase fragment including the unresolved data portion;

identifying, by a processor, zero or more candidate phrases by searching a phrase index based on the phrase fragment, wherein identifying the candidate phrases includes:

in response to a determination that the phrase index includes one or more indexed phrases at least partially matching the phrase fragment in accordance with the defined phrase pattern, the indexed phrases are identified as candidate phrases; and

in response to a determination that the phrase index omits an indexed phrase matching the phrase fragment, indexing the phrase fragment in the phrase index; and

outputting one or more of the candidate phrases for presentation to a user as respective candidates for resolving the unresolved data portion.

12. The method of claim 11 , wherein:

the data expressing the usage intent includes string data indicating the unresolved data portion; and

the phrase fragment omits data portions other than the unresolved data portion.

13. The method of claim 11 , wherein the phrase fragment includes a token or an ordered sequence of tokens preceding the unresolved data portion.

14. The method of claim 13 , wherein the data expressing the usage intent includes string data indicating the unresolved data portion.

15. The method of claim 13 , wherein the data expressing the usage intent omits string data indicating the unresolved data portion.

16. The method of claim 11 , wherein the indexed phrases are previously indexed phrases associated with the user.

17. A low-latency database analysis system comprising:

a system access interface unit configured to generate data expressing a usage intent, the data expressing the usage intent indicating an unresolved data portion; and

a relational search unit configured to:

obtain the data expressing the usage intent from the system access interface unit;

identify a phrase fragment based on the data expressing the usage intent and a defined phrase pattern, the phrase fragment including the unresolved data portion;

identify zero or more candidate tokens by traversing a token index based on the phrase fragment;

identify zero or more candidate phrases by traversing a phrase index based on the phrase fragment, wherein traversing the phrase index includes, in response to a determination that the phrase index includes an indexed phrase at least partially matching the phrase fragment in accordance with the defined phrase pattern, identifying the indexed phrase as one of the candidate phrases, wherein the indexed phrase is associated with a user associated with the data expressing the usage intent;

in response to a determination that the phrase index omits an indexed phrase matching the phrase fragment, index the phrase fragment in the phrase index;

identify zero or more candidate resolved-requests by traversing a resolved-request index based on the data expressing the usage intent;

weight the candidate tokens, the candidate phrases, and the candidate resolved-request, to obtain zero or more weighted candidate tokens, zero or more weighted candidate phrases, and zero or more weighted candidate resolved-requests;

sort the weighted candidate tokens, the weighted candidate phrases, and the weighted candidate resolved-requests to obtain sorted candidate resolutions; and

output one or more of the sorted candidate resolutions to the system access interface unit, wherein the system access interface unit is configured to present one or more of the sorted candidate resolutions to the user as respective candidates for resolving the unresolved data portion.

18. The system of claim 17 , wherein:

the data expressing the usage intent includes string data indicating the unresolved data portion; and

the phrase fragment omits data portions other than the unresolved data portion.

19. The system of claim 17 , wherein:

the phrase fragment includes a token or an ordered sequence of tokens preceding the unresolved data portion; and

the data expressing the usage intent includes string data indicating the unresolved data portion.

20. The system of claim 17 , wherein:

the phrase fragment includes a token or an ordered sequence of tokens preceding the unresolved data portion; and

the data expressing the usage intent omits string data indicating the unresolved data portion.

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 Nov 1, 2019
From: BANSAL, ARCHIT; LIMONCHIK, BEN; KOTHARI, RAKESH; BALAKAVI, MANIKANTA
To: THOUGHTSPOT, INC.
Reel/Frame 050889/0118 →
Continuity (1)
Related Publication 20210034649A1 · Feb 4, 2021
Cited By (2)
US 12,229,096 US 12,271,907