アラビア語の正規化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"],
}
xml-ph-0000@deepl.internal を使用した検証run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "آدم أحمد إسلام مدرسة كبرى كِتَابٌ عـــربي"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
期待される出力
['ادم', 'احمد', 'اسلام', 'مدرسه', 'كبري', 'كتاب', 'عربي']