anonym.legal

By · Last updated 2026-02-26

Înapoi la BlogTehnic

NER Multilingv: Modelele Engleze Eșuează la Arabă

Modelele NER antrenate pe engleză ating 85-92% acuratețe. Arabă și chineză? Adesea 50-70%. Află despre provocările tehnice și cum să construiești sisteme cu adevărat multilingve.

February 26, 20268 min citire
NERmultilingualArabic NLPChinese NLPPII detection

NER Multilingv: Provocări în Detectarea PII

Actualizat pentru 2026

Decalajul de Acuratețe

Modelele NER antrenate pe engleză ating 85–92% F1 pe testele standard. Aplică aceleași modele pe text arab sau chinezesc. Acuratețea scade la 50–70%.

Pentru lucrul cu PII, acel decalaj este o problemă. O rată de detecție de 70% înseamnă că 30% din datele sensibile rămân nevăzute.

Cauzele nu sunt erori de programare. Ele vin din modul în care diferă sistemele de scriere.

Patru Cauze Principale

1. Limitele Cuvintelor

Engleza separă cuvintele cu spații. Tokenizarea este simplă.

Chineza nu are spații deloc.

"张伟住在北京"
→ Împarte mai întâi: ["张伟", "住在", "北京"]

Un model nu poate eticheta ce nu poate găsi. Împărțirea trebuie să preceadă NER.

Araba leagă literele în interiorul unui cuvânt. Vocalele scurte sunt omise. Textul curge de la dreapta la stânga.

"محمد يعيش في دبي"
→ Fără vocale scurte, dreapta-la-stânga, litere legate

2. Morfologia

Verbele engleze se modifică în câteva moduri. Araba folosește un sistem de rădăcini. O rădăcină creează zeci de cuvinte.

كتب (k-t-b, „a scrie”)
→ كاتب (scriitor), كتاب (carte), مكتبة (bibliotecă)

NER trebuie să parseze rădăcinile pentru a găsi numele în formele derivate ale cuvintelor.

3. Convențiile de Denumire

Numele latine merg Prenume apoi Nume de Familie. Numele în limbile RTL înlănțuie legături de familie.

محمد بن عبد الله
(Muhammad fiul lui Abdullah)

Numele chinezești pun numele de familie pe primul loc. Majoritatea numelor au două sau trei caractere.

张伟 (Zhang Wei) — 2 caractere
欧阳修 (Ouyang Xiu) — 3 caractere

Un model construit pe tipare de denumire occidentale va rata aceste structuri.

4. Direcția Textului

Unele limbi curg de la dreapta la stânga. Când textul RTL conține un nume englezesc, ordinea vizuală și cea logică se despart. Acesta se numește text BiDi. Necesită parsare atentă.

Scoruri F1 pe Sistem de Scriere

LimbăSistem de ScriereInterval F1Nivel
EnglezăLatin85–92%Scăzut
GermanăLatin82–88%Scăzut
FrancezăLatin80–87%Scăzut
SpaniolăLatin81–86%Scăzut
RusăChirilic75–83%Mediu
ArabăAbjad55–75%Ridicat
ChinezăHanzi60–78%Ridicat
JaponezăMixt65–80%Ridicat
ThailandezăThai50–70%Foarte Ridicat
HindiDevanagari60–75%Ridicat

Sistemele non-latine și lipsa spațiilor între cuvinte reduc scorurile în general.

Soluție pe Trei Niveluri

Folosim trei niveluri pentru a acoperi 48 de limbi și sisteme de scriere.

Nivelul 1: spaCy — 25 de Limbi

Pentru limbi cu modele puternice, testate. Acoperă engleza, germana, franceza, spaniola, italiana, portugheza, olandeza, poloneza, rusa și greaca.

Nivelul 2: Stanza — Limbi Complexe

Stanford Stanza gestionează araba, chineza, japoneza și coreana. Rulează împărțiri de cuvinte și analiză de rădăcini înainte de NER.

Nivelul 3: XLM-RoBERTa — Limbi cu Resurse Reduse

Pentru limbi fără modele dedicate. Thailandeza, vietnameza, hindi, bengali, ebraica, turca și persana intră aici. Gestionează text mixt multilingv fără marcaje explicite.

RTL și BiDi

Textul de la dreapta la stânga necesită pași suplimentari față de simpla împărțire.

Pipeline-ul nostru:

  1. Normalizează textul la ordinea logică.
  2. Rulează NER pe acea ordine.
  3. Mapează pozițiile entităților înapoi la ordinea vizuală.

Strip-uim prefixele atașate înainte de NER și le adăugăm înapoi după.

"محمد"  — doar numele
"لمحمد" — „lui Muhammad” (prefix atașat)

Comutarea de Cod

Documentele reale amestecă adesea limbi pe aceeași linie.

"El meeting con John es at 3pm"
"我今天跟John去shopping"

Pipeline-ul nostru împarte pe limbi. Rulează modelul potrivit pe fiecare parte. Apoi unește rezultatele cu maparea pozițiilor.

Benchmarkuri Interne

Rezultate din teste interne pe date multilingve mixte:

ScenariuF1
Numai engleză91%
Numai germană88%
Numai arabă79%
Numai chineză81%
Mix engleză-arabă83%
Mix engleză-chineză84%
Mix engleză-germană89%

Note de Configurare

Aplicația desktop detectează automat limba per document. Pentru fișiere cu limbi mixte, procesează fiecare segment cu modelul potrivit. Nu este necesar niciun pas manual.

Setează limba în API când o cunoști:

{
  "text": "محمد بن عبد الله",
  "language": "ar"
}

Folosește auto-detecția când nu o cunoști:

{
  "text": "محمد بن عبد الله",
  "language": "auto"
}

Tiparele personalizate ar trebui să acopere cifrele specifice localei:

# ID angajat latin
EMP-[0-9]{6}

# ID angajat arab (include cifre arabo-indice)
موظف-[٠-٩0-9]{6}

Vezi lista completă de entități. Pentru configurarea API, vizitează pagina de funcționalități API. Ghidul nostru de conformitate GDPR acoperă modul în care lacunele de detecție afectează legea privind protecția datelor.


anonym.legal folosește un stack NER pe trei niveluri — spaCy, Stanza și XLM-RoBERTa — pentru a acoperi 48 de limbi cu detectare PII consistentă.

Surse

Pregătit să vă protejați datele?

Începeți să anonimizati PII cu 285+ tipuri de entități în 48 de limbi.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.