Этап 3 — Правила
2.6 Этап 3 — Слой регулярных выражений и правил
Слой регулярных выражений запускается всегда после LLM. LLM — быстрый распознаватель паттернов; регулярное выражение — детерминированный верификатор.
Что ловит regex, а LLM пропускает
Слой правил добавляет детерминированную верификацию по четырём категориям:
- Сверка итогов. LLM иногда округляет или нормализует общий итог. Слой правил повторно извлекает напечатанный итог из OCR-текста и переопределяет значение LLM при расхождении.
- Нормализация дат. Чеки используют множество региональных форматов дат и локализованных названий месяцев. Все варианты сходятся к ISO 8601.
- Устранение неоднозначности валют. Смешанные валютные токены разрешаются по частоте и локали продавца.
- Обнаружение налоговых строк. Локально-специфичные строки налоговых ставок (например, KDV в Турции) обнаруживаются из напечатанного текста, а не выводятся LLM.
Каталог правил
Каталог организован по категориям: итоги, налоги, даты, валюты и идентификаторы продавцов. Каждая категория содержит локально-специфичные семейства правил для языков, на которых мы работаем. Конкретные паттерны и веса на правило управляются внутренним операционным слоем.
Повышение достоверности
Каждое подтверждённое срабатывание правила повышает оценку достоверности слоя regex. Чеки с чистой сверкой получают более высокий балл; чеки с несвёрстанными итогами несут разрыв сверки, который скорер доверия читает как один из входов. Вес, назначенный этому входу, управляется внутренним операционным слоем.