|
--- |
|
language: |
|
- fr |
|
|
|
license: mit |
|
|
|
datasets: |
|
- MLSUM |
|
|
|
pipeline_tag: "text-classification" |
|
|
|
widget: |
|
- text: La bourse de paris en forte baisse après que des canards ont envahit le parlement. |
|
|
|
tags: |
|
- text-classification |
|
- flaubert |
|
--- |
|
|
|
# Classification d'articles de presses avec Flaubert |
|
|
|
Ce modèle ce base sur le modèle [`flaubert/flaubert_base_cased`](https://huggingface.co/flaubert/flaubert_base_cased) et à été fine-tuné en utilisant des articles de presse issus de la base de données MLSUM. |
|
Dans leur papier, les équipes de reciTAL et de la Sorbonne ont proposé comme ouverture de réaliser un modèle de détection de topic sur les articles de presse. |
|
|
|
Les topics ont été extrait à partir des URL et nous avons effectué une étape de regroupement de topics pour éliminer ceux avec un trop faible volume et ceux qui paraissaient redondants. |
|
|
|
Nous avons finalement utilisé la liste de topics suivante: |
|
* Culture |
|
* Economie |
|
* Education |
|
* Environement |
|
* Justice |
|
* Opinion |
|
* Politique |
|
* Societe |
|
* Sport |
|
* Technologie |
|
|
|
## Entrainement |
|
|
|
Nous avons benchmarké différents modèles en les entrainant sur différentes parties des articles (titre, résumé, corps et titre+résumé) et avec des échantillons d'apprentissage de tailles différentes. |
|
|
|
![Performance](./assets/Accuracy_cat.png) |
|
|
|
Les modèles ont été entrainé sur un cloud Azure avec des Tesla V100. |
|
|
|
## Résulats |
|
|
|
![Matrice de confusion](assets/confusion_cat_m_0.2.png) |
|
*Les lignes correspondent aux labels prédits et les colonnes aux véritables topics. Les pourcentages sont calculés sur les colonnes.* |
|
|
|
## Utilisation |
|
|
|
```python |
|
from transformers import AutoTokenizer, AutoModelForSequenceClassification |
|
from transformers import TextClassificationPipeline |
|
|
|
model_name = 'lincoln/flaubert-mlsum-topic-classification' |
|
|
|
loaded_tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
loaded_model = AutoModelForSequenceClassification.from_pretrained(model_name) |
|
|
|
nlp = TextClassificationPipeline(model=loaded_model, tokenizer=loaded_tokenizer) |
|
nlp("Le Bayern Munich prend la grenadine.") |
|
``` |
|
|
|
## Citation |
|
|
|
```bibtex |
|
@article{scialom2020mlsum, |
|
title={MLSUM: The Multilingual Summarization Corpus}, |
|
author={Thomas Scialom and Paul-Alexis Dray and Sylvain Lamprier and Benjamin Piwowarski and Jacopo Staiano}, |
|
year={2020}, |
|
eprint={2004.14900}, |
|
archivePrefix={arXiv}, |
|
primaryClass={cs.CL} |
|
} |
|
``` |