新学期,班里转来一个叫小光的同学。班主任想给他安排一个合适的同桌、推荐几个有趣社团,但眼前只有一张转学登记表,上面写着:喜欢机器人、看过几本科幻书、性格比较安静。除此之外,没有任何“他喜欢什么社团”的行为记录。这就像推荐系统里的冷启动:新用户、新物品刚进入系统,没有积累任何点击、收藏、购买数据。怎么在茫茫“社团名单”里先捞出几个靠谱的候选,而不是大海捞针?故事里,班主任自然有候补方案:翻档案、找同类、问旧老师、看全校热门。把这四条线索合并起来,就能很快形成一份“初选名单”——这就是冷启动召回的精髓。

岗位关联

掌握冷启动召回方法,你就能在用户和物品都是“空白卷”时搭起第一座推荐桥梁,这是推荐系统团队交给新人的第一项硬仗。

目录
  1. 可视化演示
  2. 1. 冷启动挑战
  3. 2. 内容特征召回
  4. 3. 画像匹配召回
  5. 4. 跨域迁移
  6. 5. 热度兜底
  7. 6. 多路融合评估
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示FCFS、SSTF、SCAN三种磁盘调度算法的磁头移动轨迹,对比不同策略下的寻道距离与效率。点击算法按钮切换模式。

本节配有交互动效(进入视口后自动加载,约 3KB)。

SCAN 电梯调度算法 磁头沿一个方向持续移动,服务沿途所有请求 到达方向末端后反向,继续服务剩余请求 总寻道距离 = Σ|cyl-cyl| SCAN兼顾公平性与效率,寻道性能稳定。

1. 冷启动挑战

小光刚转学,班主任手上最缺的就是“这个孩子在学校的互动记录”:他和谁一起玩过、参加过哪些活动,统统是空白。这不是说老师对学生一无所知,而是系统性的行为日志为零。推荐系统也有同样的处境:一提到“推荐”,大家本能想到协同过滤这类依赖历史行为的算法,但冷启动恰恰把这条最快的路堵死了。

推荐系统流水线通常分为召回、精排、重排三环。召回的职责,是从百万级物品中快速捞出几百个候选,再交给精排细细打分。冷启动发生时,新用户没有行为、新物品没有曝光,协同过滤这一类“看历史行为找相似”的方法直接失效。问题最先在召回环节暴露:如果候选在召回阶段就被漏掉,后面的精排再强也无济于事。

冷启动又分用户冷启动、物品冷启动和混合冷启动。无论哪种,目标都是在缺乏交互数据时仍产出候选。最简单的随机兜底命中率极低,物品池越大,随机拿到好候选的概率就越低。

所以班主任不会用抽签的方式给小光选社团。全校一百个社团里只有一个最合适,抽中概率只有百分之一。想提高命中率,必须先有“线索召回”,这就是下面各条通道登场的理由。

P(hit)=1∣I∣\displaystyle P(\text{hit}) = \frac{1}{|I|}
随机抽中目标物品的概率,等于 1 除以物品池大小,池子越大命中越难。
  1. 分子目标物品数:随机抽取时,只有抽到那个真正合适的物品才算命中,目标计为 1。
    11
  2. 分母物品池大小:$|I|$ 表示全部候选物品的数量,分母越大,随机命中越困难。
    ∣I∣|I|
  3. 概率表达式命中概率是目标数量与池子大小之比,这就是冷启动下“瞎猜”的真实成功率。
    1∣I∣\frac{1}{|I|}

2. 内容特征召回

班主任翻开转学登记表,看到小光写的是“喜欢机器人、沉迷科幻书”。于是他在社团目录里找同样带“机器人”“科幻”标签的社团:机器人社、天文社、科幻小说社。整个过程完全不依赖小光在新学校的活动记录,只靠他身上自带的属性。

内容特征召回正是这个逻辑:把用户和物品都用属性特征表示,再计算彼此相似度。用户侧特征来自注册资料、主动选择的兴趣、设备信息;物品侧特征来自类目、标签、文本摘要、封面视觉特征。两边都不用依赖历史交互,天然适合冷启动。

实际操作中,特征通常被表示成向量,每个维度对应一个属性,数值代表权重。计算相似度最常用的是余弦相似度,它只关方向不关大小,对高维稀疏向量也稳定。

小光的“机器人 + 科幻”向量,与机器人社的“机器人 + 制作 + 竞赛”向量夹角很小,相似度得分高,于是机器人社率先进入初选名单。内容特征召回就是班主任那张转学登记表。

sim(u,i)=∑k=1nwu,k×wi,k∑k=1nwu,k2×∑k=1nwi,k2\displaystyle \text{sim}(u,i) = \frac{\sum_{k=1}^{n} w_{u,k} \times w_{i,k}}{\sqrt{\sum_{k=1}^{n} w_{u,k}^2} \times \sqrt{\sum_{k=1}^{n} w_{i,k}^2}}
余弦相似度衡量两个特征向量的方向是否一致,值越接近 1,说明用户和物品在特征空间里越“同向”。
  1. 分子重叠特征加权求和:把用户向量与物品向量对应维度相乘再累加,体现两边的共同特征有多少。
    ∑k=1nwu,k×wi,k\sum_{k=1}^{n} w_{u,k} \times w_{i,k}
  2. 分母模长相乘做归一化:两个向量各自求模再相乘,把量纲差异抹平,避免“特征写得多就得分高”。
    ∑k=1nwu,k2×∑k=1nwi,k2\sqrt{\sum_{k=1}^{n} w_{u,k}^2} \times \sqrt{\sum_{k=1}^{n} w_{i,k}^2}
  3. 相似度整体分子除以分母,得到范围在 -1 到 1 之间的余弦相似度,冷启动召回取其正值部分排序。
    w⃗u⋅w⃗i∥w⃗u∥×∥w⃗i∥\frac{\vec{w}_u \cdot \vec{w}_i}{\|\vec{w}_u\| \times \|\vec{w}_i\|}

3. 画像匹配召回

班主任除了看登记表,心里还有一本“典型学生图谱”:理科成绩好的男生大多喜欢机器人,性格安静的学生可能偏好阅读和写作。他把小光的画像和各种社团画像做比对,看看重合度。

画像匹配召回可以理解为内容特征召回的规则化版本,最大的优点是可解释。先把用户归入标签体系,比如年龄、性别、城市、显式兴趣;再把物品归入运营维护的标签体系,比如领域、风格、适合人群。然后计算两套标签集合的重合程度。

在工程实现里,画像匹配常以规则或轻量打分形式出现,速度快、逻辑透明,适合作为冷启动的第一层粗筛。标签交叠越多,匹配分越高。

小光身上挂着“男生、安静、科幻迷”三个标签,机器人社挂着“动手、科技、竞赛”三个标签,虽然不完全重合,但“科技”这一项权重极高,画像匹配分照样把它推上榜。画像匹配就是班主任心里那本“典型学生图谱”。

S(u,i)=∑t∈Tu∩Tiwt\displaystyle S(u,i) = \sum_{t \in \mathcal{T}_u \cap \mathcal{T}_i} w_t
画像匹配得分等于用户与物品共有标签的权重之和,重合的标签越重要,分越高。
  1. 标签交集先找用户标签集合与物品标签集合的交集,得到共同认可的那些标签。
    Tu∩Ti\mathcal{T}_u \cap \mathcal{T}_i
  2. 单个标签权重每个共有标签 $t$ 对应一个权重 $w_t$,核心标签权重高,边缘标签权重低。
    wtw_t
  3. 权重求和把交集内所有标签的权重累加,就是该用户对该物品的画像匹配分。
    ∑t∈Tu∩Tiwt\sum_{t \in \mathcal{T}_u \cap \mathcal{T}_i} w_t

4. 跨域迁移

班主任没有就此打住。他给小光以前的班主任打了个电话,问小光在旧学校参加过什么社团;又翻了翻家长朋友圈,发现小光的表哥也在机器人社。这些信息都不是新学校系统里的行为数据,却能帮老师做判断。

跨域迁移正是利用辅助域的信息补足目标域缺失的交互。辅助域可以是社交关系、另一个App的使用行为、关注的好友列表。核心思想是:本域没有行为记录没关系,从别的域把“相似经验”搬过来。

实现上常见两种路径:一是通过共享用户做关联,比如同一个用户在A域有大量行为,可迁移到B域;二是通过社交图谱,把好友的偏好作为目标用户的估计。社交关注关系下的物品曝光,就是短视频冷启动中最常借的力。

小光在旧学校参加过机器人竞赛,表哥又恰好是机器人社成员,这两个外部信号叠加,老师对“小光适合机器人社”的信心大大提升。跨域迁移就是班主任打给旧学校的那个电话。

y^B(u,i)=∑v∈NA(u)wu,v×yv,iA\displaystyle \hat{y}_{B}(u,i) = \sum_{v \in \mathcal{N}_A(u)} w_{u,v} \times y_{v,i}^{A}
目标域中用户对物品的冷启动预估,等于辅助域里与他关联的用户对该物品反馈的加权平均。
  1. 关联用户集合从辅助域 A 中找出与用户 u 有关联关系(如好友、同群)的用户集合。
    NA(u)\mathcal{N}_A(u)
  2. 源域反馈值$y_{v,i}^{A}$ 表示用户 v 在辅助域 A 中对物品 i 的真实交互反馈。
    yv,iAy_{v,i}^{A}
  3. 加权求和按亲密度 $w_{u,v}$ 加权累加所有关联用户的反�馈,得到目标域 B 的冷启动预估值。
    ∑v∈NA(u)wu,v×yv,iA\sum_{v \in \mathcal{N}_A(u)} w_{u,v} \times y_{v,i}^{A}

5. 热度兜底

万一档案信息有限、画像不怎么匹配、旧学校又联系不上呢?班主任还有最后一张牌:先推荐全校公认最火爆的几个社团。机器人社有三十个社员,天文社活动最多,这些热门选择至少不会让小光觉得学校生活乏味。

热度兜底是冷启动召回的保底通道。它不需要任何个性化信号,只依赖物品的全局热度,就能给新用户一个基础体验。新物品发布初期没有行为数据,也可以复制同类新品的启动热度,或者直接用时间衰减热度。

热度分计算公式里藏着一个关键设计:越久远的行为贡献越小,防止老物品永远霸占榜单,给新内容留出冷热均衡的空间。

热度不是个性化,但它是冷启动的“安全垫”。就像班主任先把最热门的社团推荐给小光,保证他不会对着空名单发愣。热度兜底让新用户和新物品永远有基础候选,不因数据稀疏而被遗忘。

hot(i,t)=∑j=1nie−λ(t−tj)\displaystyle \mathrm{hot}(i,t) = \sum_{j=1}^{n_i} e^{-\lambda(t - t_j)}
物品当前热度等于它近期所有行为按时间衰减后求和,λ 控制衰减速度,λ 越大,越早的行为越不值钱。
  1. 单次行为发生时间物品 i 最近发生过的第 j 次行为时间记为 $t_j$,越近的行为越新鲜。
    tjt_j
  2. 指数时间衰减$e^{-\lambda(t - t_j)}$ 让时间久远的行为权重按指数缩小,λ 控制缩小的速度。
    e−λ(t−tj)e^{-\lambda(t - t_j)}
  3. 累加全部行为把 $n_i$ 次行为逐一衰减后求和,就是这个物品此刻的热度分。
    ∑j=1nie−λ(t−tj)\sum_{j=1}^{n_i} e^{-\lambda(t - t_j)}

6. 多路融合评估

四条线索摆在班主任桌上:转学档案、典型画像、旧校反馈、全校热门。他绝不会只信其中一条,而是把四份信息合并成一张初选名单:先互相印证,再删掉重复项,最后把各方面都沾边的社团排在前面。

真实系统中也是这样。冷启动召回几乎不会只跑单通道,而是内容召回、画像召回、迁移召回、热门召回同时运行,最后做融合。每条通道返回的分数尺度不同,有的接近 1,有的可能是几十,直接相加没有意义,必须先做归一化。

归一化后还要对重复物品合并证据:一个物品同时被内容通道和画像通道命中,说明它有多个角度的竞争力。最后按加权得分截断,取 TopK 进入精排。线上同时监控召回率、候选覆盖率等指标,确保冷启动通道真的在生效。

小光的初选名单不是老师拍脑袋定的,而是“档案匹配 + 画像相似 + 旧校口碑 + 全校热门”四条证据加权后的结果:既尊重个性化线索,又保留了热门兜底。这就是冷启动召回从“无中生有”到“有中生优”的完整路径。

final(u,i)=∑r=1Rwr×normr(u,i)\displaystyle \mathrm{final}(u,i) = \sum_{r=1}^{R} w_r \times \mathrm{norm}_r(u,i)
最终召回分是各通道归一化得分的加权和,权重表示每条通道在融合中的信任程度。
  1. 单路归一化得分$\mathrm{norm}_r(u,i)$ 是第 r 条召回通道给出的标准化得分,取值范围被压到可比尺度。
    normr(u,i)\mathrm{norm}_r(u,i)
  2. 通道权重$w_r$ 表示第 r 条通道的权重,可通过离线实验或线上搜索确定,热门兜底通常权重最小。
    wrw_r
  3. 加权汇总把 R 条通道的归一化得分按权重求和,得到最终冷启动召回分,据此排序截断取 TopK。
    ∑r=1Rwr×normr(u,i)\sum_{r=1}^{R} w_r \times \mathrm{norm}_r(u,i)

AI 应用场景

电商平台新人首购推荐

阶段:召回

解决的问题:新注册用户没有购买记录,传统协同过滤无法建模。AI 利用注册时选的兴趣标签做画像匹配召回,同时用商品类目、品牌、价格带等属性做内容召回,再用热销榜兜底,保证新用户首屏有东西可看。

具体案例:某跨境电商 App 新用户注册后,系统立刻读取其选择的“运动健身”标签,从商品池召回跑鞋、瑜伽垫、蛋白粉三类候选;同屏再混入全站热销的轻小件商品,点击率比纯随机推荐提升 3 倍。

短视频新视频冷启动分发

阶段:召回

解决的问题:每天新增海量视频没有任何播放数据,如果只靠热度兜底,长尾视频永无出头之日。AI 用视频标题、封面、字幕抽内容特征向量,再用内容特征召回匹配用户;同时利用发布者的粉丝关系做跨域迁移,粉丝在相似作者视频上的互动可为新视频提供初始打分。

具体案例:某短视频平台上线新视频的前 30 分钟,系统用“内容特征召回”把它推给 500 个与视频标签相似的兴趣用户,再用发布者粉丝做迁移召回作为补充,冷启动视频的完播率显著高于随机探索。

音乐 App 新歌首发引流

阶段:召回

解决的问题:新歌没有播放、收藏数据,无法判断应该推给谁。AI 提取歌手、曲风、时长、歌词主题等特征,用内容召回找到品味相似的老歌歌迷;对新用户则用热度歌单兜底,保证每个进入 App 的人都有即时可听的候选。

具体案例:音乐平台发布一首新歌,系统把它的特征向量与用户历史收藏歌曲做余弦相似度召回,优先推给收藏过同歌手或同曲风的用户,同时在新用户首页插入“本周热歌榜”作为兜底,新歌首日播放量大幅提升。

Python 演示

python76 行
import mathimport time  class ColdStartRecaller:     def __init__(self, item_feats, item_tags, user_profile, hot_visits):        self.item_feats = item_feats        self.item_tags = item_tags        self.user_profile = user_profile        self.hot_visits = hot_visits     @staticmethod    def cosine(a, b):        dot = sum(a[k] * b.get(k, 0) for k in a)        na = math.sqrt(sum(v * v for v in a.values()))        nb = math.sqrt(sum(v * v for v in b.values()))        if na * nb == 0:            return 0.0        return dot / (na * nb)     def content_score(self, item_id):        user_vec = self.user_profile["feat"]        item_vec = self.item_feats[item_id]        return self.cosine(user_vec, item_vec)     def profile_score(self, item_id):        user_tags = set(self.user_profile["tags"])        item_tags = set(self.item_tags[item_id])        overlap = user_tags & item_tags        return float(len(overlap))     def hot_score(self, item_id, lam=0.1, now=None):        now = now if now is not None else time.time()        visits = self.hot_visits[item_id]        score = 0.0        for t in visits:            score += math.exp(-lam * (now - t))        return score     def recall(self, item_ids, top_k=3, now=None):        scores = {}        for item_id in item_ids:            scores[item_id] = (                self.content_score(item_id) * 0.4                + self.profile_score(item_id) * 0.3                + self.hot_score(item_id, now=now) * 0.3            )        ranked = sorted(scores.items(), key=lambda kv: kv[1], reverse=True)        return [item_id for item_id, _ in ranked[:top_k]]  def main():    item_feats = {        "A": {"tech": 0.8, "fun": 0.2},        "B": {"tech": 0.3, "fun": 0.9},        "C": {"tech": 0.6, "fun": 0.4},    }    item_tags = {        "A": {"ai", "news"},        "B": {"gossip", "fun"},        "C": {"ai", "tutorial"},    }    user_profile = {"feat": {"tech": 0.7, "fun": 0.4}, "tags": {"ai"}}    hot_visits = {        "A": [1000.0, 1005.0],        "B": [900.0],        "C": [800.0, 810.0, 812.0],    }    recaller = ColdStartRecaller(item_feats, item_tags, user_profile, hot_visits)    result = recaller.recall(list(item_feats.keys()), top_k=2, now=1005.0)    print("cold start recall:", result)  if __name__ == "__main__":    main()
目的:用一个小型模拟完成冷启动召回全流程,覆盖内容特征、画像标签、热度兜底三条通道,最后加权融合输出 TopK 候选。运行后会打印推荐给新用户的物品 ID 列表。
  1. user_vec = self.user_profile["feat"]从用户画像中取出特征向量,模拟没有历史行为时仅用自带属性。
  2. return self.cosine(user_vec, item_vec)内容特征通道,用余弦相似度给用户和物品的属性向量匹配打分。
  3. overlap = user_tags & item_tags画像匹配通道,找用户标签与物品标签的交集,交集越多分越高。
  4. score += math.exp(-lam * (now - t))热度兜底通道,时间越久远的行为权重衰减越多。
  5. scores[item_id] = (self.content_score(item_id) * 0.4 + ...)多路加权融合,把三条通道得分按经验权重相加。
  6. ranked = sorted(... key=lambda kv: kv[1], reverse=True)对融合得分从高到低排序,选出排名最靠前的候选。
  7. print("cold start recall:", result)输出最终候选列表,验证冷启动链路在代码层面已打通。

常见误区

误区冷启动就是系统里一点数据都没有,必须要等用户积累一段时间的点击和购买记录,才能开始做推荐。新用户就得忍受几周“随便推”的体验。

正解冷启动缺的只是“本域交互数据”,而非全部信息。用户有注册资料、设备信息、社交关系,物品有类目、标签、文本、视觉特征。就像新同学的转学登记表虽然没有新学校的行为记录,但“喜欢机器人”这个自带属性已经足够启动推荐。内容特征和画像匹配可以立刻开工,热度兜底保证下限。

为何常见:因为很多人把“推荐”等同于“协同过滤”,而协同过滤的输入确实是行为日志,于是误以为没有行为日志就没有推荐素材。

误区内容特征召回就是把物品描述存进数据库,用户来查询时做关键词匹配,搜到“机器人”就返回所有含“机器人”的文章。

正解内容特征召回的本质是“属性 → 特征向量 → 相似度计算”。它会把结构化属性映射成稠密或稀疏向量,再算余弦相似度。关键词搜索是精确匹配,内容召回是向量空间的软匹配,能处理同义词、概念相近甚至无法直接命中的内容。

为何常见:因为“内容”两个字让人联想到文本检索,初学者容易把召回和搜索混为一谈,忽略了中间的向量化步骤。

误区跨域迁移很省事,把用户在另一个平台的点击记录打包复制到当前平台,直接当本域行为用就行。

正解迁移需要解决用户对齐、特征映射、领域差异三个问题。同一用户在两个域的表达方式不同,直接复制会产生负迁移。就像小光在旧学校的“武术队经历”,搬到新学校未必等同于“体育特长加分项”,需要判断哪些经验可以迁移、哪些需要重新校准。

为何常见:因为“迁移”这个词听起来像“搬运”,让人忽略了迁移学习里“选择哪些知识、如何适应新分布”的核心难度。

误区冷启动场景下多建几条召回通道,把内容、画像、跨域、热度全堆上去,召回结果越多越保险,后面的精排会负责筛选。

正解通道越多,重复候选越多,噪声也越多。各通道分数尺度不同,不归一化直接融合会把精排模型带偏;不做去重合并,同一物品会以多份不同特征进入精排,造成系统资源浪费。融合时需要归一化、合并证据、截断控制,质量比数量重要。

为何常见:因为从直觉上看“更多输入=更多信息”,但忽略了多路融合带来的尺度不一致和冗余冲突,而这些恰恰是工业级系统的必修课。

面试题

Q1. 冷启动场景下,用户没有历史交互数据,以下哪种方法最适合作为召回初选?

单选题 · easy

  • A.基于协同过滤召回
  • B.基于内容特征召回← 正确答案
  • C.基于矩阵分解召回
  • D.基于物品邻域召回

答案:B。协同过滤、矩阵分解、物品邻域都依赖历史交互数据,没有行为时无法计算相似关系。内容特征召回只依赖用户和物品的自带属性,像班主任翻转学登记表一样,冷启动一开始就能用。

Q2. 余弦相似度在内容特征召回中的作用是什么?

单选题 · mid

  • A.衡量两个特征向量的相似程度← 正确答案
  • B.计算物品被点击的概率
  • C.把高维特征压缩到低维
  • D.对热门物品做降权处理

答案:A。余弦相似度计算两个向量的夹角余弦值,只关心方向是否一致,是内容特征召回里最常用的相似度度量。计算点击概率是精排模型的活,降维是矩阵分解的活,降权是热门惩罚的活。

Q3. 跨域迁移召回的核心思路是什么?

单选题 · mid

  • A.直接复制源域的全部数据到目标域
  • B.利用用户在辅助域的交互补充目标域← 正确答案
  • C.用物品的封面图片替代特征向量
  • D.将热门物品强制排到最前面

答案:B。跨域迁移的本质是把辅助域(社交、其他 App 行为)的信号,通过共享用户或社交关系迁移到目标域。直接复制数据会造成负迁移,用封面图片替代特征向量属于内容特征,热门兜底则是热度通道。

Q4. 以下哪些方法能有效缓解新用户冷启动?

多选题 · mid

  • A.注册时收集用户兴趣标签← 正确答案
  • B.借用社交好友的偏好做迁移← 正确答案
  • C.等待用户积累一个月数据
  • D.用人口统计学信息构建画像← 正确答案

答案:ABD。兴趣标签可用于画像匹配,社交好友偏好可用于跨域迁移,年龄性别等人口统计数据可快速构建初始用户画像,三者都能在无行为时立即可用。等待积累数据等于放弃冷启动,不是解法。

Q5. 关于热度兜底召回,下列说法正确的有?

多选题 · hard

  • A.适合新物品上线无任何行为时兜底← 正确答案
  • B.对所有用户生成完全相同的个性化结果
  • C.头部热门集中会导致供给单一化← 正确答案
  • D.结合探索机制可让长尾内容获得曝光← 正确答案

答案:ACD。热度兜底确实适合新物品无行为时的保底,但它产生的是非个性化结果,不是“个性化结果”,因此 B 错误。热门长期集中会造成供给单一,需要加入探索机制给长尾内容曝光机会,A、C、D 正确。

Q6. 多路召回融合时需要注意哪些要点?

多选题 · hard

  • A.各路得分需要归一化到可比尺度← 正确答案
  • B.直接拼接候选不作去重
  • C.对重复物品合并不同通道证据← 正确答案
  • D.统一截断并控制召回数量← 正确答案

答案:ACD。不同通道的分数尺度可能差几十倍,必须归一化;重复候选要去重并合并证据;还要统一截断避免过多噪声进入精排。直接拼接不作去重会让同一物品重复占位,是错误做法。

Q7. 推荐系统中召回阶段的核心目标是什么?

单选题 · easy

  • A.对头部物品做精排
  • B.从全量物品中筛选小规模候选← 正确答案
  • C.建立完整的用户画像
  • D.训练一个点击率预估模型

答案:B。召回的目标是从百万级物品池中快速捞出几百个候选,为精排减负。精排和点击率预估是后续阶段的事,用户画像是召回的手段而非目标。

Q8. 一件新物品上线且没有任何点击记录,做内容特征召回的第一步是什么?

单选题 · mid

  • A.统计物品的历史点击率
  • B.提取物品属性并构建特征向量← 正确答案
  • C.等待其他用户先点击
  • D.把物品直接加入候选黑名单

答案:B。新物品没有点击率可统计,等待点击等于放弃冷启动。正确做法是先提取类目、标签、文本、视觉等属性,构建特征向量,再与用户属性向量计算相似度。

Q9. 为缓解冷启动,在热度兜底之外引入随机探索机制,最主要的原因是什么?

单选题 · hard

  • A.探索越多推荐越精准
  • B.热度兜底只服务新用户
  • C.探索给长尾新物品曝光机会← 正确答案
  • D.探索一定导致用户留存下降

答案:C。探索机制让系统主动尝试未被验证过的物品,给长尾和新物品曝光机会,从而获得新行为数据。探索过多会损害短期精准度,但不是“越多越准”;热度兜底服务所有用户而非仅新用户。

Q10. 热度计算公式中参数 λ 的作用是什么?

单选题 · mid

  • A.控制热度随时间衰减的速度← 正确答案
  • B.表示物品的候选数量
  • C.调节用户画像的维度数
  • D.决定余弦相似度的阈值

答案:A。在指数衰减公式中,λ 越大,历史行为权重下降越快,热度越偏好近期表现;λ 越小,历史积累越持久。它不涉及候选数量、画像维度或相似度阈值,是纯时间衰减控制参数。