Название: Машинное обучение и Искусственный Интеллект
Автор: Тимур Машнин
Издательство: Автор
isbn:
isbn:
Диалог – это дерево узлов, и каждый узел обычно обрабатывает один конкретный сценарий.
Например, здесь у нас есть три узла.
Первый узел – это Welcome, который обрабатывает приглашение чатбота.
Другими словами, наше приветствие при первом появлении пользователя.
Затем у нас есть узел Greetings для ответа на приветствие пользователя.
И, наконец, у нас есть специальный резервный узел, который будет уведомлять пользователя о том, что чатбот не совсем уверен в том, что спрашивает пользователь.
Welcome и Anything else – это два узла по умолчанию, созданные для вас при первом создании диалога для вашего чат-бота.
Любой узел, который вы определите, будет находиться между этими двумя узлами.
Каждому такому узлу дается имя.
Далее у нас есть условие, которое определяет, когда узел должен быть запущен.
В этом примере, узел будет запущен, если в пользовательском вводе обнаружено намерение #greetings.
Условие может быть как простым, так и сложным логическим выражением.
В большинстве случаев это условие будет проверять намерение, сущность или их комбинацию.
Затем у нас есть блок ответа, где мы указываем, что ответить пользователю.
В этом случае просто: «Привет. Чем я могу вам помочь?»
Этот блок ответа имеет много вариантов.
Ответ может быть изображением или некоторыми параметрами, которые может выбрать пользователь.
Мы можем предоставить несколько вариантов ответа, а затем решить, следует ли их выдавать по порядку при каждом запуске этого узла, или случайным образом из списка, который мы предоставляем.
Мы даже можем прикрепить условие к каждому отдельному ответу в пределах одного и того же узла.
Наконец, мы можем указать, что происходит после того, как мы выдали ответ.
Как правило, мы просто ждем, когда пользователь скажет что-то еще, и это действие по умолчанию.
Однако доступны и другие параметры, в том числе возможность перехода к другим узлам в диалоге.
Запуск узлов выполняется сверху вниз в диалоге.
Поэтому, когда пользователь отправляет свое высказывание, будет оцениваться на выполнение первый узел.
Если условие не выполнено, мы перейдем ко второму узлу.
Если и этот узел не соответствует критериям, мы рассмотрим третий узел и так далее.
И мы остановимся на первом узле, условие которого соответствует пользовательскому вводу.
Вот почему так важно, чтобы резервный узел Anything else находился в самом низу дерева узлов.
Этот узел имеет специальное условие, которое всегда выполняется, даже если все узлы над ним не выполняются.
Это гарантирует, что у нас всегда есть ответ для пользователя, например: «Я не понимаю, не могли бы вы перефразировать?».
СКАЧАТЬ