Готовые интенты

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

Эта пользовательская реакция закладывается в блок Интент (от англ. intent — намерение). В зависимости от намерения пользователя смартап направит диалог с пользователем по одной из веток сценария.

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

Выбор готовых интентов

Чтобы выбрать готовые интенты:

  1. На панели слева выберите РазработкаСценарии.
  2. Добавьте блок Интенты на экран сценария.
  3. В окне блока нажмите Выбрать готовый интент.
  4. В окне Выбор готовых интентов отметьте один или несколько интентов из списка.

    Чтобы отметить несколько интентов одновременно, нажмите клавишу Shift перед выбором интентов в списке.

  5. Нажмите Выбрать.

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

Подробная видео-инструкция о создании интентов в сценариях на Graph:

Популярные интенты

Согласие

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

Отказ

Интент, который распознает отрицательный ответ. Например, если сообщение пользователя содержит: нет, не надо, отменить и т.д.

Номер телефона

Интент, который распознает номер мобильного телефона в российском формате из сообщения пользователя.

Значение интента сохраняется в системной сущности $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.

При вводе словами используется следующая конструкция:

  1. [8 / +7]
  2. трехзначное число, где первое = 9
  3. три цифры или ноль и двузначное число или трехзначное число
  4. четыре цифры или ноль, цифра и двузначное число или ноль и трехзначное число или два двухзначных числа или двузначное число, ноль и цифра

При вводе с клавиатуры устройства пользователь может также вводить скобки между цифрами, например 8 (901) 234 56 78.

Как принимать другие номера телефонов

Если вам нужно принимать номера телефонов других стран, вы можете самостоятельно написать для этого регулярное выражение.

Дата и время

Интент, который распознает дату или время из сообщения пользователя.

Значение интента сохраняется в системной сущности $DATETIME.

Реакция пользователя

Приветствие

Интент, который распознает приветствие. Например, если сообщение пользователя содержит фразы типа «добрый день», «привет» и т.д.

Прощание

Интент, который распознает прощание. Например, фразы типа «пока», «прощай», «увидимся» и т.д.

Благодарность

Интент, который распознает благодарность пользователя. Например, если сообщение пользователя содержит фразы типа «спасибо», «благодарю» и т.д.

Сомнение

Интент, который распознает сомнение пользователя. Например, если сообщение пользователя содержит фразы типа «может быть», «возможно», «вроде бы» и т.д.

Личная информация

Email

Это интент, который распознает адрес электронной почты.

Он должен содержать следующее регулярное выражение:

$regexp<[A-z0-9\.\-]+@\w+\.\w+>

Значение интента сохраняется в системной сущности $EMAIL.

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

  • латинские буквы и цифры
  • значок @
  • латинские буквы и цифры
  • точка
  • латинские буквы

Имена

Интент, который распознает имена из сообщения пользователя. SmartApp Graph использует системный справочник имен.

Значение интента сохраняется в системной сущности $NAME.

Пол

Интент, который распознает пол пользователя. Интент срабатывает на такие слова, как «мужчина», «женщина», «девочка», «мальчик», «парень» и т.д.

В результате интент задает соответствующее значение системной сущности $GENDER в виде строки:

  • "0" - мужской пол;
  • "1" - женский пол.

Информация о местоположении

Города

Интент, который распознает город из сообщения пользователя. SmartApp Graph использует системный справочник городов.

Значение интента сохраняется в помещается в системной сущности $CITY.

Страны

Интент, который распознает страну из сообщения пользователя. SmartApp Graph использует системный справочник стран.

Значение интента сохраняется в системной сущности $COUNTRY.

Столицы

Интент, который распознает столицу из сообщения пользователя. SmartApp Graph использует системный справочник столиц.

Значение интента сохраняется в системной сущности $CAPITAL.

Эмоциональная реакция пользователя

Нецензурная лексика

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

Положительная оценка

Интент, который распознает одобрение от пользователя. Например, если сообщение пользователя содержит слова типа «хорошо», «нравится» и т.д.

Негативная оценка

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

Нейтральная оценка

Интент, который распознает нейтральную оценку пользователя. Например, если сообщение пользователя содержит слова типа «нормально», «сойдет» и т.д.