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

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

Downloads last month
12
Safetensors
Model size
244M params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for adhitia17/idmt

Base model

muchad/idt5-base
Finetuned
(12)
this model

Dataset used to train adhitia17/idmt

Space using adhitia17/idmt 1