Чтобы общаться с пользователем, смартап должен понимать, что пользователь говорит. Для этого смартап должен знать варианты реакций пользователя и уметь правильно на них реагировать.
Эта пользовательская реакция закладывается в блок Интент (от англ. intent — намерение). В зависимости от намерения пользователя смартап направит диалог с пользователем по одной из веток сценария.
Возможные реакции пользователей часто можно предугадать. Например, при разговоре клиент может поздороваться или попрощаться, написать или назвать свое имя или номер телефона. Для таких случаев существуют готовые интенты, которые упрощают процесс создания смартапа.
Выбор готовых интентов
Чтобы выбрать готовые интенты:
На панели слева выберите Сценарий.
Добавьте блок Интенты на экран сценария.
В окне блока нажмите Добавить интент.
На вкладке Готовые отметьте один или несколько интентов из списка.
Вы также можете воспользоваться поиском по готовым интентам.
Нажмите Выбрать.
Выбранные интенты будут добавлены в блок. Готовые интенты всегда добавляются в начало списка интентов в блоке. Готовые интенты можно дополнить собственными примерами или шаблонами с помощью кнопки Добавить реплику, доступной после добавления интента в блок.
Популярные интенты
Согласие
Интент, который распознает согласие пользователя. Например, если сообщение пользователя содержит: да, ок, хорошо и т.д.
Отказ
Интент, который распознает отрицательный ответ. Например, если сообщение пользователя содержит: нет, не надо, отменить и т.д.
Номер телефона
Интент, который распознает номер мобильного телефона в российском формате из сообщения пользователя.
Значение интента сохраняется в переменной $PHONE
.
Интент соответствует системной сущности $PHONE
.
Интент Телефон содержит регулярное выражение
$regexp<(+?(8|7)[\-\s]?)?(?9\d{2})?[\-\s]?\d{3}[\-\s]?\d{2}[\-\s]?\d{2}>
Это выражение принимает российские номера мобильных телефонов, состоящих из трех частей:
- код 8 или +7;
- цифра 9;
- 9 цифр номера.
Интент также распознает:
- номера без первой части (8 или +7), начинающиеся на 9 и состоящие из 10 цифр. Например: 901 234 56 78;
- номера со скобками между цифрами. Например: 8 (901) 234 56 78;
- номера с дефисами между цифрами. Например 8-901-234-56-78.
Дата и время
Интент, который распознает дату или время из сообщения пользователя.
Значение интента сохраняется в переменной $DATETIME
.
Интент сохраняет в переменную сразу несколько значений, так как соответствует системной сущности $DATETIME
.
Реакция пользователя
Приветствие
Интент, который распознает приветствие. Например, если сообщение пользователя содержит фразы типа «добрый день», «привет» и т.д.
Прощание
Интент, который распознает прощание. Например, фразы типа «пока», «прощай», «увидимся» и т.д.
Благодарность
Интент, который распознает благодарность пользователя. Например, если сообщение пользователя содержит фразы типа «спасибо», «благодарю» и т.д.
Сомнение
Интент, который распознает сомнение пользователя. Например, если сообщение пользователя содержит фразы типа «может быть», «возможно», «вроде бы» и т.д.
Ввод числа
Интент, который распознает числа в реплике пользователя.
Распознанное число сохраняется в переменной $NUMBER
.
Интент соответствует системной сущности $NUMBER
.
Уточнение
Интент, который распознает уточняющие реплики пользователя, например «помогите», «подскажите», «хочу спросить» и другие.
Перевод на оператора
Интент, который распознает запрос перевода на оператора.
Ожидание
Интент, который срабатывает при получении таких реплик, как «пять минут», «скоро» или «сейчас».
Личная информация
Email
Это интент, который распознает адрес электронной почты.
Значение интента сохраняется в переменную $EMAIL
.
Интент соответствует системной сущности $EMAIL
.
Он должен содержать следующее регулярное выражение:
$regexp<[\w\.\-]@[\w\-]\.\w+>
Это регулярное выражение принимает ввод, состоящий из следующей последовательности:
- латинские буквы, цифры, дефисы и точки
- значок @
- латинские буквы, цифры и дефисы
- точка
- латинские буквы и цифры
При разработке сценария учитывайте, что пользователь не может указать адрес электронной почты голосом.
Имя
Интент, который распознает имена из сообщения пользователя.
Значение интента сохраняется в переменной $NAME
.
Интент использует системный справочник имен и поэтому в переменной сохраняется несколько значений.
Пол
Интент, который распознает пол пользователя. Интент срабатывает на такие слова, как «мужчина», «женщина», «девочка», «мальчик», «парень» и т.д.
В результате интент задает соответствующее значение переменной $GENDER
в виде строки:
"0"
- мужской пол;"1"
- женский пол.
Интент соответствует системной сущности $GENDER
.
Информация о местоположении
Города
Интент, который распознает город из сообщения пользователя.
Значение интента сохраняется в переменной $CITY
.
Интент использует системный справочник городов и поэтому в переменной сохраняется несколько значений.
Страна
Интент, который распознает страну из сообщения пользователя.
Значение интента сохраняется в переменной $COUNTRY
.
Интент использует системный справочник стран и поэтому в переменной сохраняется несколько значений.
Столица
Интент, который распознает столицу из сообщения пользователя.
Значение интента сохраняется в переменной $CAPITAL
.
Интент использует системный справочник столиц и поэтому в переменной сохраняется несколько значений.
Эмоциональная реакция пользователя
Нецензурная лексика
Интент, который распознает нецензурную лексику или оскорбления. Например, если сообщение пользователя содержит мат или бранные слова.
Положительная оценка
Интент, который распознает одобрение от пользователя. Например, если сообщение пользователя содержит слова типа «хорошо», «нравится» и т.д.
Негативная оценка
Интент, который распознает негативную оценку пользователя. Например, если сообщение пользователя содержит слова типа «плохо», «не очень», «не нравится» и т.д.
Нейтральная оценка
Интент, который распознает нейтральную оценку пользователя. Например, если сообщение пользователя содержит слова типа «нормально», «сойдет» и т.д.