AraboCompatible with Milvus 3.0.0+

L'analizzatore " arabic " è un analizzatore integrato per i testi in arabo. Utilizza questo analizzatore quando desideri che Milvus normalizzi le varianti delle lettere arabe, rimuova i segni diacritici e il Tatweel, converta le cifre arabo-indiane, applichi lo stemming arabo e rimuova le parole vuote arabe.

Configurazione

Gli analizzatori integrati sono modelli di analizzatori forniti da Milvus. Per utilizzare un analizzatore integrato, impostare ` type ` su un nome di analizzatore predefinito in ` analyzer_params`.

Per utilizzare l’analizzatore arabo integrato, impostare ` type ` su ` arabic`:

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

L'analizzatore arabic accetta il seguente parametro opzionale:

Parametro

Tipo

Valore predefinito

Descrizione

stop_words

list[str]

_arabic_

Un elenco di parole di stop aggiuntive da rimuovere dalla tokenizzazione. Per impostazione predefinita, l'analizzatore arabic utilizza il dizionario integrato _arabic_. Per consultare il dizionario predefinito, fare riferimento all'elenco delle parole di stop arabe di Milvus. L'elenco proviene dal file delle parole di stop arabe di Apache Lucene.

Per aggiungere parole di stop personalizzate, includere stop_words:

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

Milvus applica le parole di stop personalizzate in aggiunta al dizionario _arabic_ integrato.

L'analizzatore " arabic " integrato è equivalente alla seguente configurazione dell'analizzatore personalizzato:

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

Questo analizzatore applica le seguenti fasi di elaborazione:

  • Tokenizzazione: utilizza il tokenizzatore standard per suddividere il testo in token.
  • Normalizzazione delle cifre: utilizza il filtro decimaldigit per convertire le cifre decimali arabo-indiane e altre cifre decimali Unicode in cifre ASCII.
  • Normalizzazione araba: utilizza il filtro arabic_normalization per normalizzare le varianti di Alef, Teh Marbuta e Alef Maksura e rimuovere Harakat e Tatweel.
  • Stemming: utilizza il filtro stemmer con l’opzione « language » impostata su « arabic ».
  • Rimozione delle parole vuote: utilizza il filtro stop con il dizionario integrato _arabic_.

Dopo aver definito analyzer_params, è possibile applicare l'analizzatore a un campo VARCHAR durante la definizione di uno schema di raccolta. Per ulteriori dettagli, consultare Esempio di utilizzo.

Esempi

Prima di applicare la configurazione dell’analizzatore allo schema della collezione, verificarne il comportamento utilizzando il metodo ` run_analyzer `.

Configurazione dell’analizzatore

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

Verifica tramite run_analyzer

from pymilvus import MilvusClient

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

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

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

Risultato atteso

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

Tradotto daDeepL

Prova Milvus gestito gratuitamente

Zilliz Cloud è senza problemi, basato su Milvus e 10 volte più veloce.

Inizia
Feedback

Questa pagina è stata utile?