Использование службы Microsoft Custom Vision для классификации на основе почерка, печатного текста и подписей.

Введение

Одним из больших преимуществ перехода от физических документов к цифровым является доступность быстрых и эффективных методов поиска и извлечения знаний. Приложения на основе NLP с автоматическим извлечением сущностей и знаний теперь могут легко извлекать определенные фразы и даже общие понятия из документов. Хотя сами типы документов могут различаться — контракты, бланки, счета-фактуры и т. д., — даже в пределах каждого класса документов характеристики часто содержат большую степень изменчивости.

Это сложно:

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

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

В этой статье рассматривается только уровень классификации и показано, как использовать службу Azure Custom Vision для классификации документов на основе наличия почерка, печатного текста и подписей.

Почему почерк, машинописный текст и подписи?

Основными проблемами при классификации и извлечении являются низкое качество изображения документа и рукописные разделы/аннотации. Все современные модели, основанные на AI/ML, работают хорошо, когда им предоставляются правильные данные в ожидаемом формате. Именно то, как модели справляются с выбросами, неожиданными точками данных и способны обобщать большое количество входных документов, становится отличительным фактором.

Плохое качество изображения связано с тем, что эти документы часто представляют собой отсканированные копии подписанных соглашений, хранящиеся в формате PDF, часто на одно или два поколения удаленные от оригинала. Это вызывает множество ошибок оптического распознавания символов (OCR), которые приводят к появлению артефактов и ошибочных слов.

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

Пользовательское зрение Microsoft

В последние годы модели компьютерного зрения для обнаружения объектов, использующие глубокие нейронные сети, доказали свою эффективность в ряде различных задач распознавания объектов, но требуют огромного количества профессионально размеченных обучающих данных. К счастью, переносное обучение позволило моделям использовать предварительно обученные наборы данных, такие как COCO, для создания мощных пользовательских детекторов с ограниченными данными.

Существует множество предварительно обученных моделей и API для построения моделей обнаружения объектов; ряд решений следует подходу обрезки определенных областей интереса, но это часто связано с шаблоном/форматом/разделом/макетом документа и т. д. Цель этого эксперимента заключалась в том, чтобы иметь возможность создавать модели, не зависящие от типа документа. Я должен отметить, что, хотя я обычно сторонник создания пользовательских моделей из-за предлагаемого контроля, я выбрал Custom Vision из-за его общей простоты использования.

Служба Custom Vision использует предварительно созданную модель распознавания изображений, предоставленную Azure, и настраивает ее в соответствии с потребностями пользователей, предоставляя набор изображений для ее обновления. Все обучение модели и прогнозирование выполняются в облаке, а модель предварительно обучена, поэтому пользователям не требуется очень большой набор данных или длительное время обучения для получения хороших прогнозов (в идеале). У Microsoft также есть более комплексная служба C computer Vision Cognitive Service, которая позволяет пользователям обучать свою собственную нейронную сеть вместе с инструментом маркировки VOTT, но службу Custom Vision гораздо проще использовать для этой задачи.

Custom Vision состоит из API обучения и API прогнозирования. В этом эксперименте используется пользовательский интерфейс веб-приложения для обучения и API прогнозирования для извлечения результатов из обученной модели. Подробнее о работе сервиса Custom Vision можно прочитать здесь.

Эксперимент

Наша обучающая выборка состояла из 126 изображений. Следуя документации Microsoft, сохранялось соотношение 1:2 между этикеткой с наименьшим количеством изображений и этикеткой с наибольшим количеством изображений.

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

Результаты

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

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

Вывод

Использование сервиса Custom Vision для слоя классификации на основе рукописного ввода, печатного текста и подписей оказалось очень полезным для нашего конвейера анализа документов и помогло нам сэкономить время на обучении и создании пользовательской реализации. Дополнительным преимуществом службы является простая интеграция с более широким набором возможностей Azure Cognitive Services. Помеченные документы также можно соответствующим образом перенаправить на альтернативные API/модели для инструментов распознавания рукописного ввода, если это необходимо. Следующие шаги этого эксперимента будут сосредоточены на том, как улучшить производительность модели и решить проблему различения подписи и почерка.

использованная литература

  1. https://en.wikipedia.org/wiki/Обнаружение_объекта
  2. https://en.wikipedia.org/wiki/Transfer_learning
  3. http://cocodataset.org/#home
  4. https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/home
  5. https://github.com/microsoft/VoTT
  6. https://www.customvision.ai/
  7. https://docs.microsoft.com/en-us/azure/cognitive-services/custom-vision-service/getting-started-improving-your-classifier
  8. https://devblogs.microsoft.com/cse/2018/05/07/handwriting-detection-and-recognition-in-scanned-documents-using-azure-ml-package-computer-vision-azure-cognitive-services -окр/