Video-related recommendations using link structure
First Claim
1. A computer-implemented method comprising:
- obtaining, by a computer system, information that identifies interactions among users of a social network;
generating, by the computer system, a graph that is based at least in part on the obtained information and comprises i) nodes that represent the users of the social network and ii) edges that connect the nodes and that represent relationships between the users;
assigning, to at least a portion of the nodes in the graph and for one or more labels, initial label values that indicate levels of interest of users associated with the portion of the nodes in content associated with the one or more labels;
determining, for the nodes in the graph, label values for the one or more labels based on iterative propagation of the initial label values among the nodes using the edges of the graph, wherein iterative propagation comprises, for a particular node from the nodes in the graph, determining particular label values for the particular node at each of a plurality of iterations by combining, at each of the plurality of iterations, neighboring label values for neighboring nodes that are connected to the particular node by a portion of the edges of the graph; and
identifying, by the computer system for a particular label from the one or more labels, one or more users to provide with particular content that is associated with the particular label, wherein the one or more users are identified based on the determined label values for the particular label.
2 Assignments
0 Petitions
Accused Products
Abstract
The subject matter of this specification can be embodied in, among other things, a method that includes inferring labels for videos, users, advertisements, groups of users, and other entities included in a social network system. The inferred labels can be used to generate recommendations such as videos or advertisements in which a user may be interested. Inferred labels can be generated based on social or other relationships derived from, for example, profiles or activities of social network users. Inferred labels can be advantageous when explicit information about these entities is not available. For example, a particular user may not have clicked on any online advertisements, so the user is not explicitly linked to any advertisements.
-
Citations
20 Claims
-
1. A computer-implemented method comprising:
-
obtaining, by a computer system, information that identifies interactions among users of a social network; generating, by the computer system, a graph that is based at least in part on the obtained information and comprises i) nodes that represent the users of the social network and ii) edges that connect the nodes and that represent relationships between the users; assigning, to at least a portion of the nodes in the graph and for one or more labels, initial label values that indicate levels of interest of users associated with the portion of the nodes in content associated with the one or more labels; determining, for the nodes in the graph, label values for the one or more labels based on iterative propagation of the initial label values among the nodes using the edges of the graph, wherein iterative propagation comprises, for a particular node from the nodes in the graph, determining particular label values for the particular node at each of a plurality of iterations by combining, at each of the plurality of iterations, neighboring label values for neighboring nodes that are connected to the particular node by a portion of the edges of the graph; and identifying, by the computer system for a particular label from the one or more labels, one or more users to provide with particular content that is associated with the particular label, wherein the one or more users are identified based on the determined label values for the particular label. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer system comprising:
-
one or more computing devices each comprising one or more processors and memory; an interface of the one or more computing devices to obtain information that identifies interactions among users of a social network; a data structure generator that is programmed to generate a graph based at least in part on the obtained information, wherein the graph comprises i) nodes that represent the users of the social network and ii) edges that connect the nodes and that represent relationships between the users; and an inferred label generator that is programmed to; assign initial label values for one or more labels to at least a portion of the nodes in the graph, wherein the initial label values indicate levels of interest of users associated with the portion of the nodes in content associated with the one or more labels; determine, for the nodes in the graph, label values for the one or more labels based on iterative propagation of the initial label values among the nodes using the edges of the graph, wherein iterative propagation comprises, for a particular node from the nodes in the graph, determining particular label values for the particular node at each of a plurality of iterations by combining, at each of the plurality of iterations, neighboring label values for neighboring nodes that are connected to the particular node by a portion of the edges of the graph; and identify, for a particular label from the one or more labels, one or more users to provide with particular content that is associated with the particular label, wherein the one or more users are identified based on the determined label values for the particular label. - View Dependent Claims (17, 18, 19)
-
-
20. A computer program product embodied in a non-transitory computer-readable storage medium storing instructions that, when executed, cause a computer system that includes one or more processors to perform operations comprising:
-
obtaining information that identifies interactions among users of a social network; generating a graph based at least in part on the obtained information and comprising i) nodes that represent the users of the social network and ii) edges that connect the nodes and that represent relationships between the users; assigning initial label values for one or more labels to at least a portion of the nodes in the graph, wherein the initial label values indicate levels of interest of users associated with the portion of the nodes in content associated with the one or more labels; determining, for the nodes in the graph, label values for the one or more labels based on iterative propagation of the initial label values among the nodes using the edges of the graph, wherein iterative propagation comprises, for a particular node from the nodes in the graph, determining particular label values for the particular node at each of a plurality of iterations by combining, at each of the plurality of iterations, neighboring label values for neighboring nodes that are connected to the particular node by a portion of the edges of the graph; and identifying, for a particular label from the one or more labels, one or more users to provide with particular content that is associated with the particular label, wherein the one or more users are identified based on the determined label values for the particular label.
-
Specification