如果你遗漏了一些单词的字母,如何确定它是哪个单词?

时间:2013-03-03 08:05:56

标签: algorithm artificial-intelligence complexity-theory neural-network

假设您正在编写OST或网络错误更正应用程序。所以你正在处理一个字母,其中有一些字母丢失,比如说," * leph * nt"。您将英语词典存储在数组中。你如何确定它是哪个词?

2 个答案:

答案 0 :(得分:5)

一种常见的方法是使用Levenshtein distance测量的最接近的单词。可以任意解决关系,通常使用最大允许距离。

答案 1 :(得分:3)

计算查询与所有词典单词之间的Levenstein距离肯定会很慢。

BLAST程序使用更好的策略进行生物序列分析。在BLAST中,索引首先构建一个序列数据库,它将小的固定长度K的子串与包含它们的所有单词的列表相关联。

在查询中,BLAST在索引中搜索查询字符串中的所有K长度子字符串。然后可以扩展查询和索引字符串中的匹配子字符串以快速计算近似Levenstein距离,并返回距离低于某个阈值的索引字符串。