Cценарии и намерения

Можно ли временно поменять ответы бота, а потом вернуть старые?

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

Почему изменения в сценарии отображаются в тестовом чате, но не отображаются на проде (или в виджете)?

Чтобы изменения отобразились в любом другом месте, кроме как внутри платформы, необходимо опубликовать проект.

Как настроить сценарий так, чтобы бот переводил диалог на оператора, если пользователь дважды задал вопрос по одному и тому же намерению?

Можно сделать это через сниппет. Проверять намерение, которое определилось в последнем и предпоследнем сообщении от пользователя. Если в сообщениях определилось хотя бы одно одинаковое намерение, то выдавать ошибку. Если сами сообщения от пользователя идентичны, то тоже выдавать ошибку и в ветке «Ошибка» делать переход в Прочее.

Что происходит, если пользователь задает несколько вопросов в одном сообщении?

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

Какое количество сценариев можно реализовать в Лии?

Технически количество сценариев в боте не ограничено. Существует программный порог в 1000 сценариев, который может быть расширен.

Есть ли у вас рекомендации по доработке сценариев исходя из практики использования? Рекомендации по добавлению сценариев для уменьшения количества переводов на операторов?

Чем больше сценариев с уникальной текстовкой, тем меньше запросов останутся нераспознанными. Внутри сценариев есть полезная доработка — дополнять ветки вспомогательными намерениями. Вспомогательными намерениями мы считаем ответы пользователя на какой-либо вопрос. Например, в сценарии опроса есть ветка с согласием. Помимо намерения «Согласие» мы дополнили ее намерением «Есть вопрос» — таким образом мы пытаемся предугадать любой вариант ответа пользователя. Также есть разные варианты доработок, которые можно внедрить при условии поддержки чат-решением.

Можно сделать так, чтобы бот определял сценарий по контексту N сообщений от пользователя, а не по 1 сообщению?

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

Как правило, все проблемы, связанные с таким вопросом, решаются дообучением.

Может ли бот менять ответ на намерение в зависимости от времени суток/даты/праздников и т. д.?

Да, для этого существует целый набор гибких решений внутри платформы, в частности, написание полностью кастомных сниппетов на JavaScript.

Можно ли сделать так, чтобы бот отвечал только на те намерения, для которых мы собрали сценарий? А в других случаях вместо нее отвечал оператор?

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

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

Пользователь: пишет сообщение.

(Лия: незнакомое сообщение — перевести и не реагировать текстом)

Оператор: Добрый день, чем могу помочь?

Можно ли предлагать пользователю несколько вариантов ответа?

Да. Можно сделать либо кнопки, либо quick_replies.

Может ли Лия по-разному реагировать на вопрос пользователя, в зависимости от того, указал ли пользователь в сообщении какую-то информацию или нет?

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

Можно ли установить реакцию на определенные слова?

Да, для этого есть функционал добавления ключевых слов.

Может ли бот проставлять тематики/теги обращений?

Да, это можно делать из сниппета в сценарии. Для этого необходимо вызвать событие: core.send(‘event_name’, params); где params — произвольный объект. В него можно положить взятое из context.events ID определившегося намерения.

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

Да, может. Вместе с сообщением пользователя в запросе к API Лия в поле facts можно проставить нужные данные. Они попадут в объект context, и в сниппетах будет к ним доступ. Дальше с помощью сниппета можно принимать решение в зависимости от полученной информации.

Можно ли отменять изменения, если уже сохранил сценарий? Или вернуться к старому сценарию?

Отменить изменения после сохранения не получится, но можно сделать заранее клон сценария (кнопка «Клонировать» на нижней панели). Тогда можно внести изменения в один сценарий, а другой оставить в старой версии. Перед релизом нужно не забыть заархивировать один из сценариев, чтобы ненужная версия не была опубликована.

Если настроена интеграция с офсайтом, и пользователю не нужно вводить номер заказа самостоятельно, как настраивается такой сценарий?

В таком случае создаётся сниппет, с помощью которого Лия идёт в API и получает номер заказа. Сниппет ставится в начало сценария, затем мы делаем ветвление: есть номер заказа — Лия сразу отрабатывает сценарий; нет номера заказа (по какой-либо причине) — Лия уточняет номер и отрабатывает сценарий.

Если поставить два намерения подряд в Шаг 1 и Шаг 2, бот распознает их?

Так лучше не делать — получится ошибка. Что произойдет в случае, если между двумя шагами с намерениями не будет текстового блока:

Пользователь пишет, Лия распознает намерение, но текста нет, есть сразу Шаг 2.

Лия находится в Шаге 2, ждет от пользователя еще одно намерение.

Пользователь не получает реакцию от Лии и тоже ждет ответа. Неловкая тишина.

Реакция — фото. Возможно добавить фото только с помощью URL-ссылки из браузера? Как добавить сохраненную картинку с ПК?

Добавить картинку можно только с помощью URL-ссылки.

Почему текстовый ответ от бота пришел не полностью?

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

Бот может писать первый?

Да. Для реализации этого есть 2 пути — либо пользователь пишет первый и бот реагирует, либо бот стартует диалог, когда пользователь заходит в чат.

  • В первом случае можно сразу кидать текстовое событие с текстом пользователя — это начнет диалог.

  • Во втором случае, когда человек открывает чат, в Лию посылается событие типа «Start», которое может, например, вернуть в ответе события с приветственным текстом. Тогда надо создать сценарий, который начинается с реакции «Старт».

Last updated