Viewer-conditioned social ranking

2026/08/09

#recommendation-systems #social-graphs #machine-learning

This is a short index for a three-part series on why social recommendation keeps underperforming the item-recommendation playbook, and what to do about it. The series comes down to one idea, in three posts. This page is that idea, with links.

The idea

Item recommendation runs on a bipartite graph, users on one side, items on the other, and that topology fixes every node’s role. Social recommendation runs on a unipartite graph, where the same person is the viewer in one edge and the candidate in another. That single difference is the root cause of most of what goes wrong when you port the item-rec machinery (shared embeddings, attention, sequence models) onto people: it pushes the viewer–candidate relevance matrix toward high effective rank, which the low-rank operators underlying that machinery cannot express, and it puts the dominant signal, triadic closure, in a motif the bipartite topology cannot contain at all. The response the series builds is to stop giving each candidate one fixed vector and instead generate the viewer’s side of the comparison from the viewer’s own structure, a per-viewer projection operator; it does not raise the rank ceiling, and the real question is how to do it at a billion users without the cost exploding.

The three posts

  1. Part I: Item recommendation is bipartite. Social recommendation isn’t., the diagnosis. Why the topology difference breaks the playbook, why piling on attention cannot help (attention is a rank-capped bilinear operator), and the two-axis defense against the obvious objection.
  2. Part II: How to tell whether your recommendation problem is low-rank, the rigor. How to measure rank without fooling yourself (algebraic rank is useless; the two confounds are sparsity and popularity; there is one figure that settles it), and why even proving “high-rank” leaves you inside a frame too small for the problem.
  3. Part III: Viewer-conditioned projection at billion scale, the build. The candidate embedding as a structural fingerprint, the per-viewer operator as a low-rank residual, the hypernetwork that generates it, and the query-side trick that makes it serve for free, plus the honest novelty map and the dual-attention defense.

The ideas that hold it together

Where it stops

The honest claim is narrow. Per-viewer projection is not a new mechanism, it goes back to McAuley and colleagues, in 2015, and it is not a way around the rank ceiling either; what the unipartite topology forces is asymmetry, per-viewer projection is one way to get it, and the query-side factorization is what makes that way affordable at scale. What is left is the evidence: the metric-versus-dimension curve, and the Adamic-Adar-on-top-of-attention ablation, on a real graph. That part is an experiment, and experiments, unlike arguments, are easy to read.