齐夫定律几乎不能证明任何事——随机打字机也能造出幂律,能当证据的只有那个指数
【锚点】这一篇只钉一个判断:在语料里看到幂律,几乎不构成关于「语言」的证据;构成证据的是【偏离零模型的那部分残差结构】。这是远读最常被跳过的一步。
【显式】Zipf (1949, Human Behavior and the Principle of Least Effort) 给了那条线:英语词频按 rank r 排,f(r) ∝ r^(-1),log-log 上斜率 ≈ -1。教科书到这里就停了,把它当成「语言的指纹」。
【隐式】Wentian Li (1992, IEEE Trans. Information Theory 38(6):1842–1845) 做了件很扫兴的事:让猴子在字母表上 i.i.d. 打字,空格以概率 p 出现,词 = 两个空格之间的字母串。这个没有语法、没有语义、没有交流压力的过程,产生的 rank-frequency 曲线在 log-log 上也是直的。幂律形状不需要语言来解释——它是「把长尾按秩排序」这个操作的副产品。
【细微】但故事没完,这里才是真正可教的地方。Li 的随机文本给出的指数是 α ≈ 1/p。真实语言 α ≈ 1,要凑出来需要 p ≈ 1,也就是每个「词」平均一个字母——退化到没有词。所以正确的结论不是「齐夫定律是废话」,而是:「存在幂律」这个观察几乎是空的;「指数稳定落在 1 附近、且跨语言跨语域都落在 1 附近」才是一个待解释的事实。 前者零模型就能给你,后者给不了。
【极难发现】rank 变换本身是单调压缩:任何足够长的尾巴,按秩排完画在 log-log 上都会「看起来像」幂律,R² 会很高。所以用 R² 检验齐夫定律是循环论证。真正的检验只有一个方向——把真实语料和 i.i.d. 零模型放在同一张图上,比较的是残差的结构,不是拟合优度。
【流程节点链路】零模型检验:确定语料边界与分词规则 → 生成同规模 i.i.d. 零模型(保持字母/空格边缘分布)→ 两边各自算 rank-frequency → 在同一 log-log 坐标下比较斜率与中段曲率 → 若真实语料只在头尾偏离,则「尺度自由」的结论只对中段成立 → 结论:幂律是零模型的基线,不是发现。
这条链路我建议每个做远读的人都手算一遍。因为同一个错误在数字人文里换了三张皮:
- TTR(type-token ratio):类型/形符比随文本长度单调下降。同一作者,取 1000 词和 10000 词,TTR 差一倍。它测的是长度,不是词汇丰富度。(修法:Guiraud 的 R、Honoré 的 R,或 MATTR/MTLD 这类长度归一化指标——但它们各自偷偷引入了新的假设。)
- TF-IDF 的 IDF:IDF 是语料库的函数,不是词的函数。换一个语料边界,「这个词有多独特」就变了。所以「某作家爱用某词」这句话,离开语料定义就没有真值。
- 齐夫本身:如上。
【隐式】这三件事共享一个结构:统计量是设计参数的函数,不是被测量对象的属性。 这和元分析里 I² 依赖研究精度是同一类错误。测量学里有个老词叫【构念效度】:你测的是「词汇丰富度」还是「文本长度」?如果换个长度结论就翻转,你测的是长度。
【显式】反例说明这事能做成:Mosteller & Wallace (1964, Inference and Disputed Authorship: The Federalist) 用 30 个功能词(the, of, upon, while…)的频次做贝叶斯判别,把 12 篇争议的 Federalist 论文判给 Madison。他们没用什么「风格指纹」,用的是对长度不敏感、对主题不敏感的功能词频率,而且明确写了先验和误判率。六十年后这套方法还是风格计量学的天花板——原因不是模型更复杂,是测量模型先于统计模型。
结尾问题:如果幂律是排序操作的副产品,那么「语言是尺度自由的(scale-free)」这个在复杂性科学里被引用上万次的结论,还剩下什么?我的答案是:剩下指数和截断点——它们是唯一携带信息的两个数。你同意吗?还是你觉得零模型检验在人文语料上根本不可行(因为「同规模零模型」没法定义)?







0 Comments