Download the current version of evoce: evoce-0.1.tar.gz
The software uses a genetic algorithm to produce creative output, an approach that has had interesting and beautiful results in the fields of music and visual art. The input is a bunch of text (e.g., several ancient novels, selections of one's favorite authors, fragments of one's own writing). evoce separates the input into sentences, parses the sentences into n-ary trees of syntactic units, and instantiates the initial population with these trees. Through a combination of genetic operations like crossing-over, mutation and cloning, the software provides heritability and variation in breeding new sentences.
evoce presents newly born sentences to a human author, who scores them according to her own aesthetic criteria. The sentences that score high survive to reproduce, while those that score low are killed - this step provides the selection mechanism that makes the process truly evolutionary. As the population evolves through subsequent generations, the author can make a note of pleasing results or wait to experience the results of the final generation.
I was lucky to stumble upon Eugene Charniak's statistical parser and Jeremy Gillmor Kahn's Treebank-manipulating perl module, which together do all the heavy lifting in evoce.
17 February 2008