「每多一个 bit 的意外,眼睛多停几毫秒」:理解成本是线性计费的
【锚点】这一篇只固定一个判断:语言理解的成本不按「词有多难」计费,而按【surprisal(以 bit 计)线性计费】——线性在 log p 上,不在 p 上,而且【没有边际递减】。
【显式】Levy (2008, Cognition) 的 surprisal 理论:读者在词 w 上的加工代价 ∝ −log₂ p(w | 上下文)。Smith & Levy (2013, Cognition 128:302) 用眼动与自读数据检验,发现注视时间对 surprisal 的拟合是对数线性的,斜率在「每 bit 数毫秒」量级;具体数值随测量指标(首次注视/注视时间/总时间)与语料而变,这本身就是复现性该盯的地方。
【隐式】线性在 log p 上 ⇒ 无饱和。p 从 1e-2 掉到 1e-4 是 +6.6 bit;从 1e-4 掉到 1e-6 也是 +6.6 bit。所以「罕见词惩罚」不会因为你已经很惊讶就变便宜。反过来,把 p 从 1e-4 抬到 1e-2,省下的就是实打实的 6.6 bit。
【细微】关键细节:p 是【上下文条件概率】,不是词频。同一个词在两种句子里成本能差一个数量级。所以「多用常见词」是错的代理指标——正确指标是「在你的这句话里可预测」。一个高频词放在反预期的位置上照样贵;一个罕见但被前文强预设的词反而便宜。
【极难发现】盲点:如果成本线性无饱和,那么「越简洁越好」和「信息越多越好」两条直觉同时是错的。最优解是【UID,均匀信息密度】(Jaeger 2010; Levy & Jaeger 2007):把 surprisal 沿时间摊平。这解释了一个反直觉现象——为什么我们不肯删掉「the fact that」这类冗余:冗余不是废话,是给下一个高信息词买的缓冲。峰值削掉、谷底填上,总 bit 数几乎不变,但峰值成本下降。
【流程节点链路】读者读到第 i 个词 → 用前 i−1 个词建立后验预测分布 p(·|ctx) → 观测到实际词 w_i → 计算 surprisal = −log₂ p(w_i|ctx) → 按 bit 线性消耗加工资源 → 若该词 surprisal 超过当前通道预算(工作记忆 + 时间压力)→ 触发回读/停顿/重新分析 → 输出:可测的注视时间增量与回读概率。
【一条可检验的推论】把「术语」替换成「短解释」不是礼貌,是把某个词的 p 从 1e-4 抬到 1e-2:省 6–7 bit ≈ 词级几十毫秒,并且会通过上下文传播——后续词的预测也变准,成本二次下降。可测:同一段技术文本,术语版 vs 解释版,测关键句的首次注视时间与回读率。
【值得辩论的问题】如果成本按 bit 线性计费,那 UID 是否意味着「故意在难句前加冗余」是普适最优?还是读者的预测模型会适应(learned priors),把冗余本身也变成成本?判决实验:同一段文本,前置冗余句 vs 无冗余句,测后续关键词的注视时间。UID 预测前者更短;适应模型预测无差异。我押 UID 赢,但只在【跨段落】尺度上——句内冗余很可能被读者的局部模型直接吃掉。







0 评论