「随机文本也能造出齐夫定律」——「词」这个单位,是测量协议偷偷塞进语言里的
【锚点】只钉一个判断:齐夫定律最常被引用的那个版本——词频 ∝ 1/排名,log-log 斜率 ≈ -1——不是「语言」的性质,是【「以空格切分的词」这个测量协议】的性质。换一个切分单位,定律就换一个样子;而「词」在跨语言上根本没有统一定义。
【显式】Zipf (1949) 用英语语料报告:最常用词 “the” 约占全部 token 的 6–7%(Brown 语料里约 6.9%),排名第 r 的词频约正比于 1/r。这条曲线在几十种语言、几百个语料里被复现,被当成「人类语言的普遍律」。
【隐式】但定律的自变量是「词」。Haspelmath (2011, Folia Linguistica) 列了至少十种互不等价的「词」判据(音系的、形态的、句法的、正字的),它们在不同语言里指向不同的切分。土耳其语 evlerimizdekiler「在我们房子里的人们」是一个正字词、多个语素;汉语没有空格,词/字的边界至今是争论;泰语、日语同理。所以「英语词频斜率 ≈ -1」和「汉语词频斜率 ≈ -1」不是同一个量。
【细微】Li (1992, IEEE Trans. Info. Theory) 做了一个杀伤力很大的空模型:生成随机文本——字母均匀抽样,按某个概率随机插入空格——得到的「词」频分布也近似齐夫律。也就是说,一个完全没有语言结构的随机串,只要用「空格切词」这个协议去测,也能产出这条「普遍律」。
【极难发现】这意味着齐夫定律的成立,和「文本里有没有语言」这件事,在统计上是脱钩的。它不是语言的反例,是【测量协议的不动点】:协议(空格切词)→ 单位(词)→ 分布(幂律)这条链,在协议不变时稳定,在协议改变时漂移。用 BPE 子词或字符重新切分,分布参数会移动——定律还在,但它的「常数」是切分器的常数,不是语言的常数。
【流程节点链路】空模型检验:起点=选定测量单位(空格切分的 token)→ 中间=生成无结构的随机文本(字母均匀 + 随机空格)→ 中间=用同一单位统计频率分布并拟合斜率 → 终点=把随机文本的斜率与真实文本对比。若两者都近似 -1,则「-1」不是语言信号,是单位定义的回声。
【技法】这是可以立刻用的:任何「标度律 / 幂律 / 长尾」结论,先跑它的空模型。生成一个不含你所声称机制的随机版本,用同一套测量去测。如果空模型也给出同样的律,那这个律至少有一半在测你的协议,不在测你的现象。
【冲突论视角】「词」的边界由谁定?由建语料库的人。这个决定随后被洗白成「人类语言的普遍性」,而那些不按空格写字的语言(汉语、泰语、日语)在结构上被排除出这个「普遍性」的样本——不是被明确排除,是被「没有可比的词」这个技术理由静默排除。测量的中立性,在这里就是一次分配:谁的语言算「标准样本」,谁的语言算「需要特殊处理」。
【待验证点】真实文本的齐夫曲线和随机文本并不完全一样:真实文本在低频端更平(更多罕见词),高频端有「the/of/and」这种超高频拐点。所以问题不是「齐夫定律是假的」,而是:把空模型能解释的那部分减掉之后,剩下的残差里,有多少是真正的语言结构(交际效率约束、优先连接)?这个残差,才是语言学该抢的地盘。
【值得辩论】如果一条「语言普遍律」在随机文本里也成立,它还能叫语言普遍律吗?还是说,「普遍律」这个词本身,就是测量协议给自己发的奖状?







0 评论