By · Last updated 2026-02-26

Zpět na blogTechnické

Vícejazyčné NER: Proč angličtina selhává u arabštiny

NER modely pro angličtinu dosahují přesnosti 85–92 %. Pro arabštinu a čínštinu? Často jen 50–70 %. Zjistěte technické příčiny a jak vybudovat skutečně vícejazyčné řešení.

February 26, 20268 min čtení
NERmultilingualArabic NLPChinese NLPPII detection

Vícejazyčné NER: Výzvy při detekci PII

Aktualizováno pro rok 2026

Propast v přesnosti

NER modely trénované na angličtině dosahují F1 skóre 85–92 % na standardních testech. Aplikujte tyto modely na arabský nebo čínský text — přesnost klesá na 50–70 %.

Pro ochranu PII je tato mezera problémem. Úspěšnost 70 % znamená, že 30 % citlivých dat zůstane nezachyceno.

Příčiny nejsou chyby v kódu. Vyplývají z toho, jak se jednotlivé písemné systémy od sebe liší.

Čtyři hlavní příčiny

1. Hranice slov

Angličtina odděluje slova mezerami. Tokenizace je snadná.

Čínština nepoužívá mezery vůbec.

"张伟住在北京"
→ Nejprve rozdělit: ["张伟", "住在", "北京"]

Model nemůže označit to, co nedokáže najít. Rozdělení musí předcházet NER.

Arabština spojuje písmena uvnitř slov. Krátké samohlásky se vynechávají. Text se čte zprava doleva.

"محمد يعيش في دبي"
→ Bez krátkých samohlásek, zprava doleva, propojená písmena

2. Morfologie

Anglická slovesa se mění jen několika způsoby. Arabština používá kořenový systém. Z jednoho kořene vznikají desítky slov.

كتب (k-t-b, "psát")
→ كاتب (pisatel), كتاب (kniha), مكتبة (knihovna)

NER musí analyzovat kořeny, aby v odvozených tvarech slov rozpoznal jména.

3. Jmenné konvence

Latinská jména se uvádějí jako jméno a poté příjmení. V jazycích psaných zprava doleva se řetězí rodinné vazby.

محمد بن عبد الله
(Muhammad, syn Abdulláha)

Čínská jména uvádějí příjmení na prvním místě. Většina jmen má dvě nebo tři znaky.

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

Model trénovaný na západních vzorech jmen tyto struktury přehlédne.

4. Směr textu

Některé jazyky se čtou zprava doleva. Když text psaný zprava doleva obsahuje anglické jméno, vizuální a logické pořadí se rozchází. Tato situace se nazývá BiDi text a vyžaduje pečlivé zpracování.

F1 skóre podle písemného systému

JazykPísemný systémRozsah F1Náročnost
AngličtinaLatinka85–92 %Nízká
NěmčinaLatinka82–88 %Nízká
FrancouzštinaLatinka80–87 %Nízká
ŠpanělštinaLatinka81–86 %Nízká
RuštinaCyrilice75–83 %Střední
ArabštinaAbjad55–75 %Vysoká
ČínštinaHanzi60–78 %Vysoká
JaponštinaSmíšený65–80 %Vysoká
ThajštinaThajské písmo50–70 %Velmi vysoká
HindštinaDévanágarí60–75 %Vysoká

Nelatinkové systémy a chybějící mezery mezi slovy snižují skóre napříč všemi jazyky.

Třívrstvé řešení

Pro pokrytí 48 jazyků a písemných systémů používáme tři vrstvy.

Vrstva 1: spaCy — 25 jazyků

Pro jazyky se silnými, otestovanými modely. Zahrnuje angličtinu, němčinu, francouzštinu, španělštinu, italštinu, portugalštinu, holandštinu, polštinu, ruštinu a řečtinu.

Vrstva 2: Stanza — složité jazyky

Stanford Stanza zpracovává arabštinu, čínštinu, japonštinu a korejštinu. Před NER provádí rozdělení slov a analýzu kořenů.

Vrstva 3: XLM-RoBERTa — jazyky s omezenými zdroji

Pro jazyky bez dedikovaných modelů. Thajština, vietnamština, hindština, bengálština, hebrejština, turečtina a perština. Zvládá vícejazyčný text bez nutnosti explicitního označení jazyka.

Text psaný zprava doleva a BiDi

Text psaný zprava doleva vyžaduje další kroky nad rámec rozdělení slov.

Naše pipeline:

  1. Normalizuje text do logického pořadí.
  2. Spustí NER na tomto pořadí.
  3. Mapuje pozice entit zpět na vizuální pořadí.

Před NER odstraňujeme připojené předpony a po zpracování je přidáváme zpět.

"محمد"  — pouze jméno
"لمحمد" — "pro Muhammada" (s předponou)

Přepínání kódu

Reálné dokumenty často mísí jazyky v jednom řádku.

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

Naše pipeline rozdělí text podle jazyka, spustí správný model na každou část a poté spojí výsledky s mapováním pozic.

Interní benchmarky

Výsledky z interních testů na vícejazyčných datech:

ScénářF1
Pouze angličtina91 %
Pouze němčina88 %
Pouze arabština79 %
Pouze čínština81 %
Angličtina-arabština83 %
Angličtina-čínština84 %
Angličtina-němčina89 %

Poznámky k nastavení

Desktopová aplikace automaticky rozpozná jazyk u každého dokumentu. U souborů s více jazyky zpracovává každý segment správným modelem. Žádný ruční krok není potřeba.

Jazyk v API nastavte, pokud ho znáte:

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

Použijte automatické rozpoznávání, pokud ho neznáte:

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

Vlastní vzory by měly pokrývat místně specifické číslice:

# Latinské ID zaměstnance
EMP-[0-9]{6}

# Arabské ID zaměstnance (včetně arabsko-indických číslic)
موظف-[٠-٩0-9]{6}

Celý seznam entit najdete na stránce entit. Pro nastavení API navštivte stránku funkcí API. Náš průvodce GDPR vysvětluje, jak mezery v detekci ovlivňují zákon o ochraně osobních údajů.


anonym.legal používá třívrstvý NER stack — spaCy, Stanza a XLM-RoBERTa — pro pokrytí 48 jazyků s konzistentní detekcí PII.

Zdroje

Připraveni chránit svá data?

Začněte anonymizovat PII s více než 285 typy entit ve 48 jazycích.

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.