字符串相似度
使用 Levenshtein、Jaro-Winkler、余弦、杰卡德、汉明和 Dice 等多种算法对比两段文本的相似度,即时出结果,100% 隐私保护。
什么是字符串相似度?
字符串相似度衡量两段文本的匹配程度,广泛应用于拼写检查、DNA 分析、抄袭检测和数据纠错等领域。
什么是 Levenshtein 距离?
Levenshtein 距离(编辑距离)衡量将一个字符串变为另一个字符串所需的最少单字符编辑次数(插入、删除或替换)。例如 "cat" 和 "bat" 的距离为 1。
什么是 Jaro-Winkler 相似度?
Jaro-Winkler 对具有相同前缀的字符串给予更高分数,常用于数据库中的姓名、地址匹配,能有效处理拼写错误。
余弦相似度是如何工作的?
余弦相似度将字符串拆分为字符 n-gram,转换为向量后计算两向量间夹角的余弦值。适用于较长文本,常用于信息检索。
余弦相似度和杰卡德相似度有什么区别?
余弦相似度使用 n-gram 频率向量并计算夹角,杰卡德相似度则使用 n-gram 集合的交集与并集之比。杰卡德忽略重复项,余弦不忽略。
什么是汉明距离?
汉明距离统计两个等长字符串在相同位置上不同字符的个数,仅适用于等长字符串,常见于纠错编码。
什么是 Sørensen-Dice 系数?
Sørensen-Dice 系数基于两个字符串共有的 bigram 数量与总 bigram 数量的比例来衡量相似度,对共有元素赋予更高权重。
应该选择哪种算法?
短文本(姓名、编码)有拼写错误时选 Levenshtein 或 Jaro-Winkler;长文本选余弦相似度;快速集合比较选杰卡德;等长字符串选汉明距离。
什么是 n-gram 分析?
n-gram 是字符串中连续 n 个字符的序列。例如 "hello" 的 bigram 为 "he"、"el"、"ll"、"lo"。n-gram 是许多相似度算法的基础。
什么是模糊匹配?
模糊匹配查找与目标模式近似(而非完全)匹配的字符串,常用于搜索引擎、拼写检查和数据清洗中处理拼写错误和变体。
我的数据会发送到服务器吗?
不会,所有计算都在您的浏览器本地完成,文本不会离开您的设备,没有服务器端处理或数据存储。
可以比较不同语言的文本吗?
可以,算法支持任意 Unicode 字符。但由于不同语言的字符结构和分词方式不同,结果可能会有差异。