Çok Dilli NER Zorluğu
İngilizce üzerinde eğitilmiş İsim Varlık Tanıma (NER) modelleri etkileyici sonuçlar elde ediyor—standart ölçütlerde %85-92 F1 puanları. Aynı modelleri Arapça veya Çince'ye uyguladığınızda? Doğruluk genellikle %50-70'e düşüyor.
PII tespiti için bu fark kritik. %70 tespit oranı, hassas verilerin %30'unun korunmadığı anlamına geliyor.
İngilizce Modellerin Başarısız Olma Nedenleri
1. Kelime Sınırları
İngilizce: Kelimeler boşluklarla ayrılır.
"John Smith lives in New York"
→ ["John", "Smith", "lives", "in", "New", "York"]
Çince: Hiç kelime sınırı yoktur.
"张伟住在北京"
→ Önce segmentasyona ihtiyaç var: ["张伟", "住在", "北京"]
Arapça: Kelimeler bağlıdır ve kısa ünlüler yazılmaz.
"محمد يعيش في دبي"
→ Bağlı yazı, sağdan sola, ünlüler atlanmış
İngilizce tokenizasyon kuralları basitçe geçerli değildir.
2. Morfolojik Karmaşıklık
İngilizce morfolojisi: Göreceli olarak basit
run → runs, running, ran
Arapça morfolojisi: Son derece karmaşık (kök-düzen sistemi)
كتب (k-t-b, "yazmak" kökü)
→ كاتب (yazar), كتاب (kitap), مكتبة (kütüphane), يكتب (o yazar)
Tek bir Arapça kök, onlarca ilgili kelime üretir. NER modellerinin bu türetim sistemini anlaması gerekir.
3. İsim Konvansiyonları
İngilizce isimler: İlk Son
John Smith, Mary Johnson
Arapça isimler: Birden fazla bileşen
محمد بن عبد الله بن عبد المطلب
(Muhammed Abdullah'ın oğlu Abdul-Muttalib'in oğlu)
Çince isimler: Aile adı önce gelir, genellikle toplam 2-3 karakterdir
张伟 (Zhang Wei) - 2 karakter
欧阳修 (Ouyang Xiu) - 3 karakter
4. Yazı Yönü
İngilizce: Soldan sağa (LTR) Arapça/Ibranice: Sağdan sola (RTL) Karmaşık metin: İki yönlü (BiDi) - son derece karmaşık
Bir İngilizce isim Arapça metinde göründüğünde:
التقيت بـ John Smith في المؤتمر
(Ben konferansta John Smith ile tanıştım)
Görüntüleme sırası, mantıksal sıra ve gösterim sırası hepsi farklıdır.
Dile Göre Doğruluk
Gerçek dünyada NER performansı dramatik şekilde değişir:
| Dil | Yazı | F1-Puan Aralığı | Zorluk Seviyesi |
|---|---|---|---|
| İngilizce | Latin | %85-92 | Düşük |
| Almanca | Latin | %82-88 | Düşük |
| Fransızca | Latin | %80-87 | Düşük |
| İspanyolca | Latin | %81-86 | Düşük |
| Rusça | Kiril | %75-83 | Orta |
| Arapça | Arapça | %55-75 | Yüksek |
| Çince | Hanzi | %60-78 | Yüksek |
| Japonca | Karmaşık | %65-80 | Yüksek |
| Tayca | Tayca | %50-70 | Çok Yüksek |
| Hintçe | Devanagari | %60-75 | Yüksek |
Karmaşık morfolojiye sahip, Latin olmayan yazılar veya kelime sınırı olmayan diller sürekli olarak düşük performans gösterir.
anonym.legal'ın Üç Aşamalı Yaklaşımı
Çok dilli NER'i üç özel katmanla çözüyoruz:
Katman 1: spaCy (25 dil)
Yüksek kaynaklı diller için iyi modeller:
- İngilizce, Almanca, Fransızca, İspanyolca, İtalyanca, Portekizce
- Felemenkçe, Lehçe, Rusça, Yunanca
- Ve güvenilir doğrulukla 15 daha
Katman 2: Stanza (7 dil)
Karmaşık morfolojiye sahip diller için:
- Arapça (kök-düzen morfolojisi)
- Çince (kelime segmentasyonu gereklidir)
- Japonca (birden fazla yazı)
- Korece (eklemeli)
- Ve 3 daha
Katman 3: XLM-RoBERTa (16 dil)
Özel modelleri olmayan düşük kaynaklı diller için:
- Tayca, Vietnamca, Endonezyaca
- Hintçe, Bengalce, Tamilce
- İbranice, Türkçe, Farsça
- Ve daha fazlası
Nasıl Çalışır
Dil tespiti ile giriş metni
↓
[Dil Yönlendirici]
↓
┌───────┴───────┐
↓ ↓
Yüksek kaynaklı Karmaşık/Düşük kaynaklı
(spaCy) (Stanza/XLM-RoBERTa)
↓ ↓
└───────┬───────┘
↓
[Yapılandırılmış veriler için Regex örtüsü]
↓
[Güven birleştirme]
↓
Son varlıklar
Regex Örtüsü
Bazı kalıplar dil bağımsızdır:
- E-posta adresleri:
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} - Kredi kartları:
\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4} - Telefon numaraları: Ülkeye göre çeşitli kalıplar
Yapılandırılmış veriler için, dil bağımsız olarak önce regex uygularız.
RTL Yazı Yönetimi
Sağdan sola diller özel bir yönetim gerektirir:
İki Yönlü Metin Algoritması
Arapça İngilizce içerdiğinde:
Görsel: المؤتمر في John Smith بـ التقيت
Mantıksal: التقيت بـ John Smith في المؤتمر
İşlemimiz:
- Mantıksal sıraya normalize et
- Mantıksal sırada NER çalıştır
- Varlık konumlarını görsel sıraya geri eşleştir
- Herhangi bir görüntüleme için tutarlı konumlar döndür
Varlık Sınırı Tespiti
Arapça varlık sınırları karmaşıktır:
"محمد" - sadece isim
"لمحمد" - "Muhammed'e" (bağlı edat)
"ومحمد" - "ve Muhammed" (bağlı bağlaç)
NER'den önce ekleri çıkarır ve sonrasında tekrar ekleriz.
Kod Değiştirme
Gerçek metin genellikle dilleri karıştırır:
"El meeting con John es at 3pm"
(İspanyolca-İngilizce karışımı)
"我今天跟John去shopping"
(Çince-İngilizce karışımı)
Yaklaşımımız:
- Metni diline göre segmentle
- Her segmenti uygun modelle işle
- Sonuçları konum eşlemesi ile birleştir
Performans Ölçütleri
Karmaşık dil veri setlerinde iç test:
| Senaryo | F1-Puan |
|---|---|
| Sadece İngilizce | %91 |
| Sadece Almanca | %88 |
| Sadece Arapça | %79 |
| Sadece Çince | %81 |
| İngilizce-Arapça karışımı | %83 |
| İngilizce-Çince karışımı | %84 |
| İngilizce-Almanca karışımı | %89 |
Hibrit yaklaşımımız, zorlu dillerde bile yüksek doğruluğu korur.
Uygulama İpuçları
API Kullanıcıları İçin
Bildiğinizde dili belirtin:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
Bilinmediğinde otomatik tespit etmemize izin verin:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
Masaüstü Uygulama Kullanıcıları İçin
Uygulama, belge başına dili otomatik olarak tespit eder. Karmaşık dilli dosyalar için, her segmenti uygun şekilde işler.
Özel Varlık Türleri İçin
Özel kalıplar yazıları dikkate almalıdır:
# İngilizce çalışan kimlik numarası
EMP-[0-9]{6}
# Arapça çalışan kimlik numarası (Arap rakamlarını içerir)
موظف-[٠-٩0-9]{6}
Sonuç
İngilizce eğitilmiş NER modelleri, dillerin temel olarak farklı olduğu için İngilizce olmayan metinlerde başarısız olur:
- Kelime sınırları (veya yokluğu)
- Morfolojik karmaşıklık
- Yazı yönü
- İsim konvansiyonları
Etkili çok dilli PII tespiti gerektirir:
- Karmaşık yazılar için dil-spesifik modeller
- Yapılandırılmış veriler için regex kalıpları
- Doğru RTL/BiDi yönetimi
- Kod değiştirme desteği
anonym.legal, 48 dili üç aşamalı yaklaşımımızla destekleyerek tümünde tutarlı doğruluk elde etmektedir.
Kendiniz deneyin:
Kaynaklar: