黑客新闻标题中最受欢迎的数字是什么?
昨天的HN主页上有两个连续的标题中都有数字6。这个数字没有任何意义。但这种毫无意义的事情会在你的脑海中停留,直到你采取措施为止。那么,黑客新闻标题中最受欢迎的数字是什么呢?ClickHouse在他们的公共游乐场中托管了完整的HN数据集,我恰好是那种对此感到兴奋的人。显而易见的查询几乎根本不算查询:SELECT num, count() AS c FROM (SELECT arrayJoin(extractAll(title, '\d+')) AS num FROM hackernews_history WHERE type = 'story' AND title != '') GROUP BY num ORDER BY c DESC LIMIT 10 数字 标题 2 119,351 3 114,397 1 114,017 5 82,066 4 63,482 0 60,931 10 50,534 6 38,440 7 37,261 8 37,190 HN标题中最受欢迎的数字是2。案件结束,帖子结束。但为什么这些数字这么小呢?那是Vsauce的旋律。这个帖子将要变成‘但为什么19会这样’。一个让小数字胜过大数字的表格在一瞬间看起来像是本福德定律:这个观察指出,在许多自然发生的数据集中,首位数字的出现概率远远高于9。它出现在河流长度、股票价格、物理常数、选举结果中,第一次见到时确实有点儿让人毛骨悚然。但在这里没有出现。本福德定律是关于跨越多个数量级的数字的首位数字(人口、收入、文件大小),而不是从标题文本中提取的单数字。真正的解释比这个宇宙法则更无聊。除非第六名是0,出现了60,931次。六万标题并不包含一个裸露的零。它们包含的是“2.0”和“1.0”,这些被\d+快乐地拆分成它们的组成数字。同样的正则表达式可以把“S3”中的3提取出来,把“1,000 users”拆分成一个1和一个没有意义的000,并且通常将每个数字序列视为自己的数字,而不考虑上下文。2的119K领先主要是Web 2.0和十年版本号的幽灵。这些数字是准确的,只是回答了一个稍微错误的问题。所以我尝试了一个更聪明的模式,这个模式完整捕捉以逗号分隔的数字,将小数视为单个标记,遵循单词边界,并过滤年份,因为“年份在新闻网站上很受欢迎”不会让人感到惊讶。下面的双反斜杠是因为ClickHouse在正则表达式引擎看到它之前把\b变成了一个字面上的退格符,这会导致一个空的结果集,并且花费的时间比我愿意承认的要长:SELECT num, count() AS c FROM (SELECT replaceAll(arrayJoin(extractAll(title, '\b\d{1,3}(?:,\d{3})+\b|\b\d+(?:\.\d+)?\b')), ',', '') AS num FROM hackernews_history WHERE type = 'story' AND title != '') WHERE toUInt64OrZero(num) NOT BETWEEN 1900 AND 2030 GROUP BY num ORDER BY c DESC LIMIT 10 数字 标题 1 48,559 2 45,970 3 40,056 5 37,683 10 33,336 4 25,915 7 22,013 8 18,876 6 17,933 19 17,842 数字标记分析也比看起来要复杂得多:“Python 3.11.2”仍然拆分成“3.11”和“2”,而年份过滤器无法区分1984是年份还是小说。至少这已经足够我们继续前进了。2失去了近三分之二的计数和标题。1获得了桂冠。幽灵0消失了。年份早已存在。如果没有过滤器,2018年、2017年和2020年的排名是第8到第10;幼稚的正则表达式只是将小数字膨胀到足以掩埋它们。那么为什么小数字占主导地位呢?HN标题做了三件事情,都是朝同一个方向推进。第一是列表文章。“3种方法来做X”、“5件我希望我知道的事情”、“10个我实际使用的工具”。列表文章几乎是链接帖子的本地单位,其计数几乎总是小而圆。没人会写“17件我希望我知道的事情”,除非他们真的有17件,而这很少见,而“5件事”是在标题编辑器中做出的决定。第二是版本号。1、2和3的最高得分标题几乎都是主要的软件发布:Ghostty 1.0和Rust 1.0的1,Llama 2和Dall-E 2的2,Meta Llama 3和Gemini 3的3。软件版本从1开始,缓慢增加,因此小数字积累了多年的发布公告。这也是为什么2的排名高于3,而3的排名高于4,几乎完全如此。较早的版本号显然存在的时间更长。人工智能时代使这一点更加显著。2、3、4和5在此基础上都获得了一波高得分的模型发布帖子。第三个是作为阈值和排名使用的圆数。“前10名”、“第一理由”、“100天的X”。数字被赋予强调的作用,数字越圆,选择的频率就越高。10的排名明显高于9和11,正是因为这样:没有人会写“前9个工具”,除非他们确实在9个工具上用尽了资源。将所有十个数字绘制在HN的完整历史上揭示了两个外部事件打破了模式:HN标题中的前10个数字,2007–2025。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡