poltextlab's picture
usage guide update (gated access)
5f9d53b verified
metadata
language:
  - nl
tags:
  - text-classification
  - pytorch
metrics:
  - accuracy
  - f1-score
extra_gated_prompt: >-
  Our models are intended for academic use only. If you are not affiliated with
  an academic institution, please provide a rationale for using our models.

  If you use our models for your work or research, please cite this paper:
  Sebők, M., Máté, Á., Ring, O., Kovács, V., & Lehoczki, R. (2024). Leveraging
  Open Large Language Models for Multilingual Policy Topic Classification: The
  Babel Machine Approach. Social Science Computer Review, 0(0).
  https://doi.org/10.1177/08944393241259434
extra_gated_fields:
  Name: text
  Country: country
  Institution: text
  E-mail: text
  Use case: text

xlm-roberta-large-dutch-cap-v3

Model description

An xlm-roberta-large model fine-tuned on dutch training data labeled with major topic codes from the Comparative Agendas Project.

How to use the model

from transformers import AutoTokenizer, pipeline

tokenizer = AutoTokenizer.from_pretrained("xlm-roberta-large")
pipe = pipeline(
    model="poltextlab/xlm-roberta-large-dutch-cap-v3",
    task="text-classification",
    tokenizer=tokenizer,
    use_fast=False,
    token="<your_hf_read_only_token>"
)

text = "We will place an immediate 6-month halt on the finance driven closure of beds and wards, and set up an independent audit of needs and facilities."
pipe(text)

Gated access

Due to the gated access, you must pass the token parameter when loading the model. In earlier versions of the Transformers package, you may need to use the use_auth_token parameter instead.

Model performance

The model was evaluated on a test set of 6398 examples.
Model accuracy is 0.83.

label precision recall f1-score support
0 0.81 0.77 0.79 471
1 0.7 0.72 0.71 148
2 0.88 0.8 0.84 242
3 0.76 0.87 0.81 78
4 0.76 0.78 0.77 374
5 0.9 0.92 0.91 248
6 0.86 0.75 0.8 155
7 0.79 0.86 0.82 95
8 0.86 0.82 0.84 217
9 0.88 0.9 0.89 244
10 0.85 0.87 0.86 763
11 0.73 0.75 0.74 319
12 0.79 0.83 0.81 121
13 0.75 0.77 0.76 378
14 0.82 0.83 0.83 123
15 0.7 0.75 0.72 106
16 0.39 0.58 0.47 19
17 0.93 0.92 0.93 1136
18 0.86 0.84 0.85 903
19 0.64 0.75 0.69 72
20 0.86 0.82 0.84 186
macro avg 0.79 0.8 0.79 6398
weighted avg 0.84 0.83 0.83 6398

Fine-tuning procedure

This model was fine-tuned with the following key hyperparameters:

  • Number of Training Epochs: 10
  • Batch Size: 8
  • Learning Rate: 5e-06
  • Early Stopping: enabled with a patience of 2 epochs

Inference platform

This model is used by the CAP Babel Machine, an open-source and free natural language processing tool, designed to simplify and speed up projects for comparative research.

Cooperation

Model performance can be significantly improved by extending our training sets. We appreciate every submission of CAP-coded corpora (of any domain and language) at poltextlab{at}poltextlab{dot}com or by using the CAP Babel Machine.

Reference

Sebők, M., Máté, Á., Ring, O., Kovács, V., & Lehoczki, R. (2024). Leveraging Open Large Language Models for Multilingual Policy Topic Classification: The Babel Machine Approach. Social Science Computer Review, 0(0). https://doi.org/10.1177/08944393241259434

Debugging and issues

This architecture uses the sentencepiece tokenizer. In order to use the model before transformers==4.27 you need to install it manually.

If you encounter a RuntimeError when loading the model using the from_pretrained() method, adding ignore_mismatched_sizes=True should solve the issue.