{"id":19218918,"url":"https://github.com/bearlike/joke-and-pun-bot","last_synced_at":"2025-10-03T16:59:53.230Z","repository":{"id":115884526,"uuid":"574038881","full_name":"bearlike/Joke-and-Pun-Bot","owner":"bearlike","description":"Puns explanation and joke generation. Group project 3 for CNIT 519 - Natural Language Technologies.","archived":false,"fork":false,"pushed_at":"2022-12-11T22:04:23.000Z","size":9976,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-04T19:25:04.616Z","etag":null,"topics":["alexa-skill","discord-bot","humor","humor-generation","puns"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bearlike.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-04T08:20:12.000Z","updated_at":"2022-12-08T10:30:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"282ef7b8-a8f5-47aa-982c-077fd28ed0cf","html_url":"https://github.com/bearlike/Joke-and-Pun-Bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearlike%2FJoke-and-Pun-Bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearlike%2FJoke-and-Pun-Bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearlike%2FJoke-and-Pun-Bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearlike%2FJoke-and-Pun-Bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bearlike","download_url":"https://codeload.github.com/bearlike/Joke-and-Pun-Bot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240292395,"owners_count":19778311,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alexa-skill","discord-bot","humor","humor-generation","puns"],"created_at":"2024-11-09T14:28:44.464Z","updated_at":"2025-10-03T16:59:53.166Z","avatar_url":"https://github.com/bearlike.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discord Joke Bot\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/bearlike/Discord-GPT2-Joke-Bot/blob/main/519_GPT2_Joker.ipynb)\n![License](https://img.shields.io/badge/license-MIT-green)\n![python](https://img.shields.io/badge/python-3-blue)\n- Group project 3 for CNIT 519 - Natural Language Technologies.\n- Status : `Work in Progress`\n## Dependencies\n1. Install dependencies using `pip install -r requirements.text`\n## Instructions to start the bot\n1. Create a `.env` file with:\n```\nDISCORD_TOKEN=\u003cDISCORD BOT TOKEN\u003e\nDISCORD_GUILD=\u003cDISCORD GUILD ID\u003e\n```\n2. Run `bot.py`.\n3. Start sending messages to designated text channel.\n\n## Usage (Discord)\n1. Say `Tell me a joke about [something]` and it'll return a message from `bot_utils.say_joke()` \n   - The inference blocks offensive words from `jokes_data\\bad_words_en.txt` into the sequence.\n\n## Usgae (Notebook)\n1. Open it using any Jupyter notebook viewer. I use Jupyter Lab.\n2. GPT-2 Medium trained on `Small Jokes Dataset`. [All the versions of the trained models are available here.](https://drive.google.com/drive/folders/1cYMczEnNVBPM_Su_QeyZ6EJug5V5oB1g?usp=share_link)\n\n## Problem Statement\n```\nFor this group project, you are to use an existing conversational agent (Alexa or alike) to create a joke recommendation system. Your requirements are:\n\n1. Ask a user what kind of jokes they like to hear (you can assume that they can say something like 'animals', 'professions,' etc.)\n2. Use information that they specified to search for an existing joke that you used for Projects 1 or 2.\n3. Use what you (or any other group, with their permission) created for projects 1 or 2.\n4. Do use sound similarity, other than edit distance, between a category that a user provided and your sources and targets. \n5. If you cannot find a joke that fits the pattern exactly, use some kind of concept/word hierarchy (wordnet may work) to navigate to the most similar joke. \n6. Give user options to choose something else if you cannot find what they are happy with. \n7. Ask a user if they want a joke to be explained, and, if they do, provide the explanation. \n8. Your interaction should be at least 6-7 turns long. \n\nIf you create a new account for the conversational agent, do not forget to disable it after your project is done. You will be required to submit your code for this submission. \n```\n\n## To Do\n1. Implement sound similarity with anything other than edit distance. \n2. Argument to the (actual) joke generator works, but the curent position is always one. We need to change it.\n3. Figure out what to do about `5` and `7`.\n\n## References\n1. Moudgil. (2017). Short Jokes [Dataset]. https://www.kaggle.com/datasets/abhinavmoudgil95/short-jokes\n2. Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., \u0026 Sutskever, I. (2019). Language Models are Unsupervised Multitask Learners. \n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearlike%2Fjoke-and-pun-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbearlike%2Fjoke-and-pun-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearlike%2Fjoke-and-pun-bot/lists"}