IP Library Granted Patent US 10,579,941
Granted Patent B2
US 10,579,941 · App. 15/254,939 · Granted Mar 3, 2020

Systems and methods for recommending pages

Inventors: Bradley Ray Green (Snohomish, WA); Jason Eric Brewer (Kirkland, WA)
Assignee: Facebook, Inc.
G06N20/00G06N3/08H04L67/22
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,579,941
App. No.
15/254,939
Granted
Mar 3, 2020
Kind
B2
Abstract

Systems, methods, and non-transitory computer-readable media can generate layered training data for determining embeddings for entities that are accessible through the social networking system, wherein the layered training data includes layers of data that are organized by a hierarchy, and wherein each layer of data corresponds to entities of a same type. A respective embedding for each entity in a set of entities can be determined, wherein the embeddings are trained iteratively using each layer of data in the layered training data. One or more candidate entities that are related to a first entity can be determined based at least in part on the respective embeddings for the candidate entities and the first entity. At least a first candidate entity from the one or more candidate entities can be provided as a recommendation to a user that formed a connection with the first entity.

Claims (58)

1. A computer-implemented method comprising:

generating, by a social networking system, layered training data for determining embeddings for entities that are accessible through the social networking system, wherein the layered training data includes layers of data that are organized by a hierarchy, and wherein each layer of data corresponds to entities of a same type;

determining, by the social networking system, a respective embedding for each entity in a set of entities, wherein the embeddings are trained iteratively using each layer of data in the layered training data, wherein, for each layer, respective variance between the training iterations is measured, and wherein an embedding for an entity is a numerical representation of the entity;

determining, by the social networking system, one or more candidate entities that are related to a first entity based at least in part on the respective embeddings for the candidate entities and the first entity; and

providing, by the social networking system, at least a first candidate entity from the one or more candidate entities as a recommendation to a user that formed a connection with the first entity,

wherein the hierarchy of layers in the layered training data is determined such that the layers are ranked based at least in part on the respective variance with layers having a lower variance being ranked higher in the hierarchy.

2. The computer-implemented method of claim 1 , wherein generating the layered training data further comprises:

generating, by the social networking system, a first layer of training data based at least in part on sequences of connections formed between users and entities of a first type; and

generating, by the social networking system, a second layer of training data based at least in part on traces of nodes in a graph that each correspond to entities of a second type.

3. The computer-implemented method of claim 1 , wherein generating the layered training data further comprises:

determining, by the social networking system, session training data based at least in part on sequences of connections formed between users and entities of a first type;

determining, by the social networking system, synthetic training data based at least in part on traces of nodes in a graph that each correspond to entities of the first type; and

generating, by the social networking system, a first layer of training data based at least in part on a union of the session training data and the synthetic training data.

4. The computer-implemented method of claim 1 , wherein determining the respective embedding for each entity in the set of entities further comprises:

determining, by the social networking system, a first set of embeddings that correspond to entities of a first type based at least in part on a first layer in the layered training data; and

determining, by the social networking system, a second set of embeddings that correspond to entities of a second type based at least in part on a second layer in the layered training data, wherein the first layer is ranked higher than the second layer.

5. The computer-implemented method of claim 4 , wherein the first set of embeddings remain fixed while the second set of embeddings are determined.

6. The computer-implemented method of claim 4 , wherein determining the first set of embeddings further comprises:

training, by the social networking system, the first set of embeddings using at least one model based at least in part on a skip-gram negative down sampling technique.

7. The computer-implemented method of claim 1 , wherein determining the one or more candidate entities that are related to the first entity further comprises:

generating, by the social networking system, one or more clusters of entities, wherein the entities are clustered based at least in part on their respective embeddings; and

identifying, by the social networking system, the one or more candidate entities from the clusters, wherein a respective distance measurement between a candidate entity and the first entity satisfies a threshold distance.

8. The computer-implemented method of claim 1 , wherein each candidate entity is of a same type as the first entity.

9. The computer-implemented method of claim 1 , wherein a respective geographic centroid associated with each candidate entity corresponds to a geographic centroid associated with the first entity.

10. A system comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, cause the system to perform:

generating layered training data for determining embeddings for entities that are accessible through the social networking system, wherein the layered training data includes layers of data that are organized by a hierarchy, wherein, for each layer, respective variance between the training iterations is measured, and wherein each layer of data corresponds to entities of a same type;

determining a respective embedding for each entity in a set of entities, wherein the embeddings are trained iteratively using each layer of data in the layered training data, and wherein an embedding for an entity is a numerical representation of the entity;

determining one or more candidate entities that are related to a first entity based at least in part on the respective embeddings for the candidate entities and the first entity; and

providing at least a first candidate entity from the one or more candidate entities as a recommendation to a user that formed a connection with the first entity,

wherein the hierarchy of layers in the layered training data is determined such that the layers are ranked based at least in part on the respective variance with layers having a lower variance being ranked higher in the hierarchy.

11. The system of claim 10 , wherein generating the layered training data further causes the system to perform:

generating a first layer of training data based at least in part on sequences of connections formed between users and entities of a first type; and

generating a second layer of training data based at least in part on traces of nodes in a graph that each correspond to entities of a second type.

12. The system of claim 10 , wherein generating the layered training data further causes the system to perform:

determining session training data based at least in part on sequences of connections formed between users and entities of a first type;

determining synthetic training data based at least in part on traces of nodes in a graph that each correspond to entities of the first type; and

generating a first layer of training data based at least in part on a union of the session training data and the synthetic training data.

13. The system of claim 10 , wherein determining the respective embedding for each entity in the set of entities further causes the system to perform:

determining a first set of embeddings that correspond to entities of a first type based at least in part on a first layer in the layered training data; and

determining a second set of embeddings that correspond to entities of a second type based at least in part on a second layer in the layered training data, wherein the first layer is ranked higher than the second layer.

14. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:

generating layered training data for determining embeddings for entities that are accessible through the social networking system, wherein the layered training data includes layers of data that are organized by a hierarchy, wherein, for each layer, respective variance between the training iterations is measured, and wherein each layer of data corresponds to entities of a same type;

determining a respective embedding for each entity in a set of entities, wherein the embeddings are trained iteratively using each layer of data in the layered training data, and wherein an embedding for an entity is a numerical representation of the entity;

determining one or more candidate entities that are related to a first entity based at least in part on the respective embeddings for the candidate entities and the first entity; and

providing at least a first candidate entity from the one or more candidate entities as a recommendation to a user that formed a connection with the first entity,

wherein the hierarchy of layers in the layered training data is determined such that the layers are ranked based at least in part on the respective variance with layers having a lower variance being ranked higher in the hierarchy.

15. The non-transitory computer-readable storage medium of claim 14 , wherein generating the layered training data further causes the computing system to perform:

generating a first layer of training data based at least in part on sequences of connections formed between users and entities of a first type; and

generating a second layer of training data based at least in part on traces of nodes in a graph that each correspond to entities of a second type.

16. The non-transitory computer-readable storage medium of claim 14 , wherein generating the layered training data further causes the computing system to perform:

determining session training data based at least in part on sequences of connections formed between users and entities of a first type;

determining synthetic training data based at least in part on traces of nodes in a graph that each correspond to entities of the first type; and

generating a first layer of training data based at least in part on a union of the session training data and the synthetic training data.

17. The non-transitory computer-readable storage medium of claim 14 , wherein determining the respective embedding for each entity in the set of entities further causes the computing system to perform:

determining a first set of embeddings that correspond to entities of a first type based at least in part on a first layer in the layered training data; and

determining a second set of embeddings that correspond to entities of a second type based at least in part on a second layer in the layered training data, wherein the first layer is ranked higher than the second layer.

Assignments (2)
CHANGE OF NAME Recorded Nov 24, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058957/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2017
From: GREEN, BRADLEY RAY; BREWER, JASON ERIC
To: FACEBOOK, INC.
Reel/Frame 043563/0030 →