IP Library Granted Patent US 12,405,961
Granted Patent B1
US 12,405,961 · App. 18/787,670 · Granted Sep 2, 2025

Query completions

Inventors: Emanuel Taropa (Los Altos, CA); Ishai Rabinovitz (Haifa, IL)
Assignee: GOOGLE LLC
G06F16/24578G06F16/24564G06F16/3322G06F16/9535G06N7/01
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 12,405,961
App. No.
18/787,670
Granted
Sep 2, 2025
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for ranking query completions based on activity session data. One of the methods includes receiving a query prefix from a user. A reference parameter for the user is obtained. One or more likely queries that are likely to co-occur with the reference parameter in user activity sessions are identified, wherein each likely query has an associated prediction score. A ranking of the one or more likely queries is provided in response to receiving the query prefix.

Claims (59)

1. A computer-implemented method, comprising:

receiving, at a first time and via a user interface of a search system, a first query prefix input, the first query prefix input being received from a first user and not yet submitted by the first user to the search system;

in response to receiving the first query prefix input,

causing the search system to identify a first set of query completions based on content of the first query prefix input and a most recently submitted query submitted by the first user to the search system prior to the first query prefix input, and

causing one or more of the first set of query completions to be rendered to the first user;

receiving, at a second time subsequent to the first time, a second query prefix input, the second query prefix input being received from a second user and not yet submitted by the second user to the search system,

in response to receiving the second query prefix input,

causing the search system to identify a second set of query completions based on a content of the second query prefix input and a most recently submitted query submitted by the second user to the search system prior to the second query prefix input, and

causing one or more of the second set of query completions to be rendered to the second user,

wherein the content of the first query prefix input is identical as the content of the second query prefix,

wherein the most recently submitted query submitted by the second user to the search system prior to the second query prefix input is different from the most recently submitted query submitted by the first user to the search system prior to the first query prefix input, and

wherein the first set of query completions is different from the second set of query completions.

2. The method of claim 1 , wherein causing the search system to identify the first set of query completions is further based on a second most recently submitted query submitted by the first user to the search system prior to the first query prefix input.

3. The method of claim 1 , wherein causing the search system to identify the first set of query completions is further based on other queries that were submitted by the first user to the search system, within a threshold number of queries prior to the first query prefix input.

4. The method of claim 1 , wherein causing the search system to identify the first set of query completions comprises:

performing, based on the content of the first query prefix input, a search of a cache that includes a plurality of entries, the plurality of entries including a first entry storing the most recently submitted query.

5. The method of claim 4 , wherein the plurality of entries including one or more additional entries respectively storing one or more additional queries submitted by the first user to the search system prior to the first query prefix input.

6. The method of claim 1 , wherein the first set of query completions are each identified based on a prediction score that indicates a correlation between a respective query completion from the first set and the most recently submitted query.

7. The method of claim 6 , wherein causing the one or more of the first set of query completions to be rendered to the first user comprises:

determining a ranking order for the one or more likely query completions based on the prediction score for each query completion from the first set of query completions; and

providing, based on the ranking order, the one or more of the first set of query completions for display.

8. The method of claim 1 , wherein the first set of query completions includes at least one query completion that is different from query completions from the second set of query completions.

9. A system comprising one or more computers and one or more storage devices storing instructions that are operable, and when executed by the one or more computers, causes the one or more computers to:

receive, at a first time and via a user interface of a search system, a first query prefix input, the first query prefix input being received from a first user and not yet submitted by the first user to the search system;

in response to receiving the first query prefix input,

cause the search system to identify a first set of query completions based on content of the first query prefix input and a most recently submitted query submitted by the first user to the search system prior to the first query prefix input, and

cause one or more of the first set of query completions to be rendered to the first user;

receive, at a second time subsequent to the first time, a second query prefix input, the second query prefix input being received from a second user and not yet submitted by the second user to the search system,

in response to receiving the second query prefix input,

cause the search system to identify a second set of query completions based on a content of the second query prefix input and a most recently submitted query submitted by the second user to the search system prior to the second query prefix input, and

cause one or more of the second set of query completions to be rendered to the second user,

wherein the content of the first query prefix input is identical as the content of the second query prefix,

wherein the most recently submitted query submitted by the second user to the search system prior to the second query prefix input is different from the most recently submitted query submitted by the first user to the search system prior to the first query prefix input, and

wherein the first set of query completions is different from the second set of query completions.

10. The system of claim 9 , further comprising additional instructions that, when executed by the one or more computers, causes the search system to identify the first set of query completions further based on a second most recently submitted query submitted by the first user to the search system prior to the first query prefix input.

11. The system of claim 9 , further comprising additional instructions that, when executed by the one or more computers, causes the search system to identify the first set of query completions further based on other queries that were submitted by the first user to the search system, within a threshold number of queries prior to the first query prefix input.

12. The system of claim 9 , further comprising additional instructions that, when executed by the one or more computers, causes the search system to identify the first set of query completions by:

performing, based on the content of the first query prefix input, a search of a cache that includes a plurality of entries, the plurality of entries including a first entry storing the most recently submitted query.

13. The system of claim 12 , wherein the plurality of entries including one or more additional entries respectively storing one or more additional queries submitted by the first user to the search system prior to the first query prefix input.

14. The system of claim 9 , wherein the first set of query completions are each identified based on a prediction score that indicates a correlation between a respective query completion from the first set and the most recently submitted query.

15. The system of claim 14 , further comprising additional instructions that, when executed by the one or more computers, causes the one or more of the first set of query completions to be rendered to the first user by:

determining a ranking order for the one or more likely query completions based on the prediction score for each query completion from the first set of query completions; and

providing, based on the ranking order, the one or more of the first set of query completions for display.

16. The system of claim 9 , wherein the first set of query completions includes at least one query completion that is different from query completions from the second set of query completions.

17. A computer-implemented method, comprising:

receiving, at a first time and via a user interface of a search system, a first query prefix input, the first query prefix input being received from a first user and not yet submitted by the first user to the search system;

in response to receiving the first query prefix input,

causing the search system to identify a first set of query completions based on content of the first query prefix input and one or more queries recently submitted by the first user to the search system prior to the first query prefix input, and

causing one or more of the first set of query completions to be rendered to the first user;

receiving, at a second time subsequent to the first time, a second query prefix input, the second query prefix input being received from a second user and not yet submitted by the second user to the search system,

in response to receiving the second query prefix input,

causing the search system to identify a second set of query completions based on a content of the second query prefix input and one or more queries recently submitted by the second user to the search system prior to the second query prefix input, and

causing one or more of the second set of query completions to be rendered to the second user,

wherein the content of the first query prefix input is identical as the content of the second query prefix,

wherein the one or more queries recently submitted by the first user to the search system and the one or more queries recently submitted by the second user to the search system are at least partially different, and

wherein the first set of query completions is different from the second set of query completions.

18. The method of claim 17 , wherein the one or more queries recently submitted by the first user to the search system prior to the first query prefix input includes a most recently submitted query submitted by the first user to the search system prior to the first query prefix input.

19. The method of claim 18 , wherein the one or more queries recently submitted by the first user to the search system prior to the first query prefix input includes a second most recently submitted query submitted by the first user to the search system prior to the first query prefix input and prior to the most recently submitted query.

20. The method of claim 17 , wherein the first user is different from the second user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: TAROPA, EMANUEL; RABINOVITZ, ISHAI
To: GOOGLE INC.
Reel/Frame 068302/0550 →
CHANGE OF NAME Recorded Aug 15, 2024
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 068657/0255 →
Continuity (5)
Continuation 18217900 · Jul 3, 2023
Continuation 16915207 · Jun 29, 2020
Continuation 15470358 · Mar 27, 2017
Continuation 15174763 · Jun 6, 2016
Continuation 14141820 · Dec 27, 2013
References Cited (18)
US 8700653B2 · Hansson et al. · 2014 [cited by applicant]
US 9361406B1 · Taropa et al. · 2016 [cited by applicant]
US 9631406B2 · Chartier et al. · 2017 [cited by applicant]
US 9639581B1 · Taropa et al. · 2017 [cited by applicant]
US 10026021B2 · Stoop et al. · 2018 [cited by applicant]
US 10698901B1 · Taropa et al. · 2020 [cited by applicant]
US 11693863B1 · Taropa et al. · 2023 [cited by applicant]
US 20090248510A1 · Ahluwalia · 2009 [cited by applicant]
US 20100153427A1 · Schechter et al. · 2010 [cited by applicant]
US 20120047025A1 · Strohman · 2012 [cited by examiner]
US 20120047134A1 · Hansson et al. · 2012 [cited by applicant]
US 20120048025A1 · Usui · 2012 [cited by applicant]
US 20120297294A1 · Scott et al. · 2012 [cited by applicant]
US 20130006952A1 · Wong et al. · 2013 [cited by applicant]
US 20130086509A1 · Satyanarayana · 2013 [cited by examiner]
US 20130132861A1 · Kienzle et al. · 2013 [cited by applicant]
US 20180089541A1 · Stoop et al. · 2018 [cited by applicant]
US 20180285700A1 · Stoop et al. · 2018 [cited by applicant]