方法说明
这份榜单是一次透明的算术演算。本页说明输入是什么、新闻如何分组、热度分数如何计算,以及方法有哪些薄弱之处。
一、我们采集什么
每次每日运行会从几类相互独立的来源抓取标题:
- 全球媒体索引。GDELT 文档接口,限定英文报道与滚动 24 小时窗口,覆盖许多国家的通讯社与报纸。
- 搜索信息流。Google 新闻 RSS,围绕中国、中国经济、军事、台湾、科技与贸易等关键词。
- 媒体首页。一份固定的媒体名单,取其国际与亚洲版面,筛选出提及中国或中国相关议题的条目。
- 公开讨论。达到点数门槛的 Hacker News 条目、固定子版块的 Reddit 讨论,以及点赞数达到门槛的公开 Bluesky 帖子。
只有发布时间大致在最近 40 小时内的条目才会入选。中国大陆官方与商业媒体的内容被排除在外,因为这份索引的目的正是测量中国以外的报道。
二、新闻如何分组
原始标题先按 URL 去重,再进行聚类。当两条标题的相似度——由共同实义词与字符级相似度混合而成——超过固定阈值时,它们会被归为同一事件。本站几乎每条标题都会出现的词(「China」「Chinese」「Beijing」)在比较前会被剔除,避免两条无关的中国新闻仅因共享国名而被合并。
每组展示的标题取自该组中权威度最高的媒体,而不是最早到达的那条信息流。
三、热度分数
前 30 条新闻各有一个满分 100 的分数,由四个部分组成:
- 传播范围——45 分。采用该新闻的不同媒体数量(加权计算),八家主要媒体即可达到上限。一线国际媒体比单一国家的站点权重更高。
- 国家/地区分布——20 分。这些媒体所在的发布国家/地区数量,最多计五个。
- 社交热度——20 分。社交来源上的点数、评论、点赞与转发,按对数压缩,避免单条爆款讨论淹没整个榜单。
- 新鲜度——15 分。以组内最新一条报道为准,套用半衰期 16 小时的衰减曲线。
四项相加即为总分,满分 100。每一行显示的热度就是该总分,保留一位小数。
四、排名变动
打分之后,每条新闻会先按共享 URL、再按标题相似度与上一期匹配。匹配成功的新闻会显示上升或下降的位次;没有匹配到的标记为新。由于聚类每天从零重建,一条改写过的标题偶尔会以「新」出现,而它其实是昨天新闻的延续。
五、话题标记
每条标题会对照八类话题的关键词词典进行标记:地缘与安全、经济与市场、科技与产业、外交与博弈、香港、新疆与民族、人权与法治、社会与文化。一条新闻可以带两个标签。话题页只是切分同一份每日榜单,而不是另建一份。
六、已知局限
- 英文偏置。索引测量的是英文报道。一条在德国、日本或阿拉伯媒体上占据头条、但英文转载很少的新闻,排名会低于其实际影响力。
- 来源不对称。开放 RSS 的媒体比付费墙或仅有客户端的媒体更容易被看到。
- 社交信号只是近似值。Reddit 的公开信息流不暴露分数,因此每个符合条件的讨论帖按固定权重计入;Hacker News 与 Bluesky 提供真实互动数据。
- 聚类并不完美。后续报道与反应类文章有时会被拆成不同新闻,偶尔两个相关事件也会被合并。
- 不做核实。我们索引的是媒体发布的内容,不独立确认其真实性。
七、更新节奏与数据处理
采集器按固定的每日计划运行,并重写 UTC+8 当天的那一期。历史期次会被冻结并保留九十天。如果某次运行采集到的可用内容太少,我们会保留上一期,而不是发布一份空洞的榜单。
八、更正
数据错误——来源写错、链接失效、错误合并——可发送至 yqin1090@gmail.com。实质性修正会在下一次计划运行时生效。