IP Library Granted Patent US 9,165,033
Granted Patent B1
US 9,165,033 · App. 14/154,024 · Granted Oct 20, 2015

Efficient query rewriting

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,033
App. No.
14/154,024
Granted
Oct 20, 2015
Kind
B1
Abstract

Methods and systems for efficient query rewriting and the like are described here. One such described method comprises: offline mapping frequently-seen search queries to rewritten queries that may be better for searching; offline caching the mapping in a cache memory; and upon receiving a search query from a user similar to one of the mapped search queries, obtaining a corresponding rewritten query from the mapping in the cache memory based on predetermined conditions, and issuing a search of the rewritten query to the backend data system in order to avoid having to issue a search query to the backend data system twice while the user is online.

Claims (50)

1. A computer-implemented method comprising:

selecting an original query from records of previously received user queries;

rewriting the original query to generate a rewritten query;

determining, based on records of user interactions with first search results obtained using the original query and second search results obtained using the rewritten query, that a preference is indicated among users for search results obtained using the rewritten query over search results obtained using the original query;

in response to determining that the preference is indicated among users for search results obtained using the rewritten query over search results obtained using the original query, generating mapping data that maps the original query to the rewritten query to cause subsequently received user queries that include the original query to be rewritten using the rewritten query; and

at a later time, receiving a first user query, determining that the first user query or a substring of the first user query matches the original query, and in response, identifying the rewritten query from the mapping data, obtaining search results using a substitute query that includes the rewritten query, and returning the search results obtained using the substitute query in a response to the first user query.

2. The computer-implemented method of claim 1 , further comprising using the rewritten query as the substitute query.

3. The computer-implemented method of claim 1 , further comprising generating the substitute query by replacing a substring of the first user query with the rewritten query.

4. The computer-implemented method of claim 1 , wherein selecting the original query comprises determining that the original query or a substring of the original query has been submitted by users with at least a threshold frequency.

5. The computer-implemented method of claim 1 , wherein rewriting the original query to generate the rewritten query comprises replacing one or more original terms in the original query with one or more other terms, the one or more other terms being more popular than the one or more original terms.

6. The computer-implemented method of claim 1 , wherein rewriting the original query to generate the rewritten query comprises supplementing the original query with one or more additional terms that are related to the original query.

7. The computer-implemented method of claim 1 , wherein rewriting the original query comprises:

receiving data from a search engine identifying documents that satisfy the original query;

identifying one or more terms that are overrepresented in the documents; and

expanding the original query to include the one or more terms.

8. The computer-implemented method of claim 1 , further comprising caching the mapping data.

9. A computer-implemented method, comprising:

selecting an original query from records of previously received user queries;

designating the original query as a candidate for automatic rewriting;

rewriting the original query to generate a rewritten query;

receiving, from a plurality of users, a plurality of queries that include the original query;

performing an experiment that includes (i) responding to a subset of the plurality of queries with search results obtained using queries that include the rewritten query, and (ii) recording interaction by corresponding ones of the plurality of users with links in the search results;

determining, based on results of the experiment, whether to respond to future user queries that include the original query with search results obtained using queries that include the rewritten query;

determining that users are more likely to prefer search results obtained using the rewritten query over search results obtained using the original query;

generating mapping data that maps the original query to the rewritten query; and

at a later time, receiving a first user query, determining that the first user query or a substring of the first user query matches the original query, and in response, identifying the rewritten query from the mapping data, obtaining search results using a substitute query that includes the rewritten query, and returning the search results obtained using the substitute query in a response to the first user query.

10. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors, cause performance of operations comprising:

selecting an original query from records of previously received user queries;

rewriting the original query to generate a rewritten query;

determining, based on records of user interactions with first search results obtained using the original query and second search results obtained using the rewritten query, that a preference is indicated among users for search results obtained using the rewritten query over search results obtained using the original query;

in response to determining that the preference is indicated among users for search results obtained using the rewritten query over search results obtained using the original query, generating mapping data that maps the original query to the rewritten query to cause subsequently received user queries that include the original query to be rewritten using the rewritten query; and

at a later time, receiving a first user query, determining that the first user query or a substring of the first user query matches the original query, and in response, identifying the rewritten query from the mapping data, obtaining search results using a substitute query that includes the rewritten query, and returning the search results obtained using the substitute query in a response to the first user query.

11. The non-transitory computer-readable medium of claim 10 ,

wherein the operations further comprise using the rewritten query as the substitute query.

12. The non-transitory computer-readable medium of claim 10 , wherein selecting the original query comprises determining that the original query or a substring of the original query has been submitted by users with at least a threshold frequency.

13. A computer system comprising:

one or more computers programmed to perform operations comprising:

selecting an original query from records of previously received user queries;

rewriting the original query to generate a rewritten query;

determining, based on records of user interactions with first search results obtained using the original query and second search results obtained using the rewritten query, that a preference is indicated among users for search results obtained using the rewritten query over search results obtained using the original query;

in response to determining that the preference is indicated among users for search results obtained using the rewritten query over search results obtained using the original query, generating mapping data that maps the original query to the rewritten query to cause subsequently received user queries that include the original query to be rewritten using the rewritten query; and

at a later time, receiving a first user query, determining that the first user query or a substring of the first user query matches the original query, and in response, identifying the rewritten query from the mapping data, obtaining search results using a substitute query that includes the rewritten query, and returning the search results obtained using the substitute query in a response to the first user query.

14. The system of claim 13 , wherein the operations further comprise using the rewritten query as the substitute query.

15. The system of claim 13 , wherein the operations further comprise generating the substitute query by replacing a substring of the first user query with the rewritten query.

16. The system of claim 13 , wherein selecting the original query comprises determining that the original query or a substring of the original query has been submitted by users with at least a threshold frequency.

17. The system of claim 13 , wherein determining that a preference is indicated among users for search results obtained using the rewritten query over search results obtained using the original query comprises:

designating the original query as a candidate for automatic rewriting;

receiving, from a plurality of users, a plurality of queries that include the original query;

performing an experiment that includes (i) responding to a first subset of the plurality of queries with first search results obtained using queries that include the original query, (ii) responding to a second subset of the plurality of queries with second search results obtained using queries that include the rewritten query, and (iii) recording interaction by corresponding ones of the plurality of users with links in the first and second search results; and

determining, based on results of the experiment, that the preference is indicated for search results obtained using the rewritten query over search results obtained using the original query.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2014
From: TUCKER, PAUL; SINGHAL, AMIT; JACKSON, ERIC
To: GOOGLE INC.
Reel/Frame 031958/0079 →