IP Library › Granted Patent US 9,547,690
Granted Patent B2
US 9,547,690 · App. 14/486,879 · Granted Jan 17, 2017

Query rewriting using session information

Inventors: Marcin M. Nowak-Przygodzki (Zurich, CH); Behshad Behzadi (Zurich, CH)
Assignee: Google Inc.
G06F17/30448G06F17/3053G06F17/30112G06F17/30424G06F17/30646G06F17/30867
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,547,690
App. No.
14/486,879
Filed
Sep 15, 2014
Granted
Jan 17, 2017
Kind
B2
Examiner
WOO, ISAAC M
Art Unit
2155
USPC
707/723
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for natural language processing. One of the methods includes receiving a search query from a user during a user session; obtaining a plurality of prior search queries by the user received during the user session; generating a plurality of candidate query rewrites, wherein the candidate query rewrites are derived from the search query and the plurality of prior search queries by the user; scoring each candidate query rewrite, wherein scoring each candidate rewrite includes determining a quality of each candidate query rewrite based on an analysis of search results responsive to the candidate query rewrite; selecting a candidate query rewrite having a score that satisfies a threshold value; and providing search results responsive to the selected candidate query rewrite.

Claims (40)

1. A method comprising:

receiving a search query from a user during a user session;

obtaining a plurality of prior search queries by the user received during the user session;

generating a plurality of candidate query rewrites, wherein the candidate query rewrites are derived from the search query and the plurality of prior search queries by the user;

scoring each candidate query rewrite, wherein scoring each candidate rewrite includes applying a plurality of scoring factors including a quality measure for each candidate query rewrite, and wherein the quality measure is based on an analysis of search results responsive to the candidate query rewrite;

selecting a top scoring candidate query rewrite in response to determining that the score satisfies a threshold value; and

providing search results responsive to the selected candidate query rewrite.

2. The method of claim 1 , wherein generating the plurality of candidate query rewrites further comprises concatenating the search query with each prior search query of the plurality of search queries.

3. The method of claim 2 , wherein each prior search query includes a timestamp, and wherein scoring the candidate query rewrites includes weighting candidate rewrites based, in part, on the age of the corresponding prior query.

4. The method of claim 1 , wherein generating the plurality of candidate query rewrites further comprises identifying queries from a collection of queries from a plurality of users that are similar to the search query.

5. The method of claim 1 , wherein applying the plurality of scoring factors for each candidate query rewrite further comprises determining a measure of popularity for each candidate query rewrite based on a collection of queries from a plurality of users.

6. The method of claim 1 , wherein applying the plurality of scoring factors for each candidate query rewrite further comprises determining whether the search query includes a referential term of a particular type.

7. The method of claim 6 , wherein a score of a candidate query rewrite is increased in response to determining that the candidate query rewrite includes an entity of the particular type.

8. The method of claim 1 , wherein applying the plurality of scoring factors for each candidate query rewrite further comprises determining whether the search query includes terms highly correlated with particular entities.

9. The method of claim 8 , wherein a score of a candidate query rewrite is increased in response to determining that the candidate query rewrite includes the entity highly correlated with the query term.

10. The method of claim 1 , wherein determining a quality of each candidate query rewrite based on an analysis of search results responsive to the candidate query rewrite includes obtaining search results responsive to each candidate query rewrite and determining a quality of the search results.

11. A system comprising:

a user device; and

one or more computers configured to interact with the user device and to perform operations comprising:

receiving a search query from a user of the user device during a user session;

obtaining a plurality of prior search queries by the user received during the user session;

generating a plurality of candidate query rewrites, wherein the candidate query rewrites are derived from the search query and the plurality of prior search queries by the user;

scoring each candidate query rewrite, wherein scoring each candidate rewrite includes applying a plurality of scoring factors including a quality measure for each candidate query rewrite, and wherein the quality measure is based on an analysis of search results responsive to the candidate query rewrite;

selecting a top scoring candidate query rewrite in response to determining that the score satisfies a threshold value; and

providing search results responsive to the selected candidate query rewrite to the user device.

12. The system of claim 11 , wherein generating the plurality of candidate query rewrites further comprises concatenating the search query with each prior search query of the plurality of search queries.

13. The system of claim 12 , wherein each prior search query includes a timestamp, and wherein scoring the candidate query rewrites includes weighting candidate rewrites based, in part, on the age of the corresponding prior query.

14. The system of claim 11 , wherein generating the plurality of candidate query rewrites further comprises identifying queries from a collection of queries from a plurality of users that are similar to the search query.

15. The system of claim 11 , wherein applying the plurality of scoring factors for each candidate query rewrite further comprises determining a measure of popularity for each candidate query rewrite based on a collection of queries from a plurality of users.

16. The system of claim 11 , wherein applying the plurality of scoring factors for each candidate query rewrite further comprises determining whether the search query includes a referential term of a particular type.

17. The system of claim 16 , wherein a score of a candidate query rewrite is increased in response to determining that the candidate query rewrite includes an entity of the particular type.

18. The system of claim 11 , wherein scoring applying the plurality of scoring factors for candidate query rewrite further comprises determining whether the search query includes terms highly correlated with particular entities.

19. The system of claim 11 , wherein determining a quality of each candidate query rewrite based on an analysis of search results responsive to the candidate query rewrite includes obtaining search results responsive to each candidate query rewrite and determining a quality of the search results.

20. One or more non-transitory computer-readable storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

receiving a search query from a user during a user session;

obtaining a plurality of prior search queries by the user received during the user session;

generating a plurality of candidate query rewrites, wherein the candidate query rewrites are derived from the search query and the plurality of prior search queries by the user;

scoring each candidate query rewrite, wherein scoring each candidate rewrite includes applying a plurality of scoring factors including a quality measure for each candidate query rewrite, and wherein the quality measure is based on an analysis of search results responsive to the candidate query rewrite;

selecting a top scoring candidate query rewrite in response to determining that the score satisfies a threshold value; and

providing search results responsive to the selected candidate query rewrite.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044097/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2014
From: NOWAK-PRZYGODZKI, MARCIN M.; BEHZADI, BEHSHAD
To: GOOGLE INC.
Reel/Frame 034531/0639 →
Continuity (1)
Related Publication 20160078086A1 · Mar 17, 2016