Hacker News 标题中最常见的数字是哪个?
速览
一项针对Hacker News标题的统计分析显示,某些数字在标题中频繁出现。该研究通过统计用户提交的标题文本,找出了出现次数最多的数字,并探讨了其背后的可能原因,如文化偏好或算法影响。
AI 深度解读
背景
Hacker News 首页上连续两条标题都包含数字 6——这本身毫无意义,但就像一根刺扎进脑子里,不解决就难受。于是有人开始好奇:在所有 Hacker News 标题中,究竟哪个数字出现得最多?ClickHouse 在其公共 playground 中托管了完整的 HN 数据集,这恰好为这类无聊但有趣的问题提供了完美的实验场。
核心内容
第一轮查询:最朴素的数字提取
直接用正则 \d+ 匹配标题中的所有连续数字,然后统计每个数字的出现次数。查询结果如下(前10名):
| 数字 | 出现次数 | |------|----------| | 2 | 119,000+ | | 1 | 稍少 | | 3 | 再少 | | 0 | 60,931 | | ... | ... |
表面结论:2 是最受欢迎的数字。但仔细观察就发现问题:数字 0 的 6 万多次出现,并非标题中真的写了“0”,而是来自“2.0”“1.0”——正则 \d+ 会把小数点前后的数字拆开,把“2.0”变成“2”和“0”。同理,“S3”中的“3”被单独提取,“1,000 users”中的“1”和“000”也被拆成独立数字。这些伪计数严重扭曲了真实分布。
第二轮查询:更聪明的正则
为了逼近真实含义,作者改用更精确的正则,匹配:
- 带逗号分组的数字(如
1,000) - 带小数点的数字(如
2.0作为整体) - 单词边界限制
同时过滤掉年份(1900–2030),因为新闻网站上的年份数字天然很多。注意 ClickHouse 中 \b 需要写成 \\b,否则会被转义成退格符,导致查询结果为空。
修正后的结果:
| 排名 | 数字 | 出现次数 | |------|------|----------| | 1 | 1 | 约 40,000+ | | 2 | 2 | 大幅下降(失去近三分之二计数) | | 3 | 3 | ... | | 4 | 4 | ... | | ... | ... | ... | | 9 | 6 | 17,933 |
冠军变成了 1。虚假的 0 消失了,年份数字(2018、2017、2020)原本被小数字压住,过滤后现形,但它们仍然排不进前十。
为什么小数字占主导?
Hacker News 标题中数字的使用模式有三种,它们共同把小数字推上高位:
-
列表式文章:“3 ways to do X”“5 things I wish I'd known”“10 tools I actually use”。列表是链接帖的天然载体,数量通常小且整。没人会写“17 things I wish I'd known”除非真有17条,而“5 things”是编辑在标题里刻意选定的。
-
版本号:排名最高的标题中,1、2、3 几乎全是重大软件发版公告:Ghostty 1.0、Rust 1.0、Llama 2、DALL-E 2、Meta Llama 3、Gemini 3……软件版本从 1 开始缓慢递增,早期版本号存在时间更长,因此 2 比 3 多,3 比 4 多,几乎完美递减。AI 时代加剧了这一趋势:2、3、4、5 都因模型发版帖获得新一轮高分流量。
-
整数阈值与排名:“Top 10”“the No. 1 reason”“100 days of X”。数字被用作强调,越整越常用。10 远高于 9 和 11,因为没人会写“top 9 tools”除非真的只有9个。
两个打破规律的例外
- 19:总出现次数 17,842 并不特别,但 2020 年一年就出现了 10,439 次,是其他年份的五倍。原因很简单:COVID-19 以数字命名,该年成为头条常客,2021 年仍偏高,随后回落。
- 4:2023 年突然从 1,400 左右跃升至 2,298,与 1 和 2 短暂持平。GPT-4 于 2023 年 3 月发布,连续数月霸占首页,在折线图上留下一个明显的凸起。
至于最初的 6——它在修正后排名第 9,出现 17,933 次。首页上连续两个 6 纯属巧合,作者花了一晚上证明这一点,并表示毫不后悔。
关键要点
- 最朴素的数字提取正则
\d+会错误拆分小数点数字(如“2.0”)、逗号分组数字(如“1,000”)、以及包含数字的单词(如“S3”),导致统计结果严重失真。 - 修正后的查询(保留小数与逗号分组、过滤年份)显示:数字 1 是 Hacker News 标题中最常见的数字,其次为 2、3、4,整体呈递减趋势。
- 小数字占主导的三大原因:列表式文章(如“5 things”)、软件版本号(如“1.0”)、整数阈值与排名(如“Top 10”)。
- 版本号效应在 AI 时代更加显著:Llama 2、DALL-E 2、GPT-4、Meta Llama 3 等模型发版帖为对应数字贡献了大量高频出现。
- 外部事件可以明显扭曲数字频率:COVID-19(19)在 2020 年爆发式出现;GPT-4(4)在 2023 年引起短暂峰值。
- 数字 6 排名第 9,出现约 1.8 万次,首页连续两个 6 只是巧合,不具备统计意义。
意义与影响
这项看似无聊的数据探索,实际上揭示了文本分析中常见的数据陷阱:正则表达式看似简单,但语义边界模糊时,统计结果会偏离真实意图。仅靠 \d+ 提取数字,无法区分“版本号 2.0”与数字“2”“0”的独立含义,也无法处理“1,000”这样的数值。这种“问错问题”的偏差在数据科学中屡见不鲜,提醒我们预处理步骤必须考虑上下文。
更重要的是,它无意中刻画了 Hacker News 社区的文化特征:列表式文章是信息传播的惯用格式,软件发版是社区的核心兴奋点,而整数阈值(如 Top 10)是内容组织的高效工具。版本号对小数字的累积效应,使 1 到 5 成为天然“赢家”,而大模型发版(如 GPT-4)又进一步强化了这种模式。这也说明
