العربيةCompatible with Milvus 3.0.0+
محلل « arabic » هو محلل مدمج للنصوص العربية. استخدم هذا المحلل عندما تحتاج إلى أن يقوم Milvus بتوحيد أشكال الحروف العربية المختلفة، وإزالة علامات التشكيل والتطويل، وتحويل الأرقام العربية-الهندية، وتطبيق عملية استخلاص الجذور العربية، وإزالة الكلمات الممنوعة العربية.
التكوين
المحللات المدمجة هي قوالب محللات مقدمة من Milvus. لاستخدام محلل مدمج، قم بتعيين type إلى اسم محلل محدد مسبقًا في analyzer_params.
لاستخدام المحلل العربي المدمج، قم بتعيين type إلى arabic:
analyzer_params = {
"type": "arabic",
}
يقبل محلل arabic المعلمة الاختيارية التالية:
المعلمة |
النوع |
القيمة الافتراضية |
الوصف |
|---|---|---|---|
|
|
|
قائمة بالكلمات الممنوعة الإضافية التي يجب إزالتها من عملية التقطيع إلى رموز. بشكل افتراضي، يستخدم محلل " |
لإضافة كلمات توقف مخصصة، قم بتضمين stop_words:
analyzer_params = {
"type": "arabic",
"stop_words": ["ميلفوس"],
}
يطبق Milvus الكلمات الممنوعة المخصصة بالإضافة إلى قاموس _arabic_ المدمج.
المحلل المدمج « arabic » يعادل تكوين المحلل المخصص التالي:
analyzer_params = {
"tokenizer": "standard",
"filter": [
"lowercase",
"decimaldigit",
"arabic_normalization",
{
"type": "stemmer",
"language": "arabic",
},
{
"type": "stop",
"stop_words": "_arabic_",
},
],
}
يطبق هذا المحلل خطوات المعالجة التالية:
- التقطيع إلى رموز: يستخدم أداة التقطيع
standardلتقسيم النص إلى رموز. - توحيد الأرقام: يستخدم مرشح «
decimaldigit» لتحويل الأرقام العشرية العربية-الهندية وأرقام يونيكود الأخرى إلى أرقام ASCII. - توحيد الحروف العربية: يستخدم مرشح
arabic_normalizationلتوحيد أشكال حرف الألف المختلفة، وحرف التاء المربوطة، وحرف الألف المكسورة، وإزالة الحركات والتطويل. - الاستخلاص: يستخدم مرشح
stemmerمع تعيينlanguageعلىarabic. - إزالة الكلمات الممنوعة: يستخدم مرشح "
stop" مع القاموس المدمج "_arabic_".
بعد تعريف analyzer_params ، يمكنك تطبيق المحلل على حقل VARCHAR عند تعريف مخطط المجموعة. لمزيد من التفاصيل، راجع مثال الاستخدام.
أمثلة
قبل تطبيق تكوين المحلل على مخطط المجموعة الخاص بك، تحقق من سلوكه باستخدام طريقة run_analyzer.
تكوين المحلل
analyzer_params = {
"type": "arabic",
}
التحقق باستخدام run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "كِتَابٌ عـــربي ١٢٣"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
الناتج المتوقع
['كتاب', 'عرب', '123']