A text classification model trained on 21,898 rows of online gambling promotion data.
Meant to be used for researcher trying to filter out low quality content from Indonesian corpuses.
1import torch
2from transformers import AutoTokenizer, AutoModelForSequenceClassification
3
4MODEL_DIR = "/home/hanz/Documents/Models/hanzceo/JOSS-v1"
5
6texts = [
7 (
8 "promo_1",
9 "BONUS NEW MEMBER 100%! Deposit minimal 50rb langsung cair ke rekening. Mainkan slot gacor hari ini dan raih jackpot maxwin setiap putaran. Daftar sekarang di link resmi kami dan nikmati promo eksklusif tiap minggu. Turnover ringan, withdrawal cepat tanpa potongan.",
10 ),
11 (
12 "promo_2",
13 "DAPATKAN FREE BET 50RB tanpa deposit! Cukup daftar melalui link di bio dan konfirmasi via WhatsApp. Slot online terlengkap dengan RTP tertinggi, live casino langsung dari dealer profesional. Berlaku untuk member baru saja. Hubungi CS 24 jam untuk klaim bonus.",
14 ),
15 (
16 "awareness",
17 "Perjudian online telah menyebabkan ribuan keluarga Indonesia kehilangan tabungan mereka. Data Kementerian Sosial mencatat peningkatan kasus kemiskinan akibat judi online mencapai 340 persen dalam lima tahun terakhir. Gejalanya meliputi utang menumpuk, isolasi sosial, depresi, hingga upaya bunuh diri. Jika Anda atau orang terdekat mengalami ketergantungan judi, segera hubungi hotlines layanan konseling tersedia di setiap rumah sakit dan lembaga swadaya masyarakat untuk mendapatkan bantuan profesional.",
18 ),
19]
20
21tokenizer = AutoTokenizer.from_pretrained(MODEL_DIR)
22model = AutoModelForSequenceClassification.from_pretrained(
23 MODEL_DIR,
24 dtype=torch.float32,
25 device_map="cpu",
26)
27model.eval()
28
29
30@torch.no_grad()
31def infer(label: str, text: str) -> dict:
32 inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
33 outputs = model(**inputs)
34 probs = torch.softmax(outputs.logits, dim=-1)
35 confidence = probs[0].tolist()
36 return {"label": label, "confidence": confidence}
37
38
39for label, text in texts:
40 result = infer(label, text)
41 print(f"[{result['label']}]")
42 for i, c in enumerate(result["confidence"]):
43 print(f" Class {i}: {c:.4f}")
44 print()
45
46# [promo_1]
47# Class 0: 0.0001
48# Class 1: 0.9999
49#
50# [promo_2]
51# Class 0: 0.0003
52# Class 1: 0.9997
53#
54# [awareness]
55# Class 0: 0.9992
56# Class 1: 0.0008
57