Я ищу конкретные предложения или ссылки на алгоритм и/или структуры данных для кодирования списка слов в то, что могло бы стать словарем для проверки орфографии. Цели этой схемы приведут к очень высокой степени сжатия исходного списка слов в закодированную форму. Единственное выходное требование, которое я имею в закодированном словаре, заключается в том, что любое предлагаемое целевое слово может быть проверено на существование относительно исходного списка слов относительно эффективным образом. Например, приложение может захотеть проверить 10 000 слов против словаря 100 000 слов. Это не требование, чтобы форма кодированного словаря могла быть [легко] преобразована обратно в исходную форму списка слов - двоичный результат да/нет - это все, что необходимо для каждого тестируемого слова против результирующий словарь.
Я предполагаю, что схема кодирования, чтобы улучшить степень сжатия, использовала бы известные структуры на данном языке, такие как единственные и множественные формы, притяжательные формы, сокращения и т.д. Меня особенно интересует кодирование преимущественно английских слов, но чтобы быть ясным, схема должна иметь возможность кодировать любые и все слова ASCII "слова".
Конкретное приложение, которое я имею в виду, вы можете предположить, это для встроенных устройств, где энергонезависимое пространство для хранения стоит на высоком уровне, а словарь будет беспорядочно доступной областью хранения только для чтения.
EDIT. Подводя итог требованиям словаря:
- ноль ложных срабатываний
- нулевые ложные негативы
- очень высокая степень сжатия
- нет необходимости в декомпрессии