Francois Vieille
commited on
Commit
•
8fb7d94
1
Parent(s):
3268289
deploy new model
Browse files- .gitignore +1 -0
- README.md +28 -14
- config.json +20 -19
- pytorch_model.bin +2 -2
- tf_model.h5 +2 -2
- tokenizer_config.json +1 -1
.gitignore
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
draft.py
|
README.md
CHANGED
@@ -19,22 +19,29 @@ tags:
|
|
19 |
|
20 |
# Classification d'articles de presses avec Flaubert
|
21 |
|
22 |
-
Ce modèle
|
23 |
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.
|
24 |
|
25 |
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.
|
26 |
|
27 |
-
Nous avons finalement utilisé la liste de topics
|
28 |
-
|
29 |
-
*
|
30 |
-
*
|
31 |
-
*
|
32 |
-
*
|
33 |
-
*
|
34 |
-
*
|
35 |
-
*
|
36 |
-
*
|
37 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
39 |
## Entrainement
|
40 |
|
@@ -42,13 +49,20 @@ Nous avons benchmarké différents modèles en les entrainant sur différentes p
|
|
42 |
|
43 |
![Performance](./assets/Accuracy_cat.png)
|
44 |
|
45 |
-
Les modèles ont été entrainé sur
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
## Résulats
|
48 |
|
49 |
![Matrice de confusion](assets/confusion_cat_m_0.2.png)
|
50 |
*Les lignes correspondent aux labels prédits et les colonnes aux véritables topics. Les pourcentages sont calculés sur les colonnes.*
|
51 |
|
|
|
|
|
52 |
## Utilisation
|
53 |
|
54 |
```python
|
@@ -61,7 +75,7 @@ loaded_tokenizer = AutoTokenizer.from_pretrained(model_name)
|
|
61 |
loaded_model = AutoModelForSequenceClassification.from_pretrained(model_name)
|
62 |
|
63 |
nlp = TextClassificationPipeline(model=loaded_model, tokenizer=loaded_tokenizer)
|
64 |
-
nlp("Le Bayern Munich prend la grenadine.")
|
65 |
```
|
66 |
|
67 |
## Citation
|
|
|
19 |
|
20 |
# Classification d'articles de presses avec Flaubert
|
21 |
|
22 |
+
Ce modèle se 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.
|
23 |
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.
|
24 |
|
25 |
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.
|
26 |
|
27 |
+
Nous avons finalement utilisé la liste de topics avec les regroupements suivants:
|
28 |
+
|
29 |
+
* __Economie__: economie, argent, emploi, entreprises, economie-francaise, immobilier, crise-financiere, evasion-fiscale, economie-mondiale, m-voiture, smart-cities, automobile, logement, flottes-d-entreprise, import, crise-de-l-euro, guide-des-impots, le-club-de-l-economie, telephonie-mobile
|
30 |
+
* __Opinion__: idees, les-decodeurs, tribunes
|
31 |
+
* __Politique__: politique, election-presidentielle-2012, election-presidentielle-2017, elections-americaines, municipales, referendum-sur-le-brexit, elections-legislatives-2017, elections-regionales, donald-trump, elections-regionales-2015, europeennes-2014, elections-cantonales-2011, primaire-parti-socialiste, gouvernement-philippe, elections-departementales-2015, chroniques-de-la-presidence-trump, primaire-de-la-gauche, la-republique-en-marche, elections-americaines-mi-mandat-2018, elections, elections-italiennes, elections-senatoriales
|
32 |
+
* __Societe__: societe, sante, attaques-a-paris, immigration-et-diversite, religions, medecine, francaises-francais, mobilite
|
33 |
+
* __Culture__: televisions-radio, musiques, festival, arts, scenes, festival-de-cannes, mode, bande-dessinee, architecture, vins, photo, m-mode, fashion-week, les-recettes-du-monde, tele-zapping, critique-litteraire, festival-d-avignon, m-gastronomie-le-lieu, les-enfants-akira, gastronomie, culture, livres, cinema, actualite-medias, blog, m-gastronomie
|
34 |
+
* __Sport__: sport, football, jeux-olympiques, ligue-1, tennis, coupe-du-monde, mondial-2018, rugby, euro-2016, jeux-olympiques-rio-2016, cyclisme, ligue-des-champions, basket, roland-garros, athletisme, tour-de-france, euro2012, jeux-olympiques-pyeongchang-2018, coupe-du-monde-rugby, formule-1, voile, top-14, ski, handball, sports-mecaniques, sports-de-combat, blog-du-tour-de-france, sport-et-societe, sports-de-glisse, tournoi-des-6-nations
|
35 |
+
* __Environement__: planete, climat, biodiversite, pollution, energies, cop21
|
36 |
+
* __Technologie__: pixels, technologies, sciences, cosmos, la-france-connectee, trajectoires-digitales
|
37 |
+
* __Education__: campus, education, bac-lycee, enseignement-superieur, ecole-primaire-et-secondaire, o21, orientation-scolaire, brevet-college
|
38 |
+
* __Justice__: police-justice, panama-papers, affaire-penelope-fillon, documents-wikileaks, enquetes, paradise-papers
|
39 |
+
|
40 |
+
Les thèmes ayant moins de 100 articles n'ont pas été pris en compte.
|
41 |
+
Nous avons également mis de côté les articles faisant référence à des topics geographiques, ce qui a donné lieu à un nouveau modèle de classification.
|
42 |
+
Après nettoyage, la base MLSUM a été réduite à 293 995 articles. Le corps d'un article en moyenne comporte 694 tokens.
|
43 |
+
|
44 |
+
Nous avons entrainé le modèle sur 20% de la base nettoyée. En moyenne, le nombre d'articles par classe est de ~4K.
|
45 |
|
46 |
## Entrainement
|
47 |
|
|
|
49 |
|
50 |
![Performance](./assets/Accuracy_cat.png)
|
51 |
|
52 |
+
Les modèles ont été entrainé sur le cloud Azure avec des Tesla V100.
|
53 |
+
|
54 |
+
## Modèle
|
55 |
+
|
56 |
+
Le modèle partagé sur HF est le modéle qui prend en entrée le corps d'un article. Nous l'avons entrainé sur 20% du jeu de donnée nettoyé.
|
57 |
+
|
58 |
|
59 |
## Résulats
|
60 |
|
61 |
![Matrice de confusion](assets/confusion_cat_m_0.2.png)
|
62 |
*Les lignes correspondent aux labels prédits et les colonnes aux véritables topics. Les pourcentages sont calculés sur les colonnes.*
|
63 |
|
64 |
+
_Nous garantissons pas les résultats sur le long terme. Modèle réalisé dans le cadre d'un POC._
|
65 |
+
|
66 |
## Utilisation
|
67 |
|
68 |
```python
|
|
|
75 |
loaded_model = AutoModelForSequenceClassification.from_pretrained(model_name)
|
76 |
|
77 |
nlp = TextClassificationPipeline(model=loaded_model, tokenizer=loaded_tokenizer)
|
78 |
+
nlp("Le Bayern Munich prend la grenadine.", truncation=True)
|
79 |
```
|
80 |
|
81 |
## Citation
|
config.json
CHANGED
@@ -22,15 +22,15 @@
|
|
22 |
"group_by_size": true,
|
23 |
"id2label": {
|
24 |
"0": "Culture",
|
25 |
-
"1": "
|
26 |
-
"2": "
|
27 |
-
"3": "
|
28 |
-
"4": "
|
29 |
-
"5": "
|
30 |
-
"6": "
|
31 |
-
"7": "
|
32 |
-
"8": "
|
33 |
-
"9": "
|
34 |
},
|
35 |
"id2lang": {
|
36 |
"0": "fr"
|
@@ -39,15 +39,15 @@
|
|
39 |
"is_encoder": true,
|
40 |
"label2id": {
|
41 |
"Culture": 0,
|
42 |
-
"
|
43 |
-
"
|
44 |
-
"
|
45 |
-
"
|
46 |
-
"
|
47 |
-
"
|
48 |
-
"
|
49 |
-
"
|
50 |
-
"
|
51 |
},
|
52 |
"lang2id": {
|
53 |
"fr": 0
|
@@ -88,7 +88,8 @@
|
|
88 |
"summary_type": "first",
|
89 |
"summary_use_proj": true,
|
90 |
"tokens_per_batch": -1,
|
91 |
-
"
|
|
|
92 |
"unk_index": 3,
|
93 |
"use_lang_emb": true,
|
94 |
"vocab_size": 68729,
|
|
|
22 |
"group_by_size": true,
|
23 |
"id2label": {
|
24 |
"0": "Culture",
|
25 |
+
"1": "Economie",
|
26 |
+
"2": "Education",
|
27 |
+
"3": "Environement",
|
28 |
+
"4": "Justice",
|
29 |
+
"5": "Opinion",
|
30 |
+
"6": "Politique",
|
31 |
+
"7": "Societe",
|
32 |
+
"8": "Sport",
|
33 |
+
"9": "Technologie"
|
34 |
},
|
35 |
"id2lang": {
|
36 |
"0": "fr"
|
|
|
39 |
"is_encoder": true,
|
40 |
"label2id": {
|
41 |
"Culture": 0,
|
42 |
+
"Economie": 1,
|
43 |
+
"Education": 2,
|
44 |
+
"Environement": 3,
|
45 |
+
"Justice": 4,
|
46 |
+
"Opinion": 5,
|
47 |
+
"Politique": 6,
|
48 |
+
"Societe": 7,
|
49 |
+
"Sport": 8,
|
50 |
+
"Technologie": 9
|
51 |
},
|
52 |
"lang2id": {
|
53 |
"fr": 0
|
|
|
88 |
"summary_type": "first",
|
89 |
"summary_use_proj": true,
|
90 |
"tokens_per_batch": -1,
|
91 |
+
"torch_dtype": "float32",
|
92 |
+
"transformers_version": "4.11.3",
|
93 |
"unk_index": 3,
|
94 |
"use_lang_emb": true,
|
95 |
"vocab_size": 68729,
|
pytorch_model.bin
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:b0ef7ad4d0b8257d4477987a0caee2a1c9507f6c6f7a686affcc274cd8c0d1d7
|
3 |
+
size 553030261
|
tf_model.h5
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3cacca89c5f6c0786bf64a425fb90fa3d4a62ba669190ecdd1e041aa29683573
|
3 |
+
size 553185776
|
tokenizer_config.json
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"unk_token": "<unk>", "bos_token": "<s>", "sep_token": "</s>", "pad_token": "<pad>", "cls_token": "</s>", "mask_token": "<special1>", "additional_special_tokens": ["<special0>", "<special1>", "<special2>", "<special3>", "<special4>", "<special5>", "<special6>", "<special7>", "<special8>", "<special9>"], "lang2id": null, "id2lang": null, "do_lowercase_and_remove_accent": true, "model_max_length": 512, "name_or_path": "flaubert/flaubert_base_cased"}
|
|
|
1 |
+
{"unk_token": "<unk>", "bos_token": "<s>", "sep_token": "</s>", "pad_token": "<pad>", "cls_token": "</s>", "mask_token": "<special1>", "additional_special_tokens": ["<special0>", "<special1>", "<special2>", "<special3>", "<special4>", "<special5>", "<special6>", "<special7>", "<special8>", "<special9>"], "lang2id": null, "id2lang": null, "do_lowercase_and_remove_accent": true, "model_max_length": 512, "name_or_path": "flaubert/flaubert_base_cased", "tokenizer_class": "FlaubertTokenizer"}
|