The use of online social networking services has grown, providing a bridge between activities occurring in daily physical life and the virtual Internet space. The popularity of social networking sites has attracted billions of active users, resulting in the availability of large amounts of data associated with these users. Data from social networking services may be useful for a variety of applications (e.g., crowdsourcing).
Some examples of the present application are described with respect to the following figures:
As described above, the popularity of social networking sites has resulted in the availability of large amounts of data associated with users. Analysis of the available data may be useful in modeling and predicting the social actions and the social ties of a user of a social network. A social action of a user is a social network action, activity, behavior, status, membership, preference, or characteristic associated with the user. Examples of social actions of a user include posting a comment, specifying a particular location of the user, specifying a particular favorite food, an activity status of the user, a membership or preference of a user, and the like. A social tie associated with a user is a type of relationship between two or more individual users of a social network. Examples of social ties include a familial relationship, a work relationship (e.g., colleague), a friendship, a classmate relationship, and the like. Social action and social tie predictions may be used to present relevant content to a user. For example, a service in which a user may likely be interested may be presented to a user based on a social action and social tie prediction. The presentation of relevant content to a user may improve the user's experience and may boost revenue for social media sites.
Social tie prediction may be useful for tapping into the wisdom of crowds to aid in making more informed decisions. Because individual users are socially connected on a social network, social influence may result from information diffusion in the social network. Social influence may occur when a user's opinions and/or behaviors are affected by other users. Different types of social ties may have different influences on social actions. For example, a user's trusted friends on a social network may affect the user's online behavior. Additionally, social actions may also influence social ties. For example, users with similar preferences may be more likely to be friends on a social network than other users with different preferences. In another example, a user with momentous activities (e.g., an actor or singer) may attract more people who wish to connect with that user than a user with trivial activities. These dynamics between social actions and social ties are known as the social phenomenon of homophily, which is the idea that people tend to follow the behaviors of their friends and tend to create relationships with other people who are already similar to them. Homophily suggests that both social actions and social ties are bi-directionally correlated and mutually influenced in social media, and this correlation may be mutually reinforced if modeled jointly.
A unified mutual latent random graph (MLRG) framework based on exponential-family random graph models may be used to explore homophily for simultaneous social action and social tie prediction. This MLRG framework may incorporate shared latent factors associated with users, users' behaviors, and users' relationships. The MLRG framework may also define coupled models to encode both social action and social tie data to capture dynamics and mutual influence.
The MLRG framework may include a gradient-based learning algorithm for learning and optimizing predictive parameters defining social action data, social tie data, and relationships between the social action data and the social tie data. The learning algorithm efficiently explores social actions, social ties, as well as dependencies and interactions between the social actions and social ties. By coupling social actions and social ties jointly in a unified framework, improved performance of social action and social tie prediction is achieved.
To predict social actions and social ties for users of a social network, social network data may be accessed for a portion of users of the social network. A model may be generated to define the distributions associated with social actions and social ties parsed from the social network data as well as the relationships between the social action data and the social tie data. This model may be used to analyze the social network data for the portion of users for which data was accessed such that the mutual influences and relationships between the social actions and the social ties may be determined. The gradient-based learning algorithm may be used to optimize a set of parameters defining social action data, social tie data, and relationships between the social action a data and the social tie data. The optimized parameters may be used to predict social actions and social ties associated with other users of the social network. These predictions may be used in any relevant context and/or application, such as targeted advertising, content suggestions, and the like.
For example, the MLRG framework may be applied to a social network to determine that there is a correlation between a social tie that indicates a work relationship and a social action that indicates an affinity for sandwiches. This determination may be used to predict social actions and social ties for users of the social network. In some examples, the social actions and social ties may be predicted simultaneously. For example, if User A and User B are work colleagues and User A likes sandwiches, it may be likely that User B also likes sandwiches based on the MLRG framework analysis. In this case, a targeted advertisement for a new sandwich shop may be presented to User B.
Referring now to the figures,
Computing device 100 may be, for example, a web-based server, a local area network server, a cloud-based server, a notebook computer, a desktop computer, an all-in-one system, a tablet computing device, a mobile phone, an electronic book reader, or any other electronic device suitable for predicting social actions and social ties associated with users of a social network. Computing device 100 may include a processor 102 and a machine-readable storage medium 104. Computing device 100 may be in communication with and/or may be part of one or more social networks. Computing device 100 may access social networking data 114 from a social network and may provide a social action and social tie prediction 116.
Processor 102 may be a central processing unit (CPU), a semiconductor-based microprocessor, and/or other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium 104. Processor 102 may fetch, decode, and execute instructions 106, 108, 110, and 112 to control a process of predicting social actions and social ties associated with users of a social network. As an alternative or in addition to retrieving and executing instructions, processor 102 may include at least one electronic circuit that includes electronic components for performing the functionality of instructions 106, 108, 110, 112, or a combination thereof.
Machine-readable storage medium 104 may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. Thus, machine-readable storage medium 104 may be, for example, Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, and the like. In some examples, machine-readable storage medium 104 may be a non-transitory storage medium, where the term “non-transitory” does not encompass transitory propagating signals. As described in detail below, machine-readable storage medium 104 may be encoded with a series of processor executable instructions 106, 108, 110, and 112 for accessing social network data 114 associated with a set of users of a social network, parsing social action data and social tie data from the social network data 114, calculating (e.g., optimizing) a set of parameters defining social actions, social ties, and relationships between the social action data and the social tie data, and determining (e.g., simultaneously) a social action and a social tie associated with a particular user of the social network using the set of optimized parameters.
Social network data extraction instructions 106 may request, access, receive, or pull social network data 114 from a social network in communication with computing device 100. The social network data 114 may be associated with a set of users of the social network and may include any relevant data associated with the set of users, including data associated with social actions of the users and social ties of the users. Social network data extraction instructions 106 may extract, parse, or determine social action data and social tie data from the social network data 114 received from the social network.
Distribution instructions 108 may specify distributions associated with social actions, social ties, and the relationships between social actions and social ties. These distributions may be used to generate a MLRG that may be used to model the social actions, social ties, and the relationships between social actions and social ties.
Parameter optimization instructions 110 may use the social action data and social tie data extracted by the social network data extraction instructions 106 and the distributions specified by the distribution instructions 108 to determine, characterize, generalize, calculate, optimize, or model mutual influences and relationships between the social action data and the social tie data for the social network. This may include determining one or more latent factors associated with relationships between the social action data and the social tie data and/or determining, generating, calculating, or optimizing a set of parameters defining the mutual influences and relationships between the social action data and the social tie data.
Prediction instructions 112 may use the set of parameters calculated by the parameter optimization instructions 110 to predict, determine, or calculate a social action and/or a social tie associated with other users of the social network. In some examples, the social action and social tie may be predicted simultaneously. For example, prediction instructions 112 may use the models and/or the parameters calculated by the parameter optimization instructions 110 to predict a social action and/or a social tie for a particular user of the social network. Prediction instructions 112 may provide relevant content and/or information to the particular user based on the social action and/or social tie predicted. For example, prediction instructions 112 may use the calculated parameters to predict that the particular user may be interested in and/or responsive to a particular product suggestion and may present the product suggestion to the user accordingly.
Method 200 includes, at 202, accessing social network data. The social network data may be accessed from a social network and may be associated with a set of users of the social network. For example, social network data associated with a portion of users of a social network may be accessed by computing device 100 of
Method 200 also includes, at 204, parsing social action data and social tie data from the social network data. For example, social action data that specifies characteristics, preferences, and/or actions associated with users of the set of users may be parsed from the social network data, and social tie data that specifies particular types of connections between users of the set of users may be parsed from the social network data.
Method 200 also includes, at 206, calculating a set of parameters defining relationships between the social action data and the social tie data. The set of parameters may also define social action data and social tie data. The calculation of the set of parameters may include optimizing the set of parameters defining the relationships. The relationships defined by the set of parameters may include mutual influences between the social actions of the social action data and the social ties of the social tie data.
Method 200 also includes, at 208, determining a social action and a social tie associated with a particular user of the social network using the set of parameters. For example, a social action and a social tie associated with a particular user may be predicted and used for providing any relevant content and/or information that the particular user may find interesting. In another example, a social action and a social tie associated with a particular user may be predicted and used for providing any relevant content and/or information that a social network friend of the particular user may find interesting. Social actions and social ties may be predicted for a plurality of users of the social network using the set of parameters. In some examples, social actions and social ties may be predicted simultaneously.
The following example definitions of variables within the social network context may be used to model the influences between social actions and social ties of the social network. In this example, let G=(V, E) be a social network graph, where V={v1, v2, . . . , vN} is the set of |V|=N users and E={e11, e12, . . . , eM}⊂V×V is the set of |E|=M connections between users. Let y={y1, y2, . . . , yN}(yiεY) be the set of actions associated with N users, and s={s11, s12, . . . , sN}(sijεS) be the set of corresponding social tie labels associated with M connections. The connection eij (1≦i, j≦N, i≠j) between vi and vj may be directed or undirected. For consistency, sij≠sij and sij=sij may be valid settings. Given the observed social network data D constructing graph G, the likely types of actions y* and ties s* may be simultaneously detected such that both actions y* and ties s* are optimized.
In this example, to characterize the social action yi, assume that for the user vi there exists observable attributes or properties mi, such as, for example, the user's registration information, historical actions, and the like. Further, assume for this example that there exists some hidden or latent properties xij for vi. These latent properties or factors are implicit and are not directly observable. Examples of these latent factors may include the influence from social ties and the like. Observable factors may be denoted as φ(yi, vi, mi), and latent or hidden factors may be denoted as φh(yi, sij, xij). Given the graph G, the probability distribution of yi depends on both observable and latent factors as follows:
Continuing this example, to characterize the social tie sij between user pair (vi, v1), assume that there exist observable properties wij, such as the posterior probability of the social tie sij assigned to (v, vi). Observable factors φ′(sij, vi, vj, wij) may be denoted for wij. Similarly, further assume that there exist some latent properties to incorporate the social action influence on social ties. For consistency, the vector xij may be used to represent the latent properties, and the latent factor φh(yi, sij, xij) may be used to capture the social action influence on social ties. Both xij and φh(yi, sij, xij) are utilized in encoding social action dependency and social tie connection simultaneously. As such, φh(yi, sij, xij) exposes influences from social ties for modeling social actions and also exposes influences from social actions for modeling social ties. By doing so, the latent factor φh(yi, sij, xij) is bi-directionally coupled, encoding both sources of evidence and exploring mutual influences and dynamics between social actions and social ties, resulting in improved prediction performance. Given the user action yi and the graph G, the following model may be used for the probability distribution of sij and may depend on both observable and latent factors:
The mutual correlation between social actions and social ties advocates joint modeling of both sources of evidence in a single unified framework. Based on the above descriptions, a MLRG based on exponential-family random graph models (ERGMs) may be defined. To design a concrete model, distributions for the dependencies for MLRGs may be specified. According to the Hammersley-Clifford theory, the joint conditional distribution P(yi, sij)|G is factorized as a product of potential functions over all cliques in the graph G, and as such, the MLRG may be summarized as follows:
The three factors φ(•), φh(•), and φ′(•) may be instantiated in various ways. In some examples, each factor is defined as the exponential family of an inner product over sufficient statistics (e.g., feature functions) and corresponding parameters. Each factor is a clique template whose parameters are tied.
Unlike conventional techniques, the MLRG model described herein may define latent factors to assume mutual and dynamic interactions between social ties and social actions. Additionally, the MLRG model provides a single unified framework to address both social action prediction and social tie inference simultaneously while utilizing both sources of evidence.
The MLRG model is a learning model that may be used to estimate a parameter configuration Θ={α, β, γ} such that the log-likelihood of observation is maximized. The log-likelihood objective function O(Θ) of the observation, given the graph G, may be defined as:
where Ω(Θ) is regularization to reduce over-fitting. In some examples, a spherical Gaussian prior with mean 0 and covariance δ2I may be used. Ω(Θ) and Θq may be defined as follows:
A mutual gradient descent (MGD) algorithm may be used to estimate the parameters efficiently in a mutual and collaborative manner. An example of a MGD algorithm is as follows:
, number of iterations n, and the learning
;
Once the social action parameters α and β are optimized using the MGD algorithm, the influences and hypotheses of the social actions may aid in the learning of the social tie parameters γ and β, and vice versa. As shown in the example MGD algorithm above, β is a coupled parameter vector for both social actions and social ties and may be updated twice in each iteration of the MGD algorithm. By doing so, the MGD algorithm allows for learning of social action parameters to capture social tie influences and also optimizes social tie parameters to alleviate social action influences. This learning algorithm may run iteratively until convergence to enhance the optimization of social actions and social ties.
In some examples, each iteration of the MGD algorithm may include using an example sample of users at random and accordingly applying parameter updates by moving in the direction defined by the stochastically-approximated gradient of the loss function. This algorithm is computationally efficient, and convergence is fast when the training examples are redundant since only a few examples are used during performance. Furthermore, in some examples, the MGD algorithm may be online and may scale sub-linearly with the amount of training data, making it useful for large-scale datasets.
The MGD algorithm may compute approximations of the gradients due to the intractability of the normalizing constant Z in the log-likelihood of the MLRG model. The MGD algorithm optimizes social action and social tie parameters (e.g., α, β, γ) simultaneously, providing a scalable technique applicable to real-world problems. Additionally, the MGD algorithm may perform mutual and collaborative optimization to enable mutual influence between social actions and social ties.
Inference may be used to find the likely types of actions y* and corresponding social tie labels s* as follows: (y*, s*)=arg max(y, s) P(y, s|G). Based on the learned parameters Θ*={α*, β*, γ*}, the label of each social action yi is predicted by finding a labeling assignment that maximizes Pyi|G as yi* arg maxyiεY Pyi|G. The social tie label sij is inferred such that sij*=arg maxsijεS Psij|(yi, G).
In one example, the above-described techniques were used for a popular social network that allows users to check in at a physical location and let their social network friends know where they are. The dataset included 11,326 distinct users, 182,968 physical locations (e.g., venues), 1,385,233 check-in behaviors, and 47,164 social connections from January 2011 to July 2011. The nature and effectiveness of the associated latent factors on the mutual influences were examined.
Examples provided herein (e.g., methods) may be implemented in hardware, software, or a combination of both. Example systems may include a controller/processor and memory resources for executing instructions stored in a tangible non-transitory medium (e.g., volatile memory, non-volatile memory, and/or machine-readable media). Non-transitory machine-readable media can be tangible and have machine-readable instructions stored thereon that are executable by a processor to implement examples according to the present disclosure.
An example system can include an/or receive a tangible non-transitory machine-readable medium storing a set of machine-readable instructions (e.g., software). As used herein, the controller/processor can include one or a plurality of processors such as in a parallel processing system. The memory can include memory addressable by the processor for execution of machine-readable instructions. The machine-readable medium can include volatile and/or non-volatile memory such as a random access memory (“RAM”), magnetic memory such as a hard disk, floppy disk, and/or tape memory, a solid state drive (“SSD”), flash memory, phase change memory, and so on.