Сущности
Сущность — единица CAILA NLU. Она представляет собой последовательность слов, объединенных некоторым смыслом или правилом. Например, дата и время, местоположение.
Сущности бывают пользовательские и системные. Все активные сущности можно использовать при разработке сценария.
Пользовательские сущности
Пользовательские сущности — сущности, которые разработчик заполняет и настраивает в редакторе сущностей самостоятельно.
Войдите в проект, на панели управления нажмите CAILA → Сущности. Вы перешили в справочник сущностей проекта.
Настройка сущности
Нажмите Создать сущность и укажите название сущности.
Распознается
Нажмите кнопку распознается под названием сущности для того, чтобы она распознавалась в диалоге. Для отключения распознавания нажмите на кнопку повторно.
Рассмотрим поведение сценария при различных настройках:
Состояние | Поведение |
---|---|
Включено | Сущность распознается в диалоге. Ссылающийся на сущность интент сработает, слот заполнится, в сценарии появятся метаданные по этой сущности. |
Выключено | Сущность не распознается в диалоге. Ссылающий на сущность интент не сработает, слот не заполнится, в сценарии не появятся метаданные по этой сущности. |
Клиентская
Нажмите клиентская под названием сущности для того, чтобы ее значения были уникальны для каждого клиента. Для отключения нажмите на кнопку повторно.
Рассмотрим поведение сценария при различных настройках:
Состояние | Поведение |
---|---|
Включено | Значения и метаданные сущности уникальны для каждого клиента бота. Заполнение происходит полученными от клиентов данными через API или в ходе диалога. |
Выключено | Значения и метаданные сущности заданы при разработке бота и являются общими для всех клиентов бота. |
Исправление орфографии
Функция Исправление орфографии позволяет исправлять орфографические ошибки в запросах клиентов. При активной функции распознавание сущностей будет проводиться с учетом возможных опечаток.
Рассмотрим поведение сценария при различных настройках:
Настройка | Поведение | Пример |
---|---|---|
Исправлять опечатки | Поиск сущностей будет выполняться после исправления опечаток системным способом и клиентским словарем. | Например, исправление орфографии в проекте включено, а для сущности со списком городов @City включено исправление опечаток. Фраза Масква моя столица будет исправлена на Москва моя столица . Затем исправленная фраза будет направлена на поиск сущностей. |
Не исправлять опечатки | Поиск сущностей выполняется в исходной фразе без исправления опечаток, независимо от настроек проекта. | Например, исправление орфографии в проекте включено, а для сущности со списком городов @City исправление опечаток выключено. Для фразы Масква моя столица сущность @City не будет обнаружена. |
Дополнительные настройки
Приведение к нормальной форме
Если параметр Приводить к нормальной форме активен, то перед началом поиска сущностей все слова в запросе будут приведены к нормальной форме.
Например, задана сущность @Region
для обозначения регионов Российской Федерации. Если в записи для сущности задан синоним Курганская область, область будет распознаваться только в именительном падеже. Чтобы она распознавалась во всех формах, синоним должен иметь вид Курганский область.
Нечеткий поиск
По умолчанию поиск сущностей в запросе происходит в «строгом» режиме: если наименование сущности состоит из нескольких слов, требуется, чтобы в запросе присутствовали все эти слова и шли подряд.
Если же активен параметр Использовать нечеткий поиск/поиск по подстроке, то при поиске сущностей в запросе допускается большая вариативность:
- Допустимы вставки посторонних слов между словами, составляющими название сущности.
- Допустимо, если часть слов, составляющих название сущности, в запросе опущена.
@City
для обозначения городов мира. В записи для города Санкт-Петербурга имеется только синоним санкт петербург. Однако если для сущности включен нечеткий поиск, то сущность будет найдена и в запросе петербург, и в санкт блин петербург.Расширение интентов
Механизм работы параметра Автоматически расширять интенты удобнее всего проиллюстрировать на примере:
- Задана сущность
@agent
с рядом синонимов: например, оператор, сотрудник, специалист. - Задан интент
/Switch
, обученный на одной тренировочной фразе переведи на оператора. - При запросе переведи на специалиста в нем будет обнаружен интент
/Switch
.
Справочник
Сущность описывается через набор значений, которые она может принимать. В окне справочник нажмите Добавить запись. Укажите здесь один из способов, которым задаются значения:
- Синонимы — укажите набор синонимов: все варианты написания, которые считаются эквивалентными данному значению.
- Паттерны — укажите паттерн: формальное правило, описывающее ключевые слова и выражения. Используйте базовые элементы паттернов.
Также дополнительно вы можете указать DATA
— справочные данные по сущности, в формате строки или JSON.
Системные сущности
Системные сущности — встроенные сущности, которые разработчик может активировать в редакторе сущностей.
Вы можете активировать распознавание системных сущностей. Войдите в проект, на панели управления нажмите Редактор → Сущности → Системные.
Для подключения системной сущности установите напротив названия переключатель в активное положение. С момента изменения статуса, JAICP начинает распознавать данную сущность в сообщениях боту.