阿拉伯文標準化Compatible with Milvus 3.0.0+
arabic_normalization 篩選器是專為阿拉伯文設計的內建詞元篩選器。它會將阿拉伯文特有的字母變體進行標準化處理,並移除那些可能導致等效阿拉伯文術語在文字分析過程中顯得不同的可選標記。
設定
對於阿拉伯文,在大多數情況下請使用內建的 arabic 分析器。此內建分析器包含此濾波器,並結合標準的詞元分割、轉為小寫、小數位數正規化、阿拉伯語詞幹提取以及阿拉伯語停用詞移除功能。僅當您需要建立自訂分析器管線時,才應直接使用「arabic_normalization 」。
若要在自訂分析器中使用arabic_normalization 篩選器,請將其新增至analyzer_params 中的filter 區段:
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}
arabic_normalization 濾波器沒有可設定的參數。
此篩選器會執行以下轉換:
轉換 |
來源 |
轉換為 |
|---|---|---|
哈姆扎 + 阿列夫變體 |
|
|
泰·馬爾布塔 |
|
|
阿列夫·馬克蘇拉 |
|
|
哈拉卡特 |
|
已移除 |
塔特維爾/卡希達 |
|
已移除 |
此篩選器針對分詞器所產生的標記進行處理。上述設定是刻意作為自訂分析器的範例,並不包含完整的阿拉伯語處理流程。
範例
在將分析器設定套用至您的集合架構之前,請先使用 `run_analyzer ` 方法驗證其運作行為。
分析器設定
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}
使用以下方式進行驗證run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "آدم أحمد إسلام مدرسة كبرى كِتَابٌ عـــربي"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
預期輸出
['ادم', 'احمد', 'اسلام', 'مدرسه', 'كبري', 'كتاب', 'عربي']