АрабскийCompatible with Milvus 3.0.0+
Анализатор « arabic » — это встроенный анализатор для арабского текста. Используйте этот анализатор, если вам нужно, чтобы Milvus нормализовал варианты арабских букв, удалил диакритические знаки и татвиль, преобразовал арабо-индийские цифры, применил арабскую стеминг-обработку и удалил арабские стоп-слова.
Настройка
Встроенные анализаторы представляют собой шаблоны анализаторов, предоставляемые Milvus. Чтобы использовать встроенный анализатор, установите для параметра ` type ` значение, соответствующее одному из предопределенных имен анализаторов, указанных в файле ` analyzer_params`.
Чтобы использовать встроенный арабский анализатор, установите для параметра ` type ` значение из списка arabic:
analyzer_params = {
"type": "arabic",
}
Анализатор arabic принимает следующий дополнительный параметр:
Параметр |
Тип |
По умолчанию |
Описание |
|---|---|---|---|
|
|
|
Список дополнительных стоп-слов, которые следует исключить из токенизации. По умолчанию анализатор « |
Чтобы добавить собственные стоп-слова, включите stop_words:
analyzer_params = {
"type": "arabic",
"stop_words": ["ميلفوس"],
}
Milvus применяет пользовательские стоп-слова в дополнение к встроенному словарю _arabic_.
Встроенный анализатор « arabic » эквивалентен следующей конфигурации пользовательского анализатора:
analyzer_params = {
"tokenizer": "standard",
"filter": [
"lowercase",
"decimaldigit",
"arabic_normalization",
{
"type": "stemmer",
"language": "arabic",
},
{
"type": "stop",
"stop_words": "_arabic_",
},
],
}
Этот анализатор выполняет следующие этапы обработки:
- Токенизация: использует токенизатор
standardдля разбиения текста на токены. - Нормализация цифр: использует фильтр «
decimaldigit» для преобразования арабо-индийских и других десятичных цифр Unicode в цифры ASCII. - Нормализация арабских символов: использует фильтр
arabic_normalizationдля нормализации вариантов буквы «Алеф», «Тех Марбута» и «Алеф Максура», а также для удаления знаков «Харакат» и «Татвиль». - Стеминг: использует фильтр «
stemmer» с параметром «language», установленным в значение «arabic». - Удаление стоп-слов: используется фильтр «
stop» со встроенным словарем «_arabic_».
После определения analyzer_params можно применить анализатор к полю VARCHAR при определении схемы коллекции. Подробности см. в разделе «Пример использования».
Примеры
Прежде чем применять конфигурацию анализатора к схеме коллекции, проверьте его поведение с помощью метода ` run_analyzer `.
Настройка анализатора
analyzer_params = {
"type": "arabic",
}
Проверка с помощью run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "كِتَابٌ عـــربي ١٢٣"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
Ожидаемый результат
['كتاب', 'عرب', '123']