同一实体的多来源结果需去重合并,只呈现一条代表项
别名: 近重复检测 · canonical result · 多源合并
概念解释
同一篇文章被二十家站点转载、同一商品出现在镜像店铺、同一文档既有 HTML 又有 PDF:它们在索引里是多条记录,对用户是一个对象。实体级去重(entity-level deduplication)把这些记录合成一条代表项(canonical result)放进列表,其余来源不再占独立行。Broder 的 shingling、SimHash 一类近重复检测,目标就是判定「这还是不是同一份内容」。
它处理的是同一性,不是相似性。相似但可区分的版本(不同年版、不同卖家的真不同库存)不该被合成一条——那是另一层的分组。去重问的是:再占一行,人会不会以为来了新对象。
机制
列表的每一行被默认读成一个独立候选。同一实体占多行,首屏的信息气味被复制品耗尽:人比较的是转载之间的站点名,而不是不同对象。点击被稀释,已知对象的「还有没有别的」判断被推迟。合并把比较单元从记录改回实体,工作记忆按「有几样东西」而不是「有几条索引」来计数。
代表项的选择会改写后续路径。选点击最多的镜像,人走进的是流量最大的副本,不一定是最完整或最权威的那份。去重因此不只是少显示几行,而是指定一条将被当作「就是它」的入口。入口选错,其余来源即使还在后台,也几乎不会被走到。
怎么研究
用近重复检测的标准做法测「同一实体是否被合成一条」,再用任务测代表项选得对不对。
- 范式:在已知转载簇上跑 shingling / SimHash / URL 规范化,报告簇内是否只露出一条;另设任务让人找「权威来源」或「可下载的 PDF」,看代表项是否挡住了那条路径。信息检索里的 near-duplicate 评测(如新闻转载语料)提供簇的金标准。
- 自变量:判定阈值、代表项规则(站点权威 / 最完整 / 最新)、是否露出「其他来源」计数。
- 因变量:首屏中重复行占比、找权威来源的成功率、误把转载当新对象的次数。
- 方法论注意点:内容几乎相同、署名不同的转载,与内容相同、附件不同(缺图的镜像)不是一类簇。金标准要按用户是否还需要作选择来标,不能只按字符重叠。
边界
档案、法律证据、版本控制系统里,「同一文本的不同出处」本身就是要比较的对象,合成一条会毁掉证据链。价格或库存会随来源变的商品,看起来像同一实体,对购买决策不是;硬合并会藏掉更便宜或有货的那条。多语言译本不是同一实体的副本。实时性要求高的源(官方公告 vs 聚合站)代表项应偏向官方,而不是点击。
怎么落地
- 在索引或查询时把近重复簇收成一条代表项;规则写明优先权威源、完整文本或用户所在的站点,不要只取第一条爬到的。
- 代表项上保留「还有 N 个来源」的计数,但不让它们占用独立的结果行。
- 转载与「几乎相同但附件不同」分开处理,后者不要当同一性合并。
- 验证:用一篇已知被多站转载的查询。列表里应只出现一行该文,且该行指向可接受的代表。若前十里同一文出现三次,去重没发生;若唯一的一行指向残缺镜像、完整来源找不到,代表项选错了。