単語のリストを効果的にスペルチェック辞書になるものにエンコードするためのアルゴリズムおよび/またはデータ構造への特定の提案または参照を探しています。このスキームの目的は、生の単語リストをエンコードされた形式に非常に高い圧縮率で変換することです。エンコードされた辞書に関する唯一の出力要件は、提案されたターゲット単語が元の単語リストに対して存在するかどうかを比較的効率的な方法でテストできることです。たとえば、アプリケーションで 100,000 語の辞書に対して 10,000 語をチェックする場合があります。そうではないエンコードされた辞書形式を元の単語リスト形式に [簡単に] 変換できるようにするための要件 - 結果の辞書に対してテストされる各単語に必要なのは、バイナリの yes/no の結果だけです。
圧縮率を向上させるためのエンコード方式は、単数形と複数形、所有格、短縮形など、特定の言語の既知の構造を利用すると想定しています。主に英語の単語をエンコードすることに特に関心がありますが、明確にするために、スキームはすべてのASCIIテキスト「単語」をエンコードできなければなりません。
私が念頭に置いている特定のアプリケーションは、不揮発性ストレージ スペースが貴重であり、辞書がランダムにアクセス可能な読み取り専用メモリ領域である組み込みデバイス向けであると想定できます。
編集:辞書の要件を要約するには:
- 偽陽性ゼロ
- 偽陰性ゼロ
- 非常に高い圧縮率
- 減圧不要