Сначала перейдите в город изображений. Красный фон внутри — это файл, на котором необходимо сосредоточиться при извлечении информации об изображении.
UIE (универсальное извлечение информации): Яоцзе Лу и другие предложили единую структуру для универсального извлечения информации UIE в ACL-2022. Эта среда реализует унифицированное моделирование таких задач, как извлечение сущностей, извлечение отношений, извлечение событий и анализ настроений, а также обеспечивает хорошие возможности переноса и обобщения между различными задачами. Чтобы облегчить каждому использование мощных возможностей UIE, PaddleNLP использовала методы, описанные в этой статье, и на основе модели предварительного обучения с расширенными знаниями ERNIE 3.0 обучила и открыла исходный код первой китайской общей модели извлечения информации UIE. . Эта модель может поддерживать извлечение ключевой информации без ограничения областей промышленности и целей извлечения, обеспечивать быстрый холодный запуск с нулевыми образцами и обладает отличными возможностями точной настройки небольших выборок для быстрой адаптации к конкретным целям извлечения.
Непосредственно ознакомьтесь с оригинальной моделью UIEX на веб-странице: https://huggingface.co/spaces/PaddlePaddle/UIE-X. Введите схему и нажмите «Отправить».
По сути, используется функция прогнозирования одним щелчком мыши: используется API Taskflow, пакет устанавливается, вводится библиотека, а затем она готова к использованию всего с тремя строками кода, и пакет является очень полным.
pip install --upgrade paddlenlp
Здесь мы возьмем задачу распознавания объектов с названием извлечения информации и модель UIE в качестве примера, чтобы проиллюстрировать, как быстро использовать PaddleNLP:
Запуск непосредственно в каталоге /root/. При первом запуске в корневом каталоге будут созданы скрытые папки .paddlenlp и .paddleocr, которые используются для хранения автоматически загруженных моделей uie и ocr, а затем начнется вывод.
Есть некоторые поля, которые не отображаются, а значит, они не найдены. Однако точность отображаемых полей очень высокая. область пароля никогда не распознается. Вывод, который можно сделать, заключается в том, что пока на изображении присутствуют очевидные пары ключ-значение, находящиеся близко друг к другу, их можно идентифицировать только информацию, имеющую незаметные пары ключ-значение, или только значения без ключей. , будет сложно извлечь и потребуется доработка.
На данном этапе тестирования я чувствую, что это решение осуществимо, поэтому я планирую провести небольшое выборочное обучение на основе UIEX. Фактически, за исключением счетов, для любого сценария извлечения информации об изображении, в соответствии с его введением, требуется небольшой объем. Обучение может принести значительные улучшения. Судя по моему опыту, тест дает результат.
шаг 1. Точная настройка модели UIEX (обучение на небольшой выборке).
https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/information_extraction/document для точной настройки модели. Руководство довольно понятно. Здесь я упомяну еще несколько моментов.
Маркировка данных (label_studio)
Это используется для локального запуска веб-страницы службы. Чтобы облегчить сбор данных, я установил ее при победе. Поскольку моя базовая среда не работает, возникнут некоторые странные ошибки: django.db.utils.OperationalError: нет такой функции: JSON_VALID, поэтому я установил его в anaconda. Создайте внутри новую среду py39, и она сможет работать нормально.
Это место должно быть изображением или текстом, а не OCR или чем-то подобным. Когда файл json будет преобразован в набор данных весла во время последующей обработки, будет распознаваться только изображение/тест. Если он будет изменен на другой, он не будет распознан. будет распознан, и будет сообщено об ошибке.
При аннотации рамка должна быть немного больше, а не только близко к тексту, иначе при извлечении информации будут пропущены первые несколько символов.
И только позже, когда у меня появилось больше ярлыков, я понял, что визуализация исходной модели научила меня тому, как маркировать наиболее идеально: выдвинуть ее немного вперед, включая двоеточия.
ext: Задачи извлечения, сбор сущностей и извлечение отношений являются извлечениями.
Я написал скрипт, позволяющий одновременно выполнять выполнение исходной модели и доработанной модели на одной картинке, при этом визуализируя и выводя результаты распознавания в txt для сравнения:
Причина в том,
python testuie_self.py data/testimages/b78.jpg
Колонка слева — доработанная, а справа исходная UIE-X-база.
Но есть и проблемы: например, область пароля распознается, но она не пересекает линии, только первую строку (ее лучше не иметь), распознавание штампа и распознавание QR-кода. удалил его и не настроил схему. Это требует дополнительной оптимизации.