De Meertalige NER Uitdaging
Named Entity Recognition (NER) modellen die op Engels zijn getraind, behalen indrukwekkende resultaten—85-92% F1-scores op standaard benchmarks. Pas diezelfde modellen toe op Arabisch of Chinees? De nauwkeurigheid daalt vaak naar 50-70%.
Voor PII-detectie is deze kloof kritiek. Een detectiepercentage van 70% betekent dat 30% van de gevoelige gegevens niet beschermd is.
Waarom Engelse Modellen Falen
1. Woordgrenzen
Engels: Woorden worden gescheiden door spaties.
"John Smith woont in New York"
→ ["John", "Smith", "woont", "in", "New", "York"]
Chinees: Geen woordgrenzen.
"张伟住在北京"
→ Heeft eerst segmentatie nodig: ["张伟", "住在", "北京"]
Arabisch: Woorden zijn verbonden, en korte klinkers worden niet geschreven.
"محمد يعيش في دبي"
→ Verbonden schrift, van rechts naar links, klinkers weggelaten
Engelse tokenisatie regels zijn eenvoudigweg niet van toepassing.
2. Morfologische Complexiteit
Engelse morfologie: Relatief eenvoudig
run → runs, running, ran
Arabische morfologie: Zeer complex (wortel-patroon systeem)
كتب (k-t-b, "schrijven" wortel)
→ كاتب (schrijver), كتاب (boek), مكتبة (bibliotheek), يكتب (hij schrijft)
Een enkele Arabische wortel genereert tientallen gerelateerde woorden. NER-modellen moeten dit afgeleidingssysteem begrijpen.
3. Naamconventies
Engelse namen: Voornaam Achternaam
John Smith, Mary Johnson
Arabische namen: Meerdere componenten
محمد بن عبد الله بن عبد المطلب
(Muhammad zoon van Abdullah zoon van Abdul-Muttalib)
Chinese namen: Achternaam eerst, vaak 2-3 karakters totaal
张伟 (Zhang Wei) - 2 karakters
欧阳修 (Ouyang Xiu) - 3 karakters
4. Schrijfrichting
Engels: Van links naar rechts (LTR) Arabisch/Hebreeuws: Van rechts naar links (RTL) Gemengd tekst: Bidirectioneel (BiDi) - extreem complex
Wanneer een Engelse naam in Arabische tekst verschijnt:
التقيت بـ John Smith في المؤتمر
(I met John Smith at the conference)
De weergavevolgorde, logische volgorde en weergavevolgorde verschillen allemaal.
Nauwkeurigheid per Taal
De prestaties van NER in de echte wereld variëren dramatisch:
| Taal | Schrift | F1-Score Bereik | Uitdaging Niveau |
|---|---|---|---|
| Engels | Latijn | 85-92% | Laag |
| Duits | Latijn | 82-88% | Laag |
| Frans | Latijn | 80-87% | Laag |
| Spaans | Latijn | 81-86% | Laag |
| Russisch | Cyrillisch | 75-83% | Gemiddeld |
| Arabisch | Arabisch | 55-75% | Hoog |
| Chinees | Hanzi | 60-78% | Hoog |
| Japans | Gemengd | 65-80% | Hoog |
| Thais | Thais | 50-70% | Zeer Hoog |
| Hindi | Devanagari | 60-75% | Hoog |
Talen met complexe morfologie, niet-Latijnse schriften of geen woordgrenzen presteren consequent slecht.
anonym.legal's Drie-Tier Aanpak
Wij lossen meertalige NER op door drie gespecialiseerde niveaus:
Niveau 1: spaCy (25 talen)
Voor talen met veel middelen en goede modellen:
- Engels, Duits, Frans, Spaans, Italiaans, Portugees
- Nederlands, Pools, Russisch, Grieks
- En 15 meer met betrouwbare nauwkeurigheid
Niveau 2: Stanza (7 talen)
Voor talen met complexe morfologie:
- Arabisch (wortel-patroon morfologie)
- Chinees (woordsegmentatie vereist)
- Japans (meerdere schriften)
- Koreaans (agglutinerend)
- En 3 meer
Niveau 3: XLM-RoBERTa (16 talen)
Voor talen met weinig middelen zonder speciale modellen:
- Thais, Vietnamees, Indonesisch
- Hindi, Bengaals, Tamil
- Hebreeuws, Turks, Farsi
- En meer
Hoe Het Werkt
Invoertekst met taaldetectie
↓
[Taal Router]
↓
┌───────┴───────┐
↓ ↓
Hoog-middelen Complex/Laag-middelen
(spaCy) (Stanza/XLM-RoBERTa)
↓ ↓
└───────┬───────┘
↓
[Regex overlay voor gestructureerde gegevens]
↓
[Confidence merger]
↓
Eindentiteiten
Regex Overlay
Sommige patronen zijn taal-onafhankelijk:
- E-mailadressen:
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} - Creditcards:
\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4} - Telefoonnummers: Diverse patronen per land
We passen regex eerst toe voor gestructureerde gegevens, ongeacht de taal.
RTL Schrijfhantekening
Rechts-naar-links talen vereisen speciale behandeling:
Bidirectionele Tekst Algoritme
Wanneer Arabisch Engels bevat:
Visueel: المؤتمر في John Smith بـ التقيت
Logisch: التقيت بـ John Smith في المؤتمر
Onze verwerking:
- Normaliseer naar logische volgorde
- Voer NER uit op logische volgorde
- Map entiteitsposities terug naar visuele volgorde
- Geef consistente posities terug voor elke weergave
Entiteit Grensdetectie
Arabische entiteitsgrenzen zijn complex:
"محمد" - alleen de naam
"لمحمد" - "aan Muhammad" (aangehechte voorzetsel)
"ومحمد" - "en Muhammad" (aangehechte voegwoord)
We strippen affixen vóór NER en bevestigen ze daarna weer.
Code-Switching
Echte tekst mengt vaak talen:
"El meeting con John es at 3pm"
(Spaans-Engels mengen)
"我今天跟John去shopping"
(Chinees-Engels mengen)
Onze aanpak:
- Segmenteer tekst per taal
- Verwerk elk segment met het juiste model
- Combineer resultaten met positie mapping
Prestatie Benchmarks
Interne tests op gemengde-taal datasets:
| Scenario | F1-Score |
|---|---|
| Alleen Engels | 91% |
| Alleen Duits | 88% |
| Alleen Arabisch | 79% |
| Alleen Chinees | 81% |
| Engels-Arabisch mix | 83% |
| Engels-Chinees mix | 84% |
| Engels-Duits mix | 89% |
Onze hybride aanpak behoudt hoge nauwkeurigheid, zelfs bij uitdagende talen.
Implementatietips
Voor API-gebruikers
Specificeer taal wanneer bekend:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
Laat ons automatisch detecteren wanneer onbekend:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
Voor Desktop App-gebruikers
De app detecteert automatisch de taal per document. Voor gemengde-taalbestanden verwerkt het elk segment op de juiste manier.
Voor Aangepaste Entiteitstypen
Aangepaste patronen moeten rekening houden met schriften:
# Engelse werknemer ID
EMP-[0-9]{6}
# Arabische werknemer ID (bevat Arabische cijfers)
موظف-[٠-٩0-9]{6}
Conclusie
Engels-getrainde NER-modellen falen op niet-Engelse tekst omdat talen fundamenteel verschillen in:
- Woordgrenzen (of het ontbreken daarvan)
- Morfologische complexiteit
- Schrijfrichting
- Naamconventies
Effectieve meertalige PII-detectie vereist:
- Taal-specifieke modellen voor complexe schriften
- Regex patronen voor gestructureerde gegevens
- Juiste RTL/BiDi behandeling
- Code-switching ondersteuning
anonym.legal ondersteunt 48 talen via onze drie-tier aanpak, met consistente nauwkeurigheid in alle.
Probeer het zelf:
Bronnen: