Udfordringen med Flersproget NER
Navngivet Entitetsgenkendelse (NER) modeller trænet på engelsk opnår imponerende resultater—85-92% F1-scores på standard benchmarks. Anvendelse af de samme modeller på arabisk eller kinesisk? Nøjagtigheden falder ofte til 50-70%.
For PII-detektion er denne forskel kritisk. En detektionsrate på 70% betyder, at 30% af følsomme data forbliver ubeskyttede.
Hvorfor Engelske Modeller Fejler
1. Ordgrænser
Engelsk: Ord adskilles af mellemrum.
"John Smith lives in New York"
→ ["John", "Smith", "lives", "in", "New", "York"]
Kinesisk: Ingen ordgrænser overhovedet.
"张伟住在北京"
→ Skal segmenteres først: ["张伟", "住在", "北京"]
Arabisk: Ord forbindes, og korte vokaler skrives ikke.
"محمد يعيش في دبي"
→ Forbundet skrift, højre-til-venstre, vokaler udeladt
Engelske tokeniseringsregler gælder simpelthen ikke.
2. Morfologisk Kompleksitet
Engelsk morfologi: Relativt simpel
run → runs, running, ran
Arabisk morfologi: Ekstremt kompleks (rod-mønster system)
كتب (k-t-b, "skrive" rod)
→ كاتب (forfatter), كتاب (bog), مكتبة (bibliotek), يكتب (han skriver)
En enkelt arabisk rod genererer dusinvis af relaterede ord. NER-modeller skal forstå dette afledningssystem.
3. Navnekonventioner
Engelske navne: Første Efternavn
John Smith, Mary Johnson
Arabiske navne: Flere komponenter
محمد بن عبد الله بن عبد المطلب
(Muhammad søn-af Abdullah søn-af Abdul-Muttalib)
Kinesiske navne: Familienavn først, ofte 2-3 tegn i alt
张伟 (Zhang Wei) - 2 tegn
欧阳修 (Ouyang Xiu) - 3 tegn
4. Skriftrichtung
Engelsk: Venstre-til-højre (LTR) Arabisk/Hebraisk: Højre-til-venstre (RTL) Blandet tekst: Bidirektionel (BiDi) - ekstremt kompleks
Når et engelsk navn vises i arabisk tekst:
التقيت بـ John Smith في المؤتمر
(Jeg mødte John Smith på konferencen)
Nis rendering rækkefølge, logisk rækkefølge og visningsrækkefølge adskiller sig alle.
Nøjagtighed efter Sprog
Den virkelige NER-ydeevne varierer dramatisk:
| Sprog | Skrift | F1-Score Område | Udfordringsniveau |
|---|---|---|---|
| Engelsk | Latin | 85-92% | Lav |
| Tysk | Latin | 82-88% | Lav |
| Fransk | Latin | 80-87% | Lav |
| Spansk | Latin | 81-86% | Lav |
| Russisk | Kyrillisk | 75-83% | Medium |
| Arabisk | Arabisk | 55-75% | Høj |
| Kinesisk | Hanzi | 60-78% | Høj |
| Japansk | Blandet | 65-80% | Høj |
| Thai | Thai | 50-70% | Meget Høj |
| Hindi | Devanagari | 60-75% | Høj |
Sprog med kompleks morfologi, ikke-latinske skrifter, eller ingen ordgrænser præsterer konsekvent dårligt.
anonym.legals Tre-Niveau Tilgang
Vi løser flersproget NER gennem tre specialiserede niveauer:
Niveau 1: spaCy (25 sprog)
For højressource sprog med gode modeller:
- Engelsk, Tysk, Fransk, Spansk, Italiensk, Portugisisk
- Hollandsk, Polsk, Russisk, Græsk
- Og 15 mere med pålidelig nøjagtighed
Niveau 2: Stanza (7 sprog)
For sprog med kompleks morfologi:
- Arabisk (rod-mønster morfologi)
- Kinesisk (ordsegmentering kræves)
- Japansk (flere skrifter)
- Koreansk (agglutinerende)
- Og 3 mere
Niveau 3: XLM-RoBERTa (16 sprog)
For lavressource sprog uden dedikerede modeller:
- Thai, Vietnamesisk, Indonesisk
- Hindi, Bengali, Tamil
- Hebraisk, Tyrkisk, Farsi
- Og mere
Hvordan Det Fungerer
Input tekst med sprogdetektion
↓
[Sprog Router]
↓
┌───────┴───────┐
↓ ↓
Højressource Komplekse/Lavressource
(spaCy) (Stanza/XLM-RoBERTa)
↓ ↓
└───────┬───────┘
↓
[Regex overlay for structured data]
↓
[Confidence merger]
↓
Finale enheder
Regex Overlay
Nogle mønstre er sprog-uafhængige:
- E-mail adresser:
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} - Kreditkort:
\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4} - Telefonnummer: Forskellige mønstre pr. land
Vi anvender regex først for strukturerede data, uanset sprog.
Håndtering af RTL-Skrift
Højre-til-venstre sprog kræver særlig håndtering:
Bidirektionel Tekst Algoritme
Når arabisk indeholder engelsk:
Visuelt: المؤتمر في John Smith بـ التقيت
Logisk: التقيت بـ John Smith في المؤتمر
Vores behandling:
- Normaliser til logisk rækkefølge
- Kør NER på logisk rækkefølge
- Kortlæg enhedspositioner tilbage til visuel rækkefølge
- Returner konsistente positioner for enhver rendering
Enhedsgrænse Detektion
Arabiske enhedsgrænser er komplekse:
"محمد" - kun navnet
"لمحمد" - "til Muhammad" (vedhæftet præposition)
"ومحمد" - "og Muhammad" (vedhæftet konjunktion)
Vi fjerner affikser før NER og genhæfter efter.
Code-Switching
Virkelig tekst blander ofte sprog:
"El meeting con John es at 3pm"
(spansk-engelsk blanding)
"我今天跟John去shopping"
(kinesisk-engelsk blanding)
Vores tilgang:
- Segmenter tekst efter sprog
- Behandl hver sektion med passende model
- Sammenflet resultater med positionskortlægning
Ydeevne Benchmark
Intern testning på blandede sprog datasæt:
| Scenario | F1-Score |
|---|---|
| Kun engelsk | 91% |
| Kun tysk | 88% |
| Kun arabisk | 79% |
| Kun kinesisk | 81% |
| Engelsk-arabisk blanding | 83% |
| Engelsk-kinesisk blanding | 84% |
| Engelsk-tysk blanding | 89% |
Vores hybride tilgang opretholder høj nøjagtighed selv på udfordrende sprog.
Implementeringstips
For API-brugere
Angiv sprog når kendt:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
Lad os auto-detektere når ukendt:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
For Desktop App-brugere
Appen auto-detekterer sprog pr. dokument. For blandede sprog filer, behandler den hver sektion passende.
For Tilpassede Enhedstyper
Tilpassede mønstre bør tage højde for skrifter:
# Engelsk medarbejder ID
EMP-[0-9]{6}
# Arabisk medarbejder ID (inkluderer arabiske tal)
موظف-[٠-٩0-9]{6}
Konklusion
Engelsktrænede NER-modeller fejler på ikke-engelsk tekst, fordi sprog fundamentalt adskiller sig i:
- Ordgrænser (eller mangel på sådanne)
- Morfologisk kompleksitet
- Skriftrichtung
- Navnekonventioner
Effektiv flersproget PII-detektion kræver:
- Sprog-specifikke modeller for komplekse skrifter
- Regex-mønstre for strukturerede data
- Korrekt RTL/BiDi håndtering
- Code-switching support
anonym.legal understøtter 48 sprog gennem vores tre-niveau tilgang, og opnår konsekvent nøjagtighed på tværs af alle.
Prøv det selv:
Kilder: