Normalisasi Bahasa ArabCompatible with Milvus 3.0.0+
Filter " arabic_normalization " adalah filter token bawaan untuk teks Arab. Filter ini menormalisasi variasi huruf yang khas dalam bahasa Arab dan menghapus tanda-tanda opsional yang dapat membuat istilah-istilah Arab yang setara tampak berbeda selama analisis teks.
Konfigurasi
Untuk teks Arab, gunakan arabic dalam kebanyakan kasus. Penganalisis bawaan ini mencakup filter ini bersama dengan tokenisasi standar, pengubahan huruf kecil, normalisasi angka desimal, stemming bahasa Arab, dan penghapusan kata-kata penghalang bahasa Arab. Gunakan " arabic_normalization " secara langsung hanya jika Anda perlu membangun alur kerja penganalisis kustom.
Untuk menggunakan filter ` arabic_normalization ` dalam pipa penganalisis kustom, tambahkan filter tersebut ke bagian ` filter ` di analyzer_params:
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}
Filter ` arabic_normalization ` tidak memiliki parameter yang dapat dikonfigurasi.
Filter ini menerapkan transformasi berikut:
Transformasi |
Dari |
Ke |
|---|---|---|
Varian Hamza + Alef |
|
|
Teh Marbuta |
|
|
Alef Maksura |
|
|
Harakat |
|
Dihapus |
Tatweel / Kashida |
|
Dihapus |
Filter ini bekerja pada token yang dihasilkan oleh tokenizer. Konfigurasi di atas sengaja dibuat sebagai contoh penganalisis khusus dan tidak mencakup seluruh alur pemrosesan bahasa Arab.
Contoh
Sebelum menerapkan konfigurasi penganalisis ke skema koleksi Anda, verifikasi perilakunya menggunakan metode ` run_analyzer `.
Konfigurasi penganalisis
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}
Verifikasi menggunakan run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "آدم أحمد إسلام مدرسة كبرى كِتَابٌ عـــربي"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
Hasil yang diharapkan
['ادم', 'احمد', 'اسلام', 'مدرسه', 'كبري', 'كتاب', 'عربي']