メインコンテンツまでスキップ

アラビア語の正規化

arabic_normalization フィルターは、アラビア語テキスト用の組み込みトークンフィルターです。アラビア語固有の文字異形を正規化し、テキスト分析時に同等のアラビア語用語が異なるように見える可能性がある省略可能な記号を削除します。

設定​

Notes

アラビア語テキストでは、ほとんどの場合、組み込みの アラビア語アナライザー を使用してください。組み込みアナライザーには、このフィルターと、標準トークン化、小文字化、10 進数字の正規化、アラビア語のステミング、アラビア語のストップワード削除が含まれています。カスタムアナライザーパイプラインを構築する必要がある場合にのみ、arabic_normalization を直接使用してください。

カスタムアナライザーで arabic_normalization フィルターを使用するには、analyzer_params の filter セクションに追加します。

python
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}

arabic_normalization フィルターには設定可能なパラメーターはありません。

このフィルターは次の変換を適用します。

変換変換前変換後
ハムザ + アリフの異形آ, أ, إا
ターマルブータةه
アリフ・マクスーラىي
ハラカートU+064B から U+065F まで削除
タトウィール / カシーダـ削除

このフィルターは、トークナイザーによって生成されたトークンに対して動作します。上記の設定は意図的にカスタムアナライザーの例として示したものであり、アラビア語処理パイプライン全体を含むものではありません。

例​

アナライザーの設定をコレクションスキーマに適用する前に、run_analyzer メソッドを使用して動作を検証してください。

アナライザーの設定​

python
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}

run_analyzer を使用した検証​

python
from pymilvus import MilvusClient

client = MilvusClient(uri="YOUR_CLUSTER_ENDPOINT")

sample_text = "آدم أحمد إسلام مدرسة كبرى كِتَابٌ عـــربي"

result = client.run_analyzer(sample_text, analyzer_params)
print(result)

期待される出力​

plaintext
['ادم', 'احمد', 'اسلام', 'مدرسه', 'كبري', 'كتاب', 'عربي']
このページは役に立ちましたか?