字串相似度
使用 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 字元。但由於不同語言的字元結構和分詞方式不同,結果可能會有差異。