"Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe."
You still can read it? because our brain read it from first and last character so we can read it.
You don't need neural networks. A context-based dictionary will do. Match the words against the dictionary, find all legal reorderings of the letters into English words and choose the best one based on current context. A variant of Dijkstra's shortest-path algorithm will do well; treat the contextual links between words as edges and the words as vertices. Find the word with a path of low weight between several known words and you can guess ambiguous words with great accuracy.
You can also save yourself the trouble and just plug in the word with the highest frequency in common usage. Unless you're reading scrambled Shakespeare, this should work well.