热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >小红书发表NoteLLM,大模型在小红书笔记推荐中的落地应用

小红书发表NoteLLM,大模型在小红书笔记推荐中的落地应用

来源:互联网 更新时间:2026-08-11 16:44

这篇论文提出的NoteLLM,说到底是解决了推荐系统里一个挺实在的问题:怎么给用户推荐那些他们可能感兴趣的“笔记”——像小红书、Lemon8这类平台上用户分享的生活记录、产品评测、旅游攻略等等。传统的做法是把笔记内容塞进BERT模型,生成一个向量,然后靠向量相似度来找相关笔记。但问题是,这些方法往往忽略了笔记里那些很关键的线索,比如标签和类别。要知道,标签和类别本身就是对笔记内容的精炼概括,学习生成它们,反过来也能帮模型更好地理解笔记,生成更高质量的向量表示。

论文地址:https://arxiv.org/pdf/2403.01744

所以,NoteLLM的思路很直接:让一个大型语言模型(LLM)同时干两件事——做笔记推荐(item-to-item,I2I),以及生成标签和类别。这两件事本质上都是在压缩信息:推荐是把笔记浓缩成一个向量,生成标签/类别是把笔记浓缩成几个关键词。既然目标相似,那一起训练,效果应该能互相加强。

简介:为什么需要NoteLLM?

在小红书、Lemon8这类社区里,用户每天产生海量笔记。要从中找出用户可能喜欢的其他笔记,I2I推荐是核心手段。传统做法要么靠用户行为的协同信号,要么靠文本内容的向量匹配。但协同信号对冷启动笔记不友好——新笔记没人看过,就没法推荐;而文本向量方法又没用好标签和类别这类浓缩信息。

NoteLLM的创新点在于,它把推荐和生成任务统一到一个LLM框架里。具体来说,它设计了一个“笔记压缩提示”(Note Compression Prompt),让LLM通过一个特殊token把整篇笔记压缩成一段隐含向量,同时输出对应的标签或类别。为了构建训练所需的“相关笔记对”,它从用户行为数据里计算笔记之间的共现分数(经常被同一用户先后阅读的笔记视为相关)。然后,它用“生成对比学习”(Generative Contrastive Learning, GCL)来训练模型,让压缩后的向量能区分相关和不相关的笔记。与此同时,“协作监督微调”(Collaborative Supervised Fine-Tuning, CSFT)让模型学会根据笔记内容生成准确的标签和类别。两套损失一起优化,达到相互促进的目的。

相关工作:站在哪些肩膀上?

I2I推荐

I2I推荐要么预先构建索引,要么在线用近似最近邻搜索。传统方法依赖用户行为协同,冷启动是痛点。基于文本的方法则从早期的关键词匹配进化到深度学习嵌入。但LLM在这里的应用还很少见,有的研究只是把LLM当编码器用,浪费了它的生成能力。NoteLLM则把生成能力也用上了——学写标签,顺带强化嵌入。

LLM用于推荐

目前主要有三种做法:用LLM扩充数据、直接让LLM做推荐(但受限于上下文长度,多用于重排序阶段)、把LLM当编码器。NoteLLM走的是第三条路,但加上生成任务,让编码器变强。

从文本生成标签/类别

标签生成有提取式(只能从原文中抠)、分类式(把标签当成有限类别,不够灵活)、生成式(直接生成,但之前只做单一任务)。NoteLLM的多任务学习打破了这种局限。

问题定义

笔记池里有N条笔记,每条包含标题、标签、类别和正文。I2I推荐的目标是:给定一条目标笔记,从池中排序出最相似的K条。标签/类别生成则是:根据标题、标签、类别和正文,生成对应的标签或类别。

NoteLLM:具体怎么做的?

整体框架

三个关键组件:笔记压缩提示构建、生成对比学习(GCL)、协作监督微调(CSFT)。先把笔记整理成统一提示,输入LLM。LLM同时输出压缩向量和生成的标签/类别。GCL用压缩向量做对比学习,捕捉协同信号;CSFT用语义+协同信息生成标签/类别。

笔记压缩提示

提示模板是这样的:

[BOS]     [EOS]

其中,[EMB]是一个特殊token,LLM会把整篇笔记浓缩到它的隐藏状态里。标签生成和类别生成的Instruction不同:前者让模型从原文随机挑选若干标签作为输出(避免误导),后者则要求生成一个类别。这样的设计让压缩向量既包含语义又包含协同信息。

生成对比学习(GCL)

预训练的LLM不懂协同信号,只靠语义不够。GCL的做法是:从一周的用户点击行为中计算共现分数——如果用户看了笔记A后很快点击了笔记B,就认为A和B相关。为了防止活跃用户的无差别点击影响,对每次点击根据用户活跃度加权。然后过滤掉分数异常高或低的,保留得分最高的K条作为相关笔记。

训练时,每个batch包含若干相关笔记对(假设M对,共2M条)。对每条笔记,取[EMB]前一个token的最后一个隐藏层状态,通过线性层映射到128维的嵌入空间。然后计算对比损失,让相关笔记的嵌入靠近,不相关的远离。

协作监督微调(CSFT)

生成标签/类别和生成嵌入本质上都是“压缩信息”。CSFT让模型从笔记内容和压缩向量中学习生成标签/类别。为了平衡两个生成任务,每个batch里随机选一部分笔记做标签生成,剩下的做类别生成。这样可以避免模型偏向某一任务。CSFT的损失是标准的语言模型交叉熵,只对生成的token计算。

最终的总损失是GCL损失和CSFT损失的加权和。通过联合优化,NoteLLM既学会了推荐,又学会了生成标签/类别,而且两个任务互相增强。

实验:效果怎么样?

数据集和实验设置

实验在小红书产品数据集上进行。训练集从一周数据中按类别等比例抽取,测试集则来自下一个月的新笔记。基础LLM是Meta LLaMA 2,共现分数的上下界设为30和0.01,相关笔记数K=10,嵌入维度128。标题最多20个token,正文最多80个token。

评估指标

I2I推荐用Recall@100、1k、10k、100k来评估;标签生成用BLEU4、ROUGE1/2/L。

评估结果

对比的方法包括zero-shot、PromptEOL、SentenceBERT、RepLLaMA等。结果显示:微调方法显著优于zero-shot,说明领域知识很重要;基于LLaMA 2的方法优于SentenceBERT;NoteLLM在所有指标上全面领先。分析认为,CSFT有效地把摘要能力迁移到了嵌入压缩上,从而提取到更关键的信息。

不同曝光率笔记的影响

把笔记按曝光率(低于1500和高于1500)分组。NoteLLM在两组上都优于其他方法,而且对低曝光笔记(冷启动)的提升尤其明显。这意味着模型更依赖笔记本身的内容,对流行度偏差不敏感。这对社区生态是件好事——新笔记也有机会被推荐出去,激励用户持续创作。

消融分析

去掉CSFT后,推荐性能下降,且完全失去生成标签/类别的能力。去掉GCL后,推荐性能仍优于PromptEOL zero-shot,说明仅靠标签/类别生成任务也能增强推荐。另外,CSFT中任务多样性的作用很明显:既做标签生成又做类别生成(40%笔记做标签生成)比只做一种效果更好。同时观察到“跷跷板现象”——只做类别生成时类别准确率高但标签质量差,反之亦然。

CSFT模块中数据多样性的影响

随着用于标签生成的笔记比例λ逐渐增加,推荐性能先升后降。类别生成性能则持续下降,但标签生成性能在λ超过20%后变化不大。这说明严格的类别生成对数据偏向更敏感,而自由形式的标签生成容忍度更高。

CSFT模块大小的影响

适度增加CSFT的参数量(比如增大训练样本中用于生成的笔记比例)能同时提升推荐和生成效果,但进一步增加会损害推荐性能。这表明两任务之间存在权衡,需要找到一个平衡点。

在线实验

在小红书进行了为期一周的A/B测试。与基于SentenceBERT的在线方案相比,NoteLLM使点击率提升了16.20%,评论量增加了1.10%,每周平均发布者数量增加了0.41%。特别值得关注的是,单日新评论数量提升了3.58%,说明LLM的泛化能力确实有利于冷启动笔记。目前NoteLLM已被部署到小红书的I2I笔记推荐链路中。

关于宇宙的好的网名有哪些
关于宇宙的好的网名有哪些

类型:角色扮演

大小:1

语言:简体中文

平台:互联网

游戏下载

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc