Noirci v14-base : detection de donnees personnelles en francais
Browse filesCamemBERT reentraine sur de la correspondance professionnelle francaise,
exporte en ONNX int8 (186 Mo, processeur).
Mesure sur documents reels annotes a la main, pipeline complet : 3,96 % de
fuite sur le jeu de validation tenu a l'ecart, 0,00 % sur 1 037 personnes.
Une entite n'est comptee protegee que si 100 % de ses caracteres
significatifs sont masques : un nom a moitie masque est une fuite, pas un
demi-succes.
Le corpus d'entrainement melange du synthetique metier, du WikiNER francais
et de la prose reelle a VALEURS SUBSTITUEES : la structure vient de vrais
documents, chaque entite a ete remplacee par une autre valeur reelle du
meme type tiree de sources publiques. Aucune donnee client ne subsiste.
Point non evident : la forme de surface des societes a ete realignee sur la
distribution observee. Les pools BODACC et SIRENE stockent les raisons
sociales en capitales, d'ou un corpus a 65 % de majuscules contre 17 % dans
la vraie correspondance. Le modele apprenait qu'une societe est un mot en
capitales. Corriger cette seule distribution a fait passer les societes de
9,7 a 6,7 % de fuite.
- .gitattributes +2 -0
- LICENSE +21 -0
- NOTICE +38 -0
- README.md +106 -0
- config.json +143 -0
- model.safetensors +3 -0
- onnx/config.json +141 -0
- onnx/model_int8.onnx +3 -0
- onnx/tokenizer.json +0 -0
- tokenizer.json +0 -0
- tokenizer_config.json +20 -0
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2026 5000.dev (Loïc Boutet)
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Sources tierces et attributions
|
| 2 |
+
|
| 3 |
+
Ce projet redistribue ou dérive des ressources suivantes.
|
| 4 |
+
|
| 5 |
+
## Données
|
| 6 |
+
|
| 7 |
+
- **BODACC** (annonces commerciales, DILA/data.gouv.fr) — Licence Ouverte
|
| 8 |
+
v2.0. Utilisé pour : jeux d'évaluation réels, pools de valeurs réelles.
|
| 9 |
+
- **INSEE base SIRENE** (StockUniteLegale) — Licence Ouverte v2.0.
|
| 10 |
+
Utilisé pour : gazetteer des dénominations d'entreprises.
|
| 11 |
+
- **INSEE fichier des prénoms** (nat2022) — Licence Ouverte v2.0.
|
| 12 |
+
- **geo.api.gouv.fr / COG** (communes) — Licence Ouverte v2.0.
|
| 13 |
+
- **WikiNER-fr-gold** (danrun/WikiNER-fr-gold, HuggingFace) —
|
| 14 |
+
**CC-BY-4.0**. Utilisé pour : jeu d'éval hors domaine et tranche du
|
| 15 |
+
corpus d'entraînement. Attribution requise, y compris pour les modèles
|
| 16 |
+
entraînés dessus.
|
| 17 |
+
- **Wikidata** (marques et éditeurs de logiciels) — CC0.
|
| 18 |
+
- **an-array-of-french-words** — MIT. Utilisé pour : filtre lexical du
|
| 19 |
+
gazetteer.
|
| 20 |
+
- **ai4privacy/pii-masking-200k** — licence restrictive (usage commercial
|
| 21 |
+
sur accord écrit). Utilisé UNIQUEMENT en évaluation comparative, JAMAIS
|
| 22 |
+
en entraînement. Non redistribué.
|
| 23 |
+
|
| 24 |
+
## Modèles
|
| 25 |
+
|
| 26 |
+
- **cmarkea/distilcamembert-base** — MIT. Socle de nos fine-tunes.
|
| 27 |
+
- **almanach/camembert-base** — MIT. Socle de la variante 110M.
|
| 28 |
+
- **Jean-Baptiste/camembert-ner** — MIT. Moteur PERSON/CITY du pipeline.
|
| 29 |
+
- **Anonym-IA/V2-camembert-ner-pii-french** — MIT. Filet du pipeline
|
| 30 |
+
serveur.
|
| 31 |
+
|
| 32 |
+
## Ce qui N'EST PAS publié
|
| 33 |
+
|
| 34 |
+
- Toute donnée réelle de correspondance (`data/private/`) : données
|
| 35 |
+
personnelles de tiers, jamais versionnées ni redistribuées.
|
| 36 |
+
- Les fichiers de modèles et gazetteers volumineux : régénérables via les
|
| 37 |
+
manifests (`data/*.manifest.json`) qui contiennent la commande exacte et
|
| 38 |
+
le sha256 de contrôle.
|
|
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
language: fr
|
| 3 |
+
license: mit
|
| 4 |
+
library_name: onnx
|
| 5 |
+
tags:
|
| 6 |
+
- token-classification
|
| 7 |
+
- pii
|
| 8 |
+
- anonymization
|
| 9 |
+
- french
|
| 10 |
+
- camembert
|
| 11 |
+
base_model: almanach/camembert-base
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# Noirci — détection de données personnelles en français
|
| 15 |
+
|
| 16 |
+
Modèle de reconnaissance d'entités entraîné pour **pseudonymiser de la
|
| 17 |
+
correspondance professionnelle française** avant de l'envoyer à un LLM.
|
| 18 |
+
Exporté en ONNX quantifié int8 : 186 Mo, tourne sur CPU.
|
| 19 |
+
|
| 20 |
+
Développé par [5000.dev](https://5000.dev). Code et benchmark :
|
| 21 |
+
https://github.com/5000dev/noirci
|
| 22 |
+
|
| 23 |
+
## La métrique compte autant que le modèle
|
| 24 |
+
|
| 25 |
+
Une entité n'est protégée que si **100 % de ses caractères significatifs
|
| 26 |
+
sont masqués**. Masquer « Jean » dans « Jean Dupont » est compté comme une
|
| 27 |
+
fuite, pas comme un demi-succès : le nom de famille est parti chez le
|
| 28 |
+
fournisseur du LLM. Les scores F1 par token, usuels dans la littérature,
|
| 29 |
+
récompensent ces demi-succès et surestiment fortement la protection réelle.
|
| 30 |
+
|
| 31 |
+
On mesure donc deux choses séparément : le **taux de fuite** (l'entité
|
| 32 |
+
a-t-elle été entièrement masquée) et le **taux de sur-masquage** (combien de
|
| 33 |
+
texte inutile a été masqué au passage).
|
| 34 |
+
|
| 35 |
+
## Résultats
|
| 36 |
+
|
| 37 |
+
Sur de la correspondance professionnelle française authentique, annotée à la
|
| 38 |
+
main. Le modèle n'est qu'une couche du pipeline complet ; les chiffres
|
| 39 |
+
ci-dessous sont ceux du pipeline `lite2`.
|
| 40 |
+
|
| 41 |
+
| Jeu | Documents | Entités | Fuite | Sur-masquage |
|
| 42 |
+
|---|---|---|---|---|
|
| 43 |
+
| Validation (tenu à l'écart) | 72 | 555 | 3,96 % | 17,7 % |
|
| 44 |
+
| Entraînement | 407 | 3 576 | 3,30 % | 11,2 % |
|
| 45 |
+
| Aveugle (annoté avant exécution) | 7 | 55 | 5,45 % | 8,0 % |
|
| 46 |
+
|
| 47 |
+
Par type sur le jeu le plus large : PERSON 0,00 %, URL 0,60 %, CITY 1,47 %,
|
| 48 |
+
ADDRESS 1,74 %, PHONE 2,59 %, DATE 3,58 %, AMOUNT 4,58 %, COMPANY 5,70 %.
|
| 49 |
+
Les identifiants à somme de contrôle (SIREN, SIRET, TVA, IBAN, NIR) sont à
|
| 50 |
+
0,00 % : ils sont traités par la couche déterministe, pas par le modèle.
|
| 51 |
+
|
| 52 |
+
## Ce que le modèle a appris, et pourquoi
|
| 53 |
+
|
| 54 |
+
Le corpus d'entraînement mélange du synthétique métier (juridique, compta,
|
| 55 |
+
RH, immobilier, administratif), du WikiNER français, et de la **prose réelle
|
| 56 |
+
à valeurs substituées** : de vrais documents dont chaque entité a été
|
| 57 |
+
remplacée par une autre valeur réelle du même type, tirée de sources
|
| 58 |
+
publiques (BODACC, INSEE). La structure vient du réel, aucune donnée client
|
| 59 |
+
ne subsiste.
|
| 60 |
+
|
| 61 |
+
Un point non évident : la **forme de surface** des sociétés a été réalignée
|
| 62 |
+
sur la distribution observée. Les pools BODACC et SIRENE stockent les
|
| 63 |
+
raisons sociales en capitales, ce qui donnait un corpus à 65 % de
|
| 64 |
+
majuscules contre 17 % dans la vraie correspondance. Le modèle apprenait
|
| 65 |
+
qu'« une société, c'est un mot en capitales » et ratait 40 % des marques
|
| 66 |
+
écrites normalement, en simple capitale initiale. Corriger cette seule
|
| 67 |
+
distribution a fait passer les sociétés de 9,7 % à 6,7 % de fuite.
|
| 68 |
+
|
| 69 |
+
## Contenu du dépôt
|
| 70 |
+
|
| 71 |
+
| Fichier | |
|
| 72 |
+
|---|---|
|
| 73 |
+
| `model.safetensors` | les poids en float32, pour réentraîner ou réexporter |
|
| 74 |
+
| `onnx/model_int8.onnx` | l'export quantifié, 186 Mo, tourne sur processeur |
|
| 75 |
+
| `tokenizer.json` | **sans troncature**. Le fichier sauvé après entraînement en embarquait une, silencieuse, à 192 tokens : la fin de tout document long n'était jamais analysée. Si vous repartez d'un autre export, vérifiez ce point. |
|
| 76 |
+
|
| 77 |
+
## Utilisation
|
| 78 |
+
|
| 79 |
+
Le modèle seul n'est pas suffisant. Il est conçu comme une couche d'un
|
| 80 |
+
pipeline qui comprend aussi des regex à checksums, des gazetteers (communes
|
| 81 |
+
INSEE, dénominations SIRENE) et une passe de propagation document entier.
|
| 82 |
+
Voir le dépôt GitHub.
|
| 83 |
+
|
| 84 |
+
```python
|
| 85 |
+
from bench.detect.run import DETECTORS
|
| 86 |
+
spans = DETECTORS["lite2"]("Bonjour, je suis Claire Baudry de la Verrerie Delaunay.")
|
| 87 |
+
```
|
| 88 |
+
|
| 89 |
+
## Limites
|
| 90 |
+
|
| 91 |
+
- **Français uniquement.** Quelques formats anglo-saxons sont couverts parce
|
| 92 |
+
qu'ils apparaissent dans de la correspondance française, mais ce n'est pas
|
| 93 |
+
un modèle multilingue.
|
| 94 |
+
- **Le sur-masquage est réel**, entre 8 et 15 %. Environ un mot masqué sur
|
| 95 |
+
sept l'est inutilement.
|
| 96 |
+
- **Les benchmarks synthétiques sont saturés** (0,04 % de fuite) et ne
|
| 97 |
+
discriminent plus rien. Ne jugez pas ce modèle dessus.
|
| 98 |
+
- **Le périmètre exclut les plateformes grand public** (Zoom, Excel, Stripe,
|
| 99 |
+
Figma). Ce sont des noms de produits, pas des données personnelles, et les
|
| 100 |
+
masquer dégrade la réponse du LLM sans rien protéger.
|
| 101 |
+
|
| 102 |
+
## Licence et attributions
|
| 103 |
+
|
| 104 |
+
MIT. Modèle de base : `almanach/camembert-base` (MIT). Données
|
| 105 |
+
d'entraînement dérivées de WikiNER (CC-BY), BODACC et INSEE SIRENE (Licence
|
| 106 |
+
Ouverte), Wikidata (CC0). Voir `NOTICE` dans le dépôt.
|
|
@@ -0,0 +1,143 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_cross_attention": false,
|
| 3 |
+
"architectures": [
|
| 4 |
+
"CamembertForTokenClassification"
|
| 5 |
+
],
|
| 6 |
+
"attention_probs_dropout_prob": 0.1,
|
| 7 |
+
"bos_token_id": 5,
|
| 8 |
+
"classifier_dropout": null,
|
| 9 |
+
"dtype": "float32",
|
| 10 |
+
"eos_token_id": 6,
|
| 11 |
+
"hidden_act": "gelu",
|
| 12 |
+
"hidden_dropout_prob": 0.1,
|
| 13 |
+
"hidden_size": 768,
|
| 14 |
+
"id2label": {
|
| 15 |
+
"0": "O",
|
| 16 |
+
"1": "B-PERSON",
|
| 17 |
+
"2": "I-PERSON",
|
| 18 |
+
"3": "B-COMPANY",
|
| 19 |
+
"4": "I-COMPANY",
|
| 20 |
+
"5": "B-ADDRESS",
|
| 21 |
+
"6": "I-ADDRESS",
|
| 22 |
+
"7": "B-CITY",
|
| 23 |
+
"8": "I-CITY",
|
| 24 |
+
"9": "B-EMAIL",
|
| 25 |
+
"10": "I-EMAIL",
|
| 26 |
+
"11": "B-PHONE",
|
| 27 |
+
"12": "I-PHONE",
|
| 28 |
+
"13": "B-DATE",
|
| 29 |
+
"14": "I-DATE",
|
| 30 |
+
"15": "B-DATE_BIRTH",
|
| 31 |
+
"16": "I-DATE_BIRTH",
|
| 32 |
+
"17": "B-IBAN",
|
| 33 |
+
"18": "I-IBAN",
|
| 34 |
+
"19": "B-NIR",
|
| 35 |
+
"20": "I-NIR",
|
| 36 |
+
"21": "B-SIREN",
|
| 37 |
+
"22": "I-SIREN",
|
| 38 |
+
"23": "B-SIRET",
|
| 39 |
+
"24": "I-SIRET",
|
| 40 |
+
"25": "B-TVA",
|
| 41 |
+
"26": "I-TVA",
|
| 42 |
+
"27": "B-CARD",
|
| 43 |
+
"28": "I-CARD",
|
| 44 |
+
"29": "B-PLATE",
|
| 45 |
+
"30": "I-PLATE",
|
| 46 |
+
"31": "B-RG",
|
| 47 |
+
"32": "I-RG",
|
| 48 |
+
"33": "B-CADASTRE",
|
| 49 |
+
"34": "I-CADASTRE",
|
| 50 |
+
"35": "B-IP",
|
| 51 |
+
"36": "I-IP",
|
| 52 |
+
"37": "B-AMOUNT",
|
| 53 |
+
"38": "I-AMOUNT",
|
| 54 |
+
"39": "B-REF",
|
| 55 |
+
"40": "I-REF",
|
| 56 |
+
"41": "B-URL",
|
| 57 |
+
"42": "I-URL",
|
| 58 |
+
"43": "B-SECRET",
|
| 59 |
+
"44": "I-SECRET",
|
| 60 |
+
"45": "B-USERAGENT",
|
| 61 |
+
"46": "I-USERAGENT",
|
| 62 |
+
"47": "B-MAC",
|
| 63 |
+
"48": "I-MAC",
|
| 64 |
+
"49": "B-IPV6",
|
| 65 |
+
"50": "I-IPV6",
|
| 66 |
+
"51": "B-AGE",
|
| 67 |
+
"52": "I-AGE",
|
| 68 |
+
"53": "B-ACCOUNT",
|
| 69 |
+
"54": "I-ACCOUNT"
|
| 70 |
+
},
|
| 71 |
+
"initializer_range": 0.02,
|
| 72 |
+
"intermediate_size": 3072,
|
| 73 |
+
"is_decoder": false,
|
| 74 |
+
"label2id": {
|
| 75 |
+
"B-ACCOUNT": 53,
|
| 76 |
+
"B-ADDRESS": 5,
|
| 77 |
+
"B-AGE": 51,
|
| 78 |
+
"B-AMOUNT": 37,
|
| 79 |
+
"B-CADASTRE": 33,
|
| 80 |
+
"B-CARD": 27,
|
| 81 |
+
"B-CITY": 7,
|
| 82 |
+
"B-COMPANY": 3,
|
| 83 |
+
"B-DATE": 13,
|
| 84 |
+
"B-DATE_BIRTH": 15,
|
| 85 |
+
"B-EMAIL": 9,
|
| 86 |
+
"B-IBAN": 17,
|
| 87 |
+
"B-IP": 35,
|
| 88 |
+
"B-IPV6": 49,
|
| 89 |
+
"B-MAC": 47,
|
| 90 |
+
"B-NIR": 19,
|
| 91 |
+
"B-PERSON": 1,
|
| 92 |
+
"B-PHONE": 11,
|
| 93 |
+
"B-PLATE": 29,
|
| 94 |
+
"B-REF": 39,
|
| 95 |
+
"B-RG": 31,
|
| 96 |
+
"B-SECRET": 43,
|
| 97 |
+
"B-SIREN": 21,
|
| 98 |
+
"B-SIRET": 23,
|
| 99 |
+
"B-TVA": 25,
|
| 100 |
+
"B-URL": 41,
|
| 101 |
+
"B-USERAGENT": 45,
|
| 102 |
+
"I-ACCOUNT": 54,
|
| 103 |
+
"I-ADDRESS": 6,
|
| 104 |
+
"I-AGE": 52,
|
| 105 |
+
"I-AMOUNT": 38,
|
| 106 |
+
"I-CADASTRE": 34,
|
| 107 |
+
"I-CARD": 28,
|
| 108 |
+
"I-CITY": 8,
|
| 109 |
+
"I-COMPANY": 4,
|
| 110 |
+
"I-DATE": 14,
|
| 111 |
+
"I-DATE_BIRTH": 16,
|
| 112 |
+
"I-EMAIL": 10,
|
| 113 |
+
"I-IBAN": 18,
|
| 114 |
+
"I-IP": 36,
|
| 115 |
+
"I-IPV6": 50,
|
| 116 |
+
"I-MAC": 48,
|
| 117 |
+
"I-NIR": 20,
|
| 118 |
+
"I-PERSON": 2,
|
| 119 |
+
"I-PHONE": 12,
|
| 120 |
+
"I-PLATE": 30,
|
| 121 |
+
"I-REF": 40,
|
| 122 |
+
"I-RG": 32,
|
| 123 |
+
"I-SECRET": 44,
|
| 124 |
+
"I-SIREN": 22,
|
| 125 |
+
"I-SIRET": 24,
|
| 126 |
+
"I-TVA": 26,
|
| 127 |
+
"I-URL": 42,
|
| 128 |
+
"I-USERAGENT": 46,
|
| 129 |
+
"O": 0
|
| 130 |
+
},
|
| 131 |
+
"layer_norm_eps": 1e-05,
|
| 132 |
+
"max_position_embeddings": 514,
|
| 133 |
+
"model_type": "camembert",
|
| 134 |
+
"num_attention_heads": 12,
|
| 135 |
+
"num_hidden_layers": 12,
|
| 136 |
+
"output_past": true,
|
| 137 |
+
"pad_token_id": 1,
|
| 138 |
+
"tie_word_embeddings": true,
|
| 139 |
+
"transformers_version": "5.14.1",
|
| 140 |
+
"type_vocab_size": 1,
|
| 141 |
+
"use_cache": true,
|
| 142 |
+
"vocab_size": 32005
|
| 143 |
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8722f24722ad4d99f41f86c59a26db61d5231cdfb075d20d6e11f9d8b1b4c866
|
| 3 |
+
size 440318556
|
|
@@ -0,0 +1,141 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architectures": [
|
| 3 |
+
"CamembertForTokenClassification"
|
| 4 |
+
],
|
| 5 |
+
"attention_probs_dropout_prob": 0.1,
|
| 6 |
+
"bos_token_id": 5,
|
| 7 |
+
"classifier_dropout": null,
|
| 8 |
+
"dtype": "float32",
|
| 9 |
+
"eos_token_id": 6,
|
| 10 |
+
"hidden_act": "gelu",
|
| 11 |
+
"hidden_dropout_prob": 0.1,
|
| 12 |
+
"hidden_size": 768,
|
| 13 |
+
"id2label": {
|
| 14 |
+
"0": "O",
|
| 15 |
+
"1": "B-PERSON",
|
| 16 |
+
"2": "I-PERSON",
|
| 17 |
+
"3": "B-COMPANY",
|
| 18 |
+
"4": "I-COMPANY",
|
| 19 |
+
"5": "B-ADDRESS",
|
| 20 |
+
"6": "I-ADDRESS",
|
| 21 |
+
"7": "B-CITY",
|
| 22 |
+
"8": "I-CITY",
|
| 23 |
+
"9": "B-EMAIL",
|
| 24 |
+
"10": "I-EMAIL",
|
| 25 |
+
"11": "B-PHONE",
|
| 26 |
+
"12": "I-PHONE",
|
| 27 |
+
"13": "B-DATE",
|
| 28 |
+
"14": "I-DATE",
|
| 29 |
+
"15": "B-DATE_BIRTH",
|
| 30 |
+
"16": "I-DATE_BIRTH",
|
| 31 |
+
"17": "B-IBAN",
|
| 32 |
+
"18": "I-IBAN",
|
| 33 |
+
"19": "B-NIR",
|
| 34 |
+
"20": "I-NIR",
|
| 35 |
+
"21": "B-SIREN",
|
| 36 |
+
"22": "I-SIREN",
|
| 37 |
+
"23": "B-SIRET",
|
| 38 |
+
"24": "I-SIRET",
|
| 39 |
+
"25": "B-TVA",
|
| 40 |
+
"26": "I-TVA",
|
| 41 |
+
"27": "B-CARD",
|
| 42 |
+
"28": "I-CARD",
|
| 43 |
+
"29": "B-PLATE",
|
| 44 |
+
"30": "I-PLATE",
|
| 45 |
+
"31": "B-RG",
|
| 46 |
+
"32": "I-RG",
|
| 47 |
+
"33": "B-CADASTRE",
|
| 48 |
+
"34": "I-CADASTRE",
|
| 49 |
+
"35": "B-IP",
|
| 50 |
+
"36": "I-IP",
|
| 51 |
+
"37": "B-AMOUNT",
|
| 52 |
+
"38": "I-AMOUNT",
|
| 53 |
+
"39": "B-REF",
|
| 54 |
+
"40": "I-REF",
|
| 55 |
+
"41": "B-URL",
|
| 56 |
+
"42": "I-URL",
|
| 57 |
+
"43": "B-SECRET",
|
| 58 |
+
"44": "I-SECRET",
|
| 59 |
+
"45": "B-USERAGENT",
|
| 60 |
+
"46": "I-USERAGENT",
|
| 61 |
+
"47": "B-MAC",
|
| 62 |
+
"48": "I-MAC",
|
| 63 |
+
"49": "B-IPV6",
|
| 64 |
+
"50": "I-IPV6",
|
| 65 |
+
"51": "B-AGE",
|
| 66 |
+
"52": "I-AGE",
|
| 67 |
+
"53": "B-ACCOUNT",
|
| 68 |
+
"54": "I-ACCOUNT"
|
| 69 |
+
},
|
| 70 |
+
"initializer_range": 0.02,
|
| 71 |
+
"intermediate_size": 3072,
|
| 72 |
+
"label2id": {
|
| 73 |
+
"B-ACCOUNT": 53,
|
| 74 |
+
"B-ADDRESS": 5,
|
| 75 |
+
"B-AGE": 51,
|
| 76 |
+
"B-AMOUNT": 37,
|
| 77 |
+
"B-CADASTRE": 33,
|
| 78 |
+
"B-CARD": 27,
|
| 79 |
+
"B-CITY": 7,
|
| 80 |
+
"B-COMPANY": 3,
|
| 81 |
+
"B-DATE": 13,
|
| 82 |
+
"B-DATE_BIRTH": 15,
|
| 83 |
+
"B-EMAIL": 9,
|
| 84 |
+
"B-IBAN": 17,
|
| 85 |
+
"B-IP": 35,
|
| 86 |
+
"B-IPV6": 49,
|
| 87 |
+
"B-MAC": 47,
|
| 88 |
+
"B-NIR": 19,
|
| 89 |
+
"B-PERSON": 1,
|
| 90 |
+
"B-PHONE": 11,
|
| 91 |
+
"B-PLATE": 29,
|
| 92 |
+
"B-REF": 39,
|
| 93 |
+
"B-RG": 31,
|
| 94 |
+
"B-SECRET": 43,
|
| 95 |
+
"B-SIREN": 21,
|
| 96 |
+
"B-SIRET": 23,
|
| 97 |
+
"B-TVA": 25,
|
| 98 |
+
"B-URL": 41,
|
| 99 |
+
"B-USERAGENT": 45,
|
| 100 |
+
"I-ACCOUNT": 54,
|
| 101 |
+
"I-ADDRESS": 6,
|
| 102 |
+
"I-AGE": 52,
|
| 103 |
+
"I-AMOUNT": 38,
|
| 104 |
+
"I-CADASTRE": 34,
|
| 105 |
+
"I-CARD": 28,
|
| 106 |
+
"I-CITY": 8,
|
| 107 |
+
"I-COMPANY": 4,
|
| 108 |
+
"I-DATE": 14,
|
| 109 |
+
"I-DATE_BIRTH": 16,
|
| 110 |
+
"I-EMAIL": 10,
|
| 111 |
+
"I-IBAN": 18,
|
| 112 |
+
"I-IP": 36,
|
| 113 |
+
"I-IPV6": 50,
|
| 114 |
+
"I-MAC": 48,
|
| 115 |
+
"I-NIR": 20,
|
| 116 |
+
"I-PERSON": 2,
|
| 117 |
+
"I-PHONE": 12,
|
| 118 |
+
"I-PLATE": 30,
|
| 119 |
+
"I-REF": 40,
|
| 120 |
+
"I-RG": 32,
|
| 121 |
+
"I-SECRET": 44,
|
| 122 |
+
"I-SIREN": 22,
|
| 123 |
+
"I-SIRET": 24,
|
| 124 |
+
"I-TVA": 26,
|
| 125 |
+
"I-URL": 42,
|
| 126 |
+
"I-USERAGENT": 46,
|
| 127 |
+
"O": 0
|
| 128 |
+
},
|
| 129 |
+
"layer_norm_eps": 1e-05,
|
| 130 |
+
"max_position_embeddings": 514,
|
| 131 |
+
"model_type": "camembert",
|
| 132 |
+
"num_attention_heads": 12,
|
| 133 |
+
"num_hidden_layers": 12,
|
| 134 |
+
"output_past": true,
|
| 135 |
+
"pad_token_id": 1,
|
| 136 |
+
"position_embedding_type": "absolute",
|
| 137 |
+
"transformers_version": "4.57.6",
|
| 138 |
+
"type_vocab_size": 1,
|
| 139 |
+
"use_cache": true,
|
| 140 |
+
"vocab_size": 32005
|
| 141 |
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f44a1b00155e68c40f9be634f8fa452c016c87226f65fb53318afbda4f754223
|
| 3 |
+
size 186231335
|
|
The diff for this file is too large to render.
See raw diff
|
|
|
|
The diff for this file is too large to render.
See raw diff
|
|
|
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_prefix_space": true,
|
| 3 |
+
"backend": "tokenizers",
|
| 4 |
+
"bos_token": "<s>",
|
| 5 |
+
"cls_token": "<s>",
|
| 6 |
+
"eos_token": "</s>",
|
| 7 |
+
"extra_special_tokens": [
|
| 8 |
+
"<s>NOTUSED",
|
| 9 |
+
"</s>NOTUSED",
|
| 10 |
+
"<unk>NOTUSED"
|
| 11 |
+
],
|
| 12 |
+
"is_local": false,
|
| 13 |
+
"local_files_only": false,
|
| 14 |
+
"mask_token": "<mask>",
|
| 15 |
+
"pad_token": "<pad>",
|
| 16 |
+
"sep_token": "</s>",
|
| 17 |
+
"tokenizer_class": "CamembertTokenizer",
|
| 18 |
+
"unk_token": "<unk>",
|
| 19 |
+
"model_max_length": 512
|
| 20 |
+
}
|