Tito Joker aims to understand humor well enough to tell jokes that are actually funny. All you have to do is input a riddle type question and he tells a joke using it. He still has a long way to go but we will get there!
Interact with Tito Joker on this website and check out his medium article!
Turned off by default - turn on from left sidebar
Tito Joker can give unique responses to the same input
Help Tito Joker improve his humor by giving him feedback!
Fine-tuned version of the recently released OpenAI GPT-2 model with a left-to-right language modeling training objective. Similar hyperparameters were used from the original paper.
A jokes dataset from Kaggle was used for fine-tuning. Aside from the original preprocessing, additional special tokens were added to allow the model to understand the difference between the "question" and "answer" components of a riddle type joke.
Warning: the dataset contains NSFW jokes, so Tito Joker's humour will also reflect jokes of this nature.
python ./src/utils/process_jokes.py shortjokes.csv ./data/riddle_jokes.txt
Please refer to the experiment notebooks.
Note: The number at the end of the notebook's filename corresponds to the model version it produces (no number means 1)
Special thanks to Hugging Face for their implementation of OpenAI GPT-2 using PyTorch, Streamlit for making it super easy to deploy Tito Joker as a webapp.
Why is the AI named Tito Joker? Because in Filipino, "tito" means "uncle" when translated to English, and in the Philippines, we all have that uncle who says the corniest jokes!
To learn more, please refer to Tito Joker's medium article on Towards Data Science.