ТайскийCompatible with Milvus 3.0.0+

Анализатор « thai » — это встроенный анализатор для текстов на тайском языке. Используйте этот анализатор, если вам нужно, чтобы Milvus разбивал текст на тайском языке на слова, нормализовал тайские цифры, преобразовывал смешанный латинский текст в нижний регистр и удалял тайские стоп-слова.

Настройка

Встроенные анализаторы представляют собой шаблоны анализаторов, предоставляемые Milvus. Чтобы использовать встроенный анализатор, установите для параметра ` type ` значение, соответствующее одному из предопределенных имен анализаторов, указанных в файле ` analyzer_params`.

Чтобы использовать встроенный тайский анализатор, установите для параметра ` type ` значение из списка thai:

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

Анализатор thai поддерживает следующий дополнительный параметр:

Параметр

Тип

По умолчанию

Описание

stop_words

list[str]

_thai_

Список дополнительных стоп-слов, которые следует исключить из токенизации. По умолчанию анализатор « thai » использует встроенный словарь « _thai_ ». Чтобы ознакомиться со словарем по умолчанию, обратитесь к списку стоп-слов Milvus Thai. Этот список взят из файла стоп-слов Apache Lucene 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']

ПереведеноDeepL

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

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

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

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