Hebrew Multi-Label Error Type Classifier (Evidence-Based)
Model Description
Fine-tuned dicta-il/neodictabert for multi-label error type classification in Hebrew. Identifies specific factual error types in corrupted claims using evidence sentences extracted from source articles via semantic similarity.
Task: Multi-label error type classification (15-20 error types) Language: Hebrew Max Context: 512 tokens (evidence + claim) Granularity: Sentence-level with article context
Key Features
Evidence Extraction: Sentence-transformer (multilingual-MiniLM-L6-v2) for semantic similarity
Similarity Threshold: 0.5 (minimum for evidence inclusion)
Top-K Evidence: 2-3 most similar sentences per claim
Output: Binary vector (length = number of error types) with independent sigmoid probabilities
Training Configuration
Learning Rate: 2e-5
Epochs: 2.0
Batch Size: 4 per device (effective: 32 with gradient accumulation)
Max Sequence Length: 512 tokens
Learning Rate Scheduler: Cosine
Class Balancing: BCEWithLogitsLoss with pos_weight + WeightedRandomSampler
Usage
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
from sentence_transformers import SentenceTransformer
import numpy as np
# Get predicted error types (threshold = 0.5)
predicted_indices = (probs > 0.5).nonzero(as_tuple=True)[0].tolist()
predicted_labels = [model.config.id2label[i] for i in predicted_indices]
# Get all scores
all_scores = {
model.config.id2label[i]: float(probs[i].item())
for i in range(model.config.num_labels)
}