私は C++ でスペル チェッカーに取り組んでおり、実装の特定の段階で立ち往生しています。
正しいスペルの単語と、スペルの間違いをチェックしたい入力文字列を含むテキスト ファイルがあるとします。その文字列がスペル ミスの単語である場合、テキスト ファイル内のすべての単語をチェックし、最小の文字でそれと異なる単語を選択することで、正しい形式を簡単に見つけることができます。そのタイプの入力に対して、2 つの文字列間のレーベンシュタイン編集距離を計算する関数を実装しました。ここまでは順調ですね。
ここで難しいのは、入力された文字列がスペルミスの単語の組み合わせである場合はどうなるかということです。たとえば、「iloevcokies」です。「i」、「love」、「cookie」はテキスト ファイルに含まれる単語であることを考慮して、既に実装されているレーベンシュタイン関数を使用して、ファイルのどの単語が修正に適しているかを判断するにはどうすればよいですか? また、正しい位置に空白を挿入するにはどうすればよいですか?
どんなアイデアでも大歓迎です:)