transformers pytorch bert token-classification arxiv:2110.05679 autotrain_compatible endpoints_compatible region:us
---
{}
---
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)