Пользовательские справочники
Наряду с системными сущностями и справочниками, Aimylogic предоставляет возможность создавать пользовательские справочники, чтобы бот мог извлекать из фразы клиента сущности, которые в них добавлены.
Сущности
Каждая сущность — это некий идентификатор записи в вашем справочнике. Для каждой записи нужно указать хотя бы один синоним на естественном языке, чтобы бот понимал, какие именно слова клиента относятся к этой сущности.
Синонимы нужно указывать в словарной форме слова, то есть в именительном падеже единственного числа. Бот будет распознавать эти синонимы в других формах во время работы.
Как создать справочник
Управлять пользовательскими справочниками можно на странице Сущности в редакторе бота. Здесь находится список системных справочников и кнопка Создать справочник синонимов.
Нажатие на кнопку открывает окно создания справочника. Здесь нужно придумать имя для справочника.
После создания справочника вы попадете на его страницу, где можно управлять его сущностями.
Как использовать справочники
В примере на видео мы создали справочник с именем $product
и добавили в него несколько сущностей. Например, сущность iphone
с синонимами айфон
и ай фон
.
Теперь можно добавить в сценарий бота блок Интенты и указать Хочу заказать $product
в качестве примера фразы.
То есть, если клиент напишет боту «Я хочу заказать у вас айфон», бот автоматически извлечет из этой фразы сущность product
и создаст переменную $product
со значением iphone
. Эту переменную можно использовать так же, как и любую другую — например, запросить цену товара со своего сервера с помощью HTTP-запроса и вывести ее клиенту.
Как добавить сразу много сущностей
Вы можете добавлять сущности по одной или загрузить файл со списком сущностей и их синонимов.
Чтобы загрузить файл с сущностями, нажмите кнопку Загрузить справочник. В открывшемся окне вы можете добавить файл с сущностями, где в первом столбце должна быть указана сама сущность, а в остальных столбцах этой же строки — ее синонимы.
Есть ряд требований к файлу справочника:
- формат файла может быть XLS или CSV;
- размер файла не может превышать 1 Мбайт.
Все сущности, которые вы загрузите с помощью файла, отобразятся прямо в интерфейсе.
Управление вложенностью справочника
При загрузке справочника вы можете активировать опцию Добавлять значения сущностей в формате JSON.
По умолчанию эта опция деактивирована. В этом случае при загрузке справочника в формате CSV синонимы должны отделяться друг от друга запятыми:
macbook, mackbook, mac, mac book, macos
Если вы активируете опцию Добавлять значения сущностей в формате JSON, вы сможете загрузить справочник, содержащий не только синонимы сущностей, но и их значения в формате JSON. В дальнейшем вы сможете использовать поля из значений сущностей в сценарии бота.
При использовании значений сущностей в формате JSON есть ряд дополнительных требований к записи строк:
- В строке для сущности сначала указывается JSON со значениями сущности, а затем синонимы.
- Если вы загружаете справочник в формате CSV, синонимы должны отделяться от объекта JSON точкой с запятой, а сами синонимы между собой отделяются запятыми.
Пример строки для CSV-файла:
{"name":"macbook","full":"MacBook Pro 13"}; mackbook, mac, mac book, macos
После загрузки файла на странице справочника такая строка отобразится следующим образом:
В сценарии можно обратиться к конкретному полю из значения сущности, указав его как $<имя справочника>.<имя поля>
:
В данном случае бот будет искать во фразе клиента сущности из справочника $macbook
. Когда он распознает во фразе слово mac
как синоним сущности из этого справочника, он запишет его в переменную $macbook
. Далее бот получит поле full
из объекта JSON со значениями сущности, соответствующей данному синониму, и выведет в ответе следующее: