我做了一个文本相似度检查工具:两篇文章到底有多像,一测便知
最近在整理我的在线工具站
最近在整理我的在线工具站 toolsonline.run,给 Text Similarity Checker(文本相似度检查)这个工具写文章的时候,突然想到一个场景——
你改了一版文案,老板说"这跟上一版差不多吧?";你写了一篇原创,发出去被投诉抄袭;你从网上找了两段参考文献,想看看有没有大段重复……
这些场景都需要一个东西:文本相似度检测。
为什么要做这个工具?
市面上的查重工具,要么要注册,要么要收费,要么上传文件等半天。我想要的很简单:
- 两段文本丢进去,立刻出结果
- 不用注册,不用上传文件
- 纯浏览器计算,数据不经过服务器
- 支持中文(这个很重要,很多工具对中文支持很差)
于是就自己做了一个。
它能做什么?
把两段文本分别粘贴到 Text A 和 Text B,工具会自动计算:
- 相似度百分比——基于 Sørensen–Dice 系数,精确衡量两段文本的重合程度
- 共同词汇数——两段文本中一模一样的词有多少
- 文本重叠率——内容覆盖了多少
结果是实时更新的,你每改一个字,数字就会变。
技术上有什么特别的?
做这个工具遇到的最大挑战是中文分词。英文用空格分词就行,中文没有天然的分隔符。我用了Intl.Segmenter这个浏览器原生 API,可以正确处理中文、日文、韩文、泰文等 15+ 种语言的分词。不需要后端,纯前端搞定。
算法方面用的是 Sørensen–Dice 系数,这是一个经典的文本相似度算法,简单但够用。它比较两段文本的词频分布的交集和并集,得出一个 0-100% 的分数。
适合谁用?
- 写作者:检查自己的文章有没有无意间的重复段落
- SEO 从业者:检测内容是否有大量重复
- 学生:自查论文初稿
- 翻译/校对:对比不同版本的译文差异
- 程序员:比较配置文件或代码片段的差异
免费、开源、无广告
和我做的其他工具一样,这个工具完全免费,没有广告,没有注册门槛。所有计算都在浏览器本地完成,你的文本不会发送到任何服务器。
工具地址:https://toolsonline.run/text-similarity
如果你觉得有用,欢迎分享给需要的人。有问题也可以在评论区告诉我,我会持续优化。
