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 Whitepaper1 og Learning with Privacy at Scale2 for valg af ε i industrien). δ er sat til 1 over længden af træningsdatasættet (se LLM CAN BE STRONG DP LEARNERS3). 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
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 https://azure.microsoft.com/mediahandler/files/resourcefiles/microsoft-smartnoisedifferential-privacy-machine-learning-case-studies/SmartNoise%20Whitepaper%20Final%203.8.21.pdf
2 https://machinelearning.apple.com/research/learning-with-privacy-at-scale
- Downloads last month
- 518