假设您正在编写OST或网络错误更正应用程序。所以你正在处理一个字母,其中有一些字母丢失,比如说," * leph * nt"。您将英语词典存储在数组中。你如何确定它是哪个词?
答案 0 :(得分:5)
一种常见的方法是使用Levenshtein distance测量的最接近的单词。可以任意解决关系,通常使用最大允许距离。
答案 1 :(得分:3)
计算查询与所有词典单词之间的Levenstein距离肯定会很慢。
BLAST程序使用更好的策略进行生物序列分析。在BLAST中,索引首先构建一个序列数据库,它将小的固定长度K的子串与包含它们的所有单词的列表相关联。
在查询中,BLAST在索引中搜索查询字符串中的所有K长度子字符串。然后可以扩展查询和索引字符串中的匹配子字符串以快速计算近似Levenstein距离,并返回距离低于某个阈值的索引字符串。