Оценить:
 Рейтинг: 0

Машинное обучение и Искусственный Интеллект

Год написания книги
2022
Теги
<< 1 ... 10 11 12 13 14 15 16 17 >>
На страницу:
14 из 17
Настройки чтения
Размер шрифта
Высота строк
Поля

Любой узел, который вы определите, будет находиться между этими двумя узлами.

Каждому такому узлу дается имя.

Далее у нас есть условие, которое определяет, когда узел должен быть запущен.

В этом примере, узел будет запущен, если в пользовательском вводе обнаружено намерение #greetings.

Условие может быть как простым, так и сложным логическим выражением.

В большинстве случаев это условие будет проверять намерение, сущность или их комбинацию.

Затем у нас есть блок ответа, где мы указываем, что ответить пользователю.

В этом случае просто: «Привет. Чем я могу вам помочь?»

Этот блок ответа имеет много вариантов.

Ответ может быть изображением или некоторыми параметрами, которые может выбрать пользователь.

Мы можем предоставить несколько вариантов ответа, а затем решить, следует ли их выдавать по порядку при каждом запуске этого узла, или случайным образом из списка, который мы предоставляем.

Мы даже можем прикрепить условие к каждому отдельному ответу в пределах одного и того же узла.

Наконец, мы можем указать, что происходит после того, как мы выдали ответ.

Как правило, мы просто ждем, когда пользователь скажет что-то еще, и это действие по умолчанию.

Однако доступны и другие параметры, в том числе возможность перехода к другим узлам в диалоге.

Запуск узлов выполняется сверху вниз в диалоге.

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

Если условие не выполнено, мы перейдем ко второму узлу.

Если и этот узел не соответствует критериям, мы рассмотрим третий узел и так далее.

И мы остановимся на первом узле, условие которого соответствует пользовательскому вводу.

Вот почему так важно, чтобы резервный узел Anything else находился в самом низу дерева узлов.

Этот узел имеет специальное условие, которое всегда выполняется, даже если все узлы над ним не выполняются.

Это гарантирует, что у нас всегда есть ответ для пользователя, например: «Я не понимаю, не могли бы вы перефразировать?».

По этой же причине у нас есть узел Welcome в самом вверху, приветствующий пользователя.

У этого узла есть специальное условие приветствия, которое выполняется только в начале разговора с пользователем.

Размещая его наверху, мы гарантируем, что что этот узел выполняется до любого другого узла.

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

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

Дочерние узлы рассматриваются для выполнения только после того, как был выполнен родительский узе , если какой-либо другой узел в диалоге явно не перешел на данный дочерний узел.

И дочерние узлы также выполняются сверху вниз, и мы останавливаемся на выполнении первого дочернего узла, который соответствует условию.

Теперь, давайте создадим диалог для нашего чат-бота.

Откроем вкладку Диалог навыка.

И нажмем кнопку Create Dialog.

И здесь у нас уже есть два узла Welcome и Anything else.

Открыв панель Try it мы сразу увидим приветствие.

Открыв узел Welcome, мы можем изменить это приветствие.

Теперь, если мы ответим «Привет», Уотсон правильно распознал намерение #greetings, но у него нет нужного узла для обработки приветствий, поэтому выполнился резервный узел Anything else.

И стоит отметить, что, если вы будете вводить приветствие или что-либо еще в несколько раз, вы каждый раз будете получать разные ответы.

Причина этого заключается в том, что узел Anything else по умолчанию имеет три варианта ответа.

Это сделано, чтобы чатбот выглядел умнее.

Для узлов, на которые вряд ли удастся попасть несколько раз в течение разговора, можно иметь один ответ без изменений.

В любом другом случае наличие нескольких вариаций делает чатбота умнее.

Давайте добавим четвертый вариант к узлу Anything else со следующим текстом: «Похоже, мы сегодня друг друга не понимаем». Хотели бы вы вместо этого поговорить с человеческом? Если это так, пожалуйста, свяжитесь с нами по телефону или напишите нам по адресу support\@example.org.

Знак \ перед @ необходим для отображения специального символа собака.

И так как у нас этот набор ответов в последовательном режиме, мы гарантируем, что этот ответ будет только после того, как мы не смогли понять пользователя четыре раза.

Если бы этот режим был случайным, мы могли бы обострить ситуацию уже в первый раз.

У нас есть три намерения для чата: #greetings, #thank_you и #goodbyes.

Теперь нам нужно иметь узлы, которые будут выполнены при обнаружении этих намерений.

И здесь у нас есть несколько возможных стратегий.

Мы могли бы создать три узла, по одному для каждого из этих намерений.
<< 1 ... 10 11 12 13 14 15 16 17 >>
На страницу:
14 из 17