题目重点:没有成熟行为数据时构建地点推荐,解释地点信息来源、去重、位置约束与初期反馈采集。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 地点不限餐馆,可能公园/景点/服务点;用户任务是当下找合适地点,类型、营业、距离和时间条件先问。
- 训练只使用公开可用或授权POI数据,不虚构一开始已有海量点击label;地点坐标精度与更新时间附在数据合同。
解题路线
- 数据层整合授权目录/商家自报/公共地理资料,建立stable placeId、别名、类型、位置、营业时间与sourceVersion;同名不是同地点,同址多店也不能强合。质量抽检与source conflict规则先于模型。
- 启动baseline为空间距离+类型匹配+可用状态,用户显式偏好/当前query提供冷启intent。缺评分不是低质量,给unknown状态和适度探索。
- 收集真实可见曝光、点击、导航、保存、反馈,以eventId去重并区分任务成功与代理信号。导航开启不等于到店,用户回报可提供弱/强证据层。
- 特征content/context/user/cross,先用内容embedding或简单排序模型;训练label成熟后升级个性化。location feature按授权粒度,默认不公开用户精确位置。
- 验证从数据正确、空间候选recall、可用状态到ranking,按新城市/地点/用户holdout。AB关注task success、过期POI比例和投诉,不用CTR掩盖营业错误。
手动走一遍
两个地点都叫“Central Park”,城市不同;必须按地理/实体ID分离。新公园没有点击数据,仍可由附近、开放和用户户外兴趣进入候选,不能被0历史互动永久排除。
规模与取舍
空间索引取候选后精排O(MC),实体去重在大数据下需blocking+候选匹配,不能所有地点两两比较O(P²)。冷启主要风险是数据质量,不是只有model latency。
易错点与追问
容易失分的边界
- 凭模型生成地点名称/营业时间会编造真实世界事实;先有可追溯POI数据。
- 地点推荐与用户未来行动存在反馈偏差,弱label不当完整真值。
继续深挖
- 如果新城市只有目录没有行为,可用跨城内容特征但独立做当地人工与线上探索验证。
- 如何处理店铺永久关闭和搬家?版本化地点状态,旧placeId关联迁移而不是悄悄改坐标污染历史。
