Kembali ke BlogTeknis

NER Multibahasa: Model Bahasa Inggris Gagal untuk Bahasa Arab

Model NER bahasa Inggris mencapai akurasi 85-92%. Untuk bahasa Arab dan Mandarin? Seringkali hanya 50-70%. Pelajari tantangan teknis dan cara membangun sistem yang benar-benar multibahasa.

February 26, 20268 menit baca
NERmultilingualArabic NLPChinese NLPPII detection

Tantangan NER Multibahasa

Model Named Entity Recognition (NER) yang dilatih dalam bahasa Inggris menghasilkan skor F1 yang mengesankan — 85-92% pada benchmark standar. Terapkan model yang sama untuk bahasa Arab atau Mandarin? Akurasi seringkali turun ke 50-70%.

Untuk deteksi PII, kesenjangan ini sangat kritis. Tingkat deteksi 70% berarti 30% data sensitif tidak terlindungi.

Mengapa Model Bahasa Inggris Gagal

1. Batas Kata

Bahasa Inggris: Kata-kata dipisahkan oleh spasi.

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

Bahasa Mandarin: Tidak ada batas kata sama sekali.

"张伟住在北京"
→ Perlu segmentasi dulu: ["张伟", "住在", "北京"]

Bahasa Arab: Kata-kata terhubung, dan vokal pendek tidak ditulis.

"محمد يعيش في دبي"
→ Tulisan bersambung, kanan ke kiri, vokal dihilangkan

Aturan tokenisasi bahasa Inggris tidak berlaku di sini.

2. Kompleksitas Morfologi

Morfologi bahasa Inggris: Relatif sederhana

run → runs, running, ran

Morfologi bahasa Arab: Sangat kompleks (sistem akar-pola)

كتب (k-t-b, akar "tulis")
→ كاتب (penulis), كتاب (buku), مكتبة (perpustakaan), يكتب (dia menulis)

Satu akar bahasa Arab menghasilkan puluhan kata terkait. Model NER harus memahami sistem derivasi ini.

3. Konvensi Nama

Nama bahasa Inggris: Nama Depan Belakang

John Smith, Mary Johnson

Nama bahasa Arab: Terdiri dari beberapa komponen

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

Nama bahasa Mandarin: Nama keluarga di depan, sering 2-3 karakter total

张伟 (Zhang Wei) - 2 karakter
欧阳修 (Ouyang Xiu) - 3 karakter

4. Arah Penulisan

Bahasa Inggris: Kiri ke kanan (LTR) Bahasa Arab/Ibrani: Kanan ke kiri (RTL) Teks campuran: Dua arah (BiDi) - sangat kompleks

Ketika nama bahasa Inggris muncul dalam teks bahasa Arab:

التقيت بـ John Smith في المؤتمر
(Saya bertemu John Smith di konferensi itu)

Urutan rendering, urutan logis, dan urutan tampilan semuanya berbeda.

Akurasi per Bahasa

Performa NER di dunia nyata bervariasi secara dramatis:

BahasaAksaraRentang F1-ScoreTingkat Kesulitan
InggrisLatin85-92%Rendah
JermanLatin82-88%Rendah
PrancisLatin80-87%Rendah
SpanyolLatin81-86%Rendah
RusiaSirilik75-83%Sedang
ArabArab55-75%Tinggi
MandarinHanzi60-78%Tinggi
JepangCampuran65-80%Tinggi
ThailandThai50-70%Sangat Tinggi
HindiDevanagari60-75%Tinggi

Bahasa dengan morfologi kompleks, aksara non-Latin, atau tanpa batas kata secara konsisten menunjukkan performa lebih rendah.

Pendekatan Tiga Tingkat anonym.legal

Kami mengatasi NER multibahasa melalui tiga tingkat khusus:

Tingkat 1: spaCy (25 bahasa)

Untuk bahasa dengan sumber daya tinggi dan model yang baik:

  • Inggris, Jerman, Prancis, Spanyol, Italia, Portugis
  • Belanda, Polandia, Rusia, Yunani
  • Dan 15 bahasa lain dengan akurasi yang andal

Tingkat 2: Stanza (7 bahasa)

Untuk bahasa dengan morfologi kompleks:

  • Arab (morfologi akar-pola)
  • Mandarin (memerlukan segmentasi kata)
  • Jepang (beberapa aksara)
  • Korea (aglutinasi)
  • Dan 3 bahasa lainnya

Tingkat 3: XLM-RoBERTa (16 bahasa)

Untuk bahasa dengan sumber daya rendah tanpa model khusus:

  • Thailand, Vietnam, Indonesia
  • Hindi, Bengali, Tamil
  • Ibrani, Turki, Persia
  • Dan lainnya

Cara Kerjanya

Teks input dengan deteksi bahasa
        ↓
[Router Bahasa]
        ↓
┌───────┴───────┐
↓               ↓
Sumber daya tinggi   Kompleks/Sumber daya rendah
(spaCy)         (Stanza/XLM-RoBERTa)
↓               ↓
└───────┬───────┘
        ↓
[Overlay regex untuk data terstruktur]
        ↓
[Penggabungan kepercayaan]
        ↓
Entitas akhir

Overlay Regex

Beberapa pola tidak bergantung bahasa:

  • Alamat email: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
  • Kartu kredit: \d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}
  • Nomor telepon: Berbagai pola per negara

Kami menerapkan regex terlebih dahulu untuk data terstruktur, terlepas dari bahasanya.

Penanganan Aksara RTL

Bahasa kanan ke kiri memerlukan penanganan khusus:

Algoritma Teks Dua Arah

Ketika bahasa Arab mengandung teks bahasa Inggris:

Visual: المؤتمر في John Smith بـ التقيت
Logis: التقيت بـ John Smith في المؤتمر

Pemrosesan kami:

  1. Normalisasi ke urutan logis
  2. Jalankan NER pada urutan logis
  3. Petakan posisi entitas kembali ke urutan visual
  4. Kembalikan posisi konsisten untuk rendering apapun

Deteksi Batas Entitas

Batas entitas bahasa Arab itu kompleks:

"محمد" - hanya nama
"لمحمد" - "kepada Muhammad" (preposisi tersambung)
"ومحمد" - "dan Muhammad" (konjungsi tersambung)

Kami melepas imbuhan sebelum NER dan menempelkannya kembali setelahnya.

Pergantian Kode

Teks nyata sering mencampur bahasa:

"El meeting con John es at 3pm"
(Campuran Spanyol-Inggris)

"我今天跟John去shopping"
(Campuran Mandarin-Inggris)

Pendekatan kami:

  1. Segmentasikan teks per bahasa
  2. Proses setiap segmen dengan model yang sesuai
  3. Gabungkan hasil dengan pemetaan posisi

Benchmark Performa

Pengujian internal pada dataset multibahasa:

SkenarioF1-Score
Hanya bahasa Inggris91%
Hanya bahasa Jerman88%
Hanya bahasa Arab79%
Hanya bahasa Mandarin81%
Campuran Inggris-Arab83%
Campuran Inggris-Mandarin84%
Campuran Inggris-Jerman89%

Pendekatan hibrida kami mempertahankan akurasi tinggi bahkan pada bahasa yang menantang.

Tips Implementasi

Untuk Pengguna API

Tentukan bahasa jika diketahui:

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

Biarkan sistem mendeteksi otomatis jika tidak diketahui:

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

Untuk Pengguna Aplikasi Desktop

Aplikasi mendeteksi bahasa secara otomatis per dokumen. Untuk file multibahasa, setiap segmen diproses secara tepat.

Untuk Tipe Entitas Kustom

Pola kustom harus memperhitungkan aksara:

# ID karyawan bahasa Inggris
EMP-[0-9]{6}

# ID karyawan bahasa Arab (termasuk angka Arab)
موظف-[٠-٩0-9]{6}

Kesimpulan

Model NER yang dilatih dalam bahasa Inggris gagal pada teks non-Inggris karena bahasa-bahasa tersebut berbeda secara fundamental dalam:

  • Batas kata (atau ketidakadaannya)
  • Kompleksitas morfologi
  • Arah aksara
  • Konvensi nama

Deteksi PII multibahasa yang efektif membutuhkan:

  1. Model spesifik bahasa untuk aksara yang kompleks
  2. Pola regex untuk data terstruktur
  3. Penanganan RTL/BiDi yang tepat
  4. Dukungan pergantian kode

anonym.legal mendukung 48 bahasa melalui pendekatan tiga tingkat kami, mencapai akurasi konsisten di semua bahasa.

Coba sendiri:


Sumber:

Siap untuk melindungi data Anda?

Mulai anonimisasi PII dengan 273 jenis entitas dalam 48 bahasa.