<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recommender Systems on Chen Kai Blog</title><link>https://www.chenk.top/en/tags/recommender-systems/</link><description>Recent content in Recommender Systems on Chen Kai Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 26 Mar 2025 09:00:00 +0000</lastBuildDate><atom:link href="https://www.chenk.top/en/tags/recommender-systems/index.xml" rel="self" type="application/rss+xml"/><item><title>Essence of Linear Algebra (13): Tensors and Multilinear Algebra</title><link>https://www.chenk.top/en/linear-algebra/13-tensors-and-multilinear-algebra/</link><pubDate>Wed, 26 Mar 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/linear-algebra/13-tensors-and-multilinear-algebra/</guid><description>&lt;p>If you&amp;rsquo;ve used PyTorch or TensorFlow, you&amp;rsquo;ve met the word &amp;ldquo;tensor&amp;rdquo; hundreds of times. PyTorch calls every array &lt;code>torch.Tensor&lt;/code>; TensorFlow puts it in the product name. But what &lt;em>is&lt;/em> a tensor, and why did frameworks borrow this physics-flavored word for what looks like a multi-dimensional array?&lt;/p>
&lt;p>The short answer from this chapter:&lt;/p>
&lt;blockquote>
&lt;p>A tensor is the natural generalization of a scalar, vector, and matrix to &lt;strong>arbitrary&lt;/strong> dimensions. Everything you know about matrices either lifts cleanly to tensors, or breaks in instructive ways.&lt;/p></description></item><item><title>HCGR: Hyperbolic Contrastive Graph Representation Learning for Session-based Recommendation</title><link>https://www.chenk.top/en/standalone/hcgr/</link><pubDate>Wed, 01 May 2024 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/standalone/hcgr/</guid><description>&lt;p>A user opens a sneaker app, taps &amp;ldquo;running shoes,&amp;rdquo; drills into a brand, then a price band, and finally a single SKU. This trajectory forms a &lt;em>tree&lt;/em>: each click narrows the candidate set roughly multiplicatively. In Euclidean space, you need many dimensions to keep all the leaves of the tree apart because the volume grows polynomially with radius. In hyperbolic space, volume grows &lt;em>exponentially&lt;/em> with radius, so the tree fits naturally — a few dimensions are enough to keep the long tail untangled.&lt;/p></description></item><item><title>paper2repo: GitHub Repository Recommendation for Academic Papers</title><link>https://www.chenk.top/en/standalone/paper2repo-github-repository-recommendation/</link><pubDate>Mon, 26 Jun 2023 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/standalone/paper2repo-github-repository-recommendation/</guid><description>&lt;p>You read a paper, want the code, but the &amp;ldquo;code available at&amp;rdquo; link is dead, missing, or points to a stub. Search engines resort to keyword matching in the README, which works for popular repos with descriptive names but fails for others. paper2repo (WWW 2020) frames this as a cross-platform recommendation problem: learn an embedding space where a paper abstract and a GitHub repository can be compared directly using a dot product, then rank them.&lt;/p></description></item><item><title>Session-based Recommendation with Graph Neural Networks (SR-GNN)</title><link>https://www.chenk.top/en/standalone/session-based-recommendation-with-graph-neural-networks/</link><pubDate>Sun, 25 Jun 2023 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/standalone/session-based-recommendation-with-graph-neural-networks/</guid><description>&lt;p>A user clicks &lt;strong>A, B, C, B, D&lt;/strong>. A sequence model reads this as five tokens and folds them into a hidden state. &lt;strong>SR-GNN&lt;/strong> sees a &lt;em>graph&lt;/em> in which the edge &lt;code>B -&amp;gt; C&lt;/code> survives even after the user returns to &lt;code>B&lt;/code>, the node &lt;code>B&lt;/code> is reused (so its in/out neighbours both inform its embedding), and the geometry of the click stream is preserved as adjacency. That structural insight is why &lt;a href="https://arxiv.org/abs/1811.00855" target="_blank" rel="noopener noreferrer">SR-GNN (Wu et al., AAAI 2019) &lt;span aria-hidden="true" style="font-size:0.75em; opacity:0.55; margin-left:2px;">↗&lt;/span>&lt;/a>
 outperforms purely sequential baselines such as GRU4Rec and NARM on standard session-based recommendation (SBR) benchmarks.&lt;/p></description></item><item><title>Graph Contextualized Self-Attention Network (GC-SAN) for Session-based Recommendation</title><link>https://www.chenk.top/en/standalone/gcsan/</link><pubDate>Sun, 29 Jan 2023 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/standalone/gcsan/</guid><description>&lt;p>In session-based recommendation you only see a short anonymous click sequence — no user profile, no long history, no demographics. Every signal you have lives inside that single window. &lt;strong>GC-SAN&lt;/strong> (IJCAI 2019) takes the strongest two ideas of the time — SR-GNN&amp;rsquo;s session graph and the Transformer&amp;rsquo;s self-attention — and stacks them: a &lt;em>graph&lt;/em> view captures local transition patterns and loops, a &lt;em>sequence&lt;/em> view captures long-range intent, and a tiny weighted sum decides how much of each to trust. The result is a clean &amp;ldquo;best of both worlds&amp;rdquo; baseline that is genuinely hard to beat at its parameter budget.&lt;/p></description></item><item><title>LLMGR: Integrating Large Language Models with Graphical Session-Based Recommendation</title><link>https://www.chenk.top/en/standalone/llmgr/</link><pubDate>Sun, 22 Jan 2023 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/standalone/llmgr/</guid><description>&lt;p>Session-based recommendation relies on the click graph. New items lack edges, and long-tail items have a few noisy ones. Each item has a title and description, but the model never uses them. &lt;strong>LLMGR&lt;/strong> addresses this by treating the LLM as a &amp;ldquo;semantic engine&amp;rdquo; that converts text into representations a graph encoder can use, then lets a GNN handle ranking. On Amazon Music/Beauty/Pantry, the results show HR@20 up ~8.68%, NDCG@20 up ~10.71%, and MRR@20 up ~11.75% over the strongest GNN baseline, with the biggest gains for cold-start items.&lt;/p></description></item></channel></rss>