ym88659208ym87991671
Системные сущности в Graph | Документация для разработчиков

Системные сущности в Graph

Обновлено 13 декабря 2023

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

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

$TEXT

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

я ищу $TEXT

то смартап извлечет из реплики пользователя "Я ищу интересную работу" сущность $TEXT со значением "интересную работу" и создаст переменную с именем $TEXT.

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

$NUMBER

Эта сущность извлекает из реплики пользователя целые числа. Причем пользователь может указать их как цифрами, так и словами. В результате смартап создаст переменную $NUMBER, в которую поместит целое число.

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

сколько будет $NUMBER::x плюс $NUMBER::y

В итоге после реплики пользователя "сколько будет пять плюс 25" смартап создаст две переменные $x и $y со значениями 5 и 25 соответственно.

$FLOATNUMBER

То же самое, что $NUMBER, но позволяет извлечь из реплики пользователя дробные числа. Например, "пять целых шесть десятых" или "пять и шесть сотых".

$PHONE

Сущность, которая распознает из сообщения пользователя номер мобильного телефона в российском формате. Значение сущности сохраняется в переменной $PHONE.

Сущность $PHONE содержит регулярное выражение:

$regexp<(+?(8|7)[\-\s]?)?(?9\d{2})?[\-\s]?\d{3}[\-\s]?\d{2}[\-\s]?\d{2}>

Это выражение принимает российские номера мобильных телефонов, состоящих из трех частей:

  • код 8 или +7;
  • цифра 9;
  • девять цифр номера.

Сущность $PHONE также распознает:

  • номера без кода 8 или +7, состоящие из 10 цифр. Например: 901 234 56 78;
  • номера со скобками между цифрами. Например: 8 (901) 234 56 78;
  • номера с дефисами между цифрами. Например 8-901-234-56-78.

В результате в переменную $PHONE сохраняется строка вида +79012345678.

$DATETIME

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

$GENDER

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

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

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

$EMAIL

Системная сущность, которая распознает адрес электронной почты. Значение сущности сохраняется в переменную $EMAIL.

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

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

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

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

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

Подробнее о работе с сущностями:

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.