Перейти к основному содержимому

Системные сущности и справочники

В 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

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