ArabeCompatible with Milvus 3.0.0+

L'analyseur « arabic » est un analyseur intégré destiné aux textes en arabe. Utilisez cet analyseur lorsque vous souhaitez que Milvus normalise les variantes des lettres arabes, supprime les signes diacritiques et le tatweel, convertisse les chiffres arabo-indiens, applique le lemmatisation arabe et supprime les mots vides arabes.

Configuration

Les analyseurs intégrés sont des modèles d’analyse fournis par Milvus. Pour utiliser un analyseur intégré, définissez type sur le nom d’un analyseur prédéfini dans analyzer_params.

Pour utiliser l’analyseur arabe intégré, définissez ` type ` sur ` arabic` :

analyzer_params = {
    "type": "arabic",
}

L'analyseur arabic accepte le paramètre facultatif suivant :

Paramètre

Type

Valeur par défaut

Description

stop_words

list[str]

_arabic_

Liste des mots vides supplémentaires à exclure de la tokenisation. Par défaut, l'analyseur « arabic » utilise le dictionnaire intégré « _arabic_ ». Pour consulter le dictionnaire par défaut, reportez-vous à la liste des mots vides arabes de Milvus. Cette liste provient du fichier de mots vides arabes d'Apache Lucene.

Pour ajouter des mots vides personnalisés, incluez stop_words:

analyzer_params = {
    "type": "arabic",
    "stop_words": ["ميلفوس"],
}

Milvus applique les mots vides personnalisés en plus du dictionnaire intégré « _arabic_ ».

L'analyseur intégré « arabic » équivaut à la configuration d'analyseur personnalisée suivante :

analyzer_params = {
    "tokenizer": "standard",
    "filter": [
        "lowercase",
        "decimaldigit",
        "arabic_normalization",
        {
            "type": "stemmer",
            "language": "arabic",
        },
        {
            "type": "stop",
            "stop_words": "_arabic_",
        },
    ],
}

Cet analyseur applique les étapes de traitement suivantes :

  • Tokenisation: utilise le tokeniseur « standard » pour diviser le texte en tokens.
  • Normalisation des chiffres: utilise le filtre « decimaldigit » pour convertir les chiffres décimaux arabo-indiens et autres chiffres décimaux Unicode en chiffres ASCII.
  • Normalisation de l’arabe: utilise le filtre arabic_normalization pour normaliser les variantes de l’alif, le teh marbuta et l’alif maksura, et supprimer les harakat et les tatweel.
  • Stemming: utilise le filtre stemmer avec l’option « language » définie sur « arabic ».
  • Suppression des mots vides: utilise le filtre « stop » avec le dictionnaire intégré « _arabic_ ».

Une fois analyzer_params défini, vous pouvez appliquer l’analyseur à un champ VARCHAR lors de la définition d’un schéma de collection. Pour plus de détails, reportez-vous à la section Exemple d’utilisation.

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 = {
    "type": "arabic",
}

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

['كتاب', 'عرب', '123']

Traduit parDeepL

Essayez Milvus géré gratuitement

Zilliz Cloud est sans souci, propulsé par Milvus et 10 fois plus rapide.

Commencer
Feedback

Cette page a-t - elle été utile ?