Computational humor is a branch of computational linguistics and artificial intelligence which uses computers in humor research. It is not to be confused with computer humor (i.e., jokes about computers, programmers, users, and computing).
It is a relatively new area, with the first dedicated conference organized in 1996.
An approach to analysis of humor is classification of jokes. A further step is an attempt to generate jokes basing on the rules that underlie classification.
Simple prototypes for computer pun generation were reported in the early 1990s, based on a natural language generator program, VINCI. Graeme Ritchie and Kim Binsted in their 1994 research paper described a computer program, JAPE, designed to generate question-answer-type puns from a general, i.e., non-humorous, lexicon. (The program name is an acronym for "Joke Analysis and Production Engine".) Some examples produced by JAPE are:
- Q: What is the difference between leaves and a car?
- A: One you brush and rake, the other you rush and brake.
- Q: What do you call a strange market?
- A: A bizarre bazaar.
Since then the approach has been improved, and the latest report, dated 2007, describes the STANDUP joke generator, implemented in the Java programming language. The STANDUP generator was tested on children within the framework of analyzing its usability for language skills development for children with communication disabilities, e.g., because of cerebral palsy. (The project name is an acronym for "System To Augment Non-speakers' Dialog Using Puns" and an allusion to standup comedy.) Children responded to this "language playground" with enthusiasm, and showed marked improvement on certain types of language tests.
"The two young people, who used the system over a ten-week period, regaled their peers, staff, family and neighbors with jokes such as: "What do you call a spicy missile? A hot shot!" Their joy and enthusiasm at entertaining others was inspirational.[attribution needed]
"AskTheBrain" (2002)  used clustering and bayesian analysis to associate concepts in a comical way.
A statistical machine learning algorithm to detect whether a sentence contained a "That's what she said" double entendre was developed by Kiddon and Brun (2011). There is an open-source Python implementation of Kiddon & Brun's TWSS system.
A possible application for the assistance in language acquisition is described in the section "Pun generation". Another envisioned use of joke generators is in cases of steady supply of jokes where quantity is more important than quality. Another obvious, yet remote, direction is automated joke appreciation.
It is known that humans interact with computers in ways similar to interacting with other humans that may be described in terms of personality, politeness, flattery, and in-group favoritism. Therefore the role of humor in human-computer interaction is being investigated. In particular, humor generation in user interface to ease communications with computers was suggested.
Craig McDonough implemented the Mnemonic Sentence Generator, which converts passwords into humorous sentences. Basing on the incongruity theory of humor, it is suggested that the resulting meaningless but funny sentences are easier to remember. For example, the password AjQA3Jtv is converted into "Arafat joined Quayle's Ant, while TARAR Jeopardized thurmond's vase".
John Allen Paulos is known for his interest in mathematical foundations of humor. His book Mathematics and Humor: A Study of the Logic of Humor demonstrates structures common to humor and formal sciences (mathematics, linguistics) and develops a mathematical model of jokes based on catastrophe theory.
- "Computational humor", by Binsted, K.; Nijholt, A.; Stock, O.; Strapparava, C.; Ritchie, G.; Manurung, R.; Pain, H.; Waller, A.; Oapos;Mara, D., IEEE Intelligent Systems Volume 21, Issue 2, 2006, pp. 59 – 69 doi:10.1109/MIS.2006.22
- O. Stock, C. Strapparava & A. Nijholt (eds.) "The April Fools' Day Workshop on Computational Humour." Proc. Twente Workshop on Language Technology 20 (TWLT20), ISSN 0929-0672, ITC-IRST, Trento, Italy, April 2002, 146 pp
- Hulstijn, J, and Nijholt, A. (eds.). Proceedings of the International Workshop on Computational Humor. Number 12 in Twente Workshops on Language Technology, Enschede, Netherlands. University of Twente, 1996.
- Lessard, G. and Levison, M. (1992). Computational modeling of linguistic humour: Tom Swifties. In ALLC/ACH Joint Annual Conference, Oxford, pages 175–178.
- Kim Binsted, Graeme Ritchie (1994) "A symbolic description of punning riddles and its computer implementation." Research Paper 688, University of Edinburgh, Edinburgh, Scotland, 1994, reported at the International Conference on Humor and Laughter, Luxembourg, 1993
- (conference proceeding version of the above) An implemented model of punning riddles. In Proceedings of the Twelfth National Conference on Artificial Intelligence (AAAI-94), Seattle, USA.
- Graeme Ritchie, Ruli Manurung, Helen Pain, Annalu Waller, Rolf Black, Dave O'Mara. "A practical application of computational humour." In Cardoso, A. & Wiggins, G. (Ed.) Proceedings of the 4th. International Joint Workshop on Computational Creativity, London, UK, 2007, pp. 91-98.
- STANDUP home page, with a link to free software download
- A Language Playground, Joke-Making software, Technology News Daily, August 23, 2006
- "Laughter is the best therapy", The Courier, 19 August 2006
- "Joke software helps non-speakers", BBC News, 22 August 2006
- Stock, O. and Strapparava, C.
- (2003) "HAHAcronym: Humorous agents for humorous acronyms." Humor: International Journal of Humor Research, 16(3):297–314.
- (2005). "The act of creating humorous acronyms." Applied Artificial Intelligence, 19(2):137–151.
- Chloe Kiddon and Yuriy Brun (2011). "That's What She Said: Double Entendre Identification." In Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies, pages 89–94, Portland, Oregon, USA, June. Association for Computational Linguistics.
- Taylor, J. M. and Mazlack, L. J. (2004). "Computationally recognizing wordplay in jokes". In Proceedings of Cognitive Science Conference, pages 2166–2171, Stresa, Italy.
- "UC Researchers Design Humorous 'Bot'"
- Mihalcea, R. and Strapparava, C. (2006). "Learning to laugh (automatically): Computational models for humor recognition." Computational Intelligence, 22(2):126–142.
- Osamu Takizawa, Masuzo Yanagida, Akira Ito, and Hitoshi Isahara (1996). "On Computational Processing of Rhetorical Expressions - Puns, Ironies and Tautologies". In (Hulstijn and Nijholt, 1996), 39-52.
- Rada Mihalcea, carlo Strapparava, "Technologies That Make You Smile: Adding Humor to Text-Based Applications", IEEE Intelligent Systems, 2006, vol. 21, no.5, pp. 33-39. DOI: http://doi.ieeecomputersociety.org/10.1109/MIS.2006.104
- Graeme Ritchie (2001) "Current Directions in Computer Humor", Artificial Intelligence Review. 16(2): pages 119-135
- M.P. Mulder, A. Nijholt, (2002) "Humour Research: State of the Art"
- Craigh McDonough (2001) "Using Natural Language Processing for random Passwords", Technical Report, CERIAS, Purdue University (unpublished), as quoted by Mulder and Nijholt (2002)
- John Allen Paulos (1980, 1982) "Mathematics and Humor: A Study of the Logic of Humor", 1982 paperback: ISBN 0-226-65025-1, Japanese translation, 1983, Dutch translation, 1990