Token Classification
PyTorch
ONNX
Safetensors
GLiNER
glitext
ner
pii
barry-sas vicgalle commited on
Commit
8895a78
·
0 Parent(s):

Duplicate from vicgalle/gliner-small-pii

Browse files

Co-authored-by: Victor Gallego <vicgalle@users.noreply.huggingface.co>

.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ datasets:
4
+ - urchade/synthetic-pii-ner-mistral-v1
5
+ language:
6
+ - en
7
+ - fr
8
+ - de
9
+ - es
10
+ - pt
11
+ - it
12
+ tags:
13
+ - gliner
14
+ - ner
15
+ - pii
16
+ pipeline_tag: token-classification
17
+ ---
18
+
19
+ # GLiNER-small-PII
20
+
21
+ This model has been trained by fine-tuning gliner-community/gliner_small-v2.5 on the urchade/synthetic-pii-ner-mistral-v1 dataset.
22
+
23
+ This model is capable of recognizing various types of personally identifiable information (PII), including but not limited to these entity types: person, organization, phone number, address, passport number, email, credit card number, social security number, health insurance id number, date of birth, mobile phone number, bank account number, medication, cpf, driver's license number, tax identification number, medical condition, identity card number, national id number, ip address, email address, iban, credit card expiration date, username, health insurance number, registration number, student id number, insurance number, flight number, landline phone number, blood type, cvv, reservation number, digital signature, social media handle, license plate number, cnpj, postal code, passport_number, serial number, vehicle registration number, credit card brand, fax number, visa number, insurance company, identity document number, transaction number, national health insurance number, cvc, birth certificate number, train ticket number, passport expiration date, and social_security_number.
24
+
25
+ ## Usage
26
+
27
+ ```python
28
+ model = GLiNER.from_pretrained("vicgalle/gliner-small-pii", load_tokenizer=True)
29
+
30
+ text = """
31
+ Harilala Rasoanaivo, un homme d'affaires local d'Antananarivo, a enregistré une nouvelle société nommée "Rasoanaivo Enterprises" au Lot II M 92 Antohomadinika. Son numéro est le +261 32 22 345 67, et son adresse électronique est harilala.rasoanaivo@telma.mg. Il a fourni son numéro de sécu 501-02-1234 pour l'enregistrement.
32
+ """
33
+
34
+ labels = [
35
+ "work",
36
+ "booking number",
37
+ "personally identifiable information",
38
+ "driver licence",
39
+ "person",
40
+ "book",
41
+ "postal address",
42
+ "company",
43
+ "actor",
44
+ "character",
45
+ "email",
46
+ "passport number",
47
+ "SSN",
48
+ "phone number",
49
+ ]
50
+ entities = model.predict_entities(text, labels, threshold=0.1)
51
+
52
+ for entity in entities:
53
+ print(entity["text"], "=>", entity["label"])
54
+ ```
55
+
56
+ ```
57
+ Harilala Rasoanaivo => person
58
+ Rasoanaivo Enterprises => company
59
+ Lot II M 92 Antohomadinika => postal address
60
+ +261 32 22 345 67 => phone number
61
+ harilala.rasoanaivo@telma.mg => email
62
+ 501-02-1234 => SSN
63
+ ```
64
+
65
+ **Note**: it may be beneficial to lower the threshold (see the previous example), to extract all related entities.
added_tokens.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "<<ENT>>": 128001,
3
+ "<<SEP>>": 128002,
4
+ "[MASK]": 128000
5
+ }
gliner_config.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "class_token_index": 128001,
3
+ "dropout": 0.4,
4
+ "encoder_config": null,
5
+ "ent_token": "<<ENT>>",
6
+ "fine_tune": true,
7
+ "has_rnn": true,
8
+ "hidden_size": 768,
9
+ "label_smoothing": 0.0,
10
+ "loss_alpha": 0.8,
11
+ "loss_gamma": 0,
12
+ "loss_reduction": "sum",
13
+ "max_len": 768,
14
+ "max_neg_type_ratio": 1,
15
+ "max_types": 30,
16
+ "max_width": 12,
17
+ "model_name": "microsoft/deberta-v3-small",
18
+ "model_type": "gliner",
19
+ "name": "span level gliner",
20
+ "random_drop": true,
21
+ "sep_token": "<<SEP>>",
22
+ "shuffle_types": true,
23
+ "span_mode": "markerV0",
24
+ "subtoken_pooling": "first",
25
+ "transformers_version": "4.42.3",
26
+ "vocab_size": 128003,
27
+ "words_splitter_type": "whitespace"
28
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e903260db4c96347f7c9a4836a261e8babf898c668927b9a469f14fe5ac83700
3
+ size 664113304
optimizer.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9845a63133a53e2b2772ac057ed1aa4c693fa29e2ed8df535e7a4d5503fe307f
3
+ size 1328293882
pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0a62c3af9a59ea93a22de7c132f7e09774e062c0f3cdac005c885bb91d1566fc
3
+ size 664139970
rng_state.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a1e5046621aff56178d1914809ed07fddbfbd2b50eb2d1d3380dbc1405ef699b
3
+ size 13990
scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d78797c1fcbe9fd70b280d27e68851b8e8c92af669f7d85da298346afc6d2720
3
+ size 1064
special_tokens_map.json ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "[CLS]",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "cls_token": {
10
+ "content": "[CLS]",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "eos_token": {
17
+ "content": "[SEP]",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "mask_token": {
24
+ "content": "[MASK]",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ },
30
+ "pad_token": {
31
+ "content": "[PAD]",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false
36
+ },
37
+ "sep_token": {
38
+ "content": "[SEP]",
39
+ "lstrip": false,
40
+ "normalized": false,
41
+ "rstrip": false,
42
+ "single_word": false
43
+ },
44
+ "unk_token": {
45
+ "content": "[UNK]",
46
+ "lstrip": false,
47
+ "normalized": true,
48
+ "rstrip": false,
49
+ "single_word": false
50
+ }
51
+ }
spm.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c679fbf93643d19aab7ee10c0b99e460bdbc02fedf34b92b05af343b4af586fd
3
+ size 2464616
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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": "[CLS]",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false,
17
+ "special": true
18
+ },
19
+ "2": {
20
+ "content": "[SEP]",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false,
25
+ "special": true
26
+ },
27
+ "3": {
28
+ "content": "[UNK]",
29
+ "lstrip": false,
30
+ "normalized": true,
31
+ "rstrip": false,
32
+ "single_word": false,
33
+ "special": true
34
+ },
35
+ "128000": {
36
+ "content": "[MASK]",
37
+ "lstrip": false,
38
+ "normalized": false,
39
+ "rstrip": false,
40
+ "single_word": false,
41
+ "special": true
42
+ },
43
+ "128001": {
44
+ "content": "<<ENT>>",
45
+ "lstrip": false,
46
+ "normalized": true,
47
+ "rstrip": false,
48
+ "single_word": false,
49
+ "special": false
50
+ },
51
+ "128002": {
52
+ "content": "<<SEP>>",
53
+ "lstrip": false,
54
+ "normalized": true,
55
+ "rstrip": false,
56
+ "single_word": false,
57
+ "special": false
58
+ }
59
+ },
60
+ "bos_token": "[CLS]",
61
+ "clean_up_tokenization_spaces": true,
62
+ "cls_token": "[CLS]",
63
+ "do_lower_case": false,
64
+ "eos_token": "[SEP]",
65
+ "mask_token": "[MASK]",
66
+ "model_max_length": 1000000000000000019884624838656,
67
+ "pad_token": "[PAD]",
68
+ "sep_token": "[SEP]",
69
+ "sp_model_kwargs": {},
70
+ "split_by_punct": false,
71
+ "tokenizer_class": "DebertaV2Tokenizer",
72
+ "unk_token": "[UNK]",
73
+ "vocab_type": "spm"
74
+ }
trainer_state.json ADDED
@@ -0,0 +1,165 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_metric": null,
3
+ "best_model_checkpoint": null,
4
+ "epoch": 2.716161158895428,
5
+ "eval_steps": 1000,
6
+ "global_step": 6000,
7
+ "is_hyper_param_search": false,
8
+ "is_local_process_zero": true,
9
+ "is_world_process_zero": true,
10
+ "log_history": [
11
+ {
12
+ "epoch": 0.22634676324128564,
13
+ "grad_norm": 1076.2171630859375,
14
+ "learning_rate": 3.770739064856712e-06,
15
+ "loss": 160.1889,
16
+ "step": 500
17
+ },
18
+ {
19
+ "epoch": 0.4526935264825713,
20
+ "grad_norm": 881.1419677734375,
21
+ "learning_rate": 7.541478129713424e-06,
22
+ "loss": 96.3458,
23
+ "step": 1000
24
+ },
25
+ {
26
+ "epoch": 0.4526935264825713,
27
+ "eval_loss": 76.46768188476562,
28
+ "eval_runtime": 176.6442,
29
+ "eval_samples_per_second": 11.118,
30
+ "eval_steps_per_second": 1.393,
31
+ "step": 1000
32
+ },
33
+ {
34
+ "epoch": 0.679040289723857,
35
+ "grad_norm": 794.5887451171875,
36
+ "learning_rate": 9.854124748490947e-06,
37
+ "loss": 80.5069,
38
+ "step": 1500
39
+ },
40
+ {
41
+ "epoch": 0.9053870529651425,
42
+ "grad_norm": 963.1815795898438,
43
+ "learning_rate": 9.43494299128102e-06,
44
+ "loss": 72.5744,
45
+ "step": 2000
46
+ },
47
+ {
48
+ "epoch": 0.9053870529651425,
49
+ "eval_loss": 61.90445327758789,
50
+ "eval_runtime": 183.6264,
51
+ "eval_samples_per_second": 10.696,
52
+ "eval_steps_per_second": 1.34,
53
+ "step": 2000
54
+ },
55
+ {
56
+ "epoch": 1.1317338162064283,
57
+ "grad_norm": 921.5068359375,
58
+ "learning_rate": 9.015761234071095e-06,
59
+ "loss": 65.6815,
60
+ "step": 2500
61
+ },
62
+ {
63
+ "epoch": 1.358080579447714,
64
+ "grad_norm": 855.2803955078125,
65
+ "learning_rate": 8.596579476861168e-06,
66
+ "loss": 61.6207,
67
+ "step": 3000
68
+ },
69
+ {
70
+ "epoch": 1.358080579447714,
71
+ "eval_loss": 57.32611846923828,
72
+ "eval_runtime": 184.8952,
73
+ "eval_samples_per_second": 10.622,
74
+ "eval_steps_per_second": 1.33,
75
+ "step": 3000
76
+ },
77
+ {
78
+ "epoch": 1.5844273426889997,
79
+ "grad_norm": 1172.0072021484375,
80
+ "learning_rate": 8.177397719651241e-06,
81
+ "loss": 61.3402,
82
+ "step": 3500
83
+ },
84
+ {
85
+ "epoch": 1.8107741059302853,
86
+ "grad_norm": 979.0298461914062,
87
+ "learning_rate": 7.758215962441316e-06,
88
+ "loss": 63.4637,
89
+ "step": 4000
90
+ },
91
+ {
92
+ "epoch": 1.8107741059302853,
93
+ "eval_loss": 54.714115142822266,
94
+ "eval_runtime": 178.8924,
95
+ "eval_samples_per_second": 10.979,
96
+ "eval_steps_per_second": 1.375,
97
+ "step": 4000
98
+ },
99
+ {
100
+ "epoch": 2.037120869171571,
101
+ "grad_norm": 2496.968017578125,
102
+ "learning_rate": 7.339034205231389e-06,
103
+ "loss": 57.3627,
104
+ "step": 4500
105
+ },
106
+ {
107
+ "epoch": 2.2634676324128566,
108
+ "grad_norm": 965.2960815429688,
109
+ "learning_rate": 6.919852448021462e-06,
110
+ "loss": 55.2798,
111
+ "step": 5000
112
+ },
113
+ {
114
+ "epoch": 2.2634676324128566,
115
+ "eval_loss": 52.85610580444336,
116
+ "eval_runtime": 175.63,
117
+ "eval_samples_per_second": 11.183,
118
+ "eval_steps_per_second": 1.401,
119
+ "step": 5000
120
+ },
121
+ {
122
+ "epoch": 2.4898143956541423,
123
+ "grad_norm": 1013.7318115234375,
124
+ "learning_rate": 6.500670690811537e-06,
125
+ "loss": 54.6516,
126
+ "step": 5500
127
+ },
128
+ {
129
+ "epoch": 2.716161158895428,
130
+ "grad_norm": 995.4374389648438,
131
+ "learning_rate": 6.08148893360161e-06,
132
+ "loss": 54.9203,
133
+ "step": 6000
134
+ },
135
+ {
136
+ "epoch": 2.716161158895428,
137
+ "eval_loss": 53.687313079833984,
138
+ "eval_runtime": 173.1278,
139
+ "eval_samples_per_second": 11.344,
140
+ "eval_steps_per_second": 1.421,
141
+ "step": 6000
142
+ }
143
+ ],
144
+ "logging_steps": 500,
145
+ "max_steps": 13254,
146
+ "num_input_tokens_seen": 0,
147
+ "num_train_epochs": 6,
148
+ "save_steps": 1000,
149
+ "stateful_callbacks": {
150
+ "TrainerControl": {
151
+ "args": {
152
+ "should_epoch_stop": false,
153
+ "should_evaluate": false,
154
+ "should_log": false,
155
+ "should_save": true,
156
+ "should_training_stop": false
157
+ },
158
+ "attributes": {}
159
+ }
160
+ },
161
+ "total_flos": 0.0,
162
+ "train_batch_size": 8,
163
+ "trial_name": null,
164
+ "trial_params": null
165
+ }