我正在寻找对算法和/或数据结构的具体建议或参考,以将单词列表编码成有效的拼写检查字典。该方案的目标将导致原始单词列表到编码形式的非常高的压缩比。我对编码字典的唯一输出要求是,可以以相对有效的方式针对原始单词列表测试任何建议的目标单词是否存在。例如,应用程序可能希望对照 100,000 个单词的字典检查 10,000 个单词。它不是编码字典形式能够[轻松]转换回原始单词列表形式的要求 - 二进制是/否结果是针对结果字典测试的每个单词所需要的全部。
我假设编码方案,以提高压缩率,将利用给定语言中的已知结构,例如单数和复数形式、所有格形式、缩写等。我对主要编码英语单词特别感兴趣,但要清楚,该方案必须能够编码任何和所有 ASCII 文本“单词”。
我想到的特定应用程序可以假设用于嵌入式设备,其中非易失性存储空间非常宝贵,而字典将是一个随机访问的只读内存区域。
编辑:总结字典的要求:
- 零误报
- 零假阴性
- 非常高的压缩比
- 不需要解压