两个符号之间的相似性

时间:2019-12-16 12:50:09

标签: oracle plsql similarity fuzzy sentence-similarity

具有超过300万个姓名(姓名,姓氏,父亲姓名)的行的表。我希望检查相似度超过90%。 我使用了许多模糊算法,还使用了utl_match相似性(jaro_winkler,edit_distance)。 这些算法的性能不好。 (超过20秒)。 而且我想检查变化的地方,但是可以用很长时间。喜欢: 姓父名 父姓姓 姓父名 ...... 我找不到任何性能良好的算法,它可在交易系统上运行

1 个答案:

答案 0 :(得分:0)

您不需要每次都检查所有300万个名称,因为您的数据库中有重复项。您还可以做的是在距离最远的位置预先整理输入内容,然后使用不同的输入点。

因此第一步,请创建您的入口点:

Miller
Smith
Yang
...

然后使用>例如70%来检查此入口点,然后更深入地找到您具有很好匹配的聚类。这应该修剪大多数搜索,并使您的算法更快。