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 |
|---|---|---|---|
|
|
|
Un elenco di parole di stop aggiuntive da rimuovere dalla tokenizzazione. Per impostazione predefinita, l'analizzatore |
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
standardper suddividere il testo in token. - Normalizzazione delle cifre: utilizza il filtro
decimaldigitper convertire le cifre decimali arabo-indiane e altre cifre decimali Unicode in cifre ASCII. - Normalizzazione araba: utilizza il filtro
arabic_normalizationper normalizzare le varianti di Alef, Teh Marbuta e Alef Maksura e rimuovere Harakat e Tatweel. - Stemming: utilizza il filtro
stemmercon l’opzione «language» impostata su «arabic». - Rimozione delle parole vuote: utilizza il filtro
stopcon 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']