The stuff that you&#x27;re quoting is not the stuff that the `demo.py` script generates, but &quot;latent dirichlet allocation&quot; (whereas this project appears to generate based on a different alternate algorithm, the sentence-based one).<p>The sentence-based one has a major flaw: it mostly &quot;settles into&quot; a given speech from its training set for a few paragraphs, then transitions to a paragraph from another speech whenever the statements become sufficiently generic.<p>Another bug: it can sometimes lapse into an infinite loop. Here&#x27;s the tail end of one of my runs:<p><pre><code>    accordingly , the committee rose ; and the speaker pro tempore ( mrs. drake ) 
    having assumed the chair , mr. gilchrest , acting chairman of the committee of
    jurisdiction would ask the counsel to explain it ; and if it is a drafting 
    error , then that could be corrected .
    if it is not a drafting error , then that could be corrected .
    if it is not a drafting error , then that could be corrected .
    if it is not a drafting error , then that could be corrected .
    if it is not a drafting error , then that could be corrected .
    if it is not a drafting error , then that could be corrected .
    if it is not a drafting error , then that could be corrected .
    if it is not a drafting error , then that could be corrected .
    if it is not a drafting error , then that could be corrected .
    if it is not a drafting error , then that could be corrected .
    [... continues for many, many more lines before ending ...]</code></pre>