ÁrabeCompatible with Milvus 3.0.0+

El analizador « arabic » es un analizador integrado para texto en árabe. Utiliza este analizador cuando necesites que Milvus normalice las variantes de las letras árabes, elimine los signos diacríticos y el tatweel, convierta los dígitos árabes-índicos, aplique la derivación léxica del árabe y elimine las palabras vacías en árabe.

Configuración

Los analizadores integrados son plantillas de analizadores proporcionadas por Milvus. Para utilizar un analizador integrado, configura type con un nombre de analizador predefinido en analyzer_params.

Para utilizar el analizador árabe integrado, establezca type en arabic:

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

El analizador arabic admite el siguiente parámetro opcional:

Parámetro

Tipo

Valor por defecto

Descripción

stop_words

list[str]

_arabic_

Una lista de palabras vacías adicionales que se deben eliminar de la tokenización. Por defecto, el analizador « arabic » utiliza el diccionario integrado « _arabic_ ». Para consultar el diccionario por defecto, véase la lista de palabras vacías en árabe de Milvus. La lista procede del archivo de palabras vacías en árabe de Apache Lucene.

Para añadir palabras vacías personalizadas, incluye stop_words:

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

Milvus aplica palabras vacías personalizadas además del diccionario integrado « _arabic_ ».

El analizador integrado « arabic » es equivalente a la siguiente configuración de analizador personalizado:

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

Este analizador aplica los siguientes pasos de procesamiento:

  • Tokenización: utiliza el tokenizador « standard » para dividir el texto en tokens.
  • Normalización de dígitos: utiliza el filtro « decimaldigit » para convertir los dígitos decimales árabe-índicos y otros dígitos Unicode en dígitos ASCII.
  • Normalización del árabe: utiliza el filtro « arabic_normalization » para normalizar las variantes de la alef, la teh marbuta y la alef maksura, y eliminar los harakat y los tatweel.
  • Derivación: utiliza el filtro « stemmer » con la opción « language » configurada en « arabic ».
  • Eliminación de palabras vacías: utiliza el filtro « stop » con el diccionario integrado « _arabic_ ».

Una vez definido analyzer_params, puede aplicar el analizador a un campo VARCHAR al definir un esquema de colección. Para obtener más detalles, consulte «Ejemplo de uso».

Ejemplos

Antes de aplicar la configuración del analizador al esquema de la colección, compruebe su comportamiento utilizando el método ` run_analyzer `.

Configuración del analizador

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

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

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

Traducido porDeepL

Prueba Milvus gestionado gratis

Zilliz Cloud no da problemas, funciona con Milvus y es 10 veces más rápido.

Empezar
Feedback

¿Fue útil esta página?