文本相似度对比

文本相似度对比是一个免费在线工具:把两段中文或英文文字分别粘贴进左右两个框,立刻算出双向重复率,附编辑距离、Jaccard 和余弦三个相似度指标,并把两边重复的片段标出来。比较前可忽略标点、空格、大小写和全半角差异。全部在浏览器本地计算,文字不上传;它只比较你给的两段文字,不能代替知网等论文查重系统。

尚未输入

拖入文本文件到A栏,或点击选择
浏览器本地读取 · UTF-8 纯文本

尚未输入

拖入文本文件到B栏,或点击选择
浏览器本地读取 · UTF-8 纯文本
比较选项

最短重复长度

默认档,约等于一个短分句,短文案和长稿都适用。

两段文字只在你的浏览器里比较,不会上传

在左右两边各粘贴一段文字,自动计算相似度

如何使用文本相似度对比

1

把第一段文字粘贴进「文本 A」,或拖入 .txt / .md / .csv / .srt 等纯文本文件;想先看效果就点「填入示例」。

2

把第二段文字粘贴进「文本 B」,两边都有内容后会自动开始比较。

3

按需调整比较选项:是否忽略标点、空格换行、英文大小写和全半角差异,最短重复长度选 4 字、8 字或 13 字。

4

看结果卡里的两个重复率、三个相似度指标和结论,往下看重复片段高亮与片段列表;点「复制结果」得到一份不含原文的纯文本报告。

关于文本相似度对比的常见问题

文本相似度对比会上传我的文字吗?
不会。两段文字只在你的浏览器里用 JavaScript 计算,不发送到任何服务器,也不写入本地存储,关闭或刷新页面就清空了。「复制结果」生成的报告里也只有数字,不含两段原文。
文本相似度对比能代替知网论文查重吗?
不能。知网、维普、万方这类系统是拿你的文章去和它们的海量文献库比;本工具只比较你自己贴进来的两段文字,适合自查两篇稿子之间有多像,不能用来预估论文在查重系统里的结果。
文本重复率为什么 A 和 B 两个数不一样?
因为分母不同。A 在 B 中的重复率是 A 里重复的字数除以 A 的总字数,B 在 A 中的重复率除的是 B 的总字数。一段短文整段抄进一篇长文时,短文的重复率接近百分之百,长文的却很低,两个数都看才不会误判。
文本相似度对比里最短重复长度选 4、8 还是 13?
短文案、标题选 4 字;一般稿件用默认的 8 字,约等于一个短分句;论文章节、长稿可以选 13 字,这是常被提到的长文口径。档位越小越容易把常用四字短语也算成重复,结果越高。
编辑距离、Jaccard 和余弦相似度有什么区别?
编辑距离看把一段逐字改成另一段要改多少字,对语序和增删最敏感;Jaccard 只看两段用到的相邻两字组合有多少重合;余弦还考虑每个组合出现了几次,对两段长度差异不敏感。
意思一样但换了说法,文本相似度为什么很低?
本工具只认字面相同,不做语义理解。同义词替换、调换语序、换一种说法表达同一个意思,在这里都会被算成不同,所以它适合查原样照搬,不适合判断两段话意思是否相同。
手机上能用文本相似度对比吗?
能。手机浏览器打开页面即可粘贴两段文字比较,窄屏下左右两栏会上下排列;计算都在手机本地完成,不消耗流量上传文字。
文本相似度对比最多能比多长的文字?
每一段最多 20 万字,约一百多页 A4 纸。超过上限会在对应的栏下提示,请把长文拆成章节分段比较。两段都很长时,编辑距离的计算量太大会自动跳过,其余指标照常给出。
文本相似度对比会把繁体和简体当成一样吗?
不会,繁体字和简体字在这里算不同的字。要比较一篇繁体稿和一篇简体稿,请先用简繁转换工具把两段统一成同一种字形,再贴进来比较。

文本相似度的四个指标怎么看

文本相似度检测没有唯一的标准答案,不同的算法回答的是不同的问题。作为一个文本相似度在线工具,本页对两段文字相似度给出四个字面指标——重复率在线估算之外,还能顺手完成编辑距离相似度、Jaccard 相似度与余弦相似度在线计算。每个指标都写明了怎么算,看到一个百分比时先确认它是哪一种:

指标怎么算什么时候看它
重复率连续 N 个字在另一段里也出现过,就算一处重复;重复的字数 ÷ 本段参与比较的字数。想知道一段文字有多少内容来自另一段时看它,是本页的主指标。
编辑距离相似度1 − 把一段逐字改成另一段最少要改的字数 ÷ 较长一段的字数。对比改写前后的同一篇稿子,看改动幅度有多大。
Jaccard 相似度两段各自拆成相邻两字的组合,共有的组合数 ÷ 两段合起来的组合数。只关心用词有没有重合、不在乎重复几次和顺序时看它。
余弦相似度按相邻两字组合的出现次数,把两段看成两个向量,算夹角的余弦。两段长度差得很多时看它,它对篇幅不敏感,更看用词比例。

对照例子:把「早睡早起是很多人都知道的好习惯。」和它连写三遍的段落比较,A 在 B 中的重复率是 100.0%,Jaccard 相似度是 93.3%,余弦相似度是 98.4%——用词几乎没变,只多了首尾相接处的一个组合;而编辑距离相似度只有 33.3%,因为要删掉两遍才能变回原样。所以想看「改动幅度」时看编辑距离,想看「用词重合」时看 Jaccard 和余弦。

以页面上的「填入示例」为例(两段讲早睡早起的改写稿),默认 8 字档下 A 在 B 中的重复率是 58.2%,B 在 A 中的重复率是 55.4%,编辑距离相似度 62.7%,Jaccard 相似度 53.9%,余弦相似度 71.1%,结论为「部分相似(本工具口径)」。换不同的最短重复长度,同一对文本的重复率会这样变化:

  • 4 字:A 在 B 中 70.9%,B 在 A 中 67.5%。适合标题、短句和百字以内的短文案;长文里常用四字短语也会被算作重复,结果偏高。
  • 8 字:A 在 B 中 58.2%,B 在 A 中 55.4%。默认档,约等于一个短分句,短文案和长稿都适用。
  • 13 字:A 在 B 中 43.0%,B 在 A 中 41.0%。「连续 13 字相同」是常被提到的长文口径,适合论文章节、长稿;百字以内的短文几乎总是 0。

为什么文本重复率有两个数

很多在线工具只给一个重复率,但两篇文章重复率其实要分方向看。文本重复率怎么算?本页的算法是:在一段文字里滑动一个长度为 N 字的窗口,只要这 N 个字在另一段里也连续出现过,窗口里的字就算「重复」;最后用重复的字数除以这一段参与比较的总字数。

分母不同,两个数就不同。比如把示例 A 的第一句「早睡早起是很多人都知道的好习惯,可真正坚持下来的人并不多。」单独拿出来和整段示例 A 比:短的那段在长段中的重复率是 100.0%,长段在短段中的重复率只有 34.2%。前者说明「短文整句来自长文」,后者说明「长文里只有一小部分是这句」,两个结论都对。结论档位按两个数中较大的那个来定,档位阈值是本工具口径,不对应任何查重系统的标准。

比较的单位是「字」:一个汉字、一个英文字母、一个数字或一个 emoji 各算 1 个。开着「忽略标点符号」和「忽略空格与换行」时,标点和空白不参与计算,所以「参与比较」的字数会比 字数统计 给出的总字数少;零宽字符这类看不见的字符总是不参与比较。

文本相似度对比的适用场景

  • 自查两篇稿子是否撞文:两个作者写同一主题,发稿前比一比段落相似度,避免大段雷同。
  • 对比改写前后的变化:看编辑距离相似度判断改动幅度,看重复片段列表找出还没动过的原句。
  • 文案查重对比:拿自己的文案和疑似搬运的文章比一比,初步判断两篇文案是否洗稿;这只是洗稿检测的第一步参考,结论还要人工看。
  • 老师比对两份作业:两份作文或报告的文章相似度对比,高亮部分就是两人共有的句子。

要看两段文字具体哪里改了(逐行标出新增与删除),请用 文本对比;要看一篇文章里哪些词出现得最多,请用 词频统计。

英文语境下这类工具通常叫 text similarity checker 或 text similarity online,回答的都是「两段文字有多像」;表里的编辑距离英文叫 Levenshtein distance,另外两个指标分别是 Jaccard similarity 与 cosine similarity,搜这几个词找到的算法说明和本页是同一件事。要注意英文里的 plagiarism checker 多指连接文献库的论文查重服务,和本页只比两段文字不是一回事。

使用文本相似度对比的注意事项