- Group project 3 for CNIT 519 - Natural Language Technologies.
- Status :
Work in Progress
- Install dependencies using
pip install -r requirements.text
- Create a
.env
file with:
DISCORD_TOKEN=<DISCORD BOT TOKEN>
DISCORD_GUILD=<DISCORD GUILD ID>
- Run
bot.py
. - Start sending messages to designated text channel.
- Say
Tell me a joke about [something]
and it'll return a message frombot_utils.say_joke()
- The inference blocks offensive words from
jokes_data\bad_words_en.txt
into the sequence.
- The inference blocks offensive words from
- Open it using any Jupyter notebook viewer. I use Jupyter Lab.
- GPT-2 Medium trained on
Small Jokes Dataset
. All the versions of the trained models are available here.
For this group project, you are to use an existing conversational agent (Alexa or alike) to create a joke recommendation system. Your requirements are:
1. Ask a user what kind of jokes they like to hear (you can assume that they can say something like 'animals', 'professions,' etc.)
2. Use information that they specified to search for an existing joke that you used for Projects 1 or 2.
3. Use what you (or any other group, with their permission) created for projects 1 or 2.
4. Do use sound similarity, other than edit distance, between a category that a user provided and your sources and targets.
5. 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.
6. Give user options to choose something else if you cannot find what they are happy with.
7. Ask a user if they want a joke to be explained, and, if they do, provide the explanation.
8. Your interaction should be at least 6-7 turns long.
If 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.
- Implement sound similarity with anything other than edit distance.
- Argument to the (actual) joke generator works, but the curent position is always one. We need to change it.
- Figure out what to do about
5
and7
.
- Moudgil. (2017). Short Jokes [Dataset]. https://www.kaggle.com/datasets/abhinavmoudgil95/short-jokes
- Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., & Sutskever, I. (2019). Language Models are Unsupervised Multitask Learners.