IP Library Granted Patent US 10,846,614
Granted Patent B2
US 10,846,614 · App. 15/460,716 · Granted Nov 24, 2020

Embeddings for feed and pages

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,846,614
App. No.
15/460,716
Granted
Nov 24, 2020
Kind
B2
Abstract

An embedding vector is the determined for a target user based on a weighted sum or the embedding vectors of entities the target user has interacted with in the past. Then, for each entity of a plurality of entities of the online system, a measure of similarity between the embedding vector of the user and the embedding vectors of the plurality of entities is determined. Based on the measure of similarity of each of the entities, the plurality of entities are ranked and one or more entities are selected to be presented to the user.

Claims (57)

1. A method comprising:

determining embedding vectors for a plurality of entities of a social networking system, the entities of the social networking system providing content for consumption by users of the social networking system, the embedding vectors representing the entities of the social networking system in a latent space and determined based on entity co-engagement by a set of users interacting with the plurality of entities, wherein a level of co-engagement of two or more entities is proportional to a number of users that engaged with the two or more entities in the past;

determining a user vector for a target user of the social networking system, the user vector based on a weighted sum of embedding vectors of entities the target user interacted with in the past;

for each entity of a set of entities of the social networking system, determining a measure of similarity between the user vector and an embedding vector of the entity;

ranking the set of entities based on the determined measure of similarity; and

selecting a top threshold number of entities to be presented to the target user based on the ranking.

2. The method of claim 1 , wherein the measure of similarity is a cosine similarity score between the user vector and the embedding vectors.

3. The method of claim 1 , wherein determining a measure of similarity between the user vector and an embedding vector of the entity comprises:

determining a measure of similarity between the user vector and embedding vectors that are in a same orthant as the user vector.

4. The method of claim 1 , wherein the measure of similarity between the user vector and an embedding vector of an entity is performed responsive to determining that the embedding vector of the entity is within a threshold Euclidean distance value of the user vector.

5. The method of claim 1 , further comprising:

identifying one or more entities to be presented to the user based on a measure of similarity between an embedding vector of an entity the target user has previously interacted with and embedding vectors of the entities of the set of entities of the social networking system.

6. The method of claim 1 , further comprising responsive to the user interacting with a first entity:

determining an embedding vector for the first entity;

for each entity of the set of entities of the social networking system, determining a measure of similarity between the embedding vector of the first entity and an embedding vector of the entity;

ranking the set of entities based on the determined measure of similarity; and

selecting one or two entities to be presented to the target user based on the ranking.

7. The method of claim 1 , wherein training the model based on entity co-engagement comprises:

training the model so that a distance between embedding vectors for two entities of the social networking system is based on a level of co-engagement of the two entities.

8. The method of claim 1 , further comprising:

determining a level of engagement for each of the set of entities, the level of engagement directly proportional to an amount of engagement for an entity of the set of entities, and indirectly proportional to a number of users the entity was presented to; and

filtering the set of entities based on the determined level of engagement.

9. A non-transitory computer readable storage medium storing instructions, the instructions when executed by a processor cause the processor to:

determine embedding vectors for a plurality of entities of a social networking system, the entities of the social networking system providing content for consumption by users of the social networking system, the embedding vectors representing the entities of the social networking system in a latent space and determined based on entity co-engagement by a set of users interacting with the plurality of entities, wherein a level of co-engagement of two or more entities is proportional to a number of users that engaged with the two or more entities in the past;

determine a user vector for a target user of the social networking system, the user vector based on a weighted sum of embedding vectors of entities the target user interacted with in the past;

for each entity of a set of entities of the social networking system, determine a measure of similarity between the user vector and an embedding vector of the entity;

rank the set of entities based on the determined measure of similarity; and

select a top threshold number of entities to be presented to the target user based on the ranking.

10. The non-transitory computer readable storage medium of claim 9 , wherein the measure of similarity is a cosine similarity score between the user vector and the embedding vectors.

11. The non-transitory computer readable storage medium of claim 9 , wherein determining a measure of similarity between the user vector and an embedding vector of the entity comprises:

determining a measure of similarity between the user vector and embedding vectors that are in a same orthant as the user vector.

12. The non-transitory computer readable storage medium of claim 9 , wherein the measure of similarity between the user vector and an embedding vector of an entity is performed responsive to determining that the embedding vector of the entity is within a threshold Euclidean distance value of the user vector.

13. The non-transitory computer readable storage medium of claim 9 , wherein the instructions further cause the processor to:

identify one or more entities to be presented to the user based on a measure of similarity between an embedding vector of an entity the target user has previously interacted with and embedding vectors of the entities of the set of entities of the social networking system.

14. The non-transitory computer readable storage medium of claim 9 , wherein the instructions further cause the processor to responsive to the user interacting with a first entity:

determine an embedding vector for the first entity;

for each entity of the set of entities of the social networking system, determine a measure of similarity between the embedding vector of the first entity and an embedding vector of the entity;

rank the set of entities based on the determined measure of similarity; and

select one or two entities to be presented to the target user based on the ranking.

15. The non-transitory computer readable storage medium of claim 9 , wherein training the model based on entity co-engagement comprises:

training the model so that a distance between embedding vectors for two entities of the social networking system is based on a level of co-engagement of the two entities.

16. The non-transitory computer readable storage medium of claim 9 , wherein the instructions further cause the processor to:

determine a level of engagement for each of the set of entities, the level of engagement directly proportional to an amount of engagement for an entity of the set of entities, and indirectly proportional to a number of users the entity was presented to; and

filter the set of entities based on the determined level of engagement.

17. A system comprising:

a processor; and

non-transitory computer readable storage medium storing instructions, the instructions when executed by the processor cause the processor to:

determine embedding vectors for a plurality of entities of a social networking system, the entities of the social networking system providing content for consumption by users of the social networking system, the embedding vectors representing the entities of the social networking system in a latent space and determined based on entity co-engagement by a set of users interacting with the plurality of entities, wherein a level of co-engagement of two or more entities is proportional to a number of users that engaged with the two or more entities in the past;

determine a user vector for a target user of the social networking system, the user vector based on a weighted sum of embedding vectors of entities the target user interacted with in the past;

for each entity of a set of entities of the social networking system, determine a measure of similarity between the user vector and an embedding vector of the entity;

rank the set of entities based on the determined measure of similarity; and

select a top threshold number of entities to be presented to the target user based on the ranking.

18. The system of claim 17 , wherein the measure of similarity is a cosine similarity score between the user vector and the embedding vectors.

19. The system of claim 17 , wherein the instructions further cause the processor to:

identify one or more entities to be presented to the user based on a measure of similarity between an embedding vector of an entity the target user has previously interacted with and embedding vectors of the entities of the set of entities of the social networking system.

20. The system of claim 17 , wherein training the model based on entity co-engagement comprises:

training the model so that a distance between embedding vectors for two entities of the social networking system is based on a level of co-engagement of the two entities.

Assignments (3)
CHANGE OF NAME Recorded Nov 18, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058897/0824 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FIRST ASSIGNORS NAME PREVIOUSLY RECORDED AT REEL: 042930 FRAME: 0962. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 27, 2020
From: POROBO DHARWADKER, AMEY AJIT; HAJARNIS, SANJEET UDAY
To: FACEBOOK, INC.
Reel/Frame 053625/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2017
From: DHARWADKER, AMEY AJIT POROBO; HAJARNIS, SANJEET UDAY
To: FACEBOOK, INC.
Reel/Frame 042930/0962 →