返回教程列表
文本分析基础教程文本去重语义相似度改写检测

文本相似度去重雷达完整教程:从语义向量与余弦相似度,到重复成组和同义改写嫌疑分

两千条问卷回答里有互相抄的,也有照模板改的,两篇解读文章大意相同、用词处处不同,怎样把它们找出来?这篇教程先比较 Jaccard 字面相似度和语义向量的余弦相似度,说明 TATOOLS 的【文本相似度去重雷达】怎样两两比较每一条文本,按阈值和去重策略判出重复对,再用单连接方式把重复对连成组,选出代表原文。文中手算余弦相似度和代表原文,算出重复率和雷达图的三条轴,并用三组句子算出同义改写嫌疑分。最后讲报告怎样读、结果怎样下载,并给出论文数据清洗部分的写法示例。

作者:TATOOLS 研究团队|更新于 2026-09-23|5266 个字符|约 18 分钟读完
similarity-dedupe-radar
立即使用

两千条问卷开放题回答收上来,统计时发现有几十条几乎一字不差,是同一个班的学生互相抄的;还有一批意思一样、措辞略有不同,像是照着同一个模板改的。不去掉它们,某些观点会被重复计数,频次和比例都会失真。换一个场景,两篇政策解读文章大意相同、用词却处处不同,编辑想知道后一篇是不是在前一篇的基础上改写出来的。

这两件事都要回答同一个问题,两段文字在意思上有多接近。TATOOLS 的【文本相似度去重雷达】用语义向量两两比较每一条文本,找出意思相近的文本对,把相互相似的文本归成一组,给出重复率,列出每组的代表原文和高频词,用雷达图画出每组重复的强度和扩散范围。切换到同义改写模式,它专门找语义接近但用词差别明显的文本对,按改写嫌疑分排序,并逐词标出改动在哪里。

这篇教程先讲重复有几种,字面相似和语义相似怎样计算,再讲阈值怎样定,文本怎样成组,重复率和雷达图怎样读,接着讲同义改写嫌疑分,最后讲报告的读法和论文里的写法。

01

重复有几种

类型 例子 靠什么发现
原样复制 两条回答一字不差 字面比对
近似复制 改了几个字、换了标点 字面相似度或语义相似度
同义改写 意思相同,词几乎全换了 语义相似度

字面比对的办法由来已久。Broder 1997 年为网页去重提出把文本切成一小段一小段的片段,用两份文本共有片段的比例衡量它们有多像,这就是 Jaccard 相似度在去重里的经典用法。字面方法又快又准,但它只认字,同义改写在它眼里是两段完全不同的文字。

语义方法把每段文字表示成一个向量,意思相近的文字向量方向相近。Reimers 和 Gurevych 2019 年提出的句向量方法让这一思路在大规模文本上变得实用,两段文字即使一个共同的词都没有,只要意思相近,也能被找出来。TATOOLS 的【文本相似度去重雷达】以语义相似度为主,字面差异度用来区分近似复制和同义改写。

02

字面相似:Jaccard 系数

把两段文字各自分词,去掉单字和数字,得到两个词的集合,Jaccard 系数是交集大小除以并集大小。

· · ·

甲:政府加大了对乡村教育的投入

    {政府, 加大, 乡村, 教育, 投入}

乙:当局增加了农村学校的经费

    {当局, 增加, 农村, 学校, 经费}

交集 0 个,Jaccard = 0

甲和乙说的是同一件事,字面相似度却是 0。字面方法擅长抓抄袭和粘贴,换了说法的改写要靠语义方法来找。

03

语义向量和余弦相似度

TATOOLS 把每一条文本交给【语义向量模型】,得到一个几百维的向量,再缩放到长度为 1。两个单位向量的余弦相似度就是它们对应分量乘积之和,在 −1 到 1 之间,越接近 1 意思越接近。

· · ·

cos(a, b) = Σ aᵢ × bᵢ (a、b 长度都是 1)

用三维的小例子手算。

· · ·

A = (0.6, 0.8, 0) B = (0.8, 0.6, 0) C = (0, 0.6, 0.8)

cos(A, B) = 0.48 + 0.48 + 0 = 0.96

cos(A, C) = 0 + 0.48 + 0 = 0.48

cos(B, C) = 0 + 0.36 + 0 = 0.36

A 和 B 方向几乎一致,是一对重复;C 和它们只沾一点边。TATOOLS 对全部文本两两计算余弦相似度,n 条文本一共要比 n × (n − 1) ÷ 2 对,两千条就是将近两百万对,每一对都算到。

04

阈值怎样定

余弦相似度达到阈值的两条文本,算作一对重复。工具页的【相似度阈值】在近似复制模式下可以设在 0.60 到 0.95 之间,默认 0.82。阈值越高,只有几乎一样的文本才会被抓出来;阈值越低,意思相近但表述不同的也会被算进来。

【去重策略】在这个基础上再调一次。

去重策略 做法 阈值 0.82 时
保守去重 阈值加 0.05 0.87
均衡去重 不调整 0.82
召回优先 阈值减 0.05 0.77

【分析场景】还会按文本来源再微调一两个百分点,问卷和社媒这类短句口语多,客服记录也是,阈值略放宽;政策公文措辞规整,阈值略收紧。最后实际使用的阈值写在报告的【有效判定阈值】里。

要把结论写得很稳,用保守去重;要尽量找全诉求一致的反馈,用召回优先。拿不准的时候先用均衡去重,看报告里的高相似度文本对,再决定往哪边调。

05

从文本对到重复组

两两比较得到的是一对一对的文本。把每条文本看成一个点,每一对重复连一条线,连在一起的点就是一组。这在统计上叫单连接聚类(Single Linkage),Gower 和 Ross 1969 年讨论过它和最小生成树的关系;计算上用并查集(Union-Find)把点逐步合并,Tarjan 1975 年分析过它的效率。

· · ·

阈值 0.82,五条文本里达到阈值的对

1–2 0.90

2–3 0.85

4–5 0.88

1–3 0.78,没到阈值

结果:{1, 2, 3} 一组,{4, 5} 一组

1 和 3 本身没到阈值,因为都和 2 相连,也被归到一组,这是单连接的特点,重复的链条能把改动一点点累积起来的文本串在一起。

【重复聚类最小样本数】决定多少条才算一组,默认 3。上例里 {4, 5} 只有两条,不单独成组,但这一对仍会出现在高相似度文本对的列表里。

每组选出一条代表原文,是和组内其他文本平均相似度最高的那条。

· · ·

文本 1:(0.90 + 0.78) ÷ 3 ≈ 0.56

文本 2:(0.90 + 0.85) ÷ 3 ≈ 0.58

文本 3:(0.78 + 0.85) ÷ 3 ≈ 0.54

代表原文是文本 2

组内平均相似度 = (0.90 + 0.85 + 0.78) ÷ 3 ≈ 0.84

除以 3 是因为自己和自己的相似度记作 0 也算在里面,只影响数值大小,不影响谁排第一。TATOOLS 的【相似聚类详情】为每组列出条数和平均相似度、最高相似度,写明涉及几个文件,并附上代表原文和组内的高频词,组名由高频词拼成。

06

重复率和雷达图

报告顶部的【检测到的重复率】是至少出现在一对重复里的文本占全部有效文本的比例。

· · ·

有效文本 20 条,出现在重复对里的有 5 条

重复率 = 5 ÷ 20 = 25%

【重复模式雷达图】为每个重复组画一个五边形,五条轴是这样算的。

轴 怎样算
重复强度 组内平均相似度 × 100
覆盖范围 本组条数 ÷ 最大一组的条数 × 100
跨文件扩散 本组涉及的文件数 ÷ 本组条数 × 100
敏感风险 组内含个人敏感信息的文本占比
关键词关注 组内命中关注主题的次数 ÷ 本组条数 × 100

一组 6 条,来自 3 个文件,平均相似度 0.88,最大的一组有 12 条,它的前三条轴分别是 88、50 和 50。重复强度高、覆盖范围大的组,是最值得先处理的;跨文件扩散高,说明同一段内容在不同来源里都出现了,常见于转载和模板化填写。

工具页的【希望重点跟踪的主题】填了关键词以后,命中关键词的组会以关键词命名,关键词关注这条轴也会跟着变化。【相似度热力矩阵】把前 40 条文本两两之间的相似度画成色块,颜色越深越相似,适合一眼看出重复集中在哪一片。

07

同义改写嫌疑

Dolan 和 Brockett 2005 年建立了英文句子改写语料库,改写识别从此成为自然语言处理里的一个标准任务。【分析模式】选【同义改写嫌疑】时,TATOOLS 找的就是这一类文本对,意思仍然接近,用词却换了不少。

· · ·

字面差异度 = 1 − Jaccard 相似度

改写嫌疑分 = 语义相似度 × 字面差异度

接着前面的例子算三对。

· · ·

甲与乙 语义 0.80,Jaccard 0,差异度 1

        嫌疑分 = 0.80 × 1 = 0.80

甲与丙 丙:政府增加了乡村学校的投入

        交集 {政府, 乡村, 投入},并集 7 个词

        Jaccard = 3 ÷ 7 ≈ 0.43,差异度 ≈ 0.57

        语义 0.86,嫌疑分 ≈ 0.86 × 0.57 ≈ 0.49

甲与丁 丁:政府加大了对乡村教育的投入力度

        语义 0.95,高到近似复制的程度,不列入

语义越接近、用词换得越多,嫌疑分越高。语义高到几乎就是原句的文本对属于近似复制,交给另一种模式处理;用词几乎没变的也不算改写。这个模式下【相似度阈值】是语义相似度的下限,可以设在 0.55 到 0.82 之间,工具页建议 0.60 到 0.78,太低会引入话题碰巧相近的句子,太高会漏掉轻度改写。

报告的【改写嫌疑对 — 左右词级对照】把排在前面的文本对左右并排,逐词对齐,哪些词没动,哪些词被替换,哪些词是新加或删掉的,都分别标出来,一眼能看出改动集中在哪里。改写嫌疑分是给人工抽查排序用的线索,是否构成不当改写,要由研究者对照原文和出处来判断。

08

分析单位和预处理

TATOOLS 把每一行当作一条文本,空行跳过。网址、纯数字串和太短的文本先被过滤掉,太长的文本按分析场景截到合适的长度。上传多个文件时,所有文件的文本放在一起两两比较,每条文本都记着来自哪个文件的第几行。

整份材料不足两条有效文本时,比如整篇文章写在一行里,TATOOLS 会按【自动分段窗口】设定的字数,优先在句末标点处把它切成句段再比较,行号记作第几行的第几段。

工具页的【自定义词典】影响分词,进而影响组内高频词和同义改写模式里的字面差异度;【自定义停用词】让泛泛的词不进组内高频词。语义相似度本身不受这两项影响。

09

工具页上的设置一览

设置 选项或范围 默认 影响什么
分析模式 近似复制与合并,同义改写嫌疑 近似复制与合并 找哪一类文本对
自动分段窗口 50 到 400 字 180 缺少分行时切句段的长度
分析场景 调研/问卷反馈,政策/公文段落,客服/投诉日志,社媒/论坛帖子 调研/问卷反馈 过滤长度和阈值微调
相似度阈值 0.60 到 0.95,改写模式 0.55 到 0.82 0.82 多相似才算一对
重复聚类最小样本数 2 到 15 3 多少条才算一组
去重策略 保守去重,均衡去重,召回优先 均衡去重 在阈值上加减 0.05
希望重点跟踪的主题 自己填写 空 组的命名和关键词关注轴
自定义词典、自定义停用词 自己填写 空 高频词和字面差异度

10

报告怎么读

区块 先看什么
这份结果说明了什么 有效文本数、重复率、重复组数
概览指标 上传记录数、有效文本、平均相似度、有效判定阈值
智能建议 按本次结果给出的调整方向
重复模式雷达图 哪几组强度高、范围大、跨文件
相似聚类详情 每组的代表原文、条数和高频词
相似度热力矩阵 重复集中在哪一片
高相似度文本对 成对的原文,逐对核对
改写嫌疑对 — 左右词级对照 改写模式下,改动在哪里

读的顺序是先看重复率和重复组数,再看雷达图挑出最值得处理的几组,到聚类详情里读代表原文,最后在文本对列表里逐对核对。结果可以下载,包括重复组汇总和每组的全部成员,以及达到阈值的文本对;改写模式下另有一张文本对表,逐对写明语义相似度和字面差异度,并附上嫌疑分。

11

把结果写进论文

去重通常放在方法部分的数据清洗里。下面是一段写法示例,方括号里换成自己的数字。

为避免重复作答与模板化填写造成的重复计数,本研究使用 TATOOLS 的文本相似度去重雷达,以语义向量的余弦相似度两两比较 [条数] 条有效回答,将相似度不低于 [阈值] 的回答视为重复,并按单连接方式归组。共识别出 [组数] 个重复组,涉及 [条数] 条回答(占 [比例]),每组保留一条代表回答进入后续分析。

写明阈值和去重策略,再举一两组重复的原文,读者就能判断去重的尺度是否合适。

12

小结

•

重复分原样复制、近似复制和同义改写三种,字面方法看得出前两种,语义方法三种都能覆盖。

•

TATOOLS 把每条文本变成单位长度的语义向量,两两计算余弦相似度,达到阈值的算一对重复。

•

阈值由相似度阈值、去重策略和分析场景共同决定,实际使用的阈值写在报告里。

•

重复对按单连接方式连成组,每组选出平均相似度最高的代表原文,雷达图画出重复强度、覆盖范围和跨文件扩散。

•

同义改写模式用语义相似度乘以字面差异度得到改写嫌疑分,并逐词标出改动。

找出重复组以后,想每组保留一条、其余标为并入,可以用 TATOOLS 的【重复内容合并】;想先把空洞、刷屏的段落筛掉,用【信息价值评估】;想按意思把全部文本分成几类,用【高级文本聚类】。

13

资料来源

•

Broder:On the Resemblance and Containment of Documents,Proceedings of Compression and Complexity of Sequences,1997

•

Reimers 与 Gurevych:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks,Proceedings of EMNLP-IJCNLP,2019

•

Jaccard:The Distribution of the Flora in the Alpine Zone,New Phytologist,第 11 卷第 2 期,1912

•

Gower 与 Ross:Minimum Spanning Trees and Single Linkage Cluster Analysis,Journal of the Royal Statistical Society Series C,第 18 卷第 1 期,1969

•

Tarjan:Efficiency of a Good But Not Linear Set Union Algorithm,Journal of the ACM,第 22 卷第 2 期,1975

•

Dolan 与 Brockett:Automatically Constructing a Corpus of Sentential Paraphrases,Proceedings of the Third International Workshop on Paraphrasing,2005


END