Потоковый ввод: подводные камни подготовки к проекту
Часть 1.
Проекты по созданию систем потокового ввода имеют много общего с другими проектами в области ИТ, но есть у них особенности, которые вызывают специфические ошибки внедрения. Как правило, большая часть ошибок закладывается на ранних этапах проекта, превращая внедрение в головную боль.
Зарождение идеи.
Если вы начали задумываться о системе потокового ввода, значит, есть какая-то неудовлетворенность текущим процессом. Стандартных причин несколько: стоимость, скорость, объем получаемой информации, качество. Для перехода к подготовке проекта нужно оценить текущие затраты и потенциальные выгоды по всем пунктам.
Стоимость – самая популярная причина внедрений. Большинство компаний планирует снизить свои издержки на ввод за счет повышения эффективности труда.
Как считать стоимость текущих процессов ввода понятно, главное рассматривать весь процесс в комплексе. Для того, чтобы ничего не забыть, достаточно хорошо задокументированного процесса ввода, тем более, что он понадобится еще не раз.
Оценивая затраты мы учитываем «стоимость» персонала и факторы, из которых она складывается:
- Зарплата всех задействованных сотрудников. Часто вводом занимается человек с другими обязанностями, который стоит немало денег, например бухгалтер. Простая реорганизация процесса уже способна дать снижение издержек.
- Налоги.
- Аренда помещения + коммуналка, уборка и т.п.
- Стоимость оборудования.
- Стоимость лицензий программного обеспечения. Если делать ручной ввод в целевую систему, придется заплатить еще за каждого оператора ввода, а суммы могут быть очень существенные.
- Затраты на поддержку существующего процесса ввода. Про этот пункт компании забывают регулярно.
Повышение скорости обработки документов – очень интересная задача. Все слышали о том, что распознавание позволяет снизить издержки на персонал. Многие делают из этого вывод, что распознать один документ быстрее, чем перебить данные руками, а это далеко не всегда так! Если комплекс распознавания с 10 пользователями, занимающимися верификацией данных, обрабатывает 600 заданий в час, это означает только то, что тратится 1 минута человеческого времени на задание, а не то, что от сканирования до экспорта проходит одна минута. Почему так происходит?
Распознавание – ресурсоемкий процесс, который занимает на сервере некоторое время. Плюс, делаем поправку на очередь заданий. В итоге, человек может ждать результатов распознавания конкретного задания минут пять и даже больше.
Казалось бы, проблему решит увеличение аппаратных мощностей, но от них скорость распознавания зависит нелинейно.
С количеством необработанных заданий бороться наращиванием количества ядер можно, а вот с скоростью самого распознавания – очень тяжело. Задание распознавания плохо распараллеливается, соответственно, занимает целиком один поток ядра.
Скорость распознавания зависит от:
- Качества документа.
- Количества данных.
- Количества возможных вариантов документов. Если мы точно знаем, что придет паспорт, то распознаем его за 5 секунд, а если есть 20 классов документов, а у каждого еще по три вида, то потребуется полный перебор вариантов и выбор лучшего, что и приводит к долгому ожиданию.
Типичный пример – бюро пропусков. Распознаем только паспорта, специально настраиваем сканер и систему. Эффекты отличные.
Обратный пример – выдача потребительских кредитов. Если снять с продавца задачу ввода данных, то у него появится время на новые продажи, а у клиента останется меньше времени чтобы передумать. Но посмотрим на задачу со стороны системы потокового ввода:
- Документов разных видов много.
- Часть из документов рукописные.
- Данных на них много.
- Сканировать паспорт лучше на планшетном сканере, остальные документы лучше на поточном.
- Чтобы бороться с очередями заданий нужны большие аппаратные мощности.
- Система напрямую влияет на продажи, значит нужен высокий уровень доступности, следовательно кластеризация и прочие меры.
- Сложная внутренняя оптимизация процесса распознавания тоже стоит денег.
В результате затраты гарантированно большие, а эффект все-равно слабо предсказуем.
Но почему компании внедряют подобные решения? Экономические выгоды достигаются за счет замены человеческого времени машинным и правильным построением процесса обработки: пока сервер распознает одно задание, пользователь работает с другим (пример упрощен для наглядности).
Итоговый вердикт по задаче увеличения скорости ввода:
- Сканирование дает прирост по скорости обработки документовза счет минимизации временных затрат на транспортировку бумаги.
- Распознавание, в общем случае, прироста по скорости не дает (не путать с эффективностью!). Каждый случай нужно анализировать отдельно.
- Система потокового распознавания работает в точности как конвейерная сборка, со всеми ее плюсами и минусами.
Объем получаемой информации оценивать уже сложнее, т.к. здесь требуется проводить внутреннюю аналитику по информационным потокам. Какие могут типичные потребности могут быть выявлены:
- Наполнение электронного архива скан-образами.
- Распознавание информации, которая ранее не попадала в информационные системы, а существовала только на бумаге.
- Автоматическая классификация документов для проверки комплектности и последующего анализа.
Повышение качества данных. Об этом пункте мало кто задумывается, хотя при нормальном построении системы распознавания наблюдается существенное снижение количества ошибок в загружаемых данных. Ошибки во входных данных могут приводить к прямым убыткам, неверной аналитике или замедлению роста продаж.
Как в вашей компании производится подсчет стоимости ошибок во входных данных? Как вы рассчитываете затраты на персонал, ответственный за ввод?