One can view RNNs as a sort of generalization to markov chains. RNNs have the advantage of a memory, context tracking and are not limited to learning patterns of some specific length. RNNs can apply these advantages to learn subtleties of grammars, balance parenthesis, the proper use of punctuation and other things that a markov chain might never learn (and certainly not memory efficiently). For any given piece of text, RNNs can be said to have gotten closer to understanding what was consumed.<p>The other question is, are those difficult to learn things truly worth the cost of training and running an RNN? If a fast and simple markov chain serves, as is likely the case in practical settings, then it is better to go with the markov chain. The RNN will still make obvious mistakes, all while correctly using subtle rules that trouble even humans. Unfortunately, this combination is exactly the kind of thing that will leave observers less than impressed: &quot;Yes I know it rambles insensibly but look, it uses punctuation far better than your average forum dweller!&quot; Alas, anyone who has gone through the trouble of making a gourad shaded triangle spin in Mode X and proudly showing their childhood friends, can explain just what sort of reaction to expect.<p>Eh, so, the moral here is pay attention to cost effectiveness and don&#x27;t make things any more complicated than they need to be.<p>Yoav Goldberg treats much the same thing as this blog post but with far more detail and attention to subtlety here: <a href="http:&#x2F;&#x2F;nbviewer.jupyter.org&#x2F;gist&#x2F;yoavg&#x2F;d76121dfde2618422139" rel="nofollow">http:&#x2F;&#x2F;nbviewer.jupyter.org&#x2F;gist&#x2F;yoavg&#x2F;d76121dfde2618422139</a>