使用Levenshtein distan确定数组中是否存在类似字符串

2024-05-19 21:38:45 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,我有一个名为referenceArray的字符串数组。我现在有一个字符串str。我想检查referenceArray中的任何元素是否与str相似。我可以计算referenceArray和str的每个元素之间的Levenshtein距离,并选择距离最小的元素。 但是,这种方法的问题是,我还需要知道referenceArray中的元素是否与结构So在这种情况下,选择一个最小的L距离将是错误的。你知道吗

例如

referenceArray = ['saint louis','new york']
str='st. louis'

在本例中,我选择'saint louis' since it has minimum L distance of 4.

但是如果是str='toronto',则是带有minimum L distance is 'new york'的,但是字符串当然是完全不同的。如何确定referenceArray中的元素是否与str不匹配,或者是否存在类似的字符串?你知道吗

谢谢


Tags: 方法字符串元素距离new数组结构levenshtein
2条回答

尝试将上限阈值设置为len(str)/x,其中x是适当的常量。我会尝试用2-4的x。你知道吗

试着输入一些示例,看看什么最适合你。你知道吗

设置一些可接受距离的阈值如何?例如,只有当距离小于10sqrt(len(str))或类似值时,才接受具有最小距离的字符串。你知道吗

相关问题 更多 >