Привет, Хабр! Меня зовут Лёша, я разработчик из команды перспективных технологий Центра развития искусственного интеллекта СПАО «Ингосстрах». Мы занимаемся интеллектуальной обработкой документов (Intelligent Document Processing, IDP) и для ...
Привет, Хабр!
Меня зовут Лёша, я разработчик из команды перспективных технологий Центра развития искусственного интеллекта СПАО «Ингосстрах». Мы занимаемся интеллектуальной обработкой документов (Intelligent Document Processing, IDP) и для извлечения структурированных данных из входящих документов используем мультимодальные LLM, минуя отдельный этап распознавания текста (OCR).
Часто для заказчиков важно не только получить результат распознавания, но и понять, какие документы стоит отправить на ручную проверку. Поэтому к нам неоднократно обращались с запросом на confidence score – оценку уверенности в правильности извлечённых данных. Ведь даже с ошибкой в номере паспорта или фамилии ответ модели остаётся синтаксически корректным JSON, и следующая система может принять неверные данные за достоверные.
В привычном OCR-пайплайне (например, модели CRNN, Surya, Easy-OCR, Tesseract OCR) вместе с распознанным текстом часто доступна оценка уверенности для символа, слова или строки. Она не гарантирует правильность распознавания и может нуждаться в калибровке, но даёт исходный сигнал для отбора подозрительных результатов.
В нашей системе на основе мультимодальных LLM такой оценки не было. Поэтому мы решили посмотреть на сам процесс генерации ответа. На каждом шаге модель выбирает следующий токен с учётом изображения, инструкции и уже сгенерированного текста. Для выбранных токенов можно получить logprobs – логарифмы их вероятностей. Они показывают, насколько ожидаемым было каждое продолжение для модели, но сами по себе не говорят о том, правильно ли распознано поле.
Мы решили проверить, можно ли по token logprobs находить ошибки в ответах модели. В этой статье расскажу, как мы превратили вероятности токенов в оценку риска и проверили её на реальных данных.
