«Cлово из трёх букв — cамый популярный вопрос нашей Ольге Владимировне». Создаём чат-бота самостоятельно


       

Дмитрий Богданов

Генеральный продюсер студии «Ривелти»

Тема развития искусственного интеллекта сегодня волнует многих. Узких специалистов, отмечающих активные тренды в сфере развития общества и социальной коммуникации. Широкую публику, находящуюся под впечатлением от просмотра футуристических фильмов. Один «Мир Дикого Запада» чего стоит.

Команду «Ривелти» манят и будоражат инновационные горизонты. Ведь наша сфера — корпоративные инструменты: фильмы, ролики, мультфильмы, разные интерактивные штуки, интранет. Мы ужаленные и привыкли постоянно что-то придумывать для клиентов, и вот недавно кто-то из наших предложил — будет здорово поселить на нашем сайте бота, чтобы он общался с посетителями. Потенциальные клиенты будут задавать вопросы и получать ответы, ссылки на наше портфолио и блог; бот сможет осознанно показывать картинки и видеоролики.

Сказано — сделано.

Для начала мы изучили рынок, где нам немедленно предложили готового бота за 350 000 ₽. Но, во-первых, не хотелось тратить такую сумму на вольный эксперимент, а, во-вторых, наш ИТ-отдел сказал, что всё запилит за три дня. По факту дней вышло 15 — чего уж говорить, прогнозирование не наш конёк. Вся разработка обошлась в 57 тысяч рублей — без учёта и оценки времени, ушедшего на пополнение словаря.

Выбор технологической платформы


       

Александр Сергеев

Руководитель ИТ-отдела студии

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

Образ


       

Дмитрий Богданов

Генеральный продюсер студии «Ривелти»

Алиса, голосовой помощник Яндекса, на момент создания нашего проекта ещё не рассказывала сказок всем желающим... Когда мы взялись размышлять над имиджем будущего бота, мне как-то сразу привиделся образ взрослой женщины — доброжелательной, но острой на язык. Что-то в ней было от Фаины Раневской и моей учительницы по географии Марии Анатольевны.

Так появилась Ольга Владимировна, которую мы называем по-домашнему фамильярно — О.В. Персонаж немного пародийный. Нестандартный. Словно Карлсон на фоне команды Суперменов.

Для начала наш художник нарисовал 16 эмоций: гнев, злость, раздражение, смех, смущение, удивление... Этими реакциями Ольга Владимировна и живет.

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

Где разместить бота


       

Александр Сергеев

Руководитель ИТ-отдела студии

Создавая бота для сайта, вы должны выбирать, где его «поселить». Мы тоже это решали. Выделить для О.В. отдельную страницу? Отвести для неё место на каждой странице сайта? А где — в подвале, шапке? В итоге поселили женщину на главной странице, но не в явном виде: О.В. спрятана под кнопку и периодически напоминает о себе.

Ботский словарь


       

Дмитрий Богданов

Генеральный продюсер студии «Ривелти»

По статистике, за день с нашим ботом общается около 20–30 человек. Общение состоит преимущественно из ругани: самый популярный вопрос нашей Ольге Владимировне — слово из трёх букв. Было бы странно, если бы она не реагировала соответствующе. Мы с головой нырнули в русский матерный лексикон и вооружили О.В. новыми ценными знаниями. Я, чего скрывать, многое знал из Великого и могучего, но многое, как оказалось, нет. После изучения семантического матерного ядра мой мир уже не будет прежним. Теперь, если в общении с Ольгой Владимировной перейти черту, в ход идут хлёсткие конструкции. Самая невинная из которых — «залепи дуло».


       

Александр Сергеев

Руководитель ИТ-отдела студии

Перед нами встал выбор: заставить Ольгу Владимировну понимать синонимы и сложные фразы или научить её достаточно простым оборотам и отдельным словам. Приняли решение начать с простых конструкций. Добавить немножечко интеллекта никогда не поздно.

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

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

Тестирование, общение, развитие

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

Затем я привлёк через Facebook 20 добровольцев, включая некоторых клиентов. Эти люди пообщались с Ольгой Владимировной и помогли ей расширить лексикон. На том же этапе вылезли разного рода технические моменты — например, некоторые наши тестировщики задавали вопросы со смайликами, которые бот не отрабатывал. Мы дописывали алгоритмы до тех пор, пока все не стало как надо.

На один вопрос у всякого уважающего себя бота заготовлено несколько ответов. Например, на ваше «Привет» наша Ольга Владимировна может отреагировать пятью разными способами: «Здравствуйте, приятно познакомиться», «Здравствуйте, добро пожаловать в „Ривелти“», «Здравствуйте, наш любимый посетитель» и «Я очень рада вас видеть».

Сейчас Ольга Владимировна понимает вопросы достаточно прямолинейные и короткие.

Дальнейшее пополнение её словарного запаса происходит (о ужас!) вручную — мы используем этот примитивный механизм, чтобы с минимальными затратами проверить интересность бота для посетителей сайта. Раз в неделю смотрим, о чём спрашивают ОВ: в отдельную директорию отправляются вопросы, ответов на которые О.В. не знает, и мы решаем, что из этого ей нужно, а что нет. Таким образом, каждую неделю наша Ольга Владимировна становится умнее.

Не бояться ошибаться

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

Ценный профессионально-философский опыт, который мы вынесли из этой затеи и который может быть полезен нашим клиентам, состоит в том, что ожидания не всегда совпадают с реальностью. Мы вот предполагаем, что аудитории интересно одно, а люди спрашивают совершенно о другом! Ольга Владимировна помогает нам обуздывать профессиональное эго и учит нас смирению и чистоте восприятия...

А ещё мы знаем, что она единственная в своём роде — ни у одной студии нашего сегмента такой штуки сейчас нет. Сегодня у нас в планах — интеграция бота с Фейсбуком и Телеграмом, общение в зависимости от погоды, настроения О.В. и прочих факторов. Быть может, когда-нибудь Ольга Владимировна сможет полноценно продавать наши услуги. Ну а пока вы можете сами с ней пообщаться — вот здесь.

Мы будем вам благодарны. Как вы поняли, общение делает нашу Ольгу Владимировну умнее и полезнее.

Мнение редакции может не совпадать с мнением автора. Ваши статьи присылайте нам на 42@cossa.ru. А наши требования к ним — вот тут.