推荐系统怎么理解你的兴趣:从行为到向量的过程
行为被折算成信号
系统看到的不是你的兴趣,而是一串行为记录:看了多久、是否看完、有没有点赞、有没有划走。这些行为被赋予不同权重,通常完播与主动互动的权重高于单纯点击,快速划过则被视为负向信号。
权重设定带有很强的设计取向。如果以停留时长为主要指标,容易吸引注意力的内容会被放大;如果加入互动质量与内容多样性的调整,结果会有所不同。指标怎么定,直接决定推荐结果的气质。
向量表示从何而来
把用户和内容都表示成高维空间里的向量,是这个领域的核心做法。向量的每一维没有明确含义,是训练过程中自动学出来的,但两个向量之间的距离与方向带有语义信息:兴趣相近的用户向量彼此靠近,内容相似的条目也会聚在一起。
推荐的过程就变成在这个空间里找最近邻,或者用一个打分函数估算交互概率。空间维度通常在几十到几百之间,过少表达力不足,过多则容易过拟合并且存储开销上升。
召回与排序两段式
候选内容可能有上亿条,不可能逐条精细打分。工程上分成两步:先用代价低的方法从海量内容里快速挑出几百到几千条候选,这一步叫召回;再用复杂模型对候选做精细排序,决定最终展示顺序。
召回决定了上限,排序决定了顺序。召回阶段如果漏掉了合适的内容,排序再准也无能为力。因此多路召回很常见:基于相似内容、基于相似用户、基于热门、基于近期行为,各自召回一部分再合并。
冷启动问题
新用户没有行为记录,新内容没有交互数据,两者都是冷启动。前者的应对是用少量问题收集显式偏好,或者先给热门与多样化内容,快速积累信号;后者靠内容本身的特征——标题、类别、标签、图像特征——找到可能感兴趣的受众。
冷启动期间系统的判断会比较粗糙,反馈的准确性也偏低。这段时间里用户的每次互动都很重要,因为样本少,单个信号的影响被放大。
为什么会有信息窄化
系统倾向于推荐已经被验证有效的内容,因为这样短期指标更好看。反复强化之后,展示内容的多样性会下降,用户看到的越来越集中于某几类。这是优化目标与长期体验之间的典型冲突。
常见的缓解手段是在目标函数里加入多样性惩罚,或者主动插入一定比例的探索性内容。探索和利用的比例需要仔细调节,插入太多会影响即时体验,插入太少则无法发现新的兴趣方向。
读者留言
共 4 条 · 精选展示这篇可以收藏,推荐算法部分值得反复看。
同意文中对推荐算法的判断,别照搬结论就行。
写得不夸张,把推荐算法的边界说清楚了,难得。
推荐算法这段最有价值,比泛泛而谈的解读好读。补充一句,文中提到的情况因人而异,不要直接照搬。