展示影响行为,行为再影响展示
别名: 展示-行为回路 · 推荐闭环 · closed-loop ranking
概念解释
推荐系统不是先有一份固定口味再去迎合。屏幕上出现什么,决定用户点什么;点什么,决定下一次屏幕上出现什么。展示–行为回路(display-behaviour loop)指这条闭合耦合:展示集塑造可观察的行为,行为再写入下一轮展示。两边都不是外生的。
打开这个回路之前,不能把点击日志读成「用户本来就喜欢这些」。日志是回路的产物。
机制
展示是行为的采样框。没被排进屏幕的条目,没有机会产生正行为;被排在首位的条目,即使只是略好,也会吸走不成比例的点击。这些点击作为标签送回训练,下一次排序把同类再往前推。耦合一旦合上,输入(展示)和输出(行为)互相定义,系统在拟合自己刚才的决定。
人在回路里也不是中性传感器。位置、默认播放、自动下一集都会把行为推向已被展示的一侧。于是「用户选择」和「系统选择」在日志里缠在一起,无法靠把点击当偏好来解开。
怎么研究
要看见回路,必须能操纵展示。做法包括:在一部分流量上固定展示(冻结排序若干会话)、在另一部分注入与当前模型无关的展示(随机或编辑位),然后看随后行为分布是否跟着展示走。自变量:展示政策是否闭环、注入比例。因变量:随后点击的类目分布、与展示政策的互信息、用户自评偏好与日志偏好的分歧。
只在历史日志上做离线回放看不见回路——日志已经是某一种展示政策的产物。离线指标偏向现有政策是下一组问题;这里先确认耦合本身存在。
边界
一次性查询(搜一个已知标题、打开分享链接)几乎不闭环,展示由查询词或外链决定。强编辑时间线(直播、新闻头版)里,展示主要由人工排期决定,回路弱。用户数量极少、物品更多的目录里,回路转得慢,几天内看不出来。这条只论证「展示和行为互相写成对方」,不讨论早期偏差如何被放大,也不讨论必须从回路外再灌信号。
怎么落地
- 把「当前展示政策」当成行为数据的一部分存下来。没有展示上下文的点击,不要直接当偏好标签。
- 定期开一条不跟当前模型走的对照轨(编辑位或小比例随机),用来观察行为是否仍跟主轨分化。
- 验证:在影子流量里把某类内容从首屏拿掉一周,看该类点击是否同步消失。消失说明点击一直是展示的函数,不是独立口味。