python

Биороботы нашего времени — избавляемся от рутины вместе с Telegram. Реальный кейс без фантазий

  • пятница, 1 декабря 2017 г. в 03:13:03
https://habrahabr.ru/company/vds/blog/342916/
  • Обработка изображений
  • Интерфейсы
  • Python
  • PHP
  • Блог компании VDS.SH


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

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

Но давайте положим руку на сердце: когда последний раз вы что-то заказывали в интернет магазине через чат-бот?

Кто все эти люди, которые заказывают разработку ботов для своих магазинов?


Типичный чат-бот магазина Vasya Limited:
>> автоматизирует поток водопад заявок из 5 человек в день.
>> сливает 4 из 5 заявок, кровью добытых через Яндекс-Директ
>> если повезет — человек найдет номер телефона и позвонит
>> но вероятней всего «Эээ — куда жать?»- закроет и уйдет гуглить дальше.

Чем занят владелец, когда продажи «автоматизированы»:
>> вносит заказы в excel таблицу
>> заполняет почтовые бланки на посылках
>> стоит в очереди на почте с кучей посылок (каждый день!)
>> вносит трек номера в excel таблицу, затем рассылает клиентам

Может хватит на ровном месте встраивать «технологии» туда, где действительно нужен человек, в то время как люди загружены рутиной для роботов?

Почему же боты не набирают ожидаемой популярности?

  1. Они не решают реальную проблему значительно лучше текущих инструментов
  2. Они не решают реальную проблему значительно лучше текущих инструментов



То есть

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

Почему так происходит и что делать?


  • Даже просто увидеть реальную проблему в окружающем мире — непростая задача.

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

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

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


  • Большинство разработчиков сосредоточены на процессе, а не решении проблемы

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


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

В итоге программисты играются с новыми технологиями, пытаясь приткнуть их везде где можно.
А предпринимателям остается рыться в этой куче мусора. Иногда-случайно из этой кучи появляются годные продукты.

Хотя достаточно всего лишь опираться на то, что мы уже умеем и решать более приземленные задачи

Реальный кейс без фантазий




Наша компания занимается производством и продажей электронных устройств. Клиенты по всему миру. Каждый день отправляется 5-10 посылок(что по меркам интернет магазинов — довольно немного) — Почтой, транспортными компаниями, за границу, по России.

  1. В течение дня приходят заказы, которые попадают в базу — таблицу google sheets.
  2. В конце дня комплектуются посылки, заполняются адреса на пакетах.
  3. Посылки отвозятся на центральную почту(работает круглосуточно), отправляются.
  4. Чеки фотографируются и отправляются в специальный Telegram чат.
  5. Кто то из сотрудников перебивает трек номера из чата в таблицу.
  6. Трек номера рассылаются клиентам по электронной почте, письма на русском и английском.

Вроде бы ничего непосильного в этом нет

Но посчитав время, которые занимают эти мелкие рутинные операции в сумме — оказалось что порядка 2 часов каждый день тратится на:

  • Заполнение адресов на пакетах
  • Перебивание трек номеров в базу
  • Проверка трек номеров(иногда плохо пропечатываются цифры)
  • Рассылка писем клиентам на разных языках
  • Мониторинг других посылок — не застряли ли на таможне, не лежит ли уже неделю на почте у получателя и т.д.

Люди — дорогое удовольствие


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

Если процесс формализуем — его можно автоматизировать


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

Система с телеграмм чатами «прижилась» — он всегда под рукой, быстро загружается, кросплатформенный.

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



Окей — информацию мы внесли, но по факту все эти чаты — просто свалка необработанной информации — приходы, расходы, закупки, контакты, чеки и т.д.

И вот тут мы логически приходим к тому, что нам нужен бот, который бы эту информацию обрабатывал — главное, что информация вносится.

Распознаем трек номера


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

Проблема в том, что на почтовом чеке нет трек номера в виде штрих кода или QR кода

И тут нам на помощь приходит ABBYY CLI OCR for Linux


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

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



Ну а раз уж мы вытащили из чека трек номер — можно и отправить его тоже автоматически, вопрос только — кому? Как то нужно сопоставить данный трек номер с соответствующим ему заказом. Делаем небольшой сервис на php — в который переносим нашу базу из Google sheets.



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



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

  • Распознается трек номер любой службы доставки.
  • Проверяется контрольная сумма.
  • Определяется тип отправления и язык
  • Отправляется письмо клиенту с трек номером на нужном языке.
  • Трек номер вносится в базу, меняется статус заказа.
  • Автоматически отслеживается судьба посылки.
  • При задержке — уведомляет нас для принятия мер.
  • По прибытии посылки — напоминает клиенту ее получить.
  • После получения — через 2 недели просит оставить отзыв.

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

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

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

P.S. Если тема будет интересна — могу более подробно написать. Также есть много идей и прототипов подобных систем, довести до ума которые не хватает времени — если у кого то есть желание поучаствовать — велкам.

Мой канал в Telegram Записки Славика.