  A chatbot is perceived as more humanlike and likeable if it includes some
jokes in its output. But most existing joke generators were not designed to be
integrated into chatbots. This paper presents Witscript, a novel joke
generation system that can improvise original, contextually relevant jokes,
such as humorous responses during a conversation. The system is based on joke
writing algorithms created by an expert comedy writer. Witscript employs
well-known tools of natural language processing to extract keywords from a
topic sentence and, using wordplay, to link those keywords and related words to
create a punch line. Then a pretrained neural network language model that has
been fine-tuned on a dataset of TV show monologue jokes is used to complete the
joke response by filling the gap between the topic sentence and the punch line.
A method of internal scoring filters out jokes that don't meet a preset
standard of quality. Human evaluators judged Witscript's responses to input
sentences to be jokes more than 40% of the time. This is evidence that
Witscript represents an important next step toward giving a chatbot a humanlike
sense of humor.
