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