Flerspraklig NER: Utfordringer ved PII-gjenkjenning
Oppdatert for 2026
Noyaktighetsgapet
NER-modeller trent pa engelsk oppnar 85-92 % F1 pa standardtester. Bruk de samme modellene pa arabisk eller kinesisk tekst. Noyaktigheten faller til 50-70 %.
For PII-arbeid er det gapet et problem. En treffsikkerhet pa 70 % betyr at 30 % av sensitive data gar usett.
Arsakene er ikke feil. De skyldes forskjeller i skriftsystemer.
Fire grunnleggende arsaker
1. Ordbegrensninger
Engelsk skiller ord med mellomrom. Tokenisering er enkelt.
Kinesisk har ingen mellomrom i det hele tatt.
``` "Zheng Wei bor i Beijing" -> Del forst: ["Zhang Wei", "bor i", "Beijing"] ```
En modell kan ikke merke det den ikke kan finne. Oppdeling ma komme for NER.
Arabisk binder bokstaver innenfor et ord. Korte vokaler utelates. Tekst lopes fra hoyre til venstre.
``` "Muhammad bor i Dubai" -> Ingen korte vokaler, hoyre-til-venstre, bundne bokstaver ```
2. Morfologi
Engelsk verb endres pa fa mater. Arabisk bruker et rotsystem. En rot skaper dusinvis av ord.
``` k-t-b ("skrive") -> skriver, bok, bibliotek ```
NER ma analysere roter for a finne navn i avledede ordformer.
3. Navnekonvensjoner
Latinske navn har fornavn forst, sa etternavn. Navn pa RTL-sprak knytter familielenker.
``` Muhammad ibn Abdullah (Muhammad son-av Abdullah) ```
Kinesiske navn setter familienavnet forst. De fleste navn er to eller tre tegn lange.
``` Zhang Wei - 2 tegn Ouyang Xiu - 3 tegn ```
En modell bygget pa vestlige navnemonstre vil bombe pa disse strukturene.
4. Tekstretning
Noen sprak lopes fra hoyre til venstre. Nar RTL-tekst inneholder et engelsk navn, skilles visuell rekkefolgge og logisk rekkefolgge. Dette kalles BiDi-tekst. Det krever forsiktig behandling.
F1-scorer etter skriftsystem
| Sprak | Skriftsystem | F1-omrade | Niva |
|---|---|---|---|
| Engelsk | Latinsk | 85-92 % | Lavt |
| Tysk | Latinsk | 82-88 % | Lavt |
| Fransk | Latinsk | 80-87 % | Lavt |
| Spansk | Latinsk | 81-86 % | Lavt |
| Russisk | Kyrillisk | 75-83 % | Middels |
| Arabisk | Abjad | 55-75 % | Hoyt |
| Kinesisk | Hanzi | 60-78 % | Hoyt |
| Japansk | Blandet | 65-80 % | Hoyt |
| Thai | Thai | 50-70 % | Svaert hoyt |
| Hindi | Devanagari | 60-75 % | Hoyt |
Ikke-latinske skriftsystemer og manglende ordgap senker scorer pa bredt grunnlag.
Trelagslosning
Vi bruker tre lag for a dekke 48 sprak og skriftsystemer.
Lag 1: spaCy - 25 sprak
For sprak med sterke, testede modeller. Dette dekker engelsk, tysk, fransk, spansk, italiensk, portugisisk, nederlandsk, polsk, russisk og gresk.
Lag 2: Stanza - Komplekse sprak
Stanford Stanza handterer arabisk, kinesisk, japansk og koreansk. Det kjorer ordoppdeling og rotanalyse for NER.
Lag 3: XLM-RoBERTa - Lavinformasjonssprak
For sprak uten dedikerte modeller. Thai, vietnamesisk, hindi, bengali, hebraisk, tyrkisk og farsi havner her. Det handterer blandet-sprak tekst uten eksplisitte flagg.
RTL og BiDi
Hoyre-til-venstre-tekst trenger ekstra trinn utover oppdeling.
Var pipeline:
- Normaliserer tekst til logisk rekkefolgge.
- Kjorer NER pa den rekkefolggen.
- Kartlegger enhetsposisjoner tilbake til visuell rekkefolgge.
Vi fjerner tilknyttede prefikser for NER og legger dem til igjen etterpat.
``` "Muhammad" - bare navn "lil-Muhammad" - "til Muhammad" (prefiks patt) ```
Kodebytting
Ekte dokumenter blander ofte sprak pa en linje.
``` "El meeting con John es at 3pm" "Jeg traff John i dag mens vi var ute og shoppet" ```
Var pipeline deler etter sprak. Den kjorer riktig modell pa hvert stykke. Deretter samles resultater med posisjonsMapping.
Interne benchmarks
Resultater fra interne tester pa flerspraklige data:
| Scenario | F1 |
|---|---|
| Kun engelsk | 91 % |
| Kun tysk | 88 % |
| Kun arabisk | 79 % |
| Kun kinesisk | 81 % |
| Engelsk-arabisk blanding | 83 % |
| Engelsk-kinesisk blanding | 84 % |
| Engelsk-tysk blanding | 89 % |
Oppsettsnotater
Desktopapplikasjonen gjenkjenner automatisk sprak per dokument. For blandede-sprak-filer behandler den hvert segment med riktig modell. Ingen manuelt trinn er nodvendig.
Angi sprak i API-et nar du kjenner det:
```json { "text": "Muhammad ibn Abdullah", "language": "ar" } ```
Bruk automatisk gjenkjenning nar du ikke gjor det:
```json { "text": "Muhammad ibn Abdullah", "language": "auto" } ```
Tilpassede monstre bor dekke lokale sifre:
```
Latinsk ansatt-ID
EMP-[0-9]{6}
Arabisk ansatt-ID (inkluderer arabisk-indiske sifre)
[ansatt]-[0-9]{6} ```
Se full enhetsliste. For API-oppsett, besok API-funksjonssiden. Var GDPR-samsvarsveiledning dekker hvordan gjenkjenningsgap pavirker personvernloven.
anonym.legal bruker en trelags NER-stack - spaCy, Stanza og XLM-RoBERTa - for a dekke 48 sprak med konsekvent PII-gjenkjenning.