Нейросети для бизнеса: как устроен сервис распознавания документов

Прочтёте за 6 мин.

…и чем он может быть полезен предпринимателям в ежедневной работе

IT-инструменты, которые использует Олег Моросин

  • 1С:Документооборот
  • Python
  • OpenCV
  • YouTube
  • Telegram

Использование нейронных сетей многие компании, особенно из сферы малого бизнеса, считают чем-то нереальным и дорогим. Между тем, современные технологии способны избавить их от рутинной работы и существенно сэкономить время без больших финансовых затрат. Один из примеров использования нейронный сетей, эффективных практически в каждом бизнесе – сервис «1С:Распознавание первичной документации». О том, как нейронные сети вычленяют информацию из помятых накладных и нечётких фотографий, порталу Biz360.ru рассказал Олег Моросин, разработчик фирмы «1С».

Досье

Олег Моросин – 34 года, разработчик фирмы «1С». Окончил МЭИ (кафедра прикладной математики). Кандидат технических наук. До прихода в «1С» в основном занимался научно-исследовательской работой в рамках вуза. В фирме «1С» работает более 5 лет.

Олег Моросин


В чём идея сервиса

Процент электронного документооборота в бизнесе постепенно растёт. Но бумажный всё равно никуда не исчезает. Сверка и занесение в системы учёта первичных документов (полученные счета на оплату, акты, накладные и т.д.) – кропотливая рутинная работа, которая отнимает у бухгалтеров много времени и сил. Бумажные документы в ближайшем времени не исчезнут, а обрабатывать их сложно.

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

Эти факторы вызвали у нас идею автоматизировать работу с документами с помощью механизмов искусственного интеллекта. С этого и начался сервис «1С:Распознавание первичных документов», который должен уменьшить время обработки данных с бумажных носителей. Мы стремились к тому, чтобы условный кладовщик сфотографировал телефоном на тёмном складе мятые бумажные накладные, а данные из них появились в бухгалтерской программе в виде электронного документа.

Как всё устроено

Наш сервис автоматического распознавания документов упрощает ввод «первички» в базу 1С. Он доступен в программах «1С:Бухгалтерия предприятия», «1С:Розница», «1С:Управление нашей фирмой», «1С:ERP Управление предприятием 2», «1С:Комплексная автоматизация», «1С:Управление торговлей», а также в сервисе «1С:БухОбслуживание». Полный список поддерживаемых программ доступен на сайте сервиса.

Сотрудники компании могут использовать обычный сканер или фотографировать документы через специальное мобильное приложение «1С:Сканер документов». Особенно оно удобно для удалённых сотрудников, которые могут оперативно передать данные в бухгалтерию.

1С:Распознавание первичных документов

Сканы или фото загружаются в 1С. Наш сервис обрабатывает всю информацию с документа: название контрагентов, дату и номер документа, а также табличную часть документа – наименования товаров, их количество, стоимость и т.д. Затем обработанные данные передаются в базу 1С и дожидаются верификации человека. 

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

1С Распознавание первичных документов

В программах 1С реализован механизм нечёткого поиска наиболее подходящих объектов в базе пользователей. Так, в печатном документе может быть записано «ручка синяя, гелевая», а в базе пользователя «Ручка гелевая, син.», что не помешает корректно сопоставить товар из документа с товаром в базе. Тем не менее, бывает, что в документе написано «ручка синяя», а в базе компании в 1С есть только «канцтовары». В таком случае пользователю придётся сопоставить данные вручную. Такие сопоставления сохраняются, а при дальнейшей работе с сервисом начнут подставляться автоматически.

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

  • счёт на оплату (полученный);

  • приходная накладная;

  • счёт-фактура (полученный).

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

Как создавался сервис

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

  • Плохое качество печати, например, на документе полосы, точки, слишком бледная печать.

  • Помятые и изогнутые бумаги, сложенные в несколько раз. Данные в местах сгибов затираются, а строчки текста становятся неровными.

  • В многостраничном документе нет нумерации или страницы сфотографированы не по порядку.

  • Формат документа отличается от типовых форм, принятых в бухучёте. Например, дополнительные колонки в таблицах, нестандартное форматирование шапочных реквизитов.

  • Акты в свободной форме, где вся информация представлена сплошным текстом – «ИП Иванов отгрузил ИП Жукову 50 ящиков апельсинов на сумму 20000 рублей 00 коп».

  • Нетиповые формы документов, например, табличный документ с перечислением товаров, их количеством и сумм.

  • В напечатанном документе делаются ручкой какие-то пометки, печать «залезает» на текст или таблицы.

Помятый документ

Кроме того, фото документов могут быть нечёткими и размытыми. Потому что при нажатии на кнопку дрогнула рука или в помещении было довольно темно.

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

Разбор документов относится к задачам компьютерного зрения. Их можно решить двумя способами:

  • классические алгоритмы анализируют пиксели, контуры, ищут нужные закономерности в документах;

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

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

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

Результат анализа документа нейросетями

После этого мы создаём синтетические документы, выглядящие, как помятые бумаги. Если сфотографируем вручную 1000 документов, помнём их, разрисуем для обучения сети – это очень дорого и долго. Мы генерим картинки, похожие на мятые документы, и показываем их сети. Нам важно, чтобы она поняла закономерности и научилась их воспроизводить. Сначала она учится и делает это только для сгенерированных фото, через какое-то время это уходит в рабочий сервис, и он корректно распознаёт данные и для реальных фотографий от пользователей. Вместо мелких доработок сервиса – планомерное дообучение системы на частых проблемных случаях.

Наш сервис распознавания документов тесно интегрирован в экосистему 1С. Он выдаёт сырые данные, распознанные с документа, а в программах 1С их нужно дополнительно проверить (например, контрольные суммы), сопоставить ссылочные объекты, показать пользователю в знакомом и удобном интерфейсе. Для этого тоже была проделана большая работа.

Мы создали дополнительное рабочее место по обработке входящих документов от нашего сервиса. Предусмотрели возможность загрузить отсканированные документы напрямую в базу 1С из интерфейса. К одной базе можно привязать несколько мобильных устройств с приложением «1С:Сканер документов». Постарались предусмотреть разные варианты использования сервиса.

Работа с обратной связью

Всю обратную связь мы анализируем и таким образом отлавливаем недостатки в работе сервиса. Это является залогом наших будущих доработок и улучшений. Например, после запуска сервиса появилась «экобумага» для принтеров, что было связано с дефицитом белой офисной бумаги в России в 2022 году. Она серовато-желтоватая с вкраплением мелкого мусора.

Оказалось, что из-за своего состава она при сканировании просвечивает с обратной стороны. При двусторонней печати лампа сканера пробивает документ насквозь, и становится видно обратную сторону. Для решения этой проблемы обучили отдельную нейронную сеть, которая может определять информацию «на заднем плане» и отсеивать её. Такую проблему заранее было не предугадать.


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

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

В чём выгода для пользователей

  • Сокращение времени обработки небольшого документооборота (100-200 документов) в десятки раз по сравнению с ручным вводом. Вручную на обработку небольшого документа, состоящего из 10-15 строчек, человек тратит около 2-5 минут. И это в том случае, если у него «рука набита». Если обработкой первичной документации сотрудник занимается нерегулярно, то времени потребуется больше. Благодаря нашему сервису проверка и проведение человеком распознанных документов удовлетворительного качества будет занимать до 20-30 секунд, проверка же документов хорошего качества практически не потребует времени от пользователя (просто надо нажать кнопку «провести документ»).

  • Обработка большого объёма документов проходит в сотни раз быстрее, чем при ручном вводе. Для пользователей с большим документооборотом есть специальный режим групповой обработки. Сервис способен обработать тысячи документов, при этом он подсвечивает в полученных данных только проблемные зоны. Например, в документах появился новый товар, которого нет ещё в информационной базе компании. Этот товар создаётся один раз, а далее сервис для остальных документов, где встречается эта позиция, выбирает нужное наименование и подставляет его везде автоматически.

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

Что дальше

В работе сервиса мы намерены развивать три направления.

  • Устранение ошибок, которые могут возникать при распознавании документов. Это постоянная, а не разовая задача, так как с течением времени под влиянием внешних факторов могут возникать всё новые ошибки.

  • Поддержка более сложных нетиповых форм документов (например, тех, которые используются только в одной отрасли). В сервисе есть механизм, который находит известные ему документы. Например, он понимает, что это товарная накладная, и разбирает её. Существует и запасной механизм – универсальный разбор. Сервис не понимает, что это за документ, но пытается извлечь из него максимум информации. Названия компаний, ИНН, цены и т.д. Если нужно – он создаёт новую форму.

  • Развитие мобильного приложения. Над этой задачей мы работаем постоянно. Недавно вышло обновление приложения «1С:Сканер документов» – помощник фотографирования документов. При наведении камеры на документ вокруг него на экране рисуется рамочка, чтобы точно попасть в границы и ничего «не срезать». Приложение подсказывает, если для фото слишком темно или телефон чересчур наклонён (выдаст рекомендацию «Держите телефон ровнее»). Предлагается более 10 различных подсказок такого рода. Это улучшает качество фото и точность разбора. Кроме рамки, есть режим автоматического фотографирования. Когда фотографируется несколько документов, сложенных стопкой, то при наведении камеры на каждый из них не нужно нажимать на кнопку смартфона. Пользователь меняет листы, наводит на них камеру, снимок готов. Это ускоряет фотографирование многостраничных документов.

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

AI

Чтобы не пропустить интересную для вас статью о малом бизнесе, подпишитесь на наш Telegram-каналстраницу в «ВКонтакте» и канал на «Яндекс.Дзен».
 

23 июня 2023

Комментарии

0
  • Прокомментируйте первым.

  • Задайте вопрос
    профи

    Наши эксперты ответят на любой вопрос

    Задать вопрос
    Ваш вопрос отправлен

    Ваш вопрос

    Введите Имя
    Введите E-mail
    Отправить Очистить
Возможно, вас заинтересуют другие наши материалы
Загрузить ещё
Идёт загрузка материалов