Работа с сущностями

Сущность в SmartApp Graph — это часть пользовательского запроса, которую можно выделить из фразы в виде каких-то языконезависимых данных.

Например, "Дата-время", "Число", "Номер телефона", "Название города" –– все это примеры сущностей, которые SmartApp Graph может автоматически обнаружить во фразе пользователя.

Для чего нужны сущности

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

Какие есть сущности в SmartApp Graph

В SmartApp Graph есть как системные (доступные "из коробки"), так и пользовательские сущности (те, которые создатель смартапа может добавить самостоятельно).

Как работают сущности

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

Например, если в примере или в шаблоне фразы указано, что во фразе пользователя должно присутствовать число (сущность NUMBER), то при срабатывании этой фразы смартап создаст переменную с именем $NUMBER и сохранит в нее целое число, даже если пользователь произнес его словами, а не написал цифрами.

После этого в сценарии смартапа можно использовать эту переменную так же, как и любую другую. Например, использовать ее в условиях, передать в HTTP-запросе и так далее.

Как указать сущность во фразе

Чтобы смартап мог выделить сущность из фразы, ее нужно указать в примере фразы или в шаблоне в блоке Интенты.

Указать - это значит подставить ссылку на сущность в пример фразы, так же как например можно подставить переменную в текстовый вывод в блоке Текст.

Например, если мы хотим, чтобы смартап реагировал на фразы типа "Забронируй столик на двоих сегодня вечером" и при этом автоматически выделял из нее число гостей, а также дату и время брони, то нам нужно написать в примерах фраз примерно следующее:

"Забронируй столик $NUMBER"

Когда пользователь произнесет такую фразу, то смартап автоматически выделит число гостей и поместит значение в переменную $NUMBER.