Normalización del árabeCompatible with Milvus 3.0.0+
El filtro « arabic_normalization » es un filtro de tokens integrado para texto en árabe. Normaliza las variantes de letras específicas del árabe y elimina los signos opcionales que pueden hacer que términos árabes equivalentes parezcan diferentes durante el análisis del texto.
Configuración
Para el texto árabe, utiliza el arabic analizador integrado en la mayoría de los casos. El analizador integrado incluye este filtro junto con la tokenización estándar, la conversión a minúsculas, la normalización de dígitos decimales, la derivación de raíces en árabe y la eliminación de palabras vacías en árabe. Utiliza « arabic_normalization » directamente solo cuando necesites crear un flujo de análisis personalizado.
Para utilizar el filtro « arabic_normalization » en un analizador personalizado, añádelo a la sección « filter » en analyzer_params:
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}
El filtro « arabic_normalization » no tiene parámetros configurables.
El filtro aplica las siguientes transformaciones:
Transformación |
De |
A |
|---|---|---|
Variantes de Hamza + Alef |
|
|
Teh Marbuta |
|
|
Alef Maksura |
|
|
Harakat |
|
Eliminado |
Tatweel / Kashida |
|
Eliminado |
El filtro opera sobre los tokens generados por el tokenizador. La configuración anterior es, intencionadamente, un ejemplo de analizador personalizado y no incluye el proceso completo de procesamiento del árabe.
Ejemplos
Antes de aplicar la configuración del analizador al esquema de tu colección, comprueba su comportamiento utilizando el método run_analyzer.
Configuración del analizador
analyzer_params = {
"tokenizer": "standard",
"filter": ["arabic_normalization"],
}
Verificación mediante run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "آدم أحمد إسلام مدرسة كبرى كِتَابٌ عـــربي"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
Resultado esperado
['ادم', 'احمد', 'اسلام', 'مدرسه', 'كبري', 'كتاب', 'عربي']