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

VSEngineering 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

Engineering Contradiction:
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Core Design Contradiction:
Measurement precisionVSQuantity of substance

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.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If the system calculates scores for each user-concept pair directly, then recommendation precision is improved, but processing complexity increases

Engineering Contradiction:
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10367862B2Large-scale page recommendations on online social networks
Publication Date: 2019.07.30
  • US10367862B2 patent drawing
  • US10367862B2 patent drawing
  • US10367862B2 patent drawing

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.