← 返回个人主页
READING NOTE / BLOG个人博客

基于可识别性图理论的 Position Bias 训练数据构造

Castle Zeng个人博客

标签

  • 机器学习/推荐系统
  • 因果推断
  • 可识别性
  • 论文笔记

0 一个案例解释全文

当我们意识到以前CTR模型的预测值其实是 “item被看到的概率✖️item看到后被点击的概率” 后,自然就需要把这两项解耦,即预测“item看到后被点击的概率”作为 item 的真实点击率,本文也叫做“相关性”。而不同位置下 item 被关注到的概率不用,我们称之为 Position Bias。

同时学习相关性和 Bias 的方法主要包括 DLA(Dual Learning Algorithm)、EM(Expectation Maximization)、Two-Tower,这里暂不展开。但是训练他们所需要的数据是一致的,直观来说,我们只需要知道同一个商品在位置 x 和位置 y 的点击率,相除就能计算 Bias,这种数据就被认为具备“可识别性”。

来看下面这个例子:

  • 观察服装 A,我们能推算出位置2相对位置1的 Bias 是 0.8;
  • 观察服装 C,我们能推算出位置3相对位置2的 Bias 是 0.857;
  • 综合 A、C,我们能推算出位置3相对位置1的 Bias 是 0.8✖️0.857=0.686;
  • 那么假设把位置1的点击率作为相关性,服装 B 的相关性就是4.4%/0.686=6.41%;
  • 所以别看日志中服装 B 的点击率低于服装 A,其实相关性更高,正确的排序应该把 B 放在前面;
  • A、B、C 的出现像“边”一样,把位置1~3这些“节点”连成了一张图,而服装 D 在这张图之外;
  • 想要预估服装 D 的相关性以及位置 4 的 Bias,就需要把图连起来,比如把服装 A 放到位置4获取数据。
item 位置 tt 点击率
服装 A 1 5%
服装 A 2 4%
服装 B 3 4.4%
服装 C 2 3.5%
服装 C 3 3%
服装 D 4 2.7%

所以我们只需要将“图”上缺乏的边或者置信度不高的边,通过有针对性的小流量实验收集数据进行补齐,就能建立一个可识别的图用来训练 position model,而不是完全随机试验,那样收集的样本可能对于因果推断并没有很大的增益。

1 点击预测准确不等于相关性可识别

无偏排序学习(Unbiased Learning to Rank,ULTR)通常把点击拆成两个因素:内容本身的相关性(即看到后的点击率),以及用户观察到它的概率(即Position Bias)。

c(x,t)=P(click∣x,t)=r(x)⏟相关性⋅o(t)⏟观察概率c(x,t)=P(\text{click}\mid x,t)=\underbrace{r(x)}_{\text{相关性}}\cdot\underbrace{o(t)}_{\text{观察概率}}

这里,xx 是 Query-Document 的排序特征,tt 是位置、页面上下文、展示样式等偏差因素。模型同时学习 r′(x)r'(x) 和 o′(t)o'(t),让乘积 r′(x)o′(t)r'(x)o'(t) 尽量逼近点击概率。

这套做法隐藏着一个比优化算法更基础的问题:即使点击概率已经拟合得完全正确,模型学到的相关性仍然可能是错的。 原因不在于模型不够强,而在于数据没有提供足够的交叉约束,无法唯一分开 rr 和 oo,图1 给出了一个案例。

图 1|日志直接约束的是乘积,不是两个因子各自的值。

我们提出可识别性图(Identifiability Graph,IG),把“这份点击日志能不能恢复相关性”转化为一个图连通性问题:

假设一条数据的真实点击概率是 0.120.12。下面两组参数都能给出完全相同的点击预测:

0.80×0.15=0.12,0.40×0.30=0.120.80\times0.15=0.12, \qquad 0.40\times0.30=0.12

第一组认为用户有 80%80\% 的概率看到内容、看到后的相关性为 15%15\%;第二组认为观察概率只有 40%40\%、相关性却是 30%30\%。只检查 Click MSE 或点击似然,无法区分二者。

但是,我们不需要恢复相关性的绝对真实值,只要学到所有相关性经过同一个正常数缩放后的值即可,因为这种统一缩放不会改变内容之间的排序。

可识别性不是说相关性必然能够被恢复,而是用来描述观测数据是否足以唯一确定相关性函数。设真实生成过程为 (r,o)(r,o)。对于任意一组同样能拟合所有已观察数据的 (r′,o′)(r',o'),如果它满足:

r(x)o(t)=r′(x)o′(t),∀(x,t)∈Dr(x)o(t)=r'(x)o'(t),\qquad \forall(x,t)\in D

并且由此总能推出存在一个与 xx 无关的常数 C>0C>0,使:

r(x)=C r′(x),∀x∈Xr(x)=C\,r'(x),\qquad \forall x\in\mathcal X

那么称相关性函数 rr 在数据集 DD 上具有可识别性,即观测数据能够将它确定到一个全局缩放常数。

2 可识别性图的定义

相关性函数 rr 具有可识别性,当且仅当无向图 G=(V,E)G=(V,E) 是连通的。

数据集写成:

D={(xi,ti)}i=1∣D∣D=\{(x_i,t_i)\}_{i=1}^{|D|}

可识别性图是无向图 G=(V,E)G=(V,E):

V={vt∣t∈T}V=\{v_t\mid t\in\mathcal T\}
E={(vs,vt)∣∃x, (x,s)∈D∧(x,t)∈D}E=\{(v_s,v_t)\mid \exists x,\ (x,s)\in D\land(x,t)\in D\}

翻译成操作语言:

  • 节点是偏差因素 tt。如果只研究 Position Bias,每个位置就是一个节点;如果研究“位置 × 上下文”,每种组合都是一个节点。
  • 边由相同的 xx 产生。如果完全相同的 Query-Document 特征曾在两个偏差条件下出现,就连接这两个节点。
  • 边不要求直接点击。构图使用的是曝光数据结构 (x,t)(x,t);点击值用于训练 rr 和 oo,不是判断是否连边的条件。
  • 连通不等于两两直接相连。只要任意两个节点之间存在路径即可。

3 从曝光数据构造可识别性图

上述数学描述太晦涩,不如直接看案例。考虑下面五条曝光记录:

item xx 偏差因素 tt
文章 A 位置 1
文章 A 位置 2
文章 B 位置 3
文章 C 位置 2
文章 C 位置 3

构图分三步:

  1. 收集所有偏差因素,建立节点“位置 1、位置 2、位置 3”。
  2. 按 xx 分组。文章 A 对应位置集合 {1,2}\{1,2\},所以加入边 (1,2)(1,2)。
  3. 文章 C 对应位置集合 {2,3}\{2,3\},所以加入边 (2,3)(2,3)。文章 B 只在位置 3 出现,不产生新边。
图 2|数据表到可识别性图的完整构造过程

最终路径是:

位置 1 ──[文章 A]── 位置 2 ──[文章 C]── 位置 3

虽然文章 A 从未出现在位置 3,但位置 1 和位置 3 仍然通过“位置 2”被间接校准,因此整张图连通。

输入:曝光记录 D={(x_i,t_i)}

1. 建立字典 S:x → 该 x 出现过的所有 t
2. 为每一个 t 创建图节点 v_t
3. 对每个 x:
     对 S[x] 中任意两个偏差因素 s、t,加入无向边 (v_s,v_t)
4. 对图执行 BFS、DFS 或 Union-Find
5. 只有一个连通分量 → 可识别
   多于一个连通分量 → 不可识别

若某个item xx 出现在 mm 个位置下,朴素实现会建立一个 mm 节点的 clique(完全图)。实际检查连通性时不必保存所有 m(m−1)/2=O(m2)m(m-1)/2=O(m^2) 条边,把这些节点依次 union 到同一个代表节点即可。

4 图连通性与相关性可识别性的等价关系

4.1 边约束两端的缩放比例

假设同一个 xx 在偏差因素 ss 和 tt 下都出现,并且另一组模型同样准确拟合点击:

r(x)o(s)=r′(x)o′(s)r(x)o(s)=r'(x)o'(s)
r(x)o(t)=r′(x)o′(t)r(x)o(t)=r'(x)o'(t)

两式分别整理:

r(x)r′(x)=o′(s)o(s)且r(x)r′(x)=o′(t)o(t)\frac{r(x)}{r'(x)}=\frac{o'(s)}{o(s)} \qquad\text{且}\qquad \frac{r(x)}{r'(x)}=\frac{o'(t)}{o(t)}

于是:

o′(s)o(s)=o′(t)o(t)\frac{o'(s)}{o(s)}=\frac{o'(t)}{o(t)}

也就是说,一条边迫使两端节点使用相同的缩放比例。如果整张图连通,这个相等关系会沿路径传播,最终所有偏差因素只能共享一个全局常数 CC。相关性虽然仍可能整体缩放,但排序不会改变。

4.2 断连分量允许独立缩放

如果图有两个连通分量 G1G_1 和 G2G_2,数据中就没有任何相同的 xx 横跨两者。此时可以:

  • 保持 G1G_1 中的相关性和观察概率不变;
  • 把 G2G_2 中所有相关性乘以 2,同时把观察概率除以 2。

每条已观察记录的点击概率仍然不变,但跨分量的相关性比较已经改变。

图 3|两个分量分别缩放时,点击概率不变,跨分量排序却会反转

图中的数值给出了一个完整反例:

0.40⏟r(B)×0.50⏟o(3)=0.80⏟r′(B)×0.25⏟o′(3)=0.20\underbrace{0.40}_{r(B)}\times\underbrace{0.50}_{o(3)} = \underbrace{0.80}_{r'(B)}\times\underbrace{0.25}_{o'(3)} =0.20

真实相关性是 r(A)=0.60>r(B)=0.40r(A)=0.60>r(B)=0.40;另一组同样完美拟合点击的参数却给出 r′(B)=0.80>r′(A)=0.60r'(B)=0.80>r'(A)=0.60。这就是“Click MSE 很小,但 ranking 仍然错误”的结构性原因。

5 节点干预:连接相互隔离的偏差条件

不可识别意味着数据缺了一座桥。节点干预(Node Intervention)不是修改图本身,而是修改数据采集方式:让某个已经在分量 GAG_A 中出现的 xx,也在另一个分量 GBG_B 的偏差条件下产生曝光。新增记录会在图上生成一条跨分量边。

5.1 最小干预案例

初始数据形成两个连通分量:

G₁:位置 1 ── 位置 2

G₂:位置 3

文章 B 原本只在位置 3 出现。将 B 与位置 2 的文档进行受控交换,让完全相同的 B 在位置 2 下也获得曝光,数据中新增 (B,位置 2)(B,\text{位置 2})。由于 (B,位置 3)(B,\text{位置 3}) 已经存在,图中随即产生边 (2,3)(2,3):

位置 1 ── 位置 2 ──[文章 B]── 位置 3

整张图由两个分量变成一个分量,相关性由不可识别变成可识别。

图 4|节点干预通过新的跨条件曝光让这条边真实地出现在数据中

5.3 有限样本下的桥接样本选择

在无限数据下,只要新增曝光能连接两个分量,理论上就足够。但真实系统只能收集有限次曝光和点击。若选择一个点击率极低的文档,或把文档放到几乎没人观察的位置,需要很大流量才能稳定估计比例。

对于准备把特征 xx 从偏差条件 t1t_1 扩展到 t2t_2 的候选干预,我们使用以下成本:

C(x,t1,t2)=1r(x)o(t1)+1r(x)o(t2)−2\mathcal C(x,t_1,t_2) = \frac{1}{r(x)o(t_1)} + \frac{1}{r(x)o(t_2)} -2

这个成本来自有限点击样本下比例估计的方差。直观上:

  • r(x)o(t1)r(x)o(t_1) 和 r(x)o(t2)r(x)o(t_2) 越高,越容易收集到有效点击;
  • 成本越小,需要的在线样本通常越少;
  • 低观察率的深位置、低相关性文档通常不是好的桥接对象。

真实的 rr 和 oo 在干预前未知,可以使用已有排序模型、人工设定的 observation curve,或者先用节点合并得到粗略估计。这里的估计只用于选择更省流量的桥,不改变“连接后可识别”的理论结论。

5.4 多连通分量的最小成本修复

若 IG 有 KK 个连通分量,至少需要 K−1K-1 条跨分量边。我们把每个连通分量视为一个“超级节点”:

  1. 对任意两个分量,计算它们之间成本最低的候选干预;
  2. 用该最低成本作为两个超级节点之间的边权;
  3. 在分量图上求最小生成树(Minimum Spanning Tree,MST);
  4. 执行 MST 上的 K−1K-1 组干预。

这样不需要随机交换所有 Query 的所有位置,而是只补足保证连通所必需的桥,并尽量降低总体在线成本。

5.5 在线数据收集要求

落地时需要满足几个条件:

  • 同一个 xx 必须能被稳定识别。 理论要求的是相同特征,不是“看起来相似的文档”。如果连续特征几乎不重复,需要使用稳定的 Query-Document ID、离散分桶或业务上合理的等价类。
  • 干预必须改变 Bias,而不是同时改变内容语义。 交换位置最直接;上下文类型、历史点击等 Bias 往往无法自由交换。
  • 保留随机化与日志字段。 需要记录原位置、干预后位置、干预概率和实验桶,避免新的选择偏差无法追踪。
  • 设置体验护栏。 对不相关文档的强行置顶会伤害用户体验,可限制候选集合、位置跨度和流量比例。
  • 干预完成后重建 IG。 目标不是“做过实验”,而是确认新增数据确实让图连通。

6 可识别性对数据设计的影响

可识别性不是“数据越多就自然成立”。真正决定图是否连通的是交叉覆盖:相同的 xx 是否跨越了不同 Bias。可以得到三个直接结论:

  1. 数据量减少,图更容易断开。 即使完整数据可识别,随机采样后的子集也可能不可识别。
  2. 偏差因素越细,节点越多,图越容易断开。 给 observation model 加入更多上下文变量,虽然表达能力更强,却可能让每种 Bias 组合只见到很少的重复特征。
  3. 特征越细粒度,跨条件重复越少。 每个样本都拥有近乎唯一的 xx 时,Bias 节点之间很难形成边。

在真实 TianGong-ST 数据上,当 Bias 同时包含位置和全部 vertical types 时,共有 20,704 种偏差因素,IG 被分成 2,900 个连通分量;只保留位置时,图恢复连通。这说明大规模真实日志也不会自动保证可识别。

参考资料

  1. Mouxiang Chen, Chenghao Liu, Zemin Liu, Zhuo Li, Jianling Sun. Identifiability Matters: Revealing the Hidden Recoverable Condition in Unbiased Learning to Rank. ICML 2024.