Views
No views yet
document → relevance gate → event-type router → evidence selection
→ NER → relation extraction → knowledge graph → structured event JSON| Base model | xlm-roberta-base |
| Task | relevance |
| Input | text |
| Max length | 256 |
| Format | ONNX INT8 (dynamic quantization), ~279 MB |
| Version | c549c9b441a7c |
| Languages | Bengali (primary, ~96% of training corpus), English |
not_relevantrelevantthreshold: 0.09816574305295944recall_floor: 0.97p = softmax(logits)[1]; relevant = p >= thresholds['threshold']model_manifest.json, so a serving process can
consume the model without hardcoding anything.| Metric | Value |
|---|---|
| F1 | 0.9166 |
| ROC-AUC | 0.9571 |
| PR-AUC | 0.9781 |
| Precision | 0.8748 |
| Recall | 0.9626 |
| Threshold | 0.09817 |
1from huggingface_hub import snapshot_download
2import onnxruntime as ort, numpy as np
3from transformers import AutoTokenizer
4
5d = snapshot_download("saidylive/newsintel-relevance", revision="c549c9b441a7c",
6 allow_patterns=["model_int8.onnx", "*.json", "*.model"])
7tok = AutoTokenizer.from_pretrained(d)
8sess = ort.InferenceSession(f"{d}/model_int8.onnx", providers=["CPUExecutionProvider"])
9
10enc = tok("সাভারে বাস-ট্রাকের সংঘর্ষে নিহত ২", return_tensors="np")
11logits = sess.run(None, {k: v for k, v in enc.items()
12 if k in {i.name for i in sess.get_inputs()}})[0]
13# decision rule (from model_manifest.json):
14# p = softmax(logits)[1]; relevant = p >= thresholds['threshold']bd_eng_news_daily Kaggle corpus of Bangladeshi news (~713k articles,
~96% Bengali by character ratio). Labels are silver, not human-annotated: a teacher LLM
produced structured event annotations, which were distilled into these small models. No
manual annotation was performed at any stage.1@software{newsintel_ai,
2 title = {NewsIntel AI: distilled multilingual event extraction for Bangladeshi news},
3 author = {Md. Sheikh Saidy},
4 year = {2026},
5 url = {https://huggingface.co/saidylive/newsintel-relevance}
6}