«1С:Распознавание первичных документов» — новый сервис фирмы «1С», который помогает бухгалтерам вводить документы в программу 1С.
Загружаем скан или фотографию в 1С, сервис распознает первичный документ, определяет его тип, считывает данные, сопоставляет контрагентов, номенклатуру и автоматически создает документ в программе 1С. Таким образом, время ввода документов в систему сокращается в 5−10 раз.
Подробнее о том, как работает сервис, здесь и здесь. А в этой статье мы раскроем технические аспекты: какие технологии используются, как создавался сервис, как разработчики улучшают алгоритмы распознавания.
Разобраться в этих вопросах нам поможет руководитель команды разработки и развития сервиса Роман Алейников.
Роман, расскажи, пожалуйста, какие технологии использует сервис и как происходит процесс распознавания.
Мы используем различные открытые технологии и свои собственные разработки. У нас есть нейросети, разные технологии, которые занимаются разворотом документов в пространстве, исправлением дефектов печати, дефектов освещения, размытости и прочее. Специальные алгоритмы разбирают структуру документа, формируют все таблицы, считывают тексты. Дальше мы разбираем и анализируем информацию, которую извлекли из документа.
В подавляющем большинстве случаев система рассматривает каждый документ как нетиповой, то есть мы мало что знаем про документ на старте. Система распознавания находит контрагентов, которые принимали участие в сделке, стараясь понять, кто из них продавец, а кто покупатель. Пытается понять, какая именно из обнаруженных дат является датой документа, где номер документа, о чем идет речь, какие суммы. А если есть таблицы или несколько таблиц, то пытается понять, какие из них про товары, а какие ещё про что-то. Особенно это касается актов, которые зачастую не формализованы. Анализ текста позволяет с такими документами разобраться и понять, что контрагент «Василек» (к примеру) продал нашей организации товар или оказал услуги на 100 рублей.
Другими словами, у нас такой большой комплексный набор методов. Можно даже сказать, что за распознавание символов (OCR) отвечают несколько разных технологий. Чтобы получить более высокое качество, мы в разных случаях применяем специализированные алгоритмы и нейросети считывания символов, которые специально «натренированы» на конкретную ситуацию. Так, например, точность распознавания чисел в таблицах у нас выше 99,9%, если считать в среднем по всем документам, которые прошли через сервис. Это реально очень высокая точность.
А этот 0,1%?
У нас на любой документ можно пожаловаться системе на качество, мы рассматриваем, разбираем каждое обращение. Бывает, пользователь жалуется, что цифры не распознаются. Я смотрю на документ и понимаю, что и я его прочесть нормально и цифры назвать не могу,
А что касается букв?
Там на самом деле всё интересней. У документов нормального качества по большей части точность высокая. У нас система может ошибаться в тех местах, где идут какие-то инвентарные номера, там вперемешку могут быть русские и английские символы. И эти символы не словарные. В подобных случаях система действительно может иногда путать, например, английские буквы, которые по внешнему виду напоминают русские. Это может усугубляться дефектами печати или рукописным текстом, когда берут и подпись через табличную часть документа рисуют. Но в большинстве случаев для нормальных ситуаций точность распознавания букв очень приличная.
А «приличная» — это какая?
У нас есть пользователи, у которых распознавание близко к 100 процентам: они загружают через поточные сканеры огромное количество документов и ошибки почти никогда не выдаются, их нет. У них хорошее качество документов, документы более-менее стандартные и так далее. Есть пользователи, у которых качество распознавания хуже, потому что контрагенты им дают документы, которые были плохо распечатаны, плохо хранились, какие-то нестандартные бланки. В этих случаях система может ошибаться, такое тоже бывает. Но мы постоянно над этим работаем.
Собираем обратную связь от пользователей. Нам шлют жалобы, это встроенная возможность сервиса, чтобы мы могли получать информацию для анализа и улучшения. Можно посмотреть динамику оценок по сервису распознавания (прим.: в системе «1С:Фреш сервис» сервис был бесплатно доступен пользователям с начала 2020 года). Изначально были оценки в районе троечки за качество распознавания. В последнее время (май 2022 г.) большей частью ставят пятёрки.
Это говорит о том, что мы создали действительно хороший продукт. Причем один из основных плюсов нашего сервиса — это то, что он хорошо работает с фотографиями. Мы специализируемся и постоянно совершенствуемся в распознавании фотографий, в том числе имеем дело с проблемной печатью. Потому что это актуально для наших пользователей. Сканеры есть не у всех, а на смартфон каждый может сфотографировать документ. Поэтому мы делаем так, чтобы пользователям было максимально удобно.
А как система справляется с логическим разбором документов, которые уже в цифровом виде — Word, Excel?
Excel, Word… Здесь есть интересный момент. Теоретически Excel содержит все данные в машиночитаемом виде, но практически у всех документов структура разная, данные в разных ячейках — и попробуй, пойми в какой ячейке то, что нужно. Человек на экране это видит нормально, а программно это всё очень сложно. Поэтому мы, не мудрствуя лукаво, документ Excel, который нам загружают, печатаем в картинку и потом распознаем с картинки. Качество получается близким к 100%, при этом нам все равно, в каком формате присланный документ. Если визуальная структура документа понятна, все необходимые данные мы извлечем.
Хорошо, вопросы распознавания мы обсудили. Но распознавание — это только первая часть работы. Вторая часть — сопоставление данных с базой 1С для автоматического ввода, проверки и прочее. Расскажи об этом подробнее, пожалуйста.
Да, у нас очень хорошие алгоритмы сопоставления номенклатуры уже внутри прикладного решения, работа с соответствиями, когда номенклатура у поставщика и в базе 1С заведена по-разному. При этом система быстро учится правильно сопоставлять номенклатуру непосредственно на базе у пользователя. Более того, мы распознаем неточные соответствия, например, если поставщик в следующий раз назовет свой товар немного иначе, название сократит
И этот алгоритм постоянно совершенствуется, правильно?
Ну, он не сам совершенствуется. Точнее будет сказать, что это плановое усовершенствование. Изменение такого класса алгоритмов требует очень тщательной и качественной оценки. Для примера, грубо говоря, есть алгоритм, у него точность, допустим, в среднем 70%. Система переобучается и дает среднюю точность 80%. Будут пользователи довольны? Не факт. Если алгоритм исправил 10% предыдущих ошибок и ничего не испортил нового, тогда да. А если он исправил 15% и 5% старых ухудшил, то это будет, скорее всего, негатив. Поэтому просто по такой средней оценке после запуска проекта вносить изменения в алгоритм нельзя.
Все алгоритмы обладают той или иной степенью неточности. И важно, что пользователи часто заполняют одни и те же потоки документов, они привыкли, что эта номенклатура находится в их случае, а вот эта не находится. А тут раз! И система меняет свое поведение: то, что раньше находилось, перестает находиться. Понятно, скорее всего, будет негативная реакция. Поэтому какие-то улучшения в данный алгоритм мы вносим только после очень длительного тестирования, сравнения на разных параметрах. У нас на самом деле каждый релиз — это такая многопараметрическая схема, где большое количество разных показателей проверяются на тестовых данных.
Если изменение приводит к улучшению, а там, «где стало хуже», это меньше 0,1%, мы можем релизиться (прим.: выпускать обновление). Вообще показателей очень много, поэтому крайне сложно добиваться, чтобы каждый следующий лист для пользователей что-то исправлял и почти никогда ничего не ухудшалось.
После сопоставления какая-то номенклатура в документе подсвечивается красным. По какому принципу это делается? Это номенклатура, которую мы не смогли сопоставить?
Не совсем так. Если уверенность есть, но невысокая, мы подсказываем номенклатуру, при этом подсвечиваем, чтобы пользователь перепроверил. Если уверенность (условно) ниже 50%, мы вообще ничего не выбираем. Мы просто говорим, что распознали такое-то название номенклатуры, но не смогли ничего сопоставить, выбирайте сами или создавайте новую. При этом цифры условные, это не 50%, а «условные единицы». При 50−80 условных единиц мы просим перепроверить, если больше 80 единиц, мы говорим, что нашли правильный результат. Но эти так называемые «условные единицы» ничего общего с реальной точностью не имеют.
Хорошо. Какие еще возможности, преимущества сервиса ты мог бы отметить?
Удобная интеграция с прикладным решением, работа со счетами учета. У нас система автоматически к каждому распознанному товару добавляет счета учета и позволяет их редактировать.
Мы на таблицах применяем различные проверки для повышения качества распознавания, что, например, «цена * количество = сумме» или «цена * НДС = сумме НДС».
При работе с НДС система сама рассчитывает НДС, пытается понять, НДС сверху или в сумме, и так далее.
Много всего, что делает работу пользователя удобнее. Система работы с комплектами документов (счет + счет-фактура + накладная, например). Сервис автоматически объединяет документы в комплекты и обрабатывает их совместно, что повышает точность распознавания.
Есть еще такой кейс: когда ты сам распечатываешь документы, отправляешь поставщику, через некоторое время поставщик тебе присылает подписанные документы и тебе нужно сканы прикрепить в программе 1С. У нас так: если система распознавания видит, что документ уже создан в базе, она эти сканы может автоматом прикрепить к документам в базе. Ты работаешь с контрагентами, распечатываешь документы, отправляешь им, а после получения прогоняешь через поточный сканер, направляешь на распознавание (допустим, 100 страниц) и тебе остается обработать только 20, потому что остальные автоматически сервисом были найдены и прикреплены к документу в базе.
Ещё один сценарий. Когда была частично разрушена база 1С и надо было восстановить документы, пользователи просто прогнали через поточный сканер все документы, которые у них были на руках. А система распознавания, соответственно, сказала: «Так, это дубли, а вот это — новые документы, а это — комплекты». Таким образом, система помогает восстанавливать учет. Три или четыре благодарности на эту тему я видел в разных системах отзывов.
Еще из хорошего за последнее время. Мы запустили универсальное распознавание, сейчас система достаточно эффективно работает с большинством документов, которые отражают так или иначе операции поступления или списания товаров. При этом если для стандартных документов (счет-фактура, акт, УПД, торг-12) система сама определяет тип документа, то при универсальном распознавании для автоматического создания тип документа нужно выбрать самостоятельно.
И последнее, о чем хотел бы рассказать, — это мобильный клиент. Он очень хороший. У него основная фишка такая. Так как он работает через наш сервис и база подключена к нашему сервису, то им для общения не нужно прямое соединение, то есть не надо публиковать базу. Один раз фотографируешь QR-код из 1С, чтобы мобильное приложение к базе подключилось. И после этого всё, что в приложении «1С:Мобильный сканер» фотографируешь, у тебя оказывается в базе 1С автоматически. Например, экспедитор (или кладовщик) какие-то документы фотографирует и эти документы оказываются в базе 1С через несколько минут, причем распознанные, то есть остается только проверить и провести. Вот здесь мой коллега рассказывал и сравнивал, сколько действий с обычного телефона необходимо совершить, чтобы документы попали в базу, и как всё проще происходит с приложением «1С:Мобильный сканер».
Как работает сервис, можно узнать из этой статьи или посмотреть видео — короткое или подробное.
Попробовать сервис в работе можно бесплатно (250 страниц). Как это сделать, читайте на сайте сервиса.
Если вы хотите, чтобы мы рассказали о чем-то более подробно, напишите нам в комментариях.
Комментарии
Поэтому мы, не мудрствуя лукаво, документ Excel, который нам загружают, печатаем в картинку и потом распознаем с картинки."
Это бред!
"Да, у нас очень хорошие алгоритмы сопоставления номенклатуры уже внутри прикладного решения, работа с соответствиями, когда номенклатура у поставщика и в базе 1С заведена по-разному. При этом система быстро учится правильно сопоставлять номенклатуру непосредственно на базе у пользователя."
Вот поэтому ваша ИИ не нужна!
Добрый день. Хотелось бы уточнить. в 1С загружаются сканы документов и хранятся на сервере? Либо же только делается запись данных документов?