Well the day has arrived to down tools (for a while). Today (1 November 2012) is the submission day for the Funniest Computer Ever Competition.
Dr. Sam Joseph, the contest organizer, left a comment on this blog suggesting I could enter Atomic and Romeo in the competition. That was a very generous thing for him to do. This really is a Win-Win situation for me. Regardless of how well Atomic and Romeo do in the competition, just the possibility of getting feedback from a field of experts interested in both humour and artificial intelligence is too good an opportunity to miss.
The other 'win' relates to the competition rules and, in particular, the three stages of judging.
Initially Atomic and Romeo were set up as a comedy duo - comedian and feeder (or straight-man, to use the less precise role description). This meant they were developed to perform a sketch on a given topic lasting for 26 interchanges. There is a freedom in this form - the characters can play to each other, generate non-sequiturs that are eventually resolved, and use personality traits to mask moments when knowledge is missing. That will work, I'm hoping, in the Freestyle stage.Stage 1, Improv:
The judge says to the comedybot, “tell me a joke related to X.” The comedybot would have to try to come up with an original joke, which will be checked against a database of jokes for originality.
Stage 2, Poetry:
The judge says to the comedybot “tell me a funny poem about Y.” The comedybot would have to try to come up with an original poem, which will be checked against a database of poems for originality.
Stage 3, Freestyle:
Stage 3 consists of 5 minutes of chat in which the comedybot tries to be as funny as possible, through the successful deployment of witty banter.
The competition stages required me to take their development in a new direction. This was a real bonus. It taught me a lot about my own assumptions about comedy.
1 - I thought jokes would be easier than poetry - wrong, wrong, wrong!So until after the competition results are released they will be no more new versions of the interface or additions to the AIML for Atomic and Romeo.
2 - My guys deal in the computational performance of comedy rather than computational construction of humour - this competition forced me to clarify that distinction.
3 - Atomic and Romeo are closer to being human than machines - they are fallible, they don't know everything, they perform following a script, and they don't live up to our overblown expectations of artificial intelligence. This is a crucial understanding. I even wrote a sketch about it.
4 - The “tell me a joke related to X.”and “tell me a funny poem about Y.” structures really forced me to grapple with some of the deeper implications of recursion and random selection in AIML.