manifesto-project/manifestoberta-xlm-roberta-56policy-topics-sentence-2023-1-1

manifesto-project
Clasificación de texto

Un modelo xlm-roberta-large afinado con ~1,6 millones de declaraciones anotadas contenidas en el Manifesto Corpus (versión 2023a). El modelo se puede usar para categorizar cualquier tipo de texto en 56 temas políticos diferentes según el esquema de codificación del Proyecto Manifesto (Handbook 4). Funciona para todos los idiomas en los que el modelo xlm-roberta está preentrenado, solo hay que tener en cuenta que rendirá mejor para los 38 idiomas contenidos en el Manifesto Corpus:

Como usar

import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer

model = AutoModelForSequenceClassification.from_pretrained("manifesto-project/manifestoberta-xlm-roberta-56policy-topics-sentence-2023-1-1")
tokenizer = AutoTokenizer.from_pretrained("xlm-roberta-large")

sentence = "Restauraremos la financiación al Fondo para el Medio Ambiente Mundial y al Panel Intergubernamental sobre Cambio Climático, para apoyar la investigación científica crítica sobre el clima en todo el mundo"

inputs = tokenizer(sentence,
return_tensors="pt",
max_length=200, # limitamos la entrada a 200 tokens durante el ajuste fino
padding="max_length",
truncation=True
)

logits = model(**inputs).logits

probabilities = torch.softmax(logits, dim=1).tolist()[0]
probabilities = {model.config.id2label[index]: round(probability * 100, 2) for index, probability in enumerate(probabilities)}
probabilities = dict(sorted(probabilities.items(), key=lambda item: item[1], reverse=True))
print(probabilities)
# {'501 - Protección Ambiental: Positiva': 67.28, '411 - Tecnología e Infraestructura': 15.19, '107 - Internacionalismo: Positivo': 13.63, '416 - Economía Anti-Crecimiento: Positiva': 2.02...

predicted_class = model.config.id2label[logits.argmax().item()]
print(predicted_class)
# 501 - Protección Ambiental: Positiva

Funcionalidades

Clasificación de texto en 56 temas políticos diferentes
Afinado con el Manifesto Corpus
Compatible con múltiples idiomas

Casos de uso

Clasificación automática de declaraciones políticas
Análisis del discurso político
Investigación en ciencias sociales