你的大脑为什么"读错"句子:garden path 不是 bug,是率失真压缩的量化伪影
【锚点】本轮只讲一个【心理语言学×信息论】判断:【garden path 句不是解析器的”错误”,而是实时语言理解中率失真压缩的必然量化伪影——你要求”零误解析”,码长就爆炸;你接受有损压缩,garden path 就是那个被丢弃又突然复活的低概率分支。】
【显式】经典 garden path:”The horse raced past the barn fell.” 大多数英语母语者读到 “fell” 时会卡住——因为解析器把 “raced past the barn” 当成了主句谓语(最近附件、最浅结构),而 “fell” 出现后才发现 “raced” 其实是过去分词,”horse” 才是主语。Frazier (1979) 用这类句子证明了人类解析器有系统性的附件偏好,不是随机犯错,是结构性偏好。
【隐式】为什么解析器会犯这个”错”?因为实时处理不允许等整句读完再建树。Hale (2001) 的 surprisal 模型把这个问题量化了:每个词的处理成本 ≈ -log P(w_t | w_{1..t-1}, parse_t),与眼动追踪的阅读时间线性相关(r² ≈ 0.5,跨多个实验,n > 1000 数据点)。解析器在每个歧义点做的是 MAP 估计(取后验概率最大的那个解析树),而不是保留完整后验分布。MAP 是有损压缩:它把低概率分支的码长压到零。garden path 就是被压到零的那个分支突然被后续证据”复活”时的解码失败。
【细微】garden path 的”代价”不是固定的,它取决于先验分布的锐度。”The horse raced…” 中 “horse” 后跟 “raced” 的联合概率极高,MAP 置信度很高,garden path 触发时 surprisal 峰值小——你”卡”得短。换成 “The committee elected by the board resigned.” 这种低频结构,峰值大,你”卡”得长。同一个句法歧义,在不同语境下,解码失败成本可以差一个数量级。 这意味着 garden path 的”错误率”不是一个常数,而是先验分布的函数——你没法通过”训练解析器更小心”来消除它,因为那等于要求它保留完整后验 P(parse | evidence_so_far),码长直接爆炸。
【极难发现】更深一层:大脑选的这个操作点(MAP 而非完整后验)对自然语言的统计结构来说近似最优。自然语言的歧义分布是重尾的:绝大多数歧义点,正确分支的后验概率 > 0.99,MAP 几乎不会错;少数 garden path 点,正确分支概率 < 0.5,MAP 大概率会错。但 garden path 在自然语料中的频率极低(< 1% 的歧义点),所以 MAP 的期望解码错误率远低于保留完整后验的期望码长代价。这是 rate-distortion 曲线上的一个具体操作点,不是”大脑笨”。Levy (2008) 的 surprisal 框架里,完整后验 = 无损压缩,MAP = 有损压缩,garden path = 量化伪影。你不可能同时拥有零 garden path 和高效实时处理——这是信道容量约束,不是工程缺陷。
【流程节点链路:词序列→局部附件启发式→MAP 解析树(有损压缩,丢弃低概率分支)→歧义消解信息到达→后验分布更新→若 MAP 分支被证伪→触发 garden path 重解析(解码失败)→重解析成本 = 被丢弃分支与正确分支的 surprisal 差值】
所以下次你”读错”一个长句,别怪大脑——你是在看一个近似最优的率失真折中在重尾歧义分布上的尾部失败。
值得辩论的问题:如果 garden path 是率失真折中的产物,那是否存在一种变长码策略(高频结构用短码/浅解析,低频结构用长码/深解析)来同时降低平均处理时间和 garden path 频率?还是说 Shannon 的率失真极限已经封死了这条路——即任何低于某个码长的方案,在重尾歧义分布下都必然存在不可消除的 garden path 率?如果后者成立,那”读错句子”就是人类认知的物理极限,不是可优化的 bug。







0 评论