Коррекция OCR с помощью ByT5

Мы обучили голландскую модель коррекции OCR seq2seq, которая выявляет и исправляет ошибки OCR.

ОКР, что сказать? 🤔

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

Например; Буква «D» часто ошибочно интерпретируется как «0», читателю с некоторым знанием голландского языка легко прийти к выводу, что «0it» неверно и должно быть переведено в «Dit».

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

Часто требуется ручная фаза посткоррекции. Может быть, мы могли бы автоматизировать этот шаг с помощью машинного обучения? ✨ Посмотрим

Модель ByT5

Google недавно представил модель под названием «ByT5», в которой авторы предлагают модель без токенов, которая использует необработанные байты текста вместо токенизированного представления. Авторы пришли к выводу, что архитектура ByT5 должна быть более устойчивой к зашумленным данным по сравнению с моделями на основе токенов, поэтому мы считаем, что она хорошо подходит для этого варианта использования.

Несколько слов о токенизации 💡

Токенизация входного текста считается фундаментальным шагом в традиционных методах НЛП. Токенизированное представление разбивает необработанные тексты на более мелкие единицы, называемые «токенами».

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

У моделей, использующих токенизацию, есть недостаток: они ненадежны для обработки слов из словаря (OOV). Например; Опечатки, варианты написания и использование заглавных букв приводят к резкому изменению токенизированного представления слова, что затрудняет для модели поиск сходства с предполагаемым словом.

Модели без токенов спешат на помощь 🚀

Такие модели, как byT5, работают непосредственно с необработанными байтами текста и имеют следующие преимущества по сравнению с моделями, использующими специальный токенизатор:

  • Более устойчив к шуму в данных
  • Не требуются языковые токенизаторы.

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

Следуя теореме "бесплатных обедов не бывает", у моделей без токенов есть несколько недостатков. Основным недостатком является увеличение стоимости вычислений, поскольку представление на уровне байтов длиннее, чем представление в виде подслова или слова. Механизм внутреннего внимания, лежащий в основе архитектуры Transformer, имеет квадратичную временную сложность по отношению к длине последовательности. Из-за этой зависимости обработка последовательностей байтов приведет к более высоким вычислительным затратам.

Данные, наше топливо ⛽

Наша стратегия решения этой проблемы заключается в тонкой настройке модели ByT5 на большом наборе данных в Нидерландах. Корпус OSCAR представляет собой общедоступный многоязычный набор данных, полученный путем выполнения языковой классификации, фильтрации и очистки корпуса Common Crawl, который представляет собой совокупность данных веб-сканирования.

Кроме того, нам нужно смоделировать ошибки OCR. Для этой задачи мы будем использовать nlpaug, библиотеку, которая предоставляет набор инструментов для различных методов увеличения данных на текстовых данных.

Реализация 🔨

Давайте запачкаем руки и посмотрим, как мы реализовали наш OCR-корректор.

Разбор аргумента 🔎

Чтобы позволить нашей сети переобучаться с измененными аргументами во время выполнения, мы используем функцию анализа аргументов HuggingFace API.

Загрузка набора данных и выполнение предварительной обработки 💾

Мы обучаем модель на голландском разделе набора данных OSCAR. Для имитации распространенных ошибок OCR мы использовали библиотеку nlpaug. Мы также ограничиваем набор данных 100 000 обучающих выборок и 10 000 тестовых выборок, для еще лучших результатов это ограничение можно снять.

Загрузка модели 🚀

HuggingFace API предоставляет простой способ загрузки предварительно обученной модели. Для загрузки модели ByT5 вы можете использовать следующий фрагмент кода.

☝️ Обратите внимание на необходимость явно указать модель max_length во фрагменте выше!

Далее мы обработаем набор данных, чтобы он был в необходимом формате для ввода в модель.

Обучение модели 💪

Для обучения модели мы используем общий объект Trainer, предоставленный HuggingFace.

Время делать выводы 🧪

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

Полученные результаты

Модель ByT5 очень хорошо справляется с задачей коррекции оптического распознавания символов благодаря своим помехоустойчивым возможностям. В следующей таблице показано несколько примеров. Сможете угадать эту известную голландскую песню 🎵?

Заключение

Модель ByT5 без токенов на удивление хорошо сработала в нашей задаче исправления OCR. Если у вас есть последующая задача, которая обрабатывает очень шумные предложения малого и среднего размера, модель ByT5 идеально подходит и превосходит модели на основе токенов.

Если вы хотите протестировать модель, вы можете обучить ее самостоятельно с помощью предоставленных нами фрагментов или загрузить модель непосредственно из хаба HuggingFace. Мы также сделали небольшую демку, не стесняйтесь протестировать ее 🔥.

О МЛ6

Мы — команда экспертов по искусственному интеллекту и самая быстрорастущая компания по искусственному интеллекту в Бельгии. Имея офисы в Генте, Амстердаме, Берлине и Лондоне, мы создаем и внедряем самообучающиеся системы в различных секторах, чтобы помочь нашим клиентам работать более эффективно. Мы делаем это, оставаясь на вершине исследований, инноваций и применяя наш опыт на практике. Чтобы узнать больше, посетите www.ml6.eu

Источники