When I hit a snag or a feeling of writer's block, I sometimes use a piece of software that can help brainstorming or generate ideas. A great source for such software is Marius Watz's Computer-generated writing page. Just about everything listed here is really fascinating. My favorites are the Text Mangler markov chainer, (which is for Mac, but there are others for PCs, like the Mark V. Chaney program), and Charles Hartman's MacProse, which is also kept at prof. Hartman's page.
After many years of trying, I've finally written my own random word generator., a simple one in the form of a macro for the Word 6.0 word processor. Here is the 'source code' in case anyone wants to try it themselves.
Here is some sample output from the above version. I added 'as a' between the words, because one powerful use of a RWG is to create metaphors/similes out of elements which are not usually associated. Of course, you could put all sorts of static text in sentences with a random component.
It's pretty clear that this is a preliminary and raw version, but even so, mental pictures start to flow for ones like 'sooty as a peat' or 'whipsaw as a veto.'
11/19/96. I have parts of speech working! My programming is still kind of crude .. it's weighted towards the longer words .. but even so, here is some sample output from the selective random word generator.
The source code for this one relies heavily on the word lists from Wordnet at Princeton. I'm really indebted to the Wordnet people for their freely ftp'able lists of nouns, verbs, adjectives, and adverbs. Wordnet itself is a tremendous lexical database, far beyond what I'm using it for. Check it out!
1/6/96. I am now light years from where I was in November. I've ditched MS Word - it was too slow- and am now developing a generator in C. I was worried that Wordnet's nouns were too extensive, and was trying to find some way to filter out the 'oleophilic echidnophagagallina' , the Latin names for plants and animals. I wanted a dictionary more extensive than the one in MacProse, but not as massive as Wordnet's.
When I was having trouble fathoming the man pages for Wordnet, John Perry (of UCLA) very generously cobbled together some applicable pages for me, which meant that finally I was able to split the big data files into their 44 subsets. (For instance: noun.process, noun.quantity, verb.creation, verb.emotion.) The Latin names are now easy to exclude, because they're mostly in the noun.plant and noun.animal files!
With help from my C-programming dad and brother, I now have a program which picks at random from a given word list. Give it a little of everything, including some names and some idioms, and you get inspiration in a can!
The next step is to build a little grammar around random pickers for the 'big four' parts of speech. I'm not going to pay as much attention to grammar as prof. Hartman has, at least not at first.
Another major issue is how to get the generator and the word processor to multitask cooperatively. Right now, when the generator runs, the cursor is choppy and slow in Simpletext, Word, a Codewarrior window, and the Stickies. I'm sure there's some way to make this work........ and I'm going to have to learn what it is.
1/10/96. Shortly after writing the above, I discovered that as long as the program yields the processor with frequent WaitNextEvent() calls, it will multitask beautifully! Having a word processor open side by side with generated material like this is now a reality.
Soon, it should even be an FTPable piece of software, and an accessible web page.
Please send me any comments or feedback.