Перейти к содержимому
23 / 25

Как извлекать данные из документов — счетов, чеков, форм: LayoutLMv3, LiLT, DocFormer, Donut — и когда стоит обойтись вообще без OCR?

Разбор документов идёт двумя путями. Сначала OCR, потом модель: внешний движок достаёт текст и координаты рамок, а дальше мультимодальная модель размечает токены или связывает поля между собой, чтобы вытащить нужные значения (эту задачу называют Key Information Extraction). Модели: LayoutLMv3 — лучший результат на FUNSD/CORD/RVL-CDIP, LiLT — вёрстка отдельно от языка, удобно для многоязычных документов, DocFormer — совместное внимание к тексту, картинке и расположению. Без OCR вообще: Donut (Clova AI, ECCV 2022) — трансформер «зрение → текст» (Swin + декодер BART), который смотрит на картинку и сразу генерирует JSON. Так ошибки распознавания не накапливаются и не тянутся дальше по конвейеру. Сегодня эту же идею продолжают модели зрения-языка общего назначения (mPLUG-DocOwl / DocOwl2, Qwen2.5-VL, GLM-4.5V, DeepSeek-VL2): они читают документ без отдельного OCR и часто работают вообще без дообучения. Layout pretraining данные — DocLayNet (IBM, 11 категорий). Берите LayoutLMv3, когда набор полей фиксирован, есть готовый OCR и свои данные для дообучения; Donut или модель зрения-языка — когда OCR ненадёжен (рукописный текст, плохое качество скана) или нужно дообучить всё разом под собственную схему JSON.

Как извлекать данные из документов — счетов, чеков, форм: LayoutLMv3, LiLT, DocFormer, Donut — и когда стоит обойтись вообще без OCR? | JScriptiser