Оригинал материала находится по адресу gosvopros.ru/job/qualification/bot/
28.10.2016
Жаловаться на то, что роботы скоро отберут наши рабочие места, стало модным. Да ведь и в самом деле, куда ни глянь, роботы везде — от станков и общепита до журналистики и кино. Однако наблюдая за процессом роботизации последние полтора десятка лет, лично я не могу избавиться от ощущения, что очень часто расстройство — напускное. На самом-то деле очень многим людям не расстраиваться нужно, а радоваться — потому что автоматы заберут у нас не всю работу, а в первую очередь ту её часть, которая наполнена чисто механической рутиной.
А рутины много в любой профессии. И в госучреждениях она, конечно, тоже есть. Кто-то, например, должен сидеть в приёмной и отвечать на глупые телефонные звонки: а как вы работаете, а как проехать, а где взять документ X и т.п. Писать инструкции бесполезно: всё равно найдутся те, кому захочется спросить лично. И вот тогда-то их может встретить робот вместо живого человека! И мы с вами сегодня такого робота даже сконструируем.
Впрочем, для начала уточним задачу. Чтобы заменить сотрудника в приёмной, вовсе не требуется настоящий робот — такой, знаете, из металла и пластика, понимающий живую речь и отвечающий устно же. Достаточно компьютерной программы, создающей видимость общения с живым человеком: она должна «выслушать» вопрос и дать более или менее логичный ответ. Написать подобную программу в принципе нетрудно, так что экспериментируют с ними очень давно. Одна из первых, ставшая впоследствии легендарной, была написана ещё в 60-х годах: «программа-психиатр» ELIZA. Общение с ней действительно оставляет ощущение беседы с доктором, и тем интересней, что устроена она достаточно просто: вычленяет некоторые слова из фраз пользователя и возвращает их ему уже в вопросительном ключе. Так и строится диалог. Если интересно попробовать, вот та самая ELIZA в интернет-варианте.
ELIZA стала родоначальником огромного класса программ, которые пытаются идеально сымитировать человека (пройти т.н. тест Тьюринга: заставить человека думать, что он общается с человеком же). И современные версии таких программ бывают очень сложными — с элементами искусственного интеллекта, требующими больших вычислительных ресурсов. Хорошая новость в том, что для практических применений полная иллюзия не нужна.
Представьте ситуацию. Офис некоторой компании или учреждения закрывается на ночь, но веб-сайт продолжает работать. И вот на сайт приходит человек, которому срочно понадобилось что-то узнать. Он ищет, не находит и оказывается в тупике: ведь секретарь, которому можно было бы позвонить, до утра не вернётся. И вот здесь очень бы пригодился «робот для общения» (чаще таких называют не роботами, а ботами). Бот открыл бы поверх сайта новое окно и спросил, например: «Добрый вечер, могу я вам помочь?». И если бы вопрос оказался типовым, то сразу выудил из своей базы данных нужный ответ. Всё, посетитель доволен.
Откуда такая уверенность, что вопрос будет типовой? В госучреждениях, к сожалению, опыта применения ботов пока нет. Но вот в бизнесе он накоплен богатейший! И везде, где стоит вопрос сопровождения пользователей/клиентов, статистика одна и та же: девять из десяти обращений в «службу поддержки» оказываются типовыми. Вот почему на очень многих коммерческих сайтах (даже мелких компаний, даже частных лиц) можно встретить ботов, готовых по крайней мере принять ваше обращение и пообещать передать его сотрудникам утром. Никакого суперинтеллекта для этого не требуется, а посетителю — приятно! Он видит, что о нём подумали, о нём позаботились.
К сожалению, даже простейший бот, способный только лишь выделить в тексте ключевые слова и выдать назначенный для них ответ, требует для своего написания навыков программирования и знания нескольких так называемых программных интерфейсов, нужных, чтобы подключить бота к сайту, мессенджеру или соцсети (Skype, Telegram, Facebook и др.). Задачу облегчают специализированные бот-конструкторы (см., например, Botkit), но программировать всё равно необходимо уметь. А с этим трудно, ведь основная масса желающих заиметь собственного бота от программирования далеки.
Вот почему наиболее популярные способы завести бота — это не писать его с чистого листа, а воспользоваться готовыми наработками. Во-первых, можно использовать стопроцентно готовых ботов, которые во множестве пишутся частными компаниями в расчёте на универсальное применение. Вы регистрируетесь у разработчика, устанавливаете на свой сайт выданную вам программу и «электронный помощник» сразу же начинает работать. Часто такие боты самообучающиеся, что сильно упрощает настройку их под конкретное применение.
К примеру, таковы боты от LiveChat24/7. Разработаны они под платформу WordPress (на которой сделано очень много сайтов, в том числе в России). Вы ставите такого бота на свой сайт и какое-то время он работает в паре с секретарём-человеком: наблюдает, какие вопросы задают и как на них отвечают. А накопив достаточный багаж «знаний», начинает человека подменять: отвечать вместо него. Таким образом у секретаря высвобождается время для других задач.
Недостаток такого решения обычно в цене: подобные боты всегда платные и цена за неограниченную версию может измеряться десятками долларов США в месяц. Кроме того, вы зависите от компании-разработчика, которая может закрыться и тогда все её боты прекратят существование вместе с ней.
А вот другой популярный способ этих недостатков лишён: я говорю о так называемом визуальном конструкторе. Чтобы собрать с его помощью бота, уметь программировать не требуется, достаточно внимательно изучить инструкцию. По сравнению с предыдущим способом, создание бота таким путём потребует некоторого ручного труда, зато при желании, можно сделать программу очень умной. Лично мне этот способ кажется самым правильным. И чтобы продемонстрировать это, я предлагаю прямо сейчас написать простецкого бота, способного подменить секретаря на нескольких типовых вопросах.
Прежде всего вам потребуется собственно конструктор — в качестве которого давайте возьмём популярный Wit.ai. Вам нужно зарегистрироваться в нём, для чего понадобится аккаунт на Facebook. Кликните синюю кнопку «Log in with Facebook» и дождитесь появления так называемой консоли или, попросту, доски, на которой мы будем составлять бота. Если доска не появилась, кликните на «+» вверху экрана (New App, т.е. создать нового бота), введите название бота.
Теперь нам нужно создать «историю». «Историей» здесь называется любой диалог между ботом и пользователем. Так что кликните «Create a story» (кнопка слева) и на экране появится заготовка. Давайте научим бота реагировать на приветствие. В поле «User says» («пользователь говорит») введите «привет» (это слово, на которое будет реагировать бот), в поле «Value» напишите «приветствие» (поможет в дальнейшем, когда приветствий будет много). Далее кликните «Bot sends» и впишите, что должен бот ответить: в поле «The bot says» вбейте, скажем, «Добрый вечер!». Обязательно сохраните историю («Save Story», оранжевая кнопка вверху).
В принципе бота уже можно испытывать, но давайте научим его ещё чему-нибудь. Например, отвечать на вопрос о местонахождении офиса. Действуете аналогично предыдущему пункту: «Create a story», «User says» = «Как к вам проехать?», «intent» = «question», далее «Bot sends», «The bot says» = «ул. Московская, д.12», и «Save Story».
А вот теперь можно и испытать. Для этого нажмите клавишу «~» на клавиатуре, либо кликните по кнопке «Chat with your bot» справа внизу экрана. Появится окошко, в котором вам нужно сымитировать пользователя. Поприветствуйте своего бота «Привет!» и он ответит «Добрый вечер!». А потом спросите «И как же к вам проехать?» и он ответит адресом. Заметьте, что бот ориентируется на ключевые слова, так что даже если пользователь построит фразу по-своему («Эгей, привет!»), то всё равно будет понят.
Что дальше? Дальше вы кликните «Export app» и получите ZIP-файл с упакованным в него ботом. И вот тут вам всё-таки понадобится программист, который содержит ваш сайт, либо аккаунт в соцсетях, чтобы он вписал бота в вашу страницу. Вот и всё: у вас появился робот-секретарь! Теперь ваша задача — обучить его большинству типовых вопросов. Параллельно можете продолжить изучение Wit.ai: это очень мощная штука, при желании с её помощью возможно строить весьма изощрённых и интеллектуальных ботов. Так что наблюдайте за посетителями: если заметите, что они довольны, значит, бота можно и нужно развивать! Успехов вам!
P.S. В статье использованы графические работы Matt DiGiloramo, Michele M.F.
бот,чат,ИИ,тест_Тьюринга,кадры,бунт_машин,неолуддизм,мессенджер,общение,Wit.ai,Botkit,сделай_сам