Technical Paper

Этап 3 — Правила

2.6 Этап 3 — Слой регулярных выражений и правил

Слой регулярных выражений запускается всегда после LLM. LLM — быстрый распознаватель паттернов; регулярное выражение — детерминированный верификатор.

Что ловит regex, а LLM пропускает

Слой правил добавляет детерминированную верификацию по четырём категориям:

  1. Сверка итогов. LLM иногда округляет или нормализует общий итог. Слой правил повторно извлекает напечатанный итог из OCR-текста и переопределяет значение LLM при расхождении.
  2. Нормализация дат. Чеки используют множество региональных форматов дат и локализованных названий месяцев. Все варианты сходятся к ISO 8601.
  3. Устранение неоднозначности валют. Смешанные валютные токены разрешаются по частоте и локали продавца.
  4. Обнаружение налоговых строк. Локально-специфичные строки налоговых ставок (например, KDV в Турции) обнаруживаются из напечатанного текста, а не выводятся LLM.

Каталог правил

Каталог организован по категориям: итоги, налоги, даты, валюты и идентификаторы продавцов. Каждая категория содержит локально-специфичные семейства правил для языков, на которых мы работаем. Конкретные паттерны и веса на правило управляются внутренним операционным слоем.

Повышение достоверности

Каждое подтверждённое срабатывание правила повышает оценку достоверности слоя regex. Чеки с чистой сверкой получают более высокий балл; чеки с несвёрстанными итогами несут разрыв сверки, который скорер доверия читает как один из входов. Вес, назначенный этому входу, управляется внутренним операционным слоем.