ÁrabeCompatible with Milvus 3.0.0+

O analisador arabic é um analisador integrado para texto em árabe. Utilize este analisador quando precisar que o Milvus normalize variantes de letras árabes, remova diacríticos e Tatweel, converta algarismos árabes-índicos, aplique a derivação de palavras em árabe e remova palavras vazias em árabe.

Configuração

Os analisadores integrados são modelos de analisadores fornecidos pelo Milvus. Para utilizar um analisador integrado, defina ` type ` para um nome de analisador predefinido em ` analyzer_params`.

Para utilizar o analisador árabe integrado, defina ` type ` como ` arabic`:

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

O analisador arabic aceita o seguinte parâmetro opcional:

Parâmetro

Tipo

Padrão

Descrição

stop_words

list[str]

_arabic_

Uma lista de palavras de exclusão adicionais a remover da tokenização. Por predefinição, o analisador « arabic » utiliza o dicionário « _arabic_ » integrado. Para consultar o dicionário predefinido, consulte a lista de palavras de exclusão em árabe do Milvus. A lista tem origem no ficheiro de palavras de exclusão em árabe do Apache Lucene.

Para adicionar palavras de paragem personalizadas, inclua stop_words:

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

O Milvus aplica palavras de exclusão personalizadas para além do dicionário _arabic_ integrado.

O analisador « arabic » integrado é equivalente à seguinte configuração de analisador personalizado:

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

Este analisador aplica as seguintes etapas de processamento:

  • Tokenização: utiliza o tokenizador standard para dividir o texto em tokens.
  • Normalização de dígitos: utiliza o filtro « decimaldigit » para converter dígitos decimais árabes-índicos e outros dígitos Unicode em dígitos ASCII.
  • Normalização árabe: utiliza o filtro arabic_normalization para normalizar variantes do Alef, Teh Marbuta e Alef Maksura, e remover Harakat e Tatweel.
  • Stemming: Utiliza o filtro « stemmer » com « language » definido para « arabic ».
  • Remoção de palavras vazias: Utiliza o filtro « stop » com o dicionário integrado « _arabic_ ».

Após definir o analyzer_params, pode aplicar o analisador a um campo VARCHAR ao definir um esquema de coleção. Para mais detalhes, consulte o Exemplo de utilização.

Exemplos

Antes de aplicar a configuração do analisador ao esquema da sua coleção, verifique o seu comportamento utilizando o método run_analyzer.

Configuração do analisador

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

Verificação utilizando 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']

Traduzido porDeepL

Experimente o Milvus gerenciado gratuitamente

O Zilliz Cloud é descomplicado, powered by Milvus e 10x mais rápido.

Começar
Feedback

Esta página foi útil?