単語またはテキストのセグメンテーションをご覧ください。問題は、文字列を単語のグループに分割する可能性が最も高いものを見つけることです。例:
thequickbrownfoxjumpsoverthelazydog
もちろん、最も可能性の高いセグメンテーションは次のとおりです。
the quick brown fox jumps over the lazy dog
これは、 Google Ngramコーパスを使用した問題のプロトタイプ ソース コードを含む記事です。
このアルゴリズムが機能するための鍵は、世界に関する知識へのアクセスです。この場合、ある言語の単語の頻度です。ここの記事で説明されているアルゴリズムのバージョンを実装しました。
使用例:
$ python segmentation.py t hequi ckbrownfoxjum ped
thequickbrownfoxjumped
['the', 'quick', 'brown', 'fox', 'jumped']
データを使用すると、これでも並べ替えることができます。
$ python segmentation.py lmaoro fll olwt f pwned
lmaorofllolwtfpwned
['lmao', 'rofl', 'lol', 'wtf', 'pwned']
このアルゴリズムは非常に遅いことに注意してください。これは典型的なものです。
NLTK を使用した別のアプローチ:
あなたの問題に関しては、単一の文字列を取得するために必要なすべての文字列部分を連結し、その上でセグメンテーション アルゴリズムを実行することができます。