Computational humor
Computational humor is a branch of computational linguistics and artificial intelligence which uses computers in humor research. It is a relatively new area, with the first dedicated conference organized in 1996.[1]
The first "computer model of a sense of humor" was suggested by Suslov as early as 1992.[2] Investigation of the general scheme of information processing shows the possibility of a specific malfunction, conditioned by the necessity of a quick deletion from consciousness of a false version. This specific malfunction can be identified with a humorous effect on psychological grounds: it exactly corresponds to incongruity-resolution theory. However, an essentially new ingredient, the role of timing, is added to the well-known role of ambiguity. In biological systems, a sense of humor inevitably develops in the course of evolution, because its biological function consists of quickening the transmission of the processed information into consciousness and in a more effective use of brain resources. A realization of this algorithm in neural networks[3] justifies naturally Spencer's hypothesis on the mechanism of laughter: deletion of a false version corresponds to zeroing of some part of the neural network and excessive energy of neurons is thrown out to the motor cortex, arousing muscular contractions.
A practical realization of this algorithm needs extensive databases, whose creation in the automatic regime was suggested recently.[4] As a result, this magistral direction was not developed properly and subsequent investigations accepted somewhat specialized colouring.
Joke generators
Pun generation
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,[5] 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.[6] (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.[7][8] 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.[7][9][10]
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.
Other
Stock and Strapparava described a program to generate funny acronyms.[11]
"AskTheBrain" (2002) used clustering and bayesian analysis to associate concepts in a comical way.
Joke recognition
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).[12] There is an open-source Python implementation of Kiddon & Brun's TWSS system.[13]
A program to recognize knock-knock jokes was reported by Taylor and Mazlack.[14] This kind of research is important in analysis of human-computer interaction.[15]
An application of machine learning techniques for the distinguishing of joke texts from non-jokes was described by Mihalcea and Strapparava (2006).[16]
Takizawa et al. (1996) reported on a heuristic program for detecting puns in the Japanese language.[17]
Applications
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.[18][19][20]
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".[21]
Related research
John Allen Paulos is known for his interest in mathematical foundations of humor.[22] 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.
See also
Further reading
- "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
References
- ↑ 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.
- ↑ I.M.Suslov, Computer Model of "a Sense of Humour". I. General Algorithm. Biofizika SSSR 37, 318 (1992) [Biophysics 37, 242 (1992)]; http://arxiv.org/abs/0711.2058.
- ↑ I.M.Suslov, Computer Model of "a Sense of Humour". II. Realization in Neural Networks. Biofizika SSSR 37, 325 (1992) [Biophysics {\bf 37}, 249 (1992)] http://arxiv.org/abs/0711.2061.
- ↑ I.M.Suslov, How to Realize "a Sense of Humour" in Computers? http://arxiv.org/abs/0711.3197.
- ↑ 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.
- 1 2 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
- ↑ "Laughter is the best therapy" Archived June 10, 2007, at the Wayback Machine., 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.
- ↑ GitHub – tansaku/twss: A Python project inspired by the research of Chloé Kiddon and Yuriy Brun. Part of the Funniest Computer Ever Open Source initiative
- ↑ 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'" Archived June 2, 2010, at the Wayback Machine.
- ↑ 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