MLE · ML / AI System Design

Meta 地点推荐从零构建:候选数据与冷启动

没有成熟行为数据时构建地点推荐,解释地点信息来源、去重、位置约束与初期反馈采集。

题目重点:没有成熟行为数据时构建地点推荐,解释地点信息来源、去重、位置约束与初期反馈采集。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 地点不限餐馆,可能公园/景点/服务点;用户任务是当下找合适地点,类型、营业、距离和时间条件先问。
  • 训练只使用公开可用或授权POI数据,不虚构一开始已有海量点击label;地点坐标精度与更新时间附在数据合同。

解题路线

  1. 数据层整合授权目录/商家自报/公共地理资料,建立stable placeId、别名、类型、位置、营业时间与sourceVersion;同名不是同地点,同址多店也不能强合。质量抽检与source conflict规则先于模型。
  2. 启动baseline为空间距离+类型匹配+可用状态,用户显式偏好/当前query提供冷启intent。缺评分不是低质量,给unknown状态和适度探索。
  3. 收集真实可见曝光、点击、导航、保存、反馈,以eventId去重并区分任务成功与代理信号。导航开启不等于到店,用户回报可提供弱/强证据层。
  4. 特征content/context/user/cross,先用内容embedding或简单排序模型;训练label成熟后升级个性化。location feature按授权粒度,默认不公开用户精确位置。
  5. 验证从数据正确、空间候选recall、可用状态到ranking,按新城市/地点/用户holdout。AB关注task success、过期POI比例和投诉,不用CTR掩盖营业错误。

手动走一遍

两个地点都叫“Central Park”,城市不同;必须按地理/实体ID分离。新公园没有点击数据,仍可由附近、开放和用户户外兴趣进入候选,不能被0历史互动永久排除。

规模与取舍

空间索引取候选后精排O(MC),实体去重在大数据下需blocking+候选匹配,不能所有地点两两比较O(P²)。冷启主要风险是数据质量,不是只有model latency。

易错点与追问

容易失分的边界

  • 凭模型生成地点名称/营业时间会编造真实世界事实;先有可追溯POI数据。
  • 地点推荐与用户未来行动存在反馈偏差,弱label不当完整真值。

继续深挖

  • 如果新城市只有目录没有行为,可用跨城内容特征但独立做当地人工与线上探索验证。
  • 如何处理店铺永久关闭和搬家?版本化地点状态,旧placeId关联迁移而不是悄悄改坐标污染历史。
✓已复制微信号!