计算两个字符串相似度,它来了,后端集成多种算法

2020-08-17 09:27:02 +08:00
 guonaihong

strsim

strsim 是 golang 实现的字符串相识度库,后端集成多种算法,主要解决现有相似度库不能很好的处理中文

项目地址

https://github.com/antlabs/strsim

构架

功能

内容

比较两个字符串相识度

strsim.Compare("中国人", "中")
// -> 0.333333

从数组里找到相似度最高的字符串

strsim.FindBestMatchOne("海刘", []string{"白日依山尽", "黄河入海流", "欲穷千里目", "更上一层楼"})

选择不同算法

莱文斯坦-编辑距离(Levenshtein)

strsim.Compare("abc", "ab")
// -> 0.6666666666666667

选择 Dice's coefficient

strsim.Compare("abc", "ab", strsim.DiceCoefficient(1))
//-> 0.6666666666666666

选择 jaro

strsim.Compare("abc", "ab", strsim.Jaro())

选择 Hamming

strsim.Compare("abc", "ab", strsim.Hamming())
7220 次点击
所在节点    Go 编程语言
23 条回复
guonaihong
2020-08-17 19:02:35 +08:00
@xupefei 感谢感谢,又 get 新的玩法。
fanyingmao
2020-08-17 19:13:51 +08:00
今天面试就问到相似度算法,没做过我都没想出来。
cuishuang
2023-04-23 22:05:38 +08:00
不错!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/698824

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX