IP Library Granted Patent US 9,165,074
Granted Patent B2
US 9,165,074 · App. 13/690,856 · Granted Oct 20, 2015

Systems and methods for performing geo-search and retrieval of electronic point-of-interest records using a big index

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 9,165,074
App. No.
13/690,856
Granted
Oct 20, 2015
Kind
B2
Abstract

Methods and systems for providing a geo-search engine capability for large point-of-interest record datasets are disclosed. These methods and systems employ a Partition-by-Query index containing key-values pairs corresponding to keys reflecting concept-ordered geo-search phrases and values reflecting ordered lists of point-of-interest record references that are responsive to the concept-ordered geo-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 clusters. The methods and systems described herein may provide suggestions and spelling corrections to the user, thereby improving the user's geo-search engine experience while meeting user expectations for geo-search quality and responsiveness.

Claims (44)

1. A method for configuring a search engine to provide spelling corrections or suggestions to search queries, the method comprising:

generating, by a computing device, one or more residual strings associated with a first token in record corpus, wherein each of the one or more residual strings represents a variation of the first token and is associated with a first weight reflecting a degree of variation from the first token;

generating, by the computing device, a first list associated with the first token, the first list comprising the one or more residual strings and the first weights associated with the one or more residual strings;

generating, by the computing device, a second list associated with at least one of the one or more residual strings;

wherein the second list comprises one or more second tokens;

wherein each of the one or more second tokens represents a variation of the at least one of the one or more residual strings; and

wherein each of the one or more second tokens is associated, in the second list, with a second weight reflecting a degree of variation from the at least one of the one or more residual strings; and

generating, by the computing device, a third list associated with the first token, wherein the third list comprises the one or more second tokens;

wherein at least one of the one or more second tokens is associated, in the third list, with a third weight reflecting a relationship between the first token and the at least one of one or more second tokens; and

wherein the third weight is generated by a combination of the first weight and the second weight; and

determining, by the computing device, a spelling correction or suggestion to the search query based on the one or more third weights.

2. The method of claim 1 , wherein propagating tokens generating a third list further comprises discarding redundant residual strings.

3. The method of claim 2 , further comprising the step of generating, by a computing device, a bloom filter.

4. An apparatus for providing geo-search engine suggestions to users, the apparatus comprising:

at least one processor;

a network connection; and

a memory comprising instructions that, when executed by the at least one processor, perform the operations of:

generating, by the at least one processor, one or more residual strings associated with a first token in a record corpus of point of interest records, wherein each point of interest record comprises a name and a location formed from tokens;

wherein each of the one or more residual strings represents a variation of the first token and is associated with a first weight reflecting a degree of variation from the first token;

generating, by the at least one processor, a first list associated with the first token, the first list comprising the one or more residual strings and the first weights associated with the one or more residual strings;

generating, by the at least one processor, a second list associated with at least one of the one or more residual strings;

wherein the second list comprises one or more second tokens;

wherein each of the one or more second tokens represents a variation of the at least one of the one or more residual strings; and

wherein each of the one or more second tokens is associated, in the second list, with a second weight reflecting a degree of variation from the at least one of the one or more residual strings; and

generating, by the at least one processor, a third list associated with the first token, wherein the third list comprises the one or more second tokens;

wherein at least one of the one or more second tokens is associated, in the third list, with a third weight reflecting a relationship between the first token and the at least one of one or more second tokens; and

wherein the third weight is generated by a combination of the first weight and the second weight; and

determining, by the at least one processor, a geo-search suggestion to a geo-search query for a point of interest based on the one or more third weights.

5. The apparatus of claim 4 , wherein generating a third list further comprises discarding redundant residual strings.

6. The apparatus of claim 5 , the memory further comprising instructions that, when executed, perform the step of generating a bloom filter.

7. A non-transitory computer-readable medium containing instructions that, when executed, perform a method comprising the steps of:

generating, by at least one processor, one or more residual strings associated with a first token in a record corpus of point of interest records, wherein each point of interest record comprises a name and a location formed from tokens;

wherein each of the one or more residual strings represents a variation of the first token and is associated with a first weight reflecting a degree of variation from the first token;

generating, by the at least one processor, a first list associated with the first token, the first list comprising the one or more residual strings and the first weights associated with the one or more residual strings;

generating, by the at least one processor, a second list associated with at least one of the one or more residual strings;

wherein the second list comprises one or more second tokens;

wherein each of the one or more second tokens represents a variation of the at least one of the one or more residual strings; and

wherein each of the one or more second tokens is associated, in the second list, with a second weight reflecting a degree of variation from the at least one of the one or more residual strings; and

generating, by the at least one processor, a third list associated with the first token, wherein the third list comprises the one or more second tokens;

wherein at least one of the one or more second tokens is associated, in the third list, with a third weight reflecting a relationship between the first token and the at least one of one or more second tokens; and

wherein the third weight is generated by a combination of the first weight and the second weight; and

determining, by the at least one processor, a geo-search suggestion to a geo-search query for a point of interest based on the one or more third weights.

8. The non-transitory computer-readable medium of claim 7 , wherein generating a third list further comprises discarding redundant residual strings.

9. The non-transitory computer-readable medium of claim 8 further containing instructions that, when executed, perform a step of generating a bloom filter.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069110/0508 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT (TERM LOAN) AT REEL 039341, FRAME 0008 Recorded Sep 11, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069133/0140 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 055547/0404 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 45853 FRAME: 418. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 26, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 049259/0064 →
SECURITY INTEREST Recorded Apr 6, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 045853/0418 →
PATENT SECURITY AGREEMENT (REVOLVER) Recorded Jul 14, 2016
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 039341/0064 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jul 14, 2016
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 039341/0008 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2015
From: DECARTA LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 035622/0242 →
MERGER AND CHANGE OF NAME Recorded May 6, 2015
From: DECARTA INC.; DECARTA LLC
To: DECARTA LLC
Reel/Frame 035581/0194 →
MERGER AND CHANGE OF NAME Recorded Apr 29, 2015
From: MAGELLAN MERGER SUB CORP.; DECARTA INC.
To: DECARTA INC.
Reel/Frame 035530/0942 →
MERGER Recorded Apr 21, 2015
From: DECARTA INC.
To: DECARTA INC.
Reel/Frame 035462/0301 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2014
From: HENDRY, GEOFFREY
To: DECARTA, INC.
Reel/Frame 032673/0966 →