Upload README.md (#1)
Browse files- Upload README.md (14b31ecc1cc22d77dd5eb8765db159b002b980ac)
Co-authored-by: Simon M.S <[email protected]>
README.md
ADDED
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
NLP NER-modeller udviklet under AI-aktindsigt projektet er trænet på tre forskellige måder: Enikke-privatbaseline model og to modeller trænet med differential privacy med hhv. ε=8 og ε=1 (se [SmartNoise Whitepaper](https://azure.microsoft.com/mediahandler/files/resourcefiles/microsoft-smartnoisedifferential-privacy-machine-learning-case-studies/SmartNoise%20Whitepaper%20Final%203.8.21.pdf) og [Learning with Privacy at Scale](https://machinelearning.apple.com/research/learning-with-privacy-at-scale) for valg af ε i industrien). δ er sat til 1 over længden af træningsdatasættet (se [LLMCANBESTRONGDP](https://arxiv.org/pdf/2110.05679.pdf)[LEARNERS](https://arxiv.org/pdf/2110.05679.pdf)). Derudover er modellerne trænet med to forskellige sæt af entititer - med og uden entiteterne Forbrydelse og CPR-numre, som dog må anses som præmature for udstilling.
|
2 |
+
|
3 |
+
Modellen udstillet fremgå af nedenstående listen af forskellige træningsiterationer under navnet "_sss-ner-dp-1 Special semantisk søgemodel finetunet på NER-annoterede aktindsigter med DP - ε = 1 excl. Forbrydelse og CPR_"
|
4 |
+
|
5 |
+
Denne model kan anvendes til at fremsøge entiteter i de 7 følgende kategorier: 1) personer 2) lokationer 3) organisationer 4) helbredsoplysninger 5) adresser 6) kommuner og 7) telefonnumre.
|
6 |
+
|
7 |
+
| Model | Beskrivelse |
|
8 |
+
| --- | --- |
|
9 |
+
| sss-ner | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter excl. Forbrydelse og CPR |
|
10 |
+
| sss-ner-dp-8 | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter med DP-ε=8 excl. Forbrydelse og CPR |
|
11 |
+
| sss-ner-dp-1 | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter med DP-ε=1 excl. Forbrydelse og CPR |
|
12 |
+
| sss-ner-fc | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter |
|
13 |
+
| sss-ner-fc-dp-8 | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter med DP-ε= 8 |
|
14 |
+
| sss-ner-fc-dp-1 | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter med DP-ε= 1 |
|
15 |
+
|
16 |
+
Modellerne finetunet til Named Entity Recognition (NER)og er trænet til at forudsige følgende kategorier:
|
17 |
+
|
18 |
+
| Tag | Navn | Beskrivelse |
|
19 |
+
| --- | --- | --- |
|
20 |
+
| PER | Person | Navn på en person (fx_Kasper__Hansen_eller_Birgitte_) |
|
21 |
+
| LOK | Lokation | Navn på en lokation (fx_Danmark_eller_Kongens__Have_) |
|
22 |
+
| ADR | Adresse | Navn på en adresse (fx_Rådhuspladsen, __2400__ København_) |
|
23 |
+
| HEL | Helbred | Ord relaterede til helbred (fx_hovedpine_eller_OCD_) |
|
24 |
+
| ORG | Organisation | Navn på enorganisation (fx_Alvenir__Aps_eller_Aktio_) |
|
25 |
+
| KOM | Kommune | Navn på enkommune (fx_Sønderborg__Kommune_) |
|
26 |
+
| TEL | Telefonnummer | Telefonnummer (fx_11 __22__ 33 __69_,_11223344_eller_1122__ 3344_) |
|
27 |
+
| CPR | CPR-nummer | CPR- **høj** **usikkerhed** (fx_01011990__1234_,_01011990-1234_eller_010119901234_) |
|
28 |
+
| FOR | Forbrydelse | Forbrydelse- **høj** **usikkerhed** (fx_tyveri_,_vold_eller_psykisk__vold_) |
|
29 |
+
|
30 |
+
## Datasæt
|
31 |
+
|
32 |
+
Modellerne er trænet på 49,191 unikke sætninger, og valideret på 2,359 sætninger, og testet på et data-sæt bestående af 125 entiteter fra hver kategori af entiteter som indgik i træningen. Data er blevet filtreret, opdelt i unikke sætninger og derefter inddelt i trænings-, test- og valideringssæt.
|
33 |
+
|
34 |
+
|
35 |
+
## Eksempel på anvendelse af model
|
36 |
+
|
37 |
+
```python
|
38 |
+
from transformers import pipeline
|
39 |
+
import pandas as pd
|
40 |
+
|
41 |
+
ner = pipeline(task='ner', model='../ner/models/sss-ner/best_model', aggregation_strategy='first')
|
42 |
+
|
43 |
+
|
44 |
+
sentence = 'Gunnar Hjering Nielsen er medarbejder i virksomheden Danske Sprogmodeller ApS og har ofte ekstrem hovedpine.' \
|
45 |
+
'Han bor på Hjortemarken 31, 2100 København Ø som ligger i Københavns Kommune.' \
|
46 |
+
'Hans tlf nummer er 12345560 og han er fra Danmark. Hjortemarken er centralt placeret i Københaven.'
|
47 |
+
|
48 |
+
result = ner(sentence)
|
49 |
+
print(pd.DataFrame.from_records(result))
|
50 |
+
```
|
51 |
+
|
52 |
+
Nedenstående tabel viser de forskellige modellers Macro-F1 score.
|
53 |
+
|
54 |
+
| Model | Macro score | F1- | PER F1 | LOK F1 | ADR F1 | HEL F1 | ORG F1 | KOM F1 | TEL F1 | CPR F1 | FOR F1 |
|
55 |
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
56 |
+
| sss-ner | 0.86 || 0.95 | 0.77 | 0.90 | 0.63 | 0.77 | 0.96 | 0.92 | NA | NA |
|
57 |
+
| sss-ner-dp-8 | 0.84 || 0.97 | 0.64 | 0.85 | 0.65 | 0.73 | 0.94 | 0.95 | NA | NA |
|
58 |
+
| sss-ner-dp-1 | 0.75 || 0.94 | 0.51 | 0.82 | 0.59 | 0.62 | 0.86 | 0.75 | NA | NA |
|
59 |
+
| sss-ner-fc | 0.80 || 0.96 | 0.70 | 0.88 | 0.43 | 0.70 | 0.97 | 0.90 | 0.55 | 0.95 |
|
60 |
+
| sss-ner-fc-dp-8 | 0.82 || 0.96 | 0.66 | 0.87 | 0.62 | 0.69 | 0.94 | 0.92 | 0.67 | 0.93 |
|
61 |
+
| sss-ner-fc-dp-1 | 0.69 || 0.95 | 0.56 | 0.84 | 0.40 | 0.66 | 0.88 | 0.78 | 0.06 | 0.87 |
|
62 |
+
|
63 |
+
## Træningsprocedure hyperparametre
|
64 |
+
|
65 |
+
Hyperparametre anvendt i træningen
|
66 |
+
|
67 |
+
| Model | learning\_rate | train\_batc | eval\_batc | optimizer | | lot\_si | epsilon | delta | num\_epochs |
|
68 |
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
69 |
+
| sss-ner | 4.21e−5 | 64 | 64 | Adam W med tas=(0.9,0.999)epsilon=1e-08 | be- og | NA | NA | NA | 15 |
|
70 |
+
| sss-ner-dp-8 | 0.00044 | 16 | 16 | Adam W med tas=(0.9,0.999) epsilon=1e-08 | be-og | 8 | 2.03e | 512 | 15 |
|
71 |
+
| sss-ner-dp-1 | 0.00044 | 16 | 16 | Adam W med tas=(0.9,0.999) epsilon=1e-08 | be-og | 1 | 2.03e | 512 | 15 |
|
72 |
+
| sss-ner-fc | 9.65e−5 | 16 | 16 | Adam W med tas=(0.9,0.999) epsilon=1e-08 | be-og | NA | NA | NA | 15 |
|
73 |
+
| sss-ner-fc-dp-8 | 0.00044 | 16 | 16 | Adam W med tas=(0.9,0.999) epsilon=1e-08 | be-og | 8 | 2.03e | 512 | 15 |
|
74 |
+
| sss-ner-fc-dp-1 | 0.00044 | 16 | 16 | Adam W med tas=(0.9,0.999) epsilon=1e-08 | be-og | 1 | 2.03e | 512 | 15 |
|
75 |
+
|
76 |
+
|
77 |
+
|
78 |
+
## Framework versioner
|
79 |
+
|
80 |
+
• transformers 4.19.2
|
81 |
+
|
82 |
+
• opacus 1.2.0
|
83 |
+
|
84 |
+
• datasets 2.2.2
|
85 |
+
|
86 |
+
• numpy==1.22.3
|
87 |
+
|
88 |
+
• pytorch 1.13.0+cu11
|
89 |
+
|
90 |
+
**Fuld dokumentation kan findes på AI aktindsigts Github linket under projektet her på Huggingface.**
|
91 |
+
|
92 |
+
|
93 |
+
|
94 |
+
[1](#sdfootnote1anc) [https://azure.microsoft.com/mediahandler/files/resourcefiles/microsoft-smartnoisedifferential-privacy-machine-learning-case-studies/SmartNoise%20Whitepaper%20Final%203.8.21.pdf](https://azure.microsoft.com/mediahandler/files/resourcefiles/microsoft-smartnoisedifferential-privacy-machine-learning-case-studies/SmartNoise%20Whitepaper%20Final%203.8.21.pdf)
|
95 |
+
|
96 |
+
[2](#sdfootnote2anc) [https://machinelearning.apple.com/research/learning-with-privacy-at-scale](https://machinelearning.apple.com/research/learning-with-privacy-at-scale)
|
97 |
+
|
98 |
+
[3](#sdfootnote3anc) [https://arxiv.org/pdf/2110.05679.pdf](https://arxiv.org/pdf/2110.05679.pdf)
|