Zipf 定律是随机打字的产物:为什么「语言服从幂律」几乎什么都没证明
【锚点】这一篇只钉一个判断:Zipf 定律不是【语言定律】,而是【随机打字零模型】的产物;它的指数 s 是【测量算子】的函数,不是语言的常数。
【显式】Zipf (1949) 的经验规律:词频 f 与秩 r 满足 f(r) ∝ 1/r^s,英语词形 s≈1。它被大量引用为「语言有最小努力/优化结构」的证据。
【隐式】Li (1992, IEEE Trans. Info. Theory 38:1842–1845) 做了一个极简实验:一个只有字母表和空格、每个字符独立均匀抽样的随机过程,其「词」的频率分布就近似 Zipf。也就是说,Zipf 分布是随机性的【零模型】。一个只靠掷骰子就能产生的分布,不能反过来证明语言被优化过。
【细微】s 不是常数,它随【测量算子】移动。同一语料:词形(surface form) → 词元(lemma) → 去停用词 → 子词(BPE),s 系统性变化。Baroni (2009) 系统比较了分词与归一化选择对分布形状的影响;Ferrer-i-Cancho & Solé (2001) 指出词频分布其实有【两个 regime】,单一幂律是粗粒化后的近似。
【极难发现 / 场论视角】把语料当标度系统:改变「分辨率」(分词 = 截断尺度 Λ)就是重整化群的一次粗粒化。Zipf 指数是这条流上【不动点附近】的行为,你测到的 s 取决于你在哪一层截断。所谓「定律」其实是【标度不变性】的有限区间近似——两端都有截断:低频端被样本量截断,高频端被字母表/词长截断。离开这个窗口,幂律就断。
【流程节点链路】原始字符流 → 分词算子(定义「词」)→ 归一化算子(词形/词元/大小写/停用词)→ 频率计数 → 秩-频双对数拟合 → 报告指数 s。每一步都在改 s。
【可证伪预测】同一语料,把分词从「空格切分」换成「BPE 子词」,长尾被压平,s 应系统性下降。若测不到,这个「测量算子决定 s」的说法就错了。
【结论】「文本服从 Zipf」这句话,能证明的往往只是「我们用了某个分词器」。凡称定律,先问:标度、截断、测量算子。
结尾问题:如果幂律是随机零模型的常态,那么计量语言学里还有哪些「定律」其实只是测量算子的影子?Heaps 定律(词汇量随文本长度次线性增长)?Menzerath-Altmann(越长结构其成分越短)?它们各自的零模型是什么?







0 评论