|
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)<sup>1</sup> og [Learning with Privacy at Scale](https://machinelearning.apple.com/research/learning-with-privacy-at-scale)<sup>2</sup> for valg af ε i industrien). δ er sat til 1 over længden af træningsdatasættet (se [LLM CAN BE STRONG DP LEARNERS](https://arxiv.org/pdf/2110.05679.pdf)<sup>3</sup>). 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. |
|
|
|
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_" |
|
|
|
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. |
|
|
|
| Model | Beskrivelse | |
|
| --- | --- | |
|
| sss-ner | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter excl. Forbrydelse og CPR | |
|
| sss-ner-dp-8 | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter med DP-ε=8 excl. Forbrydelse og CPR | |
|
| sss-ner-dp-1 | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter med DP-ε=1 excl. Forbrydelse og CPR | |
|
| sss-ner-fc | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter | |
|
| sss-ner-fc-dp-8 | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter med DP-ε= 8 | |
|
| sss-ner-fc-dp-1 | Special semantisk søgemodel finetunet på NER-annoterede aktindsigter med DP-ε= 1 | |
|
|
|
Modellerne finetunet til Named Entity Recognition (NER)og er trænet til at forudsige følgende kategorier: |
|
|
|
| Tag | Navn | Beskrivelse | |
|
| --- | --- | --- | |
|
| PER | Person | Navn på en person (fx_Kasper__Hansen_eller_Birgitte_) | |
|
| LOK | Lokation | Navn på en lokation (fx_Danmark_eller_Kongens__Have_) | |
|
| ADR | Adresse | Navn på en adresse (fx_Rådhuspladsen, __2400__ København_) | |
|
| HEL | Helbred | Ord relaterede til helbred (fx_hovedpine_eller_OCD_) | |
|
| ORG | Organisation | Navn på enorganisation (fx_Alvenir__Aps_eller_Aktio_) | |
|
| KOM | Kommune | Navn på enkommune (fx_Sønderborg__Kommune_) | |
|
| TEL | Telefonnummer | Telefonnummer (fx_11 __22__ 33 __69_,_11223344_eller_1122__ 3344_) | |
|
| CPR | CPR-nummer | CPR- **høj** **usikkerhed** (fx_01011990__1234_,_01011990-1234_eller_010119901234_) | |
|
| FOR | Forbrydelse | Forbrydelse- **høj** **usikkerhed** (fx_tyveri_,_vold_eller_psykisk__vold_) | |
|
|
|
## Datasæt |
|
|
|
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. |
|
|
|
|
|
## Eksempel på anvendelse af model |
|
|
|
```python |
|
from transformers import pipeline |
|
import pandas as pd |
|
|
|
ner = pipeline(task='ner', model='../ner/models/sss-ner/best_model', aggregation_strategy='first') |
|
|
|
|
|
sentence = 'Gunnar Hjering Nielsen er medarbejder i virksomheden Danske Sprogmodeller ApS og har ofte ekstrem hovedpine.' \ |
|
'Han bor på Hjortemarken 31, 2100 København Ø som ligger i Københavns Kommune.' \ |
|
'Hans tlf nummer er 12345560 og han er fra Danmark. Hjortemarken er centralt placeret i Københaven.' |
|
|
|
result = ner(sentence) |
|
print(pd.DataFrame.from_records(result)) |
|
``` |
|
|
|
Nedenstående tabel viser de forskellige modellers Macro-F1 score. |
|
|
|
| Model | Macro score | F1- | PER F1 | LOK F1 | ADR F1 | HEL F1 | ORG F1 | KOM F1 | TEL F1 | CPR F1 | FOR F1 | |
|
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | |
|
| sss-ner | 0.86 || 0.95 | 0.77 | 0.90 | 0.63 | 0.77 | 0.96 | 0.92 | NA | NA | |
|
| sss-ner-dp-8 | 0.84 || 0.97 | 0.64 | 0.85 | 0.65 | 0.73 | 0.94 | 0.95 | NA | NA | |
|
| sss-ner-dp-1 | 0.75 || 0.94 | 0.51 | 0.82 | 0.59 | 0.62 | 0.86 | 0.75 | NA | NA | |
|
| sss-ner-fc | 0.80 || 0.96 | 0.70 | 0.88 | 0.43 | 0.70 | 0.97 | 0.90 | 0.55 | 0.95 | |
|
| 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 | |
|
| 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 | |
|
|
|
## Træningsprocedure hyperparametre |
|
|
|
Hyperparametre anvendt i træningen |
|
|
|
| Model | learning\_rate | train\_batc | eval\_batc | optimizer | | lot\_si | epsilon | delta | num\_epochs | |
|
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | |
|
| sss-ner | 4.21e−5 | 64 | 64 | Adam W med tas=(0.9,0.999)epsilon=1e-08 | be- og | NA | NA | NA | 15 | |
|
| 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 | |
|
| 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 | |
|
| 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 | |
|
| 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 | |
|
| 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 | |
|
|
|
|
|
|
|
## Framework versioner |
|
|
|
• transformers 4.19.2 |
|
|
|
• opacus 1.2.0 |
|
|
|
• datasets 2.2.2 |
|
|
|
• numpy==1.22.3 |
|
|
|
• pytorch 1.13.0+cu11 |
|
|
|
**Fuld dokumentation kan findes på AI aktindsigts Github linket under projektet her på Huggingface.** |
|
|
|
|
|
|
|
[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) |
|
|
|
[2](#sdfootnote2anc) [https://machinelearning.apple.com/research/learning-with-privacy-at-scale](https://machinelearning.apple.com/research/learning-with-privacy-at-scale) |
|
|
|
[3](#sdfootnote3anc) [https://arxiv.org/pdf/2110.05679.pdf](https://arxiv.org/pdf/2110.05679.pdf) |