Ray Kurzweil’s Cybernetic Poet
RKCP reads a selection of poems by a particular author or authors and then creates a "language model" of that author’s work. The language model incorporates computer-based language analysis and mathematical modeling techniques. RKCP can then write original poems from that model. The poems have a similar style to the author(s) originally analyzed, but are completely original new poetry.
RKCP can combine authors by creating language models using more than one author file. In addition, RKCP allows the user to create "poet personalities," each of which specifies a specific language model (which RKCP has created from one or more files of an author’s poems) and a set of parameters which control certain aspects of the poetry generation process. There can be multiple poet personalities derived from each language model. One of the parameters specified in a poet personality is the type of poems, which includes haiku, free form, and several other styles.
(Source: Project site, "How it works")