Нормализация арабского текстаCompatible with Milvus 3.0.0+

Фильтр « arabic_normalization » — это встроенный фильтр токенов для арабского текста. Он нормализует варианты букв, характерные для арабского языка, и удаляет необязательные знаки, из-за которых эквивалентные арабские термины могут выглядеть по-разному при анализе текста.

Настройка

Для арабского текста в большинстве случаев следует использовать встроенный arabic анализатор. Встроенный анализатор включает этот фильтр наряду со стандартной токенизацией, преобразованием в нижний регистр, нормализацией десятичных цифр, арабским стеммингом и удалением арабских стоп-слов. Используйте « arabic_normalization » напрямую только в том случае, если вам необходимо создать собственный конвейер анализатора.

Чтобы использовать фильтр « arabic_normalization » в пользовательском анализаторе, добавьте его в раздел « filter » в файле « analyzer_params »:

analyzer_params = {
    "tokenizer": "standard",
    "filter": ["arabic_normalization"],
}

Фильтр arabic_normalization не имеет настраиваемых параметров.

Фильтр применяет следующие преобразования:

Преобразование

Из

В

Варианты «Хамза + Алеф»

آ, أ, إ

ا

Тех Марбута

ة

ه

Алеф Максура

ى

ي

Харакат

U+064B через U+065F

Удалено

Татвиль / Кашида

ـ

Удалено

Фильтр работает с токенами, сгенерированными токенизатором. Приведенная выше конфигурация является намеренно приведенным примером пользовательского анализатора и не включает полный конвейер обработки арабского языка.

Примеры

Прежде чем применять конфигурацию анализатора к схеме вашей коллекции, проверьте его поведение с помощью метода run_analyzer.

Конфигурация анализатора

analyzer_params = {
    "tokenizer": "standard",
    "filter": ["arabic_normalization"],
}

Проверка с помощью run_analyzer

from pymilvus import MilvusClient

client = MilvusClient(uri="http://localhost:19530")

sample_text = "آدم أحمد إسلام مدرسة كبرى كِتَابٌ عـــربي"

result = client.run_analyzer(sample_text, analyzer_params)
print(result)

Ожидаемый результат

['ادم', 'احمد', 'اسلام', 'مدرسه', 'كبري', 'كتاب', 'عربي']

ПереведеноDeepL

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?