Çok Dilli NER: KKB Tespitindeki Zorluklar
2026 için güncellendi
Doğruluk Uçurumu
İngilizce üzerinde eğitilmiş NER modelleri standart testlerde %85–92 F1 skoru elde eder. Aynı modelleri Arapça veya Çince metne uygulayın. Doğruluk %50–70'e düşer.
KKB çalışmaları için bu fark kritiktir. %70'lik bir isabet oranı, hassas verilerin %30'unun gözden kaçması anlamına gelir.
Nedenler hatalardan değil, yazı sistemlerinin farklılıklarından kaynaklanır.
Dört Temel Neden
1. Kelime Sınırları
İngilizce kelimeleri boşlukla ayırır. Tokenizasyon kolaydır.
Çincede hiç boşluk yoktur.
``` "张伟住在北京" → Önce böl: ["张伟", "住在", "北京"] ```
Bulamadığını etiketleyemezsin. Bölme NER'den önce gelmek zorundadır.
Arapça harfleri kelime içinde birleştirir. Kısa ünlüler yazılmaz. Metin sağdan sola akar.
``` "محمد يعيش في دبي" → Kısa ünlü yok, sağdan sola, bağlı harfler ```
2. Morfoloji
İngilizce fiiller birkaç farklı biçim alır. Arapça kök sistemi kullanır. Tek bir kökten düzinelerce kelime türer.
``` كتب (k-t-b, "yazmak") → كاتب (yazar), كتاب (kitap), مكتبة (kütüphane) ```
NER, türemiş sözcük biçimlerindeki isimleri bulabilmek için kökleri çözümlemek zorundadır.
3. İsim Kuralları
Latin isimler Ön Ad sonra Soy Ad sırasını izler. Sağdan sola yazılan dillerdeki isimler aile bağlantılarını zincirler.
``` محمد بن عبد الله (Muhammed oğlu Abdullah) ```
Çince isimlerde aile adı öne gelir. Çoğu isim iki veya üç karakterden oluşur.
``` 张伟 (Zhang Wei) — 2 karakter 欧阳修 (Ouyang Xiu) — 3 karakter ```
Batılı isim kalıpları üzerine kurulu model bu yapıları atlar.
4. Metin Yönü
Bazı diller sağdan sola yazılır. RTL metin İngilizce bir isim içerdiğinde görsel sıra ile mantıksal sıra birbirinden ayrılır. Buna BiDi metin denir. Dikkatli çözümleme gerektirir.
Yazı Sistemine Göre F1 Skorları
| Dil | Yazı Sistemi | F1 Aralığı | Zorluk |
|---|---|---|---|
| İ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 | Abjad | %55–75 | Yüksek |
| Çince | Hanzi | %60–78 | Yüksek |
| Japonca | Karma | %65–80 | Yüksek |
| Tayca | Thai | %50–70 | Çok Yüksek |
| Hintçe | Devanagari | %60–75 | Yüksek |
Latin dışı sistemler ve kelime boşluklarının yokluğu skorları genel olarak düşürür.
Üç Katmanlı Çözüm
48 dil ve yazı sistemini kapsamak için üç katman kullanıyoruz.
Katman 1: spaCy — 25 Dil
Güçlü, test edilmiş modellere sahip diller için. İngilizce, Almanca, Fransızca, İspanyolca, İtalyanca, Portekizce, Hollandaca, Lehçe, Rusça ve Yunancayı kapsar.
Katman 2: Stanza — Karmaşık Diller
Stanford Stanza Arapça, Çince, Japonca ve Koreceyi işler. NER'den önce kelime bölme ve kök çözümleme çalıştırır.
Katman 3: XLM-RoBERTa — Düşük Kaynaklı Diller
Özel modeli olmayan diller için. Tayca, Vietnamca, Hintçe, Bengalce, İbranice, Türkçe ve Farsça bu kategoriye girer. Açık bayrak gerekmeksizin karışık dilli metni işler.
RTL ve BiDi
Sağdan sola metin, bölmeden fazlasını gerektirir.
Boru hattımız:
- Metni mantıksal sıraya normalleştirir.
- Bu sırada NER çalıştırır.
- Varlık konumlarını görsel sıraya geri eşler.
NER öncesinde bağlı ön ekleri soyar ve sonrasında geri ekler.
``` "محمد" — yalnızca isim "لمحمد" — "Muhammed'e" (ön ek bağlı) ```
Kod Geçişi
Gerçek belgeler genellikle tek bir satırda birden fazla dil içerir.
``` "El meeting con John es at 3pm" "我今天跟John去shopping" ```
Boru hattımız dile göre böler. Her parçada doğru modeli çalıştırır. Ardından sonuçları konum eşlemesiyle birleştirir.
İç Kıyaslama Sonuçları
Karışık dilli veride iç testlerden elde edilen sonuçlar:
| Senaryo | F1 |
|---|---|
| Yalnızca İngilizce | %91 |
| Yalnızca Almanca | %88 |
| Yalnızca Arapça | %79 |
| Yalnızca Çince | %81 |
| İngilizce-Arapça karışık | %83 |
| İngilizce-Çince karışık | %84 |
| İngilizce-Almanca karışık | %89 |
Kurulum Notları
Masaüstü uygulaması dili belge başına otomatik algılar. Karışık dilli dosyalar için her bölümü doğru modelle işler. Manuel adım gerekmez.
Dili bildiğinizde API'de belirtin:
```json { "text": "محمد بن عبد الله", "language": "ar" } ```
Bilmediğinizde otomatik algılama kullanın:
```json { "text": "محمد بن عبد الله", "language": "auto" } ```
Özel desenler yerel rakamlara uygun olmalıdır:
```
Latin çalışan kimliği
EMP-[0-9]{6}
Arapça çalışan kimliği (Arapça-Hintçe rakamlar dahil)
موظف-[٠-٩0-9]{6} ```
Tam varlık listesini görün. API kurulumu için API özellikleri sayfasını ziyaret edin. Tespit açıklarının veri koruma mevzuatını nasıl etkilediğini GDPR uyumluluk rehberimizde bulabilirsiniz.
anonym.legal, 48 dilde tutarlı KKB tespiti için spaCy, Stanza ve XLM-RoBERTa'dan oluşan üç katmanlı NER yığını kullanır.