Перейти к основному контенту

Автоматизируем службу поддержки

Цели и задачи

Вы когда-нибудь задумывались, как происходит работа в службе поддержки в большинстве компаний?

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

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

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

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

Задайте себе вопрос, как клиент компании (или пользователь сервиса), обратившись с проблемой в поддержку, в каком случае вы себя будете чувствовать лучше: когда к вам относятся как к очередной заводской операции, обслуживаемой копи-пастом, или когда к вам отнесутся с пониманием и уделят качественное внимание?

Приведем пару интересных исследований касаемо плохого клиентского опыта (CX):

  • После более чем одного неудачного опыта около 80% потребителей говорят, что они предпочли бы иметь дело с конкурентом. (Zendesk)
  • 1 из 3 клиентов покинет любимый бренд после всего лишь одного неудачного опыта, а 92% полностью покинут компанию после двух или трех негативных взаимодействий. (PwC)

Что можно отнести к плохому клиентскому опыту?

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

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

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

Согласно данным, собранным Salesforce, 64% сотрудников признают, что благодаря чат-ботам у них появилось больше времени, чтобы сосредоточиться на общей картине. И наоборот, в компаниях без чат-ботов только 50% сотрудников могут сказать то же самое.

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

Как работает

Внедрения чат-ботов на предприятие нередко начинается с автоматизации рутинный запросов, поэтому после Hello World, знакомящего с платформой, мы обучение чаще всего начинаем именно с этого кейса. 

Достаточно хорошо обученный чат-бот для самообслуживания на базе технологии распознавания естественного языка (NLP), которой вы сейчас овладеете, по нашему опыту, способен обрабатывать до 70-90% рутинных обращений в службу поддержки. 

Чат-бот обладает следующим функционалом:

  • Встраивается в любой канал: чат на сайте, мессенджеры и социальные сети.
  • Работает 24/7 без выходных и перерывов и мгновенно отвечает на запросы.
  • Умеет отвечать на вопросы, заданные в свободной форме.
  • Содержит меню с кнопками для популярных запросов.
  • Бесшовно переводит диалог на персонал контакт-центра и обратно, в случае необходимости, предварительно собрав данные о запросе.
  • Умеет опрашивать пользователя и передавать анкету в CRM и CDP системы по API. 
  • Способен интегрироваться c cистемами компании по API, например, для проверки статуса заказа.

Инструкция по разработкеразработке: Подготовка бота

В этом уроке мы покажем, как создается чат-бот на базе NLP c помощью Dialogflow от Google.

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

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

Первым делом создайте бота на платформе Metabot.

Вы можете узнать как создаватьсоздать ботовсамого простого бота из урока Hello World:Humans: ваше руководство по быстрому старту.

Следующим этапом является создание скриптов. Нашему боту потребуются такие скрипты, как:

  • Стартовый скрипт - стандартный скрипт приветствия;
Главное меню - самые частые вопросы и темы бизнеса выносятся как раз в это меню, и сюда же можно возвращаться из тупиковых ответов;
Скрипт с NLP распознаванием - в этом скрипте бот будет получать вопрос от пользователя и отправлять его в Dialogflow на распознавание; Скрипты-NLP намерения - когда намерение в Dialogflow распознано, оно ищется по базе скриптов, используя поле NLP Намерение в свойствах скрипта по полному совпадению; Перевод на оператора - переключение на оператора. Так как одной из основных задач чат-бота будет являться перевод пользователя на оператора в случае необходимости и перевод обратно на бота, нам необходимо отслеживать этот переход. Данная задача легко реализуется с помощью команды Перевести на оператора, которую нужно будет разместить в этот скрипт. Вызов бота - скрипт необходим для перевода с оператора на бота по просьбе пользователя; Некорректный ввод - скрипт с типом Fallback, который бот выполняет, когда не распознано намерение пользователя.

Перед тем как идти дальше рекомендуем ознакомиться со статьями Скрипты и Редактор скрипта.

Создание скриптов

1. Стартовый скрипт

В Стартовый скрипт должны быть добавлены следующие команды:

  1. Отправить текст с тем содержимым, которое вам нравится;
Установить статус со статусом "Первичное касание" ( только если логика бота будет подразумевать смену статусов и отслеживания воронки по ним);
Выполнить скрипт "ГлавноеЗадать меню".вопрос" - скрипт с NLP распознаванием.
Главное

image.png

меню

2. Скрипт с NLP распознаванием

В главномсвойствах менюскрипта с подсказкой, как задать вопрос должны быть настроены следующие параметры: 

  1. Включить NLP + название привязанного намерения (описано ниже) - чтобы распознавание срабатывало, каксрабатывало внутри скрипта, так и на его определение;скрипта;
  2. Включить NLP Action - чтобы внутри скрипта можно быть распознавать NLP Action (функционал Small Talk от Dialogflow и другие экшены)action);
  3. Остальные параметры оставить без изменений.

image.pngСнимок экрана 2023-08-28 132010.png

Галочка параметра Создать новую сессию в NLP при обнаружении намерения всегда проставляется по умолчанию и ее не нужно убирать, если логика скрипта не подразумевает зацикливание. Например, если вы хотите воспользоваться функционалом запроса данных через Dialogflow с подбором значения из системных справочников.  

Внутри скрипта можно установить следующую последовательность команд:

    Отправить текст - любой текст в контексте вашего сценария; Отправить изображение - любое изображение в тематике сценария; Разделы меню - кнопки меню с переходами в самые частые темы сценария.

    image.png

    Если вопрос будет задан прямо в этом скрипте, то бот начнет искать ответ из базы. Также можно создать специальную кнопку для подталкивания пользователя к вопросу.

    Скрипт с NLP распознаванием

    В свойствах скрипта с подсказкой, как задать вопрос должны быть настроены следующие параметры: 

      Включить NLP + название привязанного намерения (описано ниже) - чтобы распознавание срабатывало, как внутри скрипта, так и на его определение; Включить NLP Action - чтобы внутри скрипта можно быть распознавать NLP Action (функционал Small Talk от Dialogflow и другие экшены); Остальные оставить без изменений.

      image.png

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

      Поскольку мы включили опции распознавания естественного языка у скрипта, то ввод от пользователя в первую очередь будет отправлен в DF для распознавания намерения и только в случае, если намерение не будет найдено, ввод от пользователя будет перенаправлен в Fallback.

      image.png

      3. Скрипт-NLP намерение и Перевод на оператора

      Выполнение данногоданных скрипта подразумеваетподразумевают не только ответреакцию на вопрос пользователя, нораспознанный DF .

      В данном боте мы создадим подобные скрипты трех типов:

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

        Главным условием работы данногоданных скриптаскриптов является установка значения в поле NLP намерение.Намерение. Когда намерение в Dialogflow найдено, оно ищется по базе скриптов и сравнивается со значениями полей NLP Намерение. Если найдено полное совпадение, то скрипт с совпадающим значением вступает в работу. 

        Рассмотрим создание подобного скрипта на примере скрипта Заказать консультацию:

        NLP намерение назовемлучше называть по аналогии с названием скрипта:скрипта, но без пробела. Например для скрипта "заказать_консультацию"Заказать услугу" намерение лучше назвать "заказать_услугу".

        image.pngСнимок экрана 2023-08-28 132010.png

        Рекомендуем также прописывать нумерацию намерений, чтобы легче работать с базой. Например: 01_заказать консультацию.

        Рассмотрим примеры каждого типа скрипта:

        Скрипт можетпростого ответа на вопрос должен содержать команду с выводом атрибута {{$nlpLastResponseText}}. Данный атрибут будет возвращен DF после распознавания вопроса и содержать ответ на вопрос указанный в намерении DF.

        Для исправной работы в поле NLP Намерение скрипта следует указать .*, чтобы в данный скрипт попадали все распознанные намерения не относящиеся к другим скриптам.

        image.png

        Отдельные скрипты-ответы в поле NLP Намерение должны содержать намерение соответствующее названию скрипта и могут содержать одну или несколько команд, например:

        • Отправить текст: "Я Ваш личный бот-помощник и я готов принять Ваш заказ прямо сейчас! Просто ответьте на мои вопросы."
        • Запросить значение:  "Одним сообщением укажите Ваши данные (ФИО, адрес, индекс и номер телефона) и какую услугу Вы хотите заказать." и т.д.
        • Перевести на оператора - выполнение данной команды Установитьприведет статуск переводу лида: обязательнона "Диалогоператора. сОна оператором" (если логика бота подразумевает работу со статусами).обязательна.
        • Стоп - выполнение данной команды приведет к остановке работы бота. Она также обязательна.

        image.png

        По тому же принципу создается скрипт "Перевод на оператора":

        image.png

        В вашем боте может быть множество скриптов намерений и создаются они все по аналогии. По тому же принципу создается скрипт "Перевод на оператора".

        4. Вызов бота

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

        В редакторе скрипта добавьте такие команды, как:

        • Вернуть боту - для передачи диалога обратно боту;
        Установить статус лида. В данной команде необходимо перевести пользователя в первоначальный статус "Первичное касание" (если логика бота подразумевает работу со статусами);
        Отправить текст, в которой вы уведомите пользователя о том, что с ним снова общается бот. Например, текст "Я здесь, с вами снова общается бот."; Выполнить скрипт "ГлавноеЗадать меню"вопрос".

        image.png

        5. Некорректный ввод

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

        В свойствах данного скрипта следует установить тип Fallback:

        image.pngСнимок экрана 2023-08-28 132010.png

        Далее в редакторе скрипта добавьте команду Отправить текст. В данной команде необходимо сообщить пользователю, что его запрос не распознан и порекомендовать его перефразировать, например, "Извините не понял. Сформулируйте свой вопрос по-другому."

        Последним этапом добавьте команду Повторить вопрос.

        image.png

        Основные скрипты для работы бота созданы. Далее рассмотрим создание маршрутов для взаимодействия бота с пользователями.

        Создание маршрутов

        Перед прочтением рекомендуем ознакомиться со статьей Маршруты

        Нам понадобится создать всего два маршрута:

        • Маршрут, который будет запускать скрипт приветствия. В Регулярном выражении напишите ".*" (без кавычек). Это выражение означает, что бот будет реагировать на любой текст от пользователя. В качестве статуса выберите ранее созданный статус Первичное касание.

        assets_-Lof4a3yX4z_pjUWqMhw_-LzerlCWS-W1aexRVjA2_-LzetdbLP3U1izxbMTap_изображение.webp

        • Маршрут, который будет запускаться при вызове бота и скрипта Позвать бота. В Регулярном выражении напишите слово "бот". Это выражение означает, что бот будет реагировать на ввод текста "бот" от пользователя. В качестве статусаопции выберите ранееиз созданныйвыпадающего статуссписка значение Диалог с оператором"Оператор".

        assets_-Lof4a3yX4z_pjUWqMhw_-M-syNolH5qvDg7UDelP_-M-t1Mj-N7J_pM6R_hF4_изображение.webpimage.png

        Приступим ко второй части нашего урока - созданию базы знаний и модели Dialogflow.

        Создание намерений в Dialogflow

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

        Для работы нам понадобится сервис Dialogflow.

        Перед тем как приступать к созданию намерений пройдите уроки Начало работы с Dialogflow и Интеграция с Dialogflow

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

        Снимок экрана 2023-02-13 141817.png

        Для каждого скрипта с NLP намерением в боте создаем свое намерение DF с идентичным наименованием.

        Внимание! При обучении бота, чем больше вы введете однородных по смыслу запросов и синонимов ключевых слов, тем более точнее ваш бот будет понимать ваших пользователей.

        В раздел Training phrases надо добавить различные варианты на тему того, что могут написать пользователи. Например для намерения вызова оператора:

        Снимок экрана 2023-02-13 142411.png

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

        Применение вариантов с перестановкой слов приветствуется. Знаки вопроса и прочие знаки препинания здесь прописывать не нужно.

        Для намерений с однозначным ответом в поле Responses добавьте текстовый ответ. Он и будет выводиться в атрибут nlpLastResponseText.

        image.png

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

        Снимок экрана 2023-02-13 142648.png

        После ввода всех вариантов возможных обращений необходимо сохранить намерение, нажав на кнопку Save.

        Таким же образом создайте остальные намерения для вашего бота.

        ПоздравляемОстается только проверить работу чат-бота через мессенджер.

        Проверка работы бота

        Проверим как работает наш бот.

         

        1. Задайте вопрос боту. Бот должен распознать намерение и отправить соответствующий ответ на вопрос.

        image.png

        2. Попросите бота перевести вас на оператора. Бот должен остановить свою работу.

        3. Попросите бота вернуться к диалогу. Бот должен возобновить свою работу.

        image.png

        Если все работает правильно, то поздравляем вас с созданием вашего бота c NLP на платформе Метабот24! Остается только проверить работу чат-бота через мессенджер.

        Вы так же можете попробовать в действии тестовый NLP бот, созданный командой Metabot24, набрав в Telegram логин @urok1_nlp_bot@NLPDialogflowMetabot.