Pull to refresh
55.51
Rating
Alconost
Localization in 70+ languages & video production

Чему я научился, написав чат-бота за 2 часа

Alconost corporate blog Abnormal programming *Instant Messaging *Programming *Development of mobile applications *
Translation
Original author: Shival Gupta

Новая парадигма уже на пороге — или нет?




Согласно исследованию компании Flurry, житель США в среднем проводит за смартфоном около пяти часов в день. Эта цифра удивительна сама по себе, но, кроме того, около 65% этого времени идет на разного рода общение — социальные сети, текстовые сообщения, электронную почту и телефонные звонки. То есть, 3 часа 15 минут — каждый день.

А это значит, что все очень и очень изменилось. Хотели сделать мобильное приложение для своего крутого проекта? Ему придется конкурировать с миллионами других приложений за оставшиеся 35% времени, ежедневно уделяемого пользователями смартфону. И не забывайте сопутствующие затраты на поиски стоящей идеи.

Если не делать приложение, то какие остаются варианты? Нужно как-то строить бизнес, верно? Большинство специалистов полагают, что следующий шаг развития технологий — это чат-боты, живущие в приложениях: они расширяют функциональность более крупных платформ, таких как Facebook или Telegram, и пользователю не нужно ставить на телефон еще одно приложение. Получается взаимная выгода — если не считать разработчика, наверное. Мои сомнения насчет новомодной технологии можно было обобщить двумя пунктами:

  • Написание бота бесполезно с точки зрения бизнеса.
  • Написание ботов — невероятно сложная техническая задача.

Чтобы разобраться в этом вопросе, пришлось кое-что изучить. Около месяца я просто читал литературу по теме, беседовал со специалистами, игрался с инструментарием и не решался взяться за дело — но в конце концов написал работающего бота примерно за 2 часа. Все это было для того, чтобы понять, имеют ли мои сомнения под собой почву, — ну и ради удовольствия, конечно.

Переведено в Alconost

Начало пути



Фото — Casey Fyfe, площадка Unsplash

Считается, что вдохновение часто приходит нежданно, поэтому нужно смотреть в оба, чтобы не проморгать его.

Я начинал писать эту статью, ничего не зная о ботах. У меня было довольно поверхностное представление о том, как вообще работает управляемое обучение и что такое ИИ — для меня сочетание NLP было лишь аббревиатурой, означавшей обработку естественного языка (англ. Natural Language Processing). Мое желание разобраться с чат-ботами примерно наполовину объясняется тем, что я хотел заполнить пробелы в этой конкретной сфере. По этому поводу есть хорошая цитата:

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

В первую очередь я нацелился на первое предположение о том, что боты не несут коммерческой выгоды. Немного поискав, я наткнулся на Botlist, где было собрано невообразимое количество ботов. Просматривая список, я пытался угадать, почему разработчик выбрал для решения задачи бота, а не приложение, и дать такому выбору разумное объяснение. Я хотел понять, каким образом бот может быть привлекательным в плане бизнеса.

Я, разумеется, наткнулся на бота Мицуку (Mitsuku) — с ним было интересно поболтать. Достаточно интересную задачу решал Dr AI. Помощник Rightclick.io неплох, но, на мой вкус, слегка нетороплив. Просмотрев множество ботов, среди которых были и простые боты для игры в слова, и, к примеру, TVakis, я пришел к выводу, что их подход довольно утилитарен. Создавалось впечатление, что они находятся на ранней стадии развития. При этом, видя, какие задачи решаются чат-ботами, я набрался достаточно идей, чтобы сделать собственного чат-бота.

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

Где же прорывное приложение?



Фото — Jeremy Bishop, площадка Unsplash

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

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

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

  • Если действие выполнялось через обычный интерфейс не менее чем в 2 шага, с чат-ботами работать было гораздо удобнее.
  • Там, где в пользовательском интерфейсе нужно было просто что-то найти и нажать на результат, чат-боты казались излишними. Короче говоря:

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

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

Собираем бота



Фото — Namroud Gorguis, площадка Unsplash

Для меня создание чат-бота было чем-то похоже на сборку мозаики вменяемого размера: нужно было просто найти нужные кусочки и правильные инструменты. Часть мозаики была буквально под рукой, но я по-прежнему не знал, с чего начать. У меня было два требования:

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

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

Покрутив в голове несколько возможных задач, я наконец решил сделать чат-бота, который получает записанные на естественном языке строки и правильно вычисляет запрошенную дату. Например, на вход мы подаем что-то вроде такого: «Что будет через 6 дней с этого момента?», «5 недель со следующего сентября», — а на выходе получаем искомую дату.

Такой могла бы быть несложная архитектура подобного бота:



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


Ввод на естественном языке.


Результат работы. Не очень-то початишься с таким чат-ботом.

Прямо скажем, это оказалось не так уж и сложно. Умело используя платформу Messenger от Facebook и бот-платформу Telegram, а также возможности сервисов api.ai, wit.ai и recast.ai , можно было бы написать бота и быстрее, чем я.

Здесь есть своя кривая обучения, и это понятно: где ж ее нет?

Шаг за шагом изучать новую для себя сферу, а затем воплощать в жизнь рабочую идею — освежающее занятие, да и приятное тоже.

Посолим, поперчим — готово!


Написав чат-бота для личного пользования, я открыл полный разнообразных возможностей мир. Огромное число задач решается посредством состоящего из множества элементов интерфейса: бронирование авиарейсов, гостиниц, билетов в кино, заказ еды и т. д. Заменив такой интерфейс чат-ботом, можно здорово облегчить пользователям жизнь. Честно говоря, новизна такого подхода будоражит ум. Наступает время, когда на сцене должен появиться новый Facebook или WhatsApp.

Мне кажется, уже проступают очертания мира, в котором, поболтав с ботом, можно будет сделать что угодно — как в фильме «Она», — причем даже эффективнее, чем в одно касание экрана смартфона. Но я бы не советовал влюбляться в такую Саманту. ;)


Фото — «Она» (2013), Annapurna Pictures

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

Я считаю, что шумиха вокруг чего-либо позволяет вывести это что-то из безвестности. IT-отрасль пока что просто изучает, что можно сделать с этой относительно новой технологией. Так что если вы предприниматель — овчинка стоит выделки. А если разработчик — обязательно изучите эту технологию.

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


О переводчике

Перевод статьи выполнен в Alconost.

Alconost занимается локализацией игр, приложений и сайтов на 68 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.

Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.

Подробнее: https://alconost.com
Tags:
Hubs:
Total votes 15: ↑7 and ↓8 -1
Views 12K
Comments Comments 4

Information

Founded
2004
Website
alconost.com
Employees
201–500 employees
Registered