Levenshtein距离的计算

时间:2014-03-15 06:32:39

标签: java python r file levenshtein-distance

我不确定这个问题是否重复。但是,我知道更多关于R或Java或Python中优化的Levenshtein距离算法实现的知识。我有一个文本文件,其中包含许多字符串行按字母顺序排列(接近2000条记录,如下所示),它们之间可能有某种相似性。现在,我想比较文件中的所有字符串对并输出距离矩阵。另外,请让我知道如何使用这个矩阵根据我的要求过滤设置字符串说LD< = 2。

如果问题不明确并且您需要更多信息,请回复我。

Sample Text File
----------------
abc
abcd
abe
bac
bad
back
blade
cub
cube
cute
dump
duke

1 个答案:

答案 0 :(得分:0)

所以这可以稍微颠倒的方式完成。创建字典d = {word:[] for word in file}。现在:

for word in d:
    for neighbor in edit_distance_1(word):
        if neighbor in d:
            d[word].append(neighbor)

现在d将是他们的edit-distance-1邻居的所有单词的图表。您可以进一步追踪这些边缘以获得编辑距离2个单词(通过其他单词),我相信这就是您想要的。