<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recommendation Systems on Chen Kai Blog</title><link>https://www.chenk.top/en/recommendation-systems/</link><description>Recent content in Recommendation Systems on Chen Kai Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 15 Jan 2026 09:00:00 +0000</lastBuildDate><atom:link href="https://www.chenk.top/en/recommendation-systems/index.xml" rel="self" type="application/rss+xml"/><item><title>Recommendation Systems (16): Industrial Architecture and Best Practices</title><link>https://www.chenk.top/en/recommendation-systems/16-industrial-practice/</link><pubDate>Thu, 15 Jan 2026 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/16-industrial-practice/</guid><description>&lt;blockquote>
&lt;p>The hardest part of a production recommendation system is not the model. It is the &lt;strong>system around the model&lt;/strong>: the feature store that prevents training/serving skew, the canary deployment that catches a regression before it hits 100M users, the orchestration that meets a 100ms p95 latency budget while running four ML models in sequence. This final article describes the architecture that every major tech company has converged on &amp;ndash; and the trade-offs hiding inside each layer.&lt;/p></description></item><item><title>Recommendation Systems (15): Real-Time Recommendation and Online Learning</title><link>https://www.chenk.top/en/recommendation-systems/15-real-time-online/</link><pubDate>Mon, 12 Jan 2026 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/15-real-time-online/</guid><description>&lt;blockquote>
&lt;p>A user opens your app at 14:02 and searches for &amp;ldquo;trail running shoes&amp;rdquo;. By 15:30 they have moved on and are reading kitchen reviews. A model that retrains nightly is still showing them Salomon ads at 16:00 — and that gap is exactly the bug a real-time system fixes. The interesting part is not &amp;ldquo;make it faster&amp;rdquo; but &amp;ldquo;what &lt;em>should&lt;/em> be fast&amp;rdquo; — most features add nothing to AUC even when made real-time, and the wrong design point burns money for no lift.&lt;/p></description></item><item><title>Recommendation Systems (14): Cross-Domain Recommendation and Cold-Start Solutions</title><link>https://www.chenk.top/en/recommendation-systems/14-cross-domain-cold-start/</link><pubDate>Fri, 09 Jan 2026 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/14-cross-domain-cold-start/</guid><description>&lt;blockquote>
&lt;p>When Netflix launches in a new country, it inherits millions of users with zero history and a catalog with no local ratings. Amazon faces the same problem each time it opens a new product category. Pure collaborative filtering — the workhorse of warm-state recommendation — has nothing to compute on. The discipline that makes recommendations work in this regime is a stack of techniques: bootstrap heuristics for the first request, meta-learning after a handful of interactions, cross-domain transfer when a related domain is rich, and bandits to keep exploring once the model is confident. This post walks through that stack, anchored to the papers it descends from.&lt;/p></description></item><item><title>Recommendation Systems (13): Fairness, Debiasing, and Explainability</title><link>https://www.chenk.top/en/recommendation-systems/13-fairness-explainability/</link><pubDate>Tue, 06 Jan 2026 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/13-fairness-explainability/</guid><description>&lt;blockquote>
&lt;p>A user opens Spotify and the same fifty songs keep appearing. They open Amazon and the top results are always the items they have already considered. They open YouTube and every recommendation is one click away from a rabbit hole they cannot remember asking for. Each of these symptoms has a name, a cause, and a fix. This article is about all three.&lt;/p>
&lt;/blockquote>
&lt;h2 id="what-you-will-learn">What You Will Learn&lt;/h2>
&lt;ul>
&lt;li>The &lt;strong>seven biases&lt;/strong> that systematically distort what users see, where each one comes from, and how to measure it&lt;/li>
&lt;li>&lt;strong>Causal inference for recommenders&lt;/strong> — why correlations from logged data lie, and how IPS, doubly robust estimators, and propensity scoring give you unbiased signal&lt;/li>
&lt;li>&lt;strong>Production-grade debiasing&lt;/strong>: MACR for popularity bias, DICE for conformity bias, FairCo for amortized exposure fairness&lt;/li>
&lt;li>&lt;strong>Counterfactual fairness&lt;/strong> and adversarial training to keep protected attributes out of embeddings&lt;/li>
&lt;li>&lt;strong>Explainability that holds up under audit&lt;/strong>: LIME, SHAP, and counterfactual explanations&lt;/li>
&lt;li>A working &lt;strong>trade-off framework&lt;/strong> so you can pick where to operate on the accuracy–fairness Pareto frontier&lt;/li>
&lt;/ul>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>Embedding-based recommenders (&lt;a href="https://www.chenk.top/en/recommendation-systems-04-ctr-prediction/">Part 4&lt;/a>
 and &lt;a href="https://www.chenk.top/en/recommendation-systems-05-embedding-techniques/">Part 5&lt;/a>
)&lt;/li>
&lt;li>Basic causal inference vocabulary helps but is not required — we build it from scratch&lt;/li>
&lt;li>Comfortable reading PyTorch-style pseudocode&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="part-1--the-seven-biases">Part 1 — The Seven Biases&lt;/h2>
&lt;p>Bias in a recommender is not one problem. It is at least seven, and they compound. Below is the working taxonomy used in the survey of Chen et al. (2023, &lt;em>Bias and Debias in Recommender System&lt;/em>) — the cleanest reference if you want the full literature map.&lt;/p></description></item><item><title>Recommendation Systems (12): Large Language Models and Recommendation</title><link>https://www.chenk.top/en/recommendation-systems/12-llm-recommendation/</link><pubDate>Sat, 03 Jan 2026 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/12-llm-recommendation/</guid><description>&lt;p>A user opens a movie app and types: &lt;em>&amp;ldquo;Something like Inception, but less depressing.&amp;rdquo;&lt;/em> A traditional recommender — collaborative filtering, two-tower DNN, even DIN — sees zero useful tokens here. It has no &lt;code>like&lt;/code> button to count, no co-watch graph to traverse, no user ID with history. The query has to be turned into IDs before the system can do anything.&lt;/p>
&lt;p>A Large Language Model has the opposite problem: it has &lt;em>too much&lt;/em> world knowledge but doesn&amp;rsquo;t know who this user is. It knows Inception is a Christopher Nolan film with non-linear narrative and a hopeful-but-ambiguous ending; it knows what &amp;ldquo;depressing&amp;rdquo; means in cinema; it can name twenty films that fit. But it can&amp;rsquo;t tell you which of those twenty the &lt;em>current&lt;/em> user has already seen, rated badly, or left half-watched.&lt;/p></description></item><item><title>Recommendation Systems (11): Contrastive Learning and Self-Supervised Learning</title><link>https://www.chenk.top/en/recommendation-systems/11-contrastive-learning/</link><pubDate>Wed, 31 Dec 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/11-contrastive-learning/</guid><description>&lt;p>Classical recommenders learn from one signal: did a user click, watch, or buy? That signal is precious, but it is also brutally sparse. Most users touch fewer than 1% of the catalogue, most items are touched by fewer than 0.1% of users, and a brand-new item or user has nothing at all. Optimising a model directly against such sparse labels almost guarantees overfitting on the head and silence on the tail.&lt;/p></description></item><item><title>Recommendation Systems (10): Deep Interest Networks and Attention Mechanisms</title><link>https://www.chenk.top/en/recommendation-systems/10-deep-interest-networks/</link><pubDate>Sun, 28 Dec 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/10-deep-interest-networks/</guid><description>&lt;p>A good chef doesn&amp;rsquo;t cook the same dish for every guest. She watches you walk in, notes the wine you order, glances at how you eyed the chalkboard — and only then decides whether tonight&amp;rsquo;s special should be the steak or the risotto. Your past visits matter, but only the parts that fit &lt;em>this&lt;/em> mood.&lt;/p>
&lt;p>A recommendation model used to be a worse chef. It would take everything the user had ever clicked, average it into a single vector, and serve the same dish to everyone in the room. That vintage leather jacket you viewed last week and the random phone charger you clicked six months ago carried equal weight, regardless of what you were looking at right now.&lt;/p></description></item><item><title>Recommendation Systems (9): Multi-Task Learning and Multi-Objective Optimization</title><link>https://www.chenk.top/en/recommendation-systems/09-multi-task-learning/</link><pubDate>Thu, 25 Dec 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/09-multi-task-learning/</guid><description>&lt;p>A live e-commerce ranker is never optimizing one number. The same model that decides which product to show you is, in the same forward pass, predicting whether you will click, whether you will add it to cart, whether you will pay, whether you will return it, and whether you will leave a positive review. Each prediction is a different &lt;em>task&lt;/em> with its own data distribution, its own scarcity, and its own incentives. They are also tightly coupled: a clicker is more likely to convert, a converter is more likely to write a review, and a high-CTR thumbnail can buy clicks that depress watch time.&lt;/p></description></item><item><title>Recommendation Systems (8): Knowledge Graph-Enhanced Recommendation</title><link>https://www.chenk.top/en/recommendation-systems/08-knowledge-graph/</link><pubDate>Mon, 22 Dec 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/08-knowledge-graph/</guid><description>&lt;p>When you search for &lt;em>The Dark Knight&lt;/em> on a streaming platform, the system does not merely log that you watched it. It knows Christian Bale played Batman, Christopher Nolan directed it, it belongs to the Batman trilogy, and it shares cinematic DNA with other cerebral action films. This rich semantic web is a &lt;strong>knowledge graph (KG)&lt;/strong> &amp;ndash; a structured network of entities (movies, actors, directors, genres) connected by typed relations (&lt;code>acted_in&lt;/code>, &lt;code>directed_by&lt;/code>, &lt;code>part_of&lt;/code>).&lt;/p></description></item><item><title>Recommendation Systems (7): Graph Neural Networks and Social Recommendation</title><link>https://www.chenk.top/en/recommendation-systems/07-graph-neural-networks/</link><pubDate>Fri, 19 Dec 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/07-graph-neural-networks/</guid><description>&lt;p>When Netflix decides what to recommend next, it does not look at your watch history in isolation. Behind the scenes there is a web of relationships: movies that share actors, users with overlapping taste, ratings that ripple through the catalogue. The &amp;ldquo;graph&amp;rdquo; view is not a metaphor — every interaction matrix &lt;em>is&lt;/em> a graph, and treating it as one unlocks ideas that flat user/item embeddings cannot express.&lt;/p>
&lt;p>&lt;strong>Graph neural networks&lt;/strong> (GNNs) are the tool that lets us reason over that graph. Instead of learning each user and each item in isolation, a GNN says: &lt;em>your representation is shaped by the company you keep.&lt;/em> That single shift powers Pinterest&amp;rsquo;s billion-node PinSage, the strikingly simple LightGCN that beats heavier baselines on collaborative filtering, and the social-recommendation systems that fuse &amp;ldquo;what you watched&amp;rdquo; with &amp;ldquo;what your friends watched.&amp;rdquo;&lt;/p></description></item><item><title>Recommendation Systems (6): Sequential Recommendation and Session-based Modeling</title><link>https://www.chenk.top/en/recommendation-systems/06-sequential-recommendation/</link><pubDate>Tue, 16 Dec 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/06-sequential-recommendation/</guid><description>&lt;p>When you scroll TikTok, every recommendation feels eerily on-point — not because the system reads your mind, but because it reads the &lt;strong>order&lt;/strong> of what you just watched. A cooking video followed by a travel vlog tells a different story than the same two clips in reverse. That ordering is exactly the signal that sequential recommenders are built to exploit.&lt;/p>
&lt;p>Compare two friends recommending shows. The first knows your favourite genres but never asks what you watched last week. The second says, &lt;em>&amp;ldquo;You just finished three sci-fi thrillers in a row — try this one.&amp;rdquo;&lt;/em> Traditional collaborative filtering is friend one. Sequential recommendation is friend two.&lt;/p></description></item><item><title>Recommendation Systems (5): Embedding and Representation Learning</title><link>https://www.chenk.top/en/recommendation-systems/05-embedding-techniques/</link><pubDate>Sat, 13 Dec 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/05-embedding-techniques/</guid><description>&lt;p>When Netflix suggests &lt;em>Inception&lt;/em> to someone who just finished &lt;em>The Dark Knight&lt;/em>, the magic is not a hand-crafted &amp;ldquo;if-watched-Nolan-then&amp;rdquo; rule. It is geometry. Both films sit close together in a 128-dimensional &lt;strong>embedding space&lt;/strong> that the model has learned from billions of viewing events. Geometry replaces enumeration: instead of comparing a movie to fifteen thousand others through brittle similarity rules, the system asks a single question — &lt;strong>how far apart are these two vectors?&lt;/strong>&lt;/p></description></item><item><title>Recommendation Systems (4): CTR Prediction and Click-Through Rate Modeling</title><link>https://www.chenk.top/en/recommendation-systems/04-ctr-prediction/</link><pubDate>Wed, 10 Dec 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/04-ctr-prediction/</guid><description>&lt;p>Every time you scroll through a social-media feed, click a product recommendation, or watch a suggested video, a CTR (click-through rate) model decided what to show you. These models answer one deceptively small question:&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>&amp;ldquo;What is the probability that this specific user will click on this specific item, right now?&amp;rdquo;&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>Behind that question is one of the most economically valuable problems in machine learning. A 1% lift in CTR translates into millions of dollars at Google, Amazon, or Alibaba scale &amp;ndash; and the same models also drive video feeds, app stores, news apps, and dating apps. CTR prediction sits at the heart of the &lt;strong>ranking&lt;/strong> stage: candidate generation gives you a few thousand items, and the CTR model decides which dozen actually reach the user.&lt;/p></description></item><item><title>Recommendation Systems (3): Deep Learning Foundations</title><link>https://www.chenk.top/en/recommendation-systems/03-deep-learning-basics/</link><pubDate>Sun, 07 Dec 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/03-deep-learning-basics/</guid><description>&lt;p>In June 2016, Google published a one-page paper that quietly redrew the map of recommendation systems. The paper described &lt;strong>Wide &amp;amp; Deep Learning&lt;/strong>, the model then powering app recommendations inside Google Play &amp;ndash; a billion-user product. Within a year, every major tech company had a deep model in production. By 2019, the industry standard had shifted: matrix factorization was a baseline, not a system.&lt;/p>
&lt;p>What changed? Multi-layer neural networks brought four capabilities classical methods could not deliver:&lt;/p></description></item><item><title>Recommendation Systems (2): Collaborative Filtering and Matrix Factorization</title><link>https://www.chenk.top/en/recommendation-systems/02-collaborative-filtering/</link><pubDate>Thu, 04 Dec 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/02-collaborative-filtering/</guid><description>&lt;p>You finish &lt;em>The Shawshank Redemption&lt;/em> and want something with the same feeling. A genre filter would surface every prison drama ever made, most of them awful. Collaborative filtering takes a different route: it never looks at the movie itself. It looks at &lt;em>people who watched what you watched&lt;/em> and asks what else they loved.&lt;/p>
&lt;p>That single idea — let the crowd&amp;rsquo;s behaviour speak — powers Amazon, YouTube, Spotify and every modern feed. This article unpacks the algorithms behind it, from the neighbourhood methods of the 1990s to the matrix-factorization models that won the Netflix Prize.&lt;/p></description></item><item><title>Recommendation Systems (1): Fundamentals and Core Concepts</title><link>https://www.chenk.top/en/recommendation-systems/01-fundamentals/</link><pubDate>Mon, 01 Dec 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/recommendation-systems/01-fundamentals/</guid><description>&lt;p>Open Netflix and the homepage somehow knows you. Scroll TikTok and the next video is the one you didn&amp;rsquo;t realise you wanted. Drop into Spotify on a Monday morning and &lt;em>Discover Weekly&lt;/em> serves up thirty songs you&amp;rsquo;ve never heard of, and you save half of them.&lt;/p>
&lt;p>None of this is magic. It is one of the most commercially successful applications of machine learning, quietly running behind almost every consumer product you use: the &lt;strong>recommendation system&lt;/strong>.&lt;/p></description></item></channel></rss>