AI & ML






UniRec: Bridging the Expressive Gap between Generative and Discriminative Recommendation via Chain-of-Attribute
arXiv cs.IR0 views
arXiv:2604.12234v5 Announce Type: replace Abstract: Generative Recommendation (GR) reframes retrieval and ranking as autoregressive decoding over Semantic IDs (SIDs), unifying the multi-stage pipeline into a single model. Yet a fundamental expressive gap persists: discriminative models score items with direct feature access enabling explicit user-item crossing, whereas GR decodes over compact SID tokens without item-side signal. We formalize this via Bayes' theorem: ranking by p(y|f,u) is equivalent to ranking by p(f|y,u), which factorizes autoregressively over item features, showing that a generative model with full feature access matches its discriminative counterpart, with any practical gap stemming solely from incomplete feature coverage. We propose UniRec with Chain-of-Attribute (CoA) as its core mechanism. CoA prefixes each SID sequence with structured attribute tokens:category, seller, brand, before decoding the SID, recovering the item-side feature crossing that discriminative models exploit. Since items sharing identical attributes cluster in adjacent SID regions, attribute conditioning yields a measurable per-step entropy reduction H(s_k|sSource:https://arxiv.org/abs/2604.12234
PreviousRelevance Supervision Can Teach Neural Retrievers to Prefer LLM-Generated TextNextDocument-as-Image Representations Fall Short for Scientific Retrieval
Related posts
Cilium 1.20.0 Requires BTF Flag in Linux Kernel, Raspberry Pi OS Kernel Incompatible Without It
0dev.to
YC Labs and Olam Labs ran 50 AI agents in a Minecraft civilization experiment
0dev.to
Lavoro su piattaforma e algoritmi: cosa cambia con la direttiva europea per chi progetta il software
0dev.to
LifeVal Benchmark Targets Everyday Personal Assistant Tasks Shaped by ChatGPT User Feedback
0dev.to
Oracle files to sell $20B in new stock, bonds to finance AI buildout
0Hacker News
7.9% to 48.1%: LLM rewrote Qwen weights, no training
0dev.to
show = false, 2600)"
x-show="show" x-cloak x-transition.opacity.duration.200ms
class="fixed bottom-8 left-1/2 z-[80] -translate-x-1/2 rounded-lg border border-line bg-card px-4 py-2.5 text-sm text-heading shadow-card-hover"
role="status" aria-live="polite">