当前位置: 首页 > 知识库问答 >
问题:

Levenshtein距离和Wagner-Fischer算法有什么区别

申屠浩歌
2023-03-14

另外,我只是在写一篇论文,我不知道如何划分它--我应该先解释Levenshtein距离,然后解释Wagner-Fisher算法,还是两者兼而有之?我有点困惑。

共有1个答案

呼延沈义
2023-03-14

你实际上在第一段中自己回答了这个问题。在第二段中,你把它们弄混了一点。

Levenshtein距离是一个编辑距离度量,以Vladimir Levenshtein命名,他在1965年考虑了这个距离,与动态规划“矩阵”无关。Wagner-Fischer算法是一种动态规划算法,它计算两串字符之间的编辑距离。

但是,如果您需要的是通用计算,即计算两个随机输入字符串之间的编辑距离,则通常使用动态编程来计算Levenshtein距离。但是Levenshtein距离也可以在拼写检查器中使用,当您将一个字符串与字典进行比较时。在这种情况下,使用通用计算通常会变慢,而Levenshtein自动机可以提供线性时间来获得所有拼写建议。顺便说一句,从版本4开始,Lucene中的模糊搜索也用到了这一点。

 类似资料:
  • 我想从多个文件做数百万条记录的模糊匹配。我为此确定了两种算法:Jaro-Winkler和Levenshtein编辑距离。

  • 我使用Levenshtein算法来查找两个字符串之间的相似性。这是我正在制作的程序的一个非常重要的部分,所以它需要有效。问题是算法没有发现以下示例相似: CONAIR AIRCON 编辑:我还研究了“Damerau-Levenshtein”算法,它增加了换位。问题是这种转换只针对相邻的字符(而不是多个字符)。

  • 我使用Levenshtein距离算法将作为用户输入提供的公司名称与已知公司名称数据库进行比较,以找到最接近的匹配项。算法本身工作正常,但我想构建一个偏差,这样如果字符串的初始部分匹配,编辑距离就会被认为更低。 例如,如果搜索条件是“ABCD”,那么“ABCD Co.”和“XYX ABCD”具有相同的编辑距离。但是,我想增加一个事实,即第一个字符串的开头部分比第二个字符串更符合搜索条件。

  • 问题内容: 在Python + Sqlite中是否有可用的字符串相似性度量,例如与模块有关? 用例示例: 此查询应匹配ID为1的行,但不匹配ID为2的行: 如何在Sqlite + Python中做到这一点? 关于我到目前为止发现的注释: 该Levenshtein距离,即单字符编辑(插入,删除或替换)的最小数量需要改变一个字到另一个,可能是有用的,但我不知道是否SQLite中存在的正式实施(我看到一

  • 我有一个web和一个使用SQL Server的移动字典应用程序。我试图实现一个简单版本的“你的意思”功能。如果用户输入的短语在数据库中不存在,我需要提出建议。

  • 本文向大家介绍什么是编辑距离?相关面试题,主要包含被问及什么是编辑距离?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 概念 编辑距离的作用主要是用来比较两个字符串的相似度的 编辑距离,又称Levenshtein距离(莱文斯坦距离也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。许可的编辑操作包括将一个字符替