Normalisation de l'arabeCompatible with Milvus 3.0.0+
Le filtre « arabic_normalization » est un filtre de tokens intégré destiné au texte arabe. Il normalise les variantes de lettres spécifiques à l'arabe et supprime les marques facultatives qui peuvent faire apparaître des termes arabes équivalents comme différents lors de l'analyse de texte.
Configuration
Pour le texte arabe, utilisez l’analyseur intégré arabic dans la plupart des cas. L’analyseur intégré inclut ce filtre ainsi que la tokenisation standard, la conversion en minuscules, la normalisation des chiffres décimaux, le stemming arabe et la suppression des mots vides en arabe. N’utilisez « arabic_normalization » directement que lorsque vous devez créer un pipeline d’analyseur personnalisé.
Pour utiliser le filtre « arabic_normalization » dans un analyseur personnalisé, ajoutez-le à la section « filter » dans analyzer_params:
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}
Le filtre « arabic_normalization » ne comporte aucun paramètre configurable.
Le filtre applique les transformations suivantes :
Transformation |
De |
Vers |
|---|---|---|
Variantes de Hamza + Alef |
|
|
Teh Marbuta |
|
|
Alef Maksura |
|
|
Harakat |
|
Supprimé |
Tatweel / Kashida |
|
Supprimé |
Le filtre fonctionne sur les tokens générés par le tokeniseur. La configuration ci-dessus est volontairement un exemple d'analyseur personnalisé et n'inclut pas l'intégralité du pipeline de traitement de l'arabe.
Exemples
Avant d'appliquer la configuration de l'analyseur à votre schéma de collection, vérifiez son comportement à l'aide de la méthode run_analyzer.
Configuration de l’analyseur
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}
Vérification à l'aide de run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "آدم أحمد إسلام مدرسة كبرى كِتَابٌ عـــربي"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
Résultat attendu
['ادم', 'احمد', 'اسلام', 'مدرسه', 'كبري', 'كتاب', 'عربي']