🔍 文本相似度 / 查重计算器

集成 SimHash(长文本指纹)、余弦相似度(词向量)、编辑距离(字符级)、Jaccard N-gram 4 种算法。差异高亮可视化对比,支持批量查重矩阵,文件不上传

📝 输入两段文本
📖 算法说明

SimHash(64-bit 指纹):把文本分词后对每个词的 hash 加权求和 → 降维成 64 位二进制指纹。两段文本的海明距离(不同位数)越低越相似。适合海量文档去重,Google 用此法做网页去重。

余弦相似度:把文本转成词频向量,计算两向量夹角余弦值。适合长度差异较大的两段文本。

Jaccard 相似度:将文本切成 N-gram 片段(默认 3 字),看两集合交集/并集的比例。适合短语级查重。

编辑距离(Levenshtein):把 A 改成 B 至少需要多少步增删改。适合短文本 / 字符级对比(如代码、姓名)。

综合相似度:4 种算法加权平均(SimHash 30% + 余弦 30% + Jaccard 30% + 编辑 10%),作为快速参考。

📚 多段文本(每行一段,≥3 段自动出 NxN 相似度矩阵)
💡 使用场景

论文查重:把两段文章粘进去,看综合相似度(80% 以上基本是抄袭)

合同比对:新版本 vs 旧版本,红色 / 绿色高亮一眼看出改了哪些条款

自媒体原创度:把自己的稿件 vs 同题热门文章,看是否过度"借鉴"

爬虫数据去重:批量模式生成 NxN 矩阵,定位重复对后人工删重

代码相似度:编辑距离适合"复制粘贴改名"类代码克隆检测

❓ 常见问题

为什么 4 个算法结果差异大?不同算法适用场景不同:SimHash 看整体,余弦看词频,Jaccard 看短语,编辑距离看字符。综合看至少 2 个算法都高才是真重复。

中文分词准确吗?本工具用双字切分(bigram)作为通用方案,未做专业分词。学术场景建议用更专业工具(如 Jieba)。

数据安全?所有计算在浏览器本地完成,文本不上传任何服务器。