从网络表单客户端向我发送许多变量,如姓名,姓名,地址等。有时用户会给我发送姓名;
Elviz Aaronn Presley
使用Winkler算法,我想将所有记录与DB记录进行比较。
然后Winkler会给我一个值。对于第一种和第二种情况,它将返回超过90的价值。它的核心。当谈到像
这样的名字Elviszfd Aaronn Presley
第一个案例点将小于90.这是不可接受的。但是当我与中间名相比并得到所有三个的平均值时。积分将再次超过90。我想接受它。
使用winkler算法是好的和正确的做法吗?或者我应该选择其他算法来执行此操作。
答案 0 :(得分:1)
Jaro Winkler通常是一个很好的名称比较解决方案,它做得相当好, 但我也会考虑 Monge-Elkan字符串比较和 SoftTFIDF 。
Here is a paper描述了这些方法的性能以及时间/空间复杂性。