--- license: mit language: - id library_name: transformers tags: - text-classification - natural-language-inference - indonesian - perturbation-robustness - bert datasets: - fabhiansan/XSUM-Indonesia-AMR-NLI pipeline_tag: text-classification widget: - text: 'Premis: [TEKS PREMIS DI SINI]. Hipotesis: [TEKS HIPOTESIS DI SINI]' base_model: - indobenchmark/indobert-large-p2 --- # Indonesian BERT Large for Natural Language Inference (Perturbation Weighted) ## Deskripsi Model Model ini adalah versi *fine-tuned* dari `indobenchmark/indobert-large-p2` yang dilatih untuk tugas Natural Language Inference (NLI) biner pada data berbahasa Indonesia. Tujuan utama NLI adalah untuk menentukan apakah sebuah "hipotesis" dapat disimpulkan dari sebuah "premis". \ Model ini secara spesifik dilatih dengan strategi pembobotan sampel ganda: 1. Pembobotan untuk menyeimbangkan kelas label utama (entailment vs. non-entailment). 2. Pembobotan tambahan untuk jenis-jenis perturbasi spesifik dalam sampel kelas negatif (label 0), untuk meningkatkan ketahanan model terhadap variasi linguistik atau artefak data tertentu. Model ini menghasilkan salah satu dari dua label (0 untuk non-entailment/kontradiksi, 1 untuk entailment). | metrik | score | |---------|--------| | accuracy | 0.9129205120571598 | | macro_precision | 0.9052220320834325 | | macro_recall | 0.8766231236407768 | | macro_f1 | 0.8893040191206835 | |average_loss | 0.5746491376413663 | | train_loss_sample_weighted | 0.07019188567586254 | ### Penggunaan yang Ditujukan Model ini ditujukan untuk digunakan dalam tugas klasifikasi teks NLI biner dalam bahasa Indonesia. Dapat digunakan untuk: * Memverifikasi apakah suatu klaim (hipotesis) didukung oleh teks sumber (premis). * Menganalisis hubungan logis antara beberapa kalimat teks sumber dan kalimat ringkasannya. * Model akan menganggap ringkasan tidak entails ketika terjadi halusinasi. * Halusinasi yang dapat dideteksi oleh model ini adalah (Pagnoni dkk., 2021): * Predicate error * Discourse link error * Entity Error * Circumstance Error * Out of Article Error ## Cara Menggunakan Anda dapat menggunakan model ini dengan pustaka `transformers` dari Hugging Face: ```python from transformers import AutoTokenizer, AutoModelForSequenceClassification import torch model_name = "fabhiansan/indoBERT-Large-FactChecking-Summarization" tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) model = AutoModelForSequenceClassification.from_pretrained(model_name_or_path) device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model.to(device) premise = "Timnas Indonesia berhasil memenangkan pertandingan sepak bola." hypothesis = "Indonesia kalah dalam laga tersebut." inputs = tokenizer(premise, hypothesis, return_tensors="pt", truncation=True, padding=True, max_length=512) inputs = {k: v.to(device) for k, v in inputs.items()} model.eval() # Set model ke mode evaluasi with torch.no_grad(): outputs = model(**inputs) logits = outputs.logits predictions = torch.argmax(logits, dim=-1) # Interpretasi hasil (asumsi label 0 = non-entailment, label 1 = entailment) if predictions.item() == 1: print("Hipotesis dapat disimpulkan dari premis (Entailment).") else: print("Hipotesis TIDAK dapat disimpulkan dari premis (Non-Entailment).")