Чтобы общаться с пользователем, голосовой робот должен понимать, что пользователь говорит. Для этого робот должен знать варианты реакций пользователя и уметь правильно на них реагировать.
Эта пользовательская реакция закладывается в блок Интент (от англ. intent — намерение). В зависимости от намерения пользователя голосовой робот направит диалог с пользователем по одной из веток сценария.
Возможные реакции пользователей часто можно предугадать. Например при разговоре клиент может поздороваться или попрощаться, написать или назвать свое имя или номер телефона. Для таких случаев существуют готовые интенты, которые упрощают процесс создания голосового робота.
Готовые интенты сгруппированы по категориям, которые, в общем, можно разделить на три вида: базовые, общие и бизнес. Количество и типы доступных бизнес-интентов зависят от подключенного тарифа.
Выбор готовых интентов
Чтобы выбрать готовые интенты:
На панели слева выберите Разработка → Сценарии.
Добавьте блок Интенты на экран сценария.
В окне блока нажмите + Добавить интент.
На вкладке Готовые выберите категорию интента и отметьте один или несколько интентов из категории.
Вы также можете воспользоваться поиском по готовым интентам.
Нажмите Выбрать.
Нажмите Добавить выбранные.
Сохраните блок на экране.
Выбранные интенты будут добавлены в блок. Готовые интенты всегда добавляются в начало списка интентов в блоке. Готовые интенты можно дополнить собственными примерами реплик или шаблонами с помощью кнопки + Добавить реплику, доступной после добавления интента в блок.
Базовые интенты
Базовые интенты доступны при любом тарифе.
Email
Это интент, который распознает адрес электронной почты.
Он должен содержать следующее регулярное выражение:
$regexp<[A-z0-9\.\-]+@\w+\.\w+>
Значение интента сохраняется в системной сущности $EMAIL
.
Это регулярное выражение принимает ввод, состоящий из следующей последовательности:
- латинские буквы и цифры
- значок @
- латинские буквы и цифры
- точка
- латинские буквы
Благодарность
Интент, который распознает благодарность пользователя. Например, если сообщение пользователя содержит фразы типа «спасибо», «благодарю» и т.д.
Ввод числа
Интент, который распознает числа в реплике пользователя. Распознанное число сохраняется в переменной $NUMBER
.
Города
Интент, который распознает город из сообщения пользователя. Graph использует системный справочник городов.
Значение интента сохраняется в помещается в системной сущности $CITY
.
Дата и время
Интент, который распознает дату или время из сообщения пользователя.
Значение интента сохраняется в системной сущности $DATETIME
.
Имя
Интент, который распознает имена из сообщения пользователя. Graph использует системный справочник имен.
Значение интента сохраняется в системной сущности $NAME
.
Негативная оценка
Интент, который распознает негативную оценку пользователя. Например, если сообщение пользователя содержит слова типа «плохо», «не очень», «не нравится» и т.д.
Нейтральная оценка
Интент, который распознает нейтральную оценку пользователя. Например, если сообщение пользователя содержит слова типа «нормально», «сойдет» и т.д.
Нецензурная лексика
Интент, который распознает нецензурную лексику или оскорбления. Например, если сообщение пользователя содержит мат или бранные слова.
Ожидание
Интент, который срабатывает при получении таких реплик, как «пять минут», «скоро» или «сейчас».
Отказ
Интент, который распознает отрицательный ответ. Например, если сообщение пользователя содержит: нет, не надо, отменить и т.д.
Перевод на оператора
Интент, который распознает запрос перевода на оператора. Может использоваться в качестве альтернативы блоку Перевод на оператора.
Пол
Интент, который распознает пол пользователя. Интент срабатывает на такие слова, как «мужчина», «женщина», «девочка», «мальчик», «парень» и т.д.
В результате интент задает соответствующее значение системной сущности $GENDER
в виде строки:
"0"
- мужской пол;"1"
- женский пол.
Положительная оценка
Интент, который распознает одобрение от пользователя. Например, если сообщение пользователя содержит слова типа «хорошо», «нравится» и т.д.
Приветствие
Интент, который распознает приветствие. Например, если сообщение пользователя содержит фразы типа «добрый день», «привет» и т.д.
Прощание
Интент, который распознает прощание. Например, фразы типа «пока», «прощай», «увидимся» и т.д.
Согласие
Интент, который распознает согласие пользователя. Например, если сообщение пользователя содержит: да, ок, хорошо и т.д.
Сомнение
Интент, который распознает сомнение пользователя. Например, если сообщение пользователя содержит фразы типа «может быть», «возможно», «вроде бы» и т.д.
Столица
Интент, который распознает столицу из сообщения пользователя. Graph использует системный справочник столиц.
Значение интента сохраняется в системной сущности $CAPITAL
.
Страна
Интент, который распознает страну из сообщения пользователя. Graph использует системный справочник стран.
Значение интента сохраняется в системной сущности $COUNTRY
.
Телефон
Интент, который распознает номер мобильного телефона в российском формате из сообщения пользователя.
Значение интента сохраняется в системной сущности $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;
- номера, начинающиеся на 89 и состоящие из 11 цифр. Например: 8 901 234 56 78;
- номера, начинающиеся на +79 и состоящие из 12 цифр. Например: +7 901 234 56 78.
В value
хранится строка вида +79012345678.
При вводе словами используется следующая конструкция:
- [8 / +7]
- трехзначное число, где первое = 9
- три цифры или ноль и двузначное число или трехзначное число
- четыре цифры или ноль, цифра и двузначное число или ноль и трехзначное число или два двухзначных числа или двузначное число, ноль и цифра
При вводе с клавиатуры устройства пользователь может также вводить скобки между цифрами, например 8 (901) 234 56 78.
Как принимать другие номера телефонов
Если вам нужно принимать номера телефонов других стран, вы можете самостоятельно написать для этого регулярное выражение.
Уточнение
Интент, который распознает уточняющие реплики пользователя, например «помогите», «подскажите», «хочу спросить» и другие.