Social Network Recommendation System Using Random Projection
Solution Overview
Problem
Large online social networks face computational challenges in recommending content to users due to the prohibitive time and processing requirements of directly computing dot products for all user-concept pairs, especially with vast user and concept bases exceeding billions and millions, respectively.
Innovation Solution
The social-networking system employs collaborative filtering to predict user interests based on connections, uses a sample of users to calculate concept traits, and then applies random projection to scope down concepts for every user, determining similar concepts based on cosine similarity distance to provide targeted recommendations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the system directly computes dot products for all user-concept pairs, then recommendation accuracy is improved, but computational time and processing requirements become prohibitive
Solution Approach 1:
The patent segments the computation into two phases: (1) pre-compute concept traits for all concepts using a sample of users, and (2) compute user traits and recommendations for remaining users using the pre-computed concept traits. This segmentation reduces the computational burden from O(N*M) to O(S*M + N*K) where S is the sample size, N is total users, M is total concepts, and K is the reduced dimensionality.
Solution Approach 2:
The system performs preliminary computation of concept traits using a sample of users before processing all users. This preliminary action creates a foundation that accelerates subsequent recommendation computations, as concept traits are computed only once rather than for every user-concept pair.
2Measurement precision
If the system uses all users and all concepts for rating data, then recommendation quality is improved, but data set size becomes unfeasibly large
Solution Approach 1:
The patent applies partial action by using a sample of users (而非 all users) to compute concept traits. This sample is sufficient to capture the essential concept characteristics while being computationally manageable. The concept traits derived from this partial data set are then applied to generate recommendations for all users.
3Measurement precision
If the system calculates scores for each user-concept pair directly, then recommendation precision is improved, but processing complexity increases
Solution Approach 1:
The patent changes the computational parameters by introducing user traits and concept traits as intermediate representations. Instead of directly computing scores from raw user-concept interactions, the system transforms the data into trait vectors and computes recommendations as dot products of these traits, reducing computational complexity from O(N*M) to O(N*K) where K is the trait dimensionality.
Data Source
AI summary
In one embodiment, a method includes accessing user-concept scores for a first set of users, wherein each user-concept score is associated with a user-concept pair; calculating recommended user-concept scores for a subset of user-concept pairs in a second set of users. The first set of users may be discrete from the second set of users. A recommendation-algorithm may compute the recommended user-concept scores for a user-concept pair by optimizing an objective function comprising a plurality of predicted rating functions. Each predicted rating function may be determined using a user score, a concept score, a user-bias value associated with the user, as well as a concept-bias value associated with the concept. Finally, the method may include sending recommendations for one or more concepts based on the recommended user-concept scores for the second set of users.


