Тимур Машнин

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa


Скачать книгу

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

      

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

      

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

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

      Это поможет агенту не запутаться в том, что следует опознать в качестве данной сущности.

      Например, не нужно включать предлоги в маркировку в обучающей фразе.

      И нужно указать разнообразие примеров конкретной сущности в обучающих фразах.

      Это позволит агенту правильно научиться распознавать эту сущность.

      Google

      Dialogflow

      . Контекст и выполнение

      Вы когда-нибудь сталкивались с ситуацией, когда вы подходите к группе людей, и вы ловите себя на том, что пытаетесь понять, о чем они говорят?

      Или если к вам приходит друг и говорит: «А как насчет завтра?»

      Вы, вероятно, спросите: «Что ты имеешь в виду?»

      И в этих случаях вы пытаетесь понять контекст.

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

      Например, я спрашиваю: «Что там сегодня на обед?»

      И получаю в ответ: «Сэндвич».

      Тогда, если я спрошу: «А как насчет ужина?», я ожидаю, что другой человек знает, что я имею в виду то, что мы собираемся съесть, а не то, во сколько мы должны отправиться на обед.

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

      

      Контекст позволяет агенту отслеживать, где находится пользователь в диалоге.

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

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

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

      

      Давайте посмотрим пример того, как добавить контекст к намерению.

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

      Но для начала, добавим ответ в намерение order.pizza.

      И не забудем нажать кнопку сохранения.

      

      Теперь, когда мы зададим вопрос, «Могу ли я получить пиццу?»

      Агент ответит «Конечно. Хотели бы вы получить напиток с вашим заказом?».

      И если я просто наберу ответ «Да», агент на самом деле не будет знать, что делать.

      

      Вернемся на страницу «намерения» и создадим новое намерение.

      Назовем это новое намерение «Заказать пиццу и дополнительно напиток – да».

      Нажмем кнопку сохранения и вернемся в намерение order.pizza.

      

      И здесь создадим выходной контекст pizza-upsell и сохраним намерение.

      И