1. Введение
Document AI — это решение для понимания документов, которое принимает неструктурированные данные, такие как документы, электронные письма и т. д., и упрощает понимание, анализ и использование данных.
С помощью Document AI Workbench вы можете добиться более высокой точности обработки документов, создавая полностью настраиваемые модели с использованием собственных обучающих данных.
В ходе этой лабораторной работы вы создадите процессор пользовательского извлечения документов, импортируете набор данных, пометите примеры документов и обучите процессор.
Набор данных документов, используемый в этой лабораторной работе, взят из поддельного набора данных W-2 (налоговая форма США) на Kaggle с лицензией CC0: Public Domain.
Предварительные условия
Эта лаборатория кода основана на контенте, представленном в других лабораториях Document AI Codelabs.
Прежде чем продолжить, рекомендуется выполнить следующие лабораторные работы по коду.
- Оптическое распознавание символов (OCR) с использованием искусственного интеллекта документов (Python)
- Анализ формы с помощью Document AI (Python)
- Специализированные процессоры с искусственным интеллектом документов (Python)
- Управление процессорами искусственного интеллекта для документов с помощью Python
- Документ AI: Человек в курсе
- Документ AI: Повышение квалификации
Что вы узнаете
- Создайте процессор Custom Document Extractor.
- Пометьте данные обучения AI в документе с помощью инструмента аннотаций.
- Обучите новую версию модели.
- Оцените точность новой версии модели.
Что вам понадобится
2. Приступаем к настройке
В этой лаборатории кода предполагается, что вы выполнили шаги по настройке Document AI, перечисленные во вводной лаборатории кода .
Прежде чем продолжить, выполните следующие действия:
3. Создайте процессор
Сначала вам необходимо создать процессор Custom Document Extractor для использования в этой лабораторной работе.
- В консоли перейдите на страницу «Обзор документа AI» .
- Нажмите «Создать собственный процессор» и выберите «Пользовательский экстрактор документов» .
- Дайте ему имя
codelab-custom-extractor
(или другое имя, которое вы запомните) и выберите ближайший регион в списке.
- Нажмите «Создать» , чтобы создать свой процессор. После этого вы должны увидеть страницу «Обзор процессора».
4. Создайте набор данных
Чтобы обучить наш процессор, нам нужно будет создать набор данных с данными обучения и тестирования, чтобы помочь процессору идентифицировать объекты, которые мы хотим извлечь.
- На странице «Обзор процессора» нажмите « Настроить набор данных» .
- Теперь вы должны оказаться на странице «Настройка набора данных» . Если вы хотите указать собственную корзину для хранения обучающих документов и меток, нажмите « Показать дополнительные параметры» . В противном случае просто нажмите «Продолжить» .
- Подождите, пока набор данных будет создан, после чего он должен направить вас на страницу «Обучение» .
5. Импортируйте тестовый документ
Теперь давайте импортируем образец PDF-файла W2 в наш набор данных.
- Нажмите « Импортировать документы».
- У нас есть образец PDF-файла, который вы можете использовать в этой лабораторной работе. Скопируйте и вставьте следующую ссылку в поле «Исходный путь» . Оставьте пока для параметра «Разделение данных» значение «Не назначено». Все остальные поля оставьте не отмеченными. Нажмите «Импортировать» .
cloud-samples-data/documentai/codelabs/custom/extractor/pdfs
- Подождите, пока документ будет импортирован. Это должно занять менее 1 минуты.
- Когда импорт завершится, вы должны увидеть документ на странице «Обучение» .
6. Создайте ярлыки
Поскольку мы создаем новый тип процессора, нам нужно будет создать специальные метки, чтобы сообщить Document AI, какие поля мы хотим извлечь.
- Нажмите «Изменить схему» в левом нижнем углу.
- Теперь вы должны находиться в консоли управления схемой.
- Создайте следующие метки с помощью кнопки «Создать метку» .
Имя | Тип данных | возникновение |
| Число | Требуется несколько |
| Обычный текст | Требуется несколько |
| Обычный текст | Требуется несколько |
| Адрес | Требуется несколько |
| Деньги | Требуется несколько |
| Деньги | Требуется несколько |
| Деньги | Требуется несколько |
| Деньги | Требуется несколько |
- После завершения консоль должна выглядеть так. Нажмите «Сохранить» , когда закончите.
- Нажмите стрелку «Назад», чтобы вернуться на страницу «Обучение» . Обратите внимание, что созданные нами метки отображаются в левом нижнем углу.
7. Промаркируйте тестовый документ.
Далее мы определим текстовые элементы и метки для объектов, которые мы хотим извлечь. Эти метки будут использоваться для обучения нашей модели анализу конкретной структуры документа и определению правильных типов.
- Дважды щелкните документ, который мы импортировали ранее, чтобы войти в консоль маркировки. Это должно выглядеть примерно так.
- Нажмите на инструмент «Ограничивающая рамка», затем выделите текст «1173038» и назначьте метку
CONTROL_NUMBER
. Вы можете использовать текстовый фильтр для поиска названий меток.
- Завершите для другого экземпляра
CONTROL_NUMBER
. После маркировки он должен выглядеть так.
- Выделите все экземпляры следующих текстовых значений и присвойте соответствующие метки.
Название этикетки | Текст |
| 24-3188810 |
| 19127.2 |
| 5093,71 |
| 66584.46 |
| 56081.18 |
| 714-32-2105 |
| Adams, Chase and Gilbert Inc. 972 Gonzalez Dam South Katherine NC 95869-5178 |
- После завершения подписанный документ должен выглядеть так. Обратите внимание: вы можете внести изменения в эти метки, щелкнув ограничивающую рамку в документе или имя/значение метки в меню слева. Нажмите «Пометить как помеченный», когда закончите разметку, а затем вернитесь в консоль управления набором данных.
8. Назначьте документ обучающему набору.
Теперь вы должны вернуться в консоль управления набором данных. Обратите внимание, что количество документов с маркировкой и без метки, а также количество экземпляров на этикетку изменились.
- Нам нужно отнести этот документ к набору «Обучающий» или «Тестовый». Нажмите «Документ», нажмите «Назначить набору» , затем нажмите « Обучение» .
- Обратите внимание, что номера разделения данных изменились.
9. Импортируйте предварительно помеченные данные
Для пользовательских процессоров искусственного интеллекта документов требуется минимум 10 документов как в обучающем, так и в тестовом наборах, а также по 10 экземпляров каждой метки в каждом наборе.
Для лучшей производительности рекомендуется иметь не менее 50 документов в каждом наборе и по 50 экземпляров каждой метки. Больше данных для обучения обычно означает более высокую точность.
Чтобы пометить все документы вручную, потребуется много времени, поэтому у нас есть несколько предварительно помеченных документов, которые вы можете импортировать для этой лабораторной работы.
Вы можете импортировать предварительно помеченные файлы документов в формате Document.json
. Это могут быть результаты вызова процессора и проверки точности с помощью Human in the Loop (HITL) .
в сторону негатива
ПРИМЕЧАНИЕ. При импорте предварительно помеченных данных настоятельно рекомендуется вручную просмотреть аннотации перед обучением модели.
- Нажмите «Импортировать документы» .
- Скопируйте/вставьте следующий путь к облачному хранилищу и назначьте его обучающему набору.
cloud-samples-data/documentai/codelabs/custom/extractor/training
- Нажмите «Добавить еще одну папку» . Затем скопируйте и вставьте следующий путь к облачному хранилищу и назначьте его тестовому набору.
cloud-samples-data/documentai/codelabs/custom/extractor/test
- Нажмите «Импортировать» и дождитесь импорта документов. Это займет больше времени, чем в прошлый раз, поскольку необходимо обработать больше документов. Это займет около 6 минут. Вы можете покинуть эту страницу и вернуться позже.
- После завершения вы должны увидеть документы на странице «Обучение» .
10. Обучите модель
Теперь мы готовы начать обучение нашему Custom Document Extractor.
- Нажмите «Обучить новую версию».
- Дайте вашей версии имя, которое вы запомните, например
codelab-custom-1
. В разделе «Метод обучения» выберите «Обучение с нуля».
- (Необязательно) Вы также можете выбрать «Просмотреть статистику меток» , чтобы просмотреть показатели меток в вашем наборе данных.
- Нажмите «Начать обучение» , чтобы начать процесс обучения. Вы должны быть перенаправлены на страницу управления набором данных. Вы можете просмотреть статус обучения справа. Обучение займет несколько часов. Вы можете покинуть эту страницу и вернуться позже.
- Если щелкнуть имя версии, вы будете перенаправлены на страницу «Управление версиями» , на которой отображается идентификатор версии и текущий статус задания обучения.
11. Проверьте новую версию модели.
После завершения задания обучения (в моих тестах это заняло около 1 часа) вы можете протестировать новую версию модели и начать использовать ее для прогнозов.
- Перейдите на страницу «Управление версиями» . Здесь вы можете увидеть текущий статус и счет F1.
- Нам нужно будет развернуть эту версию модели, прежде чем ее можно будет использовать. Нажмите на вертикальные точки справа и выберите «Развернуть версию» .
- Выберите «Развернуть» во всплывающем окне, когда дождетесь развертывания версии. Это займет несколько минут. После развертывания вы также можете установить эту версию в качестве версии по умолчанию.
- После завершения развертывания перейдите на вкладку «Оценка» . На этой странице вы можете просмотреть показатели оценки, включая оценку F1, точность и отзыв для всего документа, а также отдельных меток. Подробнее об этих метриках можно прочитать в документации AutoML .
- Загрузите PDF-файл по ссылке ниже. Это образец W2, который не был включен в обучающий или тестовый набор.
- Нажмите «Загрузить тестовый документ» и выберите PDF-файл.
- Извлеченные объекты должны выглядеть примерно так.
12. Необязательно: автоматическая маркировка новых импортированных документов.
После развертывания обученной версии процессора вы можете использовать автоматическую маркировку , чтобы сэкономить время на маркировке при импорте новых документов.
- На странице «Обучение» нажмите «Импорт документов» .
- Скопируйте и вставьте следующий путь к . Этот каталог содержит 5 немаркированных PDF-файлов W2. В раскрывающемся списке «Разделение данных» выберите «Обучение» .
cloud-samples-data/documentai/Custom/W2/AutoLabel
- В разделе Автоматическая маркировка установите флажок Импортировать с автоматической маркировкой .
- Выберите существующую версию процессора для маркировки документов.
- Например:
2af620b2fd4d1fcf
- Нажмите «Импортировать» и дождитесь импорта документов. Вы можете покинуть эту страницу и вернуться позже.
- По завершении документы появятся на странице «Поезд» в разделе «Автоматическая маркировка» .
- Вы не можете использовать документы с автоматической маркировкой для обучения или тестирования, не пометив их как помеченные. Перейдите в раздел «Автоматическая маркировка» , чтобы просмотреть документы с автоматической маркировкой.
- Выберите первый документ, чтобы войти в консоль маркировки.
- Проверьте метки, ограничивающие рамки и значения, чтобы убедиться в их правильности. Отметьте все значения, которые были опущены.
- По завершении выберите «Отметить как отмеченное» .
- Повторите проверку метки для каждого документа с автоматической маркировкой, затем вернитесь на страницу «Обучение» , чтобы использовать данные для обучения.
13. Заключение
Поздравляем, вы успешно использовали Document AI для обучения процессора Custom Document Extractor. Теперь вы можете использовать этот процессор для анализа документов в этом формате так же, как и любой специализированный процессор.
Вы можете обратиться к кодовой лаборатории специализированных процессоров , чтобы узнать, как обрабатывать ответ обработки.
Очистка
Чтобы избежать списания средств с вашей учетной записи Google Cloud за ресурсы, используемые в этом руководстве:
- В Cloud Console перейдите на страницу «Управление ресурсами» .
- В списке проектов выберите свой проект и нажмите «Удалить».
- В диалоговом окне введите идентификатор проекта и нажмите «Завершить работу», чтобы удалить проект.
Ресурсы
- Документация AI Workbench
- Будущее документов – Плейлист YouTube
- Документация по ИИ
- Документ Клиентская библиотека AI Python
- Образцы документов AI
Лицензия
Эта работа распространяется под лицензией Creative Commons Attribution 2.0 Generic License.