tranthaihoa/vifactcheck
Viewer • Updated • 7.23k • 409 • 8
How to use BaoNhan/bn-newsbert-ViFactCheck-FC with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-classification", model="BaoNhan/bn-newsbert-ViFactCheck-FC") # Load model directly
from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("BaoNhan/bn-newsbert-ViFactCheck-FC")
model = AutoModelForSequenceClassification.from_pretrained("BaoNhan/bn-newsbert-ViFactCheck-FC", device_map="auto")This model is BaoNhan/BN-NewsBERT fine-tuned for VFC-FC on ViFactCheck using the claim paired with full article context.
Test metrics are reported as mean ± sample standard deviation over seeds [42, 22, 202].
| Metric | Mean ± std |
|---|---|
| Test Macro-F1 | 0.6822 ± 0.0202 |
| Test accuracy | 0.6828 ± 0.0198 |
| Test macro precision | 0.6845 ± 0.0208 |
| Test macro recall | 0.6815 ± 0.0201 |
| Development Macro-F1 | 0.7188 ± 0.0063 |
| seed | dev_macro_f1 | test_macro_f1 | test_accuracy | micro_batch_size | gradient_accumulation_steps |
|---|---|---|---|---|---|
| 22.000000 | 0.718191 | 0.697135 | 0.697514 | 8.000000 | 1.000000 |
| 42.000000 | 0.712816 | 0.659207 | 0.660221 | 8.000000 | 1.000000 |
| 202.000000 | 0.725425 | 0.690329 | 0.690608 | 8.000000 | 1.000000 |
{
"0": "supported",
"1": "refuted",
"2": "not_enough_information"
}
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model_id = "BaoNhan/bn-newsbert-ViFactCheck-FC"
tokenizer = AutoTokenizer.from_pretrained(model_id, use_fast=False)
model = AutoModelForSequenceClassification.from_pretrained(model_id)
claim = "Thông tin này đã được cơ quan chức năng xác nhận."
context = "Bài báo cung cấp bằng chứng liên quan đến phát biểu trên."
inputs = tokenizer(
claim,
context,
return_tensors="pt",
truncation="longest_first",
max_length=256,
)
with torch.no_grad():
probabilities = model(**inputs).logits.softmax(dim=-1)[0]
predicted_id = int(probabilities.argmax())
print(model.config.id2label[predicted_id], probabilities.tolist())
aggregate_metrics.json: aggregate metrics and training manifest.artifacts/per_seed_results.csv: one row per fine-tuning seed.artifacts/seed_*_confusion_matrix.csv: confusion matrix for each seed.artifacts/seed_*_classification_report.json: per-class metrics.artifacts/seed_*_test_predictions.csv: IDs, gold/predicted labels and probabilities; raw claims and passages are excluded.ViFactCheck supplies the correct source article and therefore does not evaluate open-web evidence retrieval. VFC-FC can truncate relevant information in long articles and jointly measures verification plus robustness to irrelevant context. VFC-GE uses oracle gold evidence and must not be presented as a realistic end-to-end deployment setting. This model is a research classifier, not an automated arbiter of truth, and may produce confidently incorrect predictions.
@inproceedings{hoa2025vifactcheck,
title={ViFactCheck: A New Benchmark Dataset and Methods for Multi-domain News Fact-Checking in Vietnamese},
author={Hoa, Tran Thai and Duy, Tran Quang and Tran, Khanh Quoc and Nguyen, Kiet Van},
booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
volume={39},
number={1},
pages={308--316},
year={2025},
doi={10.1609/aaai.v39i1.32008}
}
Base model
BaoNhan/BN-NewsBERT