strsim是golang实现的字符串相识度库,后端集成多种算法,主要解决现有相似度库不能很好的处理中文
go get -u github.com/antlabs/strsim
- 可以忽略空白字符
- 可以大小写
- 莱文斯坦-编辑距离(Levenshtein)
- Hamming
- Dice's coefficient
- Jaro
- JaroWinkler
- Cosine similarity algorithm
strsim.Compare("**人", "中")
// -> 0.333333
strsim.FindBestMatchOne("海刘", []string{"白日依山尽", "黄河入海流", "欲穷千里目", "更上一层楼"})
strsim.FindBestMatch("海刘", []string{"白日依山尽", "黄河入海流", "欲穷千里目", "更上一层楼"})
strsim.Compare("abc", "ab")
// -> 0.6666666666666667
strsim.Compare("abc", "ab", strsim.DiceCoefficient())
//-> 0.6666666666666666
strsim.Compare("abc", "ab", strsim.Jaro())
strsim.Compare("abc", "ab", strsim.JaroWinkler())
strsim.Compare("abc", "ab", strsim.Hamming())
strsim.Compare("abc", "ab", strsim.Cosine())