🔍 在线文本相似度对比工具

广告位 - 顶部 (728×90)

输入文本

对比结果

综合相似度
--%
基于多算法加权
编辑距离
--
Levenshtein
Jaccard 相似度
--%
词集合交集
余弦相似度
--%
词频向量
LCS 长度
--
最长公共子序列

差异视图

点击「开始对比」查看差异
广告位 - 中部 (728×90)

使用教程

本文本相似度对比工具操作简单直观,以下是详细的使用指南:

输入文本:在左侧「文本A」和右侧「文本B」输入框中分别粘贴或输入需要对比的两段文本。工具会自动统计字符数和单词数,显示在每个输入框下方。您可以直接粘贴大段文章、代码、论文等内容。

开始对比:点击「开始对比」按钮后,工具会同时计算多种相似度指标,包括编辑距离、Jaccard相似度、余弦相似度和最长公共子序列(LCS)。计算结果以卡片形式展示,其中「综合相似度」是基于多算法加权的总体评分。

差异视图:结果区域的差异视图会用颜色高亮显示两段文本的不同之处。绿色表示新增的内容,红色表示删除的内容,黄色表示修改的内容。差异视图采用行级对比,方便您快速定位不一致的位置。

快捷操作:点击「加载示例」会自动填入预设的对比示例,方便快速体验工具功能。「交换文本」按钮可以将文本A和文本B互换,方便双向对比。「清空」按钮可以一键清除所有输入和结果。

应用场景

文本相似度对比在多个领域有广泛应用,以下是几个典型场景:

论文查重与原创性检测:学术写作中,通过计算论文与已有文献的相似度,可以评估原创性程度。编辑距离算法能精确发现逐字抄袭,余弦相似度则能识别改写后的语义相似。本工具可作为论文初稿自查的辅助手段。

代码审查与版本对比:软件开发中,对比新旧版本代码的差异是常见需求。虽然Git等专业工具提供了diff功能,但在没有版本控制的情况下(如审查第三方代码、对比API文档),本工具能快速定位代码变更点,辅助代码审查。

内容去重与数据清洗:在数据采集中,经常需要检测并去除重复或高度相似的文本记录。通过设定相似度阈值(如90%以上视为重复),可以批量筛选出需要合并或删除的冗余数据,提高数据质量。

翻译质量评估:翻译工作中,对比原文和译文的结构相似度可以评估翻译的忠实度。如果两段文本的相似度过低,可能意味着翻译存在漏译或过度意译的情况。结合LCS可以进一步分析翻译的对应关系。

扩展知识

编辑距离(Levenshtein Distance):由俄罗斯科学家Vladimir Levenshtein于1965年提出,是指将一个字符串转换为另一个字符串所需的最少单字符编辑操作(插入、删除、替换)次数。时间复杂度为O(m×n),适合较短文本的精确对比。编辑距离越小,文本越相似。

Jaccard相似度:由法国数学家Paul Jaccard于1901年提出,计算公式为「交集大小 / 并集大小」。它将文本拆分为词集合(可基于字符或词语),只关心词是否出现而不考虑频率。Jaccard相似度对短文本和关键词覆盖度评估效果好,常用于文档去重和推荐系统。

余弦相似度:将文本表示为词频向量,计算两个向量夹角的余弦值。余弦值为1表示完全相同,0表示完全不同。余弦相似度考虑了词频信息,对语义相似度敏感,是自然语言处理中衡量文档相似度的经典方法,广泛应用于搜索引擎和文档聚类。

最长公共子序列(LCS):指两个序列中最长的相同子序列(不要求连续)。LCS长度占较长文本的比例可以作为相似度指标。LCS也是diff算法(如Unix diff、Git diff)的核心基础,广泛应用于版本控制和文本比对工具中。

常见问题

什么是文本相似度?

文本相似度是衡量两段文本在语义或字符层面相似程度的量化指标。常用的算法包括编辑距离(Levenshtein)、Jaccard相似度、余弦相似度和最长公共子序列(LCS)等。不同算法适用于不同场景。

编辑距离是什么?

编辑距离(Levenshtein Distance)是指将一个字符串转换为另一个字符串所需的最少单字符编辑操作(插入、删除、替换)次数。编辑距离越小,两个文本越相似。时间复杂度为O(m×n)。

Jaccard相似度和余弦相似度有什么区别?

Jaccard相似度基于词集合的交集与并集之比,只关心词是否出现;余弦相似度基于词频向量,还考虑了词出现的频率。Jaccard更适合判断内容覆盖度,余弦更适合判断语义相似度。

数据会上传到服务器吗?

不会。所有计算都在浏览器本地完成,您的文本数据不会离开您的设备,完全保护隐私。

支持长文本对比吗?

支持。工具在浏览器中本地运行,理论上支持任意长度的文本。但过长的文本(数万个字符以上)可能会因浏览器性能限制而导致计算变慢。

综合相似度是如何计算的?

综合相似度是编辑距离相似度(40%权重)、Jaccard相似度(25%权重)和余弦相似度(35%权重)的加权平均值,并归一化为0-100%的范围。

差异视图的颜色含义是什么?

绿色表示文本B相对于文本A新增的内容,红色表示删除的内容,黄色表示修改(既有删除又有新增)的内容,无颜色表示相同的内容。

可以对比代码吗?

可以。工具支持任意Unicode文本的对比,包括代码、Markdown、JSON、XML等格式。但工具不考虑代码语法,仅做纯文本级别的字符对比。

广告位 - 底部 (728×90)