Dissociated press is a
parody generator (a
computer program that generates
nonsensical text). The generated text is based on another text using the
Markov chain
A Markov chain or Markov process is a stochastic model describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event. Informally, this may be thought of as, "What happe ...
technique. The name is a play on "
Associated Press" and the psychological term
dissociation (although
word salad is more typical of conditions like
aphasia and
schizophrenia – which is, however, frequently confused with
dissociative identity disorder by laypeople).
An implementation of the algorithm is available in
Emacs
Emacs , originally named EMACS (an acronym for "Editor MACroS"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
. Another implementation is available as a
Perl module in
CPANGames::Dissociate[ Burke, Sean M. and Avi Finkel]
Games::Dissociate distribution in CPAN
Retrieved 2012-11-13. Most recent release: 2010, "v1.0".
The algorithm
The algorithm starts by printing a number of consecutive words (or letters) from the source text. Then it searches the source text for an occurrence of the few last words or letters printed out so far. If multiple occurrences are found, it picks a random one, and proceeds with printing the text following the chosen occurrence. After a predetermined length of text is printed out, the search procedure is repeated for the newly printed ending.
Considering that words and phrases tend to appear in specific grammatical contexts, the resulting text usually seems correct grammatically, and if the source text is uniform in style, the result appears to be of similar style and subject, and takes some effort on the reader's side to recognize as not genuine. Still, the randomness of the assembly process deprives it of any logical flow - the loosely related parts are connected in a nonsensical way, creating a humorously abstract, random result.
Examples
Here is a short example of word-based Dissociated Press applied to the
Jargon File
The Jargon File is a glossary and usage dictionary of slang used by computer programmers. The original Jargon File was a collection of terms from technical cultures such as the MIT AI Lab, the Stanford AI Lab (SAIL) and others of the old ARPANET A ...
:
:wart: n. A small, crocky feature that sticks out of an array (C has no checks for this). This is relatively benign and easy to spot if the phrase is bent so as to be not worth paying attention to the medium in question.
Here is a short example of letter-based Dissociated Press applied to the same source:
:window sysIWYG: n. A bit was named aften /bee´t@/ prefer to use the other guy's re, especially in every cast a chuckle on neithout getting into useful informash speech makes removing a featuring a move or usage actual abstractionsidered interj. Indeed spectace logic or problem!
History
The dissociated press algorithm is described in
HAKMEM (1972) Item #176. The name "dissociated press" is first known to have been associated with the Emacs implementation.
Brian Hayes discussed a Travesty algorithm in ''
Scientific American'' in November 1983. The article provided a garbled
William Faulkner passage:
Hugh Kenner and Joseph O'Rourke of
Johns Hopkins University discussed their
frequency table-based Travesty generator for microcomputers in ''
BYTE'' in November 1984. The article included the
Turbo Pascal source for two versions of the generator, one using Hayes' algorithm and another using
Claude Shannon's Hellbat algorithm.
Murray Lesser offered a
compiled BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College in ...
version in the magazine in July 1985,
in September 1985 Peter Wayner offered a version that used
tree data structures instead of frequency tables,
and in December 1985 Neil J. Rubenking offered a version written in
Turbo Pascal that stored frequency information in a
B-tree.
See also
*
Cut-up technique
The cut-up technique (or ''découpé'' in French) is an aleatory literary technique in which a written text is cut up and rearranged to create a new text. The concept can be traced to the Dadaists of the 1920s, but it was developed and popularized ...
*
Markov chain
A Markov chain or Markov process is a stochastic model describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event. Informally, this may be thought of as, "What happe ...
*
Mark V. Shaney
Mark V. Shaney is a synthetic Usenet user whose postings in the ''net.singles'' newsgroups were generated by Markov chain techniques, based on text from other postings. The username is a play on the words "Markov chain". Many readers were foole ...
*
Racter ''Racter'' is an artificial intelligence computer program that generates English language prose at random. It was published in 1984 by Mindscape.
History
Racter, short for ''raconteur'', was written by William Chamberlain and Thomas Etter. The e ...
*
Word salad
*
Parody generator, generic term for a computer program that generates nonsensical text
**
SCIgen, a computer program that generates nonsensical computer science research papers
References
External links
Emacs documentation on Dissociated PressDissociated Press on celebrity Twitter feedsA parody text generator (a Pascal implementaiton)
{{Emacs
Stochastic processes
Statistical natural language processing
Random text generation
Emacs modes