MaziyarPanahi commited on
Commit
cc6458c
·
verified ·
1 Parent(s): 5b8fae0

Upload French PII detection model OpenMed-PII-French-BiomedBERT-Base-110M-v1

Browse files
README.md ADDED
@@ -0,0 +1,305 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - fr
4
+ license: apache-2.0
5
+ base_model: microsoft/BiomedNLP-BiomedBERT-base-uncased-abstract
6
+ tags:
7
+ - token-classification
8
+ - ner
9
+ - pii
10
+ - pii-detection
11
+ - de-identification
12
+ - privacy
13
+ - healthcare
14
+ - medical
15
+ - clinical
16
+ - phi
17
+ - french
18
+ - pytorch
19
+ - transformers
20
+ - openmed
21
+ pipeline_tag: token-classification
22
+ library_name: transformers
23
+ metrics:
24
+ - f1
25
+ - precision
26
+ - recall
27
+ model-index:
28
+ - name: OpenMed-PII-French-BiomedBERT-Base-110M-v1
29
+ results:
30
+ - task:
31
+ type: token-classification
32
+ name: Named Entity Recognition
33
+ dataset:
34
+ name: AI4Privacy (French subset)
35
+ type: ai4privacy/pii-masking-400k
36
+ split: test
37
+ metrics:
38
+ - type: f1
39
+ value: 0.9466
40
+ name: F1 (micro)
41
+ - type: precision
42
+ value: 0.9428
43
+ name: Precision
44
+ - type: recall
45
+ value: 0.9504
46
+ name: Recall
47
+ widget:
48
+ - text: "Dr. Jean Dupont (NSS: 1 85 12 75 108 123 45) peut être contacté à jean.dupont@hopital.fr ou au 06 12 34 56 78. Il habite au 15 Rue de la Paix, 75002 Paris."
49
+ example_title: Clinical Note with PII (French)
50
+ ---
51
+
52
+ # OpenMed-PII-French-BiomedBERT-Base-110M-v1
53
+
54
+ **French PII Detection Model** | 110M Parameters | Open Source
55
+
56
+ [![F1 Score](https://img.shields.io/badge/F1-94.66%25-brightgreen)]() [![Precision](https://img.shields.io/badge/Precision-94.28%25-blue)]() [![Recall](https://img.shields.io/badge/Recall-95.04%25-orange)]()
57
+
58
+ ## Model Description
59
+
60
+ **OpenMed-PII-French-BiomedBERT-Base-110M-v1** is a transformer-based token classification model fine-tuned for **Personally Identifiable Information (PII) detection in French text**. This model identifies and classifies **54 types of sensitive information** including names, addresses, social security numbers, medical record numbers, and more.
61
+
62
+ ### Key Features
63
+
64
+ - **French-Optimized**: Specifically trained on French text for optimal performance
65
+ - **High Accuracy**: Achieves strong F1 scores across diverse PII categories
66
+ - **Comprehensive Coverage**: Detects 55+ entity types spanning personal, financial, medical, and contact information
67
+ - **Privacy-Focused**: Designed for de-identification and compliance with GDPR and other privacy regulations
68
+ - **Production-Ready**: Optimized for real-world text processing pipelines
69
+
70
+ ## Performance
71
+
72
+ Evaluated on the French subset of AI4Privacy dataset:
73
+
74
+ | Metric | Score |
75
+ |:---|:---:|
76
+ | **Micro F1** | **0.9466** |
77
+ | Precision | 0.9428 |
78
+ | Recall | 0.9504 |
79
+ | Macro F1 | 0.9318 |
80
+ | Weighted F1 | 0.9433 |
81
+ | Accuracy | 0.9925 |
82
+
83
+ ### Top 10 French PII Models
84
+
85
+ | Rank | Model | F1 | Precision | Recall |
86
+ |:---:|:---|:---:|:---:|:---:|
87
+ | 1 | [OpenMed-PII-French-SuperClinical-Large-434M-v1](https://huggingface.co/OpenMed/OpenMed-PII-French-SuperClinical-Large-434M-v1) | 0.9797 | 0.9790 | 0.9804 |
88
+ | 2 | [OpenMed-PII-French-EuroMed-210M-v1](https://huggingface.co/OpenMed/OpenMed-PII-French-EuroMed-210M-v1) | 0.9762 | 0.9747 | 0.9777 |
89
+ | 3 | [OpenMed-PII-French-ClinicalBGE-568M-v1](https://huggingface.co/OpenMed/OpenMed-PII-French-ClinicalBGE-568M-v1) | 0.9733 | 0.9718 | 0.9748 |
90
+ | 4 | [OpenMed-PII-French-BigMed-Large-560M-v1](https://huggingface.co/OpenMed/OpenMed-PII-French-BigMed-Large-560M-v1) | 0.9733 | 0.9716 | 0.9749 |
91
+ | 5 | [OpenMed-PII-French-SnowflakeMed-Large-568M-v1](https://huggingface.co/OpenMed/OpenMed-PII-French-SnowflakeMed-Large-568M-v1) | 0.9728 | 0.9711 | 0.9745 |
92
+ | 6 | [OpenMed-PII-French-SuperMedical-Large-355M-v1](https://huggingface.co/OpenMed/OpenMed-PII-French-SuperMedical-Large-355M-v1) | 0.9728 | 0.9712 | 0.9744 |
93
+ | 7 | [OpenMed-PII-French-NomicMed-Large-395M-v1](https://huggingface.co/OpenMed/OpenMed-PII-French-NomicMed-Large-395M-v1) | 0.9722 | 0.9704 | 0.9740 |
94
+ | 8 | [OpenMed-PII-French-mClinicalE5-Large-560M-v1](https://huggingface.co/OpenMed/OpenMed-PII-French-mClinicalE5-Large-560M-v1) | 0.9713 | 0.9697 | 0.9729 |
95
+ | 9 | [OpenMed-PII-French-mSuperClinical-Base-279M-v1](https://huggingface.co/OpenMed/OpenMed-PII-French-mSuperClinical-Base-279M-v1) | 0.9674 | 0.9662 | 0.9687 |
96
+ | 10 | [OpenMed-PII-French-ClinicalBGE-Large-335M-v1](https://huggingface.co/OpenMed/OpenMed-PII-French-ClinicalBGE-Large-335M-v1) | 0.9668 | 0.9644 | 0.9692 |
97
+
98
+ ## Supported Entity Types
99
+
100
+ This model detects **54 PII entity types** organized into categories:
101
+
102
+ <details>
103
+ <summary><strong>Identifiers</strong> (22 types)</summary>
104
+
105
+ | Entity | Description |
106
+ |:---|:---|
107
+ | `ACCOUNTNAME` | Accountname |
108
+ | `BANKACCOUNT` | Bankaccount |
109
+ | `BIC` | Bic |
110
+ | `BITCOINADDRESS` | Bitcoinaddress |
111
+ | `CREDITCARD` | Creditcard |
112
+ | `CREDITCARDISSUER` | Creditcardissuer |
113
+ | `CVV` | Cvv |
114
+ | `ETHEREUMADDRESS` | Ethereumaddress |
115
+ | `IBAN` | Iban |
116
+ | `IMEI` | Imei |
117
+ | ... | *and 12 more* |
118
+
119
+ </details>
120
+
121
+ <details>
122
+ <summary><strong>Personal Info</strong> (11 types)</summary>
123
+
124
+ | Entity | Description |
125
+ |:---|:---|
126
+ | `AGE` | Age |
127
+ | `DATEOFBIRTH` | Dateofbirth |
128
+ | `EYECOLOR` | Eyecolor |
129
+ | `FIRSTNAME` | Firstname |
130
+ | `GENDER` | Gender |
131
+ | `HEIGHT` | Height |
132
+ | `LASTNAME` | Lastname |
133
+ | `MIDDLENAME` | Middlename |
134
+ | `OCCUPATION` | Occupation |
135
+ | `PREFIX` | Prefix |
136
+ | ... | *and 1 more* |
137
+
138
+ </details>
139
+
140
+ <details>
141
+ <summary><strong>Contact Info</strong> (2 types)</summary>
142
+
143
+ | Entity | Description |
144
+ |:---|:---|
145
+ | `EMAIL` | Email |
146
+ | `PHONE` | Phone |
147
+
148
+ </details>
149
+
150
+ <details>
151
+ <summary><strong>Location</strong> (9 types)</summary>
152
+
153
+ | Entity | Description |
154
+ |:---|:---|
155
+ | `BUILDINGNUMBER` | Buildingnumber |
156
+ | `CITY` | City |
157
+ | `COUNTY` | County |
158
+ | `GPSCOORDINATES` | Gpscoordinates |
159
+ | `ORDINALDIRECTION` | Ordinaldirection |
160
+ | `SECONDARYADDRESS` | Secondaryaddress |
161
+ | `STATE` | State |
162
+ | `STREET` | Street |
163
+ | `ZIPCODE` | Zipcode |
164
+
165
+ </details>
166
+
167
+ <details>
168
+ <summary><strong>Organization</strong> (3 types)</summary>
169
+
170
+ | Entity | Description |
171
+ |:---|:---|
172
+ | `JOBDEPARTMENT` | Jobdepartment |
173
+ | `JOBTITLE` | Jobtitle |
174
+ | `ORGANIZATION` | Organization |
175
+
176
+ </details>
177
+
178
+ <details>
179
+ <summary><strong>Financial</strong> (5 types)</summary>
180
+
181
+ | Entity | Description |
182
+ |:---|:---|
183
+ | `AMOUNT` | Amount |
184
+ | `CURRENCY` | Currency |
185
+ | `CURRENCYCODE` | Currencycode |
186
+ | `CURRENCYNAME` | Currencyname |
187
+ | `CURRENCYSYMBOL` | Currencysymbol |
188
+
189
+ </details>
190
+
191
+ <details>
192
+ <summary><strong>Temporal</strong> (2 types)</summary>
193
+
194
+ | Entity | Description |
195
+ |:---|:---|
196
+ | `DATE` | Date |
197
+ | `TIME` | Time |
198
+
199
+ </details>
200
+
201
+ ## Usage
202
+
203
+ ### Quick Start
204
+
205
+ ```python
206
+ from transformers import pipeline
207
+
208
+ # Load the PII detection pipeline
209
+ ner = pipeline("ner", model="OpenMed/OpenMed-PII-French-BiomedBERT-Base-110M-v1", aggregation_strategy="simple")
210
+
211
+ text = """
212
+ Patient Jean Martin (né le 15/03/1985, NSS: 1 85 03 75 108 234 67) a été vu aujourd'hui.
213
+ Contact: jean.martin@email.fr, Téléphone: 06 12 34 56 78.
214
+ Adresse: 123 Avenue des Champs-Élysées, 75008 Paris.
215
+ """
216
+
217
+ entities = ner(text)
218
+ for entity in entities:
219
+ print(f"{entity['entity_group']}: {entity['word']} (score: {entity['score']:.3f})")
220
+ ```
221
+
222
+ ### De-identification Example
223
+
224
+ ```python
225
+ def redact_pii(text, entities, placeholder='[REDACTED]'):
226
+ """Replace detected PII with placeholders."""
227
+ # Sort entities by start position (descending) to preserve offsets
228
+ sorted_entities = sorted(entities, key=lambda x: x['start'], reverse=True)
229
+ redacted = text
230
+ for ent in sorted_entities:
231
+ redacted = redacted[:ent['start']] + f"[{ent['entity_group']}]" + redacted[ent['end']:]
232
+ return redacted
233
+
234
+ # Apply de-identification
235
+ redacted_text = redact_pii(text, entities)
236
+ print(redacted_text)
237
+ ```
238
+
239
+ ### Batch Processing
240
+
241
+ ```python
242
+ from transformers import AutoModelForTokenClassification, AutoTokenizer
243
+ import torch
244
+
245
+ model_name = "OpenMed/OpenMed-PII-French-BiomedBERT-Base-110M-v1"
246
+ model = AutoModelForTokenClassification.from_pretrained(model_name)
247
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
248
+
249
+ texts = [
250
+ "Patient Jean Martin (né le 15/03/1985, NSS: 1 85 03 75 108 234 67) a été vu aujourd'hui.",
251
+ "Contact: jean.martin@email.fr, Téléphone: 06 12 34 56 78.",
252
+ ]
253
+
254
+ inputs = tokenizer(texts, return_tensors='pt', padding=True, truncation=True)
255
+ with torch.no_grad():
256
+ outputs = model(**inputs)
257
+ predictions = torch.argmax(outputs.logits, dim=-1)
258
+ ```
259
+
260
+ ## Training Details
261
+
262
+ ### Dataset
263
+
264
+ - **Source**: [AI4Privacy PII Masking 400k](https://huggingface.co/datasets/ai4privacy/pii-masking-400k) (French subset)
265
+ - **Format**: BIO-tagged token classification
266
+ - **Labels**: 109 total (54 entity types × 2 BIO tags + O)
267
+
268
+ ### Training Configuration
269
+
270
+ - **Max Sequence Length**: 512 tokens
271
+ - **Epochs**: 3
272
+ - **Framework**: Hugging Face Transformers + Trainer API
273
+
274
+ ## Intended Use & Limitations
275
+
276
+ ### Intended Use
277
+
278
+ - **De-identification**: Automated redaction of PII in French clinical notes, medical records, and documents
279
+ - **Compliance**: Supporting GDPR, and other privacy regulation compliance
280
+ - **Data Preprocessing**: Preparing datasets for research by removing sensitive information
281
+ - **Audit Support**: Identifying PII in document collections
282
+
283
+ ### Limitations
284
+
285
+ **Important**: This model is intended as an **assistive tool**, not a replacement for human review.
286
+
287
+ - **False Negatives**: Some PII may not be detected; always verify critical applications
288
+ - **Context Sensitivity**: Performance may vary with domain-specific terminology
289
+ - **Language**: Optimized for French text; may not perform well on other languages
290
+
291
+ ## Citation
292
+
293
+ ```bibtex
294
+ @misc{openmed-pii-2026,
295
+ title = {OpenMed-PII-French-BiomedBERT-Base-110M-v1: French PII Detection Model},
296
+ author = {OpenMed Science},
297
+ year = {2026},
298
+ publisher = {Hugging Face},
299
+ url = {https://huggingface.co/OpenMed/OpenMed-PII-French-BiomedBERT-Base-110M-v1}
300
+ }
301
+ ```
302
+
303
+ ## Links
304
+
305
+ - **Organization**: [OpenMed](https://huggingface.co/OpenMed)
all_results.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 3.0,
3
+ "eval_accuracy": 0.9927419587480167,
4
+ "eval_f1": 0.9497608302029565,
5
+ "eval_loss": 0.022586237639188766,
6
+ "eval_macro_f1": 0.9350072893496717,
7
+ "eval_precision": 0.9468692747063261,
8
+ "eval_recall": 0.9526701002981838,
9
+ "eval_runtime": 5.0408,
10
+ "eval_samples_per_second": 1231.342,
11
+ "eval_steps_per_second": 19.243,
12
+ "eval_weighted_f1": 0.9462672303811364,
13
+ "test_accuracy": 0.9924927457012102,
14
+ "test_f1": 0.9465772246019559,
15
+ "test_loss": 0.02266700007021427,
16
+ "test_macro_f1": 0.9318340529097343,
17
+ "test_precision": 0.942792744445637,
18
+ "test_recall": 0.9503922098999189,
19
+ "test_runtime": 4.0088,
20
+ "test_samples_per_second": 1539.373,
21
+ "test_steps_per_second": 24.197,
22
+ "test_weighted_f1": 0.9433455058603825,
23
+ "total_flos": 5768651189780480.0,
24
+ "train_loss": 0.16449599704434795,
25
+ "train_runtime": 267.828,
26
+ "train_samples_per_second": 555.356,
27
+ "train_steps_per_second": 8.681
28
+ }
classification_report.txt ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Classification Report for French PII Detection
2
+ Model: microsoft/BiomedNLP-BiomedBERT-base-uncased-abstract
3
+ ============================================================
4
+
5
+ precision recall f1-score support
6
+
7
+ ACCOUNTNAME 0.99 1.00 1.00 360
8
+ AGE 0.97 0.99 0.98 389
9
+ AMOUNT 0.97 0.96 0.97 104
10
+ BANKACCOUNT 0.99 1.00 1.00 312
11
+ BIC 0.95 0.92 0.93 98
12
+ BITCOINADDRESS 0.92 0.99 0.95 318
13
+ BUILDINGNUMBER 0.94 0.91 0.92 396
14
+ CITY 0.92 0.88 0.90 329
15
+ COUNTY 0.97 0.99 0.98 382
16
+ CREDITCARD 0.81 0.92 0.86 382
17
+ CREDITCARDISSUER 0.99 1.00 1.00 210
18
+ CURRENCY 0.62 0.94 0.75 210
19
+ CURRENCYCODE 0.79 0.73 0.76 106
20
+ CURRENCYNAME 0.00 0.00 0.00 109
21
+ CURRENCYSYMBOL 0.94 0.97 0.96 355
22
+ CVV 0.95 0.96 0.96 83
23
+ DATE 0.73 0.94 0.82 598
24
+ DATEOFBIRTH 0.82 0.50 0.62 404
25
+ EMAIL 1.00 1.00 1.00 495
26
+ ETHEREUMADDRESS 1.00 1.00 1.00 236
27
+ EYECOLOR 0.99 1.00 1.00 162
28
+ FIRSTNAME 0.93 0.93 0.93 1927
29
+ GENDER 0.99 1.00 0.99 412
30
+ GPSCOORDINATES 1.00 1.00 1.00 300
31
+ HEIGHT 0.99 0.99 0.99 155
32
+ IBAN 1.00 1.00 1.00 273
33
+ IMEI 1.00 1.00 1.00 304
34
+ IPADDRESS 1.00 1.00 1.00 992
35
+ JOBDEPARTMENT 0.94 0.98 0.96 336
36
+ JOBTITLE 0.98 1.00 0.99 329
37
+ LASTNAME 0.94 0.90 0.92 585
38
+ LITECOINADDRESS 0.98 0.75 0.85 110
39
+ MACADDRESS 0.98 1.00 0.99 145
40
+ MASKEDNUMBER 0.88 0.72 0.79 302
41
+ MIDDLENAME 0.86 0.95 0.90 374
42
+ OCCUPATION 0.98 0.99 0.98 382
43
+ ORDINALDIRECTION 1.00 1.00 1.00 185
44
+ ORGANIZATION 0.97 1.00 0.98 322
45
+ PASSWORD 0.98 0.98 0.98 393
46
+ PHONE 0.99 0.99 0.99 341
47
+ PIN 0.93 0.96 0.95 83
48
+ PREFIX 0.97 0.99 0.98 391
49
+ SECONDARYADDRESS 0.99 1.00 1.00 357
50
+ SEX 1.00 1.00 1.00 422
51
+ SSN 1.00 1.00 1.00 331
52
+ STATE 0.92 0.97 0.94 348
53
+ STREET 0.93 0.97 0.95 409
54
+ TIME 0.99 0.99 0.99 348
55
+ URL 1.00 1.00 1.00 364
56
+ USERAGENT 1.00 1.00 1.00 295
57
+ USERNAME 0.99 0.99 0.99 348
58
+ VIN 0.99 1.00 1.00 113
59
+ VRM 0.98 1.00 0.99 125
60
+ ZIPCODE 0.92 0.94 0.93 346
61
+
62
+ micro avg 0.94 0.95 0.95 18485
63
+ macro avg 0.93 0.94 0.93 18485
64
+ weighted avg 0.94 0.95 0.94 18485
config.json ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "BertForTokenClassification"
4
+ ],
5
+ "attention_probs_dropout_prob": 0.1,
6
+ "classifier_dropout": null,
7
+ "dtype": "float32",
8
+ "hidden_act": "gelu",
9
+ "hidden_dropout_prob": 0.1,
10
+ "hidden_size": 768,
11
+ "id2label": {
12
+ "0": "O",
13
+ "1": "B-ACCOUNTNAME",
14
+ "2": "B-AGE",
15
+ "3": "B-AMOUNT",
16
+ "4": "B-BANKACCOUNT",
17
+ "5": "B-BIC",
18
+ "6": "B-BITCOINADDRESS",
19
+ "7": "B-BUILDINGNUMBER",
20
+ "8": "B-CITY",
21
+ "9": "B-COUNTY",
22
+ "10": "B-CREDITCARD",
23
+ "11": "B-CREDITCARDISSUER",
24
+ "12": "B-CURRENCY",
25
+ "13": "B-CURRENCYCODE",
26
+ "14": "B-CURRENCYNAME",
27
+ "15": "B-CURRENCYSYMBOL",
28
+ "16": "B-CVV",
29
+ "17": "B-DATE",
30
+ "18": "B-DATEOFBIRTH",
31
+ "19": "B-EMAIL",
32
+ "20": "B-ETHEREUMADDRESS",
33
+ "21": "B-EYECOLOR",
34
+ "22": "B-FIRSTNAME",
35
+ "23": "B-GENDER",
36
+ "24": "B-GPSCOORDINATES",
37
+ "25": "B-HEIGHT",
38
+ "26": "B-IBAN",
39
+ "27": "B-IMEI",
40
+ "28": "B-IPADDRESS",
41
+ "29": "B-JOBDEPARTMENT",
42
+ "30": "B-JOBTITLE",
43
+ "31": "B-LASTNAME",
44
+ "32": "B-LITECOINADDRESS",
45
+ "33": "B-MACADDRESS",
46
+ "34": "B-MASKEDNUMBER",
47
+ "35": "B-MIDDLENAME",
48
+ "36": "B-OCCUPATION",
49
+ "37": "B-ORDINALDIRECTION",
50
+ "38": "B-ORGANIZATION",
51
+ "39": "B-PASSWORD",
52
+ "40": "B-PHONE",
53
+ "41": "B-PIN",
54
+ "42": "B-PREFIX",
55
+ "43": "B-SECONDARYADDRESS",
56
+ "44": "B-SEX",
57
+ "45": "B-SSN",
58
+ "46": "B-STATE",
59
+ "47": "B-STREET",
60
+ "48": "B-TIME",
61
+ "49": "B-URL",
62
+ "50": "B-USERAGENT",
63
+ "51": "B-USERNAME",
64
+ "52": "B-VIN",
65
+ "53": "B-VRM",
66
+ "54": "B-ZIPCODE",
67
+ "55": "I-ACCOUNTNAME",
68
+ "56": "I-AGE",
69
+ "57": "I-AMOUNT",
70
+ "58": "I-CITY",
71
+ "59": "I-COUNTY",
72
+ "60": "I-CURRENCY",
73
+ "61": "I-CURRENCYNAME",
74
+ "62": "I-DATE",
75
+ "63": "I-DATEOFBIRTH",
76
+ "64": "I-EYECOLOR",
77
+ "65": "I-GENDER",
78
+ "66": "I-HEIGHT",
79
+ "67": "I-JOBTITLE",
80
+ "68": "I-ORGANIZATION",
81
+ "69": "I-PHONE",
82
+ "70": "I-SECONDARYADDRESS",
83
+ "71": "I-SSN",
84
+ "72": "I-STATE",
85
+ "73": "I-STREET",
86
+ "74": "I-TIME",
87
+ "75": "I-USERAGENT"
88
+ },
89
+ "initializer_range": 0.02,
90
+ "intermediate_size": 3072,
91
+ "label2id": {
92
+ "B-ACCOUNTNAME": 1,
93
+ "B-AGE": 2,
94
+ "B-AMOUNT": 3,
95
+ "B-BANKACCOUNT": 4,
96
+ "B-BIC": 5,
97
+ "B-BITCOINADDRESS": 6,
98
+ "B-BUILDINGNUMBER": 7,
99
+ "B-CITY": 8,
100
+ "B-COUNTY": 9,
101
+ "B-CREDITCARD": 10,
102
+ "B-CREDITCARDISSUER": 11,
103
+ "B-CURRENCY": 12,
104
+ "B-CURRENCYCODE": 13,
105
+ "B-CURRENCYNAME": 14,
106
+ "B-CURRENCYSYMBOL": 15,
107
+ "B-CVV": 16,
108
+ "B-DATE": 17,
109
+ "B-DATEOFBIRTH": 18,
110
+ "B-EMAIL": 19,
111
+ "B-ETHEREUMADDRESS": 20,
112
+ "B-EYECOLOR": 21,
113
+ "B-FIRSTNAME": 22,
114
+ "B-GENDER": 23,
115
+ "B-GPSCOORDINATES": 24,
116
+ "B-HEIGHT": 25,
117
+ "B-IBAN": 26,
118
+ "B-IMEI": 27,
119
+ "B-IPADDRESS": 28,
120
+ "B-JOBDEPARTMENT": 29,
121
+ "B-JOBTITLE": 30,
122
+ "B-LASTNAME": 31,
123
+ "B-LITECOINADDRESS": 32,
124
+ "B-MACADDRESS": 33,
125
+ "B-MASKEDNUMBER": 34,
126
+ "B-MIDDLENAME": 35,
127
+ "B-OCCUPATION": 36,
128
+ "B-ORDINALDIRECTION": 37,
129
+ "B-ORGANIZATION": 38,
130
+ "B-PASSWORD": 39,
131
+ "B-PHONE": 40,
132
+ "B-PIN": 41,
133
+ "B-PREFIX": 42,
134
+ "B-SECONDARYADDRESS": 43,
135
+ "B-SEX": 44,
136
+ "B-SSN": 45,
137
+ "B-STATE": 46,
138
+ "B-STREET": 47,
139
+ "B-TIME": 48,
140
+ "B-URL": 49,
141
+ "B-USERAGENT": 50,
142
+ "B-USERNAME": 51,
143
+ "B-VIN": 52,
144
+ "B-VRM": 53,
145
+ "B-ZIPCODE": 54,
146
+ "I-ACCOUNTNAME": 55,
147
+ "I-AGE": 56,
148
+ "I-AMOUNT": 57,
149
+ "I-CITY": 58,
150
+ "I-COUNTY": 59,
151
+ "I-CURRENCY": 60,
152
+ "I-CURRENCYNAME": 61,
153
+ "I-DATE": 62,
154
+ "I-DATEOFBIRTH": 63,
155
+ "I-EYECOLOR": 64,
156
+ "I-GENDER": 65,
157
+ "I-HEIGHT": 66,
158
+ "I-JOBTITLE": 67,
159
+ "I-ORGANIZATION": 68,
160
+ "I-PHONE": 69,
161
+ "I-SECONDARYADDRESS": 70,
162
+ "I-SSN": 71,
163
+ "I-STATE": 72,
164
+ "I-STREET": 73,
165
+ "I-TIME": 74,
166
+ "I-USERAGENT": 75,
167
+ "O": 0
168
+ },
169
+ "layer_norm_eps": 1e-12,
170
+ "max_position_embeddings": 512,
171
+ "model_type": "bert",
172
+ "num_attention_heads": 12,
173
+ "num_hidden_layers": 12,
174
+ "pad_token_id": 0,
175
+ "position_embedding_type": "absolute",
176
+ "transformers_version": "4.57.3",
177
+ "type_vocab_size": 2,
178
+ "use_cache": true,
179
+ "vocab_size": 30522
180
+ }
eval_results.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 3.0,
3
+ "eval_accuracy": 0.9927419587480167,
4
+ "eval_f1": 0.9497608302029565,
5
+ "eval_loss": 0.022586237639188766,
6
+ "eval_macro_f1": 0.9350072893496717,
7
+ "eval_precision": 0.9468692747063261,
8
+ "eval_recall": 0.9526701002981838,
9
+ "eval_runtime": 5.0408,
10
+ "eval_samples_per_second": 1231.342,
11
+ "eval_steps_per_second": 19.243,
12
+ "eval_weighted_f1": 0.9462672303811364
13
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a72e3a7d313e33bab0c247a2c489a0a3bdd3db8de420165f38883d16911194bd
3
+ size 435823712
special_tokens_map.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": "[CLS]",
3
+ "mask_token": "[MASK]",
4
+ "pad_token": "[PAD]",
5
+ "sep_token": "[SEP]",
6
+ "unk_token": "[UNK]"
7
+ }
test_results.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "test_accuracy": 0.9924927457012102,
3
+ "test_f1": 0.9465772246019559,
4
+ "test_loss": 0.02266700007021427,
5
+ "test_macro_f1": 0.9318340529097343,
6
+ "test_precision": 0.942792744445637,
7
+ "test_recall": 0.9503922098999189,
8
+ "test_runtime": 4.0088,
9
+ "test_samples_per_second": 1539.373,
10
+ "test_steps_per_second": 24.197,
11
+ "test_weighted_f1": 0.9433455058603825
12
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "added_tokens_decoder": {
3
+ "0": {
4
+ "content": "[PAD]",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false,
9
+ "special": true
10
+ },
11
+ "1": {
12
+ "content": "[UNK]",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false,
17
+ "special": true
18
+ },
19
+ "2": {
20
+ "content": "[CLS]",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false,
25
+ "special": true
26
+ },
27
+ "3": {
28
+ "content": "[SEP]",
29
+ "lstrip": false,
30
+ "normalized": false,
31
+ "rstrip": false,
32
+ "single_word": false,
33
+ "special": true
34
+ },
35
+ "4": {
36
+ "content": "[MASK]",
37
+ "lstrip": false,
38
+ "normalized": false,
39
+ "rstrip": false,
40
+ "single_word": false,
41
+ "special": true
42
+ }
43
+ },
44
+ "clean_up_tokenization_spaces": true,
45
+ "cls_token": "[CLS]",
46
+ "do_basic_tokenize": true,
47
+ "do_lower_case": true,
48
+ "extra_special_tokens": {},
49
+ "mask_token": "[MASK]",
50
+ "model_max_length": 1000000000000000019884624838656,
51
+ "never_split": null,
52
+ "pad_token": "[PAD]",
53
+ "sep_token": "[SEP]",
54
+ "strip_accents": null,
55
+ "tokenize_chinese_chars": true,
56
+ "tokenizer_class": "BertTokenizer",
57
+ "unk_token": "[UNK]"
58
+ }
train_results.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 3.0,
3
+ "total_flos": 5768651189780480.0,
4
+ "train_loss": 0.16449599704434795,
5
+ "train_runtime": 267.828,
6
+ "train_samples_per_second": 555.356,
7
+ "train_steps_per_second": 8.681
8
+ }
vocab.txt ADDED
The diff for this file is too large to render. See raw diff