Создавайте свои собственные намерения и сущности в чат-боте Dialogflow

Опубликовано: 21 Июля, 2021

Dialogflow - это мощный механизм понимания естественного языка для обработки и понимания ввода на естественном языке. Другими словами, он позволяет легко добиться взаимодействия с пользователем, управляя пониманием естественного языка за вас.

Начиная

  • Сначала вам нужно перейти по ссылке https://dialogflow.cloud.google.com/. Затем вам необходимо зарегистрироваться с учетной записью Google, а затем принять условия.
  • Следующим шагом будет создание Создайте свой первый агент Dialogflow.

Создание агента

  1. Щелкните "Создать агента".

  2. щелкните поле ввода текста AgentName, а затем введите имя своего чат-бота (например, Mobile)

  3. нажмите Create.Dialogflow теперь создаст проект виртуального агента. В меню консоли Dialogflow теперь вы должны увидеть консоль Dialogflow. По умолчанию агенты Dialogflow запускаются с двумя намерениями. Ваш агент соответствует резервному намерению по умолчанию, если он не понимает, что говорят ваши пользователи. Приветственное намерение по умолчанию приветствует ваших пользователей. Их можно изменить, чтобы настроить опыт. Справа - симулятор Dialogflow. Это позволяет вам проверить своего агента, произнося или печатая сообщения. Вы только что поздоровались со своим агентом Dialogflow! По умолчанию приветствие настроено так, чтобы понимать основные приветствия и отвечать общим ответом.

Создание намерений агента


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

  1. Нажмите на «Намерения» в левом меню и введите имя намерения (например, Mobile_order).
  2. нажмите «Добавить обучающие фразы» и введите следующее, нажимая клавишу «Ввод» после каждой записи:



    • Во сколько откроется магазин?
    • У тебя есть телефон самсунг?
    • Хочу купить телефон redmi 7 3 декабря 2018 года в 9 утра.
    • Когда магазин закроется?

  3. В разделе «Ответы» в разделе «Текстовые ответы» введите следующий ответ в текстовое поле: Добро пожаловать в Mobile_shop и нажмите кнопку «Сохранить».

  4. Теперь попробуйте это с помощью симулятора справа, задав вопрос: я хочу купить redmi 8

    Обратите внимание, что даже несмотря на то, что ваш запрос немного отличался от обучающих фраз, Dialogflow по-прежнему соответствовал запросу с правильным намерением. Это связано с встроенным в него машинным обучением. Модель машинного обучения проверяет запрос на соответствие каждому намерению в агенте, присваивает каждому намерению оценку, и сопоставляется намерение с наивысшей оценкой. Если намерение с наивысшей оценкой имеет очень низкий балл, выполняется резервное намерение.

  5. Следующим шагом будет создание сущностей.

Создание сущностей агента и сопоставление с намерениями

Сущности бывают двух типов: системные, встроенные и определяемые пользователем. Встроенные сущности - это sys.date, sys.time, sys.number и т. Д. Мы должны сопоставить сущности с нашими намерениями, чтобы чат-бот понимал, что это за данные. Как и в языке программирования, в C мы определяем тип данных переменной, аналогичным образом мы можем называть сущности типом данных, а переменную - намерениями.

  1. Щелкните значок плюса («+») рядом с «Сущностями» в левом меню.
  2. Добавьте размер имени в текстовое поле «Mobile_type».
  3. Убедитесь, что установлен флажок «Определить синонимы».
  4. Введите следующие значения в текстовые поля с надписью «Щелкните здесь, чтобы изменить запись». Вы можете использовать кнопку табуляции при вводе значений, чтобы они также использовались как синонимы, и нажмите Enter, чтобы перейти к следующей строке.
    • Samsung
    • Nokia
    • Редми
    • vivo
    • Настоящий я
  5. Теперь нажмите "Сохранить" и перейдите в раздел намерений.
  6. Теперь сопоставьте сущности с намерениями, например: заданным намерением является «Я хочу купить Redmi 7 в 20:00 29 января» в этом 7,8 вечера, 29 января - это встроенные сущности. 7 будет сопоставлено с системным номером, 20:00 будет сопоставлено с sys.time и 29 января будет сопоставлено с sys.date. Чтобы сопоставить это, вы должны выбрать Соответствующие данные объекта и щелкнуть по соответствующему объекту. Здесь Redmi принадлежит объекту, который мы создали, то есть mobile_type, поэтому выберите Redmi и щелкните Mobile_type из диалогового окна, которое появляется после выбора Redmi.

  7. Сущность теперь сопоставлена с намерениями, теперь проверьте свой результат с помощью симулятора