Word Splitter
Restores word breaks in unspaced text, the usual last step after a cipher is broken. Splits are scored with a unigram model in the manner of Peter Norvig's “Natural Language Corpus Data” (Beautiful Data, 2009): known words cost by frequency rank under Zipf's law (P = 0.1/rank), unknown chunks by a character 4-gram model, and dynamic programming keeps the three cheapest readings. Unknown chunks are underlined.