string similarity js
1.0.0
一個簡單、輕量級(縮小約 700 位元組)的字串相似度函數,基於比較任意兩個字串之間共有的二元組的數量。傳回 0 到 1 之間的分數,指示匹配的強度。
該演算法基於 Sørensen-Dice 係數,在檢測重新排列的單字或拼字錯誤方面最有效。對於非常短的字串,它的效率往往較低,除非您轉而比較共同的單一字元而不是二元組。
除非您另外指定,否則它不區分大小寫。不要忽略標點符號或空格。在某些情況下,預先刪除標點符號可能會提高準確性。
2.0 版本將演算法的時間複雜度從 O(n 2 ) 優化為 O(n),並且從使用二元組數組切換到使用 Map,在效能測試中發現 Map 的速度要快得多。
該庫使用內建的 Map 資料結構來實現最佳效能。因此,它至少需要IE11或Map的polyfill。
import { stringSimilarity } from "string-similarity-js" ;
// Rearranged words
stringSimilarity ( "Lorem ipsum" , "Ipsum lorem" )
// Returns a score of 0.9
// Typos
stringSimilarity ( "The quick brown fox jumps over the lazy dog" , "The quck brown fx jumps over the lazy dog" )
// 0.92
// Even more different
stringSimilarity ( "The quick brown fox jumps over the lazy dog" , "The quack brain fax jomps odor the lady frog" )
// 0.65
// Completely different strings
stringSimilarity ( "The quick brown fox jumps over the lazy dog" , "Lorem ipsum" )
// 0.07
// Tiny strings are less effective with default settings
stringSimilarity ( "DMV" , "DNV" )
// Returns 0, because technically there are no bigrams in common between the two
// Passing in a substring length of 1 may improve accuracy on tiny strings
stringSimilarity ( "DMV" , "DNV" , 1 )
// Returns 0.67, the percentage of letters in common between the two
該項目已根據 MIT 許可證獲得許可 - 有關詳細信息,請參閱 LICENSE.md 文件