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)1 og [Learning with Privacy at Scale](https://machinelearning.apple.com/research/learning-with-privacy-at-scale)2 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)3). 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)