Generating suggestions for user groups in social networks
First Claim
1. A system comprising:
- a processing device; and
a data store coupled to the processing device and having instructions stored thereon which, when executed by the processing device, cause the processing device to perform operations comprising;
generating a list of contacts who, based on first predetermined criteria, are to be considered for potential inclusion in a social circle to be suggested to a particular user;
determining, for each contact, an interaction score between the particular user and the contact, the interaction score indicating an extent of interactions between the particular user and the contact;
determining, for each contact, a similarity score between the particular user and the contact, the similarity score indicating an extent of similarities in profiles between the particular user and the contact;
determining, for each contact, a friendship score between the particular user and the contact, the friendship score indicating an extent to which the contact and the particular user are members of one another'"'"'s social circles;
determining, for each contact, a social score between the particular user and the contact, the social score indicating a number of other contacts who are members of at least one social circle for the particular user and the contact;
generating and storing an edge and vertex-weighted graph representation that indicates a strength of the particular user'"'"'s affinity to each of the contacts, wherein each vertex in the graph corresponds to a particular one of the contacts, and the weight of each edge connecting a pair of vertices is based on a weighted sum of the interaction score, the similarity score, the friendship score, and the social score;
identifying a set of vertices in the graph that has an overall score, based on at least on the weight of one or more edges of the edge and vertex-weighted graph and one or more predetermined factors, that exceeds a threshold;
determining that the contacts corresponding to the identified set of vertices should be presented as a suggested social circle to the particular user; and
transmitting social circle data corresponding to the suggested social circle to display a representation of the suggested social circle on a client device associated with the particular user.
2 Assignments
0 Petitions
Accused Products
Abstract
Implementations of the present disclosure include providing a suggested social circle includes generating a list of contacts who, based on first predetermined criteria, are to be considered for potential inclusion in a social circle to be suggested to a particular user and generating an edge and vertex-weighted graph representation that indicates a strength of the particular user'"'"'s affinity to each of the contacts. A set of vertices in the graph that has a high overall score based on predetermined factors is identified. After determining that the contacts corresponding to the identified set of vertices should be presented as a suggested social circle to the particular user, social circle data corresponding to the suggested social circle is transmitted, to a client device associated with the particular user, to display a representation of the suggested social circle on the client device.
36 Citations
20 Claims
-
1. A system comprising:
-
a processing device; and a data store coupled to the processing device and having instructions stored thereon which, when executed by the processing device, cause the processing device to perform operations comprising; generating a list of contacts who, based on first predetermined criteria, are to be considered for potential inclusion in a social circle to be suggested to a particular user; determining, for each contact, an interaction score between the particular user and the contact, the interaction score indicating an extent of interactions between the particular user and the contact; determining, for each contact, a similarity score between the particular user and the contact, the similarity score indicating an extent of similarities in profiles between the particular user and the contact; determining, for each contact, a friendship score between the particular user and the contact, the friendship score indicating an extent to which the contact and the particular user are members of one another'"'"'s social circles; determining, for each contact, a social score between the particular user and the contact, the social score indicating a number of other contacts who are members of at least one social circle for the particular user and the contact; generating and storing an edge and vertex-weighted graph representation that indicates a strength of the particular user'"'"'s affinity to each of the contacts, wherein each vertex in the graph corresponds to a particular one of the contacts, and the weight of each edge connecting a pair of vertices is based on a weighted sum of the interaction score, the similarity score, the friendship score, and the social score; identifying a set of vertices in the graph that has an overall score, based on at least on the weight of one or more edges of the edge and vertex-weighted graph and one or more predetermined factors, that exceeds a threshold; determining that the contacts corresponding to the identified set of vertices should be presented as a suggested social circle to the particular user; and transmitting social circle data corresponding to the suggested social circle to display a representation of the suggested social circle on a client device associated with the particular user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of providing a suggested social circle, the method comprising:
-
generating, by a server system, a list of contacts who, based on first predetermined criteria, are to be considered for potential inclusion in a social circle to be suggested to a particular user; determining, for each contact, an interaction score between the particular user and the contact, the interaction score indicating an extent of interactions between the particular user and the contact; determining, for each contact, a similarity score between the particular user and the contact, the similarity score indicating an extent of similarities in profiles between the particular user and the contact; determining, for each contact, a friendship score between the particular user and the contact, the friendship score indicating an extent to which the contact and the particular user are members of one another'"'"'s social circles; determining, for each contact, a social score between the particular user and the contact, the social score indicating a number of other contacts who are members of at least one social circle for the particular user and the contact; generating, by the server system, an edge and vertex-weighted graph representation that indicates a strength of the particular user'"'"'s affinity to each of the contacts, wherein each vertex in the graph corresponds to a particular one of the contacts, and the weight of each edge connecting a pair of vertices is based on a weighted sum of the interaction score, the similarity score, the friendship score, and the social score; identifying a set of vertices in the graph that has a high overall score based on at least on the weight of one or more edges of the edge and vertex-weighted graph and one or more predetermined factors; determining that the contacts corresponding to the identified set of vertices should be presented as a suggested social circle to the particular user; and
transmitting, to a client device associated with the particular user, social circle data corresponding to the suggested social circle to display a representation of the suggested social circle on the client device. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
-
generating a list of contacts who, based on first predetermined criteria, are to be considered for potential inclusion in a social circle to be suggested to a particular user; determining, for each contact, an interaction score between the particular user and the contact, the interaction score indicating an extent of interactions between the particular user and the contact; determining, for each contact, a similarity score between the particular user and the contact, the similarity score indicating an extent of similarities in profiles between the particular user and the contact; determining, for each contact, a friendship score between the particular user and the contact, the friendship score indicating an extent to which the contact and the particular user are members of one another'"'"'s social circles; determining, for each contact, a social score between the particular user and the contact, the social score indicating a number of other contacts who are members of at least one social circle for the particular user and the contact; generating an edge and vertex-weighted graph representation that indicates a strength of the particular user'"'"'s affinity to each of the contacts, wherein each vertex in the graph corresponds to a particular one of the contacts, and the weight of each edge connecting a pair of vertices is based on a weighted sum of the interaction score, the similarity score, the friendship score, and the social score; identifying a set of vertices in the graph that has a high overall score based on at least on the weight of one or more edges of the edge and vertex-weighted graph and one or more predetermined factors; determining that the contacts corresponding to the identified set of vertices should be presented as a suggested social circle to the particular user; and transmitting, to a client device associated with the particular user, social circle data corresponding to the suggested social circle to display a representation of the suggested social circle on the client device. - View Dependent Claims (17, 18, 19, 20)
-
Specification