  In this paper, we discuss a model of simple question-answer punning,
implemented in a program, JAPE, which generates riddles from humour-independent
lexical entries. The model uses two main types of structure: schemata, which
determine the relationships between key words in a joke, and templates, which
produce the surface form of the joke. JAPE succeeds in generating pieces of
text that are recognizably jokes, but some of them are not very good jokes. We
mention some potential improvements and extensions, including post-production
heuristics for ordering the jokes according to quality.
