Что такое DocVQA и какие модели там популярны?
Ответ от нейросети
sobes.tech AI
Что хотят услышать интервьюеры:
DocVQA — это задача визуального вопрос-ответа по документам: нужно ответить на вопрос, опираясь не только на текст, но и на структуру, разметку и изображение документа. На практике это важный класс задач для чеков, форм, счетов, договоров и сканов. Обычно ожидают понимания, что здесь мало просто OCR: нужна связка зрения, языка и расположения элементов на странице.
Определение:
DocVQA (Document Visual Question Answering) — это задача, где системе подают документ в виде изображения или набора страниц и текстовый вопрос, а модель должна извлечь или сгенерировать ответ, используя содержимое документа. В отличие от обычного VQA, здесь критичны layout, порядок блоков, таблицы, поля форм и качество OCR. Часто решение строится как мультимодальная модель: изображение документа, распознанный текст и координаты токенов обрабатываются совместно.
Среди популярных подходов и моделей в DocVQA часто встречаются:
- OCR-free модели, например Donut, которые учатся работать с документом напрямую как с изображением.
- Layout-aware модели, например LayoutLM, LayoutLMv2/v3, которые используют текст и его пространственные координаты.
- Подходы на базе vision-language моделей и encoder-decoder архитектур, адаптированные под документы.
- Для практических систем также важны OCR-пайплайны и постобработка ответов, особенно если ответ должен быть точной строкой из документа.
Пример использования:
Например, в банковском приложении пользователь загружает счет, а затем задаёт вопрос: «Какой итоговый к оплате?» Система должна найти нужное значение в документе, учесть таблицу и форматирование, и вернуть точный ответ.
# Упрощённая схема DocVQA-пайплайна
document_image = load_image("invoice.png")
question = "Какой итоговый к оплате?"
ocr_result = run_ocr(document_image) # текст + координаты
answer = docvqa_model.predict(
image=document_image,
text=ocr_result.text,
boxes=ocr_result.boxes,
question=question
)
print(answer)
Пояснение кода:
Код показывает типичный пайплайн DocVQA, где модель получает не только саму картинку, но и результат OCR. Сначала документ загружается как изображение. Затем OCR извлекает текст и координаты блоков, после чего мультимодальная модель объединяет вопрос, текст и layout и возвращает ответ.
Если используется OCR-free подход, этот шаг с OCR может отсутствовать: модель принимает изображение и вопрос напрямую. Но в реальных продуктивных системах OCR часто остаётся полезным для контроля качества, извлечения точных значений и объяснимости результата.
Ключевые моменты:
- DocVQA решает задачу ответа на вопрос по документу, а не по обычной фотографии сцены.
- Важны не только текст, но и пространственная структура: таблицы, поля, колонки, порядок чтения.
- Популярны два класса решений: OCR-based layout-aware модели и OCR-free модели.
- Среди известных семейств моделей часто упоминают LayoutLM-подобные архитектуры и Donut.
- Для продакшена критичны качество OCR, обработка длинных документов и точность извлечения сущностей.
- Часто задача сводится либо к извлечению span из документа, либо к генерации краткого ответа.