# Epic Emojis

*English translation by SOTA – AI Community of the Hungarian original. Licensed CC BY-NC-SA 4.0, like the original. Organisers who would like this translation removed can email sota.ai.community@gmail.com.*

**Magyar MI Diákolimpia** (Hungarian AI Olympiad)\
**Epic Emojis** 😎 🎉 💬 🔥 (Epikus Emojik)\
Task description\
24 May 2025

## 1. Epic Emojis

**Emoji Emőke** is a self-appointed film aesthete who is obsessed with the world of cinema and with emojis. She has devoted her life to summarising every existing film title with a single, well-chosen **emoji sequence** (4–5 emojis).

**Her philosophy of life:**\
"If a film cannot be described with three emojis, it does not even deserve to be watched by me!"

It takes Emőke a lot of time to come up with the emojis for every film title, so she has no time left for what she really loves doing: **preparing for the AI olympiad.**

**Your task:** help Emőke automate the translation of films into the language of emojis. You will do all this with the help of a pretrained model and a database, which you will receive. The various subtasks introduce you to the training cycle of language models, and at the end Emőke will have a model at her disposal that will greatly help her in her work. You can solve the subtasks in a Jupyter Notebook (Google Colab is recommended; a local environment is also accepted, but training is slow there).

**Examples:**

- **Lion King** $\Longrightarrow$ 🦁 👑
- **The Godfather** $\Longrightarrow$ 🤵 🔫 💰 👪
- **The Lord of the Rings: The Two Towers** $\Longrightarrow$ 🧙 💍 ⚔️ 🌲 🏰

## 2. Scoring

1. Data exploration – **[10 points]**
2. Data cleaning – **[5 points]**
3. Loading the model – **[5 points]**
4. Data preprocessing – **[20 points]**
5. Baseline evaluation, model without fine-tuning – **[10 points]**
6. Training the model – **[25 points]**
7. Evaluation on the training data – **[3 points]**
8. Visualisation and performance comparison – **[7 points]**
9. Visualisation of the attention mechanism – **[15 points]**

**Maximum score:** 100 points

## 3. Technical information

The Google Colab interface is recommended for the solution because it provides a graphics card, with which training is about 60 times faster than on a CPU. The task can also be solved locally, but reaching the maximum score by training on a CPU is almost impossible within the time available for solving the task.

The task requires a model available on the Hugging Face platform that was pretrained on a text–emoji dataset, but not on film titles. This is important, because it means that we can fine-tune the model for our own purposes on a small dataset. All the necessary information and the required libraries can be found at the beginning of the notebook.

The dataset contains the 1000 top-rated films on IMDB and is available at the following link:\
🔗 [Film title – Emoji dataset](https://drive.google.com/drive/folders/1aZ15bY6-I6T1JjtqKfr10zsNleh7iQ9X)

After solving the task, regardless of whether you worked in Google Colab or locally, you must upload the `.ipynb` file to the CMS system for the corresponding task. No other file needs to be uploaded.

## 4. Useful resources

- 🔗 [HuggingFace Transformers – Documentation](https://huggingface.co/docs/transformers/index)
- 🔗 [HuggingFace Datasets – Documentation](https://huggingface.co/docs/datasets/index)
- 🔗 [T5 model – principles](https://arxiv.org/abs/1910.10683)
- 🔗 [BLEU score – interpretation and example](https://machinelearningmastery.com/calculate-bleu-score-for-text-python/)
- 🔗 [Python Regex – filtering emojis](https://www.regular-expressions.info/unicode.html)
