string - 选择性编辑距离

标签 string algorithm levenshtein-distance fuzzy-search

我有这样的数据

Mega Mall
Mega Malls
L & T Gate 6
L & T Gate 5
L & T Gate 2
Megas Mall
Mega Mwll

现在我想清理它。我采用了使用编辑距离 1 的编辑距离方法,并处理了 Mega Mall 案例。缺点是它也删除了 L & T Gate 5,2 [我保留第一个条目]。有什么办法可以解决这个问题,而不是删除这些案例和处理拼写错误等。

最佳答案

是的,您可以使用加权形式的编辑距离,而无需真正改变算法或其时间或空间复杂度。不是将任何替换、插入或删除计为 1,而是当涉及的字符(或替换字符中的任何一个)是数字时,将其计为一个更大的数字。

甚至可以对字符串中的特定位置 赋予不同的权重。例如。您可能会决定紧跟在一位或多位数字之后的每个字母都应该被视为更重要(因为例如地址 123B 与 123 有很大不同)。

关于string - 选择性编辑距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33147438/

相关文章:

c - 将字符串文字分配给数组时出错

regex - 将字符串转换为匹配正则表达式的最少编辑操作数

javascript - 在 javascript 中用\\n 切换\n

java - 使用现有的 Fibonacci 堆 Java 实现和 Dijkstra 的最短路径 Java 实现

c++ - boost中rtree中的打包算法

java - 解析字符串以在 Java 中构造树

python - Levenshtein 实现能够处理大字符串和向量

string - 归一化编辑距离公式解释

python - 从 python 中的字符串中删除除 URL 之外的所有内容

c# - String.Substring() : Copy, 或引用?