![]() |
1
2
我也遇到过类似的问题,我试着先用水平距离,但对我来说效果并不好。我想出了一个算法,它给出了两个字符串之间的“相似性”值(值越大表示相似的字符串越多,“1”表示相同的字符串)。这个值本身并不是很有意义(如果不是“1”,则始终为0.5或更小),但是当您抛出匈牙利矩阵从两个字符串列表中查找匹配对时,它会非常有效。 这样使用:
背后的代码:
距离1的水平面更简单(改编自 http://www.merriampark.com/ld.htm ):
|
![]() |
2
4
听起来您在寻找基于语音的算法,例如 soundex , NYSIIS 或 double metaphone . 第一个事实上 是 多个政府部门使用的,并且实施起来很简单(许多实施都很容易实现) available )第二个版本是第一个版本的一个稍微复杂和更精确的版本。后者大多数与一些非英语名称和字母一起使用。 Levenshtein distance 是两个任意字符串之间距离的定义。它为您提供了相同字符串之间的0距离和不同字符串之间的非零距离,如果您决定创建自定义算法,这也可能很有用。 |
![]() |
3
3
Levenshtein 很接近,虽然可能不是你想要的。 |
![]() |
4
0
|
![]() |
5
0
如果有解决这个问题的方法,我严重怀疑它是核心C的一部分。在我的头上,它将需要一个数据库的名字,中间和姓氏频率,以及帐户的首字母,在您的例子中。这是一个相当复杂的逻辑,它依赖于一个信息数据库。 |
![]() |
6
0
其次是列文斯坦距离,你想要什么语言?我可以很容易地在代码项目的C中找到一个实现。 |
![]() |
7
0
在我研究的一个应用程序中,姓氏字段被认为是可靠的。 所以向用户展示了所有具有相同姓氏的记录。 用户可以按其他字段排序以查找相似的名称。 这个解决方案非常好,可以大大减少用户创建重复记录的问题。 从根本上看,这个问题需要人类的判断。 |
![]() |
ridiculous_fish · std::是否保证短路? 3 年前 |
![]() |
Hilde Schneider · php对我的if条件有问题 7 年前 |
![]() |
user8188120 · 熊猫用np标记时间戳。其中比较 7 年前 |
|
Jarek · 与循环python数据帧中的下一个/上一个值进行比较 7 年前 |
|
vato · Bash脚本:测试浮点数是否在包括负数在内的特定范围内 7 年前 |