Text Classification
Transformers
Safetensors
Vietnamese
roberta
vietnamese
uit-vsfc-sentiment
transfer
eacl-2027
uit-vsfc
sentiment-analysis
Instructions to use BaoNhan/phobert-base-UITVSFC-S with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use BaoNhan/phobert-base-UITVSFC-S with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="BaoNhan/phobert-base-UITVSFC-S")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("BaoNhan/phobert-base-UITVSFC-S") model = AutoModelForSequenceClassification.from_pretrained("BaoNhan/phobert-base-UITVSFC-S", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Publish UIT-VSFC-sentiment representative seed 22
Browse files- README.md +111 -0
- added_tokens.json +3 -0
- aggregate_metrics.json +33 -0
- artifacts/per_seed_results.csv +4 -0
- artifacts/seed_202_classification_report.json +33 -0
- artifacts/seed_202_confusion_matrix.csv +4 -0
- artifacts/seed_202_run_metadata.json +41 -0
- artifacts/seed_202_test_predictions.csv +0 -0
- artifacts/seed_22_classification_report.json +33 -0
- artifacts/seed_22_confusion_matrix.csv +4 -0
- artifacts/seed_22_run_metadata.json +41 -0
- artifacts/seed_22_test_predictions.csv +0 -0
- artifacts/seed_42_classification_report.json +33 -0
- artifacts/seed_42_confusion_matrix.csv +4 -0
- artifacts/seed_42_run_metadata.json +41 -0
- artifacts/seed_42_test_predictions.csv +0 -0
- bpe.codes +0 -0
- config.json +40 -0
- model.safetensors +3 -0
- special_tokens_map.json +9 -0
- tokenizer_config.json +55 -0
- training_args.bin +3 -0
- vocab.txt +0 -0
README.md
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
language:
|
| 3 |
+
- vi
|
| 4 |
+
library_name: transformers
|
| 5 |
+
pipeline_tag: text-classification
|
| 6 |
+
base_model: "vinai/phobert-base"
|
| 7 |
+
datasets:
|
| 8 |
+
- uitnlp/vietnamese_students_feedback
|
| 9 |
+
tags:
|
| 10 |
+
- vietnamese
|
| 11 |
+
- text-classification
|
| 12 |
+
- uit-vsfc-sentiment
|
| 13 |
+
- transfer
|
| 14 |
+
- eacl-2027
|
| 15 |
+
- uit-vsfc
|
| 16 |
+
- sentiment-analysis
|
| 17 |
+
metrics:
|
| 18 |
+
- f1
|
| 19 |
+
- accuracy
|
| 20 |
+
---
|
| 21 |
+
|
| 22 |
+
# phobert-base-UITVSFC-S
|
| 23 |
+
|
| 24 |
+
This model is `vinai/phobert-base` fine-tuned for **UITVSFC-S** on UIT-VSFC.
|
| 25 |
+
|
| 26 |
+
## Evaluation protocol
|
| 27 |
+
|
| 28 |
+
- Dataset size: 16,175 examples.
|
| 29 |
+
- Shared fixed splits for S and T: 12,940 train / 1,617 development / 1,618 test.
|
| 30 |
+
- Split seed: 42; jointly stratified by sentiment–topic labels with exact duplicate groups kept in one split.
|
| 31 |
+
- Fine-tuning seeds: [42, 22, 202].
|
| 32 |
+
- Training: 3 epoch(s), AdamW, learning rate 2e-05, weight decay 0.01, warmup ratio 0.1.
|
| 33 |
+
- Effective train batch size: 64.
|
| 34 |
+
- Maximum sequence length: 256.
|
| 35 |
+
- Input mode: VnCoreNLP RDRSegmenter 1.2 word-segmented Vietnamese.
|
| 36 |
+
- No class weighting, resampling, external metadata, images, engagement features, or test-time model selection.
|
| 37 |
+
- Checkpoints are selected by development Macro-F1. The representative published checkpoint is seed **22**, selected only by development Macro-F1.
|
| 38 |
+
|
| 39 |
+
## Results
|
| 40 |
+
|
| 41 |
+
Test metrics are reported as mean ± sample standard deviation over seeds [42, 22, 202].
|
| 42 |
+
|
| 43 |
+
| Metric | Mean ± std |
|
| 44 |
+
|---|---:|
|
| 45 |
+
| Test Macro-F1 | 0.8325 ± 0.0073 |
|
| 46 |
+
| Test accuracy | 0.9491 ± 0.0016 |
|
| 47 |
+
| Test macro precision | 0.8903 ± 0.0184 |
|
| 48 |
+
| Test macro recall | 0.8002 ± 0.0053 |
|
| 49 |
+
| Development Macro-F1 | 0.8588 ± 0.0073 |
|
| 50 |
+
|
| 51 |
+
### Per-seed results
|
| 52 |
+
|
| 53 |
+
| seed | dev_macro_f1 | test_macro_f1 | test_accuracy | micro_batch_size | gradient_accumulation_steps |
|
| 54 |
+
|-----------:|---------------:|----------------:|----------------:|-------------------:|------------------------------:|
|
| 55 |
+
| 22.000000 | 0.866755 | 0.837907 | 0.949320 | 64.000000 | 1.000000 |
|
| 56 |
+
| 42.000000 | 0.852248 | 0.835299 | 0.950556 | 64.000000 | 1.000000 |
|
| 57 |
+
| 202.000000 | 0.857497 | 0.824158 | 0.947466 | 64.000000 | 1.000000 |
|
| 58 |
+
|
| 59 |
+
## Label mapping
|
| 60 |
+
|
| 61 |
+
```json
|
| 62 |
+
{
|
| 63 |
+
"0": "negative",
|
| 64 |
+
"1": "neutral",
|
| 65 |
+
"2": "positive"
|
| 66 |
+
}
|
| 67 |
+
```
|
| 68 |
+
|
| 69 |
+
## Usage
|
| 70 |
+
|
| 71 |
+
```python
|
| 72 |
+
import torch
|
| 73 |
+
from transformers import AutoModelForSequenceClassification, AutoTokenizer
|
| 74 |
+
|
| 75 |
+
model_id = "BaoNhan/phobert-base-UITVSFC-S"
|
| 76 |
+
tokenizer = AutoTokenizer.from_pretrained(model_id, use_fast=False)
|
| 77 |
+
model = AutoModelForSequenceClassification.from_pretrained(model_id)
|
| 78 |
+
|
| 79 |
+
# This checkpoint follows PhoBERT-style preprocessing; segment raw Vietnamese with VnCoreNLP first.
|
| 80 |
+
text = "Đây là văn_bản tiếng_Việt đã được chuẩn_hóa ."
|
| 81 |
+
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=256)
|
| 82 |
+
with torch.no_grad():
|
| 83 |
+
probabilities = model(**inputs).logits.softmax(dim=-1)[0]
|
| 84 |
+
predicted_id = int(probabilities.argmax())
|
| 85 |
+
print(model.config.id2label[predicted_id], probabilities.tolist())
|
| 86 |
+
```
|
| 87 |
+
|
| 88 |
+
## Files
|
| 89 |
+
|
| 90 |
+
- `aggregate_metrics.json`: aggregate metrics and training manifest.
|
| 91 |
+
- `artifacts/per_seed_results.csv`: one row per fine-tuning seed.
|
| 92 |
+
- `artifacts/seed_*_confusion_matrix.csv`: confusion matrix for each seed.
|
| 93 |
+
- `artifacts/seed_*_classification_report.json`: per-class metrics.
|
| 94 |
+
- `artifacts/seed_*_test_predictions.csv`: IDs, gold/predicted labels and probabilities; raw text is excluded.
|
| 95 |
+
|
| 96 |
+
## Limitations
|
| 97 |
+
|
| 98 |
+
UIT-VSFC contains student feedback from a specific educational context. Performance may not transfer to other institutions, domains, informal writing styles, or newly emerging vocabulary. Predictions should not be treated as explanations of student intent.
|
| 99 |
+
|
| 100 |
+
## Dataset citation
|
| 101 |
+
|
| 102 |
+
```bibtex
|
| 103 |
+
@InProceedings{8573337,
|
| 104 |
+
author={Nguyen, Kiet Van and Nguyen, Vu Duc and Nguyen, Phu X. V. and Truong, Tham T. H. and Nguyen, Ngan Luu-Thuy},
|
| 105 |
+
booktitle={2018 10th International Conference on Knowledge and Systems Engineering (KSE)},
|
| 106 |
+
title={UIT-VSFC: Vietnamese Students' Feedback Corpus for Sentiment Analysis},
|
| 107 |
+
year={2018},
|
| 108 |
+
pages={19--24},
|
| 109 |
+
doi={10.1109/KSE.2018.8573337}
|
| 110 |
+
}
|
| 111 |
+
```
|
added_tokens.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"<mask>": 64000
|
| 3 |
+
}
|
aggregate_metrics.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"test_macro_f1_mean": 0.8324547653903752,
|
| 3 |
+
"test_macro_f1_std": 0.007302740931579332,
|
| 4 |
+
"test_macro_f1_text": "0.8325 ± 0.0073",
|
| 5 |
+
"test_accuracy_mean": 0.9491141326740832,
|
| 6 |
+
"test_accuracy_std": 0.0015553841028576004,
|
| 7 |
+
"test_accuracy_text": "0.9491 ± 0.0016",
|
| 8 |
+
"test_macro_precision_mean": 0.8902978363806081,
|
| 9 |
+
"test_macro_precision_std": 0.018442065017888327,
|
| 10 |
+
"test_macro_precision_text": "0.8903 ± 0.0184",
|
| 11 |
+
"test_macro_recall_mean": 0.800244788120481,
|
| 12 |
+
"test_macro_recall_std": 0.00529049423535965,
|
| 13 |
+
"test_macro_recall_text": "0.8002 ± 0.0053",
|
| 14 |
+
"dev_macro_f1_mean": 0.8588332191333613,
|
| 15 |
+
"dev_macro_f1_std": 0.007345678325996933,
|
| 16 |
+
"dev_macro_f1_text": "0.8588 ± 0.0073",
|
| 17 |
+
"task": "UIT-VSFC-sentiment",
|
| 18 |
+
"dataset": "UIT-VSFC",
|
| 19 |
+
"model_key": "phobert",
|
| 20 |
+
"model_name": "PhoBERT-base",
|
| 21 |
+
"base_model": "vinai/phobert-base",
|
| 22 |
+
"seeds": [
|
| 23 |
+
22,
|
| 24 |
+
42,
|
| 25 |
+
202
|
| 26 |
+
],
|
| 27 |
+
"representative_seed": 22,
|
| 28 |
+
"selection_rule": "maximum development Macro-F1; seed ascending tie-break",
|
| 29 |
+
"split_seed": 42,
|
| 30 |
+
"max_length": 256,
|
| 31 |
+
"epochs": 3,
|
| 32 |
+
"effective_batch_size": 64
|
| 33 |
+
}
|
artifacts/per_seed_results.csv
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
seed,dev_macro_f1,test_macro_f1,test_accuracy,test_macro_precision,test_macro_recall,test_weighted_f1,micro_batch_size,gradient_accumulation_steps,effective_batch_size,wall_seconds
|
| 2 |
+
22,0.8667554102383873,0.8379073008379212,0.9493201483312732,0.8920574123829293,0.8062276401283147,0.9463231800277144,64,1,64,42.48523855209351
|
| 3 |
+
42,0.8522475938819106,0.8352991724918549,0.9505562422744128,0.9077970494769788,0.7983226799568929,0.9468792101938832,64,1,64,44.07595777511597
|
| 4 |
+
202,0.8574966532797857,0.8241578228413494,0.9474660074165636,0.871039047281916,0.7961840442762358,0.9442736951416952,64,1,64,43.962039947509766
|
artifacts/seed_202_classification_report.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"negative": {
|
| 3 |
+
"precision": 0.955026455026455,
|
| 4 |
+
"recall": 0.9691275167785235,
|
| 5 |
+
"f1-score": 0.9620253164556962,
|
| 6 |
+
"support": 745.0
|
| 7 |
+
},
|
| 8 |
+
"neutral": {
|
| 9 |
+
"precision": 0.7045454545454546,
|
| 10 |
+
"recall": 0.4492753623188406,
|
| 11 |
+
"f1-score": 0.5486725663716814,
|
| 12 |
+
"support": 69.0
|
| 13 |
+
},
|
| 14 |
+
"positive": {
|
| 15 |
+
"precision": 0.9535452322738386,
|
| 16 |
+
"recall": 0.9701492537313433,
|
| 17 |
+
"f1-score": 0.9617755856966708,
|
| 18 |
+
"support": 804.0
|
| 19 |
+
},
|
| 20 |
+
"accuracy": 0.9474660074165636,
|
| 21 |
+
"macro avg": {
|
| 22 |
+
"precision": 0.871039047281916,
|
| 23 |
+
"recall": 0.7961840442762358,
|
| 24 |
+
"f1-score": 0.8241578228413494,
|
| 25 |
+
"support": 1618.0
|
| 26 |
+
},
|
| 27 |
+
"weighted avg": {
|
| 28 |
+
"precision": 0.9436085983352976,
|
| 29 |
+
"recall": 0.9474660074165636,
|
| 30 |
+
"f1-score": 0.9442736951416952,
|
| 31 |
+
"support": 1618.0
|
| 32 |
+
}
|
| 33 |
+
}
|
artifacts/seed_202_confusion_matrix.csv
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
,pred_0,pred_1,pred_2
|
| 2 |
+
true_0,722,5,18
|
| 3 |
+
true_1,18,31,20
|
| 4 |
+
true_2,16,8,780
|
artifacts/seed_202_run_metadata.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "completed",
|
| 3 |
+
"task": "UIT-VSFC-sentiment",
|
| 4 |
+
"dataset": "UIT-VSFC",
|
| 5 |
+
"model_key": "phobert",
|
| 6 |
+
"model_name": "PhoBERT-base",
|
| 7 |
+
"model_id": "vinai/phobert-base",
|
| 8 |
+
"base_revision": "c1e37c5c86f918761049cef6fa216b4779d0d01d",
|
| 9 |
+
"seed": 202,
|
| 10 |
+
"split_seed": 42,
|
| 11 |
+
"smoke_test": false,
|
| 12 |
+
"epochs": 3,
|
| 13 |
+
"num_labels": 3,
|
| 14 |
+
"max_length": 256,
|
| 15 |
+
"micro_batch_size": 64,
|
| 16 |
+
"gradient_accumulation_steps": 1,
|
| 17 |
+
"effective_batch_size": 64,
|
| 18 |
+
"per_device_eval_batch_size": 128,
|
| 19 |
+
"bf16": true,
|
| 20 |
+
"tf32": true,
|
| 21 |
+
"text_mode_resolved": "segmented",
|
| 22 |
+
"tokenizer_class": "PhobertTokenizer",
|
| 23 |
+
"model_class": "RobertaForSequenceClassification",
|
| 24 |
+
"model_type": "roberta",
|
| 25 |
+
"best_checkpoint": "/content/EACL_2027_UITVSFC/runs_ml256_a100_fast3/uit-vsfc-sentiment/phobert/seed-202/trainer_mb64_ga1/checkpoint-609",
|
| 26 |
+
"best_metric": 0.8574966532797857,
|
| 27 |
+
"best_model_dir": "/content/EACL_2027_UITVSFC/runs_ml256_a100_fast3/uit-vsfc-sentiment/phobert/seed-202/best_model",
|
| 28 |
+
"train_loss": 0.2576239512275984,
|
| 29 |
+
"wall_seconds": 43.962039947509766,
|
| 30 |
+
"dev_accuracy": 0.9499072356215214,
|
| 31 |
+
"dev_macro_precision": 0.896763726795645,
|
| 32 |
+
"dev_macro_recall": 0.8306641661907728,
|
| 33 |
+
"dev_macro_f1": 0.8574966532797857,
|
| 34 |
+
"dev_weighted_f1": 0.9479756999550458,
|
| 35 |
+
"test_accuracy": 0.9474660074165636,
|
| 36 |
+
"test_macro_precision": 0.871039047281916,
|
| 37 |
+
"test_macro_recall": 0.7961840442762358,
|
| 38 |
+
"test_macro_f1": 0.8241578228413494,
|
| 39 |
+
"test_weighted_f1": 0.9442736951416952,
|
| 40 |
+
"completed_at_utc": "2026-07-20T06:23:47.602837+00:00"
|
| 41 |
+
}
|
artifacts/seed_202_test_predictions.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
artifacts/seed_22_classification_report.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"negative": {
|
| 3 |
+
"precision": 0.9562334217506632,
|
| 4 |
+
"recall": 0.9677852348993289,
|
| 5 |
+
"f1-score": 0.961974649766511,
|
| 6 |
+
"support": 745.0
|
| 7 |
+
},
|
| 8 |
+
"neutral": {
|
| 9 |
+
"precision": 0.7674418604651163,
|
| 10 |
+
"recall": 0.4782608695652174,
|
| 11 |
+
"f1-score": 0.5892857142857143,
|
| 12 |
+
"support": 69.0
|
| 13 |
+
},
|
| 14 |
+
"positive": {
|
| 15 |
+
"precision": 0.9524969549330086,
|
| 16 |
+
"recall": 0.972636815920398,
|
| 17 |
+
"f1-score": 0.9624615384615385,
|
| 18 |
+
"support": 804.0
|
| 19 |
+
},
|
| 20 |
+
"accuracy": 0.9493201483312732,
|
| 21 |
+
"macro avg": {
|
| 22 |
+
"precision": 0.8920574123829293,
|
| 23 |
+
"recall": 0.8062276401283147,
|
| 24 |
+
"f1-score": 0.8379073008379212,
|
| 25 |
+
"support": 1618.0
|
| 26 |
+
},
|
| 27 |
+
"weighted avg": {
|
| 28 |
+
"precision": 0.9463256732648182,
|
| 29 |
+
"recall": 0.9493201483312732,
|
| 30 |
+
"f1-score": 0.9463231800277144,
|
| 31 |
+
"support": 1618.0
|
| 32 |
+
}
|
| 33 |
+
}
|
artifacts/seed_22_confusion_matrix.csv
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
,pred_0,pred_1,pred_2
|
| 2 |
+
true_0,721,4,20
|
| 3 |
+
true_1,17,33,19
|
| 4 |
+
true_2,16,6,782
|
artifacts/seed_22_run_metadata.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "completed",
|
| 3 |
+
"task": "UIT-VSFC-sentiment",
|
| 4 |
+
"dataset": "UIT-VSFC",
|
| 5 |
+
"model_key": "phobert",
|
| 6 |
+
"model_name": "PhoBERT-base",
|
| 7 |
+
"model_id": "vinai/phobert-base",
|
| 8 |
+
"base_revision": "c1e37c5c86f918761049cef6fa216b4779d0d01d",
|
| 9 |
+
"seed": 22,
|
| 10 |
+
"split_seed": 42,
|
| 11 |
+
"smoke_test": false,
|
| 12 |
+
"epochs": 3,
|
| 13 |
+
"num_labels": 3,
|
| 14 |
+
"max_length": 256,
|
| 15 |
+
"micro_batch_size": 64,
|
| 16 |
+
"gradient_accumulation_steps": 1,
|
| 17 |
+
"effective_batch_size": 64,
|
| 18 |
+
"per_device_eval_batch_size": 128,
|
| 19 |
+
"bf16": true,
|
| 20 |
+
"tf32": true,
|
| 21 |
+
"text_mode_resolved": "segmented",
|
| 22 |
+
"tokenizer_class": "PhobertTokenizer",
|
| 23 |
+
"model_class": "RobertaForSequenceClassification",
|
| 24 |
+
"model_type": "roberta",
|
| 25 |
+
"best_checkpoint": "/content/EACL_2027_UITVSFC/runs_ml256_a100_fast3/uit-vsfc-sentiment/phobert/seed-22/trainer_mb64_ga1/checkpoint-609",
|
| 26 |
+
"best_metric": 0.8667554102383873,
|
| 27 |
+
"best_model_dir": "/content/EACL_2027_UITVSFC/runs_ml256_a100_fast3/uit-vsfc-sentiment/phobert/seed-22/best_model",
|
| 28 |
+
"train_loss": 0.2567696720117027,
|
| 29 |
+
"wall_seconds": 42.485238552093506,
|
| 30 |
+
"dev_accuracy": 0.9505256648113791,
|
| 31 |
+
"dev_macro_precision": 0.8899813636655742,
|
| 32 |
+
"dev_macro_recall": 0.8483658902182034,
|
| 33 |
+
"dev_macro_f1": 0.8667554102383873,
|
| 34 |
+
"dev_weighted_f1": 0.9493649950132751,
|
| 35 |
+
"test_accuracy": 0.9493201483312732,
|
| 36 |
+
"test_macro_precision": 0.8920574123829293,
|
| 37 |
+
"test_macro_recall": 0.8062276401283147,
|
| 38 |
+
"test_macro_f1": 0.8379073008379212,
|
| 39 |
+
"test_weighted_f1": 0.9463231800277144,
|
| 40 |
+
"completed_at_utc": "2026-07-20T06:22:26.794364+00:00"
|
| 41 |
+
}
|
artifacts/seed_22_test_predictions.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
artifacts/seed_42_classification_report.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"negative": {
|
| 3 |
+
"precision": 0.9538866930171278,
|
| 4 |
+
"recall": 0.9718120805369127,
|
| 5 |
+
"f1-score": 0.9627659574468085,
|
| 6 |
+
"support": 745.0
|
| 7 |
+
},
|
| 8 |
+
"neutral": {
|
| 9 |
+
"precision": 0.8157894736842105,
|
| 10 |
+
"recall": 0.4492753623188406,
|
| 11 |
+
"f1-score": 0.5794392523364486,
|
| 12 |
+
"support": 69.0
|
| 13 |
+
},
|
| 14 |
+
"positive": {
|
| 15 |
+
"precision": 0.953714981729598,
|
| 16 |
+
"recall": 0.9738805970149254,
|
| 17 |
+
"f1-score": 0.9636923076923077,
|
| 18 |
+
"support": 804.0
|
| 19 |
+
},
|
| 20 |
+
"accuracy": 0.9505562422744128,
|
| 21 |
+
"macro avg": {
|
| 22 |
+
"precision": 0.9077970494769788,
|
| 23 |
+
"recall": 0.7983226799568929,
|
| 24 |
+
"f1-score": 0.8352991724918549,
|
| 25 |
+
"support": 1618.0
|
| 26 |
+
},
|
| 27 |
+
"weighted avg": {
|
| 28 |
+
"precision": 0.9479121787963952,
|
| 29 |
+
"recall": 0.9505562422744128,
|
| 30 |
+
"f1-score": 0.9468792101938831,
|
| 31 |
+
"support": 1618.0
|
| 32 |
+
}
|
| 33 |
+
}
|
artifacts/seed_42_confusion_matrix.csv
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
,pred_0,pred_1,pred_2
|
| 2 |
+
true_0,724,2,19
|
| 3 |
+
true_1,19,31,19
|
| 4 |
+
true_2,16,5,783
|
artifacts/seed_42_run_metadata.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "completed",
|
| 3 |
+
"task": "UIT-VSFC-sentiment",
|
| 4 |
+
"dataset": "UIT-VSFC",
|
| 5 |
+
"model_key": "phobert",
|
| 6 |
+
"model_name": "PhoBERT-base",
|
| 7 |
+
"model_id": "vinai/phobert-base",
|
| 8 |
+
"base_revision": "c1e37c5c86f918761049cef6fa216b4779d0d01d",
|
| 9 |
+
"seed": 42,
|
| 10 |
+
"split_seed": 42,
|
| 11 |
+
"smoke_test": false,
|
| 12 |
+
"epochs": 3,
|
| 13 |
+
"num_labels": 3,
|
| 14 |
+
"max_length": 256,
|
| 15 |
+
"micro_batch_size": 64,
|
| 16 |
+
"gradient_accumulation_steps": 1,
|
| 17 |
+
"effective_batch_size": 64,
|
| 18 |
+
"per_device_eval_batch_size": 128,
|
| 19 |
+
"bf16": true,
|
| 20 |
+
"tf32": true,
|
| 21 |
+
"text_mode_resolved": "segmented",
|
| 22 |
+
"tokenizer_class": "PhobertTokenizer",
|
| 23 |
+
"model_class": "RobertaForSequenceClassification",
|
| 24 |
+
"model_type": "roberta",
|
| 25 |
+
"best_checkpoint": "/content/EACL_2027_UITVSFC/runs_ml256_a100_fast3/uit-vsfc-sentiment/phobert/seed-42/trainer_mb64_ga1/checkpoint-609",
|
| 26 |
+
"best_metric": 0.8522475938819106,
|
| 27 |
+
"best_model_dir": "/content/EACL_2027_UITVSFC/runs_ml256_a100_fast3/uit-vsfc-sentiment/phobert/seed-42/best_model",
|
| 28 |
+
"train_loss": 0.25729619419241967,
|
| 29 |
+
"wall_seconds": 44.07595777511597,
|
| 30 |
+
"dev_accuracy": 0.9474335188620903,
|
| 31 |
+
"dev_macro_precision": 0.8936157851751888,
|
| 32 |
+
"dev_macro_recall": 0.8246244423591201,
|
| 33 |
+
"dev_macro_f1": 0.8522475938819106,
|
| 34 |
+
"dev_weighted_f1": 0.9453460273897113,
|
| 35 |
+
"test_accuracy": 0.9505562422744128,
|
| 36 |
+
"test_macro_precision": 0.9077970494769788,
|
| 37 |
+
"test_macro_recall": 0.7983226799568929,
|
| 38 |
+
"test_macro_f1": 0.8352991724918549,
|
| 39 |
+
"test_weighted_f1": 0.9468792101938831,
|
| 40 |
+
"completed_at_utc": "2026-07-20T06:21:07.289690+00:00"
|
| 41 |
+
}
|
artifacts/seed_42_test_predictions.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
bpe.codes
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
config.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_name_or_path": "vinai/phobert-base",
|
| 3 |
+
"architectures": [
|
| 4 |
+
"RobertaForSequenceClassification"
|
| 5 |
+
],
|
| 6 |
+
"attention_probs_dropout_prob": 0.1,
|
| 7 |
+
"bos_token_id": 0,
|
| 8 |
+
"classifier_dropout": 0.1,
|
| 9 |
+
"eos_token_id": 2,
|
| 10 |
+
"gradient_checkpointing": false,
|
| 11 |
+
"hidden_act": "gelu",
|
| 12 |
+
"hidden_dropout_prob": 0.1,
|
| 13 |
+
"hidden_size": 768,
|
| 14 |
+
"id2label": {
|
| 15 |
+
"0": "negative",
|
| 16 |
+
"1": "neutral",
|
| 17 |
+
"2": "positive"
|
| 18 |
+
},
|
| 19 |
+
"initializer_range": 0.02,
|
| 20 |
+
"intermediate_size": 3072,
|
| 21 |
+
"label2id": {
|
| 22 |
+
"negative": 0,
|
| 23 |
+
"neutral": 1,
|
| 24 |
+
"positive": 2
|
| 25 |
+
},
|
| 26 |
+
"layer_norm_eps": 1e-05,
|
| 27 |
+
"max_position_embeddings": 258,
|
| 28 |
+
"model_type": "roberta",
|
| 29 |
+
"num_attention_heads": 12,
|
| 30 |
+
"num_hidden_layers": 12,
|
| 31 |
+
"pad_token_id": 1,
|
| 32 |
+
"position_embedding_type": "absolute",
|
| 33 |
+
"problem_type": "single_label_classification",
|
| 34 |
+
"tokenizer_class": "PhobertTokenizer",
|
| 35 |
+
"torch_dtype": "float32",
|
| 36 |
+
"transformers_version": "4.48.3",
|
| 37 |
+
"type_vocab_size": 1,
|
| 38 |
+
"use_cache": true,
|
| 39 |
+
"vocab_size": 64001
|
| 40 |
+
}
|
model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:01b3b3a5b60b5271f0568869c15a0949d0e13b136a17b328f8d2360066bf509d
|
| 3 |
+
size 540026460
|
special_tokens_map.json
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token": "<s>",
|
| 3 |
+
"cls_token": "<s>",
|
| 4 |
+
"eos_token": "</s>",
|
| 5 |
+
"mask_token": "<mask>",
|
| 6 |
+
"pad_token": "<pad>",
|
| 7 |
+
"sep_token": "</s>",
|
| 8 |
+
"unk_token": "<unk>"
|
| 9 |
+
}
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"added_tokens_decoder": {
|
| 3 |
+
"0": {
|
| 4 |
+
"content": "<s>",
|
| 5 |
+
"lstrip": false,
|
| 6 |
+
"normalized": false,
|
| 7 |
+
"rstrip": false,
|
| 8 |
+
"single_word": false,
|
| 9 |
+
"special": true
|
| 10 |
+
},
|
| 11 |
+
"1": {
|
| 12 |
+
"content": "<pad>",
|
| 13 |
+
"lstrip": false,
|
| 14 |
+
"normalized": false,
|
| 15 |
+
"rstrip": false,
|
| 16 |
+
"single_word": false,
|
| 17 |
+
"special": true
|
| 18 |
+
},
|
| 19 |
+
"2": {
|
| 20 |
+
"content": "</s>",
|
| 21 |
+
"lstrip": false,
|
| 22 |
+
"normalized": false,
|
| 23 |
+
"rstrip": false,
|
| 24 |
+
"single_word": false,
|
| 25 |
+
"special": true
|
| 26 |
+
},
|
| 27 |
+
"3": {
|
| 28 |
+
"content": "<unk>",
|
| 29 |
+
"lstrip": false,
|
| 30 |
+
"normalized": false,
|
| 31 |
+
"rstrip": false,
|
| 32 |
+
"single_word": false,
|
| 33 |
+
"special": true
|
| 34 |
+
},
|
| 35 |
+
"64000": {
|
| 36 |
+
"content": "<mask>",
|
| 37 |
+
"lstrip": false,
|
| 38 |
+
"normalized": false,
|
| 39 |
+
"rstrip": false,
|
| 40 |
+
"single_word": false,
|
| 41 |
+
"special": true
|
| 42 |
+
}
|
| 43 |
+
},
|
| 44 |
+
"bos_token": "<s>",
|
| 45 |
+
"clean_up_tokenization_spaces": false,
|
| 46 |
+
"cls_token": "<s>",
|
| 47 |
+
"eos_token": "</s>",
|
| 48 |
+
"extra_special_tokens": {},
|
| 49 |
+
"mask_token": "<mask>",
|
| 50 |
+
"model_max_length": 1000000000000000019884624838656,
|
| 51 |
+
"pad_token": "<pad>",
|
| 52 |
+
"sep_token": "</s>",
|
| 53 |
+
"tokenizer_class": "PhobertTokenizer",
|
| 54 |
+
"unk_token": "<unk>"
|
| 55 |
+
}
|
training_args.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ab8cc583eabff0d43984400a7ba5b31f52cb58d852a084466cf55ade1978519c
|
| 3 |
+
size 5496
|
vocab.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|