Document AI Workbench — пользовательский экстрактор документов

1. Введение

Document AI — это решение для понимания документов, которое принимает неструктурированные данные, такие как документы, электронные письма и т. д., и упрощает понимание, анализ и использование данных.

С помощью Document AI Workbench вы можете добиться более высокой точности обработки документов, создавая полностью настраиваемые модели с использованием собственных обучающих данных.

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

Набор данных документов, используемый в этой лабораторной работе, взят из поддельного набора данных W-2 (налоговая форма США) на Kaggle с лицензией CC0: Public Domain.

Предварительные условия

Эта лаборатория кода основана на контенте, представленном в других лабораториях Document AI Codelabs.

Прежде чем продолжить, рекомендуется выполнить следующие лабораторные работы по коду.

Что вы узнаете

  • Создайте процессор Custom Document Extractor.
  • Пометьте данные обучения AI в документе с помощью инструмента аннотаций.
  • Обучите новую версию модели.
  • Оцените точность новой версии модели.

Что вам понадобится

  • Облачный проект Google
  • Браузер, например Chrome или Firefox.

2. Приступаем к настройке

В этой лаборатории кода предполагается, что вы выполнили шаги по настройке Document AI, перечисленные во вводной лаборатории кода .

Прежде чем продолжить, выполните следующие действия:

3. Создайте процессор

Сначала вам необходимо создать процессор Custom Document Extractor для использования в этой лабораторной работе.

  1. В консоли перейдите на страницу «Обзор документа AI» .

DocAIOverviewConsole

  1. Нажмите «Создать собственный процессор» и выберите «Пользовательский экстрактор документов» .

docai-custom-codelab-02

  1. Дайте ему имя codelab-custom-extractor (или другое имя, которое вы запомните) и выберите ближайший регион в списке.

docai-custom-codelab-03

  1. Нажмите «Создать» , чтобы создать свой процессор. После этого вы должны увидеть страницу «Обзор процессора».

docai-custom-codelab-04

4. Создайте набор данных

Чтобы обучить наш процессор, нам нужно будет создать набор данных с данными обучения и тестирования, чтобы помочь процессору идентифицировать объекты, которые мы хотим извлечь.

  1. На странице «Обзор процессора» нажмите « Настроить набор данных» .

docai-custom-codelab-04

  1. Теперь вы должны оказаться на странице «Настройка набора данных» . Если вы хотите указать собственную корзину для хранения обучающих документов и меток, нажмите « Показать дополнительные параметры» . В противном случае просто нажмите «Продолжить» .

docai-custom-codelab-05

  1. Подождите, пока набор данных будет создан, после чего он должен направить вас на страницу «Обучение» .

docai-custom-codelab-07

5. Импортируйте тестовый документ

Теперь давайте импортируем образец PDF-файла W2 в наш набор данных.

  1. Нажмите « Импортировать документы».

docai-custom-codelab-08

  1. У нас есть образец PDF-файла, который вы можете использовать в этой лабораторной работе. Скопируйте и вставьте следующую ссылку в поле «Исходный путь» . Оставьте пока для параметра «Разделение данных» значение «Не назначено». Все остальные поля оставьте не отмеченными. Нажмите «Импортировать» .
cloud-samples-data/documentai/codelabs/custom/extractor/pdfs

docai-custom-codelab-09

  1. Подождите, пока документ будет импортирован. Это должно занять менее 1 минуты.
  2. Когда импорт завершится, вы должны увидеть документ на странице «Обучение» .

docai-custom-codelab-10

6. Создайте ярлыки

Поскольку мы создаем новый тип процессора, нам нужно будет создать специальные метки, чтобы сообщить Document AI, какие поля мы хотим извлечь.

  1. Нажмите «Изменить схему» в левом нижнем углу.

docai-custom-codelab-11

  1. Теперь вы должны находиться в консоли управления схемой.

docai-custom-codelab-12

  1. Создайте следующие метки с помощью кнопки «Создать метку» .

Имя

Тип данных

возникновение

CONTROL_NUMBER

Число

Требуется несколько

EMPL_SSN

Обычный текст

Требуется несколько

EMPLR_ID_NUMBER

Обычный текст

Требуется несколько

EMPLR_NAME_ADDRESS

Адрес

Требуется несколько

FEDERAL_INCOME_TAX_WH

Деньги

Требуется несколько

SS_TAX_WH

Деньги

Требуется несколько

SS_WAGES

Деньги

Требуется несколько

WAGES_TIPS_OTHER_COMP

Деньги

Требуется несколько

  1. После завершения консоль должна выглядеть так. Нажмите «Сохранить» , когда закончите.

docai-custom-codelab-13

  1. Нажмите стрелку «Назад», чтобы вернуться на страницу «Обучение» . Обратите внимание, что созданные нами метки отображаются в левом нижнем углу.

docai-custom-codelab-14

7. Промаркируйте тестовый документ.

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

  1. Дважды щелкните документ, который мы импортировали ранее, чтобы войти в консоль маркировки. Это должно выглядеть примерно так.

docai-custom-codelab-15

  1. Нажмите на инструмент «Ограничивающая рамка», затем выделите текст «1173038» и назначьте метку CONTROL_NUMBER . Вы можете использовать текстовый фильтр для поиска названий меток.

docai-custom-codelab-16

  1. Завершите для другого экземпляра CONTROL_NUMBER . После маркировки он должен выглядеть так.

docai-custom-codelab-17

  1. Выделите все экземпляры следующих текстовых значений и присвойте соответствующие метки.

Название этикетки

Текст

EMPLR_ID_NUMBER

24-3188810

FEDERAL_INCOME_TAX_WH

19127.2

SS_TAX_WH

5093,71

SS_WAGES

66584.46

WAGES_TIPS_OTHER_COMP

56081.18

EMPL_SSN

714-32-2105

EMPLR_NAME_ADDRESS

Adams, Chase and Gilbert Inc. 972 Gonzalez Dam South Katherine NC 95869-5178

  1. После завершения подписанный документ должен выглядеть так. Обратите внимание: вы можете внести изменения в эти метки, щелкнув ограничивающую рамку в документе или имя/значение метки в меню слева. Нажмите «Пометить как помеченный», когда закончите разметку, а затем вернитесь в консоль управления набором данных.

docai-custom-codelab-20

8. Назначьте документ обучающему набору.

Теперь вы должны вернуться в консоль управления набором данных. Обратите внимание, что количество документов с маркировкой и без метки, а также количество экземпляров на этикетку изменились.

docai-custom-codelab-21

  1. Нам нужно отнести этот документ к набору «Обучающий» или «Тестовый». Нажмите «Документ», нажмите «Назначить набору» , затем нажмите « Обучение» .

docai-custom-codelab-22

  1. Обратите внимание, что номера разделения данных изменились.

docai-custom-codelab-23

9. Импортируйте предварительно помеченные данные

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

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

Чтобы пометить все документы вручную, потребуется много времени, поэтому у нас есть несколько предварительно помеченных документов, которые вы можете импортировать для этой лабораторной работы.

Вы можете импортировать предварительно помеченные файлы документов в формате Document.json . Это могут быть результаты вызова процессора и проверки точности с помощью Human in the Loop (HITL) .

в сторону негатива

ПРИМЕЧАНИЕ. При импорте предварительно помеченных данных настоятельно рекомендуется вручную просмотреть аннотации перед обучением модели.

  1. Нажмите «Импортировать документы» .

docai-custom-codelab-24

  1. Скопируйте/вставьте следующий путь к облачному хранилищу и назначьте его обучающему набору.
cloud-samples-data/documentai/codelabs/custom/extractor/training
  1. Нажмите «Добавить еще одну папку» . Затем скопируйте и вставьте следующий путь к облачному хранилищу и назначьте его тестовому набору.
cloud-samples-data/documentai/codelabs/custom/extractor/test

docai-custom-codelab-25

  1. Нажмите «Импортировать» и дождитесь импорта документов. Это займет больше времени, чем в прошлый раз, поскольку необходимо обработать больше документов. Это займет около 6 минут. Вы можете покинуть эту страницу и вернуться позже.

docai-custom-codelab-26

  1. После завершения вы должны увидеть документы на странице «Обучение» .

docai-custom-codelab-27

10. Обучите модель

Теперь мы готовы начать обучение нашему Custom Document Extractor.

  1. Нажмите «Обучить новую версию».

docai-custom-codelab-28

  1. Дайте вашей версии имя, которое вы запомните, например codelab-custom-1 . В разделе «Метод обучения» выберите «Обучение с нуля».

docai-custom-codelab-29

  1. (Необязательно) Вы также можете выбрать «Просмотреть статистику меток» , чтобы просмотреть показатели меток в вашем наборе данных.

docai-custom-codelab-30

  1. Нажмите «Начать обучение» , чтобы начать процесс обучения. Вы должны быть перенаправлены на страницу управления набором данных. Вы можете просмотреть статус обучения справа. Обучение займет несколько часов. Вы можете покинуть эту страницу и вернуться позже.

docai-custom-codelab-31

  1. Если щелкнуть имя версии, вы будете перенаправлены на страницу «Управление версиями» , на которой отображается идентификатор версии и текущий статус задания обучения.

docai-custom-codelab-32

11. Проверьте новую версию модели.

После завершения задания обучения (в моих тестах это заняло около 1 часа) вы можете протестировать новую версию модели и начать использовать ее для прогнозов.

  1. Перейдите на страницу «Управление версиями» . Здесь вы можете увидеть текущий статус и счет F1.

docai-custom-codelab-33

  1. Нам нужно будет развернуть эту версию модели, прежде чем ее можно будет использовать. Нажмите на вертикальные точки справа и выберите «Развернуть версию» .

docai-custom-codelab-34

  1. Выберите «Развернуть» во всплывающем окне, когда дождетесь развертывания версии. Это займет несколько минут. После развертывания вы также можете установить эту версию в качестве версии по умолчанию.

docai-custom-codelab-35

  1. После завершения развертывания перейдите на вкладку «Оценка» . На этой странице вы можете просмотреть показатели оценки, включая оценку F1, точность и отзыв для всего документа, а также отдельных меток. Подробнее об этих метриках можно прочитать в документации AutoML .

docai-custom-codelab-36

  1. Загрузите PDF-файл по ссылке ниже. Это образец W2, который не был включен в обучающий или тестовый набор.

  1. Нажмите «Загрузить тестовый документ» и выберите PDF-файл.
  2. Извлеченные объекты должны выглядеть примерно так.

docai-custom-codelab-37

12. Необязательно: автоматическая маркировка новых импортированных документов.

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

  1. На странице «Обучение» нажмите «Импорт документов» .
  2. Скопируйте и вставьте следующий путь к . Этот каталог содержит 5 немаркированных PDF-файлов W2. В раскрывающемся списке «Разделение данных» выберите «Обучение» .
    cloud-samples-data/documentai/Custom/W2/AutoLabel
    
  3. В разделе Автоматическая маркировка установите флажок Импортировать с автоматической маркировкой .
  4. Выберите существующую версию процессора для маркировки документов.
  • Например: 2af620b2fd4d1fcf
  1. Нажмите «Импортировать» и дождитесь импорта документов. Вы можете покинуть эту страницу и вернуться позже.
  • По завершении документы появятся на странице «Поезд» в разделе «Автоматическая маркировка» .
  1. Вы не можете использовать документы с автоматической маркировкой для обучения или тестирования, не пометив их как помеченные. Перейдите в раздел «Автоматическая маркировка» , чтобы просмотреть документы с автоматической маркировкой.
  2. Выберите первый документ, чтобы войти в консоль маркировки.
  3. Проверьте метки, ограничивающие рамки и значения, чтобы убедиться в их правильности. Отметьте все значения, которые были опущены.
  4. По завершении выберите «Отметить как отмеченное» .
  5. Повторите проверку метки для каждого документа с автоматической маркировкой, затем вернитесь на страницу «Обучение» , чтобы использовать данные для обучения.

13. Заключение

Поздравляем, вы успешно использовали Document AI для обучения процессора Custom Document Extractor. Теперь вы можете использовать этот процессор для анализа документов в этом формате так же, как и любой специализированный процессор.

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

Очистка

Чтобы избежать списания средств с вашей учетной записи Google Cloud за ресурсы, используемые в этом руководстве:

  • В Cloud Console перейдите на страницу «Управление ресурсами» .
  • В списке проектов выберите свой проект и нажмите «Удалить».
  • В диалоговом окне введите идентификатор проекта и нажмите «Завершить работу», чтобы удалить проект.

Ресурсы

Лицензия

Эта работа распространяется под лицензией Creative Commons Attribution 2.0 Generic License.