Основные элементы в DSL


У пользователя фреймворка есть следующие возможности:

Перед работой с этими этапами рекомендуется ознакомиться с основными элементами языка DSL.

Элементы языка DSL

Action

Команда для запуска какого-либо действия. Например, запуск сценария или отправка сообщения пользователю.

Classifier

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

Intent

Намерение пользователя, которое он формулирует в конкретной фразе. Например, заказать пиццу, узнать свой баланс, найти информацию. Фреймворк не взаимодействует с интентом напрямую. Интент определяется классификатором и приходит извне.

Field

Поля, которые пользователь может или должен передать в запросе. Например, обязательность поля или значение по умолчанию. Field является одним из свойств сущности Form.

Filler

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

Form

Набор обязательных и необязательных параметров, которые пользователю необходимо заполнить одновременно. Например, форма заполнения банковских реквизитов может состоять из параметров - номер карты, имя владельца и платежный код.

Requirement

Условие для выполнения команды. Например, чтобы запустить сценарий, может потребоваться определенный ответ от пользователя. Requirement является одним из свойств сущности Action.

Scenario

Сценарий выполнения интента. По умолчанию сценарий соответствует входящему интенту и имеет такое же название. Например, для интента "Погода" запустится сценарий "Погода".

Пример взаимодействия элементов

Каждый элемент DSL содержит определенные параметры и может включать в себя другие сущности. Например:

  • Scenario состоит из Actions.
  • Actions могут включать в себя Requirements и другие Actions, и так далее.

Ниже представлен пример взаимодействия элементов DSL на примере интента "Показать погоду":