Анализ документов с помощью машинного обучения

Чтобы понять алгоритм, нужно его увидеть.

Дональд Кнут

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

Однако, к сожалению (а может и к счастью) на сегодняшний день данные технологии скорее представляют собой способных учеников, которые прилежно запоминают и воспроизводят тот материал, который приготовили для них учителя люди. Одна из ветвей развития искусственного интеллекта за подобное сходство так и называется – машинное обучение (англ. Machine Learning – ML).

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

Оставить заявку
o1
o5
Особенности технологии машинного обучения
Машина

В основу технологии заложены принципы имитации человеческого обучения. Чтобы прочитать роман «Война и мир» мы сначала читали букварь, потом перешли на простые рассказы и постепенно, пропустив через себя много текстовых примеров от простых к более сложным, научились понимать язык русских классиков.

 

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

 

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

 

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

 

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

 

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

o1
o5
Применение технологии ML в распознавании документов

Для начала перечислим основные этапы процесса распознавания документов.

 

Весь процесс можно разделить на четыре этапа: 1.Подготовка документа к распознаванию. 2.Распознавание текста документа. 3.Определение вида документа. 4.Определение корректности значений параметров документа.

 

Теперь дадим краткую характеристику каждому этапу и попытаемся понять на каком из них мы можем обучить машину анализировать документы вместо человека.

схема

o1
o5
Подготовка документа к распознаванию

Процедуры по подготовке документа к распознаванию от части очевидны, но отчасти могут вызвать удивление.

 

Например, очевидно, что необходимо удалить скобы, скрепки и резиновые стяжки, однако в большинстве случаев этого недостаточно. Как правило, требуется так же разложить документы в определенном порядке или добавить технологические листы-штрихкода между разными комплектами, поступающими на сканирование единым потоком. Для чего пользователю требуется «прилагать усилия», если можно научить машину все определять самостоятельно?

 

Расскажем обо всем по порядку. Итак, подготовленные должным образом документы подаются в сканер и в специальном каталоге на сервере появляются сканированные образы документов в виде файлов в одном из растровых форматов, например JPG или PDF.

o1
o5
Распознавание текста документа

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

 

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

 

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

 

1.во-первых, что за документ перед нами (счет, накладная, расписка водителя или почтовый конверт)?

2.во-вторых, оформлен данный документ надлежащим образом или в нем есть ошибки (отсутствует печать, не хватает одной из подписей или не указано значение важного реквизита)?

o1
o5
Определение вида документа

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

 

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

 

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

 

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

 

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

 

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

o1
o5
Определение корректности значений параметров документа

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

 

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

 

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

 

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

 

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

 

Таким образом, на данном этапе перед системой стоит задача принять от пользователей правила определения корректности атрибутов и научиться корректно применять данные правила самостоятельно. Следует отметить, что правила могут быть совершенно не похожими друг на друга: можно анализировать соответствие маски или наличие значения параметра в справочнике, а можно производить перекрёстные проверки параметра с соседними документами, можно менять направление анализа в зависимости от значения третьего параметра, а можно просто назначать параметр, исходя из данных, которые не связаны с документом.

 

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

 

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

o4
o5
Результат
Результат

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

 

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

Реализованные проекты

Стать партнером

Оставить заявку

Мы всегда рады ответить на любые Ваши вопросы

* Обязательные поля для заполнения

Спасибо!

Благодарим за обращение. Ваша заявка принята

Наш специалист свяжется с Вами в течение рабочего дня