Просто о чат-ботах

Всего просмотров: 714

Лонгрид от Анны Власовой, “мамы” всех наших чат-ботов.

Я написала первую диалоговую систему на языке программирования Fortran 30 лет назад, чтобы сдать зачет в институте.  Эта программа угадывала, что лежит у человека в кармане. У нее был простой алгоритм: человек должен отвечать на вопросы “да”, “нет”, а программа за три шага угадывает, что там лежит. Например, она спрашивает: “Это что-то мягкое?” И если человек говорит “да”, то скорее всего это носовой платок. Если нет, тогда, что в то время могло быть в кармане? Зажигалка, спички, пачка сигарет, ручка, блокнот. Вариантов не так много, поэтому программа достаточно легко могла угадать. Здесь использовался так называемый “жадный алгоритм”, когда ты одним вопросом отсекаешь как можно большую часть вариантов.

Такие системы становятся сложнее, в них внедряют распознавание речи. Но в их основе всегда был, есть и будет текст. Разные компании, в том числе и мы, делают не просто текстовых чат-ботов, они делают “мозг”.

Кто делает чат-ботов

Технология по созданию чат-ботов требует специалистов по созданию баз знаний.

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

Структура и цели диалога с чат-ботом

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

У диалога несколько целей. Одна из них — получение информации. Следующая цель — заставить собеседника сделать что-нибудь, то есть цель — действие, или транзакция (например, цель кассира — продать: пробить чек, рассчитать и т. д.). Кроме этих двух, у диалога есть цель коммуникации, то есть пообщаться — это цель, получить какое-то эмоциональное удовлетворение — это тоже цель. Без них диалога не существует.

Объем базы данных зависит от набора этих целей. Но нет смысла делать так, чтобы бот знал всё. Мы делаем в основном коммерческих чат-ботов, главная задача которых привлечь целевую аудиторию и монетизировать ее. Соответственно, например, боту для мобильного оператора не нужно знать, как решить математическую задачу.

Возникает вопрос: какая должна быть задача, чтобы чат-бот знал все? Ведь, если он знает все, это не значит, что с ним можно вести диалог. Это больше похоже на общение со справочной системой.

Про личность чат-бота

Слева направо: чат-боты Юра Вышкин (Высшая Школа Экономики), Злата (Беларусбанк), Мия (МТС Беларусь).

Диалог с чат-ботом является диалогом в том случае, если у чат-бота есть какая-то личность. Можно считать, что справочная система или заказ пиццы — это узкая разновидность диалога. Но мы делаем диалоговые системы, которые могут больше, то есть, создаём модель более приближенную к естественному общению. Поэтому практически у всех наших чат-ботов есть определенная личность, которая всегда согласована с заказчиком. У этой личности есть как корпоративная часть, которая учитывает корпоративный этикет (как можно говорить, как нельзя), так и личная (знания, предпочтения в музыке, литературе, юмор и т. д.).  Еще, люди лучше воспринимают чат-бота если у него есть аватар.

Контакта с человеком не избежать

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

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

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

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