真实面经题目 · 原创解析

推荐或检索系统里的低频过滤如何实现?

低频过滤不是简单按次数删除,而是在明确业务目标和统计口径后,对样本、特征、query、item、用户行为或候选实体中频次过低、统计不稳定、噪声占比高的部分进行降权、合并、兜底或过滤。高质量回答要覆盖目标、口径、阈值、离线与在线实现、滑动窗口、长尾保护、冷启动、指标评估和工程风险。

出现于:阿里巴巴 · 算法

60 秒回答模板

低频过滤通常用于降低稀疏性和噪声,提升模型训练、召回、排序或特征统计的稳定性。实现时先定义过滤对象,例如 query、item、用户行为、类别、特征取值或训练样本;再定义统计口径,包括时间窗口、去重方式、行为类型、分桶维度和是否区分场景。阈值可以用固定次数、分位数、覆盖率、置信度或分层阈值确定,不能只用一个全局阈值。离线侧通过批处理统计频次,生成过滤表、词表或特征白名单;在线侧通过流式计数、滑动窗口、缓存和近似计数结构做实时更新。为了避免误伤长尾和冷启动,需要保留新内容探索、长尾配额、平滑降权和兜底召回。最终要通过 A/B 实验验证噪声下降是否真的带来收益,同时关注召回率、覆盖率、长尾曝光、冷启动转化、模型指标和系统成本。

考点 问题本质
主线 过滤对象
易错点 只说次数小于某个值就删除,没有说明统计对象和统计口径。

深入解析

01

问题本质

低频过滤的目标是处理统计不足带来的不可靠性。频次低的对象往往存在样本稀疏、偶然噪声、作弊污染、特征估计方差大、索引或词表膨胀等问题。但低频不等于无价值,很多新内容、长尾兴趣、小众 query 和稀有高价值行为都天然低频,所以实现重点是区分噪声低频和有价值低频。

02

过滤对象

过滤对象要先说清楚,不能泛泛而谈。常见对象包括训练样本中的低频类别、特征工程中的低频取值、搜索中的低频 query 或 term、推荐中的低频 item、用户行为序列中的偶发行为、广告或内容系统中的低曝光实体。不同对象的过滤位置不同,可能发生在数据清洗、特征构造、召回索引、模型训练、在线服务或后处理阶段。

03

统计口径

统计口径决定过滤是否可信。需要明确统计窗口是近 1 天、7 天、30 天还是更长周期;频次是曝光、点击、转化、播放、收藏还是加权行为;是总次数、独立用户数、独立会话数还是去重后的实体数;是否按场景、地域、类目、端、流量来源分桶;是否排除机器人、作弊、重复日志和异常流量。

04

阈值策略

阈值可以从简单到复杂分层设计。基础方案是固定阈值,例如出现次数小于 k 的特征取值归为 other;更稳妥的是按分位数、覆盖率或业务成本选择阈值,例如保留覆盖 95% 行为量的高频实体;更精细的是按类目、场景、生命周期、实体类型设置不同阈值。比例指标不能只看点估计,还要看分母和置信区间。

05

离线实现

离线实现通常通过批处理日志统计频次,生成过滤表、词表、特征映射表或实体白名单。训练侧可以将低频类别合并为 unknown 或 other,降低特征维度和过拟合;索引侧可以不建低质量倒排或低可信候选;样本侧可以清理明显异常的低频噪声。离线版本要带时间戳和版本号,保证训练、评估和上线使用同一套口径。

06

在线实现

在线场景要求低延迟和可更新。常见做法是用流式计算维护频次,用缓存或 KV 存储提供查询,用 TTL 控制生命周期。高吞吐场景可以使用 Count-Min Sketch 估算频次,HyperLogLog 估算去重用户数,再结合精确表处理核心实体。在线不能只硬过滤,通常还要配合降权、兜底召回、探索流量和默认特征。

07

滑动窗口

频次统计需要处理时效性。固定历史累计会让老实体长期占优,新实体难以进入;过短窗口又会造成频次波动。常见方案包括滚动窗口、滑动窗口、时间衰减和多窗口融合,例如同时看 1 天热度、7 天稳定性和 30 天基础量。对于突发热点可以设置快速通道,对于周期性内容要避免窗口切换造成误杀。

08

长尾与冷启动

低频过滤最大的风险是损失长尾覆盖和冷启动机会。推荐和搜索系统通常需要保留一定长尾配额,或者对新 item、新 query、新用户使用单独策略。常见保护方式包括新实体保护期、类目内分层阈值、基于内容质量的豁免、相似实体继承、语义召回兜底、探索流量和人工规则白名单。

易错点

  • 只说次数小于某个值就删除,没有说明统计对象和统计口径。
  • 把低频全部当作噪声,忽略长尾需求和冷启动实体。
  • 只讲离线批处理,不讲在线更新、缓存、流式计数和延迟问题。
  • 只看点击率或转化率点估计,不考虑曝光分母和置信度。
  • 使用全局固定阈值,忽略类目、场景、生命周期差异。
  • 没有关注训练和线上服务的一致性,容易产生特征分布偏移。

面试官追问

低频过滤和停用词过滤有什么区别?

停用词过滤通常针对语义贡献低但频次很高的词,低频过滤针对统计不足或噪声占比高的对象。一个是高频低信息量问题,一个是低频高不确定性问题。

低频特征为什么会影响模型?

低频特征样本少,参数估计方差大,容易记住偶然样本,导致过拟合。在线遇到未见过的取值时也容易出现特征缺失或分布偏移。

为什么不能设置一个统一阈值?

不同类目、场景和实体生命周期的自然频次差异很大。统一阈值会偏向头部领域,压制小类目、新实体和长尾需求,还可能让低流量场景的有效信号被系统性过滤。

如何避免过滤掉新内容?

给新内容设置保护期,使用内容质量、作者质量、类目先验或相似内容表现作为替代信号,并保留探索流量,让新内容有机会积累真实反馈。

如何选择阈值?

可以从离线分布开始,观察频次和覆盖率曲线,选取若干候选阈值进行回放评估,再通过灰度和 A/B 实验验证。阈值选择应同时考虑效果、成本、覆盖和稳定性。