项目记录:给资讯稿做「同题合并」,按事件而不是按标题

项目记录:给资讯稿做「同题合并」,按事件而不是按标题

起因

整理历史快讯时发现,同一件事往往留下三四篇稿:一篇讲发布、一篇讲更新、一篇讲第三方解读。标题各不相同,按标题检索就会把它们当成三件事,读者点进来还得自己拼时间线。于是做了一次同题合并。

先定合并的主键

最初按标题相似度分组,效果很差:同一件事的不同阶段,标题几乎没有重合词。改成按「事件」作主键,给每条记录补三个字段:

字段写法
事件标识主体加动作,不含阶段词
阶段首发/更新/解读/更正
发生日事件当日,不是发稿日

「事件标识」里不许出现「首次」「再次」「最新」这类阶段词,这是整次改动最关键的一条。去掉它们之后,原本散在三处的稿子自然归到了一起。

执行方式

先干跑:让工具只输出分组清单,不改动任何原文;我逐组确认哪些确实同一事件,再把「事件标识」写回。确认这一步不省,因为「同一主体」不等于「同一事件」,一次版本升级和一次例行维护容易混。

分组逻辑参考了 BackendWiki 里讲变更记录的思路:一条记录讲清「哪个对象、发生了哪一次变化」,阶段另记,不靠标题去猜。

跑完之后的观察

  • 同一事件的多篇稿子合并后,时间线自己浮出来了,不用再人工排。
  • 被标成「更正」的稿子单独显眼,以前它们混在正常稿里,最容易被误引。
  • 阶段字段还顺带解决了复用问题:要引用时先挑阶段,不再逐篇读。

需要说明的是,这次只整理了历史稿的索引,正文一篇没删。合并是为了看清关系,不是把不同视角压成一种说法。

小结

按标题分组,合的是字面;按事件分组,合的是事实。多一个「阶段」字段,旧稿就从一堆散条变成了一条能读的时间线。