Views
No views yet
1from transformers import AutoModelForSequenceClassification
2from transformers import AutoTokenizer
3import string
4
5def preprocess_data(text: str) -> str:
6 return text.lower().translate(str.maketrans("", "", string.punctuation)).strip()
7
8MODEL_PATH = "helinivan/dutch-sarcasm-detector"
9
10tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
11model = AutoModelForSequenceClassification.from_pretrained(MODEL_PATH)
12
13text = "We deden een man een nacht in een vat met cola en nu is hij dood"
14tokenized_text = tokenizer([preprocess_data(text)], padding=True, truncation=True, max_length=256, return_tensors="pt")
15output = model(**tokenized_text)
16probs = output.logits.softmax(dim=-1).tolist()[0]
17confidence = max(probs)
18prediction = probs.index(confidence)
19results = {"is_sarcastic": prediction, "confidence": confidence}
20{'is_sarcastic': 1, 'confidence': 0.8915400505065918}| Model-Name | F1 | Precision | Recall | Accuracy |
|---|---|---|---|---|
| helinivan/english-sarcasm-detector | 92.38 | 92.75 | 92.38 | 92.42 |
| helinivan/italian-sarcasm-detector | 88.26 | 87.66 | 89.66 | 88.69 |
| helinivan/multilingual-sarcasm-detector | 87.23 | 88.65 | 86.33 | 88.30 |
| helinivan/dutch-sarcasm-detector | 83.02 | 84.27 | 82.01 | 86.81 |