ThailandeseCompatible with Milvus 3.0.0+
Il tokenizzatore thai segmenta il testo in lingua thailandese in token di parole senza fare affidamento sugli spazi. Utilizza questo tokenizzatore quando devi creare una pipeline di analisi personalizzata per testi in lingua thailandese o misti (thailandese/inglese).
Configurazione
Per il testo in thailandese, nella maggior parte dei casi si utilizza l’analizzatore integrato thai analizzatore integrato. L’analizzatore integrato include questo tokenizzatore insieme alla conversione in minuscolo, alla normalizzazione delle cifre decimali e alla rimozione delle parole vuote in tailandese. Utilizzare direttamente il tokenizzatore thai solo quando è necessario creare una pipeline di analisi personalizzata.
Per configurare un analizzatore utilizzando il tokenizer thai, impostare ` tokenizer ` su ` thai ` in ` analyzer_params`.
analyzer_params = {
"tokenizer": "thai",
}
Il tokenizer thai non presenta parametri configurabili.
Il tokenizer può funzionare con uno o più filtri. Ad esempio, la seguente configurazione utilizza il tokenizer thai con il lowercase e decimaldigit :
analyzer_params = {
"tokenizer": "thai",
"filter": [
"lowercase",
"decimaldigit",
],
}
Questa pipeline personalizzata non è equivalente all’analizzatore thai integrato, poiché non include il dizionario di parole vuote _thai_ integrato. Per la pipeline predefinita completa, utilizzare {"type": "thai"}.
Il tokenizzatore applica il seguente comportamento:
- Segmentazione in thailandese: segmenta il testo thailandese in token di parole senza fare affidamento sugli spazi.
- Filtraggio di spazi bianchi e punteggiatura: filtra i segmenti composti esclusivamente da spazi bianchi e segni di punteggiatura. Ciò differisce dal
icutokenizer, che può conservare la punteggiatura e gli spazi come token. - Testo con scrittura mista: genera token di parole in alfabeto latino all’interno di testo misto in thailandese e inglese.
- Solo tokenizer: non converte i token in minuscolo, non normalizza le cifre Unicode né rimuove le parole vuote. Aggiungi filtri o utilizza l’
thaiper tali passaggi. - Semantica di posizione: utilizza posizioni dei token basate sui caratteri che includono spazi e segni di punteggiatura saltati, il che mantiene il comportamento di corrispondenza delle frasi e di prossimità coerente con altri tokenizzatori non latini.
Dopo aver definito un analyzer_params, è possibile applicare l’analizzatore a un campo VARCHAR durante la definizione di uno schema di raccolta. Per i 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 = {
"tokenizer": "thai",
}
Verifica tramite run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "สวัสดี! ทดสอบ, ระบบ Milvus ๑๒๓"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
Risultato atteso
['สวัสดี', 'ทดสอบ', 'ระบบ', 'Milvus', '๑๒๓']