IP Library Granted Patent US 11,556,571
Granted Patent B2
US 11,556,571 · App. 17/218,318 · Granted Jan 17, 2023

Phrase indexing

Inventors: Archit Bansal (Cupertino, CA); Ben Limonchik (Menlo Park, CA); Rakesh Kothari (San Jose, CA); Manikanta Balakavi (Mountain View, CA)
Assignee: ThoughtSpot, Inc.
G06F16/313G06F16/31G06F16/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 11,556,571
App. No.
17/218,318
Granted
Jan 17, 2023
Kind
B2
Abstract

Intent-resolution using a phrase index may include obtaining data expressing a usage intent, the data expressing the usage intent including 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, an indexed phrase as a candidate phrase by searching a phrase index based on the phrase fragment, wherein the candidate phrase at least partially matches the phrase fragment in accordance with the defined phrase pattern, and outputting the candidate phrase for presentation to a user as a candidate for resolving the unresolved portion.

Claims (55)

1. A method comprising:

obtaining data expressing a usage intent, the data expressing the usage intent including 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, an indexed phrase as a candidate phrase by searching a phrase index based on the phrase fragment, wherein the candidate phrase at least partially matches the phrase fragment in accordance with the defined phrase pattern; and

outputting the candidate phrase for presentation to a user as a candidate for resolving the unresolved portion.

2. The method of claim 1 , wherein identifying the candidate phrase includes identifying a plurality of indexed phrases as a plurality of candidate phrases respectively at least partially matching the phrase fragment in accordance with the defined phrase pattern.

3. The method of claim 1 , wherein identifying the candidate phrase includes:

in response to a determination that the phrase index omits the indexed phrase, generating the indexed phrase by indexing the phrase fragment in the phrase index.

4. 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.

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

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

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

8. The method of claim 1 , wherein the indexed phrase is a previously indexed phrase associated with the user.

9. The method of claim 1 , wherein the candidate phrase is a previously indexed phrase associated with an organization wherein the user is associated with the organization.

10. The method of claim 1 , further comprising:

identifying a candidate token by traversing a token index based on the phrase fragment;

weighting the candidate token and the candidate phrase to obtain a weighted candidate token and a weighted candidate phrase; and

sorting the weighted candidate token and the weighted candidate phrase to obtain sorted candidate resolutions;

wherein outputting the candidate phrase includes outputting the sorted candidate resolutions for presentation to the user as respective candidates for resolving the unresolved data portion.

11. 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 an indexed phrase as a candidate phrase by searching a phrase index based on the phrase fragment, wherein the candidate phrase at least partially matches the phrase fragment in accordance with the defined phrase pattern; and

output the candidate phrase to the system access interface unit, wherein the system access interface unit is configured to present the candidate phrase to the user as a candidate for resolving the unresolved data portion.

12. The system of claim 11 , wherein to identify the candidate phrase the relational search unit is configured to identify a plurality of indexed phrases as a plurality of candidate phrases respectively at least partially matching the phrase fragment in accordance with the defined phrase pattern.

13. The system of claim 11 , wherein to identify the candidate phrase the relational search unit is configured to:

in response to a determination that the phrase index omits the indexed phrase index the phrase fragment in the phrase index to generate the indexed phrase.

14. The system 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.

15. The system of claim 11 , wherein the indexed phrase is a previously indexed phrase associated with the user.

16. The system of claim 11 , wherein the candidate phrase is a previously indexed phrase associated with an organization wherein the user is associated with the organization.

17. The system of claim 11 , wherein the relational search unit is configured to:

identify a candidate token by traversing a token index based on the phrase fragment;

weight the candidate token and the candidate phrase to obtain a weighted candidate token and a weighted candidate phrase; and

sort the weighted candidate token and the weighted candidate phrase to obtain sorted candidate resolutions;

wherein, to output the candidate phrase the relational search unit is configured to output the sorted candidate resolutions to the system access interface unit, wherein, to present the candidate phrase the system access interface unit is configured to present the sorted candidate resolutions to the user as respective candidates for resolving the unresolved data portion.

18. A method comprising:

obtaining first data expressing a first usage intent, the first data expressing the first usage intent including a first unresolved data portion;

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

in response to a determination that a phrase index omits an indexed phrase matching the first phrase fragment in accordance with the defined phrase pattern, indexing the first phrase fragment in the phrase index;

subsequent to indexing the first phrase fragment, obtaining second data expressing a second usage intent, the second data expressing the second usage intent including a second unresolved data portion;

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

identifying, by a processor, the indexed phrase as a candidate phrase by searching the phrase index based on the second phrase fragment, wherein the candidate phrase at least partially matches the second phrase fragment in accordance with the defined phrase pattern; and

outputting the candidate phrase for presentation to a first user as a candidate for resolving the unresolved portion.

19. The method of claim 18 , wherein:

obtaining the first data expressing the first usage intent includes obtaining the first data expressing the first usage intent in response to first user input associated with the first user; and

obtaining the second data expressing the second usage intent includes obtaining the second data expressing the second usage intent in response to second user input associated with the first user.

20. The method of claim 18 , wherein:

obtaining the first data expressing the first usage intent includes obtaining the first data expressing the first usage intent in response to first user input associated with a second user associated with an organization; and

obtaining the second data expressing the second usage intent includes obtaining the second data expressing the second usage intent in response to second user input associated with the first user, wherein the first user is associated with the organization.

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 Mar 31, 2021
From: BANSAL, ARCHIT; LIMONCHIK, BEN; KOTHARI, RAKESH; BALAKAVI, MANIKANTA
To: THOUGHTSPOT, INC.
Reel/Frame 055779/0336 →
Continuity (2)
Continuation 16525406 · Jul 29, 2019
Related Publication 20210240747A1 · Aug 5, 2021