--- tags: - generated_from_trainer base_model: - tartuNLP/EstBERT metrics: - accuracy model-index: - name: EstBERT128_Rubric results: - task: name: Text Classification type: text-classification metrics: - name: Accuracy type: accuracy value: 0.8329238295555115 language: et license: cc-by-4.0 widget: - text: >- Lumesadu ja tuisk levib Kagu-Eestist hommikuks üle maa, päeval läheb sadu intensiivsemaks. Nähtavus on halb. Lund lisandub 10, kohati kuni 20 cm. Tiheda saju, tugeva tuule ja tuisu tõttu halvenevad liiklustingimused. example_title: domestic - text: >- Brüsselis puhkenud korruptsiooniskandaalis kahtlustatakse eurosaadikuid Lähis-Idast meelehea vastuvõtmises. Kinnipeetute seas on üks Euroopa Parlamendi asepresidente, Belgia prokuratuuri tähelepanu orbiidis teisigi eurosaadikuid. example_title: world - text: >- Järgmiseks aastaks riigi poolt ette nähtud summa ajakirjanduse kojukandetoetuseks on sama mis kaks aastat tagasi. See tähendab märkimisväärset hinnatõusu ja reaalset ohtu, et ajakirjandus on muutumas luksusteenuseks. example_title: opinion pipeline_tag: text-classification --- # EstBERT128_Rubric This model is a fine-tuned version of [tartuNLP/EstBERT](https://huggingface.co/tartuNLP/EstBERT). It achieves the following results on the test set: - Loss: 2.0552 - Accuracy: 0.8329 ## How to use? You can use this model with the Transformers pipeline for text classification. ``` from transformers import AutoTokenizer, AutoModelForSequenceClassification from transformers import pipeline tokenizer = AutoTokenizer.from_pretrained("tartuNLP/EstBERT128_Rubric") model = AutoModelForSequenceClassification.from_pretrained("tartuNLP/EstBERT128_Rubric") nlp = pipeline("text-classification", model=model, tokenizer=tokenizer) text = "Kaia Kanepi (WTA 57.) langes USA-s Charlestonis toimuval WTA 500 kategooria tenniseturniiril konkurentsist kaheksandikfinaalis, kaotades poolatarile Magda Linette'ile (WTA 64.) 3 : 6, 6 : 4, 2 : 6." result = nlp(text) print(result) ``` ``` [{'label': 'SPORT', 'score': 0.9999998807907104}] ``` ## Model description A single linear layer classifier is fit on top of the last layer [CLS] token representation of the EstBERT model. The model is fully fine-tuned during training. ## Intended uses & limitations This model is intended to be used as it is. We hope that it can prove to be useful to somebody but we do not guarantee that the model is useful for anything or that the predictions are accurate on new data. ## Citation information If you use this model, please cite: ``` @inproceedings{tanvir2021estbert, title={EstBERT: A Pretrained Language-Specific BERT for Estonian}, author={Tanvir, Hasan and Kittask, Claudia and Eiche, Sandra and Sirts, Kairit}, booktitle={Proceedings of the 23rd Nordic Conference on Computational Linguistics (NoDaLiDa)}, pages={11--19}, year={2021} } ``` ## Training and evaluation data The model was trained and evaluated on the rubric categories of the [Estonian Valence dataset](http://peeter.eki.ee:5000/valence/paragraphsquery). The data was split into train/dev/test parts with 70/10/20 proportions. The nine rubric labels in the Estonian Valence dataset are: - ARVAMUS (opinion) - EESTI (domestic) - ELU-O (life) - KOMM-O-ELU (comments) - KOMM-P-EESTI (comments) - KRIMI (crime) - KULTUUR (culture) - SPORT (sports) - VALISMAA (world) It probably makes sense to treat the two comments categories (KOMM-O-ELU and KOMM-P-EESTI) as a single category. ## Training procedure The model was trained for maximu 100 epochs using early stopping procedure. After every epoch, the accuracy was calculated on the development set. If the development set accuracy did not improve for 20 epochs, the training was stopped. ### Training hyperparameters The following hyperparameters were used during training: - learning_rate: 5e-05 - train_batch_size: 16 - eval_batch_size: 16 - seed: 3 - optimizer: Adam with betas=(0.9,0.98) and epsilon=1e-06 - lr_scheduler_type: polynomial - num_epochs: 100 - mixed_precision_training: Native AMP ### Training results The final model was taken after 39th epoch. | Training Loss | Epoch | Step | Validation Loss | Accuracy | |:-------------:|:-----:|:-----:|:---------------:|:--------:| | 1.1147 | 1.0 | 179 | 0.7421 | 0.7445 | | 0.4323 | 2.0 | 358 | 0.6863 | 0.7813 | | 0.1442 | 3.0 | 537 | 0.8545 | 0.7838 | | 0.0496 | 4.0 | 716 | 1.2872 | 0.7494 | | 0.0276 | 5.0 | 895 | 1.4702 | 0.7641 | | 0.0202 | 6.0 | 1074 | 1.3764 | 0.7838 | | 0.0144 | 7.0 | 1253 | 1.5762 | 0.7887 | | 0.0078 | 8.0 | 1432 | 1.8806 | 0.7666 | | 0.0177 | 9.0 | 1611 | 1.6159 | 0.7912 | | 0.0223 | 10.0 | 1790 | 1.5863 | 0.7936 | | 0.0108 | 11.0 | 1969 | 1.8051 | 0.7912 | | 0.0201 | 12.0 | 2148 | 1.9344 | 0.7789 | | 0.0252 | 13.0 | 2327 | 1.7978 | 0.8084 | | 0.0104 | 14.0 | 2506 | 1.8779 | 0.7887 | | 0.0138 | 15.0 | 2685 | 1.6456 | 0.8133 | | 0.0066 | 16.0 | 2864 | 1.9668 | 0.7912 | | 0.0148 | 17.0 | 3043 | 2.0068 | 0.7813 | | 0.0128 | 18.0 | 3222 | 2.1539 | 0.7617 | | 0.0115 | 19.0 | 3401 | 2.2490 | 0.7838 | | 0.0186 | 20.0 | 3580 | 2.1768 | 0.7666 | | 0.0051 | 21.0 | 3759 | 1.8859 | 0.7912 | | 0.001 | 22.0 | 3938 | 2.0132 | 0.7912 | | 0.0133 | 23.0 | 4117 | 1.8786 | 0.8084 | | 0.0149 | 24.0 | 4296 | 2.2307 | 0.7961 | | 0.014 | 25.0 | 4475 | 2.0041 | 0.8206 | | 0.0132 | 26.0 | 4654 | 1.8872 | 0.8133 | | 0.0079 | 27.0 | 4833 | 1.9357 | 0.7961 | | 0.0078 | 28.0 | 5012 | 2.1891 | 0.7936 | | 0.0126 | 29.0 | 5191 | 2.0207 | 0.8034 | | 0.0003 | 30.0 | 5370 | 2.1917 | 0.8010 | | 0.0015 | 31.0 | 5549 | 2.0417 | 0.8157 | | 0.0056 | 32.0 | 5728 | 2.1172 | 0.8084 | | 0.0058 | 33.0 | 5907 | 2.1921 | 0.8206 | | 0.0001 | 34.0 | 6086 | 2.0079 | 0.8206 | | 0.0031 | 35.0 | 6265 | 2.2447 | 0.8206 | | 0.0007 | 36.0 | 6444 | 2.1802 | 0.8084 | | 0.0061 | 37.0 | 6623 | 2.1103 | 0.8157 | | 0.0 | 38.0 | 6802 | 2.2265 | 0.8084 | | 0.0035 | 39.0 | 6981 | 2.0549 | 0.8329 | | 0.0038 | 40.0 | 7160 | 2.1352 | 0.8182 | | 0.0001 | 41.0 | 7339 | 2.0975 | 0.8108 | | 0.0 | 42.0 | 7518 | 2.0833 | 0.8256 | | 0.0 | 43.0 | 7697 | 2.1020 | 0.8280 | | 0.0 | 44.0 | 7876 | 2.0841 | 0.8305 | | 0.0 | 45.0 | 8055 | 2.2085 | 0.8182 | | 0.0 | 46.0 | 8234 | 2.0756 | 0.8329 | | 0.0 | 47.0 | 8413 | 2.1237 | 0.8305 | | 0.0 | 48.0 | 8592 | 2.1217 | 0.8280 | | 0.0052 | 49.0 | 8771 | 2.3567 | 0.8059 | | 0.0014 | 50.0 | 8950 | 2.1710 | 0.8206 | | 0.0032 | 51.0 | 9129 | 2.1452 | 0.8206 | | 0.0 | 52.0 | 9308 | 2.2820 | 0.8133 | | 0.0001 | 53.0 | 9487 | 2.2279 | 0.8157 | | 0.0 | 54.0 | 9666 | 2.1841 | 0.8182 | | 0.0 | 55.0 | 9845 | 2.1208 | 0.8231 | | 0.0 | 56.0 | 10024 | 2.0967 | 0.8256 | | 0.0002 | 57.0 | 10203 | 2.1911 | 0.8231 | | 0.0 | 58.0 | 10382 | 2.2014 | 0.8231 | | 0.0 | 59.0 | 10561 | 2.2014 | 0.8182 | ### Framework versions - Transformers 4.14.1 - Pytorch 1.10.1+cu113 - Datasets 1.16.1 - Tokenizers 0.10.3 ### Contact Kairit Sirts: kairit.sirts@ut.ee