US2019147000A1PendingUtilityA1

Systems and methods for performing search and retrieval of electronic documents using a big index

Assignee: UBER TECHNOLOGIES INCPriority: May 10, 2011Filed: Jan 8, 2019Published: May 16, 2019
Est. expiryMay 10, 2031(~4.8 yrs left)· nominal 20-yr term from priority
G06F 16/319G06F 16/316G06F 16/36G06F 16/90324G06F 16/951G06F 17/16G06F 40/232G06F 16/31G06F 16/33G06F 17/273
63
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and systems for providing a search engine capability for large datasets are disclosed. These methods and systems employ a Partition-by-Query index containing key-values pairs corresponding to keys reflecting concept-ordered search phrases and values reflecting ordered lists of document references that are responsive to the concept-ordered search phrase in a corresponding key. A large Partition-by-Query index may be partitioned across multiple servers depending on the size of the index, or the size of the index may be reduced by compressing query-references pairs into dusters. The methods and systems described herein may to provide suggestions and spelling corrections to the user, thereby improving the user's search engine experience while meeting user expectations for search quality and responsiveness.

Claims

exact text as granted — not AI-modified
1 . A method for providing suggestions or spelling corrections in response to a search engine search query, the method comprising:
 generating by a computing device a confusion set of spelling corrections for a plurality of tokens in a corpus stored on a server, the confusion set comprising a plurality of producer lists,
 wherein each producer list associated with a token is a set of potential spelling corrections for the token and comprises residual strings derived by one or more character variations of the token, each residual string associated with a weight based on the number of character variations between the token and the residual string, 
 wherein for at least one token in the corpus there is at least one residual string that is generated from the token and that varies from the token by having at least one character that is not present in the token, 
 and wherein each producer list associated with the token forms a variation list for the residual string providing potential spelling corrections for the residual string, the variation list comprising the tokens that can be formed from the residual string and the number of character variations between each such token and the residual string; 
   receiving, by a computing device, one or more characters as input to a search engine;   retrieving, by the computing device, an entry from the confusion set on the server corresponding to the one or more characters; and   presenting, by the computing device, spelling corrections or suggestions to a user based at least in part on the entry retrieved from the confusion set.   
     
     
         2 . The method of  claim 1 , wherein retrieving an entry from the confusion set further comprises using a Bloom filter to determine whether there exists in the confusion set an entry corresponding to the one or more characters. 
     
     
         3 . The method of  claim 1 , wherein a character variation comprises character additions, modifications, or removals relative to a token. 
     
     
         4 . The method of  claim 1 , wherein a confusion set comprises suggestions and spelling corrections reflecting small and large changes to a given token, the confusion set prioritizing small changes to the token over large changes to the token. 
     
     
         5 . The method of  claim 1 , wherein a residual string is associated with one or more weights, each weight associated with a different token. 
     
     
         6 . The method of  claim 1 , further comprising:
 generating a confusion matrix comprising combinations of elements of the confusion set.   
     
     
         7 . The method of  claim 6 , further comprising:
 determining suggestions for presenting to the user using a Bloom filter on the confusion matrix for a plurality of confusion sets.   
     
     
         8 . A computer readable non-transitory storage medium storing instructions for:
 generating by a computing device a confusion set of spelling corrections for a plurality of tokens in a corpus stored on a server, the confusion set comprising a plurality of producer lists,
 wherein each producer list associated with a token is a set of potential spelling corrections for the token and comprises residual strings derived by one or more character variations of the token, each residual string associated with a weight based on the number of character variations between the token and the residual string, 
 wherein for at least one token in the corpus there is at least one residual string that is generated from the token and that varies from the token by having at least one character that is not present in the token, 
 and wherein each producer list associated with the token forms a variation list for the residual string providing potential spelling corrections for the residual string, the variation list comprising the tokens that can be formed from the residual string and the number of character variations between each such token and the residual string; 
   receiving, by a computing device, one or more characters as input to a search engine;   retrieving, by the computing device, an entry from the confusion set on the server corresponding to the one or more characters; and   presenting, by the computing device, spelling corrections or suggestions to a user based at least in part on the entry retrieved from the confusion set.   
     
     
         9 . The computer readable non-transitory storage medium of  claim 8 , wherein retrieving an entry from the confusion set further comprises using a Bloom filter to determine whether there exists in the confusion set an entry corresponding to the one or more characters. 
     
     
         10 . The computer readable non-transitory storage medium of  claim 8 , wherein a character variation comprises character additions, modifications, or removals relative to a token. 
     
     
         11 . The computer readable non-transitory storage medium of  claim 8 , wherein a confusion set comprises suggestions and spelling corrections reflecting small and large changes to a given token, the confusion set prioritizing small changes to the token over large changes to the token. 
     
     
         12 . The computer readable non-transitory storage medium of  claim 8 , wherein a residual string is associated with one or more weights, each weight associated with a different token. 
     
     
         13 . The computer readable non-transitory storage medium of  claim 8 , wherein the instructions are further for:
 generating a confusion matrix comprising combinations of elements of the confusion set.   
     
     
         14 . The computer readable non-transitory storage medium of  claim 8 , wherein the instructions are further for:
 determining suggestions for presenting to the user using a Bloom filter on the confusion matrix for a plurality of confusion sets.   
     
     
         15 . A computer system comprising:
 one or more processors; and   a computer readable non-transitory storage medium storing instructions for:
 generating by a computing device a confusion set of spelling corrections for a plurality of tokens in a corpus stored on a server, the confusion set comprising a plurality of producer lists,
 wherein each producer list associated with a token is a set of potential spelling corrections for the token and comprises residual strings derived by one or more character variations of the token, each residual string associated with a weight based on the number of character variations between the token and the residual string, 
 wherein for at least one token in the corpus there is at least one residual string that is generated from the token and that varies from the token by having at least one character that is not present in the token, 
 and wherein each producer list associated with the token forms a variation list for the residual string providing potential spelling corrections for the residual string, the variation list comprising the tokens that can be formed from the residual string and the number of character variations between each such token and the residual string; 
 
   receiving, by a computing device, one or more characters as input to a search engine;   retrieving, by the computing device, an entry from the confusion set on the server corresponding to the one or more characters; and   presenting, by the computing device, spelling corrections or suggestions to a user based at least in part on the entry retrieved from the confusion set.   
     
     
         16 . The computer system of  claim 15 , wherein retrieving an entry from the confusion set further comprises using a Bloom filter to determine whether there exists in the confusion set an entry corresponding to the one or more characters. 
     
     
         17 . The computer system of  claim 15 , wherein a character variation comprises character additions, modifications, or removals relative to a token. 
     
     
         18 . The computer system of  claim 15 , wherein a confusion set comprises suggestions and spelling corrections reflecting small and large changes to a given token, the confusion set prioritizing small changes to the token over large changes to the token. 
     
     
         19 . The computer system of  claim 15 , wherein a residual string is associated with one or more weights, each weight associated with a different token. 
     
     
         20 . The computer system of  claim 15 , wherein the instructions are further for:
 generating a confusion matrix comprising combinations of elements of the confusion set.

Join the waitlist — get patent alerts

Track US2019147000A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.