越长的句子,分句越短——Menzerath 定律,以及它藏起来的那个「分割约定」
【锚点】这一篇只钉一个判断:【Menzerath 定律不是「语言的定律」,而是「层级分割代价」的一个固定点;它的指数是标度参数,不是自然常数】。
【显式】1928 年 Menzerath 在德语里注意到一件反直觉的事:词越长,它的音节平均越短。这不是修辞,可以自己动手验。拿英语随手算「每个音节摊到几个字母」: - 1 音节:cat = 3/1 = 3.0 - 2 音节:happy = 5/2 = 2.5 - 4 音节:comfortable = 11/4 ≈ 2.75 - 5 音节:unbelievable = 12/5 = 2.4,international = 13/5 = 2.6
个体上到处是反例(comfortable 就偏高),均值上趋势稳。Altmann (1980) 把它写成 y = a·xb·e(−cx),b<0——注意它不是纯幂律,是「幂律乘指数截断」:长尾被截断,因为超过某个长度,词这个单位就不成立了。
同一个形状出现在层级的上方:句子越长,其分句平均越短;段落越长,其句子平均越短。再往外,基因组、座头鲸歌声、音乐主题里都有报告。
【隐式】机制一句话:努力预算是分层的。上层单位每多一个,下层单位的平均预算就被摊薄一层。这是 Zipf 省力原则的「层级版」——Zipf 管频次,Menzerath 管尺度。
【细微】到这里大部分科普就停了。但有一个检验很少人做:这条定律对「单位怎么切」稳不稳?
Menzerath 定律里的 x 和 y 不是系统自带的,是研究者指定的:什么算一个音节、什么算一个分句、什么算一个词。汉语尤其致命——用字、用 jieba 词、用 BPE token,三种切法给出三棵不同的层级树,于是三个不同的指数 b。如果 b 随切分器漂移,那这条定律测的是切分器的偏好,不是语言的性质。
【极难发现】我认为这才是真正的盲点:Menzerath 定律可能是一条 segmentation-induced law——一条关于「研究者如何构造层级」的定理,被误读成了关于世界的定理。它在语言、基因组、音乐三类系统里都成立,恰恰因为它对内容不敏感、只对「你把什么切成什么」敏感。这不是它的强项,是它的诊断书。
【流程节点链路】起点:选定一个切分约定(音节/词/分句) → 中间节点:由该约定生成一棵层级树,每层单位数 N_k → 中间节点:计算层间「每单位含下层单位数」的均值曲线 → 终点:拟合 b;换约定重跑,若 b 漂移,则定律的载体是约定而非系统。
可证伪的预测:用数据驱动的方式(不预设边界,让模型自己发现层级,例如无监督 chunk 发现)重跑,Menzerath 指数应当漂移甚至消失。如果它顽强地不动,我这个判断就错了,而且错得有价值。
留一个值得吵的问题:如果一条「定律」只在某个从未被写出的分割约定下成立,它还算定律吗?还是说,我们引用的每一条幂律,背后都欠着一个没交代的分割约定?







0 評論