Building a Social Graph with Sharing Activity Between Users of the Open Web
A social graph is built which includes interactions, sharing activity, and connections between the users of the open Web and can be used to improve ad targeting and content personalization. Sharing activity between two users will affect ads or content that both users will be presented while surfing the Web. This sharing activity includes sending of links, sending of videos, sending of files, cutting and pasting of content, sending text messages, and sending of e-mails. Interest of a node can be inferred based on edges between first-degree and second-degree nodes.
1 . A method comprising:
collecting activity data from a plurality of Web sources using a plurality of collection devices;
based the activity data, forming a social graph having a first node and a plurality of first-degree nodes connected to the first node, wherein each first-degree node is connected to a plurality of second-degree nodes;
determining edges between first-degree and second-degree nodes comprise a first category type;
determining no edges exist between the first node and the first-degree nodes of the first category type;
based on the edges of the first category type between first-degree and second-degree nodes, using at least one processor, making an inference that the first node has an interest associated with the first category type; and
based on the inference that the first node has an interest associated with the first category type, selecting an advertisement for delivery to a user corresponding to the first node in the social graph.
2 . The method of claim 1 wherein the collection devices comprise URL shortening.
3 . The method of claim 1 wherein the collection devices comprise instant messaging.
4 . The method of claim 1 wherein the collection devices comprise a sharing widget.
5 . The method of claim 1 comprising:
identifying a plurality of users and sharing activity between the users in the activity data.
6 . The method of claim 5 wherein each edge between nodes in the social graph represents a different sharing category.
7 . The method of claim 5 wherein the identifying a plurality of users and the sharing activity between the users in the activity data comprises:
extracting a user identifier from a cookie in the activity data; and
identifying the first node in the social graph based on the user identifier.
8 . The method of claim 7 comprising:
updating a value of an edge coupled to the first node.
9 . The method of claim 1 wherein the activity data does not contain any personally identifiable information.
10 . The method of claim 1 wherein the forming a social graph having a first node and a plurality of first-degree nodes connected to the first node is based on the collected activity data, which does not contain any personally identifiable information.
11 . The method of claim 1 comprising:
identifying a plurality of users and sharing activity between the users in the activity data, wherein the social graph comprises users and the sharing activity, wherein users are represented as nodes in the social graph and the sharing activity are represented as edges in the social graph.
12 . The method of claim 11 wherein the identifying a plurality of users and the sharing activity between the users in the activity data comprises:
extracting a user identifier from a cookie in the activity data; and
identifying a node in the social graph based on the user identifier.
13 . The method of claim 12 comprising:
updating a value of an edge coupled to the node identified by the user identifier.
14 . The method of claim 1 wherein selecting an advertisement for delivery to a user corresponding to the first node in the social graph comprises:
making a bid to an ad exchange for an advertisement for the user corresponding to the first node in the social graph.
15 . A method comprising:
collecting activity data from a plurality of Web sources using a plurality of collection devices;
based the activity data, forming a social graph having a first node and a plurality of first-degree nodes connected to the first node, wherein each first-degree node is connected to a plurality of second-degree nodes;
determining edges between first-degree and second-degree nodes comprise a first category type, wherein each of the edges is comprises a value;
determining no edges exist between the first node and the first-degree nodes of the first category type;
adjusting values associated with the edges between the first-degree and second-degree nodes based on a passage of time from when the activity data was collected; and
based on the adjusted values of the edges of the first category type between first-degree and second-degree nodes, using at least one processor, making an inference that the first node has an interest associated with the first category type.
16 . The method of claim 15 comprising:
based on the inference that the first node has an interest associated with the first category type, selecting an advertisement for delivery to a user corresponding to the first node in the social graph.
17 . The method of claim 15 wherein the adjusting values associated with the edges between the first-degree and second-degree nodes based on a passage of time from when the activity data was collected comprises:
reducing a value of an edge in proportion to how recently the activity information occurred.
18 . The method of claim 15 comprising:
identifying a plurality of users and sharing activity between the users in the activity data.
19 . The method of claim 18 wherein each edge between nodes in the social graph represents a different sharing category.
20 . The method of claim 18 wherein the identifying a plurality of users and the sharing activity between the users in the activity data comprises:
extracting a user identifier from a cookie in the activity data; and
identifying the first node in the social graph based on the user identifier.
21 . A method comprising:
collecting activity data from a plurality of Web sources using a plurality of collection devices;
based the activity data, forming a social graph having a first node and a plurality of first-degree nodes connected to the first node, wherein each first-degree node is connected to a plurality of second-degree nodes;
determining edges between first-degree and second-degree nodes comprise a first category type, wherein each of the edges is comprises a value;
determining no edges exist between the first node and the first-degree nodes of the first category type;
updating values associated with the edges between the first-degree and second-degree nodes; and
based on the updated values of the edges of the first category type between first-degree and second-degree nodes, using at least one processor, making an inference that the first node has an interest associated with the first category type.
22 . The method of claim 21 wherein the updating values associated with the edges between the first-degree and second-degree nodes is based on a passage of time from when the activity data was collected.
23 . The method of claim 21 wherein the updating values associated with the edges between the first-degree and second-degree nodes is based on the activity data.
24 . The method of claim 21 comprising:
based on the inference that the first node has an interest associated with the first category type, selecting an advertisement for delivery to a user corresponding to the first node in the social graph.