阿拉伯語Compatible with Milvus 3.0.0+
arabic 分析器是專為阿拉伯文設計的內建分析器。當您需要 Milvus 對阿拉伯文字母變體進行標準化、移除標點符號與 Tatweel、轉換阿拉伯-印度數字、套用阿拉伯文詞幹化,以及移除阿拉伯文停用詞時,請使用此分析器。
設定
內建分析器是 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過濾器,將阿拉伯-印度數字及其他 Unicode 十進位數字轉換為 ASCII 數字。 - 阿拉伯文正規化:使用
arabic_normalization篩選器,對阿萊夫(Alef)變體、帶綁結的泰(Teh Marbuta)及帶點的阿萊夫(Alef Maksura)進行正規化,並移除哈拉卡特(Harakat)與塔特維爾(Tatweel)。 - 詞幹提取:使用
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']