Takaisin BlogiinTekninen

Monikielinen NER: englanninkieliset mallit epäonnistuvat arabian kanssa

Englanninkieliset NER-mallit saavuttavat 85–92 %:n tarkkuuden. Arabia ja kiina? Usein vain 50–70 %. Lue teknisistä haasteista ja siitä, miten rakentaa aidosti monikielinen ratkaisu.

February 26, 20268 min lukuaika
NERmultilingualArabic NLPChinese NLPPII detection

Monikielisen NER:n haaste

Englanninkieliselle datalle koulutetut Named Entity Recognition (NER) -mallit saavuttavat vaikuttavia tuloksia – 85–92 %:n F1-pisteet standardibenchmarkeissa. Sovella samoja malleja arabiaan tai kiinaan? Tarkkuus putoaa usein 50–70 %:iin.

PII-tunnistuksessa tämä ero on kriittinen. 70 %:n tunnistusaste tarkoittaa, että 30 % arkaluonteisesta datasta jää suojaamatta.

Miksi englanninkieliset mallit epäonnistuvat?

1. Sanarajat

Englanti: Sanat erotetaan välilyönneillä.

"John Smith lives in New York"
→ ["John", "Smith", "lives", "in", "New", "York"]

Kiina: Ei lainkaan sanarajoja.

"张伟住在北京"
→ Vaatii segmentoinnin ensin: ["张伟", "住在", "北京"]

Arabia: Sanat liittyvät toisiinsa, eikä lyhyitä vokaaleja kirjoiteta.

"محمد يعيش في دبي"
→ Liitetty kirjoitusjärjestelmä, oikealta vasemmalle, vokaalit puuttuvat

Englanninkieliset tokenisointisäännöt eivät yksinkertaisesti toimi.

2. Morfologinen monimutkaisuus

Englannin morfologia: Suhteellisen yksinkertainen

run → runs, running, ran

Arabian morfologia: Äärimmäisen monimutkainen (juuri-kaava-järjestelmä)

كتب (k-t-b, "kirjoittaa"-juuri)
→ كاتب (kirjoittaja), كتاب (kirja), مكتبة (kirjasto), يكتب (hän kirjoittaa)

Yksi arabialainen juuri tuottaa kymmeniä johdannaisia. NER-mallien täytyy ymmärtää tämä johdannaissysteemi.

3. Nimikonventiot

Englanninkieliset nimet: Etunimi Sukunimi

John Smith, Mary Johnson

Arabiankieliset nimet: Useita osia

محمد بن عبد الله بن عبد المطلب
(Muhammad ibn Abdullah ibn Abdul-Muttalib)

Kiinalaiset nimet: Sukunimi ensin, usein 2–3 merkkiä yhteensä

张伟 (Zhang Wei) – 2 merkkiä
欧阳修 (Ouyang Xiu) – 3 merkkiä

4. Kirjoitussuunta

Englanti: Vasemmalta oikealle (LTR) Arabia/heprea: Oikealta vasemmalle (RTL) Sekakielinen teksti: Kaksisuuntainen (BiDi) – äärimmäisen monimutkainen

Kun englanninkielinen nimi esiintyy arabiankielisessä tekstissä:

التقيت بـ John Smith في المؤتمر
(Tapasin John Smithin konferenssissa)

Renderöintijärjestys, looginen järjestys ja näyttöjärjestys kaikki poikkeavat toisistaan.

Tarkkuus kielen mukaan

Todellinen NER-suorituskyky vaihtelee huomattavasti:

KieliKirjoitusjärjestelmäF1-alueVaikeustaso
EnglantiLatinalainen85–92 %Matala
SaksaLatinalainen82–88 %Matala
RanskaLatinalainen80–87 %Matala
EspanjaLatinalainen81–86 %Matala
VenäjäKyrillinen75–83 %Kohtalainen
ArabiaArabialainen55–75 %Korkea
KiinaHanzit60–78 %Korkea
JapaniSekakielinen65–80 %Korkea
ThaiThainkielinen50–70 %Erittäin korkea
HindiDevanagari60–75 %Korkea

Kielet, joilla on monimutkainen morfologia, ei-latinalaiset kirjoitusjärjestelmät tai joissa ei ole sanarajoja, suoriutuvat johdonmukaisesti heikommin.

anonym.legalin kolmitasoinen lähestymistapa

Ratkaisemme monikielisen NER:n kolmen erikoistuneen tason avulla:

Taso 1: spaCy (25 kieltä)

Korkean resurssitason kielille, joilla on hyviä malleja:

  • Englanti, saksa, ranska, espanja, italia, portugali
  • Hollanti, puola, venäjä, kreikka
  • Ja 15 muuta luotettavalla tarkkuudella

Taso 2: Stanza (7 kieltä)

Kielille, joilla on monimutkainen morfologia:

  • Arabia (juuri-kaava-morfologia)
  • Kiina (sanarajojen segmentointi tarpeen)
  • Japani (useita kirjoitusjärjestelmiä)
  • Korea (aglutinoiva)
  • Ja 3 muuta

Taso 3: XLM-RoBERTa (16 kieltä)

Matalan resurssitason kielille, joille ei ole omia malleja:

  • Thai, vietnam, indonesia
  • Hindi, bengali, tamili
  • Heprea, turkki, farsi
  • Ja lisää

Miten se toimii

Syöteteksti kielenilmaisuksella
        ↓
[Kielireititin]
        ↓
┌───────┴───────┐
↓               ↓
Korkean resurssin   Monimutkainen/matalan resurssin
(spaCy)         (Stanza/XLM-RoBERTa)
↓               ↓
└───────┬───────┘
        ↓
[Regex-peitto rakenteiselle datalle]
        ↓
[Luottamusyhdistelijä]
        ↓
Loput entiteetit

Regex-peitto

Jotkin kaavat ovat kieliagnostisia:

  • Sähköpostiosoitteet: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
  • Luottokortit: \d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}
  • Puhelinnumerot: maakohtaisia kaavoja

Sovellamme regexiä ensin rakenteiselle datalle kielestä riippumatta.

RTL-kirjoitusjärjestelmien käsittely

Oikealta vasemmalle kirjoitettavat kielet vaativat erityiskäsittelyä:

Kaksisuuntainen tekstialgoritmi

Kun arabia sisältää englantia:

Visuaalinen: المؤتمر في John Smith بـ التقيت
Looginen: التقيت بـ John Smith في المؤتمر

Käsittelymme:

  1. Normalisoi loogiseen järjestykseen
  2. Aja NER loogisessa järjestyksessä
  3. Kartoita entiteettipaikat takaisin visuaaliseen järjestykseen
  4. Palauta johdonmukaiset sijainnit mihin tahansa renderöintiin

Entiteettirajojen tunnistus

Arabialaiset entiteettirajat ovat monimutkaisia:

"محمد" – pelkkä nimi
"لمحمد" – "Muhammadille" (liitetty prepositio)
"ومحمد" – "ja Muhammad" (liitetty konjunktio)

Poistamme affiksit ennen NER:ää ja liitämme ne takaisin jälkikäteen.

Koodinvaihto

Todellinen teksti sekoittaa usein kieliä:

"El meeting con John es at 3pm"
(Espanja-englanti-sekoitus)

"我今天跟John去shopping"
(Kiina-englanti-sekoitus)

Lähestymistapamme:

  1. Segmentoi teksti kielen mukaan
  2. Käsittele kukin segmentti sopivalla mallilla
  3. Yhdistä tulokset sijaintikartoituksella

Suorituskykybenchmarkit

Sisäinen testaus sekakielisillä aineistoilla:

SkenaarioF1-pisteet
Vain englanti91 %
Vain saksa88 %
Vain arabia79 %
Vain kiina81 %
Englanti-arabia-sekoitus83 %
Englanti-kiina-sekoitus84 %
Englanti-saksa-sekoitus89 %

Hybridilähestymistapamme säilyttää korkean tarkkuuden myös haastavilla kielillä.

Toteutusvinkkejä

API-käyttäjille

Määrittele kieli tiedettäessä:

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

Anna meidän tunnistaa automaattisesti tarvittaessa:

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

Työpöytäsovelluksen käyttäjille

Sovellus tunnistaa kielen automaattisesti asiakirjakohtaisesti. Sekakielisille tiedostoille se käsittelee kukin segmentti asianmukaisesti.

Mukautetuille entiteettityypeille

Mukautettujen kaavojen tulisi ottaa kirjoitusjärjestelmät huomioon:

# Englanninkielinen työntekijätunnus
EMP-[0-9]{6}

# Arabiankielinen työntekijätunnus (sisältää arabialaisia numeroita)
موظف-[٠-٩0-9]{6}

Yhteenveto

Englanninkielisille NER-malleille koulutetut mallit epäonnistuvat ei-englanninkielisessä tekstissä, koska kielet eroavat perustavanlaatuisesti:

  • Sanarajat (tai niiden puuttuminen)
  • Morfologinen monimutkaisuus
  • Kirjoitussuunta
  • Nimikonventiot

Tehokas monikielinen PII-tunnistus vaatii:

  1. Kielikohtaisia malleja monimutkaisille kirjoitusjärjestelmille
  2. Regex-kaavoja rakenteiselle datalle
  3. Asianmukainen RTL/BiDi-käsittely
  4. Koodinvaihdon tuki

anonym.legal tukee 48 kieltä kolmitasoisen lähestymistapansa avulla ja saavuttaa johdonmukaisen tarkkuuden kaikilla kielillä.

Kokeile itse:


Lähteet:

Valmiina suojaamaan tietojasi?

Aloita PII-anonymisointi 273 entiteettityypillä 48 kielellä.