--- license: apache-2.0 datasets: - facebook/empathetic_dialogues language: - id metrics: - bleu - rouge - accuracy - f1 base_model: - muchad/idt5-base tags: - idmt --- # Indonesian Multitask Text Generation and Emotion Classification This model provides a new refresher in the field of emotion-aware dialogue systems in Indonesian by creating the Indonesian Empathetic Dialogue Dataset and conducting multitask text generation and emotion classification training using pretrained idT5 ## Model Details ### Model Description - **Developed by:** Adhitia Erfina, Tran Thi Oanh, Le-Hong Phuong - **Funded by:** xxxxxxxxxxxxxxxxxxx - **Model type:** Multitask Text Generation and Emotion Classification - **Language(s) (NLP):** Indonesia - **Finetuned from model:** muchad/idt5-base ### Model Sources - **Repository:** https://github.com/adhitia17/Multitask-Generative-Dialogue-and-Emotion-Classification-with-Indonesian-Empathetic-Dialogue-Dataset - **Paper:** xxxxxxxxxxxxxxxxxxx ## Uses This model is designed for multitask text-to-text generation in Indonesian, specifically trained for: 1. Dialogue Response Generation: Given a user utterance prefixed with dialog:, the model generates a relevant conversational response. 2. Emotion Classification: Given a text prefixed with emosi:, the model predicts the underlying emotion expressed in the text. 3. Context Understanding/Summarization (if applicable based on your training data): Given a text prefixed with konteks:, the model can perform tasks related to understanding or summarizing the provided context. It's intended to be used directly via the transformers library in Python for applications requiring these specific capabilities in Indonesian. ### Direct Use ``` import torch from transformers import AutoTokenizer, AutoModelForSeq2SeqLM repo_id = "adhitia17/idmt" print(f"Loading tokenizer and model from {repo_id}...") tokenizer = AutoTokenizer.from_pretrained(repo_id) model = AutoModelForSeq2SeqLM.from_pretrained(repo_id) device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model.to(device) print(f"Model loaded to device: {device}") def generate_response(input_text, task_prefix): """Generates a response from the model for a given task.""" full_input = f"{task_prefix}: {input_text}" print(f"\nInput ({task_prefix}): {full_input}") input_ids = tokenizer(full_input, return_tensors="pt").input_ids.to(device) outputs = model.generate( input_ids, max_length=256, num_beams=5, early_stopping=True ) decoded_output = tokenizer.decode(outputs[0], skip_special_tokens=True) print(f"Output: {decoded_output}") return decoded_output print("\nInference examples complete.") ``` ## How to Get Started with the Model Use the code below to get started with the model. [More Information Needed] ## Training Details ### Training Data Translated facebook/empathetic_dialogues to Indonesian (81.005 rows) ### Training Procedure Multitask Text Generation and Emotion Classification using T5Base #### Preprocessing facebook/empathetic_dialogues translated to Indonesian using facebook/nllb-200-1.3B #### Training Hyperparameters - **Learning Rate:** 1e-5 - **Weight Decay:** 0.01 - **Token:** 512 - **Batch:** 64 - **Epochs:** 40 - **Warm Up Steps :** 500 - **Optimizer:** Adam - **Evaluation Metrics :** BLEU + ROUGE (text generation) & Accuracy + F1 (emotion classification) ## Evaluation Translated facebook/empathetic_dialogues to Indonesian (12.044 rows) ### Testing Data & Metrics #### Testing Data Translated facebook/empathetic_dialogues to Indonesian (10.945 rows) ### Results - **BLEU:** 0.1071 - **ROUGE:** 0.2264 - **Accuracy:** 0.7064 - **F1:** 0.7049 ## Technical Specifications #### GPU 1x NVIDIA H100 with 80 GB HBM2e memory, and FP8 Tensor Core 3.958 TFLOPS. #### Training Hours ±18 hours ## Citation xxxxxxxxxxxxxxxxxxx