Что такое обработка документов?
Обработка документов — это процесс автоматизации извлечения структурированных данных из документов. Это может быть любой документ, например, счет, резюме, удостоверение личности и т. д. Сложная часть здесь — не только распознавание текста. Существует множество доступных по низкой цене опций, которые могут извлечь текст и указать вам его местоположение. Настоящая задача — точно и автоматически маркировать эти фрагменты текста.
Влияние обработки документов на бизнес
Некоторые отрасли в своей повседневной деятельности в значительной степени полагаются на обработку документов. Финансовым организациям необходим доступ к документам SEC, страховым документам, компаниям электронной коммерции или цепочки поставок может потребоваться доступ к используемым счетам, список можно продолжать. Точность этой информации так же важна, как и экономия времени, поэтому мы всегда рекомендуем использовать передовые методы глубокого обучения, которые обобщают больше и являются более точными.
Согласно этому отчету PwC, [ссылке] даже самое элементарное извлечение структурированных данных может помочь сэкономить 30–50 % времени сотрудников, затрачиваемого на ручное копирование и вставку данных из PDF-файлов в электронные таблицы Excel. Такие модели, как LayoutLM, конечно, не являются элементарными, они созданы как чрезвычайно интеллектуальные агенты, способные точно извлекать данные в большом масштабе для различных вариантов использования. Даже со многими нашими клиентами мы сократили время, необходимое для извлечения данных вручную, с 20 минут на документ до менее 10 секунд. Это масштабный сдвиг, позволяющий работникам работать более продуктивно и в целом повысить производительность.
Так где же можно применить ИИ, подобный LayoutLM? В Nanonets мы использовали такую технологию для
- Автоматизация обработки счетов
- Извлечение табличных данных
- Извлечение данных формы
- Возобновить синтаксический анализ
и многие другие варианты использования.
Почему LayoutLM?
Как модель глубокого обучения понимает, является ли данный фрагмент текста описанием позиции в счете-фактуре или номером счета-фактуры? Проще говоря, как модель учится правильно назначать метки?
Один из методов — использовать встраивание текста из массивной языковой модели, такой как BERT или GPT-3, и пропускать его через классификатор — хотя это не очень эффективно. Существует много информации, которую невозможно оценить только с помощью текста. Или можно использовать информацию на основе изображений. Это было достигнуто за счет использования моделей R-CNN и Faster R-CNN. Однако при этом еще не в полной мере используется информация, имеющаяся в документах. Другой использованный подход заключался в использовании сверточных нейронных сетей на основе графов, которые объединяли как локальную, так и текстовую информацию, но не принимали во внимание информацию об изображениях.
Так как же нам использовать все три измерения информации, то есть текст, изображение и расположение данного текста? Именно здесь на помощь приходят такие модели, как LayoutLM. Несмотря на то, что LayoutLM является активной областью исследований в течение многих лет до этого, она была одной из первых моделей, добившихся успеха в объединении частей для создания единой модели, которая выполняет маркировку с использованием позиционной информации, текстовой информации и т. д. а также информацию об изображении.
Учебное пособие по макетуLM
В этой статье предполагается, что вы понимаете, что такое языковая модель. Если нет, не волнуйтесь, мы тоже написали статью об этом! Если вы хотите подробнее узнать, какие бывают модели-трансформеры, и на что стоит обратить внимание, здесь замечательная статья Джея Аламмара.
Предполагая, что мы разобрались с этими вещами, давайте начнем с урока. Мы будем использовать оригинальную статью LayoutLM в качестве основного справочного материала.
Извлечение текста OCR
Самое первое, что мы делаем с документом, — это извлекаем из документа текстовую информацию и находим их соответствующие местоположения. По местоположению мы имеем в виду нечто, называемое «ограничивающей рамкой». Ограничивающая рамка — это прямоугольник, инкапсулирующий фрагмент текста на странице.
В большинстве случаев предполагается, что начало ограничивающей рамки находится в верхнем левом углу и что положительная ось X направлена от начала координат к правой части страницы, а положительная ось Y направлена от начала координат к правой части страницы. внизу страницы, единицей измерения считается один пиксель.
Встраивание языка и местоположения
Далее мы используем пять различных слоев внедрения. Во-первых, это кодирование информации, связанной с языком, то есть встраивания текста.
Остальные четыре зарезервированы для встраивания местоположения. Предполагая, что мы знаем значения xmin, ymin, xmax и ymax, мы можем определить всю ограничивающую рамку. (если вы не можете это представить, вот ссылка для тебя). Эти координаты передаются через соответствующие слои внедрения для кодирования информации о местоположении.
Пять внедрений — одно для текста и четыре для координат — затем суммируются для создания окончательного значения внедрения, которое передается через LayoutLM. Результат называется внедрением LayoutLM.
Встраивание изображений
Итак, нам удалось найти информацию, связанную с текстом и местоположением, объединив их вложения и пропустив их через языковую модель. Как теперь обойти процесс объединения в нем информации, связанной с изображением?
Пока информация о тексте и макете кодируется, мы параллельно используем Faster R-CNN для извлечения областей текста, связанных с документом. Faster R-CNN — это модель изображения, используемая для обнаружения объектов. В нашем случае мы используем его для обнаружения различных фрагментов текста (при условии, что каждая фраза является объектом), а затем передаем сегментированные изображения через полностью связанный слой, чтобы также помочь сгенерировать вложения для изображений.
Внедрения LayoutLM, а также внедрения изображений объединяются для создания окончательного внедрения, которое затем можно использовать для выполнения последующей обработки.
Предтренировочный макетLM
Все вышесказанное имеет смысл только в том случае, если мы понимаем метод, по которому обучался LayoutLM. В конце концов, какие бы связи мы ни установили в нейронной сети, до тех пор, пока она не будет обучена с правильной целью обучения, она не будет достаточно умной. Авторы LayoutLM хотели использовать метод, аналогичный тому, который использовался для предварительного обучения BERT.
Модель маскированного визуального языка (MVLM)
Чтобы помочь модели узнать, какой текст мог находиться в определенном месте, авторы случайным образом замаскировали несколько токенов текста, сохранив при этом информацию, связанную с местоположением, и встраивания. Это позволило LayoutLM выйти за рамки простого моделирования языка в масках, а также помогло связать встраивание текста с модальностями, связанными с местоположением.
Классификация документов с несколькими метками (MDC)
Использование всей информации в документе для его классификации по категориям помогает модели понять, какая информация относится к определенному классу документов. Однако авторы отмечают, что для больших наборов данных данные о классах документов могут быть недоступны. Следовательно, они предоставили базу результатов как для обучения MVLM, так и для обучения MVLM + MDC.
Точная настройка LayoutLM для последующих задач
С помощью LayoutLM можно выполнить несколько последующих задач. Речь пойдет о тех, за которые взялись авторы.
Понимание формы
Эта задача предполагает привязку типа метки к заданному фрагменту текста. Используя это, мы можем извлекать структурированные данные из любого документа. Учитывая окончательный результат, то есть внедрения LayouLM + внедрения изображений, они пропускаются через полностью связный слой, а затем через softmax для прогнозирования вероятностей классов для метки данного фрагмента текста.
Понимание получения
В этой задаче несколько ячеек информации в чеках оставались пустыми, и модель должна была правильно расположить фрагменты текста в соответствующих ячейках.
Классификация изображений документов
Информация из текста и изображения документа объединяется, чтобы помочь понять класс документа, просто пропуская его через слой softmax.
Макет HuggingfaceLM
Одна из основных причин, по которой LayoutLM так много обсуждается, заключается в том, что исходный код модели некоторое время назад был открыт. Это доступно на Hugging Face, поэтому использовать LayoutLM теперь значительно проще.
Прежде чем мы углубимся в особенности тонкой настройки LayoutLM для своих нужд, необходимо принять во внимание несколько вещей.
Установка библиотек
Для запуска LayoutLM вам понадобится библиотека трансформеров из Hugging Face, которая, в свою очередь, зависит от библиотеки PyTorch. Чтобы установить их (если они еще не установлены), выполните следующие команды
О ограничивающих прямоугольниках
Чтобы создать единую схему встраивания независимо от размера изображения, координаты ограничивающего прямоугольника нормализуются по шкале 1000.
Конфигурация
Используя класс Transformers.LayoutLMConfig, вы можете установить размер модели, который наилучшим образом соответствует вашим требованиям, поскольку эти модели обычно тяжелые и требуют немалой вычислительной мощности. Установка модели меньшего размера может помочь вам запустить ее локально. Ты можешь узнать больше о классе здесь.
LayoutLM для классификации документов (Ссылка)
Если вы хотите выполнить классификацию документов, вам понадобится класс Transformers.LayoutLMForSequenceClassification. Последовательность здесь — это последовательность текста из документа, который вы извлекли. Вот небольшой пример кода с Hugging Face.co, который объяснит, как его использовать.
LayoutLM для текстовой маркировки (Ссылка)
Для выполнения семантической разметки, т.е. присвоения меток различным частям текста в документе, вам понадобится класс Transformers.LayoutLMForTokenClassification. Более подробную информацию вы можете найти на тоже самоеВот небольшой пример кода, чтобы вы могли увидеть, как он может работать на вас.
Несколько замечаний по макету «Обнимающее лицо»LM
- В настоящее время модель Hugging Face LayoutLM использует библиотеку с открытым исходным кодом Tesseract для извлечения текста, что не очень точно. Возможно, вы захотите использовать другой платный инструмент распознавания текста, например AWS Textract или Google Cloud Vision.
- Существующая модель предоставляет только языковую модель, то есть внедрения LayoutLM, а не конечные уровни, объединяющие визуальные функции. МакетLMv2 (обсуждается в следующем разделе) также использует библиотеку Detectron для включения встраивания визуальных функций.
- Классификация меток происходит на уровне слов, поэтому механизм извлечения текста OCR должен гарантировать, что все слова в поле находятся в непрерывной последовательности, иначе одно поле может быть предсказано как два.
МакетLMv2
LayoutLM стал революцией в способах извлечения данных из документов. Однако, что касается исследований в области глубокого обучения, модели со временем становятся все лучше и лучше. На смену LayoutLM пришла версия LayoutLMv2, где авторы внесли несколько существенных изменений в способ обучения модели.
Включая одномерные пространственные вложения и встраивания визуальных токенов
LayoutLMv2 включал информацию об относительном одномерном местоположении, а также общую информацию, связанную с изображением. Причина, по которой это важно, заключается в новых целях обучения, которые мы сейчас обсудим.
Новые цели обучения
LayoutLMv2 включал некоторые измененные цели обучения. Они заключаются в следующем:
- Маскированное визуальное моделирование языка: то же самое, что и в LayoutLM.
- Выравнивание текста и изображения: текст был случайным образом скрыт от изображения, а текстовые токены были предоставлены модели. Для каждого токена модель должна была узнать, покрыт ли данный текст. Благодаря этому модель смогла объединить информацию как из визуальной, так и из текстовой модальностей.
- Сопоставление текста и изображения: модели предлагается проверить, соответствует ли данное изображение данному тексту. Отрицательные образцы либо подаются как ложные изображения, либо встраивание изображений вообще не предоставляется. Это сделано для того, чтобы модель узнала больше о том, как связаны текст и изображения.
Используя эти новые методы и внедрения, модель смогла получить более высокие оценки F1 почти на всех наборах тестовых данных, таких как LayoutLM.
- О нас
- доступ
- Учетная запись
- точный
- достигнутый
- через
- активный
- продвинутый
- агенты
- AI
- Все
- уже
- Несмотря на то, что
- количество
- Другой
- подхода
- ПЛОЩАДЬ
- около
- гайд
- Авторы
- доступен
- AWS
- основа
- не являетесь
- ЛУЧШЕЕ
- Немного
- Коробка
- Карты
- случаев
- вызов
- классификация
- облако
- код
- сочетании
- Компания
- Вычисление
- Конфигурация
- Коммутация
- рассмотрение
- Расходы
- может
- Клиенты
- данным
- день
- Несмотря на
- обнаружение
- DID
- различный
- Документация
- вниз
- электронная коммерция
- Эффективный
- позволяет
- установить
- Excel
- Face
- быстрее
- Особенность
- Особенности
- ФРС
- финансовый
- First
- после
- порождать
- GitHub
- помощь
- помогает
- здесь
- Как
- How To
- HTTPS
- изображение
- Влияние
- важную
- улучшать
- включены
- промышленности
- информация
- страхование
- Умный
- IT
- маркировка
- Этикетки
- язык
- больше
- УЧИТЬСЯ
- изучение
- уровень
- Библиотека
- LINK
- Список
- в местном масштабе
- расположение
- места
- вручную
- массивный
- согласование
- Вопрос
- модель
- Модели
- самых
- сеть
- сетей
- открытый
- с открытым исходным кодом
- Операционный отдел
- Опции
- заказ
- организации
- Другое
- выплачен
- бумага & картон
- кусок
- мощностью
- процесс
- приводит
- PWC
- причины
- рекомендовать
- отчету
- обязательный
- Требования
- исследованиям
- Итоги
- продолжить
- Run
- Шкала
- схема
- SEC / КОМИССИЯ ПО ЦЕННЫМ БУМАГАМ И БИРЖАМ
- смысл
- набор
- установка
- сдвиг
- значительный
- аналогичный
- просто
- Размер
- небольшой
- умный
- So
- удалось
- и политические лидеры
- успех
- поставка
- цепочками поставок
- задачи
- Технологии
- тестXNUMX
- Через
- время
- знак
- Лексемы
- топ
- Обучение
- понимать
- использование
- использовать
- ценностное
- Что
- будь то
- слова
- Работа
- рабочие
- лет