Academic Main Text_Classifier (de)

This model is a fine-tuned version of FacebookAI/xlm-roberta-base on a labelled dataset of publications in the Bibliography of Linguistic Literature. It achieves the following results on the evaluation set:

  • Loss: 0.2342
  • Accuracy: 0.9385
  • Precision: 0.9385
  • Recall: 0.9385
  • F1: 0.9385

Model description

The model is fine-tuned with academic publications in Linguistics, to classify texts in publications into 4 classes as a filter to other tasks. Sentence-based data obtained from OCR-processed PDF files was annotated manually with the following classes:

  • 0: out of scope - materials that are of low significance, eg. page number and page header, noise from OCR/pdf-to-text convertion
  • 1: main text - texts that are the main texts of the publication, to be used for down-stream tasks
  • 2: examples - texts that are captions of the figures, or quotes or excerpts
  • 3: references - references of the publication, excluding in-text citations

Intended uses & limitations

Intended uses:

  • filter out noise from OCR of academic texts (conference papers, journals, books etc.)
  • extract main text in academic texts for down-stream NLP tasks

Limitations:

  • training and evaluation data is limited to English, and academic texts in Linguistics (though still to a higher extent usable for German texts)

How to run

from transformers import pipeline

# define model name
model_name = "ubffm/academic_text_classifier_de"

# run model with hf pipeline
## return output for the best label
## eg. [{'label': 'EXAMPLE', 'score': 0.9601941108703613}]
classifier = pipeline("text-classification", model=model_name, tokenizer=model_name)

## return output for all labels
## eg. [[{'label': 'OUT OF SCOPE', 'score': 0.007808608002960682}, {'label': 'MAIN TEXT', 'score': 0.028077520430088043}, {'label': 'EXAMPLE', 'score': 0.9601941108703613}, {'label': 'REFERENCE', 'score': 0.003919811453670263}]]
classifier = pipeline("text-classification", model=model_name, tokenizer=model_name, return_all_scores=True)

# Perform inference on your input text
your_text = "your text here."
result = classifier(your_text)

print(result)

Try it yourself with the following examples (not in training/ evaluation data)

Problematic cases

Training and evaluation data

Labelled dataset from open access publications of the Bibliography of Linguistic Literature (BLL)

  • Manually labelled dataset on Huggingface: ubffm/academic_main_text_classifier_de_annotated (https://huggingface.co/datasets/ubffm/academic_main_text_classifier_de_annotated)

  • The Bibliography of Linguistic Literature (BLL) is one of the most comprehensive sources of bibliographic information for the general linguistics with its subdomains and neighboring disciplines as well as for the English, German and Romance linguistics. The subject bibliography is based mainly on the library's holdings on linguistics. It lists monographs, dissertations, articles from periodicals, collective works, conference contributions, unpublished research papers, etc. The printed edition is published annually (at the end of each year) and covers the literature of the previous year and some supplements. Usually, it includes about 10,000 references per year. (Frankfurt a. M. : Klostermann, 1.1971/75(1976) - 47.2021 (2022)) (See more at https://www.ub.uni-frankfurt.de/linguistik/sammlung_en.html)

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 2e-05
  • train_batch_size: 32
  • eval_batch_size: 64
  • seed: 42
  • optimizer: Use adamw_torch_fused with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_steps: 500
  • num_epochs: 5

Training results

Training Loss Epoch Step Validation Loss Accuracy Precision Recall F1
0.9745 1.0 268 0.4236 0.8629 0.8629 0.8629 0.8629
0.4594 2.0 536 0.2755 0.9193 0.9193 0.9193 0.9193
0.2734 3.0 804 0.2541 0.9287 0.9287 0.9287 0.9287
0.2288 4.0 1072 0.2300 0.9329 0.9329 0.9329 0.9329
0.1909 5.0 1340 0.2342 0.9385 0.9385 0.9385 0.9385

Framework versions

  • Transformers 4.57.1
  • Pytorch 2.9.0+cu128
  • Datasets 4.2.0
  • Tokenizers 0.22.1
Downloads last month
2
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ubffm/academic_text_classifier_de

Finetuned
(3724)
this model