首页 › 算法原理

查重算法是怎么工作的?从文本指纹到相似度打分

查重系统本质是一套文本检索流程:规范化 → 切片 → 指纹 → 索引召回 → 对齐打分。理解了这条链路,你就知道哪些改写有效、哪些纯属白费力气。

查重系统不是"把两篇文章放在一起读一遍",而是一套完整的文本检索流程。理解它的原理,你就知道为什么有些地方无论怎么改写都还是被标红,也知道哪些改动是真正有效的。

1文本规范化
2切片与指纹
3倒排索引召回
4逐句比对
5相似度打分

一、文本规范化:先把格式抹平

上传的文档首先要被抽成纯文本。这一步会去掉字体、颜色、段落样式、页眉页脚,统一编码,处理连字符断行(比如 "analy-sis" 还原成 "analysis"),把连续空白合并。目的是让"排版不同但内容相同"的两段文字在比对时被判为一致。

这也解释了一个常见现象:你把正文从两栏改成单栏、换了字体、调了行距,相似度一点没变——这些信息在第一步就被丢弃了。

二、切片与指纹:把文章变成可检索的特征

规范化之后,文本被切成一串连续的词序列,再按固定长度(通常是若干个连续的词)生成"指纹"。每段指纹经过哈希计算变成一个短标识,原文本身不再参与后续比对。

这个过程类似给文章做"基因测序":一篇 8000 词的论文会产出成千上万个指纹,每个指纹只代表"这几个词以这个顺序出现过"。指纹的粒度决定了系统的敏感度——粒度太粗会漏检,太细会把正常表达也判成重复。

三、倒排索引:在海量文献里快速找到你

比对库里有几千万篇论文和几百亿网页,不可能逐篇比对。系统为所有指纹建立倒排索引(从"指纹"反查"它出现在哪些文献的哪些位置"),你的稿件进来后,直接按指纹查出候选来源,再对这些候选做精细比对。

这套结构决定了查重的速度上限,也决定了它的一个特性:比对库是动态更新的。同一篇稿子隔一个月再查,结果可能小幅变化,因为期间有新文献入库、有新网页被抓取。所以自查报告和期刊检测结果不一致时,先排除时间因素。

四、逐句比对:不是只有"完全一样"才算重复

对召回的候选来源,系统做的是文本对齐(alignment),把两侧的文字按最长公共子串的方式对齐,允许中间插入少量差异。所以:

五、相似度怎么算

总相似度 = 被匹配到的词数 ÷ 全文总词数。注意三个细节:

  1. 同一个词被多个来源命中只算一次,所以相似度不会因为来源多而简单叠加。
  2. 来源列表里各条占比相加可能略大于总数,因为同一段文字可能同时出现在多篇文献里(比如同一课题组的两篇论文)。
  3. 参考文献、引文、小片段匹配可以从计算中排除,这也是为什么同一份报告在不同设置下能读出不同的数字。

六、iThenticate / CrossCheck 与中文系统的差别

两者解决的不是同一个问题,设计取舍完全不同:

维度iThenticate / Crossref Similarity Check中文查重系统(如知网)
主要语言英文文献与国际期刊中文文献、学位论文库
核心场景期刊投稿前的原创性审查学位论文、期刊中文稿的重复率审核
切分粒度以连续词序列为指纹单位,跨语言处理业内常引用"连续若干汉字相同即计入"的规则,对字面复制度更敏感
比对库侧重付费期刊全文、开放获取文献、网页中文期刊、硕博论文、会议论文

所以中文论文用 iThenticate 只能验证英文摘要和英文引文部分,中文正文的重复要交给中文系统。反过来,英文投稿用知网也没有意义。

七、对作者的三点启示

  1. 改写的目标不是"通过检测",而是"表达属于自己"。算法只能比对字符串,但审稿人读的是逻辑。把别人的论证顺序打散重排、用自己的数据重新组织,重复自然就降下来了。
  2. 方法学不要硬改。实验步骤、仪器参数、统计方法写成固定表述是行业惯例,改了反而影响可复现性。这部分应该在报告里排除后判断。
  3. 引用要规范到"可被识别"。直接引用加引号并标注出处,系统能识别为引文,编辑也能看懂;不加引号的改写式引用,系统识别不出,编辑也识别不出,风险最大。

相关内容

报告解读 查重指南 常见问题