classla/xlm-roberta-base-multilingual-text-genre-classifier

classla
Clasificación de texto

Un modelo de clasificación de texto basado en xlm-roberta-base y ajustado en un conjunto de datos multilingüe anotado manualmente, llamado X-GENRE. Este modelo puede ser utilizado para la identificación automática de géneros aplicado a cualquier texto en un idioma que sea compatible con xlm-roberta-base. Los detalles sobre el desarrollo del modelo, los conjuntos de datos y el rendimiento del modelo en diferentes experimentos multilingües son proporcionados en el artículo 'Automatic Genre Identification for Robust Enrichment of Massive Text Collections: Investigation of Classification Methods in the Era of Large Language Models' (Kuzman et al., 2023).

Como usar

Un ejemplo de cómo preparar los datos para la identificación de géneros y el post-procesamiento de los resultados se puede encontrar aquí, donde aplicamos el clasificador X-GENRE a la parte en inglés de los corpus paralelos MaCoCu. Para obtener resultados confiables, el clasificador de géneros debe aplicarse a documentos de longitud suficiente (la regla general es al menos 75 palabras). Se recomienda que las predicciones con una confianza superior al 0.9 no se utilicen. Además, la etiqueta 'Otro' puede usarse como otro indicador de baja confianza en las predicciones, ya que a menudo indica que el texto no tiene suficientes características de ningún género, y estas predicciones también pueden descartarse. Después del post-procesamiento propuesto (eliminación de predicciones de baja confianza, etiquetas 'Otro' y, en este caso específico, también la etiqueta 'Foro'), el rendimiento en los datos MaCoCu basado en la inspección manual alcanzó una F1 macro y micro de 0.92.

from simpletransformers.classification import ClassificationModel
model_args= {
'num_train_epochs': 15,
'learning_rate': 1e-5,
'max_seq_length': 512,
'silent': True
}
model = ClassificationModel(
'xlmroberta', 'classla/xlm-roberta-base-multilingual-text-genre-classifier', use_cuda=True,
args=model_args
    
)
predictions, logit_output = model.predict(['How to create a good text classification model? First step is to prepare good data. Make sure not to skip the exploratory data analysis. Pre-process the text if necessary for the task. The next step is to perform hyperparameter search to find the optimum hyperparameters. After fine-tuning the model, you should look into the predictions and analyze the model's performance. You might want to perform the post-processing of data as well and keep only reliable predictions.',
'On our site, you can find a great genre identification model which you can use for thousands of different tasks. With our model, you can fastly and reliably obtain high-quality genre predictions and explore which genres exist in your corpora. Available for free!']
)
predictions
# Output: array([3, 8])

[model.config.id2label[i] for i in predictions]
# Output: ['Instruction', 'Promotion']

Funcionalidades

Clasificación de texto
Soporte multilingüe
Basado en transformers y PyTorch
Compatible con safetensors
Identificación automática de géneros
Ajustado con el conjunto de datos X-GENRE

Casos de uso

Identificación automática de géneros
Enriquecimiento de grandes colecciones de texto con información de género
Clasificación de documentos en múltiples idiomas