# US 10,771,575 B2 · Method and apparatus for identifying common interest between social network users

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,771,575 B2
- Document ID: US10771575B2
- Status: Granted
- Kind: B2
- Application number: 16/298,426
- Filed: 2019-03-11
- Published: 2019-08-01
- Granted: 2020-09-08
- Earliest claimed: 2012-10-05
- Assignees: Facebook, Inc.
- Applicants: Facebook, Inc.
- Inventors: Barak Reuven Naveh; Georgios Karnas
- Web page: https://patentgrep.com/patent/US10771575B2

## CPC

- G06Q 10/42: Determination of affinities or common interests between users
- G06F 16/00: Information retrieval; Database structures therefor; File system structures therefor
- G06F 16/332: Query formulation
- G06F 16/3325: {Reformulation based on results of preceding query}
- G06F 16/3349: Reuse of stored results of previous queries
- G06F 16/335: Filtering based on additional data, e.g. user or group profiles (filtering in web context G06F16/9535, G06F16/9536)
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/9536: Search customisation based on social or collaborative filtering
- H04L 51/52: for supporting social networking services
- H04L 67/306: User profiles
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F 16/24575: {using context}
- G06F 16/24578: {using ranking}
- H04L 67/52: specially adapted for the location of the user terminal
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Techniques for identifying mutual interests between users of a social networking system are disclosed herein. In one embodiment, a method includes steps of identifying, in a social networking system, a content object that has been interacted by a first user of the social networking system; associating, in the social networking system, a keyword with the first user, the keyword having been previously associated with the content object; and determining, in the social networking system, a mutual interest for the first user and a second user of the social networking system by identifying a match between the keyword associated with the first user with a keyword associated with the second user.

## Claims

### Claim 1

A computer-implemented method comprising:
detecting, by a social networking system, a first user of a social networking system interacting with a first content object;
determining a first keyword phrase by conducting a reverse keyword search utilizing the first content object as a search input such that inputting the first keyword phrase into a foreword keyword search identifies the first content object as a forward search result;
associating, by the social networking system, the first keyword phrase with the first user based on the first user having interacted with the first content object;
identifying one or more users of the social networking system that are associated with keyword phrases correlated to the first keyword phrase as candidate users; and
providing a list of one or more of the candidate users that includes the first keyword phrase and a selectable option to communicate with the one or more of the candidate users.

### Claim 2 (depends on 1)

The method of claim 1, further comprising providing the list of the one or more of the candidate users within a graphical user interface of a client device associated with the first user.

### Claim 3 (depends on 1)

The method of claim 1, wherein the social networking system detects the first user interacting with the first content object outside of the social networking system at a previous time period.

### Claim 4 (depends on 1)

The method of claim 1, wherein conducting the reverse keyword search utilizing the first content object as a search input comprises:
performing a plurality of forward keyword searches until the first content object is identified in search results of a forward keyword search of the plurality of forward keyword searches; and
generating the first keyword phrase for the first content object utilizing a keyword phrase of the forward keyword search that identified one or more forward search results having the first content object.

### Claim 5 (depends on 4)

The method of claim 4, wherein:
the first content object is a webpage having a URL; and
performing the plurality of forward keyword searches comprises performing forward keyword searches until the URL appears in the one or more forward search results of the forward keyword search.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
determining that the first content object is absent from a reverse search database that records relationships between content objects and keyword phrases; and
subsequently adding, based on the reverse keyword search, the first keyword phrase to the reverse search database in connection with the first content object.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
identifying a first identifier of the first content object; and
wherein determining that the first content object is absent from the reverse search database comprises determining that the first identifier is not indexed in the reverse search database.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
detecting, by the social networking system, a second user of the social networking system interacting with a second content object external to the social networking system;
determining a second keyword phrase by conducting an additional reverse keyword search utilizing the second content object as a search input; and
associating, by the social networking system, the second keyword phrase with the second user based on the second user having interacted with the second content object.

### Claim 9 (depends on 8)

The method of claim 8, further comprising identifying the second keyword phrase associated with the second user from a social networking profile of the second user.

### Claim 10 (depends on 8)

The method of claim 8, further comprising:
identify one or more additional users of the social networking system that are associated with the second keyword phrase;
determining a correlation between the first keyword phrase and the second keyword phrase; and
based on the correlation between the first keyword phrase and the second keyword phrase, adding the one or more additional users of the social networking system to the candidate users.

### Claim 11

A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause a computer system to:
detect, by a social networking system, a first user of a social networking system interacting with a first content object;
determine a first keyword phrase by conducting a reverse keyword search utilizing the first content object as a search input such that inputting the first keyword phrase into a foreword keyword search identifies the first content object as a forward search result;
associate, by the social networking system, the first keyword phrase with the first user based on the first user having interacted with the first content object;
identify one or more users of the social networking system that are associated with keyword phrases correlated to the first keyword phrase as candidate users; and
provide a list of one or more of the candidate users that includes the first keyword phrase and a selectable option to communicate with the one or more of the candidate users.

### Claim 12 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein determining the first keyword phrase is based on not identifying an entry in a reverse search database for an identifier associated with the first content object.

### Claim 13 (depends on 11)

The non-transitory computer-readable medium of claim 11, further comprising instructions that, when executed by the at least one processor, cause the computer system to update a plurality of database entries within a reverse search database with updated keyword phrases by periodically preforming forward keyword searches to identify new associations to content objects.

### Claim 14 (depends on 11)

The non-transitory computer-readable medium of claim 11, further comprising instructions that, when executed by the at least one processor, cause the computer system to provide the list of the one or more of the candidate users within a graphical user interface of a client device associated with the first user.

### Claim 15 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the instructions cause the computer system to conduct the reverse keyword search utilizing the first content object as a search input by:
performing a plurality of forward keyword searches until the first content object is identified in search results of a forward keyword search of the plurality of forward keyword searches; and
generating the first keyword phrase for the first content object utilizing a keyword phrase of the forward keyword search that identified a search results having the first content object.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein:
the first content object is a webpage having a URL; and
performing the plurality of forward keyword searches comprises performing forward keyword searches until the URL appears in the search results of the forward keyword search.

### Claim 17

A system comprising:
a processor; and
a non-transitory computer-readable storage medium storing instructions that, when executed by the processor, cause the system to:
detect, by a social networking system, a first user of a social networking system interacting with a first content object;
determine a first keyword phrase by conducting a reverse keyword search utilizing the first content object as a search input such that inputting the first keyword phrase into a foreword keyword search identifies the first content object as a forward search result;
associate, by the social networking system, the first keyword phrase with the first user based on the first user having interacted with the first content object;
identify one or more users of the social networking system that are associated with keyword phrases correlated to the first keyword phrase as candidate users; and
provide a list of one or more of the candidate users that includes the first keyword phrase and a selectable option to communicate with the one or more of the candidate users.

### Claim 18 (depends on 17)

The system of claim 17, further comprising instructions that, when executed by the processor, cause the system to:
identify a first entry for the first content object within a reverse search database that records relationships between content objects and keyword phrases by utilizing the first content object as input; and
perform an additional forward keyword search utilizing the first content object as input to determine an additional keyword phrase for the first content object; and
update the first entry within the reverse search database to associate the additional keyword phrase with the first content object.

### Claim 19 (depends on 18)

The system of claim 18, wherein the instructions cause the system to conduct the reverse keyword search utilizing the first content object as a search input by:
performing a plurality of forward keyword searches until the first content object is identified in search results of a forward keyword search of the plurality of forward keyword searches; and
generating the first keyword phrase for the first content object utilizing a keyword phrase of the forward keyword search that identified a search results having the first content object.

### Claim 20 (depends on 19)

The system of claim 19, further comprising instructions that, when executed by the processor, cause the system to:
determine that the first content object is absent from a reverse search database that records relationships between content objects and keyword phrases; and
update the reverse search database to add a first database entry for the first content object that associates the first content object with the first keyword phrase from the forward keyword search.
