Monikielisen NER:n haaste
Nimientunnistus (NER) -mallit, jotka on koulutettu englanniksi, saavuttavat vaikuttavia tuloksia—85-92 % F1-pisteitä standardikokeissa. Käytetäänkö samoja malleja arabiassa tai kiinassa? Tarkkuus laskee usein 50-70 %:iin.
PII-tunnistuksessa tämä ero on kriittinen. 70 %:n tunnistustaso tarkoittaa, että 30 % herkistä tiedoista 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 sanarajoja lainkaan.
"张伟住在北京"
→ Tarvitsee segmentoinnin ensin: ["张伟", "住在", "北京"]
Arabia: Sanat yhdistyvät, ja lyhyitä vokaaleja ei kirjoiteta.
"محمد يعيش في دبي"
→ Yhdistetty kirjoitus, oikealta vasemmalle, vokaalit pois
Englannin tokenisaatiosäännöt eivät yksinkertaisesti päde.
2. Morfologinen monimutkaisuus
Englannin morfologia: Suhteellisen yksinkertainen
run → runs, running, ran
Arabian morfologia: Äärimmäisen monimutkainen (juuri-malli järjestelmä)
كتب (k-t-b, "write" juuri)
→ كاتب (kirjoittaja), كتاب (kirja), مكتبة (kirjasto), يكتب (hän kirjoittaa)
Yksi arabian juuri tuottaa kymmeniä liittyviä sanoja. NER-mallien on ymmärrettävä tämä johdannaisjärjestelmä.
3. Nimen konventiot
Englannin nimet: Etunimi Sukunimi
John Smith, Mary Johnson
Arabian nimet: Useita komponentteja
محمد بن عبد الله بن عبد المطلب
(Muhammad 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) Sekoitettu teksti: Kaksisuuntainen (BiDi) - äärimmäisen monimutkainen
Kun englanninkielinen nimi esiintyy arabialaisessa tekstissä:
التقيت بـ John Smith في المؤتمر
(I met John Smith at the conference)
Renderointijärjestys, looginen järjestys ja näyttöjärjestys eroavat kaikista.
Tarkkuus kielen mukaan
Reaalimaailman NER-suorituskyky vaihtelee dramaattisesti:
| Kieli | Kirjoitus | F1-Pisteet | Haasteen taso |
|---|---|---|---|
| Englanti | Latina | 85-92 % | Matala |
| Saksa | Latina | 82-88 % | Matala |
| Ranska | Latina | 80-87 % | Matala |
| Espanja | Latina | 81-86 % | Matala |
| Venäjä | Kirillitsa | 75-83 % | Keskitaso |
| Arabia | Arabia | 55-75 % | Korkea |
| Kiina | Hanzi | 60-78 % | Korkea |
| Japani | Sekoitettu | 65-80 % | Korkea |
| Thaimaa | Thaimaa | 50-70 % | Erittäin korkea |
| Hindi | Devanagari | 60-75 % | Korkea |
Kielet, joilla on monimutkainen morfologia, ei-latinalaiset kirjoitukset tai ei-sanarajat, alisuoriutuvat jatkuvasti.
anonym.legalin kolmivaiheinen lähestymistapa
Ratkaisimme monikielisen NER:n kolmen erikoistuneen tason kautta:
Taso 1: spaCy (25 kieltä)
Korkearesurssikielille, 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-malli morfologia)
- Kiina (sanasegmentointi vaaditaan)
- Japani (useita kirjoituksia)
- Korea (agglutinoiva)
- Ja 3 muuta
Taso 3: XLM-RoBERTa (16 kieltä)
Alhaisen resurssin kielille ilman omistettuja malleja:
- Thaimaa, Vietnam, Indonesia
- Hindi, Bengali, Tamili
- Heprea, Turkki, Farsi
- Ja muita
Kuinka se toimii
Syöte teksti kielen tunnistuksella
↓
[Kielireititin]
↓
┌───────┴───────┐
↓ ↓
Korkearesurssi Monimutkainen/Matala-resurssi
(spaCy) (Stanza/XLM-RoBERTa)
↓ ↓
└───────┬───────┘
↓
[Regex-päällekkäisyys rakenteelliselle datalle]
↓
[Luottamuksen yhdistäminen]
↓
Lopulliset entiteetit
Regex-päällekkäisyys
Jotkut mallit ovat kielellisesti riippumattomia:
- 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: Eri mallit maittain
Käytämme regexiä ensin rakenteelliselle datalle, riippumatta kielestä.
RTL-kirjoituksen käsittely
Oikealta vasemmalle -kielet vaativat erityistä käsittelyä:
Kaksisuuntainen tekstialgoritmi
Kun arabiassa on englantia:
Visuaalinen: المؤتمر في John Smith بـ التقيت
Looginen: التقيت بـ John Smith في المؤتمر
Käsittelymme:
- Normalisoi loogiseen järjestykseen
- Suorita NER loogisessa järjestyksessä
- Kartoitus entiteettien paikoista takaisin visuaaliseen järjestykseen
- Palauta johdonmukaiset paikat kaikelle renderoinnille
Entiteettirajojen tunnistus
Arabian entiteettirajat ovat monimutkaisia:
"محمد" - vain nimi
"لمحمد" - "Muhammadille" (liitetty prepositio)
"ومحمد" - "ja Muhammad" (liitetty konjunktio)
Poistamme affiksit ennen NER:ää ja liitämme ne takaisin jälkeenpäin.
Koodinvaihto
Reaaliteksti 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 jokainen segmentti asianmukaisella mallilla
- Yhdistä tulokset paikkakartoituksella
Suorituskykyvertailut
Sisäinen testaus sekoitetuilla kielidatalla:
| Skenaario | F1-Piste |
|---|---|
| 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 ylläpitää korkeaa tarkkuutta jopa haastavilla kielillä.
Toteutustipsit
API-käyttäjille
Määritä kieli, kun se on tiedossa:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
Anna meidän automaattisesti tunnistaa, kun se on tuntematon:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
Työpöytäsovelluksen käyttäjille
Sovellus tunnistaa kielen automaattisesti asiakirjakohtaisesti. Sekoitettujen kielitiedostojen osalta se käsittelee jokaisen segmentin asianmukaisesti.
Mukautetuille entiteettityypeille
Mukautettujen mallien tulisi ottaa huomioon kirjoitukset:
# Englannin työntekijätunnus
EMP-[0-9]{6}
# Arabian työntekijätunnus (sisältää arabialaiset numerot)
موظف-[٠-٩0-9]{6}
Johtopäätös
Englanniksi koulutetut NER-mallit epäonnistuvat ei-englanninkielisessä tekstissä, koska kielet eroavat perustavanlaatuisesti:
- Sanarajat (tai niiden puute)
- Morfologinen monimutkaisuus
- Kirjoitussuunta
- Nimen konventiot
Tehokas monikielinen PII-tunnistus vaatii:
- Kielikohtaisia malleja monimutkaisille kirjoituksille
- Regex-malleja rakenteelliselle datalle
- Oikean RTL/BiDi-käsittelyn
- Koodinvaihtotuen
anonym.legal tukee 48 kieltä kolmitasoisen lähestymistapamme kautta, saavuttaen johdonmukaisen tarkkuuden kaikilla.
Kokeile itse:
Lähteet: