Интеграция и настройка NLP

Начало работы с Dialogflow

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

Сервис доступен по ссылке: https://dialogflow.cloud.google.com/#/login

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

Создание проекта

Перед началом работы следует пройти регистрацию. Зарегистрироваться на сайте сервиса Dialogflow можно только при помощи аккаунта Google по кнопке:

image.png

После прохождения регистрации перед вами откроется рабочее пространство Dialogflow.

Основным понятием в работе с DF является Агент — это проект сервиса DF в котором будет создаваться, настраиваться и храниться база знаний вашего бота. Для начала следует создать своего первого Агента. Для этого нажмите на кнопку Create Agent в правом нижнем углу рабочей зоны или в левом меню DF.

Рисунок1.png

В открывшемся диалоговом окне следует отредактировать следующие поля:

Рисунок2.png

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

Автоматически в данном разделе всегда создаются намерения Default Fallback Intent и Default Welcome Intent. Их, как и в последующем созданные вами намерения, можно удалить одним из способов:

Рисунок3.png

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

Архитектор платформы по работе с NLP не рекомендует удалять системные намерения, так как их можно будет спокойно использовать в логике бота, привязывая к существующим скриптам.

Поздравляем, вы создали свой первый проект в Dialogflow!

Интеграция с Dialogflow

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

Получение уникального ключа

Для начала следует зайти в настройки созданного вами проекта при помощи нажатия на иконку настроек соответствующего Агента в левом меню DF.

Снимок экрана 2023-02-12 140845.png

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

В настройках Агента нажмите на ссылку в поле Project ID. Данная ссылка откроет перед вами окно Google Cloud — консоль настроек.

Снимок экрана 2023-02-12 140930.png

Если того потребует сервис — пройдите регистрацию.

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

В новом аккаунте в появившемся окне выбора страны выберите ближайшую страну СНГ — Казахстан. Это никак не повлияет на работу интеграции.

Далее откройте боковое меню нажатием на иконку в левом верхнем углу. В блоке More Products перейдите в раздел API & Services подраздел Credentials.

Снимок экрана 2023-02-12 141129.png

В открывшемся окне следует создать учетные данные. Для этого нажмите на кнопку Create Credentials и выберите Help me choose.

Снимок экрана 2023-02-12 142520.png

Далее в открывшемся окне следует выполнить следующие действия:

    1. В блоке Credential Type, необходимо указать какой API будет использоваться, выбрав Dialogflow API.

    2. Указать параметры: Application data и No, I'm using them.

    3. Нажать на кнопку NEXT.

изображение.png

    4. В блоке Service account details указать Название сервисного аккаунта латинскими буквами и нажать на кнопку Create and Continue.

изображение (1).png

    5. В блоке Grant this service account access to project указать роль в поле Role – Project – Owner.

    6. Нажать на кнопку Continue.

изображение (2).png

    7. В следующем диалоговом окне нажать кнопку DONE.

изображение (4).png

Теперь в разделе Service Accounts появился созданный нами аккаунт.

Для создания нового авторизационного ключа нажмите на иконку редактирования аккаунта.

Снимок экрана 2023-02-12 143948.png

В открывшемся окне перейдите в раздел Keys и выберете в выпадающем списке Add key пункт Create new key.

Снимок экрана 2023-02-12 144641.png

Выберите тип ключа JSON и создайте его кнопкой Create.

Снимок экрана 2023-02-12 144841.png

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

Рекомендуем сохранить файл для дальнейшего копирования ключа на платформу.

В информационном сообщении вы получите уведомление об успешном создании и скачивании закрытого ключа.

Теперь файл с ключом можно открыть любым текстовым редактором и скопировать весь текст в буфер обмена.

Передача уникального ключа боту

Выберите бот на платформе Metabot24, который хотите связать с DF.

В разделе Настройки бота выберите пункт Интеграции. Затем нажмите на кнопку Новая привязка чтобы создать новую интеграцию.

Снимок экрана 2023-02-12 145836.png

В боте может быть создано больше 1 одной интеграции с агентами Dialoglow. Для работы с обоими одновременно необходимо указать у интеграции Код для обращений в боте.

Последним шагом заполните следующие параметры в открывшемся диалоговом окне:

Нажмите кнопку Создать.

image.png

После этого интеграция успешно создана и бот готов к обучению через Dialogflow.

С NLP интеграциями так же можно работать с помощью методов JS. Все методы и их описание можно посмотреть в Справочнике по функциям JS

Dialogflow: Small talk

Ваш бот может научиться поддерживать светскую беседу без дополнительного развития и отвечать предопределенными фразами. Для этого в Dialogflow существует форма Small talk, которую можно использовать, чтобы настроить ответы на самые популярные запросы.

Перед прочтением рекомендуем ознакомиться с уроком по Созданию бота с поддержкой NLP

Для того чтобы бот отвечал на обращение пользователя не описанные в намерениях, необходимо создать скрипт Живой разговор:

image.png

Для того чтобы вывести Small Talk ответ бота по распознанному NLP Action, в скрипт нужно добавить команду Отправить текст и в поле Текст указать {{ $nlpLastReponseText }}. Таким образом бот пришлет пользователю сообщение с ответом, полученным от DialogFlow Small Talk.

В блоке Меню необходимо добавить пункт меню Повторяем, применяя следующие параметры:

image.png

Именно для того, чтобы логика распознавания намерения вначале проверялась в базе знаний NLP, мы установили у пункта меню опцию Скрыть весь пункт меню. Таким образом, меню существует в логике, но не видно на экране. 

В Dialogflow нужно включить функцию Живой разговор, где в свою очередь его тоже можно обучить. Для этого нужно перейти в раздел Small talk, активировав параметр Enable.

image.png

Ниже в разделе Small Talk Customization Progress нужно настроить ответы на возможные фразы и вопросы от пользователей по тематикам. Порядковое перечисление строк будет означать, что у бота на данный ответ может быть использован один из выбранных вариантов ответа.

image.png

Если вы захотите добавить в ответе абзацное разделение, то нажмите Shift + Enter