Системные сущности и справочники
В Aimylogic есть набор наиболее часто использ уемых системных справочников и сущностей. Это позволяет вам не создавать их вручную каждый раз. Вы можете использовать системные сущности в блоке Интенты, чтобы бот извлекал из фразы клиента ту или иную сущность и создавал переменную с ее языконезависимым представлением.
Среди таких сущностей и справочников: $TEXT
, $NUMBER
, $FLOATNUMBER
, $PHONE
, $CITY
, $CAPITAL
, $COUNTRY
, $NAME
.
Системные сущности
Эти сущности позволяют извлечь из фразы клиента данные, которые соответствуют определенным шаблонам.
$TEXT
Данная сущность позволяет извлечь из фразы клиента произвольный текст.
$TEXT
можно использовать только в шаблонах. В примерах фраз ее использовать нельзя.Для того чтобы добавить шаблон для интента, в окне создания интента нажмите на иконку в строке, где собираетесь добавить шаблон.
На ее месте появится иконка :
Например, если вы добавили шаблон вида Я ищу $TEXT
, то бот извлечет из фразы клиента «Я ищу интересную работу» сущность $TEXT
. Он сохранит часть фразы «интересную работу» в переменной $TEXT
.
$NUMBER
Эта сущность извлекает из фразы клиента целые числа. Клиент может указать их как цифрами, так и словами. В результате бот создаст переменную $NUMBER
, в которую поместит целое число.
Если вы ожидаете получить во фразе клиента два числа, то добавьте шаблон вместо примера фраз и запишите его следующим образом:
сколько будет $NUMBER: x плюс $NUMBER: y
После того как клиент пришлет фразу «сколько будет пять плюс 25», бот создаст переменные $x
и $y
со значениями 5 и 25 соответственно.
$FLOATNUMBER
Данная переменная аналогична переменной $NUMBER
, только она позволяет извлечь из фразы клиента дробные числа.
Например, если клиент напишет «пять целых шесть десятых» или «пять и шесть сотых», бот создаст переменную $FLOATNUMBER
со значением 5.6
или 5.06
соответственно.
$PHONE
Извлекает из фразы клиента мобильный номер телефона. Соответствует блоку phone to $var
.
Например, если клиент напишет «восемь девять один два три четыре пять шесть семь восемь девять» или «89123456789», бот сохранит значение +79123456789
в переменную $phone
.
Системные справочники
Статичные сущности называются справочниками. Сюда входят, например, города, страны или имена людей. На странице Сущности в редакторе бота вы можете скачать файлы этих справочников, чтобы увидеть весь перечень сущностей в них.
$CITY
Эту сущность можно использовать, чтобы извлечь из фразы клиента название какого-либо города мира. Например, если в примерах фраз указать Я живу в $CITY
, то бот будет реагировать на фразы, в которых клиент назовет город проживания. При этом бот создаст переменную $CITY
, в которой сохранит объект со следующими полями:
Поле | Тип | Описание |
---|---|---|
name | Строка | Назван ие города |
lat | Число | Широта |
lon | Число | Долгота |
country | Строка | Код страны в формате ISO 3166-1 alpha-2 |
timezone | Строка | Часовой пояс в формате спецификации Java |
population | Число | Численность населения на 2017 г. |
capital | Строка | "true" , если город является столицей, иначе "false" |
continent | Строка | Название части света |
Если клиент скажет Я живу в Москве
, то бот создаст переменную $CITY
со значением:
{
"name": "Москва",
"lat": 55.75222,
"lon": 37.61556,
"country": "RU",
"timezone": "Europe/Moscow",
"population": 10381222,
"capital": "true",
"continent": "Europe"
}
$CAPITAL
Если во фразе клиента есть столица, бот создаст переменную $CAPITAL
,
в которой сохранит объект со следующими полями:
Поле | Тип | Описание |
---|---|---|
name | Строка | Название города |
country | Строка | Название страны |
genCountry | Строка | Название страны в родительном падеже |
continent | Строка | Название континента |
continent_part | Строка | Название части света |
duplicateName | Строка | "true" , если название столицы совпадает с названием страны, иначе "false" |
facts | Массив строк | Факт или набор фактов о стране, массив может быть пустым |
complexity | Строка | Уровень сложности (от "1" до "5" ), который определяет, насколько легко отгадать столицу |
Если клиент скажет Я живу в Афинах
, то бот создаст переменную $CAPITAL
со значением:
{
"name": "Афины",
"country": "Греция",
"genCountry": "Греции",
"continent": "Евразия",
"continent_part": "Европа",
"duplicateName": "false",
"facts": ["Именно Афины считаются родиной театра."],
"complexity": "1"
}
$COUNTRY
Все страны мира. Если во фразе клиента есть страна, то бот создаст переменную $COUNTRY
со следующими полями:
name
— название страны в именительном падеже;currency
— валюта страны.
$NAME
Эта сущность позволяет извлечь из фразы клиента самые популярные имена. Если во фразе клиента есть имя, то бот создаст переменную $NAME
с полями:
Поле | Тип | Описание |
---|---|---|
name | Строка | Нормативный вариант имени |
full | Строка | Полное имя или пустая строка (для нейтральных имен) |
diminutive | Строка | Уменьшительно-ласкательная форма имени или пустая строка |
sex | Строка | Пол: "м" , "ж" , "н" (для нейтральных имен) |
$DATETIME
Системная сущность, которая принимает значения даты и времени.