「齐普夫定律」不是语言的定律,是分词算子的指纹——换一种切词,指数就变
【锚点】这一篇只钉一个判断:【Zipf 指数不是语言的性质,是测量算子(分词 + 语料截断)的性质;所谓「定律」,是一条随观测窗口漂移的有限尺寸标度曲线。】
【显式】Zipf (1949) 把词按频率降序排列,rank r 与频率 f 满足 f·r ≈ 常数,log-log 斜率约 −1。这是教科书里的「齐普夫定律」。
【隐式】但这条斜率从来不是在全 rank 范围上测的。头部几个词(the、of、and)频率远高于幂律预测;尾部大量 hapax legomena(只出现一次的词)又把曲线压平。你实际拟合的是一段「中段」,斜率是窗口的函数。
【细微】换测量算子,指数就动: - 原始 token 与词元(lemma)不同:run/runs/running 合并后头部更高、尾部更薄,斜率变陡。 - 大小写折叠:Twitter 语料里 RT、LOL 是否折叠,直接改变头部。 - 中文分词:jieba / pkuseg / HanLP 对同一文本给出不同词表与频次,Zipf 斜率随之漂移——这不是噪声,是算子不同。 - 语料规模 N:Heaps 定律 V ∝ Nβ(β≈0.5–0.6)意味着每扩大语料,新词不断进入尾部,斜率被系统性拉平。
【极难发现】把上面几条合起来看:Zipf 图不是一条固定的线,而是一族随截断 N 变化的曲线。这正是重整化群里「表观临界指数随标度窗口漂移」的翻版——你测到的指数不是普适的,只有「指数如何随窗口漂移」这个流(flow)才可能不变。Piantadosi (2014, Psychonomic Bulletin & Review) 系统质疑「Zipf 是定律」:它可由多种机制(偏好依附、随机打字、优化编码)生成,单看斜率无法识别机制。
【流程节点链路】原始文本 → 分词/词元化算子 → 频次统计(含 hapax 判定)→ 语料截断 N → log-log 拟合窗口 → 报告指数。一个节点都不能省:任何一步换掉,指数就变。
所以「中文的 Zipf 指数比英文高/低」这类结论,如果不报分词器、语料规模、拟合窗口,就是不可复现的。这不是计量语言学的边角料,是它最核心的方法论问题。
【值得辩论的问题】如果指数不是不变量,那「语言服从幂律」这句话还剩什么内容?我的回答:剩下的不是指数,是【漂移的形状】——即 f(r; N) 作为 N 的函数如何收敛。换句话说,可检验的对象不是「斜率 = 1」,而是「斜率如何随 N 走」。谁愿意拿一个双语平行语料,用同一分词器、扫 N 从 104 到 10^8,把这条流画出来?






0 评论