ArabischCompatible with Milvus 3.0.0+

Der Analysator „ arabic “ ist ein integrierter Analysator für arabischen Text. Verwenden Sie diesen Analysator, wenn Milvus arabische Buchstabenvarianten normalisieren, diakritische Zeichen und Tatweel entfernen, arabisch-indische Ziffern konvertieren, arabisches Stemming anwenden und arabische Stoppwörter entfernen soll.

Konfiguration

Integrierte Analysatoren sind von Milvus bereitgestellte Analysatorvorlagen. Um einen integrierten Analysator zu verwenden, setzen Sie „ type “ auf einen vordefinierten Analysatornamen unter „ analyzer_params “.

Um den integrierten arabischen Analysator zu verwenden, setzen Sie „ type “ auf „ arabic “:

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

Der Analysator „ arabic “ akzeptiert den folgenden optionalen Parameter:

Parameter

Typ

Standard

Beschreibung

stop_words

list[str]

_arabic_

Eine Liste zusätzlicher Stoppwörter, die bei der Tokenisierung entfernt werden sollen. Standardmäßig verwendet der „ arabic “-Analysator das integrierte Wörterbuch „ _arabic_ “. Informationen zum Standardwörterbuch finden Sie in der Milvus -Liste arabischer Stoppwörter. Die Liste stammt aus der Apache Lucene -Datei mit arabischen Stoppwörtern.

Um benutzerdefinierte Stoppwörter hinzuzufügen, fügen Sie „ stop_words “ ein:

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

Milvus wendet zusätzlich zum integrierten „ _arabic_ “-Wörterbuch benutzerdefinierte Stoppwörter an.

Der integrierte „ arabic “-Analysator entspricht der folgenden Konfiguration für einen benutzerdefinierten Analysator:

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

Dieser Analysator wendet die folgenden Verarbeitungsschritte an:

  • Tokenisierung: Verwendet den „ standard “-Tokenizer, um Text in Token zu zerlegen.
  • Ziffernnormalisierung: Verwendet den Filter „ decimaldigit “, um arabisch-indische und andere Unicode-Dezimalziffern in ASCII-Ziffern umzuwandeln.
  • Arabische Normalisierung: Verwendet den Filter „ arabic_normalization “, um Alef-Varianten, Teh Marbuta und Alef Maksura zu normalisieren sowie Harakat und Tatweel zu entfernen.
  • Stemming: Verwendet den Filter „ stemmer “, wobei „ language “ auf „ arabic “ gesetzt ist.
  • Entfernung von Stoppwörtern: Verwendet den Filter „ stop “ mit dem integrierten Wörterbuch „ _arabic_ “.

Nachdem Sie „ analyzer_params “ definiert haben, können Sie den Analysator bei der Definition eines Sammlungsschemas auf ein „ VARCHAR “-Feld anwenden. Weitere Informationen finden Sie unter „Anwendungsbeispiel“.

Beispiele

Bevor Sie die Analysator-Konfiguration auf Ihr Sammlungsschema anwenden, überprüfen Sie deren Verhalten mithilfe der Methode „ run_analyzer “.

Analysator-Konfiguration

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

Überprüfung mithilfe von run_analyzer

from pymilvus import MilvusClient

client = MilvusClient(uri="http://localhost:19530")

sample_text = "كِتَابٌ عـــربي ١٢٣"

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

Erwartete Ausgabe

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

Übersetzt vonDeepL

Verwaltetes Milvus kostenlos testen

Zilliz Cloud ist unkompliziert, basiert auf Milvus und ist 10-mal schneller.

Loslegen
Feedback

War diese Seite hilfreich?