词汇增长曲线分析
用于判断一份或多份文本是不断引入新词还是收敛到固定词表、词频是否符合自然语言分布,比单看词频表更能区分公文模板、自然写作与疑似机器生成。
按累计 token 逐段统计词表增长,用 Heaps' Law(V = K · Nβ)拟合得出用词开放度 β;高频词按降序在双对数坐标下做最小二乘拟合,得出 Zipf 分布的陡峭度 s,并附 R² 作可信度参考。
β、s 会被投影到公文 / 散文 / 新闻 / 百科的公开语料带,可一眼定位语料风格;可外推再读多少文本能新增多少词以及未来 1M / 10M token 时的词表规模;多文件页指出最开放与最封闭的文件和偏离自然语言的离群文件。
常用于教材与学术写作的用词稳定性评估,也常用于识别评论与访谈中疑似机器生成的模板化文本。
按 token 顺序逐段累计,给出 Heaps' Law 词汇增长曲线(V = K · Nβ), 以及高频词的 Zipf 分布(freq ∝ rank-s)。 β 越小越「封闭」(用词稳定),越大越「开放」(不断引入新词);s 自然语言一般在 1.0 附近。
多文件可分别拟合(默认)做横向对比,也可 合并拟合得到整批语料的整体规模感。中文按 jieba(词)/ 按字两挡可选;英文按 split + lowercase。
关于「停用词」:本工具的停用词 不会参与 Heaps / Zipf 拟合, 只用于过滤报告里「Top 高频词」表格的展示——把「的、了、是、and、the」这类排在最前面但读起来没意义的功能词藏起来, 让你更快看到真正有内容的词。
为什么不能在拟合时去掉?因为 Heaps 曲线里那张「公文 / 散文 / 新闻 / 百科」的对照带, 以及 Zipf 的「自然语言区 s≈0.9–1.15」,全都是含停用词统计出来的;一旦把停用词扔掉, β 会假性偏高、s 会显著下降,对照图就全错位了。
⚠️ 极短文本(< 1000 tokens)拟合误差大,仅供参考;想要稳健结果建议每文件至少 1 万 token。
自动模式按文中中英文字符占比判断;混排建议手动指定。
关闭:每文件一条曲线,便于横向对比(默认);开启:把多份语料拼成一条曲线,看整体规模感。
步长越小曲线越精细但点越多;万字级语料用 100 即可,十万字级建议 500。
只用前 N 个高频词做 log-log 拟合,避免长尾低频词的统计噪声拉低 R²。
本工具只用停用词来过滤报告里 Top 高频词表的展示, 不会影响 Heaps 曲线、β、Zipf 指数 s、R² 等所有计算结果。 原因:Heaps / Zipf 都是基于含停用词的自然语言统计规律,去掉后会破坏与公开语料对照带的可比性。
每 20,000 字 2 点