poltextlab's picture
Update gated prompt
0c9ddc7 verified
metadata
license: cc-by-4.0
language:
  - multilingual
tags:
  - zero-shot-classification
  - text-classification
  - pytorch
metrics:
  - recall
  - precision
  - f1-score
extra_gated_prompt: >-
  Our models are intended for academic projects and academic research only. If
  you are not affiliated with an academic institution, please reach out to us at
  huggingface [at] poltextlab [dot] com for further inquiry. If we cannot
  clearly determine your academic affiliation and use case based on your form
  data, your request may be rejected. Please allow us a few business days to
  manually review subscriptions.
extra_gated_fields:
  Country: country
  Institution: text
  Institution Email: text
  Full Name: text
  Please specify your academic project/use case you want to use the models for: text

xlm-roberta-large-pooled-cap-media

Model description

An xlm-roberta-large model finetuned on multilingual (english, german, hungarian, spanish, slovakian) training data labelled with major topic codes from the Comparative Agendas Project. Furthermore we used 7 additional media codes, following Boydstun (2013):

  • State and Local Government Administration (24)
  • Weather and Natural Disaster (26)
  • Fires(27)
  • Sports and Recreation (29)
  • Death Notices (30)
  • Churches and Religion (31)
  • Other, Miscellaneous and Human Interest (99)

How to use the model

from transformers import AutoTokenizer, pipeline

tokenizer = AutoTokenizer.from_pretrained("xlm-roberta-large")
pipe = pipeline(
    model="poltextlab/xlm-roberta-large-pooled-cap-media",
    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.

Overall Performance:

  • Accuracy: 78.8%
  • Macro Avg: Precision: 0.75, Recall: 0.81, F1-score: 0.77
  • Weighted Avg: Precision: 0.80, Recall: 0.79, F1-score: 0.79

Per-Class Metrics:

Label Precision Recall F1-score Support
Macroeconomics 0.73 0.73 0.73 3210
Civil Rights 0.48 0.70 0.57 1886
Health 0.78 0.83 0.80 2702
Agriculture 0.61 0.84 0.70 811
Labor 0.62 0.72 0.67 1277
Education 0.78 0.88 0.83 2080
Environment 0.73 0.80 0.77 1283
Energy 0.74 0.85 0.79 1370
Immigration 0.56 0.84 0.67 514
Transportation 0.75 0.83 0.79 2375
Law and Crime 0.79 0.70 0.74 6590
Social Welfare 0.54 0.74 0.62 683
Housing 0.60 0.76 0.67 1023
Domestic Commerce 0.73 0.65 0.69 3342
Defense 0.68 0.79 0.73 4021
Technology 0.66 0.78 0.72 1375
Foreign Trade 0.47 0.73 0.57 533
International Affairs 0.82 0.67 0.74 7365
Government Operations 0.88 0.65 0.75 9633
Public Lands 0.53 0.68 0.60 554
Culture 0.68 0.74 0.71 2142
State and Local Government Administration 0.85 0.86 0.86 2852
Weather and Natural Disasters 0.97 0.99 0.98 2942
Fires 0.95 0.97 0.96 2236
Sports and Recreation 0.91 0.93 0.92 1638
Death Notices 0.95 0.98 0.96 2928
Churches and Religions 0.96 0.97 0.97 2895
Other, Miscellaneous, and Human Interest 0.94 0.92 0.93 2639
No Policy Content 0.96 0.96 0.96 2458

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.

Debugging and issues

This architecture uses the sentencepiece tokenizer. In order to run 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.