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

Токенизатор thai разбивает текст на тайском языке на словесные токены, не ориентируясь на пробелы. Используйте этот токенизатор, если вам нужно создать настраиваемый конвейер анализаторов для текста на тайском языке или смешанного текста на тайском и английском языках.

Настройка

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

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

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

У токенизатора thai нет настраиваемых параметров.

Токенизатор может работать с одним или несколькими фильтрами. Например, в приведенной ниже конфигурации используется токенизатор thai с lowercase и decimaldigit :

analyzer_params = {
    "tokenizer": "thai",
    "filter": [
        "lowercase",
        "decimaldigit",
    ],
}

Этот настраиваемый конвейер не эквивалентен встроенному анализатору « thai », поскольку он не включает встроенный словарь стоп-слов _thai_. Для использования полного набора предопределенных конвейеров обратитесь к {"type": "thai"}.

Токенизатор работает следующим образом:

  • Сегментация тайского языка: сегментирует текст на тайском языке на лексические единицы, не опираясь на пробелы.
  • Фильтрация пробелов и знаков препинания: отфильтровывает сегменты, состоящие только из пробелов и знаков препинания. Это отличается от работы icu токенизер, который может сохранять знаки препинания и пробелы в качестве токенов.
  • Текст со смешанными алфавитами: выдает лексемы в латинском алфавите в тексте, содержащем как тайский, так и английский языки.
  • Токенизатор только: не преобразует токены в нижний регистр, не нормализует цифры Unicode и не удаляет стоп-слова. Для выполнения этих шагов добавьте фильтры или используйте встроенный thai анализатор для выполнения этих шагов.
  • Семантика позиций: использует позиции токенов на основе символов, включая пропущенные пробелы и знаки препинания, что обеспечивает согласованность поведения сопоставления фраз и близости с другими токенизаторами для нелатинских алфавитов.

После определения « analyzer_params » вы можете применить анализатор к полю « VARCHAR » при определении схемы коллекции. Подробности см. в разделе «Пример использования».

Примеры

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

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

analyzer_params = {
    "tokenizer": "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', '๑๒๓']

ПереведеноDeepL

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

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

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

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