For my first Twitterbot, I decided to make a program to generate classified ads. I took a lot of inspiration from Magic Realism Bot and Art Assignment Bot, and it seemed to me that a good way to begin was to look for places that text appears in small chunks with certain conventions of form and content, and play with those to create something interesting. Classified ads seemed to be an ideal genre for a number of reasons, most notably because they tend to be very terse and to the point (having been charged-for by the letter in the pre-internet age, a weirdly perfect analog to the 140 permitted characters of Twitter), and their lingo provides a rich opportunity for constructing bizarre statements.
The first ad type I have created is a job posting. I tried to walk a line between randomness (which might create something funny or surprising, but might also get tediously silly) and over-determination (which would be boring). I also took pains to try to vary the structure and content of the tweets (drawing from a list of available sentences, providing a couple potential structures for each sentence, weighting vocabulary items to prevent them from reappearing immediately, sometimes adding an article here or there) to keep them from becoming too rote too quickly. The result is a mishmash, but I think it’s on the way to becoming interesting.
“Established hedge fund looking for a snake oil salesperson. Key responsibilities: flim-flam, light housekeeping. Must provide own transport.”
“Home-based business looking for a woodchuck walker. Base pay is 12000 lei per week. Discretion assured.”
My intention is to continue the project to include multiple types of classified ads – next will be missed connections, followed by personal ads, real estate listings, items for sale… who knows?
As far as the bones of it go, at the moment it’s a little more hard-coded than I would like, with a fairly limited vocabulary. The two ways to improve this that I can see are either to just keep adding different words and tweaked structures, or to try to let the computer figure out content and structure by reading Tweets, craigslist postings, etc.. The latter is obviously the far harder of the two, but I’d be interested in giving it a shot.