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:
| Kieli | Kirjoitusjärjestelmä | F1-alue | Vaikeustaso |
|---|---|---|---|
| Englanti | Latinalainen | 85–92 % | Matala |
| Saksa | Latinalainen | 82–88 % | Matala |
| Ranska | Latinalainen | 80–87 % | Matala |
| Espanja | Latinalainen | 81–86 % | Matala |
| Venäjä | Kyrillinen | 75–83 % | Kohtalainen |
| Arabia | Arabialainen | 55–75 % | Korkea |
| Kiina | Hanzit | 60–78 % | Korkea |
| Japani | Sekakielinen | 65–80 % | Korkea |
| Thai | Thainkielinen | 50–70 % | Erittäin korkea |
| Hindi | Devanagari | 60–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:
- Normalisoi loogiseen järjestykseen
- Aja NER loogisessa järjestyksessä
- Kartoita entiteettipaikat takaisin visuaaliseen järjestykseen
- 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:
- Segmentoi teksti kielen mukaan
- Käsittele kukin segmentti sopivalla mallilla
- Yhdistä tulokset sijaintikartoituksella
Suorituskykybenchmarkit
Sisäinen testaus sekakielisillä aineistoilla:
| Skenaario | F1-pisteet |
|---|---|
| Vain englanti | 91 % |
| Vain saksa | 88 % |
| Vain arabia | 79 % |
| Vain kiina | 81 % |
| Englanti-arabia-sekoitus | 83 % |
| Englanti-kiina-sekoitus | 84 % |
| Englanti-saksa-sekoitus | 89 % |
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:
- Kielikohtaisia malleja monimutkaisille kirjoitusjärjestelmille
- Regex-kaavoja rakenteiselle datalle
- Asianmukainen RTL/BiDi-käsittely
- Koodinvaihdon tuki
anonym.legal tukee 48 kieltä kolmitasoisen lähestymistapansa avulla ja saavuttaa johdonmukaisen tarkkuuden kaikilla kielillä.
Kokeile itse:
Lähteet: