IP Library Granted Patent US 10,282,483
Granted Patent B2
US 10,282,483 · App. 15/228,866 · Granted May 7, 2019

Client-side caching of search keywords for online social networks

Inventors: Kurchi Subhra Hazra (Mountain View, CA); Igor Ribeiro de Assis (San Francisco, CA); Jun Jin (Bellevue, WA)
Assignee: Facebook, Inc.
G06F17/30902G06Q50/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 10,282,483
App. No.
15/228,866
Granted
May 7, 2019
Kind
B2
Abstract

In one embodiment, a method includes receiving a text query inputted by a first user of an online social network, the text query including one or more n-grams. The method also includes identifying a first set of candidate keywords from multiple keywords stored on a local cache of a client system, each keyword being extracted from a source of multiple sources associated with the online social network, where each candidate keyword in the first set matches one or more n-grams of the text query and calculating a rank for each of the identified candidate keywords based at least in part on the source associated with the candidate keyword. The method also includes displaying, in response to the first user inputting the one or more n-grams of the text query, one or more suggested queries, each suggested query including an identified candidate keyword having a rank higher than a threshold rank.

Claims (48)

1. A method comprising, by one or more processors associated with a client system:

receiving, at the client system, a text query inputted by a first user of an online social network, the text query comprising one or more n-grams;

identifying, by the client system, a first set of candidate keywords from a plurality of keywords stored on a local cache of the client system, each keyword of the plurality of keywords being extracted from a source of a plurality of sources associated with the online social network, wherein each candidate keyword in the first set matches one or more n-grams of the text query;

determining, by the client system, a range of scores that correspond to the source of each of the candidate keywords;

calculating, by the client system, a score for each of the candidate keywords, wherein the score is within the range of scores that correspond to the source of the candidate keyword;

ranking, by the client system, each of the identified candidate keywords based at least in part on the score associated with the candidate keyword; and

displaying, at the client system in response to the first user inputting the one or more n-grams of the text query, one or more suggested queries, each suggested query comprising an identified candidate keyword having a rank higher than a threshold rank.

2. The method of claim 1 , wherein the keywords stored on the local cache of the client system comprise one or more keywords associated with one or more entities of the online social network.

3. The method of claim 1 , wherein the keywords stored on the local cache of the client system comprise one or more keywords extracted from a search history associated with the first user.

4. The method of claim 1 , wherein the keywords stored on the local cache of the client system comprise one or more keywords extracted from a list of trending-topic keywords.

5. The method of claim 1 , wherein the keywords stored on the local cache of the client system comprise one or more keywords extracted from a list of popular-search keywords.

6. The method of claim 1 , wherein the keywords stored on the local cache of the client system comprise one or more keywords associated with one or more places associated with the first user.

7. The method of claim 1 , further comprising identifying one or more of the keywords to be stored on the local cache of the client system from the sources associated with the online social network based at least in part on one or more of:

pre-assigned static scores for the keywords calculated by a server-side process of the online social network;

a location associated with the first user;

an interest associated with the first user, the interest being determined based on social-networking information of the first user; or

a social-interaction history of a friend of the first user on the online social network or a user of the online social network determined to be similar to the first user.

8. The method of claim 1 , further comprising updating the keywords stored on the local cache of the client system periodically.

9. The method of claim 1 , further comprising updating the keywords stored on the local cache of the client system upon detection of a trigger action.

10. The method of claim 9 , wherein the trigger action comprises:

a browser client on the client system loading a webpage associated with the online social network;

an application associated with the online social network that is installed on the client system being opened; or

the first user interacting with a query field associated with the online social network.

11. The method of claim 1 , further comprising:

identifying one or more of the keywords stored on the local cache of the client system that are associated with one of the sources associated with the online social network; and

updating the identified keywords associated with the one of the sources.

12. The method of claim 1 , wherein ranking each of the identified candidate keywords is further based on a pre-assigned static score for the candidate keyword calculated by a server-side process of the online social network.

13. The method of claim 1 , wherein ranking each of the identified candidate keywords is further based on click-through data of the first user associated with the identified candidate keyword, wherein the click-through data is stored on the client system.

14. The method of claim 1 , wherein ranking each of the identified candidate keywords is further based on the time when the query is received.

15. The method of claim 1 , wherein ranking each of the identified candidate keywords is further based on a location of the client system.

16. The method of claim 1 , further comprising generating at least one of the suggested queries by combining an identified candidate keyword with one or more n-grams according to a query template stored on the client system.

17. The method of claim 1 , further comprising:

receiving one or more suggested queries from a server-side process of the online social network; and

displaying one or more of the received suggested queries to the first user.

18. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive a text query inputted by a first user of an online social network, the text query comprising one or more n-grams;

identify a first set of candidate keywords from a plurality of keywords stored on a local cache of a client system, each keyword of the plurality of keywords being extracted from a source of a plurality of sources associated with the online social network, wherein each candidate keyword in the first set matches one or more n-grams of the text query;

determine a range of scores that correspond to the source of each of the candidate keywords;

calculate a score for each of the candidate keywords, wherein the score is within the range of scores that correspond to the source of the candidate keyword;

rank each of the identified candidate keywords based at least in part on the score associated with the candidate keyword; and

display, in response to the first user inputting the one or more n-grams of the text query, one or more suggested queries, each suggested query comprising an identified candidate keyword having a rank higher than a threshold rank.

19. A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

receive a text query inputted by a first user of an online social network, the text query comprising one or more n-grams;

identify a first set of candidate keywords from a plurality of keywords stored on a local cache of a client system, each keyword of the plurality of keywords being extracted from a source of a plurality of sources associated with the online social network, wherein each candidate keyword in the first set matches one or more n-grams of the text query;

determine a range of scores that correspond to the source of each of the candidate keywords;

calculate a score for each of the candidate keywords, wherein the score is within the range of scores that correspond to the source of the candidate keyword;

rank calculate a rank for each of the identified candidate keywords based at least in part on the score associated with the candidate keyword; and

display, in response to the first user inputting the one or more n-grams of the text query, one or more suggested queries, each suggested query comprising an identified candidate keyword having a rank higher than a threshold rank.

Assignments (3)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2016
From: HAZRA, KURCHI SUBHRA
To: FACEBOOK, INC.
Reel/Frame 040177/0703 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2016
From: DE ASSIS, IGOR RIBEIRO; JIN, JUN
To: FACEBOOK, INC.
Reel/Frame 039836/0825 →
Continuity (1)
Related Publication 20180039691A1 · Feb 8, 2018