Исследования23 сентября 2026 г., 00:22 МСК🤖 Auto

Формальная верификация токенизации для индийских языков

Исследователи представили математически доказанный метод исправления ошибок токенизации в брахмийских скриптах, внедренный в SentencePiece и Rust.

Баннер новости 8079

Проблема «половинчатых» слов

Стандартные токенизаторы, обученные на латинице, критически неэффективны для брахмийских языков (Devanagari, Telugu, Tamil, Kannada). Эти языки относятся к абугидам: согласные несут в себе «неотъемлемый гласный», который модифицируется диакритическими знаками. В отличие от английского, где любые два валидных токена можно склеить (свойство полугруппы), в брахмийских языках это приводит к орфографическим ошибкам. Система формирует «частичную полугруппу», где не каждая конкатенация дает валидную строку.

Решение через формальную верификацию

Авторы Sai Hemanth Kapila и Rakshika Bagavathy формализовали эту проблему в языке зависимых типов Agda. Они смоделировали валидные токены как цепочки в системе переходов и вывели функцию fixToken. Эта функция гарантирует, что любой кандидат в токены будет расширен или скорректирован с учетом орфографических границ, исключая генерацию «мусорных» символов.

Практическая реализация

Теоретическая модель была успешно переведена в практический код. Разработчики создали:

  • Патч для популярного токенизатора SentencePiece.
  • Самостоятельную библиотеку-пре-токенизатор на Rust.

Оба решения полностью устраняют наблюдаемые ранее ошибки при обработке индийских языков.

Сравнение подходов

ХарактеристикаСтандартные токенизаторыProposed Method (Type-Driven)
Математическая базаЭвристика (частотность)Формальная верификация (Agda)
Обработка абугидНарушает орфографиюУважает орфографические границы
Ядро реализацииC++ / PythonRust / SentencePiece Patch
Гарантии корректностиОтсутствуютДоказуемая корректность

Значение для индустрии

Работа закрывает критический пробел в поддержке low-resource и сложных языков. Использование Rust обеспечивает высокую производительность, а интеграция с SentencePiece позволяет легко внедрить исправления в существующие LLM-пайплайны без полной переписывания систем токенизации.

Источник: arXiv cs.CL ↗