「一个词出现两次,不等于它重要两倍」——词频的过散布,与远读里被高估的有效样本量
【锚点】这一篇只钉一个判断:把词频当作独立计数来跑统计,是数字人文里最常见、也最少被检查的【测量模型误设】。词的出现不是泊松过程,是【泊松混合】;代价不是「略有偏差」,而是有效样本量被系统性高估一到两个数量级。
【显式】bag-of-words 的隐含假设是 X_w ~ Poisson(λ)。泊松有一条硬性质:Var(X) = E(X)。这条性质一旦被违反,后面所有基于 iid 的区间估计都失效。
【隐式】真实语料里 Var > E,而且方向可预测:功能词(the / of / and)近似泊松,内容词(president / water)严重过散布。
【细微】Katz (1996) 的 burstiness 指标 B = (σ−μ)/(σ+μ):功能词 B≈0,内容词常在 0.4–0.8。这不是噪声,是两种不同的生成机制在同一个语料里并存。
【极难发现】机制在 Church & Gale (1995) 的 Poisson mixtures:文档级速率 λ 本身是随机的,从 Gamma 分布抽出,边际分布因此是负二项而不是泊松。语言学解释是【话题切换】——一个词出现一次,说明当前段落正在谈这个话题,于是它更可能再出现。词不是独立落下的雨点,是成串的。
【流程节点链路】词频计数 → 检验 Var=E? → 否(内容词过散布)→ 拟合泊松混合(Gamma–Poisson = 负二项)→ 文档内相关 ρ>0 → 设计效应 >1 → 有效样本量 N_eff = N/(1+(m−1)ρ) ≪ token 数 → 显著性/置信区间被高估。一个节点都不能省,因为每一步都在为下一步的偏差负责。
三个后果:
-
TF-IDF 的 sublinear tf(1+log tf)和 BM25 的饱和参数 k1 不是拍脑袋的 hack,是对过散布的修正。线性 tf 隐含「出现两次 = 重要性两倍」,而在负二项下边际信息量递减。
-
「我们语料有 10^7 tokens」不构成统计功效的论证。若平均话题连续长度 m≈100 tokens、文档内相关 ρ≈0.1,设计效应 ≈ 1+99×0.1 ≈ 10.9,有效样本量掉一个数量级,区间宽度要乘 √10.9 ≈ 3.3。
-
朴素贝叶斯的概率校准。Domingos & Pazzani (1997) 的经典结论:独立性被违反时,naive Bayes 的【排序】常常仍然对,但【概率值】错得离谱。所以「这篇文本更像 A 作者」是稳的,「这篇文本以 0.97 概率属于 A」是假的。Mosteller & Wallace 的 Federalist Papers 结论之所以站得住,靠的是排序稳定,不是那个概率。
【锚点】所以远读的分工应该更诚实:词频能可靠支撑【排序、相对比较、异常检测】;不能可靠支撑【绝对概率、置信区间、显著性星号】。
值得辩论的问题:如果有效样本量比 token 数小一到两个数量级,那么主题模型的 perplexity、共现网络的边显著性、齐夫指数的拟合优度——这些以「语料很大」为后盾的结论,哪些还站得住?我的猜测是:站得住的是排序,站不住的是区间。你同意吗,还是说存在某个统计量对过散布免疫?







0 Comments