ТайскийCompatible with Milvus 3.0.0+
Анализатор « thai » — это встроенный анализатор для текстов на тайском языке. Используйте этот анализатор, если вам нужно, чтобы Milvus разбивал текст на тайском языке на слова, нормализовал тайские цифры, преобразовывал смешанный латинский текст в нижний регистр и удалял тайские стоп-слова.
Настройка
Встроенные анализаторы представляют собой шаблоны анализаторов, предоставляемые Milvus. Чтобы использовать встроенный анализатор, установите для параметра ` type ` значение, соответствующее одному из предопределенных имен анализаторов, указанных в файле ` analyzer_params`.
Чтобы использовать встроенный тайский анализатор, установите для параметра ` type ` значение из списка thai:
analyzer_params = {
"type": "thai",
}
Анализатор thai поддерживает следующий дополнительный параметр:
Параметр |
Тип |
По умолчанию |
Описание |
|---|---|---|---|
|
|
|
Список дополнительных стоп-слов, которые следует исключить из токенизации. По умолчанию анализатор « |
Чтобы добавить пользовательские стоп-слова, включите stop_words:
analyzer_params = {
"type": "thai",
"stop_words": ["มิลวัส"],
}
Milvus применяет пользовательские стоп-слова в дополнение к встроенному словарю _thai_.
Встроенный анализатор « thai » эквивалентен следующей конфигурации пользовательского анализатора:
analyzer_params = {
"tokenizer": "thai",
"filter": [
"lowercase",
"decimaldigit",
{
"type": "stop",
"stop_words": ["_thai_"],
},
],
}
Этот анализатор применяет следующие этапы обработки:
- Токенизация: использует
thaiтокеннизатор для сегментирования текста на тайском языке на словесные токены без учета пробелов. Токеннизатор отфильтровывает пробелы и сегменты, состоящие исключительно из знаков препинания. - Нормализация регистра: использует фильтр
lowercase, который воздействует на латинские буквы в смешанном тексте на тайском и английском языках. - Нормализация цифр: использует фильтр «
decimaldigit» для преобразования тайских цифр и других десятичных цифр Unicode в цифры ASCII. - Удаление стоп-слов: используется фильтр «
stop» со встроенным словарем «_thai_». - Без стемминга: встроенный анализатор «
thai» не применяет фильтр «stemmer».
После определения analyzer_params вы можете применить анализатор к полю VARCHAR при определении схемы коллекции. Подробности см. в разделе «Пример использования».
Примеры
Прежде чем применять конфигурацию анализатора к схеме коллекции, проверьте его поведение с помощью метода ` run_analyzer `.
Конфигурация анализатора
analyzer_params = {
"type": "thai",
}
Проверка с помощью run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "ฉันรักการค้นหาข้อความใน Milvus ๑๒๓"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
Ожидаемый результат
['ฉัน', 'รัก', 'ค้นหา', 'ข้อความ', 'milvus', '123']