The Glasgow Science Center is currently exhibiting The Joking Computer, a kiosk-based installation running software made by artificial intelligence researchers at the University of Aberdeen. The software uses phonetic information about English words and semantic information from WordNet to generate pun-based riddles. (More information about how it works.)

A few of my favorites:

What kind of tree is nauseated?
A sick-amore

What do you call a cross between an emporium and a success?
A department score

What do you get when you cross a choice with a meal?
A pick-nic

More examples here, and an online version is promised soon.

I like to read programs like this—programs that generate text conforming to a specific genre—as a kind of ethnographic criticism. The Joking Computer describes a particular type of joke by observing how jokes of that type are formed and used in our culture, and then formalizing the jokes as a procedure. The procedure itself serves as a statement about how that genre of text works: its structure and its limitations.

The Joking Computer specifically, and text generators in general, also manifest the nature of the data that they’re built upon. Take this joke (please):

What do you call a washing machine with a september?
An autumn-atic washer.

This joke shows the gaps that exist in the program’s data, and the unique way in which the program uses that data. First, the program doesn’t have a way to know that a washing machine isn’t a kind of thing that is likely to be “with” a “September” (or that September isn’t a noun likely to be used with an indefinite article). Second, the relationship between “September” and “autumn” depends on the eccentricity of WordNet, which claims that there is a meronymic relationship between the two concepts. The joke is constructed on the basis of the fact that September is a “part of” autumn—which certainly makes a kind of sense, but isn’t necessarily something that most people would intuitively agree with. The joke, as a consequence of (at least) these two factors, seems stilted and alien.

Then again, stilted or not, I happen to think this joke (“autumn-atic washer”!) is hilarious, and that the humor stems at least in part from the gaps in the data and way the program uses that data. Jokes, after all, are funny when they provide surprising juxtapositions or reconceptualizations of things in the world, and the program delivers those in abundance.

Poems succeed when they make use of similar juxtapositions and reconceptualizations. I think that this is why generative text programs are most effective when they are designed to generate text in these genres (humor and poetry). These programs succeed just because they don’t perfectly model the genre they set out to emulate.

In other genres, like conversation or narrative, surprising juxtapositions are less valued, or even specifically forbidden. I think that generative algorithms in those genres tend to be less successful for this very reason. But that’s a subject for another post.

(The Joking Computer via, more info)

Tags: , ,

Recent projects

Three recent projects which I have so far neglected to post about:

LATE EDIT: Andy Doro is exhibiting the Networked Byte Organ, which we worked on together, at Taller Boricua.

Tags: ,

Trouble with Scribbles

Recently Leonard Richardson and I recorded a conversation about the popular DS game Scribblenauts. The result is called The Trouble with Scribbles. The conversation ranged from NetHack to Star Trek to Japanese mythology; I think somewhere along the way we managed to have a genuine insight or two. Listen in and tell us what you think.

Tags: , ,

Facebook Twitter
Verbs
get
set
ban
unban
create
expire
promote
revoke
run
add
remove
register
cancel
edit
invite
rsvp
delete
refresh
query
is/are
upload
send
mark
publish

Nouns
allocation
property
metric
restriction
user
info
token
session
authorization
permission
batch
comment
friend
count
cookie
member
tag
url
handle
group
translation
link
string
message
thread
folder
note
notification
list
e-mail
page
fan
photo
album
profile
sms
stream
option
like
filter
status
video
limit

Verbs
get
show
update
destroy
post
put
exists
verify
end
follow
leave
report
request
authorize
authenticate

Nouns
search
trend
status
timeline
mention
retweet
friend
follower
direct message
friendship
id
account
session
delivery device
color
image
profile
favorite
notification
block
spam
search
token
test

I made this list by combing through both services’ API documentation and extracting noun-like words and verb-like words from the names of resources or methods. Facebook count: 24 verbs, 43 nouns. Twitter count: 15 verbs, 24 nouns.

Here’s what I think these numbers mean.

Facebook manages many different kinds of content, and allows you to perform many different kinds of actions on that content, though the actions that you can perform on one kind of content are inconsistent with the actions you can perform on another. Twitter has fewer types of content, and a more consistent set of HTTP-like actions to perform on that content.

The Facebook API tends toward the baroque and insular, while the Twitter API tries its best to be a part of the web. In general, the Twitter API is much more straightforward.

I think this simplicity—this paucity of nouns and verbs—has been an important factor in Twitter’s widespread growth among both users and developers.

Developers can be confident that—even if Twitter’s API changes—they’ll still be doing mostly the same actions (getting, posting, updating) on mostly the same things (statuses, friendships, direct messages). Users know exactly how all the moving parts of Twitter work together, and are therefore better able to understand how a given application might augment that.

On Facebook, the opposite is true. User statuses, notifications, event invitations, feed stories, photos—they all have different interfaces and behave in different ways. Even long-time developers can’t keep track of how everything works together.

Interestingly, Facebook’s platform roadmap says that one of Facebook’s goals is to “focus [...] communication on the stream and Inbox,” which will make communication on Facebook feel much more like Twitter. I think this is a smart move—anything that simplifies the user’s model of how communication on Facebook works is a good idea, both for users and developers.

Tags: ,

An exigency of wendigoes

wondermark

Wondermark’s take on supernatural terms of venery. Not to spoil the punchline, but my favorite by far was “the Borg.” Grammatically, it works: there is no reason to ever refer to the Borg, except when referring to it collectively.

Tags: , ,

An experiment in interfaces for generative text from Jason Nelson (whom you may better know as the creator of i made this. you play this. we are enemies and game, game, game and again game).

The snippets of text are arranged in hierarchical menus, and seem to cohere both vertically (from top to bottom within the same level of hierarchy) and horizontally (from left to right, as you drill down deeper into the hierarchy). I would be interested to hear from Jason how the snippets were composed, and what his methodology was for arranging them.

I’m struck by the similarities between this piece and Nick Montfort’s ppg256 series. While Montfort and Nelson clearly have different stylistic aims, both are using computers to define procedures for combining snippets of text. The procedure in A Tree With Managers… relies more heavily on interactivity than the procedure in ppg256, but the underlying data structures, and the kinds of choices that can be made, are analogous.

(One method of more directly comparing the output of the two procedures might be to transcribe the snippets in A Tree With Managers…, along with their relationships, then create a program to randomly traverse them. Maybe a weekend project?)

(via, where you can also find comments and discussion)

Tags: ,

Clover

Stop-motion looping animation from Billy Rennekamp, using Google Maps as the medium. It emphasizes the possibilities for creative synthesis that come along with Street View: you can seamlessly traverse a path that the Google camera van never actually traversed in real life!

(via)

Tags: , ,

C09B5429-A982-4F15-B0E2-E51E59CEAA25.jpg

Here’s the latest iteration of Nick Montfort’s ppg256 series, an ever-growing set of succinct poetry generators written in Perl. This one happens to be programmed to output to an LED sign, which is currently installed at Axiom (a Boston-area gallery for new and experimental media).

I would love to see how the piece looks and works in the context of a gallery. But more than anything I’d like to see some video: how the code manages the style and movement of the text can’t be anything but vital to the understanding of the piece.

Check out the thread at netpoetic for more photos and some interesting discussion.

In the most recent entries to the ppg256 series, Nick has started to explore the generation not just of abstract poetic form, but other speech genres as well: ppg256-3 generated tiny narratives (“the__bothat and one__orcman cut_out”), while ppg256-4 generates absurd imperatives (“delap the dappap, boss”). Like the other entries in the ppg256 series, ppg256-4 one is concerned with constructing plausible English words from minimalist parts; unlike the others, ppg256-4 is okay with (and even seems to revel in) neologism.

I’ve embedded some of the output of the (non-LED version) of ppg256-4 after the jump, in order to give a bit better sense of the program’s flavor. Read the rest of this entry »

Tags: , ,

longestpoem

The procedure: scrape Twitter’s public timeline and find rhyming couplets. The effect is striking: even though the juxtaposition of tweets is essentially random, the presence of rhyme gives them a strange cohesion.

The only obvious weirdness comes when the procedure tries to rhyme emoticons, as in the following couplet:

Finished a paper for class and time to relax. Yay me!!
Showered and feeling good :) How are y’all smelling? :b

On second thought, I like that: it’s as though the procedure suggests you read the emoticon aloud in a cutesy way (“time to relax, yay me! / … how are y’all smelling? colon lowercase bee”).

(via)

Tags: , ,

abitbit

abitbit2

I love this: abitbit.com, “Pure Anonymous Bits.” It records over time the results of people clicking on either a button labelled 0 or a button labelled 1. The site’s copy encourages creative and subversive use of the procedure (“Warning: the content below may be not safe for work or children, depending on how the bits are decoded”); the graphs show evidence of an epic and collaborative bit battle, with its own particular currents and momentum (as of this writing, one is winning).

Is it truly anonymous, though? It seems to remember which bits I submitted (they’re highlighted in red). Not that the lack of anonymity is a bad thing: The project’s neatly conceptual as it stands, but it’s a hair width away from effective web 2.0 parody (RSS feed of your friend’s bits; “click here to tweet your bit!”).

See also: Mark Napier’s Sacred Bits; What Colour Are Your Bits?.

(via ckolderup)

Tags: , , ,

« Older entries § Newer entries »