Добро пожаловать во вторую часть серии блогов об автоматизации котировок. В первой части мы рассмотрели потребность в автоматизации обработки предложений в организациях, различные способы представления данных в документе и сложность разработки комплексного решения для понимания документов.

Если вы хотите прочитать его подробно, полный блог находится здесь: Ссылка

Задача, которую мы решили решить, заключалась в извлечении таблиц из документов. Как и любой, кто ищет решение, мы начали с изучения местности. Сначала мы прочитали, а затем подробно изучили доступные сети глубокого обучения, наборы данных и их методологию генерации данных, а также некоторые облачные решения на рынке.

*** Этот блог содержит много терминов машинного обучения, которые могут нуждаться в более глубоком объяснении. Обратитесь к ссылкам, предоставленным для дальнейшего чтения. ***

Документ Понимание сетей глубокого обучения

Обнаружение и распознавание таблиц — это развивающаяся тема исследований, в которой каждый год разрабатываются новые методы. По всему миру проводится множество конференций для обсуждения последних исследовательских идей в области анализа документов. ICMLDAR, ICDAR и DAS — одни из самых популярных. Некоторые из моделей, которые мы провели углубленный анализ, были следующими:

Преобразователь изображения документа (DiT) [Ссылка]

Одной из рассматриваемых нами архитектур была DiT (Document Image Transformer), разработанная Microsoft Research. С момента появления Vision Transformers (ViT) наблюдается значительный интерес к его адаптации для задач компьютерного зрения. DiT — это самоконтролируемая модель на основе преобразователя изображений, разработанная на крупномасштабных неразмеченных данных документа. DiT использует мощный токенизатор dVAE DALL-E, переобучая его на изображениях документов, чтобы сделать их релевантными документам. В качестве основы используется ванильный трансформер, где изображение делится на патчи и передается в стек трансформеров с многоголовым вниманием. Это была лучшая модель для нас, поскольку она была предварительно обучена на данных документа, а не на модели, которая обучается на общих наборах данных. Это дало нам дополнительное улучшение производительности.

Рис. 1. Источник: arXiv:2203.02378 — Архитектура модели DiT

Во время предобучения некоторые фрагменты изображения маскируются и кодируются для изучения контекстной информации. Целью предварительной подготовки является изучение глобальных взаимосвязей патчей в документе. Это похоже на задачи маскированного языкового моделирования (MLM) в НЛП. Для этого используется Masked Image Modeling (MIM) от BEiT. Затем предварительно обученная модель используется в качестве основы для сравнения различных наборов данных для понимания документов, таких как RVL-CDIP для классификации документов, PubLayNet для анализа макета, ICDAR 2019 для обнаружения таблиц и FUNSD для обнаружения текста. Для дальнейшего повышения производительности необработанные изображения заменяются изображениями с адаптивной бинаризацией изображений из OpenCV. DiT на момент написания этого блога имеет самый высокий балл в ICDAR с WAvg. F1 для IOU@[0,6–0,9] как 0,9655. Хотя этот подход имел лучшую производительность в задачах обнаружения таблиц, нам пришлось разработать часть распознавания структуры.

TableNet [Ссылка]

Мы также посмотрели на TableNet, разработанную TCS research. Это метод одновременного обнаружения и извлечения таблиц, который позволяет выявить взаимозависимость между двумя задачами. Архитектура состояла из модели сегментации на основе VGG с ветвью кодировщика (от conv1 до pool5), которая принимает изображения в качестве входных данных и одновременно обучает табличные и столбцовые графики. Из этой ветви кодировщика выходят две ветви декодера (conv7_column и conv_7_table), которые предсказывают области таблицы и столбца.

Рис. 2. Источник: arXiv:2001.01469 — Архитектура TableNet

Из полученных прогнозов таблицы и столбца для извлечения строк используется метод на основе семантических правил. Набор данных Мармот используется для обучения и определения столбцов, столбцы аннотируются вручную. Сообщаемые показатели в наборе данных ICDAR: полнота 0,628, точность 0,9697 и F1-Score 0,9547. Интересным выводом для нас из TableNet стал метод извлечения строк на основе правил. Это натолкнуло нас на идею поэкспериментировать с решением таблиц без полей, о которых мы подробно поговорим в следующей части.

CascadeTabNet: [Ссылка]

Другой ключевой архитектурой, которую мы рассмотрели, была CascadeTabNet, разработанная в PICT India. Это полное решение для извлечения таблиц. Модель обучена обнаруживать таблицу и ячейки таблицы из документа в одном выводе. Модель одновременно классифицирует таблицы на таблицы с рамками и без полей и реализует различные методологии извлечения структур на основе определенных классов. На приведенной ниже блок-схеме показано, как это реализовано.

Рис. 3. Источник: arXiv:2004.12629 — блок-схема CascadeTabNet

Для таблиц с границами используются обычные алгоритмы обнаружения текста и обнаружения строк из OpenCV. Для таблиц без полей обнаружение ячеек, полученных из модели, используется для реконструкции структуры. На этапе экспериментов обработка таблиц как двух классов оказалась выгодной для получения лучших результатов при правильном определении сетки таблицы. Во время обучения они проводили двухэтапное переносное обучение. Трансферное обучение было выполнено для обнаружения таблиц в первой итерации и для обнаружения масок ячеек для таблиц без полей во второй итерации. Использовались наборы данных ICDAR 19, набор данных Marmot (для обучения) и набор данных Tablebank (для оценки). Сообщается, что показатель ICDAR Track A (Table Detection) — WAvg с IoU @ [0,6–0,9], а оценка — 0,901. Для ICDAR Track B (Распознавание таблиц) оценка составляет 0,232. Мы увидели, что CascadeTabNet имеет сквозную архитектуру для извлечения таблиц, но в решение все еще нужно добавить распознавание текста.

Наборы данных для понимания документа

Для моделей глубокого обучения для хорошей производительности требуется много обучающих данных. Большой набор данных из разных доменов и макетов важен для лучшего обобщения модели. Давайте посмотрим на некоторые из широко используемых общедоступных наборов данных, которые мы проанализировали:

Банк таблиц [Ссылка]

TableBank представляет собой набор веб-документов, таких как Microsoft Word (.docx) и Latex (.tex). Эти файлы по своей природе содержат теги разметки таблиц в своем исходном коде. Эти данные исходного кода используются, чтобы выделить таблицы специальными цветами и сделать их более различимыми. В этом наборе данных доступно почти 417 тыс. высококачественных помеченных изображений из различных областей, таких как бизнес, официальные документы и исследовательские работы. Две базовые модели были разработаны для задач обнаружения и распознавания таблиц. Detectron с магистралью Faster RCNN ResNeXt для задач обнаружения таблиц и модель последовательности изображений в текст на основе OpenNMT для извлечения структуры таблицы. Для задач обнаружения таблиц были разработаны отдельные модели для файлов Word и Latex, и было замечено, что модели, основанные на файлах Word, плохо работают с файлами Latex, и наоборот, показывая влияние домена на обнаружение таблиц. Еще одно важное наблюдение было сделано для задач распознавания, где точность резко упала для больших таблиц с 50% до 8,6%, что подчеркивает важность предотвращения отклонений в распределении длины таблицы.

PubLayNet [Ссылка]

Это набор данных для понимания макета, состоящий из более чем 1 миллиона статей PubMed Central Open Access (PMCOA) с такими категориями макета, как текст, заголовок, список, рисунок и таблица. Статьи представляют собой XML-представления, а алгоритм аннотации сопоставляет элементы PDF с узлами XML. Были проведены эксперименты, чтобы выяснить, как разные модели обнаружения объектов и стратегии инициализации влияют на выходные данные. Значительное улучшение, достигнутое с помощью этого набора данных, заключалось в том, что предварительное обучение в PubLayNet и точная настройка на другом предметном документе дали лучшие результаты, чем модели, предварительно обученные на общих наборах данных компьютерного зрения, таких как COCO и ImageNet.

Документ Общие сведения об облачных решениях

Поставщики облачных услуг, такие как Azure, AWS и Google Cloud, имеют службы автоматизации документов. Давайте посмотрим на услуги, которые они предлагают.

AWS Text [Ссылка]

Сервис Texttract от AWS извлекает таблицы, формы и текстовые данные из документов. Его технология OCR извлекает рукописный текст, печатные тексты и числа в документах. Некоторые из других функций включают извлечение на основе запроса, распознавание рукописного ввода, идентификацию документа и извлечение ограничивающей рамки. Он также предлагает оценки достоверности и встроенный рабочий процесс проверки человеком для проверки прогнозов с низкой достоверностью.

Распознаватель форм Azure [Ссылка]

Распознаватель форм Azure извлекает текст, пары "ключ-значение", таблицы и структуры из документов. Он предоставляет предварительно обученные модели, а также настраиваемые инструменты разработки для точной настройки любого макета. Некоторые из готовых макетов моделей включают формы W2, счета-фактуры, квитанции, документы, удостоверяющие личность, и визитные карточки.

Искусственный интеллект документа GCP [Ссылка]

Облачная служба Google Document AI — это автоматизированный инструмент для сбора данных из документов. Основные услуги включают в себя синтаксический анализ форм, распознавание текста, разделитель документов и оценку качества документов. Существуют некоторые специализированные процессы, такие как DocAI закупок, DocAI кредитования, DocAI контракта и DocAI идентификации. Существует функция Human-in-the-Loop (HITL) для просмотра выходных данных для критически важных бизнес-приложений.

Даже при наличии облачных решений для их развертывания и обслуживания требуется много знаний в области машинного обучения. Вот почему мы решили создать специальное решение для обработки документов, отвечающее потребностям сообщества закупок.

В следующей части мы подробно обсудим, как Zumen AI исправил недостающие части головоломки и предоставил модуль искусственного интеллекта для бесшовной обработки документов для предложений и счетов. Следите за обновлениями…..!